@glodon-aiot/agent-cli-sdk 2.4.7

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 (108) hide show
  1. package/README.md +70 -0
  2. package/dist/agent-cli-sdk.js +34975 -0
  3. package/dist/agent-cli-sdk.umd.cjs +150 -0
  4. package/dist/cdn/agent-cli-sdk.js +32945 -0
  5. package/dist/cdn/agent-cli-sdk.umd.cjs +140 -0
  6. package/dist/cdn/src/AgentPlugin.d.ts +17 -0
  7. package/dist/cdn/src/AgentSession.d.ts +8 -0
  8. package/dist/cdn/src/BotClient.d.ts +46 -0
  9. package/dist/cdn/src/Config.d.ts +32 -0
  10. package/dist/cdn/src/DialogSession.d.ts +21 -0
  11. package/dist/cdn/src/EventBus.d.ts +23 -0
  12. package/dist/cdn/src/Logger.d.ts +12 -0
  13. package/dist/cdn/src/PayloadTypes.d.ts +84 -0
  14. package/dist/cdn/src/Session.d.ts +156 -0
  15. package/dist/cdn/src/__ tests __/AgentClient.spec.d.ts +1 -0
  16. package/dist/cdn/src/__ tests __/AgentSession.spec.d.ts +1 -0
  17. package/dist/cdn/src/__ tests __/DialogClient.spec.d.ts +1 -0
  18. package/dist/cdn/src/api/fetchEventSource/fetch.d.ts +44 -0
  19. package/dist/cdn/src/api/fetchEventSource/index.d.ts +1 -0
  20. package/dist/cdn/src/api/fetchEventSource/parse.d.ts +36 -0
  21. package/dist/cdn/src/api/index.d.ts +2 -0
  22. package/dist/cdn/src/index.d.ts +5 -0
  23. package/dist/cdn/src/utils.d.ts +4 -0
  24. package/dist/es/AgentPlugin.mjs +20 -0
  25. package/dist/es/AgentSession.mjs +243 -0
  26. package/dist/es/BotClient.mjs +242 -0
  27. package/dist/es/Config.mjs +34 -0
  28. package/dist/es/DialogSession.mjs +281 -0
  29. package/dist/es/EventBus.mjs +64 -0
  30. package/dist/es/Logger.mjs +31 -0
  31. package/dist/es/PayloadTypes.mjs +4 -0
  32. package/dist/es/Session.mjs +527 -0
  33. package/dist/es/_virtual/_commonjsHelpers.mjs +4 -0
  34. package/dist/es/_virtual/index.mjs +4 -0
  35. package/dist/es/_virtual/index2.mjs +4 -0
  36. package/dist/es/_virtual/index3.mjs +4 -0
  37. package/dist/es/_virtual/minio-zj.mjs +4 -0
  38. package/dist/es/api/fetchEventSource/fetch.mjs +112 -0
  39. package/dist/es/api/fetchEventSource/parse.mjs +97 -0
  40. package/dist/es/api/index.mjs +48 -0
  41. package/dist/es/index.mjs +11 -0
  42. package/dist/es/node_modules/@glodon-aiot/minio/dist/minio-zj.mjs +26485 -0
  43. package/dist/es/node_modules/@socket.io/component-emitter/lib/esm/index.mjs +54 -0
  44. package/dist/es/node_modules/base64-js/index.mjs +47 -0
  45. package/dist/es/node_modules/buffer/index.mjs +927 -0
  46. package/dist/es/node_modules/engine.io-client/build/esm/contrib/has-cors.mjs +9 -0
  47. package/dist/es/node_modules/engine.io-client/build/esm/contrib/parseqs.mjs +18 -0
  48. package/dist/es/node_modules/engine.io-client/build/esm/contrib/parseuri.mjs +24 -0
  49. package/dist/es/node_modules/engine.io-client/build/esm/contrib/yeast.mjs +19 -0
  50. package/dist/es/node_modules/engine.io-client/build/esm/globalThis.browser.mjs +4 -0
  51. package/dist/es/node_modules/engine.io-client/build/esm/socket.mjs +317 -0
  52. package/dist/es/node_modules/engine.io-client/build/esm/transport.mjs +113 -0
  53. package/dist/es/node_modules/engine.io-client/build/esm/transports/index.mjs +11 -0
  54. package/dist/es/node_modules/engine.io-client/build/esm/transports/polling.mjs +273 -0
  55. package/dist/es/node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.mjs +8 -0
  56. package/dist/es/node_modules/engine.io-client/build/esm/transports/websocket.mjs +87 -0
  57. package/dist/es/node_modules/engine.io-client/build/esm/transports/webtransport.mjs +52 -0
  58. package/dist/es/node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.mjs +21 -0
  59. package/dist/es/node_modules/engine.io-client/build/esm/util.mjs +23 -0
  60. package/dist/es/node_modules/engine.io-parser/build/esm/commons.mjs +21 -0
  61. package/dist/es/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.mjs +14 -0
  62. package/dist/es/node_modules/engine.io-parser/build/esm/decodePacket.browser.mjs +39 -0
  63. package/dist/es/node_modules/engine.io-parser/build/esm/encodePacket.browser.mjs +28 -0
  64. package/dist/es/node_modules/engine.io-parser/build/esm/index.mjs +105 -0
  65. package/dist/es/node_modules/ieee754/index.mjs +28 -0
  66. package/dist/es/node_modules/js-base64/base64.mjs +31 -0
  67. package/dist/es/node_modules/socket.io-client/build/esm/contrib/backo2.mjs +26 -0
  68. package/dist/es/node_modules/socket.io-client/build/esm/index.mjs +25 -0
  69. package/dist/es/node_modules/socket.io-client/build/esm/manager.mjs +242 -0
  70. package/dist/es/node_modules/socket.io-client/build/esm/on.mjs +8 -0
  71. package/dist/es/node_modules/socket.io-client/build/esm/socket.mjs +608 -0
  72. package/dist/es/node_modules/socket.io-client/build/esm/url.mjs +19 -0
  73. package/dist/es/node_modules/socket.io-parser/build/esm/binary.mjs +52 -0
  74. package/dist/es/node_modules/socket.io-parser/build/esm/index.mjs +203 -0
  75. package/dist/es/node_modules/socket.io-parser/build/esm/is-binary.mjs +26 -0
  76. package/dist/es/node_modules/uuid/dist/esm-browser/native.mjs +6 -0
  77. package/dist/es/node_modules/uuid/dist/esm-browser/rng.mjs +10 -0
  78. package/dist/es/node_modules/uuid/dist/esm-browser/stringify.mjs +9 -0
  79. package/dist/es/node_modules/uuid/dist/esm-browser/v4.mjs +19 -0
  80. package/dist/es/packages/apis/dist/es/aecpilot/model.mjs +4 -0
  81. package/dist/es/packages/apis/dist/es/aecpilotui/index.mjs +8 -0
  82. package/dist/es/packages/apis/dist/es/agentcliui/index.mjs +8 -0
  83. package/dist/es/packages/apis/dist/es/base/index.mjs +154 -0
  84. package/dist/es/packages/apis/dist/es/cvforce/index.mjs +431 -0
  85. package/dist/es/packages/apis/dist/es/cvforce/model.mjs +5 -0
  86. package/dist/es/packages/apis/dist/es/node_modules/uuid/dist/esm-browser/native.mjs +1 -0
  87. package/dist/es/packages/apis/dist/es/node_modules/uuid/dist/esm-browser/stringify.mjs +3 -0
  88. package/dist/es/utils.mjs +11 -0
  89. package/dist/lib/index.js +126 -0
  90. package/dist/src/AgentPlugin.d.ts +17 -0
  91. package/dist/src/AgentSession.d.ts +8 -0
  92. package/dist/src/BotClient.d.ts +46 -0
  93. package/dist/src/Config.d.ts +32 -0
  94. package/dist/src/DialogSession.d.ts +21 -0
  95. package/dist/src/EventBus.d.ts +23 -0
  96. package/dist/src/Logger.d.ts +12 -0
  97. package/dist/src/PayloadTypes.d.ts +84 -0
  98. package/dist/src/Session.d.ts +155 -0
  99. package/dist/src/__ tests __/AgentClient.spec.d.ts +1 -0
  100. package/dist/src/__ tests __/AgentSession.spec.d.ts +1 -0
  101. package/dist/src/__ tests __/DialogClient.spec.d.ts +1 -0
  102. package/dist/src/api/fetchEventSource/fetch.d.ts +44 -0
  103. package/dist/src/api/fetchEventSource/index.d.ts +1 -0
  104. package/dist/src/api/fetchEventSource/parse.d.ts +36 -0
  105. package/dist/src/api/index.d.ts +2 -0
  106. package/dist/src/index.d.ts +5 -0
  107. package/dist/src/utils.d.ts +4 -0
  108. package/package.json +102 -0
