-
Notifications
You must be signed in to change notification settings - Fork 788
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix workers ai binding for cf vite plugin #8273
base: main
Are you sure you want to change the base?
Conversation
## Context Hi there o/ At RedwoodJS, we're trying out @cloudflare/vite-plugin alongside Workers AI, but we've run into an issue where the two don't seem to work together. This is mainly to highlight the issue (its easier to explain with code). Feel free to use or disregard the solution as needed. ## Problem When using `@cloudflare/vite-plugin` for a worker with an `[ai]` binding in the `worker.toml`, we end up getting this error: ``` workerd/server/workerd-api.c++:753: error: wrapped binding module can't be resolved (internal modules only); moduleName = miniflare-internal:wrapped:__WRANGLER_EXTERNAL_AI_WORKER ``` This seems to be because the miniflare options include the wrapped bindings mapping to an internal AI worker script, but the corresponding worker options for this worker are not included in the miniflare options. ## Solution * In `wrangler`: Include `externalWorkers` in the results of [`unstable_getMiniflareWorkerOptions`](https://github.com/cloudflare/workers-sdk/blob/a7163b3a21f56c9bd839e34c9d5f31c3099a585a/packages/wrangler/src/api/integrations/platform/index.ts#L273) - it contains the worker options for the AI worker * In `@cloudflare/vite-plugin-cloudflare`: For the bindings in `wrappedBindings`, if their corresponding scripts are in `externalWorkers`, add these worker options to the miniflare options
…e avoided for auth for workers AI API
…ing-for-cf-vite-plugin
…g-for-cf-vite-plugin
|
A wrangler prerelease is available for testing. You can install this latest build in your project with: npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13549418185/npm-package-wrangler-8273 You can reference the automatically updated head of this PR with: npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/prs/8273/npm-package-wrangler-8273 Or you can use npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13549418185/npm-package-wrangler-8273 dev path/to/script.js Additional artifacts:cloudflare-workers-bindings-extension: wget https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13549418185/npm-package-cloudflare-workers-bindings-extension-8273 -O ./cloudflare-workers-bindings-extension.0.0.0-v6811eaf35.vsix && code --install-extension ./cloudflare-workers-bindings-extension.0.0.0-v6811eaf35.vsix create-cloudflare: npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13549418185/npm-package-create-cloudflare-8273 --no-auto-update @cloudflare/kv-asset-handler: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13549418185/npm-package-cloudflare-kv-asset-handler-8273 miniflare: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13549418185/npm-package-miniflare-8273 @cloudflare/pages-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13549418185/npm-package-cloudflare-pages-shared-8273 @cloudflare/unenv-preset: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13549418185/npm-package-cloudflare-unenv-preset-8273 @cloudflare/vite-plugin: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13549418185/npm-package-cloudflare-vite-plugin-8273 @cloudflare/vitest-pool-workers: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13549418185/npm-package-cloudflare-vitest-pool-workers-8273 @cloudflare/workers-editor-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13549418185/npm-package-cloudflare-workers-editor-shared-8273 @cloudflare/workers-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13549418185/npm-package-cloudflare-workers-shared-8273 @cloudflare/workflows-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13549418185/npm-package-cloudflare-workflows-shared-8273 Note that these links will no longer work once the GitHub Actions artifact expires.
Please ensure constraints are pinned, and |
Continuation of #8016 (unfortunately I can't push to that branch)