@just-every/ensemble 0.2.249 → 0.2.250

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.
@@ -29,19 +29,25 @@ function registerExternalModel(model, provider) {
29
29
  },
30
30
  };
31
31
  externalModels.set(modelId, modelWithDefaults);
32
- if (!externalProviders.has(model.provider)) {
33
- externalProviders.set(model.provider, provider);
34
- }
32
+ externalProviders.set(model.provider, provider);
35
33
  console.log(`[Ensemble] Registered external model: ${modelId} with provider: ${model.provider}`);
36
34
  }
37
35
  function getExternalModel(modelId) {
38
- return externalModels.get(modelId);
36
+ const directModel = externalModels.get(modelId);
37
+ if (directModel)
38
+ return directModel;
39
+ for (const model of externalModels.values()) {
40
+ if (model.aliases?.includes(modelId)) {
41
+ return model;
42
+ }
43
+ }
44
+ return undefined;
39
45
  }
40
46
  function getExternalProvider(providerId) {
41
47
  return externalProviders.get(providerId);
42
48
  }
43
49
  function isExternalModel(modelId) {
44
- return externalModels.has(modelId);
50
+ return getExternalModel(modelId) !== undefined;
45
51
  }
46
52
  function clearExternalRegistrations() {
47
53
  externalModels.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"external_models.d.ts","sourceRoot":"","sources":["../../../utils/external_models.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA6C3F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CA8BtF;AAQD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAExE;AAKD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,eAAe,GAAG,aAAa,GAAG,SAAS,CAE1F;AAKD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD;AAKD,wBAAgB,0BAA0B,IAAI,IAAI,CAIjD;AAOD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAG3F;AAOD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,CAExF"}
1
+ {"version":3,"file":"external_models.d.ts","sourceRoot":"","sources":["../../../utils/external_models.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA6C3F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CA6BtF;AAQD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAWxE;AAKD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,eAAe,GAAG,aAAa,GAAG,SAAS,CAE1F;AAKD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD;AAKD,wBAAgB,0BAA0B,IAAI,IAAI,CAIjD;AAOD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAG3F;AAOD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,CAExF"}
@@ -1 +1 @@
1
- {"version":3,"file":"external_models.js","sourceRoot":"","sources":["../../../utils/external_models.ts"],"names":[],"mappings":";;AAkDA,sDA8BC;AAQD,4CAEC;AAKD,kDAEC;AAKD,0CAEC;AAKD,gEAIC;AAOD,gDAGC;AAOD,sDAEC;AA5HD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAsB,CAAC;AAGrD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkC,CAAC;AAGpE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA+B,CAAC;AAoCnE,SAAgB,qBAAqB,CAAC,KAAiB,EAAE,QAAuB;IAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;IAGzB,MAAM,iBAAiB,GAAe;QAClC,GAAG,KAAK;QACR,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI;YAChB,iBAAiB,EAAE,CAAC;YACpB,kBAAkB,EAAE,CAAC;SACxB;QACD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI;YACxB,cAAc,EAAE,OAAO;YACvB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;YACnD,eAAe,EAAE,CAAC,MAAM,CAAC;YACzB,iBAAiB,EAAE,MAAM;SAC5B;KACJ,CAAC;IAGF,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAG/C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,yCAAyC,OAAO,mBAAmB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrG,CAAC;AAQD,SAAgB,gBAAgB,CAAC,OAAe;IAC5C,OAAO,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAKD,SAAgB,mBAAmB,CAAC,UAA2B;IAC3D,OAAO,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC;AAKD,SAAgB,eAAe,CAAC,OAAe;IAC3C,OAAO,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAKD,SAAgB,0BAA0B;IACtC,cAAc,CAAC,KAAK,EAAE,CAAC;IACvB,iBAAiB,CAAC,KAAK,EAAE,CAAC;IAC1B,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAChC,CAAC;AAOD,SAAgB,kBAAkB,CAAC,SAAiB,EAAE,UAA+B;IACjF,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,oCAAoC,SAAS,iBAAiB,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/G,CAAC;AAOD,SAAgB,qBAAqB,CAAC,SAAiB;IACnD,OAAO,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"external_models.js","sourceRoot":"","sources":["../../../utils/external_models.ts"],"names":[],"mappings":";;AAkDA,sDA6BC;AAQD,4CAWC;AAKD,kDAEC;AAKD,0CAEC;AAKD,gEAIC;AAOD,gDAGC;AAOD,sDAEC;AApID,MAAM,cAAc,GAAG,IAAI,GAAG,EAAsB,CAAC;AAGrD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkC,CAAC;AAGpE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA+B,CAAC;AAoCnE,SAAgB,qBAAqB,CAAC,KAAiB,EAAE,QAAuB;IAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;IAGzB,MAAM,iBAAiB,GAAe;QAClC,GAAG,KAAK;QACR,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI;YAChB,iBAAiB,EAAE,CAAC;YACpB,kBAAkB,EAAE,CAAC;SACxB;QACD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI;YACxB,cAAc,EAAE,OAAO;YACvB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;YACnD,eAAe,EAAE,CAAC,MAAM,CAAC;YACzB,iBAAiB,EAAE,MAAM;SAC5B;KACJ,CAAC;IAGF,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAI/C,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEhD,OAAO,CAAC,GAAG,CAAC,yCAAyC,OAAO,mBAAmB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrG,CAAC;AAQD,SAAgB,gBAAgB,CAAC,OAAe;IAC5C,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IAEpC,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAKD,SAAgB,mBAAmB,CAAC,UAA2B;IAC3D,OAAO,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC;AAKD,SAAgB,eAAe,CAAC,OAAe;IAC3C,OAAO,gBAAgB,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;AACnD,CAAC;AAKD,SAAgB,0BAA0B;IACtC,cAAc,CAAC,KAAK,EAAE,CAAC;IACvB,iBAAiB,CAAC,KAAK,EAAE,CAAC;IAC1B,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAChC,CAAC;AAOD,SAAgB,kBAAkB,CAAC,SAAiB,EAAE,UAA+B;IACjF,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,oCAAoC,SAAS,iBAAiB,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/G,CAAC;AAOD,SAAgB,qBAAqB,CAAC,SAAiB;IACnD,OAAO,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC9C,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from './types/types.js';
2
2
  export { getModelProvider, getProviderFromModel, getModelFromAgent, getModelFromClass, isProviderKeyValid, canRunAgent, ModelProvider, } from './model_providers/model_provider.js';
3
3
  export * from './utils/message_history.js';
4
4
  export { registerExternalModel, getExternalModel, getExternalProvider, isExternalModel, } from './utils/external_models.js';
5
+ export { OpenAICompatibleProvider, registerOpenAICompatibleModel, normalizeOpenAICompatibleEndpoint, type OpenAICompatibleModelOptions, } from './model_providers/openai_compatible.js';
5
6
  export { MODEL_REGISTRY, MODEL_CLASSES, findModel } from './data/model_data.js';
6
7
  export type { ModelProviderID, ModelUsage, TieredPrice, TimeBasedPrice, ModelEntry } from './data/model_data.js';
7
8
  export * from './utils/delta_buffer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EACH,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,aAAa,GAChB,MAAM,qCAAqC,CAAC;AAG7C,cAAc,4BAA4B,CAAC;AAG3C,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAClB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGhF,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGjH,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE,OAAO,EACH,kBAAkB,EAClB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,eAAe,EACf,KAAK,eAAe,GACvB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACH,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,YAAY,GACpB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG7E,OAAO,EACH,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,QAAQ,GAChB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACH,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACH,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,mBAAmB,GACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC9F,OAAO,EACH,wBAAwB,EACxB,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,oBAAoB,GACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,GACvB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACzG,cAAc,4BAA4B,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGzG,OAAO,EACH,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,+BAA+B,CAAC;AAKvC,eAAO,MAAM,WAAW,+CAAe,CAAC;AACxC,eAAO,MAAM,YAAY,iDAAgB,CAAC;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG5F,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@ export * from './types/types.js';
2
2
  export { getModelProvider, getProviderFromModel, getModelFromAgent, getModelFromClass, isProviderKeyValid, canRunAgent, } from './model_providers/model_provider.js';
3
3
  export * from './utils/message_history.js';
4
4
  export { registerExternalModel, getExternalModel, getExternalProvider, isExternalModel, } from './utils/external_models.js';
5
+ export { OpenAICompatibleProvider, registerOpenAICompatibleModel, normalizeOpenAICompatibleEndpoint, } from './model_providers/openai_compatible.js';
5
6
  export { MODEL_REGISTRY, MODEL_CLASSES, findModel } from './data/model_data.js';
6
7
  export * from './utils/delta_buffer.js';
7
8
  export * from './utils/cost_tracker.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { ModelCost, ModelFeatures } from '../types/types.js';
2
+ import { OpenAIChat } from './openai_chat.js';
3
+ export interface OpenAICompatibleModelOptions {
4
+ id: string;
5
+ endpoint: string;
6
+ apiKey?: string;
7
+ providerId?: string;
8
+ aliases?: string[];
9
+ cost?: ModelCost;
10
+ features?: ModelFeatures;
11
+ class?: string;
12
+ description?: string;
13
+ defaultHeaders?: Record<string, string | null | undefined>;
14
+ commonParams?: Record<string, unknown>;
15
+ }
16
+ export declare function normalizeOpenAICompatibleEndpoint(endpoint: string): string;
17
+ export declare class OpenAICompatibleProvider extends OpenAIChat {
18
+ readonly endpoint: string;
19
+ constructor(options: OpenAICompatibleModelOptions);
20
+ }
21
+ export declare function registerOpenAICompatibleModel(options: OpenAICompatibleModelOptions): OpenAICompatibleProvider;
22
+ //# sourceMappingURL=openai_compatible.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai_compatible.d.ts","sourceRoot":"","sources":["../../model_providers/openai_compatible.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAc,aAAa,EAAmB,MAAM,mBAAmB,CAAC;AAE1F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAc9C,MAAM,WAAW,4BAA4B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW1E;AAED,qBAAa,wBAAyB,SAAQ,UAAU;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,OAAO,EAAE,4BAA4B;CAcpD;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,4BAA4B,GAAG,wBAAwB,CAkB7G"}
@@ -0,0 +1,51 @@
1
+ import { registerExternalModel } from '../utils/external_models.js';
2
+ import { OpenAIChat } from './openai_chat.js';
3
+ const DEFAULT_LOCAL_API_KEY = 'not-needed';
4
+ const DEFAULT_OPENAI_COMPATIBLE_FEATURES = {
5
+ context_length: 128000,
6
+ input_modality: ['text'],
7
+ output_modality: ['text'],
8
+ tool_use: false,
9
+ streaming: true,
10
+ json_output: true,
11
+ max_output_tokens: 8192,
12
+ };
13
+ export function normalizeOpenAICompatibleEndpoint(endpoint) {
14
+ if (!endpoint || endpoint.trim().length === 0) {
15
+ throw new Error('OpenAI-compatible endpoint is required.');
16
+ }
17
+ const url = new URL(endpoint);
18
+ if (url.pathname === '' || url.pathname === '/') {
19
+ url.pathname = '/v1';
20
+ }
21
+ url.pathname = url.pathname.replace(/\/+$/, '');
22
+ return url.toString().replace(/\/+$/, '');
23
+ }
24
+ export class OpenAICompatibleProvider extends OpenAIChat {
25
+ endpoint;
26
+ constructor(options) {
27
+ const endpoint = normalizeOpenAICompatibleEndpoint(options.endpoint);
28
+ const providerId = (options.providerId || `openai-compatible:${options.id}`);
29
+ super(providerId, options.apiKey || DEFAULT_LOCAL_API_KEY, endpoint, options.defaultHeaders, options.commonParams);
30
+ this.endpoint = endpoint;
31
+ }
32
+ }
33
+ export function registerOpenAICompatibleModel(options) {
34
+ const provider = new OpenAICompatibleProvider(options);
35
+ const providerId = (options.providerId || `openai-compatible:${options.id}`);
36
+ const model = {
37
+ id: options.id,
38
+ aliases: options.aliases,
39
+ provider: providerId,
40
+ cost: options.cost,
41
+ features: {
42
+ ...DEFAULT_OPENAI_COMPATIBLE_FEATURES,
43
+ ...options.features,
44
+ },
45
+ class: options.class,
46
+ description: options.description || `OpenAI-compatible model at ${provider.endpoint}`,
47
+ };
48
+ registerExternalModel(model, provider);
49
+ return provider;
50
+ }
51
+ //# sourceMappingURL=openai_compatible.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai_compatible.js","sourceRoot":"","sources":["../../model_providers/openai_compatible.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAE3C,MAAM,kCAAkC,GAAkB;IACtD,cAAc,EAAE,MAAM;IACtB,cAAc,EAAE,CAAC,MAAM,CAAC;IACxB,eAAe,EAAE,CAAC,MAAM,CAAC;IACzB,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,iBAAiB,EAAE,IAAI;CAC1B,CAAC;AAgBF,MAAM,UAAU,iCAAiC,CAAC,QAAgB;IAC9D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QAC9C,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,OAAO,wBAAyB,SAAQ,UAAU;IAC3C,QAAQ,CAAS;IAE1B,YAAY,OAAqC;QAC7C,MAAM,QAAQ,GAAG,iCAAiC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,qBAAqB,OAAO,CAAC,EAAE,EAAE,CAAoB,CAAC;QAEhG,KAAK,CACD,UAAU,EACV,OAAO,CAAC,MAAM,IAAI,qBAAqB,EACvC,QAAQ,EACR,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,YAAY,CACvB,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAqC;IAC/E,MAAM,QAAQ,GAAG,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,qBAAqB,OAAO,CAAC,EAAE,EAAE,CAAoB,CAAC;IAChG,MAAM,KAAK,GAAe;QACtB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE;YACN,GAAG,kCAAkC;YACrC,GAAG,OAAO,CAAC,QAAQ;SACtB;QACD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,8BAA8B,QAAQ,CAAC,QAAQ,EAAE;KACxF,CAAC;IAEF,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC;AACpB,CAAC"}