@warmdrift/kgauto-compiler 2.0.0-alpha.83 → 2.0.0-alpha.86

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.
@@ -28,7 +28,7 @@ __export(key_health_exports, {
28
28
  module.exports = __toCommonJS(key_health_exports);
29
29
 
30
30
  // src/version.ts
31
- var LIBRARY_VERSION = "2.0.0-alpha.83";
31
+ var LIBRARY_VERSION = "2.0.0-alpha.86";
32
32
 
33
33
  // src/key-health.ts
34
34
  var JSON_HEADERS = { "Content-Type": "application/json" };
@@ -3,7 +3,7 @@ import {
3
3
  KEY_FINGERPRINT_LENGTH,
4
4
  createKeyHealthRoute,
5
5
  keyFingerprint
6
- } from "./chunk-QEFIAAE7.mjs";
6
+ } from "./chunk-V4T2CBRI.mjs";
7
7
  export {
8
8
  KEY_FINGERPRINT_DOMAIN,
9
9
  KEY_FINGERPRINT_LENGTH,
@@ -1,4 +1,4 @@
1
- import { k as Provider } from './ir-D4S9R816.mjs';
1
+ import { k as Provider } from './ir-5TJLAYKR.mjs';
2
2
  import { IntentArchetypeName } from './dialect.mjs';
3
3
 
4
4
  /**
@@ -291,6 +291,15 @@ interface ProfileBrainHook {
291
291
  }
292
292
  /** @internal — called by models-brain.ts at module load. */
293
293
  declare function _setProfileBrainHook(hook: ProfileBrainHook): void;
294
+ /**
295
+ * Resolve a model id to its canonical form (alias → canonical, unknown ids
296
+ * returned unchanged). This is the same resolution `getProfile` applies, so
297
+ * any code comparing model ids against a policy list (blockedModels,
298
+ * preferredModels) must compare canonical forms on BOTH sides — an alias and
299
+ * its canonical are the same model, and a raw-string comparison lets one
300
+ * evade a policy naming the other (alpha.85, tt-intel s119 spend-gate leak).
301
+ */
302
+ declare function resolveModelAlias(id: string): string;
294
303
  declare function getProfile(id: string): ModelProfile;
295
304
  declare function tryGetProfile(id: string): ModelProfile | undefined;
296
305
  declare function allProfiles(): readonly ModelProfile[];
@@ -299,4 +308,4 @@ declare function allProfiles(): readonly ModelProfile[];
299
308
  declare function allProfilesRaw(): readonly ModelProfile[];
300
309
  declare function profilesByProvider(provider: Provider): readonly ModelProfile[];
301
310
 
302
- export { ALIASES, type ArchetypeConvention, type CacheStrategy, type CliffRule, LATENCY_TIER_MS, type LatencyTier, type LoweringSpec, type ModelProfile, type RecoveryRule, type StructuredOutputCapability, type SystemPromptMode, _setProfileBrainHook, allProfiles, allProfilesRaw, getProfile, latencyTierOf, profilesByProvider, tryGetProfile };
311
+ export { ALIASES, type ArchetypeConvention, type CacheStrategy, type CliffRule, LATENCY_TIER_MS, type LatencyTier, type LoweringSpec, type ModelProfile, type RecoveryRule, type StructuredOutputCapability, type SystemPromptMode, _setProfileBrainHook, allProfiles, allProfilesRaw, getProfile, latencyTierOf, profilesByProvider, resolveModelAlias, tryGetProfile };
@@ -1,4 +1,4 @@
1
- import { k as Provider } from './ir-Cx9hJj0B.js';
1
+ import { k as Provider } from './ir-C1zmvAh6.js';
2
2
  import { IntentArchetypeName } from './dialect.js';
3
3
 
4
4
  /**
@@ -291,6 +291,15 @@ interface ProfileBrainHook {
291
291
  }
292
292
  /** @internal — called by models-brain.ts at module load. */
293
293
  declare function _setProfileBrainHook(hook: ProfileBrainHook): void;
294
+ /**
295
+ * Resolve a model id to its canonical form (alias → canonical, unknown ids
296
+ * returned unchanged). This is the same resolution `getProfile` applies, so
297
+ * any code comparing model ids against a policy list (blockedModels,
298
+ * preferredModels) must compare canonical forms on BOTH sides — an alias and
299
+ * its canonical are the same model, and a raw-string comparison lets one
300
+ * evade a policy naming the other (alpha.85, tt-intel s119 spend-gate leak).
301
+ */
302
+ declare function resolveModelAlias(id: string): string;
294
303
  declare function getProfile(id: string): ModelProfile;
295
304
  declare function tryGetProfile(id: string): ModelProfile | undefined;
296
305
  declare function allProfiles(): readonly ModelProfile[];
@@ -299,4 +308,4 @@ declare function allProfiles(): readonly ModelProfile[];
299
308
  declare function allProfilesRaw(): readonly ModelProfile[];
300
309
  declare function profilesByProvider(provider: Provider): readonly ModelProfile[];
301
310
 
302
- export { ALIASES, type ArchetypeConvention, type CacheStrategy, type CliffRule, LATENCY_TIER_MS, type LatencyTier, type LoweringSpec, type ModelProfile, type RecoveryRule, type StructuredOutputCapability, type SystemPromptMode, _setProfileBrainHook, allProfiles, allProfilesRaw, getProfile, latencyTierOf, profilesByProvider, tryGetProfile };
311
+ export { ALIASES, type ArchetypeConvention, type CacheStrategy, type CliffRule, LATENCY_TIER_MS, type LatencyTier, type LoweringSpec, type ModelProfile, type RecoveryRule, type StructuredOutputCapability, type SystemPromptMode, _setProfileBrainHook, allProfiles, allProfilesRaw, getProfile, latencyTierOf, profilesByProvider, resolveModelAlias, tryGetProfile };
package/dist/profiles.js CHANGED
@@ -28,6 +28,7 @@ __export(profiles_exports, {
28
28
  getProfile: () => getProfile,
29
29
  latencyTierOf: () => latencyTierOf,
30
30
  profilesByProvider: () => profilesByProvider,
31
+ resolveModelAlias: () => resolveModelAlias,
31
32
  tryGetProfile: () => tryGetProfile
32
33
  });
33
34
  module.exports = __toCommonJS(profiles_exports);
@@ -643,9 +644,21 @@ var PROFILES_RAW = [
643
644
  },
644
645
  {
645
646
  id: "gemini-2.5-pro",
646
- verifiedAgainstDocs: "2026-05-08",
647
+ verifiedAgainstDocs: "2026-08-08",
647
648
  provider: "google",
648
- status: "current",
649
+ // alpha.86 — AVAILABILITY demotion, not a provider-lifecycle mirror.
650
+ // Google's docs still list 2.5-pro as Stable, but the serving layer
651
+ // disagrees per account cohort: tt-intel measured 4/4 refusals
652
+ // ("no longer available to new users", 2026-08-02, their bench), and
653
+ // kgauto's own key 429s on a FreeTier per-day quota (probed
654
+ // 2026-08-08). A chain anchor that hard-fails for whole account
655
+ // cohorts is not an anchor; `legacy` removes it from cost-ordered
656
+ // chains and new selection while keeping the profile resolvable for
657
+ // consumers who pass it explicitly. Re-promotion is one status flip
658
+ // if Google restores availability. The registry cannot yet express
659
+ // account-cohort availability as data — see interfaces/kgauto.md
660
+ // ## Requested 2026-08-02.
661
+ status: "legacy",
649
662
  maxContextTokens: 1048576,
650
663
  maxOutputTokens: 65535,
651
664
  maxTools: 128,
@@ -675,7 +688,7 @@ var PROFILES_RAW = [
675
688
  }
676
689
  ],
677
690
  strengths: ["reasoning", "1m_context", "structured_output", "tool_use"],
678
- weaknesses: ["pricing_above_200k"],
691
+ weaknesses: ["pricing_above_200k", "availability_restricted_by_account_cohort"],
679
692
  // Master plan §3.3 anchor: tier-2 cross-provider in almost every chain.
680
693
  // Sits on the frontier at perf-9 — close to Sonnet but cheaper input.
681
694
  archetypePerf: {
@@ -1698,6 +1711,9 @@ function _setProfileBrainHook(hook) {
1698
1711
  function canonicalId(id) {
1699
1712
  return brainHook.resolveAlias?.(id) ?? ALIASES[id] ?? id;
1700
1713
  }
1714
+ function resolveModelAlias(id) {
1715
+ return canonicalId(id);
1716
+ }
1701
1717
  var PROFILE_INDEX = new Map(
1702
1718
  PROFILES_RAW.map((p) => [p.id, p])
1703
1719
  );
@@ -1735,5 +1751,6 @@ function profilesByProvider(provider) {
1735
1751
  getProfile,
1736
1752
  latencyTierOf,
1737
1753
  profilesByProvider,
1754
+ resolveModelAlias,
1738
1755
  tryGetProfile
1739
1756
  });
package/dist/profiles.mjs CHANGED
@@ -7,8 +7,9 @@ import {
7
7
  getProfile,
8
8
  latencyTierOf,
9
9
  profilesByProvider,
10
+ resolveModelAlias,
10
11
  tryGetProfile
11
- } from "./chunk-VVRDFE6T.mjs";
12
+ } from "./chunk-2MQIVVEU.mjs";
12
13
  export {
13
14
  ALIASES,
14
15
  LATENCY_TIER_MS,
@@ -18,5 +19,6 @@ export {
18
19
  getProfile,
19
20
  latencyTierOf,
20
21
  profilesByProvider,
22
+ resolveModelAlias,
21
23
  tryGetProfile
22
24
  };
@@ -1,4 +1,4 @@
1
- import { i as Adapter, F as FallbackReason, x as SectionKind } from './ir-Cx9hJj0B.js';
1
+ import { i as Adapter, F as FallbackReason, x as SectionKind } from './ir-C1zmvAh6.js';
2
2
 
3
3
  /**
4
4
  * Wire contract for the Glass-Box Chrome extension's brain-poll endpoint.
@@ -1,4 +1,4 @@
1
- import { i as Adapter, F as FallbackReason, x as SectionKind } from './ir-D4S9R816.mjs';
1
+ import { i as Adapter, F as FallbackReason, x as SectionKind } from './ir-5TJLAYKR.mjs';
2
2
 
3
3
  /**
4
4
  * Wire contract for the Glass-Box Chrome extension's brain-poll endpoint.
@@ -1,4 +1,4 @@
1
- import { s as MutationApplied, B as BestPracticeAdvisory, F as FallbackReason, m as CallAttempt } from './ir-D4S9R816.mjs';
1
+ import { s as MutationApplied, B as BestPracticeAdvisory, F as FallbackReason, m as CallAttempt } from './ir-5TJLAYKR.mjs';
2
2
 
3
3
  /**
4
4
  * Glass-Box observability types (alpha.17).
@@ -1,4 +1,4 @@
1
- import { s as MutationApplied, B as BestPracticeAdvisory, F as FallbackReason, m as CallAttempt } from './ir-Cx9hJj0B.js';
1
+ import { s as MutationApplied, B as BestPracticeAdvisory, F as FallbackReason, m as CallAttempt } from './ir-C1zmvAh6.js';
2
2
 
3
3
  /**
4
4
  * Glass-Box observability types (alpha.17).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@warmdrift/kgauto-compiler",
3
- "version": "2.0.0-alpha.83",
3
+ "version": "2.0.0-alpha.86",
4
4
  "description": "Prompt compiler with executable provider knowledge for multi-model AI apps: normalized multi-provider transport with fallback chains, compile-time cliff guards, a curated model registry, and a telemetry flight recorder. Swap models without rewriting prompts.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",