@shop-os/modelkit 0.2.11 → 0.2.12
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.
- package/CHANGELOG.md +8 -0
- package/README.md +5 -1
- package/dist/index.cjs +16 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +16 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -713,6 +713,8 @@ interface ModelKit extends TextMethods {
|
|
|
713
713
|
generateVideo(req: VideoCallOptions, call?: CallContext): Promise<VideoCallJob>;
|
|
714
714
|
/** AI SDK LanguageModel for chat models. Pair with the catalog's providerOptions. */
|
|
715
715
|
languageModel(modelId: string, call?: CallContext): LanguageModelHandle;
|
|
716
|
+
/** Usage-event `provider` for a catalog model, without building it: "bedrock" on Bedrock, else the vendor. */
|
|
717
|
+
usageProvider(modelId: string, call?: CallContext): string;
|
|
716
718
|
/** Generate music or a soundtrack. Blocks until the provider returns audio. */
|
|
717
719
|
generateAudio(req: AudioRequest, call?: CallContext): Promise<AudioResult>;
|
|
718
720
|
/**
|
|
@@ -732,6 +734,8 @@ interface LanguageModelHandle {
|
|
|
732
734
|
model: LanguageModelV3;
|
|
733
735
|
providerOptions: ProviderOptions;
|
|
734
736
|
catalog: CatalogModel;
|
|
737
|
+
/** Usage-event `provider`: "bedrock" on Bedrock, else the vendor. */
|
|
738
|
+
usageProvider: string;
|
|
735
739
|
}
|
|
736
740
|
type AdapterRegistry = Partial<Record<AdapterId, Adapter>>;
|
|
737
741
|
declare function createModelKit(config: ModelKitConfig, adapters: AdapterRegistry): ModelKit;
|
package/dist/index.d.ts
CHANGED
|
@@ -713,6 +713,8 @@ interface ModelKit extends TextMethods {
|
|
|
713
713
|
generateVideo(req: VideoCallOptions, call?: CallContext): Promise<VideoCallJob>;
|
|
714
714
|
/** AI SDK LanguageModel for chat models. Pair with the catalog's providerOptions. */
|
|
715
715
|
languageModel(modelId: string, call?: CallContext): LanguageModelHandle;
|
|
716
|
+
/** Usage-event `provider` for a catalog model, without building it: "bedrock" on Bedrock, else the vendor. */
|
|
717
|
+
usageProvider(modelId: string, call?: CallContext): string;
|
|
716
718
|
/** Generate music or a soundtrack. Blocks until the provider returns audio. */
|
|
717
719
|
generateAudio(req: AudioRequest, call?: CallContext): Promise<AudioResult>;
|
|
718
720
|
/**
|
|
@@ -732,6 +734,8 @@ interface LanguageModelHandle {
|
|
|
732
734
|
model: LanguageModelV3;
|
|
733
735
|
providerOptions: ProviderOptions;
|
|
734
736
|
catalog: CatalogModel;
|
|
737
|
+
/** Usage-event `provider`: "bedrock" on Bedrock, else the vendor. */
|
|
738
|
+
usageProvider: string;
|
|
735
739
|
}
|
|
736
740
|
type AdapterRegistry = Partial<Record<AdapterId, Adapter>>;
|
|
737
741
|
declare function createModelKit(config: ModelKitConfig, adapters: AdapterRegistry): ModelKit;
|
package/dist/index.js
CHANGED
|
@@ -3395,6 +3395,10 @@ function resolveAnthropicTransport(model, config, tier, warn) {
|
|
|
3395
3395
|
warn(`[modelkit] ${model.id}: no credentials for the ${preferred} transport; using ${other}`);
|
|
3396
3396
|
return other;
|
|
3397
3397
|
}
|
|
3398
|
+
var BEDROCK_USAGE_PROVIDER = "bedrock";
|
|
3399
|
+
function textUsageProvider(model, transport) {
|
|
3400
|
+
return transport === "bedrock" ? BEDROCK_USAGE_PROVIDER : textProviderOf(model);
|
|
3401
|
+
}
|
|
3398
3402
|
|
|
3399
3403
|
// src/client.ts
|
|
3400
3404
|
function requiredKeys(model, config, transport) {
|
|
@@ -3565,7 +3569,7 @@ function createModelKit(config, adapters) {
|
|
|
3565
3569
|
return {
|
|
3566
3570
|
entry,
|
|
3567
3571
|
languageModel: adapter.languageModel(ctx),
|
|
3568
|
-
provider:
|
|
3572
|
+
provider: textUsageProvider(entry, ctx.anthropicTransport)
|
|
3569
3573
|
};
|
|
3570
3574
|
}
|
|
3571
3575
|
async function passthroughImage(req, call) {
|
|
@@ -3864,7 +3868,7 @@ function createModelKit(config, adapters) {
|
|
|
3864
3868
|
return "url" in ref ? { type: "file", data: ref.url, mediaType } : { type: "file", data: ref.bytes, mediaType };
|
|
3865
3869
|
},
|
|
3866
3870
|
languageModel(modelId, call = {}) {
|
|
3867
|
-
const { entry, languageModel: model } = textTarget(modelId, call);
|
|
3871
|
+
const { entry, languageModel: model, provider } = textTarget(modelId, call);
|
|
3868
3872
|
if (model.specificationVersion !== "v3")
|
|
3869
3873
|
throw new ModelKitError({
|
|
3870
3874
|
code: "unsupported_option",
|
|
@@ -3874,9 +3878,18 @@ function createModelKit(config, adapters) {
|
|
|
3874
3878
|
return {
|
|
3875
3879
|
model,
|
|
3876
3880
|
providerOptions: withoutModelkit(entry.providerOptions),
|
|
3877
|
-
catalog: entry
|
|
3881
|
+
catalog: entry,
|
|
3882
|
+
usageProvider: provider
|
|
3878
3883
|
};
|
|
3879
3884
|
},
|
|
3885
|
+
usageProvider(modelId, call = {}) {
|
|
3886
|
+
const entry = catalog.require(modelId);
|
|
3887
|
+
if (entry.type !== "text") return entry.adapter;
|
|
3888
|
+
return textUsageProvider(
|
|
3889
|
+
entry,
|
|
3890
|
+
resolveAnthropicTransport(entry, config, call.tier, warnOnce)
|
|
3891
|
+
);
|
|
3892
|
+
},
|
|
3880
3893
|
async generateText(options, call = {}) {
|
|
3881
3894
|
const target = textTarget(options.model, call);
|
|
3882
3895
|
const steps = createTextSteps(
|