linkque-cli-v2 1.0.5 → 1.0.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.
- package/README.md +1 -1
- package/linkquejs.js +23 -2212
- package/package.json +4 -1
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/anthropic-messages-B5T6TFD2.js +7172 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/azure-openai-responses-S7HNQOSE.js +229 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-2NGJGNYB.js +1765 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-3S3TOEBZ.js +608 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-46SEH6ER.js +78 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-6MHDOBWO.js +12 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-6WHNFJT4.js +31278 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-7BQRUS4C.js +671 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-7QWAKKTY.js +7054 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-CT4G24PS.js +8 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-DYEQRE6N.js +343 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-E2P6TIFG.js +31 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-FHNQ6DPF.js +14 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-FJ2BZPIM.js +60308 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-HTG7JBF2.js +38 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-I64V3ICJ.js +11166 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-IAT272TH.js +12121 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-IKZ25GJD.js +497 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-MKS245OU.js +3570 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-NKEOCGYU.js +76 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-OXGCUIKV.js +33 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-RYONFGPP.js +317 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-UEVQXSKG.js +4765 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-UFVAKOTZ.js +17 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-VS2QQHAK.js +46 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-XMVFOHGJ.js +31 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-XUFLSZM4.js +5319 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-Y6UTJIT4.js +23 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/chunk-YDKZZ6EH.js +3584 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/dist-QD3CV4KC.js +1224 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/google-generative-ai-IOXNKFEV.js +412 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/google-vertex-U4ZV5IXZ.js +461 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/mistral-conversations-G3K7SSWR.js +30344 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/multipart-parser-2VJ7LVQD.js +170 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/multipart-parser-AJMV6U6H.js +178 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/multipart-parser-PULXGNYO.js +368 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/openai-codex-responses-4JJLPTCS.js +1308 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/openai-completions-PH4WW6E7.js +977 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/openai-responses-KGWAX6HR.js +264 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/openrouter-images-LMBZZQ76.js +138 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/otel-7GSG7QQO.js +6657 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/pi-messages-ZX3KUWSZ.js +309 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/runtime/handler/chat.js +2348 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/runtime/handler/clientCapability.js +16 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/runtime/protocol.js +17 -0
- package/vendor/linkque-agent-appwrite-integrate/dist/esm/src-NGZW4JXI.js +1396 -0
- package/vendor/linkque-agent-appwrite-integrate/package.json +1 -0
- package/worker.js +16 -6
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import {
|
|
2
|
+
On,
|
|
3
|
+
br
|
|
4
|
+
} from "./chunk-MKS245OU.js";
|
|
5
|
+
import "./chunk-VS2QQHAK.js";
|
|
6
|
+
|
|
7
|
+
// ../../node_modules/node-fetch-native-with-agent/dist/chunks/multipart-parser.mjs
|
|
8
|
+
var B = Object.defineProperty;
|
|
9
|
+
var E = (u, a) => B(u, "name", { value: a, configurable: true });
|
|
10
|
+
var D = 0;
|
|
11
|
+
var t = { START_BOUNDARY: D++, HEADER_FIELD_START: D++, HEADER_FIELD: D++, HEADER_VALUE_START: D++, HEADER_VALUE: D++, HEADER_VALUE_ALMOST_DONE: D++, HEADERS_ALMOST_DONE: D++, PART_DATA_START: D++, PART_DATA: D++, END: D++ };
|
|
12
|
+
var w = 1;
|
|
13
|
+
var R = { PART_BOUNDARY: w, LAST_BOUNDARY: w *= 2 };
|
|
14
|
+
var g = 10;
|
|
15
|
+
var N = 13;
|
|
16
|
+
var x = 32;
|
|
17
|
+
var P = 45;
|
|
18
|
+
var C = 58;
|
|
19
|
+
var I = 97;
|
|
20
|
+
var M = 122;
|
|
21
|
+
var $ = E((u) => u | 32, "lower");
|
|
22
|
+
var m = E(() => {
|
|
23
|
+
}, "noop");
|
|
24
|
+
var F = class F2 {
|
|
25
|
+
constructor(a) {
|
|
26
|
+
this.index = 0, this.flags = 0, this.onHeaderEnd = m, this.onHeaderField = m, this.onHeadersEnd = m, this.onHeaderValue = m, this.onPartBegin = m, this.onPartData = m, this.onPartEnd = m, this.boundaryChars = {}, a = `\r
|
|
27
|
+
--` + a;
|
|
28
|
+
const n = new Uint8Array(a.length);
|
|
29
|
+
for (let r = 0; r < a.length; r++) n[r] = a.charCodeAt(r), this.boundaryChars[n[r]] = true;
|
|
30
|
+
this.boundary = n, this.lookbehind = new Uint8Array(this.boundary.length + 8), this.state = t.START_BOUNDARY;
|
|
31
|
+
}
|
|
32
|
+
write(a) {
|
|
33
|
+
let n = 0;
|
|
34
|
+
const r = a.length;
|
|
35
|
+
let d = this.index, { lookbehind: l, boundary: c, boundaryChars: p, index: e, state: i, flags: A } = this;
|
|
36
|
+
const H = this.boundary.length, O = H - 1, y = a.length;
|
|
37
|
+
let o, L;
|
|
38
|
+
const f = E((h) => {
|
|
39
|
+
this[h + "Mark"] = n;
|
|
40
|
+
}, "mark"), s = E((h) => {
|
|
41
|
+
delete this[h + "Mark"];
|
|
42
|
+
}, "clear"), T = E((h, S, _, U) => {
|
|
43
|
+
(S === void 0 || S !== _) && this[h](U && U.subarray(S, _));
|
|
44
|
+
}, "callback"), b = E((h, S) => {
|
|
45
|
+
const _ = h + "Mark";
|
|
46
|
+
_ in this && (S ? (T(h, this[_], n, a), delete this[_]) : (T(h, this[_], a.length, a), this[_] = 0));
|
|
47
|
+
}, "dataCallback");
|
|
48
|
+
for (n = 0; n < r; n++) switch (o = a[n], i) {
|
|
49
|
+
case t.START_BOUNDARY:
|
|
50
|
+
if (e === c.length - 2) {
|
|
51
|
+
if (o === P) A |= R.LAST_BOUNDARY;
|
|
52
|
+
else if (o !== N) return;
|
|
53
|
+
e++;
|
|
54
|
+
break;
|
|
55
|
+
} else if (e - 1 === c.length - 2) {
|
|
56
|
+
if (A & R.LAST_BOUNDARY && o === P) i = t.END, A = 0;
|
|
57
|
+
else if (!(A & R.LAST_BOUNDARY) && o === g) e = 0, T("onPartBegin"), i = t.HEADER_FIELD_START;
|
|
58
|
+
else return;
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
o !== c[e + 2] && (e = -2), o === c[e + 2] && e++;
|
|
62
|
+
break;
|
|
63
|
+
case t.HEADER_FIELD_START:
|
|
64
|
+
i = t.HEADER_FIELD, f("onHeaderField"), e = 0;
|
|
65
|
+
case t.HEADER_FIELD:
|
|
66
|
+
if (o === N) {
|
|
67
|
+
s("onHeaderField"), i = t.HEADERS_ALMOST_DONE;
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
if (e++, o === P) break;
|
|
71
|
+
if (o === C) {
|
|
72
|
+
if (e === 1) return;
|
|
73
|
+
b("onHeaderField", true), i = t.HEADER_VALUE_START;
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
if (L = $(o), L < I || L > M) return;
|
|
77
|
+
break;
|
|
78
|
+
case t.HEADER_VALUE_START:
|
|
79
|
+
if (o === x) break;
|
|
80
|
+
f("onHeaderValue"), i = t.HEADER_VALUE;
|
|
81
|
+
case t.HEADER_VALUE:
|
|
82
|
+
o === N && (b("onHeaderValue", true), T("onHeaderEnd"), i = t.HEADER_VALUE_ALMOST_DONE);
|
|
83
|
+
break;
|
|
84
|
+
case t.HEADER_VALUE_ALMOST_DONE:
|
|
85
|
+
if (o !== g) return;
|
|
86
|
+
i = t.HEADER_FIELD_START;
|
|
87
|
+
break;
|
|
88
|
+
case t.HEADERS_ALMOST_DONE:
|
|
89
|
+
if (o !== g) return;
|
|
90
|
+
T("onHeadersEnd"), i = t.PART_DATA_START;
|
|
91
|
+
break;
|
|
92
|
+
case t.PART_DATA_START:
|
|
93
|
+
i = t.PART_DATA, f("onPartData");
|
|
94
|
+
case t.PART_DATA:
|
|
95
|
+
if (d = e, e === 0) {
|
|
96
|
+
for (n += O; n < y && !(a[n] in p); ) n += H;
|
|
97
|
+
n -= O, o = a[n];
|
|
98
|
+
}
|
|
99
|
+
if (e < c.length) c[e] === o ? (e === 0 && b("onPartData", true), e++) : e = 0;
|
|
100
|
+
else if (e === c.length) e++, o === N ? A |= R.PART_BOUNDARY : o === P ? A |= R.LAST_BOUNDARY : e = 0;
|
|
101
|
+
else if (e - 1 === c.length) if (A & R.PART_BOUNDARY) {
|
|
102
|
+
if (e = 0, o === g) {
|
|
103
|
+
A &= ~R.PART_BOUNDARY, T("onPartEnd"), T("onPartBegin"), i = t.HEADER_FIELD_START;
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
} else A & R.LAST_BOUNDARY && o === P ? (T("onPartEnd"), i = t.END, A = 0) : e = 0;
|
|
107
|
+
if (e > 0) l[e - 1] = o;
|
|
108
|
+
else if (d > 0) {
|
|
109
|
+
const h = new Uint8Array(l.buffer, l.byteOffset, l.byteLength);
|
|
110
|
+
T("onPartData", 0, d, h), d = 0, f("onPartData"), n--;
|
|
111
|
+
}
|
|
112
|
+
break;
|
|
113
|
+
case t.END:
|
|
114
|
+
break;
|
|
115
|
+
default:
|
|
116
|
+
throw new Error(`Unexpected state entered: ${i}`);
|
|
117
|
+
}
|
|
118
|
+
b("onHeaderField"), b("onHeaderValue"), b("onPartData"), this.index = e, this.state = i, this.flags = A;
|
|
119
|
+
}
|
|
120
|
+
end() {
|
|
121
|
+
if (this.state === t.HEADER_FIELD_START && this.index === 0 || this.state === t.PART_DATA && this.index === this.boundary.length) this.onPartEnd();
|
|
122
|
+
else if (this.state !== t.END) throw new Error("MultipartParser.end(): stream ended unexpectedly");
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
E(F, "MultipartParser");
|
|
126
|
+
var k = F;
|
|
127
|
+
function v(u) {
|
|
128
|
+
const a = u.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);
|
|
129
|
+
if (!a) return;
|
|
130
|
+
const n = a[2] || a[3] || "";
|
|
131
|
+
let r = n.slice(n.lastIndexOf("\\") + 1);
|
|
132
|
+
return r = r.replace(/%22/g, '"'), r = r.replace(/&#(\d{4});/g, (d, l) => String.fromCharCode(l)), r;
|
|
133
|
+
}
|
|
134
|
+
E(v, "_fileName");
|
|
135
|
+
async function Z(u, a) {
|
|
136
|
+
if (!/multipart/i.test(a)) throw new TypeError("Failed to fetch");
|
|
137
|
+
const n = a.match(/boundary=(?:"([^"]+)"|([^;]+))/i);
|
|
138
|
+
if (!n) throw new TypeError("no or bad content-type header, no multipart boundary");
|
|
139
|
+
const r = new k(n[1] || n[2]);
|
|
140
|
+
let d, l, c, p, e, i;
|
|
141
|
+
const A = [], H = new br(), O = E((s) => {
|
|
142
|
+
c += f.decode(s, { stream: true });
|
|
143
|
+
}, "onPartData"), y = E((s) => {
|
|
144
|
+
A.push(s);
|
|
145
|
+
}, "appendToFile"), o = E(() => {
|
|
146
|
+
const s = new On(A, i, { type: e });
|
|
147
|
+
H.append(p, s);
|
|
148
|
+
}, "appendFileToFormData"), L = E(() => {
|
|
149
|
+
H.append(p, c);
|
|
150
|
+
}, "appendEntryToFormData"), f = new TextDecoder("utf-8");
|
|
151
|
+
f.decode(), r.onPartBegin = function() {
|
|
152
|
+
r.onPartData = O, r.onPartEnd = L, d = "", l = "", c = "", p = "", e = "", i = null, A.length = 0;
|
|
153
|
+
}, r.onHeaderField = function(s) {
|
|
154
|
+
d += f.decode(s, { stream: true });
|
|
155
|
+
}, r.onHeaderValue = function(s) {
|
|
156
|
+
l += f.decode(s, { stream: true });
|
|
157
|
+
}, r.onHeaderEnd = function() {
|
|
158
|
+
if (l += f.decode(), d = d.toLowerCase(), d === "content-disposition") {
|
|
159
|
+
const s = l.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);
|
|
160
|
+
s && (p = s[2] || s[3] || ""), i = v(l), i && (r.onPartData = y, r.onPartEnd = o);
|
|
161
|
+
} else d === "content-type" && (e = l);
|
|
162
|
+
l = "", d = "";
|
|
163
|
+
};
|
|
164
|
+
for await (const s of u) r.write(s);
|
|
165
|
+
return r.end(), H;
|
|
166
|
+
}
|
|
167
|
+
E(Z, "toFormData");
|
|
168
|
+
export {
|
|
169
|
+
Z as toFormData
|
|
170
|
+
};
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import {
|
|
2
|
+
require_node,
|
|
3
|
+
require_node_fetch_native_with_agent_61758d11
|
|
4
|
+
} from "./chunk-YDKZZ6EH.js";
|
|
5
|
+
import {
|
|
6
|
+
__commonJS,
|
|
7
|
+
__require
|
|
8
|
+
} from "./chunk-VS2QQHAK.js";
|
|
9
|
+
|
|
10
|
+
// ../../node_modules/node-fetch-native-with-agent/dist/chunks/multipart-parser.cjs
|
|
11
|
+
var require_multipart_parser = __commonJS({
|
|
12
|
+
"../../node_modules/node-fetch-native-with-agent/dist/chunks/multipart-parser.cjs"(exports) {
|
|
13
|
+
var y = Object.defineProperty;
|
|
14
|
+
var c = (R, o) => y(R, "name", { value: o, configurable: true });
|
|
15
|
+
__require("node:fs"), __require("node:path");
|
|
16
|
+
var node = require_node();
|
|
17
|
+
__require("node:http"), __require("node:https"), __require("node:zlib"), __require("node:stream"), __require("node:buffer"), __require("node:util"), require_node_fetch_native_with_agent_61758d11(), __require("node:url"), __require("node:net");
|
|
18
|
+
var s = 0;
|
|
19
|
+
var S = { START_BOUNDARY: s++, HEADER_FIELD_START: s++, HEADER_FIELD: s++, HEADER_VALUE_START: s++, HEADER_VALUE: s++, HEADER_VALUE_ALMOST_DONE: s++, HEADERS_ALMOST_DONE: s++, PART_DATA_START: s++, PART_DATA: s++, END: s++ };
|
|
20
|
+
var f = 1;
|
|
21
|
+
var F = { PART_BOUNDARY: f, LAST_BOUNDARY: f *= 2 };
|
|
22
|
+
var LF = 10;
|
|
23
|
+
var CR = 13;
|
|
24
|
+
var SPACE = 32;
|
|
25
|
+
var HYPHEN = 45;
|
|
26
|
+
var COLON = 58;
|
|
27
|
+
var A = 97;
|
|
28
|
+
var Z = 122;
|
|
29
|
+
var lower = c((R) => R | 32, "lower");
|
|
30
|
+
var noop = c(() => {
|
|
31
|
+
}, "noop");
|
|
32
|
+
var O = class O {
|
|
33
|
+
constructor(o) {
|
|
34
|
+
this.index = 0, this.flags = 0, this.onHeaderEnd = noop, this.onHeaderField = noop, this.onHeadersEnd = noop, this.onHeaderValue = noop, this.onPartBegin = noop, this.onPartData = noop, this.onPartEnd = noop, this.boundaryChars = {}, o = `\r
|
|
35
|
+
--` + o;
|
|
36
|
+
const t = new Uint8Array(o.length);
|
|
37
|
+
for (let n = 0; n < o.length; n++) t[n] = o.charCodeAt(n), this.boundaryChars[t[n]] = true;
|
|
38
|
+
this.boundary = t, this.lookbehind = new Uint8Array(this.boundary.length + 8), this.state = S.START_BOUNDARY;
|
|
39
|
+
}
|
|
40
|
+
write(o) {
|
|
41
|
+
let t = 0;
|
|
42
|
+
const n = o.length;
|
|
43
|
+
let E = this.index, { lookbehind: l, boundary: h, boundaryChars: H, index: e, state: a, flags: d } = this;
|
|
44
|
+
const b = this.boundary.length, g = b - 1, m = o.length;
|
|
45
|
+
let r, P;
|
|
46
|
+
const u = c((D) => {
|
|
47
|
+
this[D + "Mark"] = t;
|
|
48
|
+
}, "mark"), i = c((D) => {
|
|
49
|
+
delete this[D + "Mark"];
|
|
50
|
+
}, "clear"), T = c((D, p, _, N) => {
|
|
51
|
+
(p === void 0 || p !== _) && this[D](N && N.subarray(p, _));
|
|
52
|
+
}, "callback"), L = c((D, p) => {
|
|
53
|
+
const _ = D + "Mark";
|
|
54
|
+
_ in this && (p ? (T(D, this[_], t, o), delete this[_]) : (T(D, this[_], o.length, o), this[_] = 0));
|
|
55
|
+
}, "dataCallback");
|
|
56
|
+
for (t = 0; t < n; t++) switch (r = o[t], a) {
|
|
57
|
+
case S.START_BOUNDARY:
|
|
58
|
+
if (e === h.length - 2) {
|
|
59
|
+
if (r === HYPHEN) d |= F.LAST_BOUNDARY;
|
|
60
|
+
else if (r !== CR) return;
|
|
61
|
+
e++;
|
|
62
|
+
break;
|
|
63
|
+
} else if (e - 1 === h.length - 2) {
|
|
64
|
+
if (d & F.LAST_BOUNDARY && r === HYPHEN) a = S.END, d = 0;
|
|
65
|
+
else if (!(d & F.LAST_BOUNDARY) && r === LF) e = 0, T("onPartBegin"), a = S.HEADER_FIELD_START;
|
|
66
|
+
else return;
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
r !== h[e + 2] && (e = -2), r === h[e + 2] && e++;
|
|
70
|
+
break;
|
|
71
|
+
case S.HEADER_FIELD_START:
|
|
72
|
+
a = S.HEADER_FIELD, u("onHeaderField"), e = 0;
|
|
73
|
+
case S.HEADER_FIELD:
|
|
74
|
+
if (r === CR) {
|
|
75
|
+
i("onHeaderField"), a = S.HEADERS_ALMOST_DONE;
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
if (e++, r === HYPHEN) break;
|
|
79
|
+
if (r === COLON) {
|
|
80
|
+
if (e === 1) return;
|
|
81
|
+
L("onHeaderField", true), a = S.HEADER_VALUE_START;
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
if (P = lower(r), P < A || P > Z) return;
|
|
85
|
+
break;
|
|
86
|
+
case S.HEADER_VALUE_START:
|
|
87
|
+
if (r === SPACE) break;
|
|
88
|
+
u("onHeaderValue"), a = S.HEADER_VALUE;
|
|
89
|
+
case S.HEADER_VALUE:
|
|
90
|
+
r === CR && (L("onHeaderValue", true), T("onHeaderEnd"), a = S.HEADER_VALUE_ALMOST_DONE);
|
|
91
|
+
break;
|
|
92
|
+
case S.HEADER_VALUE_ALMOST_DONE:
|
|
93
|
+
if (r !== LF) return;
|
|
94
|
+
a = S.HEADER_FIELD_START;
|
|
95
|
+
break;
|
|
96
|
+
case S.HEADERS_ALMOST_DONE:
|
|
97
|
+
if (r !== LF) return;
|
|
98
|
+
T("onHeadersEnd"), a = S.PART_DATA_START;
|
|
99
|
+
break;
|
|
100
|
+
case S.PART_DATA_START:
|
|
101
|
+
a = S.PART_DATA, u("onPartData");
|
|
102
|
+
case S.PART_DATA:
|
|
103
|
+
if (E = e, e === 0) {
|
|
104
|
+
for (t += g; t < m && !(o[t] in H); ) t += b;
|
|
105
|
+
t -= g, r = o[t];
|
|
106
|
+
}
|
|
107
|
+
if (e < h.length) h[e] === r ? (e === 0 && L("onPartData", true), e++) : e = 0;
|
|
108
|
+
else if (e === h.length) e++, r === CR ? d |= F.PART_BOUNDARY : r === HYPHEN ? d |= F.LAST_BOUNDARY : e = 0;
|
|
109
|
+
else if (e - 1 === h.length) if (d & F.PART_BOUNDARY) {
|
|
110
|
+
if (e = 0, r === LF) {
|
|
111
|
+
d &= ~F.PART_BOUNDARY, T("onPartEnd"), T("onPartBegin"), a = S.HEADER_FIELD_START;
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
} else d & F.LAST_BOUNDARY && r === HYPHEN ? (T("onPartEnd"), a = S.END, d = 0) : e = 0;
|
|
115
|
+
if (e > 0) l[e - 1] = r;
|
|
116
|
+
else if (E > 0) {
|
|
117
|
+
const D = new Uint8Array(l.buffer, l.byteOffset, l.byteLength);
|
|
118
|
+
T("onPartData", 0, E, D), E = 0, u("onPartData"), t--;
|
|
119
|
+
}
|
|
120
|
+
break;
|
|
121
|
+
case S.END:
|
|
122
|
+
break;
|
|
123
|
+
default:
|
|
124
|
+
throw new Error(`Unexpected state entered: ${a}`);
|
|
125
|
+
}
|
|
126
|
+
L("onHeaderField"), L("onHeaderValue"), L("onPartData"), this.index = e, this.state = a, this.flags = d;
|
|
127
|
+
}
|
|
128
|
+
end() {
|
|
129
|
+
if (this.state === S.HEADER_FIELD_START && this.index === 0 || this.state === S.PART_DATA && this.index === this.boundary.length) this.onPartEnd();
|
|
130
|
+
else if (this.state !== S.END) throw new Error("MultipartParser.end(): stream ended unexpectedly");
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
c(O, "MultipartParser");
|
|
134
|
+
var MultipartParser = O;
|
|
135
|
+
function _fileName(R) {
|
|
136
|
+
const o = R.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);
|
|
137
|
+
if (!o) return;
|
|
138
|
+
const t = o[2] || o[3] || "";
|
|
139
|
+
let n = t.slice(t.lastIndexOf("\\") + 1);
|
|
140
|
+
return n = n.replace(/%22/g, '"'), n = n.replace(/&#(\d{4});/g, (E, l) => String.fromCharCode(l)), n;
|
|
141
|
+
}
|
|
142
|
+
c(_fileName, "_fileName");
|
|
143
|
+
async function toFormData(R, o) {
|
|
144
|
+
if (!/multipart/i.test(o)) throw new TypeError("Failed to fetch");
|
|
145
|
+
const t = o.match(/boundary=(?:"([^"]+)"|([^;]+))/i);
|
|
146
|
+
if (!t) throw new TypeError("no or bad content-type header, no multipart boundary");
|
|
147
|
+
const n = new MultipartParser(t[1] || t[2]);
|
|
148
|
+
let E, l, h, H, e, a;
|
|
149
|
+
const d = [], b = new node.FormData(), g = c((i) => {
|
|
150
|
+
h += u.decode(i, { stream: true });
|
|
151
|
+
}, "onPartData"), m = c((i) => {
|
|
152
|
+
d.push(i);
|
|
153
|
+
}, "appendToFile"), r = c(() => {
|
|
154
|
+
const i = new node.File(d, a, { type: e });
|
|
155
|
+
b.append(H, i);
|
|
156
|
+
}, "appendFileToFormData"), P = c(() => {
|
|
157
|
+
b.append(H, h);
|
|
158
|
+
}, "appendEntryToFormData"), u = new TextDecoder("utf-8");
|
|
159
|
+
u.decode(), n.onPartBegin = function() {
|
|
160
|
+
n.onPartData = g, n.onPartEnd = P, E = "", l = "", h = "", H = "", e = "", a = null, d.length = 0;
|
|
161
|
+
}, n.onHeaderField = function(i) {
|
|
162
|
+
E += u.decode(i, { stream: true });
|
|
163
|
+
}, n.onHeaderValue = function(i) {
|
|
164
|
+
l += u.decode(i, { stream: true });
|
|
165
|
+
}, n.onHeaderEnd = function() {
|
|
166
|
+
if (l += u.decode(), E = E.toLowerCase(), E === "content-disposition") {
|
|
167
|
+
const i = l.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);
|
|
168
|
+
i && (H = i[2] || i[3] || ""), a = _fileName(l), a && (n.onPartData = m, n.onPartEnd = r);
|
|
169
|
+
} else E === "content-type" && (e = l);
|
|
170
|
+
l = "", E = "";
|
|
171
|
+
};
|
|
172
|
+
for await (const i of R) n.write(i);
|
|
173
|
+
return n.end(), b;
|
|
174
|
+
}
|
|
175
|
+
c(toFormData, "toFormData"), exports.toFormData = toFormData;
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
export default require_multipart_parser();
|