mirror of
https://github.com/agentscope-ai/ReMe.git
synced 2026-09-09 22:31:05 +00:00
* refactor(packaging): reorganize published packages * fix(packaging): install AgentScope extra in wheel smoke * docs: align package guides and documentation site * ci(workflow): add core dependency verification step in Python package build - Add a workflow step to verify released core dependencies by installing the wheel with core extras - Assert the presence of the static index.html file to ensure proper package contents - Create and use a temporary virtual environment for isolation during verification - Keep existing artifacts upload step intact and conditional on inputs.upload_artifacts flag * fix(ci): update package installation dependencies in Windows workflow - Change pip install from editable reme_studio and core to only dev and as extras - Remove installation of reme_studio and core to streamline dependency setup - Ensure Windows CI uses the correct extras for testing environment * fix(tests): add missing commas in toml file reads in package version tests - Added trailing commas in the tomllib.loads calls for auto-fin and daily_paper configs - Ensured consistent syntax to prevent potential tuple misinterpretation - Improved readability and correctness of the test setup code * fix(packaging): protect qwenpaw releases and test Studio health
65 lines
1.8 KiB
TypeScript
65 lines
1.8 KiB
TypeScript
/** Cloudflare Worker entry point for the vinext-starter template. */
|
|
import {
|
|
handleImageOptimization,
|
|
DEFAULT_DEVICE_SIZES,
|
|
DEFAULT_IMAGE_SIZES,
|
|
} from "vinext/server/image-optimization";
|
|
import handler from "vinext/server/app-router-entry";
|
|
|
|
interface Env {
|
|
ASSETS: Fetcher;
|
|
DB: D1Database;
|
|
IMAGES: {
|
|
input(stream: ReadableStream): {
|
|
transform(options: Record<string, unknown>): {
|
|
output(options: {
|
|
format: string;
|
|
quality: number;
|
|
}): Promise<{ response(): Response }>;
|
|
};
|
|
};
|
|
};
|
|
}
|
|
|
|
interface ExecutionContext {
|
|
waitUntil(promise: Promise<unknown>): void;
|
|
passThroughOnException(): void;
|
|
}
|
|
|
|
// Image security config. SVG sources with .svg extension auto-skip the
|
|
// optimization endpoint on the client side (served directly, no proxy).
|
|
// To route SVGs through the optimizer (with security headers), set
|
|
// dangerouslyAllowSVG: true in next.config.js and uncomment below:
|
|
// const imageConfig: ImageConfig = { dangerouslyAllowSVG: true };
|
|
|
|
const worker = {
|
|
async fetch(
|
|
request: Request,
|
|
env: Env,
|
|
ctx: ExecutionContext,
|
|
): Promise<Response> {
|
|
const url = new URL(request.url);
|
|
|
|
if (url.pathname === "/_vinext/image") {
|
|
const allowedWidths = [...DEFAULT_DEVICE_SIZES, ...DEFAULT_IMAGE_SIZES];
|
|
return handleImageOptimization(
|
|
request,
|
|
{
|
|
fetchAsset: (path) =>
|
|
env.ASSETS.fetch(new Request(new URL(path, request.url))),
|
|
transformImage: async (body, { width, format, quality }) => {
|
|
const result = await env.IMAGES.input(body)
|
|
.transform(width > 0 ? { width } : {})
|
|
.output({ format, quality });
|
|
return result.response();
|
|
},
|
|
},
|
|
allowedWidths,
|
|
);
|
|
}
|
|
|
|
return handler.fetch(request, env, ctx);
|
|
},
|
|
};
|
|
|
|
export default worker;
|