@chrisromp/copilot-bridge 0.6.0 → 0.6.1-dev.10

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.
@@ -52,6 +52,7 @@ if (!script) {
52
52
  const child = spawn(process.execPath, ['--import', 'tsx/esm', script, ...process.argv.slice(3)], {
53
53
  stdio: 'inherit',
54
54
  cwd: root,
55
+ env: { ...process.env, COPILOT_BRIDGE_CLI: '1' },
55
56
  });
56
57
 
57
58
  child.on('exit', (code) => process.exit(code ?? 1));
@@ -61,7 +61,7 @@ export function resolveModel(input, models) {
61
61
  /** Pick the best model from ambiguous candidates. Prefers shorter IDs and closer matches. */
62
62
  function pickBestMatch(input, candidates) {
63
63
  return candidates.sort((a, b) => {
64
- // Prefer exact id prefix match (e.g., "opus" matching "claude-opus-4.6" not "claude-opus-4.6-1m")
64
+ // Prefer exact id prefix match (e.g., "opus" matching base model over extended variants)
65
65
  const aStartsId = a.id.toLowerCase().endsWith(input) ? 1 : 0;
66
66
  const bStartsId = b.id.toLowerCase().endsWith(input) ? 1 : 0;
67
67
  if (aStartsId !== bStartsId)
@@ -1 +1 @@
1
- {"version":3,"file":"command-handler.js","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-handler.js","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEzG,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AACxE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAE1E,sEAAsE;AACtE,SAAS,SAAS,CAAC,KAAa,EAAE,QAAiB;IACjD,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,0DAA0D;AAC1D,SAAS,aAAa,CAAC,KAAgB;IACrC,OAAO,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,wDAAwD;AACxD,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,gBAAgB,KAAK,EAAE,CAAC;AACjC,CAAC;AAED,mDAAmD;AACnD,SAAS,cAAc;IACrB,OAAO,gBAAgB,CAAC,eAAe,CAAC,KAAK,GAAG,CAAC;AACnD,CAAC;AAkBD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,MAAmB;IAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;IAEhE,4BAA4B;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;IAC/F,IAAI,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAErD,+CAA+C;IAC/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC3E,CAAC;IACF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAE3F,uDAAuD;IACvD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAEnF,uCAAuC;IACvC,MAAM,UAAU,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/F,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACvC,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,qBAAqB,KAAK,4CAA4C,EAAE,CAAC;AAC3F,CAAC;AAED,6FAA6F;AAC7F,SAAS,aAAa,CAAC,KAAa,EAAE,UAAuB;IAC3D,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9B,yFAAyF;QACzF,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,SAAS,GAAG,SAAS,CAAC;QAE1D,wDAAwD;QACxD,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;QAElE,sBAAsB;QACtB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,+EAA+E;AAC/E,SAAS,YAAY,CAAC,CAAS;IAC7B,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;IACjD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,kDAAkD;AAClD,SAAS,kBAAkB,CAAC,KAAoD;IAC9E,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC;IACzD,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;IACvE,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,QAAQ,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAClF,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE;QACjD,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;KACzC,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,IAAY,EAAE,WAAwE,EAAE,cAA8F,EAAE,WAAyD,EAAE,MAAoB,EAAE,OAAyB,EAAE,YAAmE;IACtZ,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAEvC,gDAAgD;IAChD,MAAM,gBAAgB,GAAG,MAAM,IAAI,WAAW;QAC5C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI;QACtD,CAAC,CAAC,IAAI,CAAC;IAET,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,KAAK,KAAK;YACR,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAC;QAE1F,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACX,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,6BAA6B,EAAE,CAAC;QAE5F,KAAK,QAAQ;YACX,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,wBAAwB,EAAE,CAAC;YACxF,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAC;QAE1F,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjB,yEAAyE;gBACzE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAC;YACzF,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,wBAAwB,EAAE,CAAC;QACtH,CAAC;QAED,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjB,4BAA4B;gBAC5B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACnC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,8BAA8B,EAAE,CAAC;gBACrE,CAAC;gBACD,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;gBAClC,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,MAAM,KAAK,GAAG;oBACZ,sBAAsB;oBACtB,EAAE;oBACF,uBAAuB;oBACvB,yBAAyB;iBAC1B,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvB,MAAM,OAAO,GAAG,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChE,MAAM,SAAS,GAAG,CAAC,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC7D,MAAM,MAAM,GAAG,QAAQ,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;oBAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;oBAC/E,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,MAAM,OAAO,KAAK,SAAS,GAAG,OAAO,IAAI,CAAC,CAAC;gBACxE,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,uEAAuE,CAAC,CAAC;gBACxF,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBAC9C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,CAAC;YACD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,2BAA2B,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YAClI,CAAC;YACD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACjD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YACnD,CAAC;YACD,MAAM,cAAc,GAAG,cAAc,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,CAAC,cAAc,IAAI,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChE,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;YACxD,IAAI,QAAQ,GAAG,iBAAiB,UAAU,EAAE,CAAC;YAC7C,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY;qBAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;qBAClD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClD,IAAI,OAAO;oBAAE,QAAQ,IAAI,qBAAqB,OAAO,EAAE,CAAC;YAC1D,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC;QACvF,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,yBAAyB,KAAK,IAAI,CAAC,CAAC,CAAC,4CAA4C;aACpG,CAAC;QACJ,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,cAAc,EAAE,OAAO,IAAI,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC;YACnE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7E,eAAe,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YACpD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,gBAAgB;gBACxB,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,yDAAyD,CAAC,CAAC,CAAC,4DAA4D;aAChJ,CAAC;QACJ,CAAC;QAED,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,cAAc,EAAE,eAAe,IAAI,SAAS,CAAC;gBAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,kCAAkC,OAAO,mDAAmD,EAAE,CAAC;YACnI,CAAC;YACD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,qFAAqF,EAAE,CAAC;YAC5H,CAAC;YACD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,yBAAyB,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClI,MAAM,kBAAkB,GAAG,CAAC,cAAc,EAAE,IAAI,aAAa,CAAC,gBAAgB,CAAC,CAAC;oBAC9E,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,KAAK,WAAW,EAAE,KAAK,IAAI,SAAS,IAAI,CAAC;gBAC7C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,kBAAkB,wGAAwG,EAAE,CAAC;YAC7K,CAAC;YACD,eAAe,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;YACvD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,eAAe;gBACvB,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,gCAAgC,KAAK,8CAA8C;aAC9F,CAAC;QACJ,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,wCAAwC,EAAE,CAAC;YAC/E,CAAC;YACD,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,cAAc,GAAG,cAAc,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,CAAC,cAAc,IAAI,gBAAgB,IAAI,aAAa,CAAC,gBAAgB,CAAC,CAAC;gBAC1F,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC;YACtB,MAAM,KAAK,GAAG;gBACZ,uBAAuB;gBACvB,gBAAgB,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO;gBACxD,cAAc,YAAY,IAAI;gBAC9B,YAAY,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,mBAAmB,EAAE;gBAClF,kBAAkB,WAAW,EAAE,gBAAgB,IAAI,SAAS,IAAI;gBAChE,UAAU,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE;gBAChE,cAAc,CAAC,cAAc,EAAE,OAAO,IAAI,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAChF,sBAAsB,CAAC,cAAc,EAAE,cAAc,IAAI,KAAK,EAAE,cAAc,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,EAAE;aACvI,CAAC;YACF,wDAAwD;YACxD,IAAI,gBAAgB,EAAE,yBAAyB,IAAI,gBAAgB,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzG,MAAM,OAAO,GAAG,cAAc,EAAE,eAAe,IAAI,gBAAgB,CAAC,sBAAsB,IAAI,SAAS,CAAC;gBACxG,KAAK,CAAC,IAAI,CAAC,4BAA4B,OAAO,iBAAiB,gBAAgB,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3H,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,cAAc,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,2DAA2D,EAAE,CAAC;YAClG,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,kBAAkB,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QAC5F,CAAC;QAED,KAAK,SAAS;YACZ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;QAEvE,KAAK,MAAM;YACT,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAElE,KAAK,WAAW,CAAC;QACjB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,cAAc,EAAE,cAAc,IAAI,KAAK,EAAE,cAAc,IAAI,aAAa,CAAC;YACzF,MAAM,OAAO,GAAG,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;YACtE,eAAe,CAAC,SAAS,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;YACxD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,kBAAkB;gBAC1B,QAAQ,EAAE,OAAO,KAAK,WAAW;oBAC/B,CAAC,CAAC,2DAA2D;oBAC7D,CAAC,CAAC,+DAA+D;aACpE,CAAC;QACJ,CAAC;QAED,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,GAAG,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,UAAU,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;YACpD,CAAC;YACD,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,2BAA2B;gBAC5E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC;YACjF,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC/C,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,+BAA+B,EAAE,CAAC;YACtE,CAAC;YACD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;YAC7D,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;YACvE,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,sBAAsB,CAAC,CAAC;YACjF,MAAM,KAAK,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;YACzC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBAC9C,KAAK,MAAM,CAAC,IAAI,WAAW;oBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC5B,KAAK,MAAM,CAAC,IAAI,gBAAgB;oBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;gBAChE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBAC9C,KAAK,MAAM,CAAC,IAAI,eAAe;oBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;gBAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,CAAC;QAED,KAAK,eAAe,CAAC;QACrB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3E,gBAAgB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACxD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,QAAQ;oBAChB,CAAC,CAAC,wEAAwE;oBAC1E,CAAC,CAAC,qDAAqD;aAC1D,CAAC;QACJ,CAAC;QAED,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QAE7E,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACV,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAE7C,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;YAC5D,MAAM,MAAM,GAAG;gBACb,cAAc;gBACd,8BAA8B;gBAC9B,iCAAiC;gBACjC,yCAAyC;gBACzC,+BAA+B;gBAC/B,wCAAwC;gBACxC,0CAA0C;gBAC1C,yCAAyC;gBACzC,yCAAyC;gBACzC,iDAAiD;gBACjD,iCAAiC;aAClC,CAAC;YACF,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpE,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE;oBACR,kBAAkB;oBAClB,EAAE;oBACF,aAAa;oBACb,8BAA8B;oBAC9B,oDAAoD;oBACpD,mEAAmE;oBACnE,2CAA2C;oBAC3C,+DAA+D;oBAC/D,6DAA6D;oBAC7D,2DAA2D;oBAC3D,qEAAqE;oBACrE,wCAAwC;oBACxC,0CAA0C;oBAC1C,+BAA+B;oBAC/B,EAAE;oBACF,iBAAiB;oBACjB,kDAAkD;oBAClD,8CAA8C;oBAC9C,sCAAsC;oBACtC,uDAAuD;oBACvD,0DAA0D;oBAC1D,EAAE;oBACF,gBAAgB;oBAChB,2EAA2E;oBAC3E,mDAAmD;oBACnD,wDAAwD;oBACxD,8DAA8D;oBAC9D,EAAE;oBACF,kBAAkB;oBAClB,iDAAiD;oBACjD,4CAA4C;oBAC5C,kDAAkD;oBAClD,gCAAgC;iBACjC,CAAC,IAAI,CAAC,IAAI,CAAC;aACb,CAAC;QACJ,CAAC;QAED;YACE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC"}
@@ -0,0 +1,57 @@
1
+ export interface ParsedModel {
2
+ provider: string;
3
+ family: string;
4
+ version: string;
5
+ variant?: string;
6
+ raw: string;
7
+ }
8
+ /**
9
+ * Parse a model ID into its component parts.
10
+ *
11
+ * Known patterns:
12
+ * - `claude-{family}-{version}[-{variant}]` e.g. claude-opus-4.6, claude-sonnet-4.5
13
+ * - `gpt-{version}[-{family}][-{variant}]` e.g. gpt-5.4, gpt-5.3-codex, gpt-5.1-codex-max
14
+ * - `gemini-{version}-{family}[-{variant}]` e.g. gemini-2.5-pro
15
+ * - `o{version}[-{variant}]` e.g. o3, o4-mini
16
+ */
17
+ export declare function parseModelId(id: string): ParsedModel;
18
+ /**
19
+ * Get an ordered fallback chain for a model, filtered to only available models.
20
+ *
21
+ * Strategy:
22
+ * 1. Check static fallback map for explicit chain
23
+ * 2. Filter to models that are actually available
24
+ * 3. Append generic same-provider+family fallbacks not already in the static chain
25
+ * 4. Deduplicate while preserving order
26
+ */
27
+ export declare function getFallbackChain(modelId: string, availableModels: string[]): string[];
28
+ /**
29
+ * Detect whether an error is model-specific (capacity, not found, rate limit)
30
+ * rather than a general infrastructure or auth error.
31
+ */
32
+ export declare function isModelError(error: any): boolean;
33
+ /**
34
+ * Build a merged fallback chain from config overrides and auto-detected fallbacks.
35
+ * Config fallbacks take priority; auto-detected ones fill in any gaps.
36
+ * When availableModels is empty (e.g., listModels() failed), config fallbacks
37
+ * are included unfiltered so they still get attempted.
38
+ */
39
+ export declare function buildFallbackChain(primaryModel: string, availableModels: string[], configFallbacks?: string[]): string[];
40
+ /**
41
+ * Attempt an action with automatic model fallback.
42
+ *
43
+ * Tries the primary model first. If a model-specific error occurs, tries each
44
+ * fallback model in order. Returns the result and the model that succeeded.
45
+ *
46
+ * @param primaryModel - The preferred model ID
47
+ * @param availableModels - All models available from listModels()
48
+ * @param configFallbacks - Optional explicit fallback list from user config
49
+ * @param action - Async action to attempt; receives the model ID to use
50
+ * @returns Object with the action result and the model that worked
51
+ */
52
+ export declare function tryWithFallback<T>(primaryModel: string, availableModels: string[], configFallbacks: string[] | undefined, action: (model: string) => Promise<T>): Promise<{
53
+ result: T;
54
+ usedModel: string;
55
+ didFallback: boolean;
56
+ }>;
57
+ //# sourceMappingURL=model-fallback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-fallback.d.ts","sourceRoot":"","sources":["../../src/core/model-fallback.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AA8CD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,CAgEpD;AAqDD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAwBrF;AAsBD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAiBhD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EAAE,EACzB,eAAe,CAAC,EAAE,MAAM,EAAE,GACzB,MAAM,EAAE,CAgBV;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACrC,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EAAE,EACzB,eAAe,EAAE,MAAM,EAAE,GAAG,SAAS,EACrC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GACpC,OAAO,CAAC;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC,CAqCjE"}
@@ -0,0 +1,294 @@
1
+ import { createLogger } from '../logger.js';
2
+ const log = createLogger('model-fallback');
3
+ // ---------------------------------------------------------------------------
4
+ // Static fallback map — explicit chains for known models
5
+ // ---------------------------------------------------------------------------
6
+ /**
7
+ * Ordered fallback chains for known model IDs.
8
+ * Each entry maps a model to its preferred fallbacks (best alternative first).
9
+ * Only includes models where the automatic parser might not produce ideal results.
10
+ */
11
+ const STATIC_FALLBACK_MAP = {
12
+ // Claude Opus family
13
+ 'claude-opus-4.6': ['claude-opus-4.5', 'claude-sonnet-4.6', 'claude-sonnet-4.5'],
14
+ 'claude-opus-4.5': ['claude-opus-4.6', 'claude-sonnet-4.6', 'claude-sonnet-4.5'],
15
+ // Claude Sonnet family
16
+ 'claude-sonnet-4.6': ['claude-sonnet-4.5', 'claude-haiku-4.5'],
17
+ 'claude-sonnet-4.5': ['claude-sonnet-4.6', 'claude-haiku-4.5'],
18
+ // Claude Haiku — cheapest Claude, fall through to sonnet
19
+ 'claude-haiku-4.5': ['claude-sonnet-4.5', 'claude-sonnet-4.6'],
20
+ // GPT main family
21
+ 'gpt-5.4': ['gpt-5.2', 'gpt-5.1'],
22
+ 'gpt-5.2': ['gpt-5.1', 'gpt-5.4'],
23
+ 'gpt-5.1': ['gpt-5.2', 'gpt-5.4'],
24
+ 'gpt-5-mini': ['gpt-5.1', 'gpt-5.2'],
25
+ // GPT Codex family
26
+ 'gpt-5.3-codex': ['gpt-5.2-codex', 'gpt-5.1-codex-max'],
27
+ 'gpt-5.2-codex': ['gpt-5.1-codex-max', 'gpt-5.3-codex'],
28
+ 'gpt-5.1-codex-max': ['gpt-5.2-codex', 'gpt-5.3-codex'],
29
+ // GPT-4.1 (older)
30
+ 'gpt-4.1': ['gpt-5-mini', 'gpt-5.1'],
31
+ // o-series (reasoning models)
32
+ 'o3': ['o4-mini', 'gpt-5.4'],
33
+ 'o4-mini': ['o3', 'gpt-5-mini'],
34
+ };
35
+ // ---------------------------------------------------------------------------
36
+ // Model ID parser
37
+ // ---------------------------------------------------------------------------
38
+ /**
39
+ * Parse a model ID into its component parts.
40
+ *
41
+ * Known patterns:
42
+ * - `claude-{family}-{version}[-{variant}]` e.g. claude-opus-4.6, claude-sonnet-4.5
43
+ * - `gpt-{version}[-{family}][-{variant}]` e.g. gpt-5.4, gpt-5.3-codex, gpt-5.1-codex-max
44
+ * - `gemini-{version}-{family}[-{variant}]` e.g. gemini-2.5-pro
45
+ * - `o{version}[-{variant}]` e.g. o3, o4-mini
46
+ */
47
+ export function parseModelId(id) {
48
+ const lower = id.toLowerCase();
49
+ // Claude: claude-{family}-{version}[-variant]
50
+ const claudeMatch = lower.match(/^claude-(\w+)-(\d+(?:\.\d+)?)(?:-(.+))?$/);
51
+ if (claudeMatch) {
52
+ return {
53
+ provider: 'claude',
54
+ family: claudeMatch[1],
55
+ version: claudeMatch[2],
56
+ variant: claudeMatch[3],
57
+ raw: id,
58
+ };
59
+ }
60
+ // GPT: gpt-{version}[-family][-variant]
61
+ // e.g. gpt-5.4, gpt-5.3-codex, gpt-5.1-codex-max, gpt-5-mini, gpt-4.1
62
+ const gptMatch = lower.match(/^gpt-(\d+(?:\.\d+)?)(?:-(\w+))?(?:-(\w+))?$/);
63
+ if (gptMatch) {
64
+ const version = gptMatch[1];
65
+ const second = gptMatch[2]; // could be family (codex) or variant (mini)
66
+ const third = gptMatch[3]; // variant if second is family
67
+ // Distinguish: "gpt-5-mini" (family='', variant='mini') vs "gpt-5.3-codex" (family='codex')
68
+ const knownFamilies = ['codex'];
69
+ let family = '';
70
+ let variant;
71
+ if (second && knownFamilies.includes(second)) {
72
+ family = second;
73
+ variant = third;
74
+ }
75
+ else if (second) {
76
+ variant = third ? `${second}-${third}` : second;
77
+ }
78
+ return { provider: 'gpt', family, version, variant, raw: id };
79
+ }
80
+ // Gemini: gemini-{version}-{family}[-variant]
81
+ const geminiMatch = lower.match(/^gemini-(\d+(?:\.\d+)?)-(\w+)(?:-(.+))?$/);
82
+ if (geminiMatch) {
83
+ return {
84
+ provider: 'gemini',
85
+ family: geminiMatch[2],
86
+ version: geminiMatch[1],
87
+ variant: geminiMatch[3],
88
+ raw: id,
89
+ };
90
+ }
91
+ // o-series: o{version}[-variant]
92
+ const oMatch = lower.match(/^o(\d+)(?:-(.+))?$/);
93
+ if (oMatch) {
94
+ return {
95
+ provider: 'o',
96
+ family: '',
97
+ version: oMatch[1],
98
+ variant: oMatch[2],
99
+ raw: id,
100
+ };
101
+ }
102
+ // Unknown model — best-effort parse
103
+ return { provider: 'unknown', family: '', version: '', raw: id };
104
+ }
105
+ // ---------------------------------------------------------------------------
106
+ // Generic fallback strategy
107
+ // ---------------------------------------------------------------------------
108
+ /** Compare two version strings segment by segment (e.g. "4.10" > "4.9"). */
109
+ function compareVersions(a, b) {
110
+ const partsA = a.split('.').map(Number);
111
+ const partsB = b.split('.').map(Number);
112
+ const len = Math.max(partsA.length, partsB.length);
113
+ for (let i = 0; i < len; i++) {
114
+ const va = partsA[i] ?? 0;
115
+ const vb = partsB[i] ?? 0;
116
+ if (va !== vb)
117
+ return va - vb;
118
+ }
119
+ return 0;
120
+ }
121
+ /**
122
+ * Build a generic fallback chain for a model based on parsed fields.
123
+ * Finds models from the same provider+family, sorted by descending version,
124
+ * excluding the original model.
125
+ */
126
+ function buildGenericFallback(parsed, availableModels) {
127
+ if (parsed.provider === 'unknown')
128
+ return [];
129
+ const candidates = [];
130
+ for (const id of availableModels) {
131
+ if (id === parsed.raw)
132
+ continue;
133
+ const p = parseModelId(id);
134
+ if (p.provider === parsed.provider && p.family === parsed.family) {
135
+ candidates.push({ id, parsed: p });
136
+ }
137
+ }
138
+ // Sort by version descending (prefer higher versions as they're more capable)
139
+ candidates.sort((a, b) => {
140
+ const cmp = compareVersions(b.parsed.version, a.parsed.version);
141
+ if (cmp !== 0)
142
+ return cmp;
143
+ // Prefer no-variant over variant (base model over specialized)
144
+ if (!a.parsed.variant && b.parsed.variant)
145
+ return -1;
146
+ if (a.parsed.variant && !b.parsed.variant)
147
+ return 1;
148
+ return 0;
149
+ });
150
+ return candidates.map(c => c.id);
151
+ }
152
+ // ---------------------------------------------------------------------------
153
+ // Public API
154
+ // ---------------------------------------------------------------------------
155
+ /**
156
+ * Get an ordered fallback chain for a model, filtered to only available models.
157
+ *
158
+ * Strategy:
159
+ * 1. Check static fallback map for explicit chain
160
+ * 2. Filter to models that are actually available
161
+ * 3. Append generic same-provider+family fallbacks not already in the static chain
162
+ * 4. Deduplicate while preserving order
163
+ */
164
+ export function getFallbackChain(modelId, availableModels) {
165
+ const availableSet = new Set(availableModels);
166
+ const seen = new Set();
167
+ const chain = [];
168
+ const addIfAvailable = (id) => {
169
+ if (id !== modelId && availableSet.has(id) && !seen.has(id)) {
170
+ seen.add(id);
171
+ chain.push(id);
172
+ }
173
+ };
174
+ // Static fallbacks first (explicit, curated order)
175
+ const staticChain = STATIC_FALLBACK_MAP[modelId];
176
+ if (staticChain) {
177
+ for (const id of staticChain)
178
+ addIfAvailable(id);
179
+ }
180
+ // Generic fallbacks for anything not already covered
181
+ const parsed = parseModelId(modelId);
182
+ const generic = buildGenericFallback(parsed, availableModels);
183
+ for (const id of generic)
184
+ addIfAvailable(id);
185
+ return chain;
186
+ }
187
+ // ---------------------------------------------------------------------------
188
+ // Error detection
189
+ // ---------------------------------------------------------------------------
190
+ /** Patterns in error messages that indicate a model-specific (capacity/availability) issue. */
191
+ const MODEL_ERROR_PATTERNS = [
192
+ /model.*capacity/i,
193
+ /model.*(overloaded|over\s*loaded)/i,
194
+ /model.*(not\s+found|not\s+available|unavailable|does\s+not\s+exist)/i,
195
+ /rate\s*limit/i,
196
+ /too\s+many\s+requests/i,
197
+ /resource\s+exhausted/i,
198
+ /model.*temporarily\s+unavailable/i,
199
+ /quota\s+exceeded/i,
200
+ /model\s+is\s+(currently\s+)?(unavailable|overloaded|at\s+capacity)/i,
201
+ ];
202
+ /** HTTP status codes that typically indicate model-level issues. */
203
+ const MODEL_ERROR_CODES = new Set([429, 503]);
204
+ /**
205
+ * Detect whether an error is model-specific (capacity, not found, rate limit)
206
+ * rather than a general infrastructure or auth error.
207
+ */
208
+ export function isModelError(error) {
209
+ if (!error)
210
+ return false;
211
+ // Check HTTP status codes
212
+ const status = error.status ?? error.statusCode;
213
+ if (typeof status === 'number' && MODEL_ERROR_CODES.has(status)) {
214
+ return true;
215
+ }
216
+ // Some HTTP libraries store status as a string code — try parsing
217
+ const code = error.code;
218
+ if (typeof code === 'number' && MODEL_ERROR_CODES.has(code)) {
219
+ return true;
220
+ }
221
+ // Check error message patterns
222
+ const message = String(error.message ?? error.reason ?? error ?? '');
223
+ return MODEL_ERROR_PATTERNS.some(pattern => pattern.test(message));
224
+ }
225
+ /**
226
+ * Build a merged fallback chain from config overrides and auto-detected fallbacks.
227
+ * Config fallbacks take priority; auto-detected ones fill in any gaps.
228
+ * When availableModels is empty (e.g., listModels() failed), config fallbacks
229
+ * are included unfiltered so they still get attempted.
230
+ */
231
+ export function buildFallbackChain(primaryModel, availableModels, configFallbacks) {
232
+ const hasAvailability = availableModels.length > 0;
233
+ const availableSet = new Set(availableModels);
234
+ const autoChain = hasAvailability ? getFallbackChain(primaryModel, availableModels) : [];
235
+ if (configFallbacks && configFallbacks.length > 0) {
236
+ const configSet = new Set(configFallbacks);
237
+ const filtered = hasAvailability
238
+ ? configFallbacks.filter(m => m !== primaryModel && availableSet.has(m))
239
+ : configFallbacks.filter(m => m !== primaryModel);
240
+ return [
241
+ ...filtered,
242
+ ...autoChain.filter(m => !configSet.has(m)),
243
+ ];
244
+ }
245
+ return autoChain;
246
+ }
247
+ /**
248
+ * Attempt an action with automatic model fallback.
249
+ *
250
+ * Tries the primary model first. If a model-specific error occurs, tries each
251
+ * fallback model in order. Returns the result and the model that succeeded.
252
+ *
253
+ * @param primaryModel - The preferred model ID
254
+ * @param availableModels - All models available from listModels()
255
+ * @param configFallbacks - Optional explicit fallback list from user config
256
+ * @param action - Async action to attempt; receives the model ID to use
257
+ * @returns Object with the action result and the model that worked
258
+ */
259
+ export async function tryWithFallback(primaryModel, availableModels, configFallbacks, action) {
260
+ // Try primary model first
261
+ try {
262
+ const result = await action(primaryModel);
263
+ return { result, usedModel: primaryModel, didFallback: false };
264
+ }
265
+ catch (err) {
266
+ if (!isModelError(err)) {
267
+ throw err; // Not a model error — don't try fallbacks
268
+ }
269
+ log.warn(`Model "${primaryModel}" failed: ${err.message ?? err}. Trying fallbacks...`);
270
+ const chain = buildFallbackChain(primaryModel, availableModels, configFallbacks);
271
+ if (chain.length === 0) {
272
+ log.error(`No fallback models available for "${primaryModel}"`);
273
+ throw err;
274
+ }
275
+ log.info(`Fallback chain for "${primaryModel}": ${chain.join(' → ')}`);
276
+ // Try each fallback
277
+ let lastError = err;
278
+ for (const fallbackModel of chain) {
279
+ try {
280
+ log.info(`Trying fallback model "${fallbackModel}"...`);
281
+ const result = await action(fallbackModel);
282
+ log.info(`Fallback to "${fallbackModel}" succeeded`);
283
+ return { result, usedModel: fallbackModel, didFallback: true };
284
+ }
285
+ catch (fallbackErr) {
286
+ log.warn(`Fallback model "${fallbackModel}" also failed: ${fallbackErr.message ?? fallbackErr}`);
287
+ lastError = fallbackErr;
288
+ }
289
+ }
290
+ log.error(`All fallback models exhausted for "${primaryModel}"`);
291
+ throw lastError;
292
+ }
293
+ }
294
+ //# sourceMappingURL=model-fallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-fallback.js","sourceRoot":"","sources":["../../src/core/model-fallback.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/core/session-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/core/session-manager.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { onboardProject } from './onboarding.js';
8
8
  import { addJob, removeJob, pauseJob, resumeJob, listJobs, formatInTimezone } from './scheduler.js';
9
9
  import { canCall, createContext, extendContext, getBotWorkspaceMap, buildWorkspacePrompt, buildCallerPrompt, resolveAgentDefinition, } from './inter-agent.js';
10
10
  import { createLogger } from '../logger.js';
11
+ import { tryWithFallback, isModelError, buildFallbackChain } from './model-fallback.js';
11
12
  const log = createLogger('session');
12
13
  /** Custom tools auto-approved without interactive prompt (they enforce workspace boundaries internally). */
13
14
  export const BRIDGE_CUSTOM_TOOLS = ['send_file', 'show_file_in_chat', 'ask_agent', 'schedule'];
@@ -506,6 +507,49 @@ export class SessionManager {
506
507
  catch (err) {
507
508
  const msg = String(err?.message ?? err);
508
509
  log.error(`Send failed for session ${sessionId}:`, msg);
510
+ // If this is a model-specific error, switch the model before creating
511
+ // a new session so the fallback model is used for both creation and send
512
+ if (isModelError(err)) {
513
+ log.info(`Model error detected — switching to fallback model for channel ${channelId}...`);
514
+ const prefs = this.getEffectivePrefs(channelId);
515
+ const configChannel = getChannelConfig(channelId);
516
+ const configFallbacks = configChannel.fallbackModels ?? getConfig().defaults.fallbackModels;
517
+ let availableModels = [];
518
+ try {
519
+ const models = await this.bridge.listModels();
520
+ availableModels = models.map(m => m.id);
521
+ }
522
+ catch { /* best-effort */ }
523
+ const chain = buildFallbackChain(prefs.model, availableModels, configFallbacks);
524
+ // Try each fallback: create session + send
525
+ let lastError = err;
526
+ for (const fallbackModel of chain) {
527
+ try {
528
+ log.info(`Trying send with fallback model "${fallbackModel}"...`);
529
+ setChannelPrefs(channelId, { model: fallbackModel });
530
+ const newSessionId = await this.newSession(channelId);
531
+ const newSession = this.bridge.getSession(newSessionId);
532
+ if (!newSession)
533
+ continue;
534
+ const messageId = await newSession.send(sendOpts);
535
+ log.info(`Model fallback on send: "${prefs.model}" → "${fallbackModel}" for channel ${channelId}`);
536
+ this.eventHandler?.(newSession.sessionId, channelId, {
537
+ type: 'assistant.message',
538
+ data: {
539
+ message: `⚠️ Model \`${prefs.model}\` is unavailable. Switched to \`${fallbackModel}\`.`,
540
+ },
541
+ });
542
+ return messageId;
543
+ }
544
+ catch (fallbackErr) {
545
+ log.warn(`Fallback model "${fallbackModel}" also failed on send: ${fallbackErr?.message ?? fallbackErr}`);
546
+ lastError = fallbackErr;
547
+ }
548
+ }
549
+ // If no fallback worked, restore original model pref and throw
550
+ setChannelPrefs(channelId, { model: prefs.model });
551
+ throw lastError;
552
+ }
509
553
  // Try to reconnect to the same session (CLI subprocess may have restarted)
510
554
  try {
511
555
  log.info(`Attempting to re-attach session ${sessionId}...`);
@@ -525,7 +569,7 @@ export class SessionManager {
525
569
  catch (retryErr) {
526
570
  log.warn(`Re-attach failed:`, retryErr?.message ?? retryErr);
527
571
  }
528
- // Last resort: create a new session
572
+ // Last resort: create a new session (handles fallback via createNewSession)
529
573
  log.info(`Creating new session for channel ${channelId}...`);
530
574
  const newSessionId = await this.newSession(channelId);
531
575
  const newSession = this.bridge.getSession(newSessionId);
@@ -767,23 +811,49 @@ export class SessionManager {
767
811
  const reasoningEffort = prefs.reasoningEffort;
768
812
  const skillDirectories = discoverSkillDirectories(workingDirectory);
769
813
  const customTools = this.buildCustomTools(channelId);
770
- const session = await withWorkspaceEnv(workingDirectory, () => this.bridge.createSession({
771
- model: prefs.model,
772
- workingDirectory,
773
- configDir: defaultConfigDir,
774
- reasoningEffort: reasoningEffort ?? undefined,
775
- mcpServers: this.resolveMcpServers(workingDirectory),
776
- skillDirectories: skillDirectories.length > 0 ? skillDirectories : undefined,
777
- onPermissionRequest: (request, invocation) => this.handlePermissionRequest(channelId, request, invocation),
778
- onUserInputRequest: (request, invocation) => this.handleUserInputRequest(channelId, request, invocation),
779
- tools: customTools.length > 0 ? customTools : undefined,
780
- }));
814
+ // Resolve fallback configuration
815
+ const configChannel = getChannelConfig(channelId);
816
+ const configFallbacks = configChannel.fallbackModels ?? getConfig().defaults.fallbackModels;
817
+ // Fetch available models for fallback chain (best-effort — don't block on failure)
818
+ let availableModels = [];
819
+ try {
820
+ const models = await this.bridge.listModels();
821
+ availableModels = models.map(m => m.id);
822
+ }
823
+ catch {
824
+ log.warn('Failed to fetch model list for fallback resolution');
825
+ }
826
+ const createWithModel = async (model) => {
827
+ return withWorkspaceEnv(workingDirectory, () => this.bridge.createSession({
828
+ model,
829
+ workingDirectory,
830
+ configDir: defaultConfigDir,
831
+ reasoningEffort: reasoningEffort ?? undefined,
832
+ mcpServers: this.resolveMcpServers(workingDirectory),
833
+ skillDirectories: skillDirectories.length > 0 ? skillDirectories : undefined,
834
+ onPermissionRequest: (request, invocation) => this.handlePermissionRequest(channelId, request, invocation),
835
+ onUserInputRequest: (request, invocation) => this.handleUserInputRequest(channelId, request, invocation),
836
+ tools: customTools.length > 0 ? customTools : undefined,
837
+ }));
838
+ };
839
+ const { result: session, usedModel, didFallback } = await tryWithFallback(prefs.model, availableModels, configFallbacks, createWithModel);
840
+ if (didFallback) {
841
+ log.info(`Model fallback: "${prefs.model}" → "${usedModel}" for channel ${channelId}`);
842
+ setChannelPrefs(channelId, { model: usedModel });
843
+ // Emit a user-visible warning via session event
844
+ this.eventHandler?.(session.sessionId, channelId, {
845
+ type: 'assistant.message',
846
+ data: {
847
+ message: `⚠️ Model \`${prefs.model}\` is unavailable. Switched to \`${usedModel}\`.`,
848
+ },
849
+ });
850
+ }
781
851
  const sessionId = session.sessionId;
782
852
  this.channelSessions.set(channelId, sessionId);
783
853
  this.sessionChannels.set(sessionId, channelId);
784
854
  setChannelSession(channelId, sessionId);
785
855
  this.attachSessionEvents(session, channelId);
786
- log.info(`Created session ${sessionId} for channel ${channelId}`);
856
+ log.info(`Created session ${sessionId} for channel ${channelId} (model: ${usedModel})`);
787
857
  return sessionId;
788
858
  }
789
859
  async attachSession(channelId, sessionId) {