dsh-multi-chat 0.6.7 → 1.0.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 (63) hide show
  1. package/README.md +20 -21
  2. package/README.zh.md +20 -21
  3. package/bin/dsh-multi-chat.mjs +5 -9
  4. package/lib/client.js +778 -0
  5. package/lib/client.js.map +1 -0
  6. package/{plugin/dsh-client-ui-multi-wall/lib → lib}/index.js +57 -69
  7. package/lib/tsconfig.tsbuildinfo +1 -0
  8. package/{plugin/dsh-client-ui-multi-wall/lib → lib}/types/client/WallToggle.d.ts +1 -1
  9. package/lib/types/client/WallToggle.d.ts.map +1 -0
  10. package/lib/types/client/WallToggle.js +36 -0
  11. package/lib/types/client/WallToggle.js.map +1 -0
  12. package/{plugin/dsh-client-ui-multi-wall/lib → lib}/types/client/WallView.d.ts +1 -1
  13. package/lib/types/client/WallView.d.ts.map +1 -0
  14. package/lib/types/client/WallView.js +218 -0
  15. package/lib/types/client/WallView.js.map +1 -0
  16. package/lib/types/client/index.d.ts.map +1 -0
  17. package/lib/types/client/index.js +59 -0
  18. package/lib/types/client/index.js.map +1 -0
  19. package/lib/types/client/locales.d.ts.map +1 -0
  20. package/lib/types/client/locales.js +96 -0
  21. package/lib/types/client/locales.js.map +1 -0
  22. package/lib/types/client/store.d.ts.map +1 -0
  23. package/lib/types/client/store.js +27 -0
  24. package/lib/types/client/store.js.map +1 -0
  25. package/lib/types/client/wall-injected.d.ts.map +1 -0
  26. package/lib/types/client/wall-injected.js +76 -0
  27. package/lib/types/client/wall-injected.js.map +1 -0
  28. package/lib/types/gateway.d.ts +57 -0
  29. package/lib/types/gateway.d.ts.map +1 -0
  30. package/lib/types/gateway.js +566 -0
  31. package/lib/types/gateway.js.map +1 -0
  32. package/{plugin/dsh-client-ui-multi-wall/lib → lib}/types/index.d.ts +1 -16
  33. package/lib/types/index.d.ts.map +1 -0
  34. package/lib/types/index.js +550 -0
  35. package/lib/types/index.js.map +1 -0
  36. package/lib/types/invariant.d.ts.map +1 -0
  37. package/lib/types/invariant.js +26 -0
  38. package/lib/types/invariant.js.map +1 -0
  39. package/package.json +31 -17
  40. package/scripts/install-plugin.ps1 +6 -9
  41. package/src/client/WallToggle.module.css +26 -0
  42. package/src/client/WallToggle.tsx +52 -0
  43. package/src/client/WallView.module.css +190 -0
  44. package/src/client/WallView.tsx +406 -0
  45. package/src/client/index.ts +103 -0
  46. package/src/client/locales.ts +100 -0
  47. package/src/client/store.ts +40 -0
  48. package/src/client/wall-injected.ts +123 -0
  49. package/src/css-modules.d.ts +5 -0
  50. package/src/gateway.ts +627 -0
  51. package/src/index.ts +618 -0
  52. package/src/invariant.ts +34 -0
  53. package/plugin/dsh-client-ui-multi-wall/README.md +0 -26
  54. package/plugin/dsh-client-ui-multi-wall/README.zh.md +0 -26
  55. package/plugin/dsh-client-ui-multi-wall/cordis.patch.yml +0 -7
  56. package/plugin/dsh-client-ui-multi-wall/lib/client.js +0 -781
  57. package/plugin/dsh-client-ui-multi-wall/lib/invariant.js +0 -27
  58. package/plugin/dsh-client-ui-multi-wall/package.json +0 -88
  59. /package/{plugin/dsh-client-ui-multi-wall/lib → lib}/types/client/index.d.ts +0 -0
  60. /package/{plugin/dsh-client-ui-multi-wall/lib → lib}/types/client/locales.d.ts +0 -0
  61. /package/{plugin/dsh-client-ui-multi-wall/lib → lib}/types/client/store.d.ts +0 -0
  62. /package/{plugin/dsh-client-ui-multi-wall/lib → lib}/types/client/wall-injected.d.ts +0 -0
  63. /package/{plugin/dsh-client-ui-multi-wall/lib → lib}/types/invariant.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.es2024.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.es2023.intl.d.ts","../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2024.collection.d.ts","../node_modules/typescript/lib/lib.es2024.object.d.ts","../node_modules/typescript/lib/lib.es2024.promise.d.ts","../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2024.string.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.float16.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/typescript/lib/lib.es2024.full.d.ts","../src/css-modules.d.ts","../src/gateway.ts","../src/index.ts","../src/invariant.ts","../src/client/locales.ts","../src/client/store.ts","../src/client/wall-injected.ts","../node_modules/clsx/clsx.d.mts","../src/client/wallview.tsx","../src/client/walltoggle.tsx","../src/client/index.ts","../node_modules/@types/node/globals.typedarray.d.ts","../node_modules/@types/node/buffer.buffer.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/web-globals/abortcontroller.d.ts","../node_modules/@types/node/web-globals/blob.d.ts","../node_modules/@types/node/web-globals/console.d.ts","../node_modules/@types/node/web-globals/crypto.d.ts","../node_modules/@types/node/web-globals/domexception.d.ts","../node_modules/@types/node/web-globals/encoding.d.ts","../node_modules/@types/node/web-globals/events.d.ts","../node_modules/undici-types/utility.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client-stats.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/round-robin-pool.d.ts","../node_modules/undici-types/h2c-client.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/dispatcher1-wrapper.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-call-history.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/snapshot-agent.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/socks5-proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cache-interceptor.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/web-globals/fetch.d.ts","../node_modules/@types/node/web-globals/importmeta.d.ts","../node_modules/@types/node/web-globals/messaging.d.ts","../node_modules/@types/node/web-globals/navigator.d.ts","../node_modules/@types/node/web-globals/performance.d.ts","../node_modules/@types/node/web-globals/storage.d.ts","../node_modules/@types/node/web-globals/streams.d.ts","../node_modules/@types/node/web-globals/timers.d.ts","../node_modules/@types/node/web-globals/url.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/ffi.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/inspector.generated.d.ts","../node_modules/@types/node/inspector/promises.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/path/posix.d.ts","../node_modules/@types/node/path/win32.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/quic.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/sqlite.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/iter.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/test/reporters.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/util/types.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/zlib/iter.d.ts","../node_modules/@types/node/index.d.ts"],"fileIdsList":[[90,152,153,155,163,168,171,173,174,175,187],[90,154,155,163,168,171,173,174,175,187],[155,163,168,171,173,174,175,187],[90,155,163,168,171,173,174,175,187,196],[90,155,156,161,163,166,168,171,173,174,175,177,187,192,205],[90,155,156,157,163,166,168,171,173,174,175,187],[90,155,158,163,168,171,173,174,175,187,206],[90,155,159,160,163,168,171,173,174,175,178,187],[90,155,160,163,168,171,173,174,175,187,192,202],[90,155,161,163,166,168,171,173,174,175,177,187],[90,154,155,162,163,168,171,173,174,175,187],[90,155,163,164,168,171,173,174,175,187],[90,155,163,165,166,168,171,173,174,175,187],[90,154,155,163,166,168,171,173,174,175,187],[90,155,163,168,171,173,174,175,187],[90,155,163,166,168,169,171,173,174,175,187,192,205],[90,155,163,166,168,169,171,173,174,175,187,192,194,196],[90,142,155,163,166,168,170,171,173,174,175,177,187,192,205],[90,155,163,166,168,170,171,173,174,175,177,187,192,202,205],[90,155,163,168,170,171,172,173,174,175,187,192,202,205],[89,90,91,92,93,94,95,96,97,98,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213],[90,155,163,166,168,171,173,174,175,187],[90,155,163,168,171,173,175,187],[90,155,163,168,171,173,174,175,176,187,205],[90,155,163,166,168,171,173,174,175,177,187,192],[90,155,163,168,171,173,174,175,178,187],[90,155,163,168,171,173,174,175,179,187],[90,155,163,166,168,171,173,174,175,182,187],[90,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212],[90,155,163,168,171,173,174,175,184,187],[90,155,163,168,171,173,174,175,185,187],[90,155,160,163,168,169,171,173,174,175,177,187,194,202],[90,155,163,166,168,171,173,174,175,187,188],[90,155,163,168,171,173,174,175,187,189,206,209],[90,155,163,166,168,171,173,174,175,187,192,194,195,196],[90,155,163,168,171,173,174,175,187,193,196],[90,155,163,166,168,171,173,174,175,187,192,194],[90,155,163,166,168,171,173,174,175,187,192,195,196],[90,155,163,168,171,173,174,175,187,196,206],[90,155,163,168,171,173,174,175,187,197],[90,152,155,163,168,171,173,174,175,187,192,199,205],[90,155,163,168,171,173,174,175,187,192,198],[90,155,163,166,168,171,173,174,175,187,200,201],[90,155,163,168,171,173,174,175,187,200,201],[90,155,160,163,168,171,173,174,175,177,187,192,202],[90,155,163,168,171,173,174,175,187,203],[90,155,163,168,171,173,174,175,177,187,204],[90,155,163,168,170,171,173,174,175,185,187,205],[90,155,163,168,171,173,174,175,187,206,207],[90,155,160,163,168,171,173,174,175,187,207],[90,155,163,168,171,173,174,175,187,192,208],[90,155,163,168,171,173,174,175,176,187,209],[90,155,163,168,171,173,174,175,187,210],[90,155,158,163,168,171,173,174,175,187],[90,155,160,163,168,171,173,174,175,187],[90,155,163,168,171,173,174,175,187,206],[90,142,155,163,168,171,173,174,175,187],[90,155,163,168,171,173,174,175,187,205],[90,155,163,168,171,173,174,175,187,211],[90,155,163,168,171,173,174,175,182,187],[90,155,163,168,171,173,174,175,187,201],[90,142,155,163,166,168,169,171,173,174,175,182,187,192,196,205,208,209,211],[90,155,163,168,171,173,174,175,187,192,212],[90,155,163,168,171,173,174,175,187,194,213],[90,105,108,111,112,155,163,168,171,173,174,175,187,205],[90,108,155,163,168,171,173,174,175,187,192,205],[90,108,112,155,163,168,171,173,174,175,187,205],[90,155,163,168,171,173,174,175,187,192],[90,102,155,163,168,171,173,174,175,187],[90,106,155,163,168,171,173,174,175,187],[90,104,105,108,155,163,168,171,173,174,175,187,205],[90,155,163,168,171,173,174,175,177,187,202],[90,155,163,168,171,173,174,175,187,214],[90,102,155,163,168,171,173,174,175,187,214],[90,104,108,155,163,168,171,173,174,175,177,187,205],[90,99,100,101,103,107,155,163,166,168,171,173,174,175,187,192,205],[90,108,155,163,168,171,173,174,175,187],[90,108,117,126,155,163,168,171,173,174,175,187],[90,100,106,155,163,168,171,173,174,175,187],[90,108,136,137,155,163,168,171,173,174,175,187],[90,100,103,108,155,163,168,171,173,174,175,187,196,205,214],[90,104,108,155,163,168,171,173,174,175,187,205],[90,99,155,163,168,171,173,174,175,187],[90,102,103,104,106,107,108,109,110,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,137,138,139,140,141,155,163,168,171,173,174,175,187],[90,108,129,132,155,163,168,171,173,174,175,187],[90,108,117,119,120,155,163,168,171,173,174,175,187],[90,106,108,119,121,155,163,168,171,173,174,175,187],[90,107,155,163,168,171,173,174,175,187],[90,100,102,108,155,163,168,171,173,174,175,187],[90,108,112,119,121,155,163,168,171,173,174,175,187],[90,112,155,163,168,171,173,174,175,187],[90,106,108,111,155,163,168,171,173,174,175,187,205],[90,100,104,108,117,155,163,168,171,173,174,175,187],[90,108,129,155,163,168,171,173,174,175,187],[90,121,155,163,168,171,173,174,175,187],[90,100,104,108,112,155,163,168,171,173,174,175,187],[90,102,108,136,155,163,168,171,173,174,175,187,196,211,214],[82,83,84,86,87,90,155,163,168,171,173,174,175,187],[78,90,155,163,168,171,173,174,175,187],[78,83,84,85,90,155,163,168,171,173,174,175,187],[90,155,160,163,168,171,173,174,175,177,187],[79,90,155,156,160,163,168,170,171,173,174,175,178,187]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3e9cef4eed59f8a2249ed834ba4aabe9d0d4e9037d4679487fa17dad99004a3","impliedFormat":1},"8d93a931f827643920f7f599cca107cbd214b6b5138cc7f941cd8fe2b54f81ea",{"version":"5f397ed7b5a811fa4714b4152c7f6cc4d6eb54dcf4efdaf7db88897732390e27","signature":"f8ebb64c99ef7172c9daee19ae892b5528056bdacc8e400b836107242fb227a4"},{"version":"01c988b630303bc644e573e5f13a76d1ef4136e9aba683c4799beadd33a6ff84","signature":"250a8e0fe15df1822273d9f53b88935c3ec00ebefb15502b6457d1e0a4a05c1a"},{"version":"b7e88b4086554877bb26267dda6bc6317d819165052ad4285c3687e124b81dfd","signature":"acf8a1d3b7892931ab742a683646f0ca355432621f2afed8de14fd74df25e07b"},{"version":"68265109e62c86b917811de6f94e78dce6e593e990923dda75d5e59dede53bd5","signature":"72c2889d709f76e0714ba155cf231f82be3095f58a8ef7371300c07d98f6ecc0"},{"version":"092b0f7041c0d2c13890fcb80134d8640936f522cb7463042c7dd573b6bf70d7","signature":"62df5751f47b3704809647e4c1147979f34b52beb64f293ff3e2c9dc75527ee7"},{"version":"337dc87bc137047e4a6fc088f6ee7220c9147b5b50ed3e5b3d6dbf2272282810","signature":"25395f0d33608c4bd585d2e7dfab8ec558ea42d46bc039488eb35f10efe3083a"},{"version":"c57b441e0c0a9cbdfa7d850dae1f8a387d6f81cbffbc3cd0465d530084c2417d","impliedFormat":99},{"version":"624d7f26de3bf5837ff890fdf9412fd1f898a9b3e6bf4701f1b96937111bd129","signature":"2a08dd679296f63d29d2539b728bbe7f7bc76e3ea3979aeba60f058dde7a52b6"},{"version":"299a578bbb7659826d2c1da5730c563d7e4e850a0cec755a9aa77e231baff5ed","signature":"9f15764da3ff4ef9d32eb4b94f3f8aa4e8fb2145c5f3e1fe7e68fa20a5cab6a8"},{"version":"3785d112f7dee87a3e1d1aa6b3952ccd372f6eb68243f671c2ba8d276154ea52","signature":"7dc01666e6b70d4c06b287e5a1904476c3dea6760fbd863134e6041e7b8b30e9"},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"f53a7652392cf26ebbe4e29fd0672aa87c93bd6d0241289c13fab87b9ac35c8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"b00a630557d1622ad312633bdbfbdb9c6b7220d948dca9f899db30679f160074","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"88809d6c1b9c78d04a133646a6feb926def05a8774c308c7c93bc32ee163d271","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"3ac40516c33b87f751f7507346933081a26cdb8a3e11a6b3aa07d23f803c85db","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"14e9acf826baba0ef4b5665704084896e7bcc06f65a9ab13af7e93d27d6b7069","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"829bc57ee8f287b490ab5bbc5a962fca57e432c1e38ec680ecd3ecaf12800613","impliedFormat":1},{"version":"eec76bf6b9346f3f95fa402621b889489e96930e72295b0369022f332e9b4a6a","impliedFormat":1},{"version":"3a3ff14da53d5013f3e6d8c4ad55225e3649c08786c4421ce639c00d8d589b7d","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"38004e6801340cb890afb8cb5a9fc8972297e7f88ab94026e4b0b3c61fb32f8a","impliedFormat":1},{"version":"d243db6b25788f439e7e2f03c05688e92f46764351673bb0e7b2f3631232e186","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"149f9a9e7f04e67afa0e2a49fc0ff421035c01d6b793cfcae7d2e9f6819431e2","impliedFormat":1},{"version":"e8a9dfa4c75ef6d25df8b40eaa9c31e0a69452aaf2ced4a3f4215dbdbaa876f4","impliedFormat":1},{"version":"a70af845a2eb9dd6e2723e319e14ea7fb28b129ec1361c21509b49305448c323","impliedFormat":1},{"version":"b53dc572d4f187904207ae1166652de47aab8eeb00c254d009cb226863076b56","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"f501234c5aeeeb5d7659412335227466aaacf30b952372d60afeb21c02c96348","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"9ac977503f15bf13ca7c82ad9a32a782f42d43e474824e8b3bffe228fd5f2639","impliedFormat":1},{"version":"8b91ff5bb912be3ea213cbcf0075aace1f5d4ff249a0d227ed673868cb7bfabc","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"7cb4f431a4591b0e23002bed805dc871a874dfed6b9a3994dce68a6df73e6739","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"e99963ae1e3a48ca7a7958c02f3e88bb963eb7978c28b68ae6b8c9f03309d83c","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"594ae90cacd813fa392ff80d2e0a8eff4e41f4a136329a940e321399dd8895b4","impliedFormat":1},{"version":"d1f333ade8ff35a409b4984e1f11956fe11c61855b0c7e9b59f0313e48b40c4a","impliedFormat":1},{"version":"0224aa4b3464895d69c413a640a19ac2166778a74eb5eb3b36b021c72d42b274","impliedFormat":1},{"version":"2e6fca0024dd8a076a886d9ec031a936ea59ad878a25b944820495d92f8381dd","affectsGlobalScope":true,"impliedFormat":1},{"version":"47d917e731d06acf182baa38ac2fbd720c3555fa9160e6a40d47994515f7f0ea","impliedFormat":1},{"version":"2fbf504c4791f9d32cd766cfe6b605bcda63289b925401953a7900db9af85348","impliedFormat":1},{"version":"ed0fb633cae35948d9e144004299a4bdf1ab912667c787b7fbffcd6d8c7b92a2","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"aa7b2f4e5f2fced2d34405e729ee7e09903d3330fb896a8b3d44c8fbd16be04d","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"98fc7231d6c846a8ed19bdef026ddffe5e2182cc818be74899287421ad370a87","impliedFormat":1},{"version":"e494b286c8e27c52f8c7f945aa80ff223f2a3cd4f7a2619fa8991f1459e26f07","impliedFormat":1},{"version":"f54f5f9e10bbceba7515dfad0ffc89dffdb8d749d0604594c57a725cf6d79c20","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"8c7e618c2a91ea7f6b5cca272a295864e92c16413be8fc56a943e8c7d5320011","affectsGlobalScope":true,"impliedFormat":1},{"version":"79a85c64bf083c5f4dd7074e804d1000c0c47301b84d48417a224decd681be30","impliedFormat":1},{"version":"6d81823c5704398a68b98e3c7a459334fc0403ad5e6953f4317b5b4919e289e4","impliedFormat":1},{"version":"4f1fd541f720030367b5d7ebfea7ae5f9edc8481422993b9a363f459c5412437","impliedFormat":1},{"version":"baa9cafc61ef8b42b6e8f7a1aa1f75841ec9c9d2f59229277ed282ccb99b72c9","impliedFormat":1},{"version":"af960bc194044cd1f0c8a9857461f0e5fd88a5e33326f38a738d6ef0e1b56fbf","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"57a0d1b3d59063d4af2d3f8aac27cfe3c20a0f5d1faf0f8598ccf0b779637939","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"97234c5303866576f913d0ccae7d58d6322d9e803c7bf1228a3fda46ab8087b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"93ecf87143cac7b9d05cffc1d6bdc075b7e4fdd48ff05f1fad85043f6ae678d3","impliedFormat":1},{"version":"73eeb740dacc45adc607a4f59f90fa9dbe2717d93d82f115f45f34e18f8d644a","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"b17f272f903d155b9ec21791b5889b638977bc1dee181efb2bc317ce006d8c9b","impliedFormat":1},{"version":"1c16d778cc142455f35a3f1a411227b9901c671756338af12a9175958500ce66","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"1940d3dcf5bc8fdaf65d4a6fe08b9c9d6e6481186baec210d6e5ed57ced8c26b","impliedFormat":1},{"version":"441b9bb09013654aa3d050e68b06464d8959b473e85868249d9d18f692acd35b","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"55246f15e33ff1e2e9e679b25fa9790a48db55dc63d567fe25fac8b6a0efe911","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"9f979aaeb0e4ab8456942064596786aa2720c1984fea198ae0caa526f77547b1","impliedFormat":1},{"version":"5b26c4dd672d88336bb929787c9bfb55119e80ba89ec6dc923da1c063892843e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"79e9c2d48d413b4d1f1c574d604e663231770e8883f53ba5773b32618aefd799","impliedFormat":1},{"version":"f12624a4a8d042b68914eac1b0a16571fc1c523173fcdf2517c65d191bd5a86c","impliedFormat":1},{"version":"b4769767f13a1692a66186e01c3aa186ff808d5ff72ed36eda8c37738fb2ac92","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"9b82f9d3cd32399278813e2de0eed4b059d362fbac5222c815e2ab01879893d7","impliedFormat":1},{"version":"1ec3f3a5f04cc42df33274fbe5c0937d9a9e06f249a7a26288d7d54f0763ffd4","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"e47f532d6e1617833f13a5b0710c0089d402c89c2f2b54f324e5a20e418d287a","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"8e2577e7262051fd3c5bd6ca2b2056d358ff8853565720f92455860824c25188","impliedFormat":1},{"version":"7ec8d7d483f7394f9da611b10d3a0e402f76ff5c991261e6ce43a15f81ca4258","impliedFormat":1},{"version":"bb9dbb4b2ad81e3e71ec5ba4314973718555b9d04ba2a17dfbf875efecb8e2c0","impliedFormat":1},{"version":"9021dc5be8f3a87af5cede29221188a6497e2092b6889e0be212ef6b6b7153e9","impliedFormat":1},{"version":"045a210189ec63c5488410b33f9fca53d77d051599d0d6506d8048551399c5f3","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"632c45ccb4cdc2c3a80c7a36a63dd7763016e59cac5e07bfb3e37e3548957028","impliedFormat":1},{"version":"c9a2daf6cd1eb854cd5b9e424247c5e306692055738c2effd35f7871d942b76e","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"e50a7130339a951e6da9e968ed5521b0997a5b0479e148914087213839b5474c","impliedFormat":1}],"root":[[78,84],[86,88]],"options":{"allowImportingTsExtensions":true,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"jsx":4,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./types","rewriteRelativeImportExtensions":true,"rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":11,"verbatimModuleSyntax":false},"referencedMap":[[152,1],[153,1],[154,2],[90,3],[155,4],[156,5],[157,6],[158,7],[159,8],[160,9],[161,10],[162,11],[163,12],[164,12],[165,13],[166,14],[167,15],[168,16],[169,17],[91,15],[89,15],[170,18],[171,19],[172,20],[214,21],[173,22],[174,23],[175,22],[176,24],[177,25],[178,26],[179,27],[180,27],[181,27],[182,28],[183,29],[184,30],[185,31],[186,32],[187,33],[188,33],[189,34],[190,15],[191,15],[192,35],[193,36],[194,37],[195,38],[196,39],[197,40],[198,41],[199,42],[200,43],[201,44],[202,45],[203,46],[204,47],[205,48],[206,49],[207,50],[208,51],[209,52],[210,53],[92,22],[93,15],[94,54],[95,55],[96,15],[97,56],[98,15],[143,57],[144,58],[145,59],[146,59],[147,60],[148,15],[149,4],[150,61],[151,58],[211,62],[212,63],[213,64],[85,15],[75,15],[76,15],[14,15],[12,15],[13,15],[18,15],[17,15],[2,15],[19,15],[20,15],[21,15],[22,15],[23,15],[24,15],[25,15],[26,15],[3,15],[27,15],[28,15],[4,15],[29,15],[33,15],[30,15],[31,15],[32,15],[34,15],[35,15],[36,15],[5,15],[37,15],[38,15],[39,15],[40,15],[6,15],[44,15],[41,15],[42,15],[43,15],[45,15],[7,15],[46,15],[51,15],[52,15],[47,15],[48,15],[49,15],[50,15],[8,15],[56,15],[53,15],[54,15],[55,15],[57,15],[9,15],[58,15],[59,15],[60,15],[62,15],[61,15],[63,15],[64,15],[10,15],[65,15],[66,15],[67,15],[11,15],[77,15],[68,15],[69,15],[70,15],[71,15],[72,15],[1,15],[73,15],[74,15],[16,15],[15,15],[117,65],[131,66],[114,67],[132,68],[141,69],[105,70],[106,71],[104,72],[140,73],[135,74],[139,75],[108,76],[118,77],[128,78],[107,79],[138,80],[102,81],[103,74],[109,77],[110,15],[116,82],[113,77],[100,83],[142,84],[133,85],[121,86],[120,77],[122,87],[125,88],[119,89],[123,90],[136,73],[111,91],[112,92],[126,93],[101,68],[130,94],[129,77],[115,92],[124,95],[127,96],[134,15],[99,15],[137,97],[88,98],[82,15],[83,15],[84,15],[87,99],[86,100],[78,15],[79,101],[80,102],[81,15]],"semanticDiagnosticsPerFile":[[80,[{"start":614,"length":21,"messageText":"Cannot find module '@deepseek-ai/cordis' or its corresponding type declarations.","category":1,"code":2307},{"start":650,"length":26,"messageText":"Cannot find module '@deepseek-ai/schemastery' or its corresponding type declarations.","category":1,"code":2307},{"start":697,"length":33,"messageText":"Cannot find module '@deepseek-ai/dsh-host-webserver' or its corresponding type declarations.","category":1,"code":2307}]],[81,[{"start":207,"length":21,"messageText":"Cannot find module '@deepseek-ai/cordis' or its corresponding type declarations.","category":1,"code":2307},{"start":269,"length":29,"messageText":"Cannot find module '@deepseek-ai/dsh-invariants' or its corresponding type declarations.","category":1,"code":2307}]],[83,[{"start":411,"length":40,"messageText":"Cannot find module '@deepseek-ai/dsh-client-runtime/client' or its corresponding type declarations.","category":1,"code":2307},{"start":1319,"length":1,"messageText":"Parameter 'd' implicitly has an 'any' type.","category":1,"code":7006},{"start":1379,"length":1,"messageText":"Parameter 'd' implicitly has an 'any' type.","category":1,"code":7006},{"start":1481,"length":1,"messageText":"Parameter 'd' implicitly has an 'any' type.","category":1,"code":7006},{"start":1528,"length":1,"messageText":"Parameter 'p' implicitly has an 'any' type.","category":1,"code":7006},{"start":1567,"length":1,"messageText":"Parameter 'd' implicitly has an 'any' type.","category":1,"code":7006}]],[86,[{"start":866,"length":7,"messageText":"Cannot find module 'react' or its corresponding type declarations.","category":1,"code":2307},{"start":1117,"length":39,"messageText":"Cannot find module '@deepseek-ai/dsh-client-ui-primitives' or its corresponding type declarations.","category":1,"code":2307},{"start":1215,"length":34,"messageText":"Cannot find module '@deepseek-ai/dsh-client-ui-slots' or its corresponding type declarations.","category":1,"code":2307},{"start":1280,"length":34,"messageText":"Cannot find module '@deepseek-ai/dsh-client-ui-slots' or its corresponding type declarations.","category":1,"code":2307},{"start":1350,"length":48,"messageText":"Cannot find module '@deepseek-ai/dsh-client-ui-conversation/client' or its corresponding type declarations.","category":1,"code":2307},{"start":3411,"length":75,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":3493,"length":30,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":3617,"length":32,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":3665,"length":7,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":3681,"length":33,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":3725,"length":80,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":3866,"length":9,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":3886,"length":202,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":3961,"length":1,"messageText":"Parameter 'e' implicitly has an 'any' type.","category":1,"code":7006},{"start":4146,"length":9,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":4166,"length":145,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":4369,"length":9,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":4389,"length":182,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":4656,"length":9,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":4676,"length":84,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":4816,"length":9,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":4834,"length":6,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":4847,"length":6,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":4860,"length":30,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":4899,"length":106,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":5012,"length":6,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":5023,"length":10,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":5438,"length":1,"messageText":"Parameter 's' implicitly has an 'any' type.","category":1,"code":7006},{"start":5479,"length":1,"messageText":"Parameter 's' implicitly has an 'any' type.","category":1,"code":7006},{"start":6399,"length":5,"messageText":"Parameter 'found' implicitly has an 'any' type.","category":1,"code":7006},{"start":6710,"length":4,"messageText":"Parameter 'rows' implicitly has an 'any' type.","category":1,"code":7006},{"start":7477,"length":7,"messageText":"Parameter 'current' implicitly has an 'any' type.","category":1,"code":7006},{"start":8646,"length":7,"messageText":"Parameter 'current' implicitly has an 'any' type.","category":1,"code":7006},{"start":10891,"length":90,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":10891,"length":4856,"messageText":"This JSX tag requires the module path 'react/jsx-runtime' to exist, but none could be found. Make sure you have types for the appropriate package installed.","category":1,"code":2875},{"start":10988,"length":29,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":11026,"length":28,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":11074,"length":7,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":11090,"length":29,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":11127,"length":7,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":11143,"length":30,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":11184,"length":29,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":11332,"length":1,"messageText":"Parameter 'e' implicitly has an 'any' type.","category":1,"code":7006},{"start":11399,"length":8,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":11418,"length":29,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":11562,"length":1,"messageText":"Parameter 'e' implicitly has an 'any' type.","category":1,"code":7006},{"start":11627,"length":8,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":12626,"length":2,"messageText":"Parameter 'id' implicitly has an 'any' type.","category":1,"code":7006},{"start":13826,"length":6,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":13839,"length":6,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":13896,"length":29,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":14005,"length":31,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":14315,"length":7,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":14643,"length":31,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":14768,"length":7,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":14976,"length":6,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":14998,"length":46,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":15064,"length":4,"messageText":"Parameter 'port' implicitly has an 'any' type.","category":1,"code":7006},{"start":15106,"length":3,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key: any; port: any; alive: any; zoomed: boolean; stopping: boolean; onZoom: () => any; onStop: () => void; onRemove: () => void; t: any; }' is not assignable to type '{ port: number; alive: boolean; zoomed: boolean; stopping: boolean; onZoom: () => void; onStop: () => void; onRemove: () => void; t: TranslateNS<\"multiWall\">; }'.","category":1,"code":2322,"next":[{"messageText":"Property 'key' does not exist on type '{ port: number; alive: boolean; zoomed: boolean; stopping: boolean; onZoom: () => void; onStop: () => void; onRemove: () => void; t: TranslateNS<\"multiWall\">; }'.","category":1,"code":2339}]}},{"start":15578,"length":27,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":15618,"length":3,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":15633,"length":4,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":15650,"length":24,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":15691,"length":4,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":15706,"length":6,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":15730,"length":6,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":15741,"length":6,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026}]],[87,[{"start":833,"length":39,"messageText":"Cannot find module '@deepseek-ai/dsh-client-ui-primitives' or its corresponding type declarations.","category":1,"code":2307},{"start":920,"length":34,"messageText":"Cannot find module '@deepseek-ai/dsh-client-ui-slots' or its corresponding type declarations.","category":1,"code":2307},{"start":1376,"length":711,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":1376,"length":846,"messageText":"This JSX tag requires the module path 'react/jsx-runtime' to exist, but none could be found. Make sure you have types for the appropriate package installed.","category":1,"code":2875},{"start":2159,"length":28,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":2200,"length":7,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026},{"start":2213,"length":9,"messageText":"JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.","category":1,"code":7026}]],[88,[{"start":819,"length":40,"messageText":"Cannot find module '@deepseek-ai/dsh-client-runtime/client' or its corresponding type declarations.","category":1,"code":2307},{"start":989,"length":42,"messageText":"Cannot find module '@deepseek-ai/dsh-client-ui-layout/client' or its corresponding type declarations.","category":1,"code":2307},{"start":1165,"length":48,"messageText":"Cannot find module '@deepseek-ai/dsh-client-ui-conversation/client' or its corresponding type declarations.","category":1,"code":2307},{"start":1311,"length":43,"messageText":"Cannot find module '@deepseek-ai/dsh-client-ui-sidebar/client' or its corresponding type declarations.","category":1,"code":2307},{"start":1425,"length":39,"messageText":"Cannot find module '@deepseek-ai/dsh-client-locale/client' or its corresponding type declarations.","category":1,"code":2307},{"start":2149,"length":34,"messageText":"Invalid module name in augmentation, module '@deepseek-ai/dsh-client-ui-slots' cannot be found.","category":1,"code":2664}]]],"latestChangedDtsFile":"./types/client/index.d.ts","version":"5.9.3"}
@@ -6,5 +6,5 @@ export type WallToggleProps = PropsRuntime<'sidebar.footer.action'> & PropsLocal
6
6
  * @param props - composed slot props.
7
7
  * @returns the shortcut row.
8
8
  */
9
- export declare function WallToggle({ wide, t }: WallToggleProps): import("react").JSX.Element;
9
+ export declare function WallToggle({ wide, t }: WallToggleProps): any;
10
10
  //# sourceMappingURL=WallToggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WallToggle.d.ts","sourceRoot":"","sources":["../../../src/client/WallToggle.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAGjF,qDAAqD;AACrD,MAAM,MAAM,eAAe,GACvB,YAAY,CAAC,uBAAuB,CAAC,GACrC,WAAW,CAAC,WAAW,CAAC,CAAA;AAE5B;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,eAAe,OAuBtD"}
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * WallToggle: the sidebar-foot shortcut. Clicking it opens the wall view —
4
+ * the `conversation.view` ring switches to the 'multi-wall' entry, which the
5
+ * header renders as the "多窗口" tab. The click is a plain user-equivalent
6
+ * activation: it finds the header's view-ring tab for this plugin's label and
7
+ * clicks it, so the official view-ring state machine (the chat store's active
8
+ * view field) performs the switch. No store is declared: the ring decides
9
+ * what renders, so this row owns no state.
10
+ *
11
+ * Session-scoped by design: the view ring (and its header tabs) only renders
12
+ * with an active session, so the shortcut is inert on the empty-hero screen —
13
+ * the user first opens or creates a session (the official flow), after which
14
+ * the tab is present and the click lands.
15
+ */
16
+ import { IconFullscreenOutline16 } from '@deepseek-ai/dsh-client-ui-primitives';
17
+ import css from './WallToggle.module.css';
18
+ /**
19
+ * Render the wall shortcut row (icon; label only in the wide column).
20
+ * @param props - composed slot props.
21
+ * @returns the shortcut row.
22
+ */
23
+ export function WallToggle({ wide, t }) {
24
+ return (_jsxs("button", { type: "button", className: css.row, "aria-label": t('toggle.aria'), title: t('toggle'), onClick: () => {
25
+ // The official view ring renders the active entry through
26
+ // `only: <active id>`; the only sanctioned way to move it is the
27
+ // header tab's click handler (actions.setView). Trigger that same
28
+ // element instead of reaching into the chat store from the root
29
+ // scope. No tab (no active session) is a no-op.
30
+ const label = t('view.multiWall');
31
+ const tab = Array.from(document.querySelectorAll('[role="tab"]'))
32
+ .find(el => el.textContent?.trim() === label);
33
+ tab?.click();
34
+ }, children: [_jsx(IconFullscreenOutline16, { size: wide ? 16 : 18 }), wide && _jsx("span", { className: css.label, children: t('toggle') })] }));
35
+ }
36
+ //# sourceMappingURL=WallToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WallToggle.js","sourceRoot":"","sources":["../../../src/client/WallToggle.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAE/E,OAAO,GAAG,MAAM,yBAAyB,CAAA;AAOzC;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,EAAmB;IACrD,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,GAAG,CAAC,GAAG,gBACN,CAAC,CAAC,aAAa,CAAC,EAC5B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,EAClB,OAAO,EAAE,GAAG,EAAE;YACZ,0DAA0D;YAC1D,iEAAiE;YACjE,kEAAkE;YAClE,gEAAgE;YAChE,gDAAgD;YAChD,MAAM,KAAK,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAA;YACjC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAoB,cAAc,CAAC,CAAC;iBACjF,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,KAAK,CAAC,CAAA;YAC/C,GAAG,EAAE,KAAK,EAAE,CAAA;QACd,CAAC,aAED,KAAC,uBAAuB,IAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAI,EAChD,IAAI,IAAI,eAAM,SAAS,EAAE,GAAG,CAAC,KAAK,YAAG,CAAC,CAAC,QAAQ,CAAC,GAAQ,IAClD,CACV,CAAA;AACH,CAAC"}
@@ -12,5 +12,5 @@ export type WallViewProps = ConvViewProps & PropsStore<HandleOf<typeof createWal
12
12
  * @param props - composed slot props.
13
13
  * @returns the wall surface.
14
14
  */
15
- export declare function WallView({ useStore, actions, discover, probe, stop, create, link, t }: WallViewProps): import("react").JSX.Element;
15
+ export declare function WallView({ useStore, actions, discover, probe, stop, create, link, t }: WallViewProps): any;
16
16
  //# sourceMappingURL=WallView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WallView.d.ts","sourceRoot":"","sources":["../../../src/client/WallView.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAe,MAAM,kCAAkC,CAAA;AAC5F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAA;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGtD,0FAA0F;AAC1F,MAAM,MAAM,aAAa,GACrB,aAAa,GACb,UAAU,CAAC,QAAQ,CAAC,OAAO,eAAe,CAAC,CAAC,GAC5C,YAAY,GACZ,WAAW,CAAC,WAAW,CAAC,CAAA;AA2F5B;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,aAAa,OAgRpG"}
@@ -0,0 +1,218 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * WallView: the multi-window wall as a `conversation.view` ring entry. When
4
+ * the header's "多窗口" tab is selected, the right panel swaps from the
5
+ * chat to this view — a toolbar plus a grid of iframes, one pane per running
6
+ * DSH instance (127.0.0.1:<port>). Pure additive UI; no existing slot is
7
+ * replaced.
8
+ *
9
+ * Recursion guard: panes embed `?multi-wall=embed` (the embedded page
10
+ * registers no wall UI). The serving instance is itself a pane, so the user
11
+ * can watch — or stop — the very instance they are in.
12
+ *
13
+ * Live data channels: the store owns ports/columns; discovery writes
14
+ * `setPorts` from /multi/api/ports (same-origin, served by the node half);
15
+ * per-pane liveness arrives from /multi/api/status polls. Components never
16
+ * see ctx — the fetch helpers are injected through the registration.
17
+ */
18
+ import { useEffect, useRef, useState } from 'react';
19
+ import clsx from 'clsx';
20
+ import { IconCloseOutline16, IconFullscreenOutline16, IconGlobeOutline14, IconPlusOutline16, IconRefreshOutline14, IconRefreshOutline16, IconRightUpOutline16, IconStopFill16, Button, Input, Menu, StateDot, } from '@deepseek-ai/dsh-client-ui-primitives';
21
+ import css from './WallView.module.css';
22
+ /** Grid column presets, driven by the toolbar menu. 'auto' fills the row. */
23
+ const COLUMN_PRESETS = ['auto', '1', '2', '3', '4', '6'];
24
+ /** Embed flag appended to every pane URL; such pages register no wall UI. */
25
+ const EMBED_FLAG = 'multi-wall=embed';
26
+ /**
27
+ * Whether this wall is being viewed through the phone gateway (a non-loopback
28
+ * host) rather than on the machine running DSH. When remote, pane iframes must
29
+ * load through the gateway's `/gw/<port>` route — a phone's `127.0.0.1` points
30
+ * at the phone itself, not the host.
31
+ */
32
+ function isRemoteViewer() {
33
+ const host = typeof window !== 'undefined' ? window.location.hostname : '';
34
+ return host !== 'localhost' && host !== '127.0.0.1' && host !== '::1';
35
+ }
36
+ /**
37
+ * The iframe URL for a pane. Local viewers embed the loopback instance
38
+ * directly; remote (phone) viewers route through the gateway that is already
39
+ * serving this page, appending the port so the gateway proxies to it.
40
+ * @param port - target DSH instance port.
41
+ * @returns the pane URL.
42
+ */
43
+ function paneUrl(port) {
44
+ if (isRemoteViewer()) {
45
+ return `${window.location.origin}/gw/${port}/?${EMBED_FLAG}`;
46
+ }
47
+ return `http://127.0.0.1:${port}/?${EMBED_FLAG}`;
48
+ }
49
+ /**
50
+ * One pane: header (port, liveness dot, zoom/refresh/open/stop/remove) plus
51
+ * the embedded original DSH UI.
52
+ */
53
+ function WallPane(props) {
54
+ const { port, alive, zoomed, stopping, onZoom, onStop, onRemove, t } = props;
55
+ return (_jsxs("section", { className: clsx(css.pane, zoomed && css.zoomed), "data-port": port, children: [_jsxs("div", { className: css.paneHead, children: [_jsx(StateDot, { state: alive ? 'done' : 'warning', size: 8, className: css.dot }), _jsxs("span", { className: css.paneTitle, children: ["127.0.0.1:", port] }), _jsxs("div", { className: css.paneActions, children: [_jsx("button", { type: "button", className: css.action, title: t('zoom'), onClick: onZoom, children: _jsx(IconFullscreenOutline16, { size: 14 }) }), _jsx("button", { type: "button", className: css.action, title: t('reload'), onClick: (e) => {
56
+ e.currentTarget.closest('section')?.querySelector('iframe')?.contentWindow?.location.reload();
57
+ }, children: _jsx(IconRefreshOutline16, { size: 14 }) }), _jsx("button", { type: "button", className: css.action, title: t('openTab'), onClick: () => {
58
+ window.open(paneUrl(port), '_blank');
59
+ }, children: _jsx(IconRightUpOutline16, { size: 14 }) }), _jsx("button", { type: "button", className: clsx(css.action, css.danger, stopping && css.confirm), title: t('stop'), onClick: onStop, children: stopping ? t('stop.confirm') : _jsx(IconStopFill16, { size: 14 }) }), _jsx("button", { type: "button", className: css.action, title: t('remove'), onClick: onRemove, children: _jsx(IconCloseOutline16, { size: 14 }) })] })] }), _jsx("div", { className: css.paneBody, children: _jsx("iframe", { title: `DSH :${port}`, src: paneUrl(port), loading: "lazy" }) })] }));
60
+ }
61
+ /**
62
+ * Render the wall: toolbar plus the horizontally-filled pane grid. Discovery
63
+ * runs on mount and liveness polls every 5s; the store's persisted ports
64
+ * survive view switches and reloads.
65
+ * @param props - composed slot props.
66
+ * @returns the wall surface.
67
+ */
68
+ export function WallView({ useStore, actions, discover, probe, stop, create, link, t }) {
69
+ const ports = useStore(s => s.ports);
70
+ const columns = useStore(s => s.columns);
71
+ const [alive, setAlive] = useState({});
72
+ const [zoomedPort, setZoomedPort] = useState(null);
73
+ const [confirmingStop, setConfirmingStop] = useState(null);
74
+ const [scanFrom, setScanFrom] = useState(3070);
75
+ const [scanTo, setScanTo] = useState(3110);
76
+ const [colsMenuOpen, setColsMenuOpen] = useState(false);
77
+ const [creating, setCreating] = useState(false);
78
+ const [linkOpen, setLinkOpen] = useState(false);
79
+ const [linkInfo, setLinkInfo] = useState(null);
80
+ const [linkCopied, setLinkCopied] = useState(false);
81
+ const [status, setStatus] = useState('');
82
+ const aliveRef = useRef({});
83
+ aliveRef.current = alive;
84
+ // Discover on mount (the view renders only while selected), then poll
85
+ // liveness while the view stays mounted.
86
+ useEffect(() => {
87
+ void discover().then(found => {
88
+ if (found.length > 0)
89
+ actions.setPorts(found);
90
+ setStatus(found.length > 0 ? t('status.found').replace('{count}', String(found.length)).replace('{ports}', found.join(', ')) : '');
91
+ });
92
+ const timer = setInterval(() => {
93
+ if (ports.length === 0)
94
+ return;
95
+ void probe(ports).then(rows => {
96
+ const next = {};
97
+ for (const row of rows)
98
+ next[row.port] = row.alive;
99
+ setAlive(next);
100
+ });
101
+ }, 5000);
102
+ return () => { clearInterval(timer); };
103
+ // eslint-disable-next-line react-hooks/exhaustive-deps
104
+ }, []);
105
+ // Stop is destructive: the first click arms a per-pane confirm, the second
106
+ // executes it. Any other interaction clears the arm. The serving instance
107
+ // itself may be stopped too (the user may want to take this port down).
108
+ const handleStop = async (port) => {
109
+ if (confirmingStop !== port) {
110
+ setConfirmingStop(port);
111
+ return;
112
+ }
113
+ setConfirmingStop(null);
114
+ const result = await stop(port);
115
+ if (result.ok) {
116
+ actions.removePort(port);
117
+ setAlive(current => ({ ...current, [port]: false }));
118
+ setStatus(t('stop.done').replace('{port}', String(port)));
119
+ }
120
+ else {
121
+ setStatus(t('stop.failed').replace('{port}', String(port)).replace('{error}', result.error ?? ''));
122
+ }
123
+ };
124
+ const runDiscovery = async () => {
125
+ setStatus(t('status.scanning').replace('{from}', String(scanFrom)).replace('{to}', String(scanTo)));
126
+ const found = await discover();
127
+ if (found.length === 0) {
128
+ setStatus(t('status.none').replace('{from}', String(scanFrom)).replace('{to}', String(scanTo)));
129
+ return;
130
+ }
131
+ actions.setPorts(found);
132
+ setStatus(t('status.found').replace('{count}', String(found.length)).replace('{ports}', found.join(', ')));
133
+ };
134
+ // Start a brand-new DSH instance and add it to the wall. Failures always
135
+ // surface a concrete reason: the injected face reports HTTP status / body
136
+ // problems, and a thrown fetch surfaces its message — never a silent stall.
137
+ const handleCreate = async () => {
138
+ setCreating(true);
139
+ setStatus('');
140
+ try {
141
+ const result = await create();
142
+ if (result.ok && result.port !== undefined) {
143
+ actions.addPort(result.port);
144
+ setAlive(current => ({ ...current, [result.port]: true }));
145
+ setStatus(t('create.done').replace('{port}', String(result.port)));
146
+ }
147
+ else {
148
+ setStatus(t('create.failed').replace('{error}', result.error ?? t('create.unknown')));
149
+ }
150
+ }
151
+ catch (error) {
152
+ setStatus(t('create.failed').replace('{error}', error instanceof Error ? error.message : String(error)));
153
+ }
154
+ finally {
155
+ setCreating(false);
156
+ }
157
+ };
158
+ // Leave the wall: switch the view ring back to the default chat view. The
159
+ // ring's active view lives in the chat store and only the header tab's
160
+ // click handler mutates it, so exit reuses that sanctioned path — the chat
161
+ // entry is always the first tab (order 0), which makes the click
162
+ // locale-independent. No tab (blank session) is a no-op.
163
+ const exitWall = () => {
164
+ const tab = document.querySelector('[role="tablist"] [role="tab"]');
165
+ tab?.click();
166
+ };
167
+ // Fetch the phone-reachable link(s) for this instance and open the sheet.
168
+ const handleLink = async () => {
169
+ if (linkInfo === null) {
170
+ setStatus(t('link.fetching'));
171
+ const info = await link();
172
+ setLinkInfo(info);
173
+ }
174
+ setLinkOpen(true);
175
+ setLinkCopied(false);
176
+ setStatus('');
177
+ };
178
+ // Copy the first phone-reachable link to the clipboard. When the gateway
179
+ // issued a token it is appended as `?token=` so the phone bypasses the login
180
+ // form entirely (the gateway accepts a matching `?token=` query); the URL is
181
+ // otherwise the bare link. The standalone token line is still shown above so
182
+ // users who prefer typing it can.
183
+ const copyFirstLink = async () => {
184
+ if (linkInfo === null || linkInfo.lan.length === 0)
185
+ return;
186
+ try {
187
+ const base = linkInfo.lan[0] ?? '';
188
+ const token = linkInfo.token ?? '';
189
+ const url = token !== '' ? `${base}?token=${encodeURIComponent(token)}` : base;
190
+ await navigator.clipboard.writeText(url);
191
+ setLinkCopied(true);
192
+ }
193
+ catch {
194
+ setLinkCopied(false);
195
+ }
196
+ };
197
+ // Every discovered port renders, including the one serving this wall: the
198
+ // user may want to watch (or stop) the instance they are in. Recursion is
199
+ // prevented by the embed flag, not by hiding the self pane.
200
+ const shown = ports;
201
+ return (_jsxs("div", { className: css.wall, role: "region", "aria-label": t('overlay.title'), "data-wall-view": "", children: [_jsxs("div", { className: css.toolbar, children: [_jsx("span", { className: css.title, children: t('overlay.title') }), _jsx("span", { className: css.status, children: status }), _jsxs("div", { className: css.controls, children: [_jsxs("label", { className: css.field, children: [t('scan.from'), _jsx(Input, { type: "number", value: scanFrom, onChange: e => setScanFrom(Number(e.target.value)) })] }), _jsxs("label", { className: css.field, children: [t('scan.to'), _jsx(Input, { type: "number", value: scanTo, onChange: e => setScanTo(Number(e.target.value)) })] }), _jsx(Button, { variant: "toolbar", size: "sm", onClick: () => { void runDiscovery(); }, children: t('scan') }), _jsx(Button, { variant: "toolbar", size: "sm", icon: _jsx(IconPlusOutline16, { size: 14 }), disabled: creating, onClick: () => { void handleCreate(); }, children: creating ? t('create.pending') : t('create') }), _jsx(Menu, { open: colsMenuOpen, anchor: _jsx(Button, { variant: "toolbar", size: "sm", icon: _jsx(IconRightUpOutline16, { size: 14 }), onClick: () => { setColsMenuOpen(true); }, children: columns === 'auto' ? t('columns.auto') : columns }), items: COLUMN_PRESETS.map(c => ({
202
+ id: c,
203
+ label: c === 'auto' ? t('columns.auto') : c,
204
+ })), selectedId: columns, onSelect: (id) => {
205
+ actions.setColumns(id);
206
+ setColsMenuOpen(false);
207
+ }, onClose: () => { setColsMenuOpen(false); }, compact: true }), _jsx(Button, { variant: "toolbar", size: "sm", icon: _jsx(IconRefreshOutline14, { size: 14 }), onClick: () => {
208
+ document.querySelectorAll(`.${css.paneBody} iframe`).forEach(f => {
209
+ f.contentWindow?.location.reload();
210
+ });
211
+ setStatus(t('status.refreshed'));
212
+ }, children: t('refresh') }), _jsx(Button, { variant: "toolbar", size: "sm", icon: _jsx(IconGlobeOutline14, { size: 14 }), "aria-label": t('link.aria'), onClick: () => { void handleLink(); }, children: t('link') }), _jsx(Button, { variant: "toolbar", size: "sm", icon: _jsx(IconCloseOutline16, { size: 14 }), "aria-label": t('exit.aria'), title: t('exit'), onClick: () => { exitWall(); }, children: t('exit') })] })] }), linkOpen && linkInfo !== null && (_jsxs("div", { className: css.linkBar, children: [linkInfo.reachable
213
+ ? (_jsxs(_Fragment, { children: [_jsxs("span", { className: css.linkText, children: [t('link.reachable').replace('{urls}', linkInfo.lan.join(' ')), linkInfo.token !== undefined && linkInfo.token !== ''
214
+ ? ` ${t('link.token').replace('{token}', linkInfo.token)}`
215
+ : ''] }), linkInfo.lan.length > 0 && (_jsx(Button, { variant: "outline", size: "sm", onClick: () => { void copyFirstLink(); }, children: linkCopied ? t('link.copied') : t('link.copy') }))] }))
216
+ : (_jsx("span", { className: css.linkText, children: t('link.unreachable').replace('{hint}', linkInfo.hint ?? '') })), _jsx(Button, { variant: "ghost", size: "sm", icon: _jsx(IconCloseOutline16, { size: 14 }), onClick: () => { setLinkOpen(false); }, children: t('overlay.close') })] })), _jsxs("div", { className: css.grid, "data-cols": columns, children: [shown.map(port => (_jsx(WallPane, { port: port, alive: aliveRef.current[port] ?? true, zoomed: zoomedPort === port, stopping: confirmingStop === port, onZoom: () => setZoomedPort(zoomedPort === port ? null : port), onStop: () => { void handleStop(port); }, onRemove: () => { setConfirmingStop(null); actions.removePort(port); }, t: t }, port))), shown.length === 0 && (_jsxs("div", { className: css.empty, children: [_jsx("p", { children: t('empty') }), _jsx("p", { className: css.hint, children: t('empty.hint') })] }))] })] }));
217
+ }
218
+ //# sourceMappingURL=WallView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WallView.js","sourceRoot":"","sources":["../../../src/client/WallView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAW3E,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AAMxD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxD,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEzE,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,kBAAkB;QAC1B,8BAA8B;QAC9B,SAAS,EAAE,YAAY,CAAA;KACxB;CACF;AAKD,wEAAwE;AACxE,eAAO,MAAM,MAAM,UAAsB,CAAA;AAazC;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAiC9C"}
@@ -0,0 +1,59 @@
1
+ import { en, zh } from "./locales.js";
2
+ import { createWallStore } from "./store.js";
3
+ import { createWallInjected } from "./wall-injected.js";
4
+ import { WallView } from "./WallView.js";
5
+ import { WallToggle } from "./WallToggle.js";
6
+ export { WallView } from "./WallView.js";
7
+ export { WallToggle } from "./WallToggle.js";
8
+ export { createWallStore } from "./store.js";
9
+ /** Dictionary namespace owned by this plugin. */
10
+ const NS = 'multiWall';
11
+ /** Required services: slots for both registrations, locale for copy. */
12
+ export const inject = ['slots', 'locale'];
13
+ /**
14
+ * Whether this page is an embedded wall pane. Panes load
15
+ * `?multi-wall=embed`; such pages register no wall UI at all, which stops a
16
+ * wall inside a wall (the pane would otherwise recursively embed the
17
+ * serving instance).
18
+ * @returns true when the query flag is present.
19
+ */
20
+ function isEmbeddedPane() {
21
+ return new URLSearchParams(window.location.search).has('multi-wall');
22
+ }
23
+ /**
24
+ * Client plugin body: register the dictionaries, the view-ring entry (the
25
+ * wall), and the sidebar footer shortcut. Embedded panes register nothing.
26
+ * @param ctx - client root context.
27
+ */
28
+ export function apply(ctx) {
29
+ if (isEmbeddedPane())
30
+ return;
31
+ ctx.effect(() => ctx.locale.register(NS, { zh, en }), 'ui-multi-wall: dictionaries');
32
+ // Registration-time text (the view tab label) reads through the bound
33
+ // translate as a thunk, so it follows the active locale without
34
+ // re-registration.
35
+ const t = ctx.locale.bind(NS);
36
+ // One wall store handle rides both registrations (ports, columns).
37
+ const wallStore = createWallStore();
38
+ // The wall itself: a 'conversation.view' ring entry. The header projects
39
+ // the tab from the registration options; selecting it swaps the right
40
+ // panel from the chat to the wall (official view-ring behavior).
41
+ ctx.slots.inject('conversation.view', () => ctx.slots.register({
42
+ name: 'conversation.view',
43
+ id: 'multi-wall',
44
+ order: 20,
45
+ label: () => t('view.multiWall'),
46
+ locale: NS,
47
+ store: wallStore,
48
+ inject: () => createWallInjected(),
49
+ }, WallView));
50
+ // The sidebar footer shortcut: jumps to the wall view. It owns no state —
51
+ // the view ring decides what renders — so it is a plain action row.
52
+ ctx.slots.inject('sidebar.footer.action', () => ctx.slots.register({
53
+ name: 'sidebar.footer.action',
54
+ id: 'multi-wall',
55
+ order: 10,
56
+ locale: NS,
57
+ }, WallToggle));
58
+ }
59
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,EAAE,EAAE,EAAE,EAAqB,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAkB,CAAA;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAgB,CAAA;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAkB,CAAA;AAG7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAW5C,iDAAiD;AACjD,MAAM,EAAE,GAAG,WAAW,CAAA;AAEtB,wEAAwE;AACxE,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AAEzC;;;;;;GAMG;AACH,SAAS,cAAc;IACrB,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,GAAkB;IACtC,IAAI,cAAc,EAAE;QAAE,OAAM;IAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,6BAA6B,CAAC,CAAA;IAEpF,sEAAsE;IACtE,gEAAgE;IAChE,mBAAmB;IACnB,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAE7B,mEAAmE;IACnE,MAAM,SAAS,GAAG,eAAe,EAAE,CAAA;IAEnC,yEAAyE;IACzE,sEAAsE;IACtE,iEAAiE;IACjE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7D,IAAI,EAAE,mBAAmB;QACzB,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAChC,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;KACnC,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEb,0EAA0E;IAC1E,oEAAoE;IACpE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QACjE,IAAI,EAAE,uBAAuB;QAC7B,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;KACX,EAAE,UAAU,CAAC,CAAC,CAAA;AACjB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../src/client/locales.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAE1C,mEAAmE;AACnE,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CmB,CAAA;AAElC,0CAA0C;AAC1C,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,EAAE,CAAA;AAE1C,mEAAmE;AACnE,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CyB,CAAA"}