@vibes.diy/api-queue 2.0.8 → 2.0.10
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/package.json +5 -5
- package/screen-shotter.d.ts +1 -1
- package/screen-shotter.js +17 -12
- package/screen-shotter.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/api-queue",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.10",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
"@cloudflare/puppeteer": "~1.0.6",
|
|
16
16
|
"@fireproof/core-runtime": "~0.24.19",
|
|
17
17
|
"@fireproof/core-types-base": "~0.24.19",
|
|
18
|
-
"@vibes.diy/api-pkg": "2.0.
|
|
19
|
-
"@vibes.diy/api-sql": "2.0.
|
|
20
|
-
"@vibes.diy/api-svc": "2.0.
|
|
21
|
-
"@vibes.diy/api-types": "2.0.
|
|
18
|
+
"@vibes.diy/api-pkg": "2.0.10",
|
|
19
|
+
"@vibes.diy/api-sql": "2.0.10",
|
|
20
|
+
"@vibes.diy/api-svc": "2.0.10",
|
|
21
|
+
"@vibes.diy/api-types": "2.0.10",
|
|
22
22
|
"arktype": "~2.2.0",
|
|
23
23
|
"drizzle-orm": "~0.45.2"
|
|
24
24
|
},
|
package/screen-shotter.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ import { EvtNewFsId } from "@vibes.diy/api-types";
|
|
|
2
2
|
import { Result } from "@adviser/cement";
|
|
3
3
|
import { QueueCtx } from "./queue-ctx.js";
|
|
4
4
|
import { Fetcher } from "@cloudflare/workers-types";
|
|
5
|
-
export declare function takeScreenshot(event: EvtNewFsId, browserFetcher: Fetcher): Promise<Uint8Array
|
|
5
|
+
export declare function takeScreenshot(event: EvtNewFsId, browserFetcher: Fetcher): Promise<Result<Uint8Array>>;
|
|
6
6
|
export declare function processScreenShotEvent(qctx: QueueCtx, evt: EvtNewFsId): Promise<Result<void>>;
|
package/screen-shotter.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import puppeteer from "@cloudflare/puppeteer";
|
|
2
|
-
import { Result } from "@adviser/cement";
|
|
2
|
+
import { exception2Result, Result } from "@adviser/cement";
|
|
3
3
|
import { storeScreenshot } from "./intern/store-screenshot.js";
|
|
4
4
|
export async function takeScreenshot(event, browserFetcher) {
|
|
5
5
|
console.log(`Taking screenshot for ${event.vibeUrl} (fsId: ${event.fsId})`);
|
|
6
|
-
const
|
|
7
|
-
|
|
6
|
+
const rBrowser = await exception2Result(() => puppeteer.launch(browserFetcher));
|
|
7
|
+
if (rBrowser.isErr()) {
|
|
8
|
+
return Result.Err(rBrowser.Err());
|
|
9
|
+
}
|
|
10
|
+
const browser = rBrowser.Ok();
|
|
11
|
+
const rScreenshot = await exception2Result(async () => {
|
|
8
12
|
const page = await browser.newPage();
|
|
9
13
|
await page.setViewport({
|
|
10
14
|
width: 1280,
|
|
@@ -15,26 +19,27 @@ export async function takeScreenshot(event, browserFetcher) {
|
|
|
15
19
|
waitUntil: "networkidle0",
|
|
16
20
|
timeout: 30000,
|
|
17
21
|
});
|
|
18
|
-
|
|
22
|
+
return page.screenshot({
|
|
19
23
|
type: "jpeg",
|
|
20
24
|
quality: 85,
|
|
21
25
|
fullPage: false,
|
|
22
26
|
});
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
await browser.close();
|
|
27
|
-
}
|
|
27
|
+
});
|
|
28
|
+
await browser.close();
|
|
29
|
+
return rScreenshot;
|
|
28
30
|
}
|
|
29
31
|
export async function processScreenShotEvent(qctx, evt) {
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
+
const rScreenshot = await takeScreenshot(evt, qctx.params.cf.BROWSER);
|
|
33
|
+
if (rScreenshot.isErr()) {
|
|
34
|
+
return Result.Err(`Failed to take screenshot: ${rScreenshot.Err().message}`);
|
|
35
|
+
}
|
|
36
|
+
const screenshotData = new Uint8Array(rScreenshot.Ok());
|
|
32
37
|
console.log(`Screenshot taken for ${evt.fsId}: ${screenshotData.byteLength} bytes`);
|
|
33
38
|
const result = await storeScreenshot(qctx, evt.fsId, screenshotData);
|
|
34
39
|
if (result.isErr()) {
|
|
35
40
|
return Result.Err(`Failed to store screenshot: ${result.Err()}`);
|
|
36
41
|
}
|
|
37
42
|
console.log(`Screenshot stored with assetId: ${result.Ok().assetUrl}`);
|
|
38
|
-
return Result.Ok();
|
|
43
|
+
return Result.Ok(undefined);
|
|
39
44
|
}
|
|
40
45
|
//# sourceMappingURL=screen-shotter.js.map
|
package/screen-shotter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen-shotter.js","sourceRoot":"","sources":["../jsr/screen-shotter.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"screen-shotter.js","sourceRoot":"","sources":["../jsr/screen-shotter.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAO/D,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAiB,EAAE,cAAuB;IAC7E,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,CAAC,OAAO,WAAW,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,cAAuB,CAAC,CAAC,CAAC;IACzF,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,KAAK,IAAI,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAErC,MAAM,IAAI,CAAC,WAAW,CAAC;YACrB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,GAAG;YACX,iBAAiB,EAAE,CAAC;SACrB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAC7B,SAAS,EAAE,cAAc;YACzB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,UAAU,CAAC;YACrB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,OAAO,WAAW,CAAC;AACrB,CAAC;AAKD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAc,EAAE,GAAe;IAC1E,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IACtE,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,GAAG,CAAC,8BAA8B,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;IAExD,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,QAAQ,CAAC,CAAC;IAEpF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAErE,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,mCAAmC,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAC9B,CAAC"}
|