@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/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: textProviderOf(entry)
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(