@love-moon/chat-web 0.17.2 → 0.18.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 (64) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/README.md +176 -0
  3. package/dist/cli.js +8 -2
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/login.js +11 -2
  6. package/dist/commands/login.js.map +1 -1
  7. package/dist/index.d.ts +5 -4
  8. package/dist/index.js +6 -4
  9. package/dist/index.js.map +1 -1
  10. package/dist/providers/chatgpt-sse-collector.d.ts +2 -0
  11. package/dist/providers/chatgpt-sse-collector.js +4 -0
  12. package/dist/providers/chatgpt-sse-collector.js.map +1 -1
  13. package/dist/runtime/accounts.d.ts +13 -0
  14. package/dist/runtime/accounts.js +86 -0
  15. package/dist/runtime/accounts.js.map +1 -0
  16. package/dist/runtime/archive.d.ts +9 -0
  17. package/dist/runtime/archive.js +54 -0
  18. package/dist/runtime/archive.js.map +1 -0
  19. package/dist/runtime/browser-worker.d.ts +14 -0
  20. package/dist/runtime/browser-worker.js +87 -0
  21. package/dist/runtime/browser-worker.js.map +1 -0
  22. package/dist/runtime/cli.d.ts +1 -0
  23. package/dist/runtime/cli.js +141 -0
  24. package/dist/runtime/cli.js.map +1 -0
  25. package/dist/runtime/client.d.ts +84 -0
  26. package/dist/runtime/client.js +258 -0
  27. package/dist/runtime/client.js.map +1 -0
  28. package/dist/runtime/daemon.d.ts +1 -0
  29. package/dist/runtime/daemon.js +33 -0
  30. package/dist/runtime/daemon.js.map +1 -0
  31. package/dist/runtime/engine.d.ts +105 -0
  32. package/dist/runtime/engine.js +605 -0
  33. package/dist/runtime/engine.js.map +1 -0
  34. package/dist/runtime/index.d.ts +7 -0
  35. package/dist/runtime/index.js +8 -0
  36. package/dist/runtime/index.js.map +1 -0
  37. package/dist/runtime/managed.d.ts +7 -0
  38. package/dist/runtime/managed.js +75 -0
  39. package/dist/runtime/managed.js.map +1 -0
  40. package/dist/runtime/process-env.d.ts +2 -0
  41. package/dist/runtime/process-env.js +5 -0
  42. package/dist/runtime/process-env.js.map +1 -0
  43. package/dist/runtime/retention.d.ts +15 -0
  44. package/dist/runtime/retention.js +62 -0
  45. package/dist/runtime/retention.js.map +1 -0
  46. package/dist/runtime/server.d.ts +12 -0
  47. package/dist/runtime/server.js +246 -0
  48. package/dist/runtime/server.js.map +1 -0
  49. package/dist/runtime/sites.d.ts +2 -0
  50. package/dist/runtime/sites.js +40 -0
  51. package/dist/runtime/sites.js.map +1 -0
  52. package/dist/runtime/store.d.ts +17 -0
  53. package/dist/runtime/store.js +61 -0
  54. package/dist/runtime/store.js.map +1 -0
  55. package/dist/runtime/stream-decoder.d.ts +30 -0
  56. package/dist/runtime/stream-decoder.js +227 -0
  57. package/dist/runtime/stream-decoder.js.map +1 -0
  58. package/dist/runtime/types.d.ts +102 -0
  59. package/dist/runtime/types.js +12 -0
  60. package/dist/runtime/types.js.map +1 -0
  61. package/dist/runtime/worker.d.ts +1 -0
  62. package/dist/runtime/worker.js +422 -0
  63. package/dist/runtime/worker.js.map +1 -0
  64. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAoL,MAAM,YAAY,CAAC;AAaxO,MAAM,OAAO,WAAW;IAeM;IAA6B;IAdjD,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAC5B,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzC,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IACzB,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5B,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC1C,UAAU,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;IACjD,QAAQ,GAAG,KAAK,CAAC;IACjB,OAAO,CAAU;IACjB,SAAS,GAAG,KAAK,CAAC;IAClB,OAAO,CAAsB;IAC5B,UAAU,CAAS;IACnB,qBAAqB,CAAS;IAC9B,KAAK,CAAmB;IAEjC,YAA4B,KAAmB,EAAU,OAAuB;QAApD,UAAK,GAAL,KAAK,CAAc;QAAU,YAAO,GAAP,OAAO,CAAgB;QAC9E,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,IAAI,CAAC,CAAC;QAChE,KAAK,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,6CAA6C,CAAC,CAAC;QACnJ,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAuB;QACvC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;QACrF,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACnC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;gBACtD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC5E,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,SAAS,CAAC;YACzC,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAE,CAAC;gBACvD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW;oBAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC;gBAC1D,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,CAAC;oBAAE,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;gBAC7G,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3D,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;oBAC1B,IAAI,CAAC,KAAK,GAAG,uCAAuC,CAAC;oBACrD,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;oBACjC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBACtF,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACzD,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;oBAC1B,IAAI,CAAC,KAAK,GAAG,2EAA2E,CAAC;oBACzF,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAE,CAAC,WAAW,GAAG,IAAI,CAAC;oBAC7D,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,YAAY,CAAC,KAAmB,EAAE,EAAU;QAClD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClG,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;QACjF,OAAO,YAAY,CAAC;IACtB,CAAC;IACO,IAAI,CAAC,KAAmB,EAAE,EAAU;QAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAqB,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAC7D,GAAG,CAAC,EAAU;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;QACvG,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,EAAU;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM;QACJ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACtM,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO;YACzG,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACpF,SAAS,EAAE,eAAe;YAC1B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAA0H;QACrI,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,0BAA0B,CAAC,CAAC;QACvF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,sBAAsB,EAAE,8BAA8B,CAAC,CAAC;QAC9I,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAE,CAAC;QACvE,IAAI,MAAM,CAAC,sBAAsB,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC;YAC5I,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,kCAAkC,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC;QAChD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;QAC7I,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,CAAC;QAChJ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACxD,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;oBAChG,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,sBAAsB,KAAK,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBACjG,IAAI,QAAQ;oBAAE,OAAO,QAAQ,CAAC;YAChC,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,IAAI,eAAe,CAAC,gBAAgB;gBAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAC;YAClJ,MAAM,MAAM,GAAiB,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS;gBACnF,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;gBAC/N,GAAG,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,EAAE,GAAG,EAAE,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACvL,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;YACxC,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,SAAsF,EAAE;QAC/G,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,0BAA0B,CAAC,CAAC;QACvF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,gCAAgC,CAAC,CAAC;QACpN,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU;YAC/E,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5G,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,WAAW,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACxD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;gBAChD,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;gBAAC,OAAO,MAAM,CAAC,QAAQ,CAAC;gBAC9C,MAAM,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACjD,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,sCAAsC,CAAC,CAAC;QAC3H,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC;QAC1G,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAChE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;oBAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;gBAChE,IAAI,MAAM,CAAC,oBAAoB;oBAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBAC1D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBAAC,OAAO,IAAI,CAAC,QAAQ,CAAC;gBAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC5E,MAAM,IAAI,YAAY,CAAC,aAAa,EAAE,wEAAwE,CAAC,CAAC;YAClH,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;gBAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YAChD,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAChC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;QACxC,CAAC;gBAAS,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAU;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC/D,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;QACzF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;YACpG,CAAC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5H,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7E,IAAI,QAAQ,CAAC,MAAM;gBAAE,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;oBACrD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBACxC,KAAK,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpF,CAAC,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAA6G;QACxH,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,0BAA0B,CAAC,CAAC;QACvF,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO;YACzF,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/F,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,oDAAoD,CAAC,CAAC;QACjG,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,GAAG,IAAI,SAAS,GAAG,SAAS;YAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;QAC5I,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YACjE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;YACrD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC;YACjJ,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS;oBAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,+EAA+E,CAAC,CAAC;gBACzO,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,YAAY,CAAC,aAAa,EAAE,gCAAgC,CAAC,CAAC;YACzF,IAAI,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,+EAA+E,CAAC,CAAC;YACjJ,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,eAAe,CAAC,QAAQ;gBAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC;YACpI,MAAM,IAAI,GAAS,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS;gBACzF,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YACnK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC5B,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,YAAY,CAAC,IAAU;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,cAAc,CAAI,MAA2D;QACzF,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,IAAI,OAAkC,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE;YAC5E,uEAAuE;YACvE,qEAAqE;YACrE,YAAY,EAAE,KAAK,IAAI,EAAE,GAAG,KAAK,MAAM,IAAI,IAAI,OAAO;gBAAE,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxF,WAAW,EAAE,GAAG,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,MAAM;oBAAE,OAAO;gBAC5B,qEAAqE;gBACrE,oEAAoE;gBACpE,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACnD,CAAC;SACF,CAAC,CAAC;QACH,MAAM,OAAO,CAAC;QACd,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,KAAmB,EAAE,OAAuB,EAAE,UAAsD,EAAE;QAClH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5H,KAAK,MAAM,EAAE,IAAI,KAAK;YAAE,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAE,CAAC,cAAc,CAAC,CAAC;QACxF,OAAO,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IAEO,OAAO,CAAC,KAAmB,EAAE,EAAU,EAAE,OAAuB;QACtE,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC,aAAa,CAAC,EAAE,CAAE,CAAC;QAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;QAC7E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,sBAAsB,EAAE,+BAA+B,CAAC,CAAC;QAC/I,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,IAAI,eAAe,CAAC,gBAAgB;YAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAC;QAClJ,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/C,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,GAAa;QACxC,KAAK,MAAM,EAAE,IAAI,GAAG;YAAE,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5D,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;qBAC7F,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,gDAAgD,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACpG,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACvD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;YACzC,OAAO,EAAc,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAEO,iBAAiB,CAAC,QAAgB,EAAE,KAAc;QACxD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,2BAA2B,CAAC,CAAC;QACtG,IAAI,QAAQ,KAAK,UAAU;YAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,yCAAyC,CAAC,CAAC;IACnH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;QAC3D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY;gBAAE,OAAO,IAAI,CAAC;YACzE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;YACpE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YACvD,IAAI,WAAW;gBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,EAAU,EAAE,KAAK,GAAG,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,sCAAsC,CAAC,CAAC;QAC5H,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;IACtE,CAAC;IACD,SAAS,CAAC,EAAU,EAAE,QAAoC;QACxD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IACO,OAAO,CAAC,KAAgB,IAAU,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,CAAC,IAAU,EAAE,IAAuB,EAAE,QAA4B,EAAE;QAChF,MAAM,KAAK,GAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC;QACpI,uEAAuE;QACvE,wEAAwE;QACxE,8DAA8D;QAC9D,IAAI,IAAI,KAAK,kBAAkB,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;YAC5F,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;YAC5G,KAAK,CAAC,IAAI,GAAG,kBAAkB,CAAC;YAChC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACO,KAAK,CAAC,QAAQ,CAAC,EAAU,EAAE,MAAoB;QACrD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI,MAAM,CAAC,GAAG;gBAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YACtC,IAAI,MAAM,CAAC,sBAAsB;gBAAE,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;QACjG,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,QAAQ;QACd,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,cAAc,CAAC,GAAG,EAAE;YAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU;oBAAE,MAAM;gBAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAE,CAAC;gBACvD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW;oBAAE,SAAS;gBACpG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAAE,SAAS;gBAC9I,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;oBACxD,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAE,CAAC,cAAc,CAAE,CAAC;oBACpE,OAAO,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC;gBAChF,CAAC,CAAC,CAAC,MAAM,CAAC;gBACV,IAAI,WAAW,IAAI,IAAI,CAAC,qBAAqB;oBAAE,SAAS;gBACxD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBAChF,4FAA4F;oBAC5F,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;oBAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChF,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,QAAQ,CAAC,EAAU;QACzB,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM;YAAE,OAAO,KAAK,CAAC;QAC5F,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAC9C,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,YAA0B;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC1C,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,0BAA0B,CAAC,CAAC;YACvF,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAAC,QAAQ,GAAG,SAAS,CAAC;YAAC,CAAC;YACxH,IAAI,QAAQ,EAAE,CAAC;gBAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAAC,OAAO,QAAQ,CAAC,MAAM,CAAC;YAAC,CAAC;YACrE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9G,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,wDAAwD,CAAC,CAAC;gBACxG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,YAAY,CAAC,gBAAgB,EAAE,CAAC;gBACvD,MAAM,IAAI,YAAY,CAAC,oBAAoB,EAAE,gFAAgF,CAAC,CAAC;YACjI,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,0BAA0B,CAAC,CAAC;YACvF,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrF,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC;gBACxF,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC;gBAC5D,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,QAAQ,CAAE;gBACrE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;aAC3E,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAChH,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC;IACb,CAAC;IACO,KAAK,CAAC,IAAI,CAAC,EAAU;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxB,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,MAAoB;QACnD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACvH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS;gBAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;YAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3D,IAAI,MAAM,CAAC,GAAG;gBAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YACtC,IAAI,MAAM,CAAC,sBAAsB;gBAAE,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;YAC/F,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY;oBAAE,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;gBAC7D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI;gBAAE,OAAO,SAAS,CAAC;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY;gBAAE,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC5D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3F,CAAC,EAAE,OAAO,CAAC,CAAC;QACZ,IAAI,KAAK;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,MAAkB,EAAE,SAAuB,EAAE,EAAE,KAAc,EAAE,SAAkB;QAChH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACvD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;YAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3D,IAAI,MAAM,CAAC,GAAG;gBAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YACtC,IAAI,MAAM,CAAC,sBAAsB;gBAAE,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;YAC/F,IAAI,MAAM,KAAK,WAAW;gBAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACpD,IAAI,MAAM,KAAK,WAAW;gBAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YACzD,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACtI,CAAC,CAAC,CAAC;QACH,IAAI,KAAK;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,GAAG,CAAC,EAAU;QAC1B,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,OAAO,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAClC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;oBAAE,OAAO,SAAS,CAAC;gBAC/C,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;oBAAC,IAAI,CAAC,KAAK,GAAG,uCAAuC,CAAC;oBAAC,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;oBAClH,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC1F,CAAC;gBACD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;gBACzB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAO;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC7F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK;gBAAE,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,EACzG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,yEAAyE,CAAC,CAAC;YAC1I,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC7F,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,MAAM,GAAG,KAAK,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC9E,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;oBAAE,SAAS,GAAG,IAAI,CAAC;gBACnD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;gBACtD,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5C,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;YACtC,MAAM,OAAO,CAAC;YACd,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC;YAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC9E,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC7E,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACjI,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC;YACH,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;oBAAE,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,0BAA0B,CAAC,CAAC;YACjJ,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9E,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ export * from "./types.js";
