@framers/agentos 0.13.72 → 0.13.73

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.
Files changed (39) hide show
  1. package/dist/api/agent.d.ts.map +1 -1
  2. package/dist/api/agent.js +26 -4
  3. package/dist/api/agent.js.map +1 -1
  4. package/dist/api/editImage.d.ts.map +1 -1
  5. package/dist/api/editImage.js +5 -4
  6. package/dist/api/editImage.js.map +1 -1
  7. package/dist/api/generateImage.d.ts.map +1 -1
  8. package/dist/api/generateImage.js +12 -4
  9. package/dist/api/generateImage.js.map +1 -1
  10. package/dist/api/generateText.d.ts.map +1 -1
  11. package/dist/api/generateText.js +19 -10
  12. package/dist/api/generateText.js.map +1 -1
  13. package/dist/api/gmi.d.ts.map +1 -1
  14. package/dist/api/gmi.js +10 -1
  15. package/dist/api/gmi.js.map +1 -1
  16. package/dist/api/model.d.ts +9 -9
  17. package/dist/api/model.d.ts.map +1 -1
  18. package/dist/api/model.js +67 -9
  19. package/dist/api/model.js.map +1 -1
  20. package/dist/api/runtime/completionGateway.d.ts +18 -1
  21. package/dist/api/runtime/completionGateway.d.ts.map +1 -1
  22. package/dist/api/runtime/completionGateway.js +52 -16
  23. package/dist/api/runtime/completionGateway.js.map +1 -1
  24. package/dist/api/runtime/credentialOwner.d.ts +26 -0
  25. package/dist/api/runtime/credentialOwner.d.ts.map +1 -0
  26. package/dist/api/runtime/credentialOwner.js +55 -0
  27. package/dist/api/runtime/credentialOwner.js.map +1 -0
  28. package/dist/api/runtime/providerHealthKey.d.ts +26 -0
  29. package/dist/api/runtime/providerHealthKey.d.ts.map +1 -0
  30. package/dist/api/runtime/providerHealthKey.js +45 -0
  31. package/dist/api/runtime/providerHealthKey.js.map +1 -0
  32. package/dist/api/streamText.d.ts.map +1 -1
  33. package/dist/api/streamText.js +21 -12
  34. package/dist/api/streamText.js.map +1 -1
  35. package/dist/core/safety/LLMProviderHealthRegistry.d.ts +14 -0
  36. package/dist/core/safety/LLMProviderHealthRegistry.d.ts.map +1 -1
  37. package/dist/core/safety/LLMProviderHealthRegistry.js +32 -0
  38. package/dist/core/safety/LLMProviderHealthRegistry.js.map +1 -1
  39. package/package.json +1 -1
package/dist/api/model.js CHANGED
@@ -7,6 +7,7 @@
7
7
  * an {@link AIModelProviderManager} ready for use by {@link generateText} and
8
8
  * {@link streamText}.
9
9
  */
10
+ import { createHash } from 'node:crypto';
10
11
  import { AIModelProviderManager } from '../core/llm/providers/AIModelProviderManager.js';
11
12
  import { PROVIDER_DEFAULTS, autoDetectProvider } from './runtime/provider-defaults.js';
12
13
  import { getDefaultProvider } from './runtime/global-default.js';
@@ -118,6 +119,34 @@ export function parseModelString(model) {
118
119
  modelId: model.slice(colonIdx + 1),
119
120
  };
120
121
  }
