ts-procedures 7.1.0 → 7.1.1

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 (43) hide show
  1. package/build/client/index.js +5 -0
  2. package/build/client/index.js.map +1 -1
  3. package/build/client/stream.d.ts +25 -1
  4. package/build/client/stream.js +48 -5
  5. package/build/client/stream.js.map +1 -1
  6. package/build/client/stream.test.js +68 -1
  7. package/build/client/stream.test.js.map +1 -1
  8. package/build/codegen/bin/cli.js +0 -0
  9. package/build/implementations/http/doc-registry.js +14 -0
  10. package/build/implementations/http/doc-registry.js.map +1 -1
  11. package/build/implementations/http/doc-registry.test.js +37 -1
  12. package/build/implementations/http/doc-registry.test.js.map +1 -1
  13. package/build/implementations/http/hono-rpc/index.d.ts +11 -0
  14. package/build/implementations/http/hono-rpc/index.js +22 -1
  15. package/build/implementations/http/hono-rpc/index.js.map +1 -1
  16. package/build/implementations/http/hono-rpc/index.test.js +25 -0
  17. package/build/implementations/http/hono-rpc/index.test.js.map +1 -1
  18. package/build/implementations/http/hono-stream/error-taxonomy.test.js +72 -0
  19. package/build/implementations/http/hono-stream/error-taxonomy.test.js.map +1 -1
  20. package/build/implementations/http/hono-stream/index.d.ts +18 -4
  21. package/build/implementations/http/hono-stream/index.js +97 -18
  22. package/build/implementations/http/hono-stream/index.js.map +1 -1
  23. package/build/implementations/http/hono-stream/index.test.js +3 -3
  24. package/build/implementations/http/hono-stream/index.test.js.map +1 -1
  25. package/build/implementations/types.d.ts +10 -0
  26. package/build/index.js +22 -17
  27. package/build/index.js.map +1 -1
  28. package/build/index.test.js +36 -6
  29. package/build/index.test.js.map +1 -1
  30. package/package.json +1 -1
  31. package/src/client/index.ts +6 -0
  32. package/src/client/stream.test.ts +82 -1
  33. package/src/client/stream.ts +67 -4
  34. package/src/implementations/http/doc-registry.test.ts +43 -1
  35. package/src/implementations/http/doc-registry.ts +19 -0
  36. package/src/implementations/http/hono-rpc/index.test.ts +32 -0
  37. package/src/implementations/http/hono-rpc/index.ts +27 -1
  38. package/src/implementations/http/hono-stream/error-taxonomy.test.ts +80 -0
  39. package/src/implementations/http/hono-stream/index.test.ts +3 -3
  40. package/src/implementations/http/hono-stream/index.ts +118 -22
  41. package/src/implementations/types.ts +7 -0
  42. package/src/index.test.ts +43 -6
  43. package/src/index.ts +23 -20
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAEtE,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;QACtB,MAAM,MAAM,GAAG,UAAU,CAAC;YACxB,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,SAAS,CAAA;YAClB,CAAC;SACF,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;QAUxD,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAiC,CAAA;QAE9D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CACrB,eAAe,EACf;YACE,+BAA+B;YAC/B,UAAU,EAAE,YAAY;SACzB,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,+BAA+B;YAC/B,OAAO,GAAG,CAAC,SAAS,CAAA;QACtB,CAAC,CACF,CAAA;QAED,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAC7C,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACpC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;YACzF,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC,CAAA;QACF,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;YACzF,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAA;QAChC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;QAC3B,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAA;QAChC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CACpC,IAAI,OAAO,CAAO,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,YAAiB,CAAA;QAErB,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;YAC5B,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBACxB,YAAY,GAAG,OAAO,CAAA;YACxB,CAAC;SACF,CAAC,CAAA;QAEF,MAAM,CACJ,SAAS,EACT;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;aACvB;SACF,EACD,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YACpB,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YACxC,IAAI,EAAE,CAAA;YACN,OAAO,MAAM,CAAA;QACf,CAAC,CACF,CAAA;QAED,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IACpC,CAAC,CAAC,CAAC,CAAA;IAEL,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE,CAC/C,IAAI,OAAO,CAAO,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,YAAiB,CAAA;QAErB,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;YAC5B,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;gBACtC,YAAY,GAAG,OAAO,CAAA;YACxB,CAAC;SACF,CAAC,CAAA;QAEF,MAAM,CACJ,SAAS,EACT;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;gBAC3D,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;aAC1B;SACF,EACD,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YACpB,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YACxC,IAAI,EAAE,CAAA;YACN,OAAO,MAAM,CAAA;QACf,CAAC,CACF,CAAA;QAED,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IACpC,CAAC,CAAC,CAAC,CAAA;IAEL,IAAI,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC/F,IAAI,4BAAiC,CAAA;QAErC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;YAC5B,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE;gBACtB,4BAA4B,GAAG,SAAS,CAAC,OAAO,CAAA;YAClD,CAAC;SACF,CAAC,CAAA;QAEF,MAAM,EAAE,kBAAkB,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CACpD,oBAAoB,EACpB;YACE,WAAW,EAAE,qBAAqB;YAClC,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;aACzC;SACF,EACD,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YACpB,OAAO,MAAM,CAAC,MAAM,CAAA;QACtB,CAAC,CACF,CAAA;QAED,MAAM,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAA;QACxC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAA;QAC/B,MAAM,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;QAChE,MAAM,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAEvD,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;QAEpD,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;QAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAExC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QACnC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QAC5C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACjC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;SAC3C,CAAC,CAAA;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;QAC1C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,6DAA6D,EAAE,GAAG,EAAE,CACvE,IAAI,OAAO,CAAO,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,YAAiB,CAAA;QAErB,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;YAC5B,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;gBACtC,YAAY,GAAG,CAAC,UAAe,EAAE,EAAE;oBACjC,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;wBAC9B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;wBAEvD,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;4BACrC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;4BACnD,IAAI,EAAE,CAAA;4BACN,OAAM;wBACR,CAAC;oBACH,CAAC;oBAED,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;gBACzB,CAAC,CAAA;YACH,CAAC;SACF,CAAC,CAAA;QAEF,MAAM,CACJ,MAAM,EACN;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;aACrB;SACF,EACD,KAAK,IAAI,EAAE;YACT,IAAI,EAAE,CAAA;QACR,CAAC,CACF,CAAA;QAED,YAAY,EAAE,CAAA;IAChB,CAAC,CAAC,CAAC,CAAA;IAEL,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE,CACzE,IAAI,OAAO,CAAO,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,YAAiB,CAAA;QAErB,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;YAC5B,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;gBAC5C,YAAY,GAAG,KAAK,EAAE,UAAe,EAAE,EAAE;oBACvC,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;wBAC9B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;wBACvD,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;wBAC5B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;oBACnC,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;oBAC/B,CAAC;oBAAC,OAAO,CAAM,EAAE,CAAC;wBAChB,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAA;wBAC9C,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;wBAClC,IAAI,EAAE,CAAA;oBACR,CAAC;gBACH,CAAC,CAAA;YACH,CAAC;SACF,CAAC,CAAA;QAEF,MAAM,CACJ,MAAM,EACN;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;oBACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBAC3B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;iBAClB,CAAC;aACH;SACF,EACD,KAAK,IAAI,EAAE;YACT,OAAM;QACR,CAAC,CACF,CAAA;QAED,YAAY,CAAC,EAAE,CAAC,CAAA;IAClB,CAAC,CAAC,CAAC,CAAA;IAEL,IAAI,CAAC,kDAAkD,EAAE,GAAG,EAAE,CAC5D,IAAI,OAAO,CAAO,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,YAAiB,CAAA;QAErB,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAE1B;YACD,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBACxB,YAAY,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;YACtD,CAAC;SACF,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YACvC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YACtC,IAAI,EAAE,CAAA;QACR,CAAC,CAAC,CAAA;QAEF,YAAY,EAAE,CAAA;IAChB,CAAC,CAAC,CAAC,CAAA;IAEL,IAAI,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QAE/B,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,CAAC,2BAA2B,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC1F,MAAM,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,MAAM,yBAAyB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACzC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;YAExC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;YAChD,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC;YAC3C,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,SAAS,CAAA;YAClB,CAAC;SACF,CAAC,CAAA;QAEF,MAAM,CACJ,WAAW,EACX;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;aACvB;SACF,EACD,KAAK,IAAI,EAAE;YACT,OAAO,WAAW,CAAA;QACpB,CAAC,CACF,CAAA;QAED,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;QAClC,MAAM,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAA;QACxE,MAAM,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAA;QACvC,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC;YAChD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;qBACf;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;aACf;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAK/C,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAiB,CAAA;QAE9C,SAAS,iBAAiB,CAAC,KAAa;YACtC,OAAO,KAAK,KAAK,aAAa,CAAA;QAChC,CAAC;QAED,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,CACrC,sBAAsB,EACtB;YACE,MAAM,EAAE;gBACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;aACvB;SACF,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,MAAM,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;YACvC,CAAC;YAED,OAAO,8BAA8B,CAAA;QACvC,CAAC,CACF,CAAA;QAED,MAAM,MAAM,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CACnF,8BAA8B,CAC/B,CAAA;QACD,MAAM,MAAM,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAC3F,cAAc,CACf,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAChF,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QAE/B,MAAM,CAAC,eAAe,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA;QAEhD,MAAM,CAAC,GAAG,EAAE;YACV,MAAM,CAAC,eAAe,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAA;QACnD,CAAC,CAAC,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QAC/B,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAC5D;QAAC,aAAqB,CAAC,IAAI,GAAG,cAAc,CAAA;QAE7C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,aAAa,CAAA;QACrB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACzB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;YACxC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YACnC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAChE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QAE7C,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA;QAEzC,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;QACnC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEjC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC/D,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QAE9D,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QAE/C,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;QAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1B,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;QAEjD,sBAAsB;QACtB,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACrD,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAA;QAErD,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;QAClC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;QAClC,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEtC,KAAK,EAAE,CAAA;QACP,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QAE/B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC1D,MAAM,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACzB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;YACxC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;YAC9C,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACzC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAA2B,CAAA;QACxD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,IAAI,cAAc,GAAuB,IAAI,CAAA;QAE7C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5D,cAAc,GAAG,GAAG,CAAC,MAAO,CAAA;YAC5B,OAAO,MAAM,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,MAAM,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC9C,MAAM,CAAC,cAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAA2B,CAAA;QACxD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,IAAI,cAAc,GAAuB,IAAI,CAAA;QAE7C,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAClE,cAAc,GAAG,GAAG,CAAC,MAAO,CAAA;YAC5B,MAAM,CAAC,GAAG,CAAC,MAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtC,OAAO,MAAM,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,UAAU,CAAC,KAAK,EAAE,CAAA;QAClB,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;QACtD,MAAM,CAAC,cAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAA2B,CAAA;QACxD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,IAAI,oBAAoB,GAAG,KAAK,CAAA;QAChC,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAA;QAE3C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACxD,KAAK,CAAC,OAAO,EAAE,CAAA;YACf,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,GAAG,CAAC,MAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;oBACzC,oBAAoB,GAAG,IAAI,CAAA;oBAC3B,OAAO,EAAE,CAAA;gBACX,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YACF,OAAO,MAAM,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;QACrD,MAAM,KAAK,CAAC,OAAO,CAAA;QACnB,UAAU,CAAC,KAAK,EAAE,CAAA;QAClB,MAAM,CAAC,CAAA;QACP,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;IAC1D,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QAE/B,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAC/B,gBAAgB,EAChB;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;aAClD;SACF,EACD,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YACpB,OAAO,MAAM,CAAC,IAAI,CAAA;QACpB,CAAC,CACF,CAAA;QAED,IAAI,CAAC;YACH,0DAA0D;YAC1D,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA,CAAC,gCAAgC;QAC/D,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAA;YAClD,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAA;YACjC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;YACnD,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;YAC3C,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;YAC7C,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,+CAA+C,CAAC,CAAA;QAC5E,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QAE/B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAChE,MAAM,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAC5B,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;YACxC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAA;YACjC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;YACnD,MAAM,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;YAC/C,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QAE/B,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAChC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;YACxC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAA;YACjC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;YACnD,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAA;YACpE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;YACrC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAChD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QAE/B,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAChC,iBAAiB,EACjB;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;aAChD;SACF,EACD,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YACpB,OAAO,MAAM,CAAC,EAAE,CAAA;QAClB,CAAC,CACF,CAAA;QAED,IAAI,CAAC;YACH,0DAA0D;YAC1D,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA,CAAC,8BAA8B;QAC9D,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,CAAC,CAAC,qBAAqB,EAAE,CAAA;YAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAA;YAC9B,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAA;QACrD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QAE/B,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAChC,iBAAiB,EACjB;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;aACnD;SACF,EACD,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YACpB,OAAO,MAAM,CAAC,KAAK,CAAA;QACrB,CAAC,CACF,CAAA;QAED,IAAI,CAAC;YACH,0DAA0D;YAC1D,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAC/B,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,iCAAiC;YACjC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;YAC/C,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAA;YAClD,iEAAiE;YACjE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAA;YACjE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,gDAAgD,CAAC,CAAA;YAC3E,2DAA2D;YAC3D,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACtC,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,IAAY,EAAE,EAAE,CAC5D,IAAI,CAAC,QAAQ,CAAC,gDAAgD,CAAC,CAChE,CAAA;YACD,MAAM,CAAC,eAAe,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QAErC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,YAAY,CAClD,YAAY,EACZ;YACE,WAAW,EAAE,0BAA0B;YACvC,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAClD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;aACtD;SACF,EACD,KAAK,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;YACpB,CAAC;QACH,CAAC,CACF,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAA;QAChC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAA;QAC/B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACpC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACzD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACjC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACzC,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB,CAAC,CAAA;QACF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YACpC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACzC,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB,CAAC,CAAA;QAEF,yBAAyB;QACzB,MAAM,MAAM,GAAwB,EAAE,CAAA;QACtC,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QAErC,MAAM,EAAE,gBAAgB,EAAE,GAAG,YAAY,CACvC,kBAAkB,EAClB;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACjD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aACtB;SACF,EACD,KAAK,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM;YAC1B,MAAM,MAAM,CAAC,IAAI,CAAA;QACnB,CAAC,CACF,CAAA;QAED,+DAA+D;QAC/D,IAAI,CAAC;YACH,0DAA0D;YAC1D,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;gBAClD,wBAAwB;YAC1B,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACnC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAA;YAClD,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAA;QACtE,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QACrC,MAAM,EAAE,6BAA6B,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;QAErE,MAAM,EAAE,oBAAoB,EAAE,GAAG,YAAY,CAC3C,sBAAsB,EACtB;YACE,MAAM,EAAE;gBACN,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;aACnD;YACD,cAAc,EAAE,IAAI;SACrB,EACD,KAAK,SAAS,CAAC;YACb,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAA,CAAC,QAAQ;YACxB,MAAM,EAAE,EAAE,EAAE,cAAc,EAAS,CAAA,CAAC,yBAAyB;QAC/D,CAAC,CACF,CAAA;QAED,MAAM,MAAM,GAAU,EAAE,CAAA;QACxB,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,oBAAoB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;gBACrD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAClB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAA;QACpD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAA;YACvD,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,iDAAiD,CAAC,CAAA;YAC9E,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA,CAAC,wBAAwB;QAC9D,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QAErC,MAAM,EAAE,gBAAgB,EAAE,GAAG,YAAY,CACvC,kBAAkB,EAClB;YACE,MAAM,EAAE;gBACN,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;aACnD;YACD,mCAAmC;SACpC,EACD,KAAK,SAAS,CAAC;YACb,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAA;YACf,MAAM,EAAE,EAAE,EAAE,cAAc,EAAS,CAAA,CAAC,0BAA0B;QAChE,CAAC,CACF,CAAA;QAED,MAAM,MAAM,GAAU,EAAE,CAAA;QACxB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QAErC,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC,aAAa,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC,EAAE,GAAG;YAC1E,MAAM,OAAO,CAAA;YACb,MAAM,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;QAChE,CAAC,CAAC,CAAA;QAEF,MAAM,MAAM,GAAU,EAAE,CAAA;QACxB,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAClB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACnC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;YACxC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;YAC7C,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAC3C,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;YAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QACnC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QACrC,IAAI,cAAc,GAAG,KAAK,CAAA;QAE1B,MAAM,EAAE,gBAAgB,EAAE,GAAG,YAAY,CAAC,kBAAkB,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC,EAAE,GAAG;YACpF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;YAChC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;YAC9C,cAAc,GAAG,IAAI,CAAA;YACrB,MAAM,OAAO,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YAClD,UAAU;QACZ,CAAC;QAED,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;QACpE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE,CAAA;QAE5D,MAAM,CAAC,aAAa,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAA;QAEhD,YAAY,CAAC,YAAY,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC;YAC5C,MAAM,QAAQ,CAAA;QAChB,CAAC,CAAC,CAAA;QAEF,MAAM,KAAK,GAAG,aAAa,EAAE,CAAA;QAC7B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAE5B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;QAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAA;QAEzD,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,aAAa,EAAE,CAAA;QACzC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE,CACjE,IAAI,OAAO,CAAO,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,YAAiB,CAAA;QAErB,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC;YAClC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjB,YAAY,GAAG,IAAI,CAAA;YACrB,CAAC;SACF,CAAC,CAAA;QAEF,YAAY,CAAC,gBAAgB,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC;YAChD,MAAM,MAAM,CAAA;QACd,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAA;QAClC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAChD,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAC,CAAA;IAEL,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QAErC,YAAY,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC;YACjD,MAAM,OAAO,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,GAAG,EAAE;YACV,YAAY,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC;gBACjD,MAAM,QAAQ,CAAA;YAChB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAA;IACzE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QAErC,MAAM,EAAE,mBAAmB,EAAE,GAAG,YAAY,CAC1C,qBAAqB,EACrB;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;aAChD;SACF,EACD,KAAK,SAAS,CAAC;YACb,MAAM,MAAM,CAAA;QACd,CAAC,CACF,CAAA;QAED,IAAI,CAAC;YACH,0DAA0D;YAC1D,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;gBACrD,UAAU;YACZ,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACnC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAA;YACjC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;YACnD,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,oDAAoD,CAAC,CAAA;QACjF,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QAErC,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,CACpC,eAAe,EACf;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC7C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;aAChD;SACF,EACD,KAAK,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAA;YAC7B,CAAC;QACH,CAAC,CACF,CAAA;QAED,MAAM,MAAM,GAAU,EAAE,CAAA;QACxB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAKhD,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAiB,CAAA;QAEpD,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC,eAAe,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC,EAAE,GAAG;YAC9E,wCAAwC;YACxC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACnC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;YAC/B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;YAChC,MAAM,GAAG,CAAC,MAAM,CAAA;QAClB,CAAC,CAAC,CAAA;QAEF,MAAM,MAAM,GAAU,EAAE,CAAA;QACxB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QACpF,yEAAyE;QACzE,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,mCAAmC;QACnC,MAAM,aAAc,SAAQ,KAAK;YACtB,IAAI,GAAG,eAAe,CAAA;YACtB,IAAI,GAAG,aAAa,CAAA;SAC9B;QAED,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QACrC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,yBAAyB,CAAC,CAAA;QAElE,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAClC,aAAa,EACb,EAAE;QACF,yCAAyC;QACzC,KAAK,SAAS,CAAC;YACb,MAAM,aAAa,CAAA;QACrB,CAAC,CACF,CAAA;QAED,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC7C,UAAU;YACZ,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACnC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAC7B,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;YACvC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACpC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACzE,2EAA2E;QAC3E,yEAAyE;QACzE,oEAAoE;QACpE,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QACrC,IAAI,UAAU,GAAG,KAAK,CAAA;QAEtB,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,CACjC,YAAY,EACZ,EAAE,EACF,KAAK,SAAS,CAAC;YACb,IAAI,CAAC;gBACH,MAAM,CAAC,CAAA;gBACP,MAAM,CAAC,CAAA;gBACP,MAAM,CAAC,CAAA;YACT,CAAC;oBAAS,CAAC;gBACT,UAAU,GAAG,IAAI,CAAA;YACnB,CAAC;QACH,CAAC,CACF,CAAA;QAED,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAC/B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC3B,MAAM,IAAI,CAAC,MAAO,CAAC,SAAS,CAAC,CAAA;QAC7B,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAM7C,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAsB,CAAA;QAEzD,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAC3B,gBAAgB,EAChB;YACE,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,wBAAwB;SACtC,EACD,KAAK,SAAS,CAAC;YACb,MAAM,MAAM,CAAA;QACd,CAAC,CACF,CAAA;QAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC5B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QACvD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QACrC,IAAI,cAAc,GAAuB,IAAI,CAAA;QAE7C,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC,aAAa,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC,EAAE,GAAG;YAC1E,cAAc,GAAG,GAAG,CAAC,MAAM,CAAA;YAC3B,MAAM,OAAO,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,wBAAwB;QACxB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YAC7C,UAAU;QACZ,CAAC;QAED,sDAAsD;QACtD,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QACrC,MAAM,CAAC,cAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QACrC,IAAI,cAAc,GAAuB,IAAI,CAAA;QAE7C,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,cAAc,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC,EAAE,GAAG;YAC5E,cAAc,GAAG,GAAG,CAAC,MAAM,CAAA;YAC3B,MAAM,OAAO,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YAC9C,UAAU;QACZ,CAAC;QAED,MAAM,CAAC,cAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAA2B,CAAA;QAC9D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,IAAI,cAAc,GAAuB,IAAI,CAAA;QAE7C,MAAM,EAAE,cAAc,EAAE,GAAG,YAAY,CAAC,gBAAgB,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC,EAAE,GAAG;YAChF,cAAc,GAAG,GAAG,CAAC,MAAM,CAAA;YAC3B,+DAA+D;YAC/D,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;YAC9C,MAAM,OAAO,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,sEAAsE;QACtE,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAEvC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YAC3E,UAAU;QACZ,CAAC;QAED,MAAM,CAAC,cAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1C,oEAAoE;QACpE,MAAM,CAAC,cAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QAE/B,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAC/B,gBAAgB,EAChB;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;aAClD;SACF,EACD,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YACpB,OAAO,MAAM,CAAA;QACf,CAAC,CACF,CAAA;QAED,6DAA6D;QAC7D,mDAAmD;QACnD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAS,CAAC,CAAA;QACxE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QAE/B,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAC/B,gBAAgB,EAChB;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;aAClD;SACF,EACD,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YACpB,OAAO,MAAM,CAAA;QACf,CAAC,CACF,CAAA;QAED,0DAA0D;QAC1D,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,EAAS,CAAC,CAAA;YAC1D,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAA;QACpD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAA;QACpD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QAE/B,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAClC,mBAAmB,EACnB;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;aAChD;SACF,EACD,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YACpB,OAAO,MAAM,CAAA;QACf,CAAC,CACF,CAAA;QAED,yDAAyD;QACzD,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,EAAE,EAAE,EAAS,CAAC,CAAA;YACtC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAA;QACpD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAA;QACpD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QAErC,MAAM,EAAE,oBAAoB,EAAE,GAAG,YAAY,CAC3C,sBAAsB,EACtB;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;aACnD;SACF,EACD,KAAK,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM;YAC1B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;QAC5B,CAAC,CACF,CAAA;QAED,4EAA4E;QAC5E,MAAM,MAAM,GAAU,EAAE,CAAA;QACxB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,oBAAoB,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAS,CAAC,EAAE,CAAC;YAClF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QAErC,MAAM,EAAE,cAAc,EAAE,GAAG,YAAY,CACrC,gBAAgB,EAChB;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;aACnD;SACF,EACD,KAAK,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM;YAC1B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;QAC5B,CAAC,CACF,CAAA;QAED,oDAAoD;QACpD,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,cAAc,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,EAAS,CAAC,EAAE,CAAC;gBAC9E,UAAU;YACZ,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAA;QACpD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAA;QACpD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;QAErC,MAAM,EAAE,uBAAuB,EAAE,GAAG,YAAY,CAC9C,yBAAyB,EACzB;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;aACnD;SACF,EACD,KAAK,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM;YAC1B,MAAM,MAAM,CAAA;QACd,CAAC,CACF,CAAA;QAED,yDAAyD;QACzD,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,uBAAuB,CAAC,EAAE,EAAE,EAAS,CAAC,EAAE,CAAC;gBAChE,UAAU;YACZ,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAA;QACpD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAA;QACpD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QAE/B,MAAM,CAAC,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACvC,0EAA0E;YAC1E,KAAK,GAAG,CAAC,cAAc,CAAA;YACvB,OAAO,MAAM,CAAA;QACf,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-procedures",
3
- "version": "7.1.0",
3
+ "version": "7.1.1",
4
4
  "description": "A TypeScript RPC framework that creates type-safe, schema-validated procedure calls with a single function definition. Define your procedures once and get full type inference, runtime validation, and framework integration hooks.",
