@guuey/config 0.16.16 → 0.16.20

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.
@@ -73,6 +73,22 @@ export declare function lineupForProvider(p: ModelEntry["provider"]): readonly M
73
73
  * the older Gemini/GPT rows as of the 2026-09-02 wave).
74
74
  */
75
75
  export declare function legacyForProvider(p: ModelEntry["provider"]): readonly ModelEntry[];
76
+ /**
77
+ * The model AXIS a framework's picker offers — its default provider's
78
+ * invocable (ga|preview) rows, default first: `modelsForProvider` keyed by
79
+ * framework. Every door that judges an `intendedModel` (the console's rack
80
+ * and deploy snapshot, the backend's create validator) derives THIS list, so
81
+ * no two of them can disagree about what "offered" means (guuey#647).
82
+ */
83
+ export declare function modelsForFramework(framework: FrameworkEntry["framework"]): readonly ModelEntry[];
84
+ /**
85
+ * Is `id` on `framework`'s model axis? THE offered / off-registry predicate
86
+ * (guuey#647), fail-closed: an `announced` row (known, not invocable), a
87
+ * `deprecated` row, another provider's model and an id the registry has
88
+ * never heard of all answer false. One rule for every door — a client that
89
+ * copied it would be the second source of truth this exists to prevent.
90
+ */
91
+ export declare function isOfferedModel(framework: FrameworkEntry["framework"], id: string): boolean;
76
92
  /**
77
93
  * Get the default model id for a framework's default provider.
78
94
  */
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;AAExE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,mBAAmB,GAAG,YAAY,GAAG,SAAS,CAAC;IACxF,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,eAAe,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC7D;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,UAAU,EAmD/C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAAS,cAAc,EAkCvD,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,UAAU,EAAE,CAQlF;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,UAAU,EAAE,CAElF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,UAAU,EAAE,CAElF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,MAAM,CAM9E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE7D"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;AAExE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,mBAAmB,GAAG,YAAY,GAAG,SAAS,CAAC;IACxF,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,eAAe,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC7D;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,UAAU,EAmD/C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAAS,cAAc,EAkCvD,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,UAAU,EAAE,CAQlF;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,UAAU,EAAE,CAElF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,UAAU,EAAE,CAElF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,UAAU,EAAE,CAIhG;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAE1F;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,MAAM,CAM9E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE7D"}
package/dist/registry.js CHANGED
@@ -134,6 +134,29 @@ export function lineupForProvider(p) {
134
134
  export function legacyForProvider(p) {
135
135
  return modelsForProvider(p).filter((m) => m.lineup !== true);
136
136
  }
137
+ /**
138
+ * The model AXIS a framework's picker offers — its default provider's
139
+ * invocable (ga|preview) rows, default first: `modelsForProvider` keyed by
140
+ * framework. Every door that judges an `intendedModel` (the console's rack
141
+ * and deploy snapshot, the backend's create validator) derives THIS list, so
142
+ * no two of them can disagree about what "offered" means (guuey#647).
143
+ */
144
+ export function modelsForFramework(framework) {
145
+ const fw = FRAMEWORK_REGISTRY.find((f) => f.framework === framework);
146
+ if (!fw)
147
+ throw new Error(`Unknown framework: ${framework}`);
148
+ return modelsForProvider(fw.defaultProvider);
149
+ }
150
+ /**
151
+ * Is `id` on `framework`'s model axis? THE offered / off-registry predicate
152
+ * (guuey#647), fail-closed: an `announced` row (known, not invocable), a
153
+ * `deprecated` row, another provider's model and an id the registry has
154
+ * never heard of all answer false. One rule for every door — a client that
155
+ * copied it would be the second source of truth this exists to prevent.
156
+ */
157
+ export function isOfferedModel(framework, id) {
158
+ return modelsForFramework(framework).some((m) => m.id === id);
159
+ }
137
160
  /**
138
161
  * Get the default model id for a framework's default provider.
139
162
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guuey/config",
3
- "version": "0.16.16",
3
+ "version": "0.16.20",
4
4
  "description": "Open-source schemas + loaders for the three guuey config files: agent.json (declarative agent definition), guuey.json (hosted-deploy overlay), and the helper types around them. Consumed by @guuey/cli, the guuey backend, and devs writing their own agent or MCP server.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -35,7 +35,7 @@
35
35
  "@types/node": "^24.0.0",
36
36
  "typescript": "^5.0.0",
37
37
  "vitest": "^3.2.7",
38
- "@guuey/chat": "0.16.16"
38
+ "@guuey/chat": "0.16.20"
39
39
  },
40
40
  "publishConfig": {
41
41
  "access": "public"