@astrive-ai/providers 1.0.18 → 1.0.19
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overchat-provider.d.ts","sourceRoot":"","sources":["../src/overchat-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGjG,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,GAAG,CAAiD;IAC5D,OAAO,CAAC,EAAE,CAAqH;IAC/H,OAAO,CAAC,MAAM,CAAiC;gBAEnC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa;IAIlC,WAAW,IAAI,OAAO;IAItC,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,WAAW;IAsDN,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"overchat-provider.d.ts","sourceRoot":"","sources":["../src/overchat-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGjG,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,GAAG,CAAiD;IAC5D,OAAO,CAAC,EAAE,CAAqH;IAC/H,OAAO,CAAC,MAAM,CAAiC;gBAEnC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa;IAIlC,WAAW,IAAI,OAAO;IAItC,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,WAAW;IAsDN,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA8EhD,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC;IA6EjF,SAAS,IAAI,MAAM,EAAE;IAIrB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAIjD"}
|
|
@@ -89,23 +89,58 @@ export class OverchatProvider extends BaseProvider {
|
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
let finalContent = fullContent;
|
|
92
|
-
|
|
93
|
-
if (
|
|
94
|
-
|
|
92
|
+
// Check if the response is a continuation of our prefilled assistant message
|
|
93
|
+
if (fullContent.includes('"arguments":')) {
|
|
94
|
+
const reconstructedJson = `{"tool_calls":[{"name":"${fullContent}`;
|
|
95
|
+
let match = reconstructedJson.match(/(\{[\s\S]*?"tool_calls"[\s\S]*?\})/);
|
|
96
|
+
if (match) {
|
|
97
|
+
try {
|
|
98
|
+
const parsed = JSON.parse(match[1]);
|
|
99
|
+
if (parsed.tool_calls && Array.isArray(parsed.tool_calls)) {
|
|
100
|
+
toolCalls = parsed.tool_calls.map((tc) => ({
|
|
101
|
+
id: `call_${crypto.randomUUID()}`,
|
|
102
|
+
name: tc.name,
|
|
103
|
+
arguments: typeof tc.arguments === 'string' ? JSON.parse(tc.arguments) : (tc.arguments || tc.parameters || {})
|
|
104
|
+
}));
|
|
105
|
+
finalContent = fullContent.replace(match[0], '').trim();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
catch (e) {
|
|
109
|
+
// If parse fails due to trailing backticks, clean it and retry
|
|
110
|
+
try {
|
|
111
|
+
const cleanJson = match[1].replace(/```/g, '').trim();
|
|
112
|
+
const parsed = JSON.parse(cleanJson);
|
|
113
|
+
if (parsed.tool_calls && Array.isArray(parsed.tool_calls)) {
|
|
114
|
+
toolCalls = parsed.tool_calls.map((tc) => ({
|
|
115
|
+
id: `call_${crypto.randomUUID()}`,
|
|
116
|
+
name: tc.name,
|
|
117
|
+
arguments: typeof tc.arguments === 'string' ? JSON.parse(tc.arguments) : (tc.arguments || tc.parameters || {})
|
|
118
|
+
}));
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
catch (err) { }
|
|
122
|
+
}
|
|
123
|
+
}
|
|
95
124
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
125
|
+
else {
|
|
126
|
+
let match = fullContent.match(/```(?:json)?\s*(\{[\s\S]*?"tool_calls"[\s\S]*?\})\s*```/);
|
|
127
|
+
if (!match) {
|
|
128
|
+
match = fullContent.match(/(\{[\s\S]*?"tool_calls"[\s\S]*?\})/);
|
|
129
|
+
}
|
|
130
|
+
if (match) {
|
|
131
|
+
try {
|
|
132
|
+
const parsed = JSON.parse(match[1]);
|
|
133
|
+
if (parsed.tool_calls && Array.isArray(parsed.tool_calls)) {
|
|
134
|
+
toolCalls = parsed.tool_calls.map((tc) => ({
|
|
135
|
+
id: `call_${crypto.randomUUID()}`,
|
|
136
|
+
name: tc.name,
|
|
137
|
+
arguments: typeof tc.arguments === 'string' ? JSON.parse(tc.arguments) : (tc.arguments || tc.parameters || {})
|
|
138
|
+
}));
|
|
139
|
+
finalContent = fullContent.replace(match[0], '').trim();
|
|
140
|
+
}
|
|
106
141
|
}
|
|
142
|
+
catch (e) { }
|
|
107
143
|
}
|
|
108
|
-
catch (e) { }
|
|
109
144
|
}
|
|
110
145
|
return {
|
|
111
146
|
id: crypto.randomUUID(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overchat-provider.js","sourceRoot":"","sources":["../src/overchat-provider.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"overchat-provider.js","sourceRoot":"","sources":["../src/overchat-provider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/overchat-provider.ts
CHANGED
|
@@ -103,23 +103,57 @@ export class OverchatProvider extends BaseProvider {
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
let finalContent = fullContent;
|
|
106
|
-
let match = fullContent.match(/```(?:json)?\s*(\{[\s\S]*?"tool_calls"[\s\S]*?\})\s*```/);
|
|
107
|
-
if (!match) {
|
|
108
|
-
match = fullContent.match(/(\{[\s\S]*?"tool_calls"[\s\S]*?\})/);
|
|
109
|
-
}
|
|
110
106
|
|
|
111
|
-
if
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
107
|
+
// Check if the response is a continuation of our prefilled assistant message
|
|
108
|
+
if (fullContent.includes('"arguments":')) {
|
|
109
|
+
const reconstructedJson = `{"tool_calls":[{"name":"${fullContent}`;
|
|
110
|
+
let match = reconstructedJson.match(/(\{[\s\S]*?"tool_calls"[\s\S]*?\})/);
|
|
111
|
+
|
|
112
|
+
if (match) {
|
|
113
|
+
try {
|
|
114
|
+
const parsed = JSON.parse(match[1]);
|
|
115
|
+
if (parsed.tool_calls && Array.isArray(parsed.tool_calls)) {
|
|
116
|
+
toolCalls = parsed.tool_calls.map((tc: any) => ({
|
|
117
|
+
id: `call_${crypto.randomUUID()}`,
|
|
118
|
+
name: tc.name,
|
|
119
|
+
arguments: typeof tc.arguments === 'string' ? JSON.parse(tc.arguments) : (tc.arguments || tc.parameters || {})
|
|
120
|
+
}));
|
|
121
|
+
finalContent = fullContent.replace(match[0], '').trim();
|
|
122
|
+
}
|
|
123
|
+
} catch (e) {
|
|
124
|
+
// If parse fails due to trailing backticks, clean it and retry
|
|
125
|
+
try {
|
|
126
|
+
const cleanJson = match[1].replace(/```/g, '').trim();
|
|
127
|
+
const parsed = JSON.parse(cleanJson);
|
|
128
|
+
if (parsed.tool_calls && Array.isArray(parsed.tool_calls)) {
|
|
129
|
+
toolCalls = parsed.tool_calls.map((tc: any) => ({
|
|
130
|
+
id: `call_${crypto.randomUUID()}`,
|
|
131
|
+
name: tc.name,
|
|
132
|
+
arguments: typeof tc.arguments === 'string' ? JSON.parse(tc.arguments) : (tc.arguments || tc.parameters || {})
|
|
133
|
+
}));
|
|
134
|
+
}
|
|
135
|
+
} catch(err) {}
|
|
121
136
|
}
|
|
122
|
-
}
|
|
137
|
+
}
|
|
138
|
+
} else {
|
|
139
|
+
let match = fullContent.match(/```(?:json)?\s*(\{[\s\S]*?"tool_calls"[\s\S]*?\})\s*```/);
|
|
140
|
+
if (!match) {
|
|
141
|
+
match = fullContent.match(/(\{[\s\S]*?"tool_calls"[\s\S]*?\})/);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
if (match) {
|
|
145
|
+
try {
|
|
146
|
+
const parsed = JSON.parse(match[1]);
|
|
147
|
+
if (parsed.tool_calls && Array.isArray(parsed.tool_calls)) {
|
|
148
|
+
toolCalls = parsed.tool_calls.map((tc: any) => ({
|
|
149
|
+
id: `call_${crypto.randomUUID()}`,
|
|
150
|
+
name: tc.name,
|
|
151
|
+
arguments: typeof tc.arguments === 'string' ? JSON.parse(tc.arguments) : (tc.arguments || tc.parameters || {})
|
|
152
|
+
}));
|
|
153
|
+
finalContent = fullContent.replace(match[0], '').trim();
|
|
154
|
+
}
|
|
155
|
+
} catch (e) {}
|
|
156
|
+
}
|
|
123
157
|
}
|
|
124
158
|
|
|
125
159
|
return {
|