5
5
  "main": "build/exports.js",
6
6
  "types": "build/exports.d.ts",
@@ -108,6 +108,12 @@ export function createClient<TScopes>(config: CreateClientConfig<TScopes>): TSco
108
108
  rejectResult = reject
109
109
  })
110
110
 
111
+ // Attach a no-op rejection sink so unhandled-rejection trackers (e.g.
112
+ // node:test) don't fire when the iterator throws but the consumer never
113
+ // awaits `.result`. Returns a new promise — consumers awaiting
114
+ // `resultPromise` still observe the rejection.
115
+ resultPromise.catch(() => undefined)
116
+
111
117
  // The deferred async generator: awaits executeStream, then forwards
112
118
  async function* deferredGenerator(): AsyncGenerator<TYield> {
113
119
  let innerStream: TypedStream<TYield, TReturn>
@@ -1,6 +1,6 @@
1
1
  import { describe, it, expect, vi } from 'vitest'
2
2
  import { createTypedStream, executeStream } from './stream.js'
3
- import { ClientRequestError, ClientNetworkError } from './errors.js'
3
+ import { ClientRequestError, ClientNetworkError, ClientStreamError } from './errors.js'
4
4
  import type {
5
5
  ClientAdapter,
6
6
  AdapterRequest,
@@ -9,6 +9,8 @@ import type {
9
9
  StreamDescriptor,
10
10
  ProcedureCallDefaults,
11
11
  ProcedureCallOptions,
12
+ ErrorRegistry,
13
+ ErrorResponseMeta,
12
14
  } from './types.js'
13
15
 
14
16
  // ── helpers ───────────────────────────────────────────────
@@ -132,6 +134,85 @@ describe('createTypedStream — SSE mode', () => {
132
134
  for await (const item of stream) yielded.push(item)
133
135
  expect(yielded).toEqual(['a', 'b'])
134
136
  })
137
+
138
+ it('dispatches typed errors via the registry on event: error', async () => {
139
+ class UseCaseError extends Error {
140
+ readonly name = 'UseCaseError'
141
+ readonly code: string
142
+ readonly status: number
143
+ constructor(body: { code: string }, meta: ErrorResponseMeta) {
144
+ super(`UseCaseError: ${body.code}`)
145
+ this.code = body.code
146
+ this.status = meta.status
147
+ }
148
+ }
149
+ const registry: ErrorRegistry = {
150
+ UseCaseError: {
151
+ fromResponse: (body, meta) => new UseCaseError(body as { code: string }, meta),
152
+ },
153
+ }
154
+
155
+ const sseItems = [
156
+ { data: { count: 1 }, event: 'update' },
157
+ { data: { name: 'UseCaseError', code: 'NOT_AUTHORIZED' }, event: 'error' },
158
+ ]
159
+ const stream = createTypedStream<{ count: number }, void>(
160
+ makeAsyncIterable(sseItems),
161
+ 'sse',
162
+ { errorRegistry: registry, procedureName: 'WatchUpdates', scope: 'updates' },
163
+ )
164
+
165
+ let caught: unknown
166
+ try {
167
+ for await (const _ of stream) { /* drain */ }
168
+ } catch (err) {
169
+ caught = err
170
+ }
171
+ expect(caught).toBeInstanceOf(UseCaseError)
172
+ expect((caught as UseCaseError).code).toBe('NOT_AUTHORIZED')
173
+ await expect(stream.result).rejects.toBeInstanceOf(UseCaseError)
174
+ })
175
+
176
+ it('falls back to ClientStreamError when no registry entry matches event: error', async () => {
177
+ const sseItems = [
178
+ { data: { count: 1 }, event: 'update' },
179
+ { data: { name: 'UnknownError', message: 'something broke' }, event: 'error' },
180
+ ]
181
+ const stream = createTypedStream<{ count: number }, void>(
182
+ makeAsyncIterable(sseItems),
183
+ 'sse',
184
+ { procedureName: 'WatchUpdates', scope: 'updates' },
185
+ )
186
+
187
+ await expect(async () => {
188
+ for await (const _ of stream) { /* drain */ }
189
+ }).rejects.toBeInstanceOf(ClientStreamError)
190
+ })
191
+
192
+ it('does not emit unhandled rejections when iterator throws and .result is never awaited', async () => {
193
+ const captured: unknown[] = []
194
+ const handler = (reason: unknown) => captured.push(reason)
195
+ process.on('unhandledRejection', handler)
196
+ try {
197
+ async function* errorIterable(): AsyncIterable<unknown> {
198
+ yield { data: 'first', event: 'message' }
199
+ throw new Error('iterator threw')
200
+ }
201
+
202
+ const stream = createTypedStream<string, void>(errorIterable(), 'sse')
203
+ try {
204
+ for await (const _ of stream) { /* drain */ }
205
+ } catch {
206
+ // Consumer iterates but does NOT await stream.result — common with
207
+ // gateways that fan out events and only care about iteration.
208
+ }
209
+ // Yield so any pending microtask rejection lands in the handler
210
+ await new Promise((r) => setImmediate(r))
211
+ expect(captured).toEqual([])
212
+ } finally {
213
+ process.off('unhandledRejection', handler)
214
+ }
215
+ })
135
216
  })