122
+ /**
123
+ * Refuses a call whose own `apiKey` or `baseUrl` would reach a provider the
124
+ * call did not name for it:
125
+ *
126
+ * - a `provider:` model prefix that names another provider than `provider`,
127
+ * since the prefix wins (`provider: 'openai', model: 'replicate:...'`
128
+ * would send the OpenAI key to Replicate);
129
+ * - for an image task, a provider left to auto-detection, which picks the
130
+ * first image vendor with a key in the environment.
131
+ *
132
+ * A call with neither field, and a provider the global default names, pass.
133
+ *
134
+ * @throws {Error} Naming the provider the credentials would have gone to.
135
+ */
136
+ function refuseMisdirectedCredentials(opts, task) {
137
+ const inline = opts;
138
+ if (typeof inline.apiKey !== 'string' && typeof inline.baseUrl !== 'string')
139
+ return;
140
+ const prefixed = opts.provider === 'ollama' ? undefined : knownProviderPrefixOf(opts.model);
141
+ if (opts.provider && prefixed && prefixed !== opts.provider) {
142
+ throw new Error(`Model '${opts.model}' names provider '${prefixed}', not '${opts.provider}': the apiKey or baseUrl ` +
143
+ `given for one would go to the other. Name one provider.`);
144
+ }
145
+ if (task === 'image' && !routedProviderOf(opts)) {
146
+ throw new Error("An apiKey or baseUrl for an image call needs provider (or a model such as 'openai:gpt-image-2.5-flare'): " +
147
+ 'without one, the provider is detected from the environment and the key would go to it.');
148
+ }
149
+ }
121
150
  /**
122
151
  * Resolves a complete provider configuration for LLM text providers.
123
152
  *
@@ -247,6 +276,7 @@ export function resolveMediaProvider(providerId, modelId, overrides) {
247
276
  */
