@ceki/sdk 1.9.1 → 1.10.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.
- package/README.md +0 -12
- package/dist/cli.js +28 -7
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +24 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +24 -5
- package/dist/index.js.map +1 -1
- package/package.json +18 -7
package/dist/index.cjs
CHANGED
|
@@ -192,6 +192,9 @@ var ChatSendFailed = class extends CekiBrowserError {
|
|
|
192
192
|
}
|
|
193
193
|
};
|
|
194
194
|
|
|
195
|
+
// src/browser.ts
|
|
196
|
+
var import_mime_types = __toESM(require("mime-types"), 1);
|
|
197
|
+
|
|
195
198
|
// src/chat.ts
|
|
196
199
|
var crypto = __toESM(require("crypto"), 1);
|
|
197
200
|
var fs = __toESM(require("fs"), 1);
|
|
@@ -257,7 +260,7 @@ var BrowserChat = class {
|
|
|
257
260
|
if (buf.length > MAX_IMAGE_SIZE) {
|
|
258
261
|
throw new Error(`Image too large: ${buf.length} bytes (max ${MAX_IMAGE_SIZE})`);
|
|
259
262
|
}
|
|
260
|
-
const { mime, ext } = detectMime(buf);
|
|
263
|
+
const { mime: mime2, ext } = detectMime(buf);
|
|
261
264
|
if (!filename.includes(".")) {
|
|
262
265
|
filename = `${filename}.${ext}`;
|
|
263
266
|
}
|
|
@@ -268,7 +271,7 @@ var BrowserChat = class {
|
|
|
268
271
|
session_id: this._browser.sessionId,
|
|
269
272
|
client_msg_id: clientMsgId,
|
|
270
273
|
filename,
|
|
271
|
-
mime,
|
|
274
|
+
mime: mime2,
|
|
272
275
|
data_b64
|
|
273
276
|
};
|
|
274
277
|
if (text) msg.text = text;
|
|
@@ -617,7 +620,7 @@ function keymapForChar(char) {
|
|
|
617
620
|
}
|
|
618
621
|
|
|
619
622
|
// src/browser.ts
|
|
620
|
-
var Browser = class {
|
|
623
|
+
var Browser = class _Browser {
|
|
621
624
|
sessionId;
|
|
622
625
|
browserId;
|
|
623
626
|
scheduleId;
|
|
@@ -857,7 +860,10 @@ var Browser = class {
|
|
|
857
860
|
ts: /* @__PURE__ */ new Date()
|
|
858
861
|
};
|
|
859
862
|
}
|
|
860
|
-
|
|
863
|
+
static _detectMime(filename) {
|
|
864
|
+
return import_mime_types.default.lookup(filename) || "application/octet-stream";
|
|
865
|
+
}
|
|
866
|
+
async upload(selector, source, filename, mime2) {
|
|
861
867
|
let buf;
|
|
862
868
|
let resolvedFilename;
|
|
863
869
|
if (typeof source === "string") {
|
|
@@ -869,6 +875,8 @@ var Browser = class {
|
|
|
869
875
|
buf = Buffer.isBuffer(source) ? source : Buffer.from(source);
|
|
870
876
|
resolvedFilename = filename ?? "file";
|
|
871
877
|
}
|
|
878
|
+
const mimeType = mime2 ?? _Browser._detectMime(resolvedFilename);
|
|
879
|
+
console.info(`upload: file=${resolvedFilename} mime=${mimeType} size=${buf.length}`);
|
|
872
880
|
const b64 = buf.toString("base64");
|
|
873
881
|
const size = buf.length;
|
|
874
882
|
const expression = `
|
|
@@ -879,7 +887,7 @@ var Browser = class {
|
|
|
879
887
|
var binary = atob(b64);
|
|
880
888
|
var bytes = new Uint8Array(binary.length);
|
|
881
889
|
for (var i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i);
|
|
882
|
-
var file = new File([bytes], ${JSON.stringify(resolvedFilename)}, {type:
|
|
890
|
+
var file = new File([bytes], ${JSON.stringify(resolvedFilename)}, {type: ${JSON.stringify(mimeType)}});
|
|
883
891
|
var dt = new DataTransfer();
|
|
884
892
|
dt.items.add(file);
|
|
885
893
|
input.files = dt.files;
|
|
@@ -892,6 +900,17 @@ var Browser = class {
|
|
|
892
900
|
params: { expression, returnByValue: true }
|
|
893
901
|
});
|
|
894
902
|
const resultObj = result?.result;
|
|
903
|
+
try {
|
|
904
|
+
await this.send({
|
|
905
|
+
method: "Input.dispatchKeyEvent",
|
|
906
|
+
params: { type: "keyDown", key: "Escape", code: "Escape", windowsVirtualKeyCode: 27, nativeVirtualKeyCode: 27 }
|
|
907
|
+
});
|
|
908
|
+
await this.send({
|
|
909
|
+
method: "Input.dispatchKeyEvent",
|
|
910
|
+
params: { type: "keyUp", key: "Escape", code: "Escape", windowsVirtualKeyCode: 27, nativeVirtualKeyCode: 27 }
|
|
911
|
+
});
|
|
912
|
+
} catch {
|
|
913
|
+
}
|
|
895
914
|
if (resultObj?.value) {
|
|
896
915
|
return JSON.parse(String(resultObj.value));
|
|
897
916
|
}
|