@sriinnu/kosha-discovery 1.1.0 → 1.2.0

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 (65) hide show
  1. package/README.md +1 -0
  2. package/dist/cli-format.d.ts.map +1 -1
  3. package/dist/cli-format.js +2 -1
  4. package/dist/cli-format.js.map +1 -1
  5. package/dist/context-strategy.d.ts +48 -0
  6. package/dist/context-strategy.d.ts.map +1 -0
  7. package/dist/context-strategy.js +274 -0
  8. package/dist/context-strategy.js.map +1 -0
  9. package/dist/credentials/resolver.d.ts +7 -0
  10. package/dist/credentials/resolver.d.ts.map +1 -1
  11. package/dist/credentials/resolver.js +28 -3
  12. package/dist/credentials/resolver.js.map +1 -1
  13. package/dist/discovery/index.d.ts +1 -0
  14. package/dist/discovery/index.d.ts.map +1 -1
  15. package/dist/discovery/index.js +3 -0
  16. package/dist/discovery/index.js.map +1 -1
  17. package/dist/discovery/litellm-seed.js +12 -8
  18. package/dist/discovery/litellm-seed.js.map +1 -1
  19. package/dist/discovery/modelsdev-seed.js +16 -12
  20. package/dist/discovery/modelsdev-seed.js.map +1 -1
  21. package/dist/discovery/vercel.d.ts +45 -0
  22. package/dist/discovery/vercel.d.ts.map +1 -0
  23. package/dist/discovery/vercel.js +232 -0
  24. package/dist/discovery/vercel.js.map +1 -0
  25. package/dist/discovery-contract.d.ts +1 -1
  26. package/dist/discovery-contract.d.ts.map +1 -1
  27. package/dist/discovery-contract.js +28 -1
  28. package/dist/discovery-contract.js.map +1 -1
  29. package/dist/enrichment/litellm-catalog.d.ts +1 -0
  30. package/dist/enrichment/litellm-catalog.d.ts.map +1 -1
  31. package/dist/enrichment/litellm-catalog.js.map +1 -1
  32. package/dist/enrichment/litellm.d.ts.map +1 -1
  33. package/dist/enrichment/litellm.js +6 -0
  34. package/dist/enrichment/litellm.js.map +1 -1
  35. package/dist/mcp-server.js +54 -6
  36. package/dist/mcp-server.js.map +1 -1
  37. package/dist/provider-catalog.d.ts +17 -2
  38. package/dist/provider-catalog.d.ts.map +1 -1
  39. package/dist/provider-catalog.js +86 -0
  40. package/dist/provider-catalog.js.map +1 -1
  41. package/dist/proxy.d.ts.map +1 -1
  42. package/dist/proxy.js +33 -13
  43. package/dist/proxy.js.map +1 -1
  44. package/dist/registry-discovery.d.ts.map +1 -1
  45. package/dist/registry-discovery.js +4 -4
  46. package/dist/registry-discovery.js.map +1 -1
  47. package/dist/registry-query.d.ts +2 -2
  48. package/dist/registry-query.d.ts.map +1 -1
  49. package/dist/registry-query.js +58 -7
  50. package/dist/registry-query.js.map +1 -1
  51. package/dist/registry-runtime.d.ts.map +1 -1
  52. package/dist/registry-runtime.js +8 -0
  53. package/dist/registry-runtime.js.map +1 -1
  54. package/dist/registry-selection.d.ts.map +1 -1
  55. package/dist/registry-selection.js +21 -3
  56. package/dist/registry-selection.js.map +1 -1
  57. package/dist/registry.js +2 -2
  58. package/dist/registry.js.map +1 -1
  59. package/dist/security.js +6 -6
  60. package/dist/security.js.map +1 -1
  61. package/dist/server.js +1 -1
  62. package/dist/server.js.map +1 -1
  63. package/dist/types.d.ts +42 -2
  64. package/dist/types.d.ts.map +1 -1
  65. package/package.json +102 -97
package/README.md CHANGED
@@ -121,6 +121,7 @@ Supported transports: `openai`, `openai-compatible-http`, `ollama`. Anthropic, G
121
121
  | Vertex AI | API + gcloud | `GOOGLE_APPLICATION_CREDENTIALS`, ADC |
122
122
  | Ollama | local API | — (local) |
123
123
  | OpenRouter | API | `OPENROUTER_API_KEY` *(optional)* |
124
+ | Vercel AI Gateway | `/v1/models` | `AI_GATEWAY_API_KEY`, `VERCEL_OIDC_TOKEN` *(public discovery, required for execution)* |
124
125
  | NVIDIA / Together / Fireworks / Groq / Cerebras / Cohere / DeepInfra / Perplexity | API | provider key env var |
125
126
  | DeepSeek / Mistral / Moonshot (Kimi) / GLM (Zhipu) / Z.AI / MiniMax | API | provider key env var |
126
127
 