248
277
  export function resolveModelOption(opts, task = 'text') {
249
278
  opts = withGlobalDefault(opts, task);
279
+ refuseMisdirectedCredentials(opts, task);
250
280
  // 1. Explicit model string (backwards compat and direct override)
251
281
  if (opts.model) {
252
282
  // A colon splits the id only when its prefix is a known provider id, and
@@ -394,14 +424,27 @@ function globalModelForTask(def, task) {
394
424
  // ---------------------------------------------------------------------------
395
425
  /**
396
426
  * Process-scoped cache of initialised {@link AIModelProviderManager}
397
- * instances, keyed by `providerId + apiKey + baseUrl`. Every LLM call
398
- * inside agentos goes through `createProviderManager`, and without
399
- * memoisation each call allocates a fresh manager (four init log lines
400
- * per call) and repeats provider listing. Cache key includes the key
401
- * + base URL so a config swap picks up a new manager, but identical
402
- * configs reuse the same one for the life of the process.
427
+ * instances, keyed by the provider id and a digest of the key and base URL.
428
+ * Every LLM call inside agentos goes through `createProviderManager`, and
429
+ * without memoisation each call allocates a fresh manager (four init log
430
+ * lines per call) and repeats provider listing. The key and base URL are in
431
+ * the cache key so a config swap picks up a new manager, and identical
432
+ * configs reuse the same one; at most
433
+ * {@link MAX_CACHED_PROVIDER_MANAGERS} are kept, the least recently used
434
+ * dropped first.
403
435
  */
404
436
  const managerCache = new Map();
437
+ /**
438
+ * The most managers {@link createProviderManager} keeps. A service that
439
+ * passes each user's own key would otherwise keep one initialized manager
440
+ * per key for the life of the process; past this many, the one used least
441
+ * recently is dropped (a call that still holds it finishes with it).
442
+ */
443
+ export const MAX_CACHED_PROVIDER_MANAGERS = 64;
444
+ /** The number of managers cached now, for tests. @internal */
445
+ export function cachedProviderManagerCount() {
446
+ return managerCache.size;
447
+ }
405
448
  /**
406
449
  * Thrown by {@link createProviderManager} when the requested provider did not
407
450
  * initialize: a rejected or revoked API key (the provider's model listing
@@ -439,8 +482,10 @@ function httpStatusOf(error) {
439
482
  }
440
483
  return undefined;
441
484
  }
485
+ /** The cache key: the provider, and a digest of its key and base URL, so the map holds no key. */
442
486
  function buildCacheKey(resolved) {
443
- return `${resolved.providerId}::${resolved.apiKey ?? ''}::${resolved.baseUrl ?? ''}`;
487
+ const digest = createHash('sha256').update(`${resolved.apiKey ?? ''}\n${resolved.baseUrl ?? ''}`).digest('hex');
488
+ return `${resolved.providerId}::${digest}`;
444
489
  }
445
490
  /**
446
491
  * Instantiates and initialises an {@link AIModelProviderManager} for a single provider.
@@ -465,8 +510,12 @@ function buildCacheKey(resolved) {
465
510
  export async function createProviderManager(resolved) {
466
511
  const key = buildCacheKey(resolved);
467
512
  const cached = managerCache.get(key);
468
- if (cached)
513
+ if (cached) {
514
+ // Most recently used last: the map's order is the eviction order.
515
+ managerCache.delete(key);
516
+ managerCache.set(key, cached);
469
517
  return cached;
518
+ }
470
519
  const pending = (async () => {
471
520
  const manager = new AIModelProviderManager();
472
521
  const providerConfig = {};
@@ -496,8 +545,17 @@ export async function createProviderManager(resolved) {
496
545
  })();
497
546
  // Drop from cache if init rejected so the next call retries cleanly
498
547
  // instead of surfacing the stale rejection forever.
499
- pending.catch(() => managerCache.delete(key));
548
+ pending.catch(() => {
549
+ if (managerCache.get(key) === pending)
550
+ managerCache.delete(key);
551
+ });
500
552
  managerCache.set(key, pending);
553
+ while (managerCache.size > MAX_CACHED_PROVIDER_MANAGERS) {
554
+ const oldest = managerCache.keys().next().value;
555
+ if (oldest === undefined)
556
+ break;
557
+ managerCache.delete(oldest);
558
+ }
501
559
  return pending;
502
560
  }
503
561
  //# sourceMappingURL=model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/api/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/api/model.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,11 @@ export interface CompletionRoute {
33
33
  * an explicitly required capability are passed over, and so is the policy chain's entry for the first model.
34
34
  */
35
35
  fallbackProviders?: FallbackProviderEntry[];
36
- /** Credentials for the primary only; fallback hops read the environment, as streamText's walk does. */
36
+ /**
37
+ * Credentials for the primary only; fallback hops read the environment, as streamText's walk does.
38
+ * Set in the gateway defaults beside a provider or model, they are for that provider: a turn that
39
+ * names another provider does not take them.
40
+ */
37
41
  apiKey?: string;
38
42
  baseUrl?: string;
39
43
  /** The call's own effort, cache and output budget, from which each fallback hop's overrides are derived. */
@@ -71,6 +75,12 @@ export interface CompletionHop {
71
75
  model?: string;
72
76
  /** The chain entry behind a fallback hop, with its role in the walk when the policy chain gave it one. */
73
77
  entry?: ResolvedFallbackEntry;
78
+ /**
79
+ * The primary only: whether the route's own key and base URL are for this
80
+ * provider. False when a router picked another one, which then runs on its
81
+ * own credentials.
82
+ */
83
+ ownCredentials?: boolean;
74
84
  }
75
85
  /** A hop that is ready to serve: its provider is initialised and its window is known. */
76
86
  export interface CompletionResolution {
@@ -82,6 +92,13 @@ export interface CompletionResolution {
82
92
  /** Same strings as ModelTargetInfo.toolSupport.format. */
83
93
  toolFormat: 'openai_functions' | 'anthropic_tools' | 'google_function_calling';
84
94
  providerManager: AIModelProviderManager;
95
+ /**
96
+ * The id the hop's health is recorded under: for the first hop on a key or
97
+ * base URL of the route's own that differs from the provider's, the
98
+ * provider id with a digest of them (see `providerHealthKey`). Absent
99
+ * means the provider id.
100
+ */
101
+ healthId?: string;
85
102
  /** Per-hop effort, cache and output budget from `fallbackHopOverrides`; merged over the caller's options. */
86
103
  optionOverrides: Partial<ModelCompletionOptions>;
87
104
  /** The hop list fixed by the route's first `resolve()`; later calls walk it. */
@@ -1 +1 @@
1
- {"version":3,"file":"completionGateway.d.ts","sourceRoot":"","sources":["../../../src/api/runtime/completionGateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completionGateway.d.ts","sourceRoot":"","sources":["../../../src/api/runtime/completionGateway.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { globalLLMProviderHealth } from '../../core/safety/LLMProviderHealthRegistry.js';
2
2
  import { lowerZodToJsonSchema } from '../../orchestration/compiler/SchemaLowering.js';
3
3
  import { resolveModelOption, resolveProvider, createProviderManager } from '../model.js';
4
+ import { providerHealthKey } from './providerHealthKey.js';
5
+ import { credentialsGoWith, modelNamesAnotherProvider } from './credentialOwner.js';
4
6
  import { advanceFallbackWalk, buildPolicyAwareFallbackChain, explicitRequiredCapabilities, fallbackHopOverrides, gateFallbackEntry, INITIAL_FALLBACK_WALK, isContentPolicyRefusal, isRetryableError, resolveFallbackChain, resolvePolicyTier, usageOfError, } from '../generateText.js';
5
7
  import { hostPolicyToRouteParams, mergeRequiredCapabilities } from './hostPolicy.js';
6
8
  import { buildResponseFormatForProvider, responseFormatCarriesSchema } from './responseFormatForProvider.js';
@@ -44,13 +46,18 @@ function toolNamesOf(tools) {
44
46
  .filter((n) => typeof n === 'string' && n.length > 0);
45
47
  }
46
48
  /** The error a hop with an open circuit fails with, worded as streamText words it. */
47
- function circuitOpenError(providerId) {
48
- const stats = globalLLMProviderHealth.getStats(providerId);
49
+ function circuitOpenError(providerId, healthId = providerId) {
50
+ const stats = globalLLMProviderHealth.getStats(healthId);
49
51
  return Object.assign(new Error(`[503] Provider '${providerId}' circuit open; cooldown ${stats?.cooldownRemainingMs ?? 0}ms`), { name: 'LLMProviderCircuitOpenError', httpStatus: 503 });
50
52
  }
51
53
  /** Primary selection, the same as streamText's: explicit model and provider, then the router when one is set. */
52
54
  async function selectPrimary(route) {
53
- let { providerId, modelId } = resolveModelOption({ provider: route.providerId, model: route.modelId }, 'text');
55
+ // With the route's own key or base URL, so a model prefix that names
56
+ // another provider than the route's is refused rather than handed the key.
57
+ let { providerId, modelId } = resolveModelOption({ provider: route.providerId, model: route.modelId, apiKey: route.apiKey, baseUrl: route.baseUrl }, 'text');
58
+ // The provider the route's own credentials are for: a router that picks
59
+ // another serves the primary on that provider's own credentials.
60
+ const credentialProviderId = providerId;
54
61
  if (route.router) {
55
62
  try {
56
63
  const toolNames = toolNamesOf(route.tools);
@@ -74,7 +81,7 @@ async function selectPrimary(route) {
74
81
  console.warn('[agentos] Model router error, falling back to standard resolution:', routerErr);
75
82
  }
76
83
  }
77
- return { provider: providerId, model: modelId };
84
+ return { provider: providerId, model: modelId, ownCredentials: providerId === credentialProviderId };
78
85
  }
79
86
  /**
80
87
  * The HTTP status an in-band error names in a numeric code (Gemini's stream
@@ -366,7 +373,24 @@ function liftSchemaToolCall(chunk, toolName) {
366
373
  }
367
374
  export function createCompletionGateway(defaults = {}) {
368
375
  async function resolve(input, after, failure) {
369
- const route = { ...defaults, ...definedOnly(input) };
376
+ const own = definedOnly(input);
377
+ const route = { ...defaults, ...own };
378
+ // A turn whose model's `provider:` prefix names another provider than the
379
+ // defaults' does not inherit the defaults' provider.
380
+ if (own.providerId === undefined &&
381
+ own.modelId !== undefined &&
382
+ defaults.providerId !== undefined &&
383
+ modelNamesAnotherProvider(defaults.providerId, own.modelId)) {
384
+ route.providerId = undefined;
385
+ }
386
+ // The defaults' key and base URL are for the provider the defaults name:
387
+ // a turn that names another provider takes only its own, and the
388
+ // primary then reads that provider's from the environment.
389
+ if ((defaults.apiKey !== undefined || defaults.baseUrl !== undefined) &&
390
+ !credentialsGoWith({ provider: defaults.providerId, model: defaults.modelId }, { provider: route.providerId, model: route.modelId })) {
391
+ route.apiKey = own.apiKey;
392
+ route.baseUrl = own.baseUrl;
393
+ }
370
394
  let chain;
371
395
  let walk;
372
396
  // The resolution's passed-over entries, reported when a walk starts.
@@ -395,7 +419,10 @@ export function createCompletionGateway(defaults = {}) {
395
419
  excludedModelIds: route.routerParams?.excludedModelIds,
396
420
  onSkip: (entry, reason) => pendingSkips.push({ provider: entry.provider, model: entry.model, reason }),
397
421
  });
398
- chain = [{ provider: primary.provider, model: primary.model }, ...resolved.map((entry) => ({ provider: entry.provider, model: entry.model, entry }))];
422
+ chain = [
423
+ { provider: primary.provider, model: primary.model, ownCredentials: primary.ownCredentials },
424
+ ...resolved.map((entry) => ({ provider: entry.provider, model: entry.model, entry })),
425
+ ];
399
426
  walk = INITIAL_FALLBACK_WALK;
400
427
  }
401
428
  let lastError;
@@ -412,16 +439,24 @@ export function createCompletionGateway(defaults = {}) {
412
439
  walk = gate.state;
413
440
  }
414
441
  // Set once credentials resolve: the provider that serves the hop (resolveProvider
415
- // may serve anthropic through openrouter), whose circuit and health are the hop's.
442
+ // may serve anthropic through openrouter), and the id its circuit and health
443
+ // are kept under (the route's own key and base URL have one of their own).
416
444
  let servingProviderId;
445
+ let healthId;
417
446
  try {
418
447
  const parsed = hop === 0 && h.model ? { providerId: h.provider, modelId: h.model } : resolveModelOption({ provider: h.provider, model: h.model }, 'text');
419
- const resolved = hop === 0
448
+ // The route's own credentials go to the primary only when they are for
449
+ // its provider (a router may have picked another).
450
+ const routeCredentials = hop === 0 && h.ownCredentials !== false;
451
+ const resolved = routeCredentials
420
452
  ? resolveProvider(parsed.providerId, parsed.modelId, { apiKey: route.apiKey, baseUrl: route.baseUrl })
421
453
  : resolveProvider(parsed.providerId, parsed.modelId);
422
454
  servingProviderId = resolved.providerId;
423
- if (globalLLMProviderHealth.isOpen(resolved.providerId))
424
- throw circuitOpenError(resolved.providerId);
455
+ const ownCredentials = routeCredentials && (route.apiKey !== undefined || route.baseUrl !== undefined);
456
+ const hopHealthId = providerHealthKey(resolved, ownCredentials ? () => resolveProvider(parsed.providerId, parsed.modelId) : undefined);
457
+ healthId = hopHealthId;
458
+ if (globalLLMProviderHealth.isOpen(hopHealthId))
459
+ throw circuitOpenError(resolved.providerId, hopHealthId);
425
460
  const providerManager = await createProviderManager(resolved);
426
461
  const info = await providerManager.getModelInfo(resolved.modelId, resolved.providerId);
427
462
  const overrides = h.entry ? fallbackHopOverrides(route.callOptions ?? {}, h.entry) : undefined;
@@ -433,6 +468,7 @@ export function createCompletionGateway(defaults = {}) {
433
468
  capabilities: [...(info?.capabilities ?? [])],
434
469
  toolFormat: toolFormatFor(resolved.providerId),
435
470
  providerManager,
471
+ healthId: hopHealthId,
436
472
  optionOverrides: overrides
437
473
  ? definedOnly({ maxTokens: overrides.maxTokens, effort: overrides.effort, cache: overrides.cache })
438
474
  : {},
@@ -453,8 +489,8 @@ export function createCompletionGateway(defaults = {}) {
453
489
  // As in streamText: a configuration error (no credentials, unknown model)
454
490
  // says nothing about the provider's health, and an open circuit is the
455
491
  // registry's own verdict; neither is recorded.
456
- if (servingProviderId && lastError.name !== 'LLMProviderCircuitOpenError') {
457
- globalLLMProviderHealth.recordFailure(servingProviderId, lastError);
492
+ if (healthId && lastError.name !== 'LLMProviderCircuitOpenError') {
493
+ globalLLMProviderHealth.recordFailure(healthId, lastError);
458
494
  }
459
495
  route.onHopFailure?.({ providerId: servingProviderId ?? h.provider, hop, error: lastError });
460
496
  // The primary's configuration error (no credentials, unknown provider) is the caller's to see.
@@ -515,7 +551,7 @@ export function createCompletionGateway(defaults = {}) {
515
551
  const provider = resolution.providerManager.getProvider(resolution.providerId);
516
552
  if (!provider) {
517
553
  const error = Object.assign(new Error(`Provider '${resolution.providerId}' is not available.`), { name: 'ProviderInitializationError' });
518
- globalLLMProviderHealth.recordFailure(resolution.providerId, error);
554
+ globalLLMProviderHealth.recordFailure(resolution.healthId ?? resolution.providerId, error);
519
555
  finish(failed(error, undefined));
520
556
  return;
521
557
  }
@@ -531,7 +567,7 @@ export function createCompletionGateway(defaults = {}) {
531
567
  const aborted = chunk.error.type === 'abort';
532
568
  const error = errorFromChunk(chunk.error);
533
569
  if (!aborted)
534
- globalLLMProviderHealth.recordFailure(resolution.providerId, error);
570
+ globalLLMProviderHealth.recordFailure(resolution.healthId ?? resolution.providerId, error);
535
571
  if (!delivered) {
536
572
  const usage = billedUsage(buffer, error, chunk.usage);
537
573
  finish(aborted ? failed(error, usage, false) : failed(error, usage));
@@ -562,12 +598,12 @@ export function createCompletionGateway(defaults = {}) {
562
598
  yield* buffer.splice(0);
563
599
  }
564
600
  completed = true;
565
- globalLLMProviderHealth.recordSuccess(resolution.providerId);
601
+ globalLLMProviderHealth.recordSuccess(resolution.healthId ?? resolution.providerId);
566
602
  finish({ kind: 'delivered' });
567
603
  }
568
604
  catch (err) {
569
605
  const error = err instanceof Error ? err : new Error(String(err));
570
- globalLLMProviderHealth.recordFailure(resolution.providerId, error);
606
+ globalLLMProviderHealth.recordFailure(resolution.healthId ?? resolution.providerId, error);
571
607
  if (!delivered) {
572
608
  finish(failed(error, billedUsage(buffer, error)));
573
609
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"completionGateway.js","sourceRoot":"","sources":["../../../src/api/runtime/completionGateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completionGateway.js","sourceRoot":"","sources":["../../../src/api/runtime/completionGateway.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /** The provider and model credentials were set beside, or a call names. */
2
+ export interface ProviderAndModel {
3
+ provider?: string;
4
+ model?: string;
5
+ }
6
+ /**
7
+ * Whether credentials set beside `owner` go with a call to `target`: false
8
+ * when the call resolves to another provider than the owner's. The owner's
9
+ * provider is the one it names, even beside a model whose `provider:` prefix
10
+ * names another (a call with both and a key is refused for that conflict);
11
+ * when it names only a model, it is the provider that model resolves to. An
12
+ * owner that names neither, or only a model that does not resolve, is for
13
+ * whichever provider the call names, as it always was; a target that does
14
+ * not resolve fails in the call's own resolution, which reports why.
15
+ */
16
+ export declare function credentialsGoWith(owner: ProviderAndModel, target: ProviderAndModel): boolean;
17
+ /**
18
+ * Whether `model`, named by a call that names no provider, takes the call to
19
+ * another provider than `inherited`, the provider it would inherit from an
20
+ * agent or a gateway's defaults: a `provider:` prefix of a provider AgentOS
21
+ * knows wins over the inherited provider (never under 'ollama', whose tags
22
+ * carry colons). The call then does not inherit `inherited`, so a key of its
23
+ * own is not refused as one sent to a provider it did not name.
24
+ */
25
+ export declare function modelNamesAnotherProvider(inherited: string, model: string): boolean;
26
+ //# sourceMappingURL=credentialOwner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentialOwner.d.ts","sourceRoot":"","sources":["../../../src/api/runtime/credentialOwner.ts"],"names":[],"mappings":"AAUA,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAe5F;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAMnF"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @file credentialOwner.ts
3
+ * Whether a key and base URL set beside one provider and model go with a call
4
+ * that names its own. An agent's options and a completion gateway's defaults
5
+ * hold credentials for the provider they name; a call that names another
6
+ * provider runs on its own credentials, or on that provider's from the
7
+ * environment, and never sends the first provider's key to the second.
8
+ */
9
+ import { resolveModelOption } from '../model.js';
10
+ /**
11
+ * Whether credentials set beside `owner` go with a call to `target`: false
12
+ * when the call resolves to another provider than the owner's. The owner's
13
+ * provider is the one it names, even beside a model whose `provider:` prefix
14
+ * names another (a call with both and a key is refused for that conflict);
15
+ * when it names only a model, it is the provider that model resolves to. An
16
+ * owner that names neither, or only a model that does not resolve, is for
17
+ * whichever provider the call names, as it always was; a target that does
18
+ * not resolve fails in the call's own resolution, which reports why.
19
+ */
20
+ export function credentialsGoWith(owner, target) {
21
+ let ownerProviderId = owner.provider;
22
+ if (ownerProviderId === undefined) {
23
+ if (owner.model === undefined)
24
+ return true;
25
+ try {
26
+ ownerProviderId = resolveModelOption({ model: owner.model }, 'text').providerId;
27
+ }
28
+ catch {
29
+ return true;
30
+ }
31
+ }
32
+ try {
33
+ return resolveModelOption({ provider: target.provider, model: target.model }, 'text').providerId === ownerProviderId;
34
+ }
35
+ catch {
36
+ return true;
37
+ }
38
+ }
39
+ /**
40
+ * Whether `model`, named by a call that names no provider, takes the call to
41
+ * another provider than `inherited`, the provider it would inherit from an
42
+ * agent or a gateway's defaults: a `provider:` prefix of a provider AgentOS
43
+ * knows wins over the inherited provider (never under 'ollama', whose tags
44
+ * carry colons). The call then does not inherit `inherited`, so a key of its
45
+ * own is not refused as one sent to a provider it did not name.
46
+ */
47
+ export function modelNamesAnotherProvider(inherited, model) {
48
+ try {
49
+ return resolveModelOption({ provider: inherited, model }, 'text').providerId !== inherited;
50
+ }
51
+ catch {
52
+ return false;
53
+ }
54
+ }
55
+ //# sourceMappingURL=credentialOwner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentialOwner.js","sourceRoot":"","sources":["../../../src/api/runtime/credentialOwner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAQjD;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAuB,EAAE,MAAwB;IACjF,IAAI,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC;IACrC,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC3C,IAAI,CAAC;YACH,eAAe,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC;QAClF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC,UAAU,KAAK,eAAe,CAAC;IACvH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAiB,EAAE,KAAa;IACxE,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC;IAC7F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}