136
217
 
137
218
  // ── createTypedStream — text mode ────────────────────────
@@ -1,7 +1,7 @@
1
1
  import { buildAdapterRequest } from './request-builder.js'
2
2
  import { runBeforeRequest, runAfterResponse, runOnError } from './hooks.js'
3
3
  import { applyRequestOptions, resolveBasePath } from './resolve-options.js'
4
- import { ClientHttpError } from './errors.js'
4
+ import { ClientHttpError, ClientStreamError } from './errors.js'
5
5
  import { dispatchTypedError } from './error-dispatch.js'
6
6
  import { defaultClassifyError } from './classify-error.js'
7
7
  import type {
@@ -26,21 +26,47 @@ interface SSEItem {
26
26
 
27
27
  // ── createTypedStream ─────────────────────────────────────
28
28
 
29
+ /**
30
+ * Optional context for SSE-mode typed-error dispatch. When supplied,
31
+ * `event: 'error'` items are decoded through the registry instead of being
32
+ * yielded as data — giving streams the same typed-error contract as RPC/API
33
+ * calls. See `dispatchTypedError`.
34
+ */
35
+ export interface CreateTypedStreamOptions {
36
+ errorRegistry?: ErrorRegistry
37
+ /** Status to attach to typed-error meta when an `event: 'error'` is decoded. Defaults to 200 (the response was OK; the error was inline). */
38
+ errorStatus?: number
39
+ procedureName?: string
40
+ scope?: string
41
+ }
42
+
29
43
  /**
30
44
  * Wraps an AsyncIterable into a TypedStream.
31
45
  *
32
46
  * SSE mode: each item is `{ data, event?, id? }`.
33
47
  * - If `event === 'return'`, the data resolves `.result` and is NOT yielded.
48
+ * - If `event === 'error'`, the data is dispatched through the optional
49
+ * `errorRegistry` (when supplied) — the resulting typed error rejects
50
+ * `.result` and is thrown from the iterator. Falls back to
51
+ * `ClientStreamError` when no registry entry matches.
34
52
  * - Otherwise, `data` is yielded.
35
53
  *
36
54
  * Text mode: each item is yielded as-is.
37
55
  * - `.result` resolves to `void` on completion.
38
56
  *
39
57
  * On error: `.result` rejects and the error is re-thrown from the async iterator.
58
+ *
59
+ * The internal `.result` promise gets a no-op rejection handler attached so
60
+ * that consumers who only iterate (and never `await stream.result`) don't
61
+ * trigger an unhandled-rejection warning under Node's strict runners
62
+ * (e.g. node:test). Consumers that DO await `.result` still observe the
63
+ * rejection — `.catch(() => undefined)` returns a new promise without
64
+ * suppressing the original.
40
65
  */
41
66
  export function createTypedStream<TYield, TReturn = void>(
42
67
  source: AsyncIterable<unknown>,
43
- streamMode: 'sse' | 'text'
68
+ streamMode: 'sse' | 'text',
69
+ options?: CreateTypedStreamOptions
44
70
  ): TypedStream<TYield, TReturn> {
45
71
  let resolveResult: (value: TReturn) => void
46
72
  let rejectResult: (reason: unknown) => void
@@ -50,6 +76,12 @@ export function createTypedStream<TYield, TReturn = void>(
50
76
  rejectResult = reject
51
77
  })
52
78
 
79
+ // Attach a no-op rejection sink so unhandled-rejection trackers don't fire
80
+ // when the iterator throws but the consumer never `await`s `.result`. This
81
+ // is independent of the public promise — consumers awaiting `.result` still
82
+ // see the rejection.
83
+ resultPromise.catch(() => undefined)
84
+
53
85
  async function* generate(): AsyncGenerator<TYield> {
54
86
  try {
55
87
  if (streamMode === 'sse') {
@@ -61,6 +93,30 @@ export function createTypedStream<TYield, TReturn = void>(
61
93
  if (sseItem.event === 'return') {
62
94
  returnValue = sseItem.data as TReturn
63
95
  hasReturn = true
96
+ } else if (sseItem.event === 'error') {
97
+ // Mid-stream typed error. Mirror the call.ts dispatch contract:
98
+ // body shape is `{ name, ... }` and the registry maps `name` →
99
+ // typed class. When no registry / no match, surface a
100
+ // ClientStreamError carrying the raw body.
101
+ const typed = dispatchTypedError(options?.errorRegistry, sseItem.data, {
102
+ status: options?.errorStatus ?? 200,
103
+ procedureName: options?.procedureName ?? '',
104
+ scope: options?.scope ?? '',
105
+ })
106
+ if (typed) throw typed
107
+ const message = (() => {
108
+ const data = sseItem.data
109
+ if (data && typeof data === 'object' && 'message' in data && typeof (data as { message: unknown }).message === 'string') {
110
+ return (data as { message: string }).message
111
+ }
112
+ return `Stream error event for ${options?.procedureName ?? 'procedure'}`
113
+ })()
114
+ throw new ClientStreamError(
115
+ message,
116
+ options?.procedureName ?? '',
117
+ options?.scope ?? '',
118
+ sseItem.data,
119
+ )
64
120
  } else {
65
121
  yield sseItem.data as TYield
66
122
  }
@@ -202,6 +258,13 @@ export async function executeStream<TYield, TReturn = void>(
202
258
  })
203
259
  }
204
260
 
205
- // 8. Return the typed stream
206
- return createTypedStream<TYield, TReturn>(streamResponse.body, descriptor.streamMode)
261
+ // 8. Return the typed stream — pass the registry/descriptor through so
262
+ // mid-stream `event: 'error'` items dispatch through the same registry as
263
+ // RPC/API calls.
264
+ return createTypedStream<TYield, TReturn>(streamResponse.body, descriptor.streamMode, {
265
+ errorRegistry,
266
+ errorStatus: responseForHooks.status,
267
+ procedureName: descriptor.name,
268
+ scope: descriptor.scope,
269
+ })
207
270
  }
@@ -1,4 +1,4 @@
1
- import { describe, expect, it, test } from 'vitest'
1
+ import { describe, expect, it, test, vi, afterEach } from 'vitest'
2
2
  import { v } from 'suretype'
3
3
  import { Procedures } from '../../index.js'
4
4
  import { HonoRPCAppBuilder } from './hono-rpc/index.js'
@@ -538,6 +538,48 @@ describe('DocRegistry', () => {
538
538
  expect(parsed.routes[0].name).toBe('Echo')
539
539
  })
540
540
 
541
+ describe('coverage warnings via skippedProcedures', () => {
542
+ afterEach(() => {
543
+ vi.restoreAllMocks()
544
+ delete process.env.TS_PROCEDURES_SUPPRESS_COVERAGE_WARNINGS
545
+ })
546
+
547
+ test('warns when sources expose skippedProcedures entries', () => {
548
+ const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => {})
549
+ const sourceWithSkipped: DocSource<RPCHttpRouteDoc> = {
550
+ docs: [rpcDoc],
551
+ skippedProcedures: [
552
+ { name: 'StreamProc', reason: 'wrong builder' },
553
+ ],
554
+ }
555
+
556
+ new DocRegistry().from(sourceWithSkipped).toJSON()
557
+
558
+ expect(warnSpy).toHaveBeenCalledOnce()
559
+ const message = warnSpy.mock.calls[0]![0] as string
560
+ expect(message).toContain('1 procedure(s)')
561
+ expect(message).toContain('StreamProc')
562
+ expect(message).toContain('wrong builder')
563
+ })
564
+
565
+ test('does not warn when sources have no skippedProcedures', () => {
566
+ const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => {})
567
+ new DocRegistry().from(makeSource([rpcDoc])).toJSON()
568
+ expect(warnSpy).not.toHaveBeenCalled()
569
+ })
570
+
571
+ test('TS_PROCEDURES_SUPPRESS_COVERAGE_WARNINGS=1 silences the warning', () => {
572
+ process.env.TS_PROCEDURES_SUPPRESS_COVERAGE_WARNINGS = '1'
573
+ const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => {})
574
+ const source: DocSource<RPCHttpRouteDoc> = {
575
+ docs: [rpcDoc],
576
+ skippedProcedures: [{ name: 'X', reason: 'y' }],
577
+ }
578
+ new DocRegistry().from(source).toJSON()
579
+ expect(warnSpy).not.toHaveBeenCalled()
580
+ })
581
+ })
582
+
541
583
  test('accepts a real HonoRPCAppBuilder as source', () => {
542
584
  const RPC = Procedures<{ userId: string }, RPCConfig>()
543
585
 
@@ -88,6 +88,25 @@ export class DocRegistry {
88
88
  routes = routes.filter(options.filter)
89
89
  }
90
90
 
91
+ // Surface coverage gaps — when a builder skipped procedures (e.g. a
92
+ // streaming procedure registered with HonoRPCAppBuilder), the per-builder
93
+ // warning fires once at `build()` time, but consumers who only call
94
+ // `registry.toJSON()` (e.g. to dump the envelope to disk for codegen)
95
+ // wouldn't see it without this aggregate. Single warning per call,
96
+ // suppressed when the env var is set so CI pipelines stay quiet.
97
+ if (process.env.TS_PROCEDURES_SUPPRESS_COVERAGE_WARNINGS !== '1') {
98
+ const skipped = this.sources.flatMap((source) => source.skippedProcedures ?? [])
99
+ if (skipped.length > 0) {
100
+ const lines = skipped.map(
101
+ ({ name, reason }) => ` - "${name}": ${reason}`
102
+ )
103
+ console.warn(
104
+ `[ts-procedures DocRegistry] ${skipped.length} procedure(s) registered with a builder but not served — they will be missing from the doc envelope:\n${lines.join('\n')}\n` +
105
+ `(Suppress with TS_PROCEDURES_SUPPRESS_COVERAGE_WARNINGS=1)`
106
+ )
107
+ }
108
+ }
109
+
91
110
  const envelope: DocEnvelope = {
92
111
  basePath: this.basePath,
93
112
  headers: [...this.headers],
@@ -598,6 +598,38 @@ describe('HonoRPCAppBuilder', () => {
598
598
 
599
599
  expect(res.status).toBe(404)
600
600
  })
601
+
602
+ test('skips streaming procedures and tracks them in skippedProcedures', async () => {
603
+ const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => {})
604
+ try {
605
+ const builder = new HonoRPCAppBuilder()
606
+ const RPC = Procedures<{}, RPCConfig>()
607
+
608
+ RPC.Create('RegularProc', { scope: 'test', version: 1 }, async () => ({ ok: true }))
609
+ RPC.CreateStream('StreamProc', { scope: 'test', version: 1 }, async function* () {
610
+ yield { msg: 'stream' }
611
+ })
612
+
613
+ builder.register(RPC, () => ({}))
614
+ builder.build()
615
+
616
+ // Only the regular procedure makes it into docs
617
+ expect(builder.docs).toHaveLength(1)
618
+ expect(builder.docs[0]!.name).toBe('RegularProc')
619
+
620
+ // Stream proc surfaces via skippedProcedures
621
+ expect(builder.skippedProcedures).toHaveLength(1)
622
+ expect(builder.skippedProcedures[0]!.name).toBe('StreamProc')
623
+ expect(builder.skippedProcedures[0]!.reason).toMatch(/HonoStreamAppBuilder/)
624
+
625
+ // And we logged a warning so devs aren't blindsided
626
+ expect(warnSpy).toHaveBeenCalledWith(
627
+ expect.stringContaining('Skipping procedure "StreamProc"')
628
+ )
629
+ } finally {
630
+ warnSpy.mockRestore()
631
+ }
632
+ })
601
633
  })