@@ -1 +1 @@
1
- {"version":3,"file":"cli-format.d.ts","sourceRoot":"","sources":["../src/cli-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,+EAA+E;AAC/E,eAAO,MAAM,QAAQ,SAAyB,CAAC;AAE/C,4BAA4B;AAC5B,eAAO,MAAM,IAAI,cAAY,CAAC;AAE9B,mCAAmC;AACnC,eAAO,MAAM,GAAG,cAAY,CAAC;AAE7B,uCAAuC;AACvC,eAAO,MAAM,KAAK,cAAY,CAAC;AAE/B,mCAAmC;AACnC,eAAO,MAAM,KAAK,eAAa,CAAC;AAEhC,iCAAiC;AACjC,eAAO,MAAM,GAAG,eAAa,CAAC;AAE9B,oCAAoC;AACpC,eAAO,MAAM,MAAM,eAAa,CAAC;AAEjC,kCAAkC;AAClC,eAAO,MAAM,IAAI,eAAa,CAAC;AAE/B,yDAAyD;AACzD,eAAO,MAAM,OAAO,eAAa,CAAC;AAMlC;;;;;;;;;GASG;AACH,wBAAgB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAMD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI7D;AAED,wFAAwF;AACxF,UAAU,WAAW;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAO1E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAgBxF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM,CAW/E;AAMD;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAKzD;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAMD;;GAEG;AACH,MAAM,WAAW,MAAM;IACtB,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAuBvE"}
1
+ {"version":3,"file":"cli-format.d.ts","sourceRoot":"","sources":["../src/cli-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,+EAA+E;AAC/E,eAAO,MAAM,QAAQ,SAAyB,CAAC;AAE/C,4BAA4B;AAC5B,eAAO,MAAM,IAAI,cAAY,CAAC;AAE9B,mCAAmC;AACnC,eAAO,MAAM,GAAG,cAAY,CAAC;AAE7B,uCAAuC;AACvC,eAAO,MAAM,KAAK,cAAY,CAAC;AAE/B,mCAAmC;AACnC,eAAO,MAAM,KAAK,eAAa,CAAC;AAEhC,iCAAiC;AACjC,eAAO,MAAM,GAAG,eAAa,CAAC;AAE9B,oCAAoC;AACpC,eAAO,MAAM,MAAM,eAAa,CAAC;AAEjC,kCAAkC;AAClC,eAAO,MAAM,IAAI,eAAa,CAAC;AAE/B,yDAAyD;AACzD,eAAO,MAAM,OAAO,eAAa,CAAC;AAMlC;;;;;;;;;GASG;AACH,wBAAgB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAMD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI7D;AAED,wFAAwF;AACxF,UAAU,WAAW;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAO1E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAgBxF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM,CAW/E;AAMD;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAMD;;GAEG;AACH,MAAM,WAAW,MAAM;IACtB,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAuBvE"}
@@ -196,7 +196,8 @@ export function formatRelativeTime(ts, now = Date.now()) {
196
196
  */
197
197
  export function padRight(str, len) {
198
198
  // Strip ANSI codes for length calculation
199
- const plainLen = str.replace(/\x1b\[[0-9;]*m/g, "").length;
199
+ const ansiEscapePattern = new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*m`, "g");
200
+ const plainLen = str.replace(ansiEscapePattern, "").length;
200
201
  if (plainLen >= len)
201
202
  return str;
202
203
  return str + " ".repeat(len - plainLen);
@@ -1 +1 @@
1
- {"version":3,"file":"cli-format.js","sourceRoot":"","sources":["../src/cli-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,8EAA8E;AAC9E,8BAA8B;AAC9B,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,2DAA2D;AAC3D,EAAE;AACF,wEAAwE;AACxE,8EAA8E;AAE9E,+EAA+E;AAC/E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAE/C,4BAA4B;AAC5B,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC;AAE9B,mCAAmC;AACnC,MAAM,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC;AAE7B,uCAAuC;AACvC,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC;AAE/B,mCAAmC;AACnC,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAAC;AAEhC,iCAAiC;AACjC,MAAM,CAAC,MAAM,GAAG,GAAG,UAAU,CAAC;AAE9B,oCAAoC;AACpC,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC;AAEjC,kCAAkC;AAClC,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAAC;AAE/B,yDAAyD;AACzD,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC;AAElC,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,CAAC,CAAC,IAAY,EAAE,IAAY;IAC3C,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAC9C,CAAC;AAED,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc;IACjD,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC7C,IAAI,MAAM,IAAI,SAAS;QAAE,OAAO,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACrG,IAAI,MAAM,IAAI,KAAK;QAAE,OAAO,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACzF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,KAAyB;IACpD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,QAAQ,CAAC;IAC3D,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/B,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/B,CAAC;AAUD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgC;IACjE,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,KAAK,CAAC,IAAI,OAAO,CAAC,gBAAgB,KAAK,CAAC,CAAC;IAC/E,IAAI,MAAM;QAAE,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,oBAAoB,KAAK,SAAS,IAAI,OAAO,CAAC,qBAAqB,KAAK,SAAS,CAAC;IAC3G,IAAI,QAAQ;QAAE,OAAO,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,EAAE,CAAC;AACX,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgC;IACnE,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC;IACtC,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAC/C,IAAI,OAAO,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAEtE,MAAM,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IAC9B,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEnC,MAAM,QAAQ,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvC,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAEpC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,CAAS;IACrC,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,EAAU;IACzC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAU,EAAE,MAAc,IAAI,CAAC,GAAG,EAAE;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC3C,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,UAAU,CAAC;IACpC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,OAAO,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,OAAO,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,GAAG,KAAK,OAAO,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACpC,OAAO,GAAG,IAAI,OAAO,CAAC;AACvB,CAAC;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,GAAW;IAChD,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;IAC3D,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IAChC,OAAO,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,GAAW;IAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAkBD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAAC,OAAiB,EAAE,IAAgB;IAC9D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,6CAA6C;IAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACvC,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CACjG,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAElC,kEAAkE;IAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEvC,YAAY;IACZ,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"cli-format.js","sourceRoot":"","sources":["../src/cli-format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * kosha-discovery — Context-management strategy advisor.
3
+ *
4
+ * Pure synthesis over the model + provider catalog: given where a caller is
5
+ * in their conversation, return ranked options (continue / cache / compact /
6
+ * switch model / long-context tier / batch offload) with rough cost math.
7
+ *
8
+ * No tokenization, no model inference — just arithmetic over the registry.
9
+ * @module
10
+ */
11
+ import type { ModelCard, ProviderCacheBehavior } from "./types.js";
12
+ export interface ContextStrategyInput {
13
+ model: ModelCard;
14
+ currentTokens: number;
15
+ expectedRemainingTurns?: number;
16
+ expectedOutputTokens?: number;
17
+ candidateAlternatives?: ModelCard[];
18
+ }
19
+ export interface ContextSituation {
20
+ tokensUsed: number;
21
+ contextWindow: number;
22
+ headroomTokens: number;
23
+ headroomPercent: number;
24
+ inLongContextTier: boolean;
25
+ longContextThresholdTokens?: number;
26
+ }
27
+ export interface StrategyOption {
28
+ strategy: "continue" | "enable_prompt_cache" | "compact_and_continue" | "switch_to_long_context_tier" | "switch_model" | "batch_offload";
29
+ viable: boolean;
30
+ costPerTurnUsd?: number;
31
+ savingsPerTurnUsd?: number;
32
+ notes: string;
33
+ details?: Record<string, unknown>;
34
+ }
35
+ export interface ContextStrategy {
36
+ model: {
37
+ id: string;
38
+ provider: string;
39
+ contextWindow: number;
40
+ };
41
+ situation: ContextSituation;
42
+ cacheBehavior?: ProviderCacheBehavior;
43
+ options: StrategyOption[];
44
+ recommended: StrategyOption["strategy"];
45
+ }
46
+ /** Compute ranked context-management options for the given conversation state. */
47
+ export declare function computeContextStrategy(input: ContextStrategyInput): ContextStrategy;
48
+ //# sourceMappingURL=context-strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-strategy.d.ts","sourceRoot":"","sources":["../src/context-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAgB,qBAAqB,EAAE,MAAM,YAAY,CAAC;AASjF,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,SAAS,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,EACL,UAAU,GACV,qBAAqB,GACrB,sBAAsB,GACtB,6BAA6B,GAC7B,cAAc,GACd,eAAe,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,SAAS,EAAE,gBAAgB,CAAC;IAC5B,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,WAAW,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CACxC;AAED,kFAAkF;AAClF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,GAAG,eAAe,CA6CnF"}
@@ -0,0 +1,274 @@
1
+ /**
2
+ * kosha-discovery — Context-management strategy advisor.
3
+ *
4
+ * Pure synthesis over the model + provider catalog: given where a caller is
5
+ * in their conversation, return ranked options (continue / cache / compact /
6
+ * switch model / long-context tier / batch offload) with rough cost math.
7
+ *
8
+ * No tokenization, no model inference — just arithmetic over the registry.
9
+ * @module
10
+ */
11
+ import { getProviderCacheBehavior } from "./provider-catalog.js";
12
+ const DEFAULT_EXPECTED_OUTPUT_TOKENS = 1024;
13
+ const DEFAULT_EXPECTED_REMAINING_TURNS = 5;
14
+ const HEADROOM_WARN_PERCENT = 20;
15
+ const HEADROOM_CRITICAL_PERCENT = 10;
16
+ const COMPACTION_TARGET_PERCENT = 25;
17
+ const CACHE_READ_DISCOUNT_FLOOR = 0.5;
18
+ /** Compute ranked context-management options for the given conversation state. */
19
+ export function computeContextStrategy(input) {
20
+ const { model, currentTokens, expectedRemainingTurns = DEFAULT_EXPECTED_REMAINING_TURNS, expectedOutputTokens = DEFAULT_EXPECTED_OUTPUT_TOKENS, candidateAlternatives = [], } = input;
21
+ const tokensUsed = Math.max(0, Math.floor(currentTokens));
22
+ const headroomTokens = Math.max(0, model.contextWindow - tokensUsed);
23
+ const headroomPercent = model.contextWindow > 0 ? (headroomTokens / model.contextWindow) * 100 : 0;
24
+ const longThreshold = model.pricing?.longContextThresholdTokens;
25
+ const inLongContextTier = longThreshold !== undefined && tokensUsed >= longThreshold;
26
+ const situation = {
27
+ tokensUsed,
28
+ contextWindow: model.contextWindow,
29
+ headroomTokens,
30
+ headroomPercent: round(headroomPercent, 2),
31
+ inLongContextTier,
32
+ ...(longThreshold !== undefined ? { longContextThresholdTokens: longThreshold } : {}),
33
+ };
34
+ const cacheBehavior = getProviderCacheBehavior(model.provider);
35
+ const baselineCost = perTurnCost(model.pricing, tokensUsed, expectedOutputTokens, inLongContextTier);
36
+ const options = [];
37
+ options.push(buildContinueOption(situation, baselineCost, expectedRemainingTurns));
38
+ options.push(buildPromptCacheOption(model, tokensUsed, expectedOutputTokens, baselineCost, cacheBehavior));
39
+ options.push(buildLongContextTierOption(model, situation, baselineCost, expectedOutputTokens));
40
+ options.push(buildCompactionOption(model, situation, baselineCost, expectedOutputTokens, candidateAlternatives));
41
+ options.push(buildSwitchModelOption(model, tokensUsed, expectedOutputTokens, baselineCost, candidateAlternatives));
42
+ options.push(buildBatchOffloadOption(model, tokensUsed, expectedOutputTokens, baselineCost));
43
+ const recommended = pickRecommended(options, situation);
44
+ return {
45
+ model: { id: model.id, provider: model.provider, contextWindow: model.contextWindow },
46
+ situation,
47
+ ...(cacheBehavior ? { cacheBehavior } : {}),
48
+ options,
49
+ recommended,
50
+ };
51
+ }
52
+ function buildContinueOption(situation, baselineCost, expectedRemainingTurns) {
53
+ const viable = situation.headroomPercent > 0;
54
+ const tone = situation.headroomPercent < HEADROOM_CRITICAL_PERCENT
55
+ ? `Only ${situation.headroomPercent.toFixed(1)}% headroom — likely to overflow within 1–2 turns.`
56
+ : situation.headroomPercent < HEADROOM_WARN_PERCENT
57
+ ? `${situation.headroomPercent.toFixed(1)}% headroom — comfortable for a few more turns.`
58
+ : `${situation.headroomPercent.toFixed(1)}% headroom — no pressure.`;
59
+ return {
60
+ strategy: "continue",
61
+ viable,
62
+ ...(baselineCost !== undefined ? { costPerTurnUsd: round(baselineCost, 6) } : {}),
63
+ notes: tone,
64
+ details: {
65
+ projectedCostForRemainingTurnsUsd: baselineCost !== undefined ? round(baselineCost * expectedRemainingTurns, 6) : undefined,
66
+ inLongContextTier: situation.inLongContextTier,
67
+ },
68
+ };
69
+ }
70
+ function buildPromptCacheOption(model, currentTokens, expectedOutputTokens, baselineCost, cacheBehavior) {
71
+ if (!cacheBehavior || cacheBehavior.mode === "none") {
72
+ return {
73
+ strategy: "enable_prompt_cache",
74
+ viable: false,
75
+ notes: cacheBehavior?.mode === "none"
76
+ ? "Provider has no documented prompt cache."
77
+ : "Cache behavior for this provider has not been curated yet.",
78
+ };
79
+ }
80
+ const cacheReadRate = model.pricing?.cacheReadPerMillion;
81
+ const inputRate = model.pricing?.inputPerMillion;
82
+ const outputRate = model.pricing?.outputPerMillion;
83
+ const canEstimate = cacheReadRate !== undefined && inputRate !== undefined && outputRate !== undefined;
84
+ const cachedTurnCost = canEstimate
85
+ ? (currentTokens * cacheReadRate + expectedOutputTokens * outputRate) / 1_000_000
86
+ : undefined;
87
+ const savings = baselineCost !== undefined && cachedTurnCost !== undefined ? baselineCost - cachedTurnCost : undefined;
88
+ const ttlGuidance = cacheBehavior.mode === "explicit"
89
+ ? cacheBehavior.ttlTiers
90
+ ? `Pick a TTL from: ${cacheBehavior.ttlTiers.join(", ")}.`
91
+ : cacheBehavior.maxTtlSeconds
92
+ ? `Set TTL up to ${cacheBehavior.maxTtlSeconds}s (default ${cacheBehavior.defaultTtlSeconds ?? "provider-defined"}).`
93
+ : "Caller picks TTL."
94
+ : cacheBehavior.mode === "automatic"
95
+ ? `Provider manages TTL${cacheBehavior.approximateTtlSeconds ? ` (~${cacheBehavior.approximateTtlSeconds}s typical)` : ""}.`
96
+ : "Gateway forwards cache_control to the routed model — TTL inherits from the underlying provider.";
97
+ return {
98
+ strategy: "enable_prompt_cache",
99
+ viable: true,
100
+ ...(cachedTurnCost !== undefined ? { costPerTurnUsd: round(cachedTurnCost, 6) } : {}),
101
+ ...(savings !== undefined ? { savingsPerTurnUsd: round(savings, 6) } : {}),
102
+ notes: cacheReadRate !== undefined &&
103
+ inputRate !== undefined &&
104
+ inputRate > 0 &&
105
+ cacheReadRate / inputRate < CACHE_READ_DISCOUNT_FLOOR
106
+ ? `Cache reads cost ${round((cacheReadRate / inputRate) * 100, 1)}% of base input — meaningful savings on a stable prefix. ${ttlGuidance}`
107
+ : `Mode: ${cacheBehavior.mode}. ${ttlGuidance}`,
108
+ details: {
109
+ cacheMode: cacheBehavior.mode,
110
+ ttlTiers: cacheBehavior.ttlTiers,
111
+ defaultTtlSeconds: cacheBehavior.defaultTtlSeconds,
112
+ maxTtlSeconds: cacheBehavior.maxTtlSeconds,
113
+ approximateTtlSeconds: cacheBehavior.approximateTtlSeconds,
114
+ cacheReadRatePerMillion: cacheReadRate,
115
+ documented: cacheBehavior.documented,
116
+ },
117
+ };
118
+ }
119
+ function buildLongContextTierOption(model, situation, baselineCost, expectedOutputTokens) {
120
+ const threshold = model.pricing?.longContextThresholdTokens;
121
+ const longIn = model.pricing?.longContextInputPerMillion;
122
+ const longOut = model.pricing?.longContextOutputPerMillion;
123
+ if (threshold === undefined || longIn === undefined || longOut === undefined) {
124
+ return {
125
+ strategy: "switch_to_long_context_tier",
126
+ viable: false,
127
+ notes: "Model does not publish a tiered long-context price — single rate applies regardless of size.",
128
+ };
129
+ }
130
+ const tieredCost = (situation.tokensUsed * longIn + expectedOutputTokens * longOut) / 1_000_000;
131
+ const delta = baselineCost !== undefined ? tieredCost - baselineCost : undefined;
132
+ return {
133
+ strategy: "switch_to_long_context_tier",
134
+ viable: true,
135
+ costPerTurnUsd: round(tieredCost, 6),
136
+ ...(delta !== undefined ? { savingsPerTurnUsd: round(-delta, 6) } : {}),
137
+ notes: situation.inLongContextTier
138
+ ? `Already in long-context tier (>${threshold} tokens). Cost is what it is — consider compaction or a smaller-context-priced model instead.`
139
+ : `You're under the ${threshold}-token threshold; growing past it triggers tiered pricing (input ${longIn}/M, output ${longOut}/M).`,
140
+ details: { thresholdTokens: threshold, longInputPerMillion: longIn, longOutputPerMillion: longOut },
141
+ };
142
+ }
143
+ function buildCompactionOption(model, situation, baselineCost, expectedOutputTokens, candidateAlternatives) {
144
+ if (situation.tokensUsed === 0) {
145
+ return { strategy: "compact_and_continue", viable: false, notes: "Nothing to compact yet." };
146
+ }
147
+ const targetTokens = Math.max(1024, Math.floor(model.contextWindow * (COMPACTION_TARGET_PERCENT / 100)));
148
+ const tokensReclaimed = Math.max(0, situation.tokensUsed - targetTokens);
149
+ const summarizer = pickCheapestChatModel(candidateAlternatives, model);
150
+ const summarizationCost = summarizer?.pricing?.inputPerMillion !== undefined
151
+ ? (situation.tokensUsed * summarizer.pricing.inputPerMillion +
152
+ targetTokens * (summarizer.pricing.outputPerMillion ?? 0)) /
153
+ 1_000_000
154
+ : undefined;
155
+ const postCompactionTurnCost = model.pricing?.inputPerMillion !== undefined && model.pricing?.outputPerMillion !== undefined
156
+ ? (targetTokens * model.pricing.inputPerMillion + expectedOutputTokens * model.pricing.outputPerMillion) / 1_000_000
157
+ : undefined;
158
+ const savings = baselineCost !== undefined && postCompactionTurnCost !== undefined ? baselineCost - postCompactionTurnCost : undefined;
159
+ return {
160
+ strategy: "compact_and_continue",
161
+ viable: tokensReclaimed > 0,
162
+ ...(postCompactionTurnCost !== undefined ? { costPerTurnUsd: round(postCompactionTurnCost, 6) } : {}),
163
+ ...(savings !== undefined ? { savingsPerTurnUsd: round(savings, 6) } : {}),
164
+ notes: summarizer
165
+ ? `Summarize older turns down to ~${targetTokens} tokens using ${summarizer.id}; reclaims ${tokensReclaimed} tokens.`
166
+ : `Summarize older turns down to ~${targetTokens} tokens; reclaims ${tokensReclaimed} tokens. No cheap summarizer in candidate set.`,
167
+ details: {
168
+ targetTokens,
169
+ tokensReclaimed,
170
+ summarizerModelId: summarizer?.id,
171
+ summarizationCostUsd: summarizationCost !== undefined ? round(summarizationCost, 6) : undefined,
172
+ },
173
+ };
174
+ }
175
+ function buildSwitchModelOption(currentModel, currentTokens, expectedOutputTokens, baselineCost, candidateAlternatives) {
176
+ const candidates = candidateAlternatives
177
+ .filter((m) => m.id !== currentModel.id && m.contextWindow >= currentTokens && m.pricing?.inputPerMillion !== undefined)
178
+ .map((m) => ({
179
+ model: m,
180
+ cost: perTurnCost(m.pricing, currentTokens, expectedOutputTokens, false) ?? Number.POSITIVE_INFINITY,
181
+ }))
182
+ .sort((a, b) => a.cost - b.cost)
183
+ .slice(0, 3);
184
+ if (candidates.length === 0) {
185
+ return {
186
+ strategy: "switch_model",
187
+ viable: false,
188
+ notes: "No alternative model in the candidate set fits the current context size.",
189
+ };
190
+ }
191
+ const best = candidates[0];
192
+ const savings = baselineCost !== undefined ? baselineCost - best.cost : undefined;
193
+ return {
194
+ strategy: "switch_model",
195
+ viable: true,
196
+ costPerTurnUsd: round(best.cost, 6),
197
+ ...(savings !== undefined ? { savingsPerTurnUsd: round(savings, 6) } : {}),
198
+ notes: `Cheapest fit: ${best.model.id} (${best.model.contextWindow} context). ${candidates.length - 1} other option(s) considered.`,
199
+ details: {
200
+ alternatives: candidates.map((c) => ({
201
+ id: c.model.id,
202
+ provider: c.model.provider,
203
+ contextWindow: c.model.contextWindow,
204
+ costPerTurnUsd: Number.isFinite(c.cost) ? round(c.cost, 6) : null,
205
+ })),
206
+ },
207
+ };
208
+ }
209
+ function buildBatchOffloadOption(model, currentTokens, expectedOutputTokens, baselineCost) {
210
+ const batchIn = model.pricing?.batchInputPerMillion;
211
+ const batchOut = model.pricing?.batchOutputPerMillion;
212
+ if (batchIn === undefined || batchOut === undefined) {
213
+ return {
214
+ strategy: "batch_offload",
215
+ viable: false,
216
+ notes: "Model does not publish Batch API pricing.",
217
+ };
218
+ }
219
+ const batchCost = (currentTokens * batchIn + expectedOutputTokens * batchOut) / 1_000_000;
220
+ const savings = baselineCost !== undefined ? baselineCost - batchCost : undefined;
221
+ return {
222
+ strategy: "batch_offload",
223
+ viable: true,
224
+ costPerTurnUsd: round(batchCost, 6),
225
+ ...(savings !== undefined ? { savingsPerTurnUsd: round(savings, 6) } : {}),
226
+ notes: "Batch API trades latency (typically 24h SLO) for cheaper tokens — only viable if the workload is not real-time.",
227
+ details: { batchInputPerMillion: batchIn, batchOutputPerMillion: batchOut },
228
+ };
229
+ }
230
+ function pickRecommended(options, situation) {
231
+ const viable = options.filter((o) => o.viable);
232
+ if (viable.length === 0)
233
+ return "continue";
234
+ if (situation.headroomPercent < HEADROOM_CRITICAL_PERCENT) {
235
+ const compact = viable.find((o) => o.strategy === "compact_and_continue");
236
+ if (compact)
237
+ return "compact_and_continue";
238
+ const switchModel = viable.find((o) => o.strategy === "switch_model");
239
+ if (switchModel)
240
+ return "switch_model";
241
+ }
242
+ const withSavings = viable
243
+ .filter((o) => o.strategy !== "continue" && typeof o.savingsPerTurnUsd === "number" && o.savingsPerTurnUsd > 0)
244
+ .sort((a, b) => (b.savingsPerTurnUsd ?? 0) - (a.savingsPerTurnUsd ?? 0));
245
+ if (withSavings.length > 0)
246
+ return withSavings[0].strategy;
247
+ return "continue";
248
+ }
249
+ function pickCheapestChatModel(candidates, currentModel) {
250
+ return candidates
251
+ .filter((m) => m.id !== currentModel.id &&
252
+ m.mode === "chat" &&
253
+ typeof m.pricing?.inputPerMillion === "number" &&
254
+ typeof m.pricing?.outputPerMillion === "number")
255
+ .sort((a, b) => (a.pricing?.inputPerMillion ?? 0) - (b.pricing?.inputPerMillion ?? 0))[0];
256
+ }
257
+ function perTurnCost(pricing, inputTokens, outputTokens, useLongContextTier) {
258
+ if (!pricing)
259
+ return undefined;
260
+ const inputRate = useLongContextTier
261
+ ? (pricing.longContextInputPerMillion ?? pricing.inputPerMillion)
262
+ : pricing.inputPerMillion;
263
+ const outputRate = useLongContextTier
264
+ ? (pricing.longContextOutputPerMillion ?? pricing.outputPerMillion)
265
+ : pricing.outputPerMillion;
266
+ if (inputRate === undefined || outputRate === undefined)
267
+ return undefined;
268
+ return (inputTokens * inputRate + outputTokens * outputRate) / 1_000_000;
269
+ }
270
+ function round(n, digits) {
271
+ const factor = 10 ** digits;
272
+ return Math.round(n * factor) / factor;
273
+ }
274
+ //# sourceMappingURL=context-strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-strategy.js","sourceRoot":"","sources":["../src/context-strategy.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,13 @@ export declare class CredentialResolver {
71
71
  * (No known CLI tool stores OpenRouter keys on disk.)
72
72
  */
73
73
  private resolveOpenRouter;
74
+ /**
75
+ * Search hierarchy for Vercel AI Gateway credentials:
76
+ * 1. Explicit config key
77
+ * 2. `AI_GATEWAY_API_KEY` env var
78
+ * 3. `VERCEL_OIDC_TOKEN` env var (available on Vercel deployments)
79
+ */
80
+ private resolveVercelAIGateway;
74
81
  /**
75
82
  * Ollama runs locally and never requires authentication.
76
83
  * Returns `{ source: "none" }` unconditionally.
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/credentials/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IAEpD;;;;;;;OAOG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuDlF;;;;;;;;OAQG;YACW,gBAAgB;IAuD9B;;;;;;OAMG;YACW,aAAa;IA2C3B;;;;;;OAMG;YACW,aAAa;IAkD3B;;;;;OAKG;YACW,iBAAiB;IAoB/B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAQrB;;;;;;;;;;;;;OAaG;YACW,wBAAwB;IAqDtC;;;;;;;;;OASG;YACW,gBAAgB;IAsB9B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;;;;;;;;;;;;;OAcG;YACW,uBAAuB;IA0CrC;;;;;;;OAOG;YACW,qBAAqB;IAkBnC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAavB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,kBAAkB;IAmB1B,oEAAoE;YACtD,QAAQ;IAStB,sEAAsE;YACxD,YAAY;IAQ1B,8DAA8D;IAC9D,OAAO,CAAC,eAAe;IAiBvB,6CAA6C;IAC7C,OAAO,CAAC,cAAc;IAetB,8EAA8E;IAC9E,OAAO,CAAC,mBAAmB;CAS3B"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/credentials/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IAEpD;;;;;;;OAOG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyDlF;;;;;;;;OAQG;YACW,gBAAgB;IAuD9B;;;;;;OAMG;YACW,aAAa;IA2C3B;;;;;;OAMG;YACW,aAAa;IAkD3B;;;;;OAKG;YACW,iBAAiB;IAoB/B;;;;;OAKG;YACW,sBAAsB;IAsBpC;;;OAGG;IACH,OAAO,CAAC,aAAa;IAQrB;;;;;;;;;;;;;OAaG;YACW,wBAAwB;IAqDtC;;;;;;;;;OASG;YACW,gBAAgB;IAsB9B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;;;;;;;;;;;;;OAcG;YACW,uBAAuB;IA0CrC;;;;;;;OAOG;YACW,qBAAqB;IAkBnC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAavB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,kBAAkB;IAmB1B,oEAAoE;YACtD,QAAQ;IAStB,sEAAsE;YACxD,YAAY;IAQ1B,8DAA8D;IAC9D,OAAO,CAAC,eAAe;IAiBvB,6CAA6C;IAC7C,OAAO,CAAC,cAAc;IAetB,8EAA8E;IAC9E,OAAO,CAAC,mBAAmB;CAS3B"}
@@ -52,6 +52,8 @@ export class CredentialResolver {
52
52
  return this.resolveGoogle(explicitKey);
53
53
  case "openrouter":
54
54
  return this.resolveOpenRouter(explicitKey);
55
+ case "vercel":
56
+ return this.resolveVercelAIGateway(explicitKey);
55
57
  case "ollama":
56
58
  case "llama.cpp":
57
59
  return this.resolveOllama();
@@ -259,6 +261,29 @@ export class CredentialResolver {
259
261
  return { source: "none" };
260
262
  }
261
263
  // ---------------------------------------------------------------------------
264
+ // Vercel AI Gateway
265
+ // ---------------------------------------------------------------------------
266
+ /**
267
+ * Search hierarchy for Vercel AI Gateway credentials:
268
+ * 1. Explicit config key
269
+ * 2. `AI_GATEWAY_API_KEY` env var
270
+ * 3. `VERCEL_OIDC_TOKEN` env var (available on Vercel deployments)
271
+ */
272
+ async resolveVercelAIGateway(explicitKey) {
273
+ if (explicitKey) {
274
+ return { apiKey: explicitKey, source: "config" };
275
+ }
276
+ const apiKey = process.env.AI_GATEWAY_API_KEY;
277
+ if (apiKey) {
278
+ return { apiKey, source: "env" };
279
+ }
280
+ const oidcToken = process.env.VERCEL_OIDC_TOKEN;
281
+ if (oidcToken) {
282
+ return { accessToken: oidcToken, source: "env" };
283
+ }
284
+ return { source: "none" };
285
+ }
286
+ // ---------------------------------------------------------------------------
262
287
  // Ollama (no auth needed)
263
288
  // ---------------------------------------------------------------------------
264
289
  /**
@@ -309,7 +334,7 @@ export class CredentialResolver {
309
334
  const awsCredentialsRaw = await this.readTextFile(awsCredentialsPath);
310
335
  if (awsCredentialsRaw !== null) {
311
336
  const defaultProfile = this.parseAwsIniSection(awsCredentialsRaw, "default");
312
- const keyId = defaultProfile["aws_access_key_id"];
337
+ const keyId = defaultProfile.aws_access_key_id;
313
338
  if (keyId) {
314
339
  const region = await this.resolveAwsRegion();
315
340
  return { apiKey: keyId, source: "cli", path: awsCredentialsPath, metadata: { region } };
@@ -352,8 +377,8 @@ export class CredentialResolver {
352
377
  const configText = awsConfigRaw ?? (await this.readTextFile(join(this.home, ".aws", "config")));
353
378
  if (configText !== null) {
354
379
  // AWS config uses [profile default] for non-default profiles and [default] for the default
355
- const section = this.parseAwsIniSection(configText, "profile default")["region"] ??
356
- this.parseAwsIniSection(configText, "default")["region"];
380
+ const section = this.parseAwsIniSection(configText, "profile default").region ??
381
+ this.parseAwsIniSection(configText, "default").region;
357
382
  if (section) {
358
383
  return section;
359
384
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/credentials/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/credentials/resolver.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export { GoogleDiscoverer } from "./google.js";
4
4
  export { OllamaDiscoverer } from "./ollama.js";
5
5
  export { LlamaCppDiscoverer } from "./llama-cpp.js";
6
6
  export { OpenRouterDiscoverer } from "./openrouter.js";
7
+ export { VercelAIGatewayDiscoverer } from "./vercel.js";
7
8
  export { BedrockDiscoverer, inferOriginFromBedrockId } from "./bedrock.js";
8
9
  export { VertexDiscoverer } from "./vertex.js";
9
10
  export { NvidiaDiscoverer } from "./nvidia.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA2DtD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,kBAAkB,EAAE,CAMtH;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,kBAAkB,GAAG,SAAS,CAGhH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA6DtD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,kBAAkB,EAAE,CAMtH;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,kBAAkB,GAAG,SAAS,CAGhH"}
@@ -4,6 +4,7 @@ export { GoogleDiscoverer } from "./google.js";
4
4
  export { OllamaDiscoverer } from "./ollama.js";
5
5
  export { LlamaCppDiscoverer } from "./llama-cpp.js";
6
6
  export { OpenRouterDiscoverer } from "./openrouter.js";
7
+ export { VercelAIGatewayDiscoverer } from "./vercel.js";
7
8
  export { BedrockDiscoverer, inferOriginFromBedrockId } from "./bedrock.js";
8
9
  export { VertexDiscoverer } from "./vertex.js";
9
10
  export { NvidiaDiscoverer } from "./nvidia.js";
@@ -36,6 +37,7 @@ import { LlamaCppDiscoverer } from "./llama-cpp.js";
36
37
  import { OllamaDiscoverer } from "./ollama.js";
37
38
  import { OpenAIDiscoverer } from "./openai.js";
38
39
  import { OpenRouterDiscoverer } from "./openrouter.js";
40
+ import { VercelAIGatewayDiscoverer } from "./vercel.js";
39
41
  import { PerplexityDiscoverer } from "./perplexity.js";
40
42
  import { TogetherDiscoverer } from "./together.js";
41
43
  import { VertexDiscoverer } from "./vertex.js";
@@ -52,6 +54,7 @@ const DISCOVERER_REGISTRY = {
52
54
  ollama: (baseUrl) => new OllamaDiscoverer(baseUrl),
53
55
  "llama.cpp": (baseUrl) => new LlamaCppDiscoverer(baseUrl),
54
56
  openrouter: () => new OpenRouterDiscoverer(),
57
+ vercel: () => new VercelAIGatewayDiscoverer(),
55
58
  bedrock: () => new BedrockDiscoverer(),
56
59
  vertex: () => new VertexDiscoverer(),
57
60
  nvidia: () => new NvidiaDiscoverer(),