2
+ export * from "./sites.js";
3
+ export * from "./engine.js";
4
+ export * from "./server.js";
5
+ export * from "./client.js";
6
+ export { ensureChatRuntime } from "./managed.js";
7
+ export { saveRuntimeAccount, readRuntimeAccount, runtimeAccountsDirectory } from "./accounts.js";
@@ -0,0 +1,8 @@
1
+ export * from "./types.js";
2
+ export * from "./sites.js";
3
+ export * from "./engine.js";
4
+ export * from "./server.js";
5
+ export * from "./client.js";
6
+ export { ensureChatRuntime } from "./managed.js";
7
+ export { saveRuntimeAccount, readRuntimeAccount, runtimeAccountsDirectory } from "./accounts.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface ManagedRuntimeOptions {
2
+ directory?: string;
3
+ executablePath?: string;
4
+ channel?: string;
5
+ }
6
+ /** Start one detached daemon shared by Conductor fire processes. Never submit/retry a turn. */
7
+ export declare function ensureChatRuntime(options?: ManagedRuntimeOptions): Promise<string>;
@@ -0,0 +1,75 @@
1
+ import { runtimeProcessEnv } from "./process-env.js";
2
+ import fs from "node:fs";
3
+ import path from "node:path";
4
+ import { spawn } from "node:child_process";
5
+ import { createRequire } from "node:module";
6
+ import { fileURLToPath } from "node:url";
7
+ import { ChatRuntimeClient } from "./client.js";
8
+ import { runtimeDirectory, runtimeSocket } from "./server.js";
9
+ import { RuntimeError } from "./types.js";
10
+ const starting = new Map();
11
+ /** Start one detached daemon shared by Conductor fire processes. Never submit/retry a turn. */
12
+ export async function ensureChatRuntime(options = {}) {
13
+ const directory = options.directory ?? runtimeDirectory();
14
+ const socketPath = runtimeSocket(directory);
15
+ const client = new ChatRuntimeClient(socketPath, 1000);
16
+ const check = async () => {
17
+ const status = await client.call("runtime.status");
18
+ if (status.capabilities?.accountBootstrap !== true || status.capabilities?.queuedStartup !== true || status.capabilities?.durableResume !== true)
19
+ throw new RuntimeError("RUNTIME_UPGRADE_REQUIRED", "Chat runtime needs an upgrade. Stop it with conductor chat-web runtime stop, then retry; running chats are not stopped automatically");
20
+ return socketPath;
21
+ };
22
+ try {
23
+ return await check();
24
+ }
25
+ catch (error) {
26
+ if (!["ENOENT", "ECONNREFUSED"].includes(error.code ?? ""))
27
+ throw error;
28
+ }
29
+ const existing = starting.get(socketPath);
30
+ if (existing)
31
+ return existing;
32
+ const opening = (async () => {
33
+ fs.mkdirSync(directory, { recursive: true, mode: 0o700 });
34
+ fs.chmodSync(directory, 0o700);
35
+ const target = new URL("./daemon.js", import.meta.url);
36
+ const compiled = fs.existsSync(target);
37
+ const worker = fileURLToPath(compiled ? target : new URL("./daemon.ts", import.meta.url));
38
+ const args = compiled ? [] : ["--import", createRequire(import.meta.url).resolve("tsx")];
39
+ const log = path.join(directory, "daemon.log");
40
+ const fd = fs.openSync(log, "a", 0o600);
41
+ let launchError;
42
+ try {
43
+ const child = spawn(process.execPath, [...args, worker, JSON.stringify({ directory, socketPath, executablePath: options.executablePath, channel: options.channel })], {
44
+ detached: true, stdio: ["ignore", fd, fd], env: runtimeProcessEnv(),
45
+ });
46
+ child.on("error", error => { launchError = error; });
47
+ child.unref();
48
+ }
49
+ finally {
50
+ fs.closeSync(fd);
51
+ }
52
+ const deadline = Date.now() + 20_000;
53
+ while (Date.now() < deadline) {
54
+ if (launchError)
55
+ throw launchError;
56
+ try {
57
+ return await check();
58
+ }
59
+ catch (error) {
60
+ if (!["ENOENT", "ECONNREFUSED"].includes(error.code ?? ""))
61
+ throw error;
62
+ }
63
+ await new Promise(resolve => setTimeout(resolve, 100));
64
+ }
65
+ throw new RuntimeError("RUNTIME_START_FAILED", "Chat runtime did not start; inspect " + log);
66
+ })();
67
+ starting.set(socketPath, opening);
68
+ try {
69
+ return await opening;
70
+ }
71
+ finally {
72
+ starting.delete(socketPath);
73
+ }
74
+ }
75
+ //# sourceMappingURL=managed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed.js","sourceRoot":"","sources":["../../src/runtime/managed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ /** Shared runtimes and browser workers must not retain a fire task's identity. */
2
+ export declare function runtimeProcessEnv(source?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
@@ -0,0 +1,5 @@
1
+ /** Shared runtimes and browser workers must not retain a fire task's identity. */
2
+ export function runtimeProcessEnv(source = process.env) {
3
+ return Object.fromEntries(Object.entries(source).filter(([key]) => !/^CONDUCTOR_/i.test(key)));
4
+ }
5
+ //# sourceMappingURL=process-env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-env.js","sourceRoot":"","sources":["../../src/runtime/process-env.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,MAAM,UAAU,iBAAiB,CAAC,SAA4B,OAAO,CAAC,GAAG;IACvE,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjG,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Conversation, RuntimeState } from "./types.js";
2
+ export declare const retentionPolicy: Readonly<{
3
+ maxConversations: 256;
4
+ maxClosedConversations: 32;
5
+ maxTurns: 4096;
6
+ closedTtlMs: number;
7
+ openIdleTtlMs: number;
8
+ terminalTtlMs: number;
9
+ resultGraceMs: 60000;
10
+ }>;
11
+ /** Runs inside the store transaction. Never collect work owned by a live operation. */
12
+ export declare function pruneRuntimeState(state: RuntimeState, protectedChats: Set<string>, protectedTurns: Set<string>, reserve?: {
13
+ conversations?: number;
14
+ turns?: number;
15
+ }, now?: number): Conversation[];
@@ -0,0 +1,62 @@
1
+ import { isTerminal } from "./types.js";
2
+ const DAY = 86_400_000;
3
+ export const retentionPolicy = Object.freeze({
4
+ maxConversations: 256, maxClosedConversations: 32, maxTurns: 4096,
5
+ closedTtlMs: 7 * DAY, openIdleTtlMs: 7 * DAY, terminalTtlMs: 7 * DAY, resultGraceMs: 60_000,
6
+ });
7
+ const time = (value, fallback) => {
8
+ const parsed = Date.parse(value ?? "");
9
+ return Number.isFinite(parsed) ? parsed : fallback;
10
+ };
11
+ /** Runs inside the store transaction. Never collect work owned by a live operation. */
12
+ export function pruneRuntimeState(state, protectedChats, protectedTurns, reserve = {}, now = Date.now()) {
13
+ const removed = [];
14
+ const byChat = new Map();
15
+ for (const turn of Object.values(state.turns)) {
16
+ const turns = byChat.get(turn.conversationId) ?? [];
17
+ turns.push(turn);
18
+ byChat.set(turn.conversationId, turns);
19
+ }
20
+ const closed = Object.values(state.conversations).filter(chat => chat.closed && !chat.needsReview && !protectedChats.has(chat.id) &&
21
+ !(byChat.get(chat.id) ?? []).some(turn => !isTerminal(turn.status) || protectedTurns.has(turn.id)))
22
+ .sort((a, b) => time(a.closedAt, now) - time(b.closedAt, now));
23
+ let conversationCount = Object.keys(state.conversations).length;
24
+ let closedCount = closed.length;
25
+ for (const chat of closed) {
26
+ if (now - time(chat.closedAt, now) < retentionPolicy.closedTtlMs &&
27
+ closedCount <= retentionPolicy.maxClosedConversations && conversationCount + (reserve.conversations ?? 0) <= retentionPolicy.maxConversations)
28
+ continue;
29
+ delete state.conversations[chat.id];
30
+ for (const turn of byChat.get(chat.id) ?? [])
31
+ delete state.turns[turn.id];
32
+ removed.push(chat);
33
+ conversationCount--;
34
+ closedCount--;
35
+ }
36
+ for (const chat of Object.values(state.conversations)) {
37
+ if (chat.closed || chat.needsReview || protectedChats.has(chat.id) ||
38
+ now - time(chat.lastActivityAt, time(chat.createdAt, now)) < retentionPolicy.openIdleTtlMs ||
39
+ (byChat.get(chat.id) ?? []).some(turn => !isTerminal(turn.status) || protectedTurns.has(turn.id)))
40
+ continue;
41
+ delete state.conversations[chat.id];
42
+ for (const turn of byChat.get(chat.id) ?? [])
43
+ delete state.turns[turn.id];
44
+ removed.push(chat);
45
+ }
46
+ const candidates = Object.values(state.turns).filter(turn => isTerminal(turn.status) && (turn.status !== "uncertain" || !state.conversations[turn.conversationId]?.needsReview) && !protectedTurns.has(turn.id))
47
+ .map(turn => ({ turn, finished: time(turn.events.at(-1)?.at, time(turn.createdAt, now)) }))
48
+ .filter(entry => now - entry.finished >= retentionPolicy.resultGraceMs)
49
+ .sort((a, b) => a.finished - b.finished);
50
+ let turnCount = Object.keys(state.turns).length;
51
+ // Drop a batch under pressure rather than running into the limit after every turn.
52
+ const pressured = turnCount + (reserve.turns ?? 0) > retentionPolicy.maxTurns;
53
+ const target = pressured ? Math.floor(retentionPolicy.maxTurns * 0.75) : retentionPolicy.maxTurns;
54
+ for (const { turn, finished } of candidates) {
55
+ if (now - finished < retentionPolicy.terminalTtlMs && turnCount + (reserve.turns ?? 0) <= target)
56
+ continue;
57
+ delete state.turns[turn.id];
58
+ turnCount--;
59
+ }
60
+ return removed;
61
+ }
62
+ //# sourceMappingURL=retention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retention.js","sourceRoot":"","sources":["../../src/runtime/retention.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { ChatRuntime, type RuntimeOptions } from "./engine.js";
2
+ export declare function runtimeDirectory(): string;
3
+ export declare function runtimeSocket(directory?: string): string;
4
+ export declare function startRuntimeServer(options: RuntimeOptions & {
5
+ socketPath?: string;
6
+ }): Promise<{
7
+ runtime: ChatRuntime;
8
+ socketPath: string;
9
+ close: () => Promise<void>;
10
+ closed: Promise<void>;
11
+ readonly lastActivity: number;
12
+ }>;
@@ -0,0 +1,246 @@
1
+ import http from "node:http";
2
+ import net from "node:net";
3
+ import fs from "node:fs/promises";
4
+ import path from "node:path";
5
+ import { randomUUID, createHash } from "node:crypto";
6
+ import { rootDir } from "../core/paths.js";
7
+ import { ChatRuntime } from "./engine.js";
8
+ import { isTerminal, RuntimeError } from "./types.js";
9
+ export function runtimeDirectory() { return path.join(rootDir(), "runtime"); }
10
+ export function runtimeSocket(directory = runtimeDirectory()) {
11
+ return process.env.CHAT_WEB_RUNTIME_SOCKET ?? (process.platform === "win32"
12
+ ? "\\\\.\\pipe\\chat-web-" + createHash("sha256").update(directory).digest("hex").slice(0, 16)
13
+ : path.join(directory, "runtime.sock"));
14
+ }
15
+ async function acquireLock(directory) {
16
+ await fs.mkdir(directory, { recursive: true, mode: 0o700 });
17
+ await fs.chmod(directory, 0o700);
18
+ const file = path.join(directory, "runtime.lock");
19
+ const token = randomUUID();
20
+ for (let attempt = 0; attempt < 2; attempt++) {
21
+ try {
22
+ const handle = await fs.open(file, "wx", 0o600);
23
+ try {
24
+ await handle.writeFile(JSON.stringify({ pid: process.pid, token }));
25
+ }
26
+ finally {
27
+ await handle.close();
28
+ }
29
+ return async () => {
30
+ const owner = JSON.parse(await fs.readFile(file, "utf8").catch(() => "{}"));
31
+ if (owner.token === token)
32
+ await fs.unlink(file);
33
+ };
34
+ }
35
+ catch (error) {
36
+ if (error.code !== "EEXIST")
37
+ throw error;
38
+ const owner = JSON.parse(await fs.readFile(file, "utf8").catch(() => "{}"));
39
+ if (!Number.isInteger(owner.pid))
40
+ throw new RuntimeError("RUNTIME_LOCKED", "Runtime lock is incomplete; inspect it before restarting");
41
+ try {
42
+ process.kill(owner.pid, 0);
43
+ }
44
+ catch (error) {
45
+ if (error.code === "ESRCH") {
46
+ await fs.unlink(file);
47
+ continue;
48
+ }
49
+ throw error;
50
+ }
51
+ throw new RuntimeError("RUNTIME_LOCKED", "Another runtime owns this state directory");
52
+ }
53
+ }
54
+ throw new RuntimeError("RUNTIME_LOCKED", "Unable to acquire runtime ownership");
55
+ }
56
+ export async function startRuntimeServer(options) {
57
+ const socketPath = options.socketPath ?? runtimeSocket(options.directory);
58
+ const unlock = await acquireLock(options.directory);
59
+ let runtime;
60
+ let stop;
61
+ let lastActivity = Date.now();
62
+ let resolveClosed;
63
+ const closed = new Promise((resolve) => { resolveClosed = resolve; });
64
+ const server = http.createServer((request, response) => {
65
+ void handle(request, response).catch((error) => {
66
+ if (response.headersSent) {
67
+ response.destroy();
68
+ return;
69
+ }
70
+ response.writeHead(400, { "content-type": "application/json" });
71
+ response.end(JSON.stringify({ error: { code: error.code ?? "INVALID_REQUEST", message: String(error.message ?? error).slice(0, 1000) } }));
72
+ });
73
+ });
74
+ const close = () => stop ??= (async () => {
75
+ try {
76
+ await runtime?.shutdown();
77
+ }
78
+ finally {
79
+ try {
80
+ server.closeAllConnections();
81
+ await new Promise((resolve) => server.close(() => resolve()));
82
+ if (process.platform !== "win32")
83
+ await fs.unlink(socketPath).catch(() => undefined);
84
+ }
85
+ finally {
86
+ await unlock();
87
+ resolveClosed();
88
+ }
89
+ }
90
+ })();
91
+ async function handle(request, response) {
92
+ lastActivity = Date.now();
93
+ const api = runtime;
94
+ const url = new URL(request.url ?? "/", "http://localhost");
95
+ if (request.method === "GET" && url.pathname === "/events") {
96
+ const id = url.searchParams.get("turnId") ?? "";
97
+ const after = Number(url.searchParams.get("after") ?? 0);
98
+ const history = api.history(id, after);
99
+ const turn = api.getTurn(id);
100
+ if (after > (turn.events.at(-1)?.seq ?? 0))
101
+ throw new RuntimeError("INVALID_PARAMS", "Sequence is ahead of this turn");
102
+ response.writeHead(200, { "content-type": "application/x-ndjson", "cache-control": "no-store" });
103
+ let last = after;
104
+ let queuedBytes = 0;
105
+ let output = Promise.resolve();
106
+ let unsubscribe = () => { };
107
+ const write = (event) => {
108
+ if (event.seq <= last || response.destroyed || response.writableEnded)
109
+ return;
110
+ last = event.seq;
111
+ const line = JSON.stringify(event) + "\n";
112
+ queuedBytes += Buffer.byteLength(line);
113
+ if (queuedBytes > 4_000_000) {
114
+ response.destroy();
115
+ return;
116
+ }
117
+ output = output.then(async () => {
118
+ if (response.destroyed || response.writableEnded)
119
+ return;
120
+ if (!response.write(line))
121
+ await new Promise((resolve) => {
122
+ const done = () => { response.off("drain", done); response.off("close", done); resolve(); };
123
+ response.once("drain", done);
124
+ response.once("close", done);
125
+ });
126
+ if (isTerminal(event.type)) {
127
+ unsubscribe();
128
+ response.end();
129
+ }
130
+ }).finally(() => { queuedBytes -= Buffer.byteLength(line); });
131
+ void output.catch(() => response.destroy());
132
+ };
133
+ unsubscribe = api.subscribe(id, write);
134
+ response.on("close", () => unsubscribe());
135
+ for (const event of history)
136
+ write(event);
137
+ if (isTerminal(turn.status)) {
138
+ unsubscribe();
139
+ void output.then(() => response.end());
140
+ }
141
+ return;
142
+ }
143
+ if (request.method !== "POST" || url.pathname !== "/rpc") {
144
+ response.writeHead(404);
145
+ response.end();
146
+ return;
147
+ }
148
+ let body = "";
149
+ request.setEncoding("utf8");
150
+ for await (const chunk of request) {
151
+ body += chunk.toString("utf8");
152
+ if (Buffer.byteLength(body) > 1_000_000)
153
+ throw new RuntimeError("INVALID_REQUEST", "Request body exceeds limit");
154
+ }
155
+ const input = JSON.parse(body);
156
+ if (input.jsonrpc !== "2.0" || typeof input.method !== "string" || (input.params !== undefined &&
157
+ (!input.params || typeof input.params !== "object" || Array.isArray(input.params))))
158
+ throw new RuntimeError("INVALID_REQUEST", "Invalid JSON RPC request");
159
+ const params = input.params ?? {};
160
+ let result;
161
+ try {
162
+ switch (input.method) {
163
+ case "runtime.status":
164
+ result = api.status();
165
+ break;
166
+ case "runtime.stop":
167
+ result = { stopping: true };
168
+ break;
169
+ case "conversations.create":
170
+ result = await api.create(params);
171
+ break;
172
+ case "conversations.list":
173
+ result = api.list();
174
+ break;
175
+ case "conversations.get":
176
+ result = api.get(params.id);
177
+ break;
178
+ case "conversations.resume":
179
+ result = await api.resume(params.id, params);
180
+ break;
181
+ case "conversations.close":
182
+ result = await api.closeConversation(params.id);
183
+ break;
184
+ case "turns.create":
185
+ result = await api.submit(params);
186
+ break;
187
+ case "turns.get":
188
+ result = api.getTurn(params.id);
189
+ break;
190
+ case "turns.cancel":
191
+ result = await api.cancel(params.id);
192
+ break;
193
+ default: throw new RuntimeError("METHOD_NOT_FOUND", "Unknown runtime method");
194
+ }
195
+ if (result && typeof result === "object" && "events" in result)
196
+ result = { ...result, events: undefined };
197
+ response.writeHead(200, { "content-type": "application/json", "cache-control": "no-store" });
198
+ response.end(JSON.stringify({ jsonrpc: "2.0", id: input.id, result }));
199
+ if (input.method === "runtime.stop")
200
+ setImmediate(() => { void close().catch(() => server.closeAllConnections()); });
201
+ }
202
+ catch (error) {
203
+ response.writeHead(200, { "content-type": "application/json", "cache-control": "no-store" });
204
+ response.end(JSON.stringify({ jsonrpc: "2.0", id: input.id,
205
+ error: { code: error.code === "METHOD_NOT_FOUND" ? -32601 : error.code === "INVALID_PARAMS" ? -32602 : -32000,
206
+ message: String(error.message ?? error).slice(0, 1000), data: { reason: error.code ?? "RUNTIME_ERROR" } } }));
207
+ }
208
+ }
209
+ try {
210
+ if (process.platform !== "win32") {
211
+ await fs.mkdir(path.dirname(socketPath), { recursive: true, mode: 0o700 });
212
+ const existing = await fs.lstat(socketPath).catch((error) => {
213
+ if (error.code !== "ENOENT")
214
+ throw error;
215
+ return undefined;
216
+ });
217
+ if (existing) {
218
+ if (!existing.isSocket())
219
+ throw new RuntimeError("SOCKET_EXISTS", "Socket path is occupied by a regular file");
220
+ const active = await new Promise((resolve) => {
221
+ const socket = net.createConnection(socketPath);
222
+ socket.once("connect", () => { socket.destroy(); resolve(true); });
223
+ socket.once("error", () => resolve(false));
224
+ socket.setTimeout(1000, () => { socket.destroy(); resolve(true); });
225
+ });
226
+ if (active)
227
+ throw new RuntimeError("RUNTIME_LOCKED", "Socket already has a listener");
228
+ await fs.unlink(socketPath);
229
+ }
230
+ }
231
+ runtime = await ChatRuntime.open(options);
232
+ await new Promise((resolve, reject) => {
233
+ server.once("error", reject);
234
+ server.listen(socketPath, () => { server.off("error", reject); resolve(); });
235
+ });
236
+ if (process.platform !== "win32")
237
+ await fs.chmod(socketPath, 0o600);
238
+ return { runtime, socketPath, close, closed, get lastActivity() { return lastActivity; } };
239
+ }
240
+ catch (error) {
241
+ await runtime?.shutdown();
242
+ await unlock();
243
+ throw error;
244
+ }
245
+ }
246
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/runtime/server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAuB,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAmC,MAAM,YAAY,CAAC;AAEvF,MAAM,UAAU,gBAAgB,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AACtF,MAAM,UAAU,aAAa,CAAC,SAAS,GAAG,gBAAgB,EAAE;IAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;QACzE,CAAC,CAAC,wBAAwB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC9F,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,SAAiB;IAC1C,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC;oBAAS,CAAC;gBAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YAC9G,OAAO,KAAK,IAAI,EAAE;gBAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5E,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK;oBAAE,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;YACpE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,0DAA0D,CAAC,CAAC;YACvI,IAAI,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC;YACnC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAK,KAA+B,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAC3F,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,2CAA2C,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IACD,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,qCAAqC,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAiD;IACxF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,OAAgC,CAAC;IACrC,IAAI,IAA+B,CAAC;IACpC,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC9B,IAAI,aAA0B,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;QACrD,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7C,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YACzD,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAChE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7I,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,GAAkB,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE;QACtD,IAAI,CAAC;YAAC,MAAM,OAAO,EAAE,QAAQ,EAAE,CAAC;QAAC,CAAC;gBAC1B,CAAC;YACP,IAAI,CAAC;gBACH,MAAM,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACpE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;oBAAE,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACvF,CAAC;oBAAS,CAAC;gBAAC,MAAM,MAAM,EAAE,CAAC;gBAAC,aAAa,EAAE,CAAC;YAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,KAAK,UAAU,MAAM,CAAC,OAA6B,EAAE,QAA6B;QAChF,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,OAAQ,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;QAC5D,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3D,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;gBAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,gCAAgC,CAAC,CAAC;YACvH,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,sBAAsB,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;YACjG,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,CAAC,KAAgB,EAAE,EAAE;gBACjC,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,aAAa;oBAAE,OAAO;gBAC9E,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;gBACjB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;gBAC1C,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,WAAW,GAAG,SAAS,EAAE,CAAC;oBAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAC5D,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;oBAC9B,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,aAAa;wBAAE,OAAO;oBACzD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;wBAAE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;4BAC7D,MAAM,IAAI,GAAG,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;4BAC5F,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;4BAC7B,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;wBAC/B,CAAC,CAAC,CAAC;oBACH,IAAI,UAAU,CAAC,KAAK,CAAC,IAAkB,CAAC,EAAE,CAAC;wBAAC,WAAW,EAAE,CAAC;wBAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;oBAAC,CAAC;gBAC9E,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9D,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9C,CAAC,CAAC;YACF,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACvC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1C,KAAK,MAAM,KAAK,IAAI,OAAO;gBAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAC,WAAW,EAAE,CAAC;gBAAC,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;YAAC,CAAC;YACvF,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACzD,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAAC,OAAO;QAClD,CAAC;QACD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAClC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS;gBAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,4BAA4B,CAAC,CAAC;QACnH,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;YAC5F,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,CAAC;QAC7J,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QAClC,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;gBACrB,KAAK,gBAAgB;oBAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;oBAAC,MAAM;gBACpD,KAAK,cAAc;oBAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oBAAC,MAAM;gBACxD,KAAK,sBAAsB;oBAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAAC,MAAM;gBACtE,KAAK,oBAAoB;oBAAE,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;oBAAC,MAAM;gBACtD,KAAK,mBAAmB;oBAAE,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAAC,MAAM;gBAC7D,KAAK,sBAAsB;oBAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBAAC,MAAM;gBACjF,KAAK,qBAAqB;oBAAE,MAAM,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAAC,MAAM;gBACnF,KAAK,cAAc;oBAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAAC,MAAM;gBAC9D,KAAK,WAAW;oBAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAAC,MAAM;gBACzD,KAAK,cAAc;oBAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAAC,MAAM;gBACjE,OAAO,CAAC,CAAC,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,QAAQ,IAAI,MAAM;gBAAE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YAC1G,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;YAC7F,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACvE,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc;gBAAE,YAAY,CAAC,GAAG,EAAE,GAAG,KAAK,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;YAC7F,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE;gBACxD,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;oBAC3G,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACpH,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3E,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,KAAK,CAAC;gBACzC,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC,CAAC;YACH,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;oBAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,2CAA2C,CAAC,CAAC;gBAC/G,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;oBACpD,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;oBAChD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC3C,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtE,CAAC,CAAC,CAAC;gBACH,IAAI,MAAM;oBAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,+BAA+B,CAAC,CAAC;gBACtF,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;YAAE,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACpE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,YAAY,KAAK,OAAO,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC1B,MAAM,MAAM,EAAE,CAAC;QACf,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { SiteDefinition } from "./types.js";
2
+ export declare const runtimeSites: SiteDefinition[];
@@ -0,0 +1,40 @@
1
+ export const runtimeSites = [
2
+ {
3
+ name: "chatgpt", homeUrl: "https://chatgpt.com/",
4
+ input: '#prompt-textarea[contenteditable="true"], #prompt-textarea',
5
+ send: 'button[data-testid="send-button"], button[aria-label="Send prompt"], button#composer-submit-button',
6
+ assistant: '[data-message-author-role="assistant"]',
7
+ stop: 'button[data-testid="stop-button"], button[aria-label*="Stop generating" i], button[aria-label="Stop streaming"]',
8
+ conversationPath: "/c/([^/?#]+)", conversationUrl: "https://chatgpt.com/c/",
9
+ streamPath: "/backend-api/(?:[^/]+/)*conversation(?:\\?|$)",
10
+ format: "chatgpt",
11
+ },
12
+ {
13
+ name: "deepseek", homeUrl: "https://chat.deepseek.com/",
14
+ deepThink: '.ds-toggle-button:has-text("DeepThink"), .ds-toggle-button:has-text("深度思考"), button[aria-label="DeepThink"], [role="switch"][aria-label="DeepThink"]',
15
+ input: "textarea", send: 'button[aria-label*="send" i], button[aria-label*="发送"]',
16
+ assistant: ".ds-markdown", stop: '[role="button"][aria-label*="stop" i], button[aria-label*="停止"], button[aria-label*="stop" i], [role="button"].ds-button--circle:has(svg path[d^="M2 4.88"])',
17
+ conversationPath: "/(?:a/chat/s|chat)/([^/?#]+)", conversationUrl: "https://chat.deepseek.com/a/chat/s/",
18
+ streamPath: "/api/v[0-9]+/chat/completion(?:\\?|$)", format: "deepseek",
19
+ },
20
+ {
21
+ name: "kimi", homeUrl: "https://www.kimi.com/",
22
+ authenticated: '[data-testid="sidebar-user-menu-trigger"], .user-profile-trigger',
23
+ input: '[contenteditable="true"][role="textbox"], .chat-input-editor[contenteditable="true"], textarea',
24
+ send: 'button[aria-label*="send" i], button[aria-label*="发送"], .send-button, .send-button-container:not(.stop):not(.disabled)',
25
+ assistant: ".segment-assistant .markdown:not(.toolcall-container .markdown):not(.thinking-container .markdown), [data-role=assistant]",
26
+ stop: 'button[aria-label*="stop" i], button[aria-label*="停止"], .stop-button, .send-button-container.stop',
27
+ conversationPath: "/chat/([^/?#]+)", conversationUrl: "https://www.kimi.com/chat/",
28
+ streamPath: "/(?:api/chat/[^/]+/completion/stream|apiv2/kimi\\.gateway\\.chat\\.v1\\.ChatService/Chat)(?:\\?|$)", format: "kimi", experimental: true,
29
+ },
30
+ {
31
+ name: "claude", homeUrl: "https://claude.ai/new",
32
+ input: '[contenteditable="true"].ProseMirror, [contenteditable="true"][role="textbox"]',
33
+ send: 'button[aria-label="Send message"], button[aria-label="Send Message"]',
34
+ assistant: '[data-is-streaming] .font-claude-message, .font-claude-message',
35
+ stop: 'button[aria-label*="Stop" i]',
36
+ conversationPath: "/chat/([^/?#]+)",
37
+ streamPath: "/api/organizations/[^/]+/chat_conversations/[^/]+/completion", format: "claude", experimental: true,
38
+ },
39
+ ];
40
+ //# sourceMappingURL=sites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sites.js","sourceRoot":"","sources":["../../src/runtime/sites.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAqB;IAC5C;QACE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAsB;QAChD,KAAK,EAAE,4DAA4D;QACnE,IAAI,EAAE,oGAAoG;QAC1G,SAAS,EAAE,wCAAwC;QACnD,IAAI,EAAE,iHAAiH;QACvH,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,wBAAwB;QAC3E,UAAU,EAAE,+CAA+C;QAC3D,MAAM,EAAE,SAAS;KAClB;IACD;QACE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,4BAA4B;QACvD,SAAS,EAAE,sJAAsJ;QACjK,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,wDAAwD;QACjF,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,8JAA8J;QAC/L,gBAAgB,EAAE,8BAA8B,EAAE,eAAe,EAAE,qCAAqC;QACxG,UAAU,EAAE,uCAAuC,EAAE,MAAM,EAAE,UAAU;KACxE;IACD;QACE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB;QAC9C,aAAa,EAAE,kEAAkE;QACjF,KAAK,EAAE,gGAAgG;QACvG,IAAI,EAAE,wHAAwH;QAC9H,SAAS,EAAE,2HAA2H;QACtI,IAAI,EAAE,mGAAmG;QACzG,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,4BAA4B;QAClF,UAAU,EAAE,oGAAoG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI;KACrJ;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,uBAAuB;QAChD,KAAK,EAAE,gFAAgF;QACvF,IAAI,EAAE,sEAAsE;QAC5E,SAAS,EAAE,gEAAgE;QAC3E,IAAI,EAAE,8BAA8B;QACpC,gBAAgB,EAAE,iBAAiB;QACnC,UAAU,EAAE,8DAA8D,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI;KACjH;CACF,CAAC"}