agent-relay-server 0.70.0 → 0.70.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.
@@ -1,4 +1,4 @@
1
- import { deriveContextThresholdFromWindowTokens, resolveProviderContextThreshold, type ProviderModelCatalogEntry, type ResolvedProviderContextThreshold } from "agent-relay-sdk/provider-catalog";
1
+ import { deriveContextThresholdFromWindowTokens, findProviderCatalogModel, resolveProviderContextThreshold, type ProviderModelCatalogEntry, type ResolvedProviderContextThreshold } from "agent-relay-sdk/provider-catalog";
2
2
  import { isRecord, SPAWN_PROVIDERS } from "agent-relay-sdk";
3
3
  import { getConfig, getNotificationsConfig } from "./config-store";
4
4
  import { DEFAULT_CONTEXT_THRESHOLD_CONFIG, validateContextThresholdConfig } from "./context-threshold-config";
@@ -132,10 +132,11 @@ export function handleContextPressure(input: {
132
132
  }
133
133
 
134
134
  function effectiveContextThreshold(agent: AgentCard): EffectiveContextThreshold {
135
- const model = findAgentCatalogModel(agent);
136
- const windowTokens = model?.limits?.contextWindowTokens?.value
137
- ?? finiteNumber(agent.providerCapabilities?.context?.windowTokens)
135
+ const observedWindowTokens = finiteNumber(agent.providerCapabilities?.context?.windowTokens)
138
136
  ?? finiteNumber(agent.context?.tokensMax);
137
+ const model = findAgentCatalogModel(agent, observedWindowTokens);
138
+ const windowTokens = model?.limits?.contextWindowTokens?.value
139
+ ?? observedWindowTokens;
139
140
  if (model?.contextThreshold) {
140
141
  return { ...resolveProviderContextThreshold(model), source: "model" };
141
142
  }
@@ -157,16 +158,14 @@ function explicitContextThresholdConfig(): EffectiveContextThreshold | undefined
157
158
  };
158
159
  }
159
160
 
160
- function findAgentCatalogModel(agent: AgentCard): ProviderModelCatalogEntry | undefined {
161
+ function findAgentCatalogModel(agent: AgentCard, observedWindowTokens: number | undefined): ProviderModelCatalogEntry | undefined {
161
162
  const runtime = agent.providerCapabilities?.model;
162
163
  const provider = runtime?.provider;
163
164
  if (!provider || !(SPAWN_PROVIDERS as readonly string[]).includes(provider)) return undefined;
164
165
  const catalog = effectiveProviderCatalogList().find((entry) => entry.provider === provider);
165
166
  if (!catalog) return undefined;
166
167
  const ids = [runtime.alias, runtime.id, runtime.providerModel].filter((value): value is string => Boolean(value));
167
- const lowerIds = new Set(ids.map((id) => id.toLowerCase()));
168
- return catalog.models.find((model) => ids.includes(model.alias) || ids.includes(model.providerModel))
169
- ?? catalog.models.find((model) => lowerIds.has(model.alias.toLowerCase()) || lowerIds.has(model.providerModel.toLowerCase()));
168
+ return findProviderCatalogModel(catalog, ids, { observedWindowTokens });
170
169
  }
171
170
 
172
171
  function clearContextAdvisory(context: ContextState): ContextState {