602
634
 
603
635
  // --------------------------------------------------------------------------
@@ -151,6 +151,7 @@ export class HonoRPCAppBuilder {
151
151
 
152
152
  private _app: Hono = new Hono()
153
153
  private _docs: (RPCHttpRouteDoc & object)[] = []
154
+ private _skipped: { name: string; reason: string }[] = []
154
155
 
155
156
  get app(): Hono {
156
157
  return this._app
@@ -160,6 +161,16 @@ export class HonoRPCAppBuilder {
160
161
  return this._docs
161
162
  }
162
163
 
164
+ /**
165
+ * Procedures that were skipped at `build()` time because they don't fit
166
+ * this builder (e.g. streaming procedures registered against an RPC
167
+ * builder). Surfaced via `DocSource.skippedProcedures` so DocRegistry can
168
+ * warn about coverage gaps.
169
+ */
170
+ get skippedProcedures(): { name: string; reason: string }[] {
171
+ return this._skipped
172
+ }
173
+
163
174
  /**
164
175
  * Registers a procedure factory with its context.
165
176
  * @param factory - The procedure factory created by Procedures<Context, RPCConfig>()
@@ -189,7 +200,22 @@ export class HonoRPCAppBuilder {
189
200
  */
190
201
  build(): Hono {
191
202
  this.factories.forEach(({ factory, factoryContext, extendProcedureDoc }) => {
192
- factory.getProcedures().map((procedure: TProcedureRegistration<any, RPCConfig>) => {
203
+ factory.getProcedures().forEach((procedure: TProcedureRegistration<any, RPCConfig>) => {
204
+ // Skip streaming procedures — RPC builder cannot serve them. Without
205
+ // this guard, the procedure would silently get a POST route that
206
+ // returns its async generator object as a JSON response, which is not
207
+ // a useful failure mode. Procedures meant to stream should be
208
+ // registered with HonoStreamAppBuilder.
209
+ if ((procedure as { isStream?: boolean }).isStream === true) {
210
+ const reason =
211
+ 'Streaming procedure registered with HonoRPCAppBuilder — register it with HonoStreamAppBuilder instead.'
212
+ this._skipped.push({ name: procedure.name, reason })
213
+ console.warn(
214
+ `[ts-procedures hono-rpc] Skipping procedure "${procedure.name}": ${reason}`
215
+ )
216
+ return
217
+ }
218
+
193
219
  const route = this.buildRpcHttpRouteDoc(procedure, extendProcedureDoc)
194
220
 
195
221
  this._docs.push(route)