@bxb1337/windsurf-fast-context 1.0.0 → 1.0.1

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.
@@ -4,10 +4,13 @@ exports.windsurf = void 0;
4
4
  exports.createWindsurfProvider = createWindsurfProvider;
5
5
  const devstral_language_model_js_1 = require("./model/devstral-language-model.js");
6
6
  function createWindsurfProvider(options = {}) {
7
- return (modelId) => {
7
+ const createLanguageModel = (modelId) => {
8
8
  const opts = { ...options, modelId };
9
9
  return new devstral_language_model_js_1.DevstralLanguageModel(opts);
10
10
  };
11
+ const provider = createLanguageModel;
12
+ provider.languageModel = createLanguageModel;
13
+ return provider;
11
14
  }
12
15
  exports.windsurf = createWindsurfProvider();
13
16
  exports.default = exports.windsurf;
@@ -58,4 +58,17 @@ function providerShape(m) {
58
58
  (0, vitest_1.expect)(typeof provider_js_1.createWindsurfProvider).toBe('function');
59
59
  (0, vitest_1.expect)(provider_js_1.windsurf).toBeDefined();
60
60
  });
61
+ (0, vitest_1.it)('languageModel: provider has languageModel method', () => {
62
+ const factory = (0, provider_js_1.createWindsurfProvider)({ apiKey: 'test-key' });
63
+ (0, vitest_1.expect)(typeof factory.languageModel).toBe('function');
64
+ const model = factory.languageModel('MODEL_SWE_1_6_FAST');
65
+ (0, vitest_1.expect)(model).toBeInstanceOf(devstral_language_model_js_1.DevstralLanguageModel);
66
+ });
67
+ (0, vitest_1.it)('languageModel: callable and languageModel return same model type', () => {
68
+ const factory = (0, provider_js_1.createWindsurfProvider)({ apiKey: 'test-key' });
69
+ const model1 = factory('MODEL_SWE_1_6_FAST');
70
+ const model2 = factory.languageModel('MODEL_SWE_1_6_FAST');
71
+ (0, vitest_1.expect)(model1).toBeInstanceOf(devstral_language_model_js_1.DevstralLanguageModel);
72
+ (0, vitest_1.expect)(model2).toBeInstanceOf(devstral_language_model_js_1.DevstralLanguageModel);
73
+ });
61
74
  });
@@ -1,9 +1,12 @@
1
1
  import { DevstralLanguageModel } from './model/devstral-language-model.js';
2
2
  export function createWindsurfProvider(options = {}) {
3
- return (modelId) => {
3
+ const createLanguageModel = (modelId) => {
4
4
  const opts = { ...options, modelId };
5
5
  return new DevstralLanguageModel(opts);
6
6
  };
7
+ const provider = createLanguageModel;
8
+ provider.languageModel = createLanguageModel;
9
+ return provider;
7
10
  }
8
11
  export const windsurf = createWindsurfProvider();
9
12
  export default windsurf;
@@ -56,4 +56,17 @@ describe('provider factory', () => {
56
56
  expect(typeof createWindsurfProvider).toBe('function');
57
57
  expect(windsurf).toBeDefined();
58
58
  });
59
+ it('languageModel: provider has languageModel method', () => {
60
+ const factory = createWindsurfProvider({ apiKey: 'test-key' });
61
+ expect(typeof factory.languageModel).toBe('function');
62
+ const model = factory.languageModel('MODEL_SWE_1_6_FAST');
63
+ expect(model).toBeInstanceOf(DevstralLanguageModel);
64
+ });
65
+ it('languageModel: callable and languageModel return same model type', () => {
66
+ const factory = createWindsurfProvider({ apiKey: 'test-key' });
67
+ const model1 = factory('MODEL_SWE_1_6_FAST');
68
+ const model2 = factory.languageModel('MODEL_SWE_1_6_FAST');
69
+ expect(model1).toBeInstanceOf(DevstralLanguageModel);
70
+ expect(model2).toBeInstanceOf(DevstralLanguageModel);
71
+ });
59
72
  });
@@ -1,5 +1,4 @@
1
- import { DevstralLanguageModel } from './model/devstral-language-model.js';
2
- import type { WindsurfProviderOptions } from './types/index.js';
3
- export declare function createWindsurfProvider(options?: WindsurfProviderOptions): (modelId?: string) => DevstralLanguageModel;
4
- export declare const windsurf: (modelId?: string) => DevstralLanguageModel;
1
+ import type { WindsurfProviderOptions, WindsurfProvider } from './types/index.js';
2
+ export declare function createWindsurfProvider(options?: WindsurfProviderOptions): WindsurfProvider;
3
+ export declare const windsurf: WindsurfProvider;
5
4
  export default windsurf;
@@ -5,6 +5,15 @@ export interface WindsurfProviderOptions {
5
5
  fetch?: FetchFn;
6
6
  generateId?: () => string;
7
7
  }
8
+ /**
9
+ * Windsurf provider interface extending AI SDK V3 ProviderV3 pattern.
10
+ * The provider is callable as a function and has a languageModel method.
11
+ */
12
+ export interface WindsurfProvider {
13
+ (modelId?: string): DevstralLanguageModel;
14
+ languageModel(modelId?: string): DevstralLanguageModel;
15
+ }
16
+ import type { DevstralLanguageModel } from '../model/devstral-language-model.js';
8
17
  export type FetchFn = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
9
18
  export interface Tool<Input = unknown, Output = unknown> {
10
19
  id: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bxb1337/windsurf-fast-context",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "AI SDK V3 provider for Windsurf's Devstral code search API",
5
5
  "type": "module",
6
6
  "scripts": {