@vybestack/llxprt-code-core 0.5.0-nightly.251118.70d9b1e4 → 0.5.0-nightly.251120.027a6733
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.
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/src/code_assist/oauth-credential-storage.d.ts +27 -0
- package/dist/src/code_assist/oauth-credential-storage.js +115 -0
- package/dist/src/code_assist/oauth-credential-storage.js.map +1 -0
- package/dist/src/config/storage.d.ts +1 -0
- package/dist/src/config/storage.js +2 -1
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/core/client.js +1 -1
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/coreToolScheduler.js +4 -0
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/ide/ide-client.d.ts +1 -0
- package/dist/src/ide/ide-client.js +8 -0
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.js +0 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/oauth-provider.d.ts +1 -0
- package/dist/src/mcp/oauth-provider.js +26 -19
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-token-storage.d.ts +43 -40
- package/dist/src/mcp/oauth-token-storage.js +114 -44
- package/dist/src/mcp/oauth-token-storage.js.map +1 -1
- package/dist/src/mcp/oauth-utils.js +1 -0
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/providers/openai/OpenAIProvider.js +158 -52
- package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
- package/dist/src/providers/openai/ToolCallPipeline.d.ts +5 -1
- package/dist/src/providers/openai/ToolCallPipeline.js +55 -30
- package/dist/src/providers/openai/ToolCallPipeline.js.map +1 -1
- package/dist/src/test-utils/mock-tool.d.ts +8 -4
- package/dist/src/test-utils/mock-tool.js +35 -18
- package/dist/src/test-utils/mock-tool.js.map +1 -1
- package/dist/src/test-utils/tools.d.ts +1 -1
- package/dist/src/test-utils/tools.js +4 -4
- package/dist/src/test-utils/tools.js.map +1 -1
- package/dist/src/tools/edit.js +6 -0
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/mcp-client.js +10 -5
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/smart-edit.js +6 -0
- package/dist/src/tools/smart-edit.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-token-storage.js","sourceRoot":"","sources":["../../../src/mcp/oauth-token-storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"oauth-token-storage.js","sourceRoot":"","sources":["../../../src/mcp/oauth-token-storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAU7E,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AACpD,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IAMZ;IALX,MAAM,CAAC,UAAU,GAAiB,IAAI,kBAAkB,CAC9D,oBAAoB,CACrB,CAAC;IAEF,YACmB,UAAwB,oBAAoB,CAAC,UAAU;QAAvD,YAAO,GAAP,OAAO,CAAgD;IACvE,CAAC;IAEJ;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,KAAmB;QACtC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU;QACrB,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAGhD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,SAAS,CACpB,UAAkB,EAClB,KAAoB,EACpB,QAAiB,EACjB,QAAiB,EACjB,YAAqB;QAErB,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CACxC,UAAU,EACV,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,YAAY,CACb,CAAC;QACF,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CACnB,UAAkB;QAElB,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACrE,OAAO,WAAyC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAkB;QACzC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc;QACzB,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,KAAoB;QACxC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,IAAI,KAAK,CAAC,SAAS,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,UAAkB;QACrC,oBAAoB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,WAA6B;QAChD,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAChE,oBAAoB,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;YAChC,GAAG,WAAW;YACd,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QACxC,oBAAoB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,UAAkB,EAClB,KAAoB,EACpB,QAAiB,EACjB,QAAiB,EACjB,YAAqB;QAErB,MAAM,WAAW,GAAG,oBAAoB,CAAC,iBAAiB,CACxD,UAAU,EACV,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,YAAY,CACb,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,UAAkB;QAC/B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC1D,OAAO,WAAyC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC9C,OAAO,MAA0C,CAAC;IACpD,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,UAAkB;QAClD,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,KAAiB;QAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAC9B,UAAkB,EAClB,KAAiB,EACjB,QAAiB,EACjB,QAAiB,EACjB,YAAqB;QAErB,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE1B,OAAO;YACL,UAAU;YACV,KAAK;YACL,QAAQ;YACR,QAAQ;YACR,YAAY;YACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-utils.js","sourceRoot":"","sources":["../../../src/mcp/oauth-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAgCrD;;GAEG;AACH,MAAM,OAAO,UAAU;IACrB;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAe,EAAE,iBAAiB,GAAG,KAAK;QAClE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,GAAG,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;QAExD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,qDAAqD;YACrD,OAAO;gBACL,iBAAiB,EAAE,IAAI,GAAG,CACxB,uCAAuC,EACvC,IAAI,CACL,CAAC,QAAQ,EAAE;gBACZ,mBAAmB,EAAE,IAAI,GAAG,CAC1B,yCAAyC,EACzC,IAAI,CACL,CAAC,QAAQ,EAAE;aACb,CAAC;QACJ,CAAC;QAED,8DAA8D;QAC9D,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB;QAClF,OAAO;YACL,iBAAiB,EAAE,IAAI,GAAG,CACxB,wCAAwC,UAAU,EAAE,EACpD,IAAI,CACL,CAAC,QAAQ,EAAE;YACZ,mBAAmB,EAAE,IAAI,GAAG,CAC1B,0CAA0C,UAAU,EAAE,EACtD,IAAI,CACL,CAAC,QAAQ,EAAE;SACb,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,8BAA8B,CACzC,mBAA2B;QAE3B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmC,CAAC;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,oDAAoD,mBAAmB,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CACrG,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAC3C,qBAA6B;QAE7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqC,CAAC;QACrE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,sDAAsD,qBAAqB,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CACzG,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAC1B,QAA0C;QAE1C,OAAO;YACL,gBAAgB,EAAE,QAAQ,CAAC,sBAAsB;YACjD,QAAQ,EAAE,QAAQ,CAAC,cAAc;YACjC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"oauth-utils.js","sourceRoot":"","sources":["../../../src/mcp/oauth-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,7 +86,7 @@ export class OpenAIProvider extends BaseProvider {
|
|
|
86
86
|
oauthProvider: isQwenEndpoint || forceQwenOAuth ? 'qwen' : undefined,
|
|
87
87
|
oauthManager,
|
|
88
88
|
}, config);
|
|
89
|
-
// Initialize tool call processing mode - default to '
|
|
89
|
+
// Initialize tool call processing mode - default to 'legacy' (fallback)
|
|
90
90
|
this.toolCallProcessingMode = config?.toolCallProcessingMode ?? 'legacy';
|
|
91
91
|
// @plan:PLAN-20251023-STATELESS-HARDENING.P08
|
|
92
92
|
// @requirement:REQ-SP4-002
|
|
@@ -928,7 +928,8 @@ export class OpenAIProvider extends BaseProvider {
|
|
|
928
928
|
stream: streamingEnabled,
|
|
929
929
|
};
|
|
930
930
|
if (formattedTools && formattedTools.length > 0) {
|
|
931
|
-
|
|
931
|
+
// Attach tool definitions; they are not mutated by compression logic
|
|
932
|
+
requestBody.tools = formattedTools;
|
|
932
933
|
requestBody.tool_choice = 'auto';
|
|
933
934
|
}
|
|
934
935
|
/**
|
|
@@ -1269,7 +1270,13 @@ export class OpenAIProvider extends BaseProvider {
|
|
|
1269
1270
|
}
|
|
1270
1271
|
}
|
|
1271
1272
|
catch (error) {
|
|
1272
|
-
if (abortSignal?.aborted
|
|
1273
|
+
if (abortSignal?.aborted ||
|
|
1274
|
+
(error &&
|
|
1275
|
+
typeof error === 'object' &&
|
|
1276
|
+
'name' in error &&
|
|
1277
|
+
error.name === 'AbortError')) {
|
|
1278
|
+
// Signal was aborted - treat as intentional cancellation
|
|
1279
|
+
logger.debug(() => `Legacy streaming response cancelled by AbortSignal (error: ${error instanceof Error ? error.name : 'unknown'})`);
|
|
1273
1280
|
throw error;
|
|
1274
1281
|
}
|
|
1275
1282
|
else {
|
|
@@ -1598,8 +1605,15 @@ export class OpenAIProvider extends BaseProvider {
|
|
|
1598
1605
|
metadataKeys: Object.keys(metadata ?? {}),
|
|
1599
1606
|
});
|
|
1600
1607
|
}
|
|
1608
|
+
// Determine tool replay mode for model compatibility (e.g., polaris-alpha)
|
|
1609
|
+
const toolReplayMode = this.determineToolReplayMode(model);
|
|
1601
1610
|
// Convert IContent to OpenAI messages format
|
|
1602
|
-
const
|
|
1611
|
+
const configForMessages = options.config ?? options.runtime?.config ?? this.globalConfig;
|
|
1612
|
+
const messages = this.convertToOpenAIMessages(contents, toolReplayMode, configForMessages);
|
|
1613
|
+
// Log tool replay mode usage for debugging
|
|
1614
|
+
if (logger.enabled && toolReplayMode !== 'native') {
|
|
1615
|
+
logger.debug(() => `[OpenAIProvider] Using textual tool replay mode for model '${model}'`);
|
|
1616
|
+
}
|
|
1603
1617
|
// Detect the tool format to use (once at the start of the method)
|
|
1604
1618
|
const detectedFormat = this.detectToolFormat();
|
|
1605
1619
|
// Log the detected format for debugging
|
|
@@ -1665,7 +1679,8 @@ export class OpenAIProvider extends BaseProvider {
|
|
|
1665
1679
|
stream: streamingEnabled,
|
|
1666
1680
|
};
|
|
1667
1681
|
if (formattedTools && formattedTools.length > 0) {
|
|
1668
|
-
|
|
1682
|
+
// Attach tool definitions; they are not mutated by compression logic
|
|
1683
|
+
requestBody.tools = formattedTools;
|
|
1669
1684
|
requestBody.tool_choice = 'auto';
|
|
1670
1685
|
}
|
|
1671
1686
|
/**
|
|
@@ -1746,53 +1761,134 @@ export class OpenAIProvider extends BaseProvider {
|
|
|
1746
1761
|
overrideKeys: requestOverrides ? Object.keys(requestOverrides) : [],
|
|
1747
1762
|
});
|
|
1748
1763
|
}
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1764
|
+
if (streamingEnabled) {
|
|
1765
|
+
// Streaming mode - use retry loop with compression support
|
|
1766
|
+
let compressedOnce = false;
|
|
1767
|
+
while (true) {
|
|
1768
|
+
try {
|
|
1769
|
+
response = await retryWithBackoff(() => client.chat.completions.create(requestBody, {
|
|
1770
|
+
...(abortSignal ? { signal: abortSignal } : {}),
|
|
1771
|
+
...(customHeaders ? { headers: customHeaders } : {}),
|
|
1772
|
+
}), {
|
|
1773
|
+
maxAttempts: maxRetries,
|
|
1774
|
+
initialDelayMs,
|
|
1775
|
+
shouldRetry: this.shouldRetryResponse.bind(this),
|
|
1776
|
+
trackThrottleWaitTime: this.throttleTracker,
|
|
1777
|
+
});
|
|
1778
|
+
break;
|
|
1779
|
+
}
|
|
1780
|
+
catch (error) {
|
|
1781
|
+
// Special handling for Cerebras/Qwen "Tool not present" errors
|
|
1782
|
+
const errorMessage = String(error);
|
|
1783
|
+
if (errorMessage.includes('Tool is not present in the tools list') &&
|
|
1784
|
+
(model.toLowerCase().includes('qwen') ||
|
|
1785
|
+
this.getBaseURL()?.includes('cerebras'))) {
|
|
1786
|
+
logger.error('Cerebras/Qwen API error: Tool not found despite being in request. This is a known API issue.', {
|
|
1787
|
+
error,
|
|
1788
|
+
model,
|
|
1789
|
+
toolsProvided: formattedTools?.length || 0,
|
|
1790
|
+
toolNames: formattedTools?.map((t) => t.function.name),
|
|
1791
|
+
streamingEnabled,
|
|
1792
|
+
});
|
|
1793
|
+
// Re-throw but with better context
|
|
1794
|
+
const enhancedError = new Error(`Cerebras/Qwen API bug: Tool not found in list. We sent ${formattedTools?.length || 0} tools. Known API issue.`);
|
|
1795
|
+
enhancedError.originalError = error;
|
|
1796
|
+
throw enhancedError;
|
|
1797
|
+
}
|
|
1798
|
+
// Tool message compression logic
|
|
1799
|
+
if (!compressedOnce &&
|
|
1800
|
+
this.shouldCompressToolMessages(error, logger) &&
|
|
1801
|
+
this.compressToolMessages(requestBody.messages, MAX_TOOL_RESPONSE_RETRY_CHARS, logger)) {
|
|
1802
|
+
compressedOnce = true;
|
|
1803
|
+
logger.warn(() => `[OpenAIProvider] Retrying streaming request after compressing tool responses due to provider 400`);
|
|
1804
|
+
continue;
|
|
1805
|
+
}
|
|
1806
|
+
// Re-throw other errors as-is
|
|
1807
|
+
const capturedErrorMessage = error instanceof Error ? error.message : String(error);
|
|
1808
|
+
const status = typeof error === 'object' &&
|
|
1809
|
+
error !== null &&
|
|
1810
|
+
'status' in error &&
|
|
1811
|
+
typeof error.status === 'number'
|
|
1812
|
+
? error.status
|
|
1813
|
+
: undefined;
|
|
1814
|
+
logger.error(() => `[OpenAIProvider] Chat completion failed for model '${model}' at '${baseURL ?? this.getBaseURL() ?? 'default'}': ${capturedErrorMessage}`, {
|
|
1815
|
+
model,
|
|
1816
|
+
baseURL: baseURL ?? this.getBaseURL(),
|
|
1817
|
+
streamingEnabled,
|
|
1818
|
+
hasTools: formattedTools?.length ?? 0,
|
|
1819
|
+
requestHasSystemPrompt: !!systemPrompt,
|
|
1820
|
+
status,
|
|
1821
|
+
});
|
|
1822
|
+
throw error;
|
|
1823
|
+
}
|
|
1824
|
+
}
|
|
1759
1825
|
}
|
|
1760
|
-
|
|
1761
|
-
//
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1826
|
+
else {
|
|
1827
|
+
// Non-streaming mode - use comprehensive retry loop with compression
|
|
1828
|
+
let compressedOnce = false;
|
|
1829
|
+
while (true) {
|
|
1830
|
+
try {
|
|
1831
|
+
response = (await retryWithBackoff(() => client.chat.completions.create(requestBody, {
|
|
1832
|
+
...(abortSignal ? { signal: abortSignal } : {}),
|
|
1833
|
+
...(customHeaders ? { headers: customHeaders } : {}),
|
|
1834
|
+
}), {
|
|
1835
|
+
maxAttempts: maxRetries,
|
|
1836
|
+
initialDelayMs,
|
|
1837
|
+
shouldRetry: this.shouldRetryResponse.bind(this),
|
|
1838
|
+
trackThrottleWaitTime: this.throttleTracker,
|
|
1839
|
+
}));
|
|
1840
|
+
break;
|
|
1841
|
+
}
|
|
1842
|
+
catch (error) {
|
|
1843
|
+
const errorMessage = String(error);
|
|
1844
|
+
logger.debug(() => `[OpenAIProvider] Chat request error`, {
|
|
1845
|
+
errorType: error?.constructor?.name,
|
|
1846
|
+
status: typeof error === 'object' && error && 'status' in error
|
|
1847
|
+
? error.status
|
|
1848
|
+
: undefined,
|
|
1849
|
+
errorKeys: error && typeof error === 'object' ? Object.keys(error) : [],
|
|
1850
|
+
});
|
|
1851
|
+
const isCerebrasToolError = errorMessage.includes('Tool is not present in the tools list') &&
|
|
1852
|
+
(model.toLowerCase().includes('qwen') ||
|
|
1853
|
+
this.getBaseURL()?.includes('cerebras'));
|
|
1854
|
+
if (isCerebrasToolError) {
|
|
1855
|
+
logger.error('Cerebras/Qwen API error: Tool not found despite being in request. This is a known API issue.', {
|
|
1856
|
+
error,
|
|
1857
|
+
model,
|
|
1858
|
+
toolsProvided: formattedTools?.length || 0,
|
|
1859
|
+
toolNames: formattedTools?.map((t) => t.function.name),
|
|
1860
|
+
streamingEnabled,
|
|
1861
|
+
});
|
|
1862
|
+
const enhancedError = new Error(`Cerebras/Qwen API bug: Tool not found in list. We sent ${formattedTools?.length || 0} tools. Known API issue.`);
|
|
1863
|
+
enhancedError.originalError = error;
|
|
1864
|
+
throw enhancedError;
|
|
1865
|
+
}
|
|
1866
|
+
// Tool message compression logic
|
|
1867
|
+
if (!compressedOnce &&
|
|
1868
|
+
this.shouldCompressToolMessages(error, logger) &&
|
|
1869
|
+
this.compressToolMessages(requestBody.messages, MAX_TOOL_RESPONSE_RETRY_CHARS, logger)) {
|
|
1870
|
+
compressedOnce = true;
|
|
1871
|
+
logger.warn(() => `[OpenAIProvider] Retrying request after compressing tool responses due to provider 400`);
|
|
1872
|
+
continue;
|
|
1873
|
+
}
|
|
1874
|
+
const capturedErrorMessage = error instanceof Error ? error.message : String(error);
|
|
1875
|
+
const status = typeof error === 'object' &&
|
|
1876
|
+
error !== null &&
|
|
1877
|
+
'status' in error &&
|
|
1878
|
+
typeof error.status === 'number'
|
|
1879
|
+
? error.status
|
|
1880
|
+
: undefined;
|
|
1881
|
+
logger.error(() => `[OpenAIProvider] Chat completion failed for model '${model}' at '${baseURL ?? this.getBaseURL() ?? 'default'}': ${capturedErrorMessage}`, {
|
|
1882
|
+
model,
|
|
1883
|
+
baseURL: baseURL ?? this.getBaseURL(),
|
|
1884
|
+
streamingEnabled,
|
|
1885
|
+
hasTools: formattedTools?.length ?? 0,
|
|
1886
|
+
requestHasSystemPrompt: !!systemPrompt,
|
|
1887
|
+
status,
|
|
1888
|
+
});
|
|
1889
|
+
throw error;
|
|
1890
|
+
}
|
|
1778
1891
|
}
|
|
1779
|
-
// Re-throw other errors as-is
|
|
1780
|
-
const capturedErrorMessage = error instanceof Error ? error.message : String(error);
|
|
1781
|
-
const status = typeof error === 'object' &&
|
|
1782
|
-
error !== null &&
|
|
1783
|
-
'status' in error &&
|
|
1784
|
-
typeof error.status === 'number'
|
|
1785
|
-
? error.status
|
|
1786
|
-
: undefined;
|
|
1787
|
-
logger.error(() => `[OpenAIProvider] Chat completion failed for model '${model}' at '${baseURL ?? this.getBaseURL() ?? 'default'}': ${capturedErrorMessage}`, {
|
|
1788
|
-
model,
|
|
1789
|
-
baseURL: baseURL ?? this.getBaseURL(),
|
|
1790
|
-
streamingEnabled,
|
|
1791
|
-
hasTools: formattedTools?.length ?? 0,
|
|
1792
|
-
requestHasSystemPrompt: !!systemPrompt,
|
|
1793
|
-
status,
|
|
1794
|
-
});
|
|
1795
|
-
throw error;
|
|
1796
1892
|
}
|
|
1797
1893
|
// Check if response is streaming or not
|
|
1798
1894
|
if (streamingEnabled) {
|
|
@@ -1818,6 +1914,10 @@ export class OpenAIProvider extends BaseProvider {
|
|
|
1818
1914
|
}
|
|
1819
1915
|
// Now process all collected chunks
|
|
1820
1916
|
for (const chunk of allChunks) {
|
|
1917
|
+
// Check for cancellation during chunk processing
|
|
1918
|
+
if (abortSignal?.aborted) {
|
|
1919
|
+
break;
|
|
1920
|
+
}
|
|
1821
1921
|
const chunkRecord = chunk;
|
|
1822
1922
|
let parsedData;
|
|
1823
1923
|
const rawData = chunkRecord?.data;
|
|
@@ -1958,7 +2058,13 @@ export class OpenAIProvider extends BaseProvider {
|
|
|
1958
2058
|
}
|
|
1959
2059
|
}
|
|
1960
2060
|
catch (error) {
|
|
1961
|
-
if (abortSignal?.aborted
|
|
2061
|
+
if (abortSignal?.aborted ||
|
|
2062
|
+
(error &&
|
|
2063
|
+
typeof error === 'object' &&
|
|
2064
|
+
'name' in error &&
|
|
2065
|
+
error.name === 'AbortError')) {
|
|
2066
|
+
// Signal was aborted - treat as intentional cancellation
|
|
2067
|
+
logger.debug(() => `Pipeline streaming response cancelled by AbortSignal (error: ${error instanceof Error ? error.name : 'unknown'})`);
|
|
1962
2068
|
throw error;
|
|
1963
2069
|
}
|
|
1964
2070
|
else {
|
|
@@ -2027,7 +2133,7 @@ export class OpenAIProvider extends BaseProvider {
|
|
|
2027
2133
|
textBuffer = '';
|
|
2028
2134
|
}
|
|
2029
2135
|
// Process and emit tool calls using the pipeline
|
|
2030
|
-
const pipelineResult = await this.toolCallPipeline.process();
|
|
2136
|
+
const pipelineResult = await this.toolCallPipeline.process(abortSignal);
|
|
2031
2137
|
if (pipelineResult.normalized.length > 0 ||
|
|
2032
2138
|
pipelineResult.failed.length > 0) {
|
|
2033
2139
|
const blocks = [];
|