|
@@ -1,5 +1,6 @@
|
|
|
import * as utils from './utils.js'
|
|
|
import { AbortableAsyncIterator, parseJSON, post } from './utils.js'
|
|
|
+import 'whatwg-fetch'
|
|
|
|
|
|
import type {
|
|
|
ChatRequest,
|
|
@@ -38,24 +39,9 @@ export class Ollama {
|
|
|
this.config.host = utils.formatHost(config?.host ?? 'http://127.0.0.1:11434')
|
|
|
}
|
|
|
|
|
|
- this.fetch = config?.fetch || this.getFetch();
|
|
|
- }
|
|
|
-
|
|
|
- private getFetch(): Fetch {
|
|
|
- if (typeof window !== 'undefined' && window.fetch) {
|
|
|
- return window.fetch.bind(window);
|
|
|
- }
|
|
|
-
|
|
|
- if (typeof global !== 'undefined' && global.fetch) {
|
|
|
- return global.fetch;
|
|
|
- }
|
|
|
-
|
|
|
- try {
|
|
|
- // Use dynamic import for Node.js environments
|
|
|
- return require('node-fetch');
|
|
|
- } catch (error) {
|
|
|
- console.error('Failed to import node-fetch:', error);
|
|
|
- throw new Error('Fetch is not available. Please provide a fetch implementation in the config.');
|
|
|
+ this.fetch = fetch
|
|
|
+ if (config?.fetch != null) {
|
|
|
+ this.fetch = config.fetch
|
|
|
}
|
|
|
}
|
|
|
|