@@ -0,0 +1,9 @@
1
+ let e = !1;
2
+ try {
3
+ e = typeof XMLHttpRequest != "undefined" && "withCredentials" in new XMLHttpRequest();
4
+ } catch (t) {
5
+ }
6
+ const n = e;
7
+ export {
8
+ n as hasCORS
9
+ };
@@ -0,0 +1,18 @@
1
+ function l(t) {
2
+ let e = "";
3
+ for (let n in t)
4
+ t.hasOwnProperty(n) && (e.length && (e += "&"), e += encodeURIComponent(n) + "=" + encodeURIComponent(t[n]));
5
+ return e;
6
+ }
7
+ function p(t) {
8
+ let e = {}, n = t.split("&");
9
+ for (let o = 0, i = n.length; o < i; o++) {
10
+ let r = n[o].split("=");
11
+ e[decodeURIComponent(r[0])] = decodeURIComponent(r[1]);
12
+ }
13
+ return e;
14
+ }
15
+ export {
16
+ p as decode,
17
+ l as encode
18
+ };
@@ -0,0 +1,24 @@
1
+ const c = /^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/, u = ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"];
2
+ function p(t) {
3
+ if (t.length > 2e3)
4
+ throw "URI too long";
5
+ const o = t, i = t.indexOf("["), r = t.indexOf("]");
6
+ i != -1 && r != -1 && (t = t.substring(0, i) + t.substring(i, r).replace(/:/g, ";") + t.substring(r, t.length));
7
+ let n = c.exec(t || ""), e = {}, s = 14;
8
+ for (; s--; )
9
+ e[u[s]] = n[s] || "";
10
+ return i != -1 && r != -1 && (e.source = o, e.host = e.host.substring(1, e.host.length - 1).replace(/;/g, ":"), e.authority = e.authority.replace("[", "").replace("]", "").replace(/;/g, ":"), e.ipv6uri = !0), e.pathNames = a(e, e.path), e.queryKey = l(e, e.query), e;
11
+ }
12
+ function a(t, o) {
13
+ const i = /\/{2,9}/g, r = o.replace(i, "/").split("/");
14
+ return (o.slice(0, 1) == "/" || o.length === 0) && r.splice(0, 1), o.slice(-1) == "/" && r.splice(r.length - 1, 1), r;
15
+ }
16
+ function l(t, o) {
17
+ const i = {};
18
+ return o.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function(r, n, e) {
19
+ n && (i[n] = e);
20
+ }), i;
21
+ }
22
+ export {
23
+ p as parse
24
+ };
@@ -0,0 +1,19 @@
1
+ const c = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""), n = 64, i = {};
2
+ let r = 0, t = 0, l;
3
+ function a(e) {
4
+ let o = "";
5
+ do
6
+ o = c[e % n] + o, e = Math.floor(e / n);
7
+ while (e > 0);
8
+ return o;
9
+ }
10
+ function d() {
11
+ const e = a(+/* @__PURE__ */ new Date());
12
+ return e !== l ? (r = 0, l = e) : e + "." + a(r++);
13
+ }
14
+ for (; t < n; t++)
15
+ i[c[t]] = t;
16
+ export {
17
+ a as encode,
18
+ d as yeast
19
+ };
@@ -0,0 +1,4 @@
1
+ const e = (() => typeof self != "undefined" ? self : typeof window != "undefined" ? window : Function("return this")())();
2
+ export {
3
+ e as globalThisShim
4
+ };
@@ -0,0 +1,317 @@
1
+ import { transports as m } from "./transports/index.mjs";
2
+ import { installTimerFunctions as g, byteLength as y } from "./util.mjs";
3
+ import { decode as v } from "./contrib/parseqs.mjs";
4
+ import { parse as d } from "./contrib/parseuri.mjs";
5
+ import { Emitter as b } from "../../../@socket.io/component-emitter/lib/esm/index.mjs";
6
+ import { protocol as u } from "../../../engine.io-parser/build/esm/index.mjs";
7
+ import { defaultBinaryType as T } from "./transports/websocket-constructor.browser.mjs";
8
+ class i extends b {
9
+ /**
10
+ * Socket constructor.
11
+ *
12
+ * @param {String|Object} uri - uri or options
13
+ * @param {Object} opts - options
14
+ */
15
+ constructor(t, e = {}) {
16
+ super(), this.binaryType = T, this.writeBuffer = [], t && typeof t == "object" && (e = t, t = null), t ? (t = d(t), e.hostname = t.host, e.secure = t.protocol === "https" || t.protocol === "wss", e.port = t.port, t.query && (e.query = t.query)) : e.host && (e.hostname = d(e.host).host), g(this, e), this.secure = e.secure != null ? e.secure : typeof location != "undefined" && location.protocol === "https:", e.hostname && !e.port && (e.port = this.secure ? "443" : "80"), this.hostname = e.hostname || (typeof location != "undefined" ? location.hostname : "localhost"), this.port = e.port || (typeof location != "undefined" && location.port ? location.port : this.secure ? "443" : "80"), this.transports = e.transports || ["polling", "websocket", "webtransport"], this.writeBuffer = [], this.prevBufferLen = 0, this.opts = Object.assign({
17
+ path: "/engine.io",
18
+ agent: !1,
19
+ withCredentials: !1,
20
+ upgrade: !0,
21
+ timestampParam: "t",
22
+ rememberUpgrade: !1,
23
+ addTrailingSlash: !0,
24
+ rejectUnauthorized: !0,
25
+ perMessageDeflate: {
26
+ threshold: 1024
27
+ },
28
+ transportOptions: {},
29
+ closeOnBeforeunload: !1
30
+ }, e), this.opts.path = this.opts.path.replace(/\/$/, "") + (this.opts.addTrailingSlash ? "/" : ""), typeof this.opts.query == "string" && (this.opts.query = v(this.opts.query)), this.id = null, this.upgrades = null, this.pingInterval = null, this.pingTimeout = null, this.pingTimeoutTimer = null, typeof addEventListener == "function" && (this.opts.closeOnBeforeunload && (this.beforeunloadEventListener = () => {
31
+ this.transport && (this.transport.removeAllListeners(), this.transport.close());
32
+ }, addEventListener("beforeunload", this.beforeunloadEventListener, !1)), this.hostname !== "localhost" && (this.offlineEventListener = () => {
33
+ this.onClose("transport close", {
34
+ description: "network connection lost"
35
+ });
36
+ }, addEventListener("offline", this.offlineEventListener, !1))), this.open();
37
+ }
38
+ /**
39
+ * Creates transport of the given type.
40
+ *
41
+ * @param {String} name - transport name
42
+ * @return {Transport}
43
+ * @private
44
+ */
45
+ createTransport(t) {
46
+ const e = Object.assign({}, this.opts.query);
47
+ e.EIO = u, e.transport = t, this.id && (e.sid = this.id);
48
+ const s = Object.assign({}, this.opts, {
49
+ query: e,
50
+ socket: this,
51
+ hostname: this.hostname,
52
+ secure: this.secure,
53
+ port: this.port
54
+ }, this.opts.transportOptions[t]);
55
+ return new m[t](s);
56
+ }
57
+ /**
58
+ * Initializes transport to use and starts probe.
59
+ *
60
+ * @private
61
+ */
62
+ open() {
63
+ let t;
64
+ if (this.opts.rememberUpgrade && i.priorWebsocketSuccess && this.transports.indexOf("websocket") !== -1)
65
+ t = "websocket";
66
+ else if (this.transports.length === 0) {
67
+ this.setTimeoutFn(() => {
68
+ this.emitReserved("error", "No transports available");
69
+ }, 0);
70
+ return;
71
+ } else
72
+ t = this.transports[0];
73
+ this.readyState = "opening";
74
+ try {
75
+ t = this.createTransport(t);
76
+ } catch (e) {
77
+ this.transports.shift(), this.open();
78
+ return;
79
+ }
80
+ t.open(), this.setTransport(t);
81
+ }
82
+ /**
83
+ * Sets the current transport. Disables the existing one (if any).
84
+ *
85
+ * @private
86
+ */
87
+ setTransport(t) {
88
+ this.transport && this.transport.removeAllListeners(), this.transport = t, t.on("drain", this.onDrain.bind(this)).on("packet", this.onPacket.bind(this)).on("error", this.onError.bind(this)).on("close", (e) => this.onClose("transport close", e));
89
+ }
90
+ /**
91
+ * Probes a transport.
92
+ *
93
+ * @param {String} name - transport name
94
+ * @private
95
+ */
96
+ probe(t) {
97
+ let e = this.createTransport(t), s = !1;
98
+ i.priorWebsocketSuccess = !1;
99
+ const r = () => {
100
+ s || (e.send([{
101
+ type: "ping",
102
+ data: "probe"
103
+ }]), e.once("packet", (o) => {
104
+ if (!s)
105
+ if (o.type === "pong" && o.data === "probe") {
106
+ if (this.upgrading = !0, this.emitReserved("upgrading", e), !e)
107
+ return;
108
+ i.priorWebsocketSuccess = e.name === "websocket", this.transport.pause(() => {
109
+ s || this.readyState !== "closed" && (c(), this.setTransport(e), e.send([{
110
+ type: "upgrade"
111
+ }]), this.emitReserved("upgrade", e), e = null, this.upgrading = !1, this.flush());
112
+ });
113
+ } else {
114
+ const a = new Error("probe error");
115
+ a.transport = e.name, this.emitReserved("upgradeError", a);
116
+ }
117
+ }));
118
+ };
119
+ function n() {
120
+ s || (s = !0, c(), e.close(), e = null);
121
+ }
122
+ const h = (o) => {
123
+ const a = new Error("probe error: " + o);
124
+ a.transport = e.name, n(), this.emitReserved("upgradeError", a);
125
+ };
126
+ function p() {
127
+ h("transport closed");
128
+ }
129
+ function l() {
130
+ h("socket closed");
131
+ }
132
+ function f(o) {
133
+ e && o.name !== e.name && n();
134
+ }
135
+ const c = () => {
136
+ e.removeListener("open", r), e.removeListener("error", h), e.removeListener("close", p), this.off("close", l), this.off("upgrading", f);
137
+ };
138
+ e.once("open", r), e.once("error", h), e.once("close", p), this.once("close", l), this.once("upgrading", f), this.upgrades.indexOf("webtransport") !== -1 && t !== "webtransport" ? this.setTimeoutFn(() => {
139
+ s || e.open();
140
+ }, 200) : e.open();
141
+ }
142
+ /**
143
+ * Called when connection is deemed open.
144
+ *
145
+ * @private
146
+ */
147
+ onOpen() {
148
+ if (this.readyState = "open", i.priorWebsocketSuccess = this.transport.name === "websocket", this.emitReserved("open"), this.flush(), this.readyState === "open" && this.opts.upgrade) {
149
+ let t = 0;
150
+ const e = this.upgrades.length;
151
+ for (; t < e; t++)
152
+ this.probe(this.upgrades[t]);
153
+ }
154
+ }
155
+ /**
156
+ * Handles a packet.
157
+ *
158
+ * @private
159
+ */
160
+ onPacket(t) {
161
+ if (this.readyState === "opening" || this.readyState === "open" || this.readyState === "closing")
162
+ switch (this.emitReserved("packet", t), this.emitReserved("heartbeat"), this.resetPingTimeout(), t.type) {
163
+ case "open":
164
+ this.onHandshake(JSON.parse(t.data));
165
+ break;
166
+ case "ping":
167
+ this.sendPacket("pong"), this.emitReserved("ping"), this.emitReserved("pong");
168
+ break;
169
+ case "error":
170
+ const e = new Error("server error");
171
+ e.code = t.data, this.onError(e);
172
+ break;
173
+ case "message":
174
+ this.emitReserved("data", t.data), this.emitReserved("message", t.data);
175
+ break;
176
+ }
177
+ }
178
+ /**
179
+ * Called upon handshake completion.
180
+ *
181
+ * @param {Object} data - handshake obj
182
+ * @private
183
+ */
184
+ onHandshake(t) {
185
+ this.emitReserved("handshake", t), this.id = t.sid, this.transport.query.sid = t.sid, this.upgrades = this.filterUpgrades(t.upgrades), this.pingInterval = t.pingInterval, this.pingTimeout = t.pingTimeout, this.maxPayload = t.maxPayload, this.onOpen(), this.readyState !== "closed" && this.resetPingTimeout();
186
+ }
187
+ /**
188
+ * Sets and resets ping timeout timer based on server pings.
189
+ *
190
+ * @private
191
+ */
192
+ resetPingTimeout() {
193
+ this.clearTimeoutFn(this.pingTimeoutTimer), this.pingTimeoutTimer = this.setTimeoutFn(() => {
194
+ this.onClose("ping timeout");
195
+ }, this.pingInterval + this.pingTimeout), this.opts.autoUnref && this.pingTimeoutTimer.unref();
196
+ }
197
+ /**
198
+ * Called on `drain` event
199
+ *
200
+ * @private
201
+ */
202
+ onDrain() {
203
+ this.writeBuffer.splice(0, this.prevBufferLen), this.prevBufferLen = 0, this.writeBuffer.length === 0 ? this.emitReserved("drain") : this.flush();
204
+ }
205
+ /**
206
+ * Flush write buffers.
207
+ *
208
+ * @private
209
+ */
210
+ flush() {
211
+ if (this.readyState !== "closed" && this.transport.writable && !this.upgrading && this.writeBuffer.length) {
212
+ const t = this.getWritablePackets();
213
+ this.transport.send(t), this.prevBufferLen = t.length, this.emitReserved("flush");
214
+ }
215
+ }
216
+ /**
217
+ * Ensure the encoded size of the writeBuffer is below the maxPayload value sent by the server (only for HTTP
218
+ * long-polling)
219
+ *
220
+ * @private
221
+ */
222
+ getWritablePackets() {
223
+ if (!(this.maxPayload && this.transport.name === "polling" && this.writeBuffer.length > 1))
224
+ return this.writeBuffer;
225
+ let e = 1;
226
+ for (let s = 0; s < this.writeBuffer.length; s++) {
227
+ const r = this.writeBuffer[s].data;
228
+ if (r && (e += y(r)), s > 0 && e > this.maxPayload)
229
+ return this.writeBuffer.slice(0, s);
230
+ e += 2;
231
+ }
232
+ return this.writeBuffer;
233
+ }
234
+ /**
235
+ * Sends a message.
236
+ *
237
+ * @param {String} msg - message.
238
+ * @param {Object} options.
239
+ * @param {Function} callback function.
240
+ * @return {Socket} for chaining.
241
+ */
242
+ write(t, e, s) {
243
+ return this.sendPacket("message", t, e, s), this;
244
+ }
245
+ send(t, e, s) {
246
+ return this.sendPacket("message", t, e, s), this;
247
+ }
248
+ /**
249
+ * Sends a packet.
250
+ *
251
+ * @param {String} type: packet type.
252
+ * @param {String} data.
253
+ * @param {Object} options.
254
+ * @param {Function} fn - callback function.
255
+ * @private
256
+ */
257
+ sendPacket(t, e, s, r) {
258
+ if (typeof e == "function" && (r = e, e = void 0), typeof s == "function" && (r = s, s = null), this.readyState === "closing" || this.readyState === "closed")
259
+ return;
260
+ s = s || {}, s.compress = s.compress !== !1;
261
+ const n = {
262
+ type: t,
263
+ data: e,
264
+ options: s
265
+ };
266
+ this.emitReserved("packetCreate", n), this.writeBuffer.push(n), r && this.once("flush", r), this.flush();
267
+ }
268
+ /**
269
+ * Closes the connection.
270
+ */
271
+ close() {
272
+ const t = () => {
273
+ this.onClose("forced close"), this.transport.close();
274
+ }, e = () => {
275
+ this.off("upgrade", e), this.off("upgradeError", e), t();
276
+ }, s = () => {
277
+ this.once("upgrade", e), this.once("upgradeError", e);
278
+ };
279
+ return (this.readyState === "opening" || this.readyState === "open") && (this.readyState = "closing", this.writeBuffer.length ? this.once("drain", () => {
280
+ this.upgrading ? s() : t();
281
+ }) : this.upgrading ? s() : t()), this;
282
+ }
283
+ /**
284
+ * Called upon transport error
285
+ *
286
+ * @private
287
+ */
288
+ onError(t) {
289
+ i.priorWebsocketSuccess = !1, this.emitReserved("error", t), this.onClose("transport error", t);
290
+ }
291
+ /**
292
+ * Called upon transport close.
293
+ *
294
+ * @private
295
+ */
296
+ onClose(t, e) {
297
+ (this.readyState === "opening" || this.readyState === "open" || this.readyState === "closing") && (this.clearTimeoutFn(this.pingTimeoutTimer), this.transport.removeAllListeners("close"), this.transport.close(), this.transport.removeAllListeners(), typeof removeEventListener == "function" && (removeEventListener("beforeunload", this.beforeunloadEventListener, !1), removeEventListener("offline", this.offlineEventListener, !1)), this.readyState = "closed", this.id = null, this.emitReserved("close", t, e), this.writeBuffer = [], this.prevBufferLen = 0);
298
+ }
299
+ /**
300
+ * Filters upgrades, returning only those matching client transports.
301
+ *
302
+ * @param {Array} upgrades - server upgrades
303
+ * @private
304
+ */
305
+ filterUpgrades(t) {
306
+ const e = [];
307
+ let s = 0;
308
+ const r = t.length;
309
+ for (; s < r; s++)
310
+ ~this.transports.indexOf(t[s]) && e.push(t[s]);
311
+ return e;
312
+ }
313
+ }
314
+ i.protocol = u;
315
+ export {
316
+ i as Socket
317
+ };
@@ -0,0 +1,113 @@
1
+ import "../../../engine.io-parser/build/esm/encodePacket.browser.mjs";
2
+ import { decodePacket as o } from "../../../engine.io-parser/build/esm/decodePacket.browser.mjs";
3
+ import "../../../engine.io-parser/build/esm/commons.mjs";
4
+ import { Emitter as i } from "../../../@socket.io/component-emitter/lib/esm/index.mjs";
5
+ import { installTimerFunctions as n } from "./util.mjs";
6
+ import { encode as p } from "./contrib/parseqs.mjs";
7
+ class h extends Error {
8
+ constructor(t, e, r) {
9
+ super(t), this.description = e, this.context = r, this.type = "TransportError";
10
+ }
11
+ }
12
+ class y extends i {
13
+ /**
14
+ * Transport abstract constructor.
15
+ *
16
+ * @param {Object} opts - options
17
+ * @protected
18
+ */
19
+ constructor(t) {
20
+ super(), this.writable = !1, n(this, t), this.opts = t, this.query = t.query, this.socket = t.socket;
21
+ }
22
+ /**
23
+ * Emits an error.
24
+ *
25
+ * @param {String} reason
26
+ * @param description
27
+ * @param context - the error context
28
+ * @return {Transport} for chaining
29
+ * @protected
30
+ */
31
+ onError(t, e, r) {
32
+ return super.emitReserved("error", new h(t, e, r)), this;
33
+ }
34
+ /**
35
+ * Opens the transport.
36
+ */
37
+ open() {
38
+ return this.readyState = "opening", this.doOpen(), this;
39
+ }
40
+ /**
41
+ * Closes the transport.
42
+ */
43
+ close() {
44
+ return (this.readyState === "opening" || this.readyState === "open") && (this.doClose(), this.onClose()), this;
45
+ }
46
+ /**
47
+ * Sends multiple packets.
48
+ *
49
+ * @param {Array} packets
50
+ */
51
+ send(t) {
52
+ this.readyState === "open" && this.write(t);
53
+ }
54
+ /**
55
+ * Called upon open
56
+ *
57
+ * @protected
58
+ */
59
+ onOpen() {
60
+ this.readyState = "open", this.writable = !0, super.emitReserved("open");
61
+ }
62
+ /**
63
+ * Called with data.
64
+ *
65
+ * @param {String} data
66
+ * @protected
67
+ */
68
+ onData(t) {
69
+ const e = o(t, this.socket.binaryType);
70
+ this.onPacket(e);
71
+ }
72
+ /**
73
+ * Called with a decoded packet.
74
+ *
75
+ * @protected
76
+ */
77
+ onPacket(t) {
78
+ super.emitReserved("packet", t);
79
+ }
80
+ /**
81
+ * Called upon close.
82
+ *
83
+ * @protected
84
+ */
85
+ onClose(t) {
86
+ this.readyState = "closed", super.emitReserved("close", t);
87
+ }
88
+ /**
89
+ * Pauses the transport, in order not to lose packets during an upgrade.
90
+ *
91
+ * @param onPause
92
+ */
93
+ pause(t) {
94
+ }
95
+ createUri(t, e = {}) {
96
+ return t + "://" + this._hostname() + this._port() + this.opts.path + this._query(e);
97
+ }
98
+ _hostname() {
99
+ const t = this.opts.hostname;
100
+ return t.indexOf(":") === -1 ? t : "[" + t + "]";
101
+ }
102
+ _port() {
103
+ return this.opts.port && (this.opts.secure && +(this.opts.port !== 443) || !this.opts.secure && Number(this.opts.port) !== 80) ? ":" + this.opts.port : "";
104
+ }
105
+ _query(t) {
106
+ const e = p(t);
107
+ return e.length ? "?" + e : "";
108
+ }
109
+ }
110
+ export {
111
+ y as Transport,
112
+ h as TransportError
113
+ };
@@ -0,0 +1,11 @@
1
+ import { Polling as o } from "./polling.mjs";
2
+ import { WS as r } from "./websocket.mjs";
3
+ import { WT as t } from "./webtransport.mjs";
4
+ const n = {
5
+ websocket: r,
6
+ webtransport: t,
7
+ polling: o
8
+ };
9
+ export {
10
+ n as transports
11
+ };