@astrive-ai/providers 1.0.20 → 1.0.22
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;IA4EhD,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,41 +89,52 @@ export class OverchatProvider extends BaseProvider {
|
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
let finalContent = fullContent;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
92
|
+
let toolCallsArray = [];
|
|
93
|
+
// Our prefill looks like: {"tool_calls":[{"name":"
|
|
94
|
+
// The model responds with: downloader","arguments":{"url":"..."}}]}
|
|
95
|
+
// So fullContent will literally start with the model's completion.
|
|
96
|
+
// First, try standard JSON extraction
|
|
97
|
+
let match = fullContent.match(/```(?:json)?\s*(\{[\s\S]*?"tool_calls"[\s\S]*?\})\s*```/);
|
|
98
|
+
if (!match) {
|
|
99
|
+
match = fullContent.match(/(\{[\s\S]*?"tool_calls"[\s\S]*?\})/);
|
|
100
|
+
}
|
|
101
|
+
if (match) {
|
|
95
102
|
try {
|
|
96
|
-
const parsed = JSON.parse(
|
|
103
|
+
const parsed = JSON.parse(match[1]);
|
|
97
104
|
if (parsed.tool_calls && Array.isArray(parsed.tool_calls)) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
name: tc.name,
|
|
101
|
-
arguments: typeof tc.arguments === 'string' ? JSON.parse(tc.arguments) : (tc.arguments || tc.parameters || {})
|
|
102
|
-
}));
|
|
105
|
+
toolCallsArray = parsed.tool_calls;
|
|
106
|
+
finalContent = fullContent.replace(match[0], '').trim();
|
|
103
107
|
}
|
|
104
108
|
}
|
|
105
109
|
catch (e) { }
|
|
106
|
-
finalContent = ""; // Clear output because we successfully triggered a tool
|
|
107
110
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
111
|
+
// If standard extraction failed, check if it's the prefilled response
|
|
112
|
+
// Model output looks like: downloader","arguments":{"url":"https://vt.tiktok.com/ZSXc7Dakk/"}}]}
|
|
113
|
+
if (toolCallsArray.length === 0 && fullContent.includes('"arguments":')) {
|
|
114
|
+
// Let's use string manipulation to extract it because regex fails on nested JSON braces
|
|
115
|
+
try {
|
|
116
|
+
const parts = fullContent.split('"arguments":');
|
|
117
|
+
if (parts.length > 1) {
|
|
118
|
+
const toolName = parts[0].replace(/```(?:json)?/, '').replace(/"\s*,\s*$/, '').trim();
|
|
119
|
+
let argStr = parts.slice(1).join('"arguments":').trim();
|
|
120
|
+
// Remove trailing JSON clutter from prefill completion
|
|
121
|
+
argStr = argStr.split('}')[0] + '}'; // Gets just the first argument block
|
|
122
|
+
const toolArgs = JSON.parse(argStr);
|
|
123
|
+
toolCallsArray = [{
|
|
124
|
+
name: toolName,
|
|
125
|
+
arguments: toolArgs
|
|
126
|
+
}];
|
|
127
|
+
finalContent = ""; // Clear content because it's a tool call
|
|
124
128
|
}
|
|
125
|
-
catch (e) { }
|
|
126
129
|
}
|
|
130
|
+
catch (e) { }
|
|
131
|
+
}
|
|
132
|
+
if (toolCallsArray.length > 0) {
|
|
133
|
+
toolCalls = toolCallsArray.map((tc) => ({
|
|
134
|
+
id: `call_${crypto.randomUUID()}`,
|
|
135
|
+
name: tc.name,
|
|
136
|
+
arguments: typeof tc.arguments === 'string' ? JSON.parse(tc.arguments) : (tc.arguments || tc.parameters || {})
|
|
137
|
+
}));
|
|
127
138
|
}
|
|
128
139
|
return {
|
|
129
140
|
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,39 +103,55 @@ export class OverchatProvider extends BaseProvider {
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
let finalContent = fullContent;
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
106
|
+
let toolCallsArray: any[] = [];
|
|
107
|
+
|
|
108
|
+
// Our prefill looks like: {"tool_calls":[{"name":"
|
|
109
|
+
// The model responds with: downloader","arguments":{"url":"..."}}]}
|
|
110
|
+
// So fullContent will literally start with the model's completion.
|
|
111
|
+
|
|
112
|
+
// First, try standard JSON extraction
|
|
113
|
+
let match = fullContent.match(/```(?:json)?\s*(\{[\s\S]*?"tool_calls"[\s\S]*?\})\s*```/);
|
|
114
|
+
if (!match) {
|
|
115
|
+
match = fullContent.match(/(\{[\s\S]*?"tool_calls"[\s\S]*?\})/);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (match) {
|
|
109
119
|
try {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
120
|
+
const parsed = JSON.parse(match[1]);
|
|
121
|
+
if (parsed.tool_calls && Array.isArray(parsed.tool_calls)) {
|
|
122
|
+
toolCallsArray = parsed.tool_calls;
|
|
123
|
+
finalContent = fullContent.replace(match[0], '').trim();
|
|
124
|
+
}
|
|
125
|
+
} catch (e) {}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// If standard extraction failed, check if it's the prefilled response
|
|
129
|
+
// Model output looks like: downloader","arguments":{"url":"https://vt.tiktok.com/ZSXc7Dakk/"}}]}
|
|
130
|
+
if (toolCallsArray.length === 0 && fullContent.includes('"arguments":')) {
|
|
131
|
+
// Let's use string manipulation to extract it because regex fails on nested JSON braces
|
|
132
|
+
try {
|
|
133
|
+
const parts = fullContent.split('"arguments":');
|
|
134
|
+
if (parts.length > 1) {
|
|
135
|
+
const toolName = parts[0].replace(/```(?:json)?/, '').replace(/"\s*,\s*$/, '').trim();
|
|
136
|
+
let argStr = parts.slice(1).join('"arguments":').trim();
|
|
137
|
+
// Remove trailing JSON clutter from prefill completion
|
|
138
|
+
argStr = argStr.split('}')[0] + '}'; // Gets just the first argument block
|
|
139
|
+
const toolArgs = JSON.parse(argStr);
|
|
140
|
+
toolCallsArray = [{
|
|
141
|
+
name: toolName,
|
|
142
|
+
arguments: toolArgs
|
|
143
|
+
}];
|
|
144
|
+
finalContent = ""; // Clear content because it's a tool call
|
|
117
145
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
try {
|
|
128
|
-
const parsed = JSON.parse(match[1]);
|
|
129
|
-
if (parsed.tool_calls && Array.isArray(parsed.tool_calls)) {
|
|
130
|
-
toolCalls = parsed.tool_calls.map((tc: any) => ({
|
|
131
|
-
id: `call_${crypto.randomUUID()}`,
|
|
132
|
-
name: tc.name,
|
|
133
|
-
arguments: typeof tc.arguments === 'string' ? JSON.parse(tc.arguments) : (tc.arguments || tc.parameters || {})
|
|
134
|
-
}));
|
|
135
|
-
finalContent = fullContent.replace(match[0], '').trim();
|
|
136
|
-
}
|
|
137
|
-
} catch (e) {}
|
|
138
|
-
}
|
|
146
|
+
} catch(e) {}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (toolCallsArray.length > 0) {
|
|
150
|
+
toolCalls = toolCallsArray.map((tc: any) => ({
|
|
151
|
+
id: `call_${crypto.randomUUID()}`,
|
|
152
|
+
name: tc.name,
|
|
153
|
+
arguments: typeof tc.arguments === 'string' ? JSON.parse(tc.arguments) : (tc.arguments || tc.parameters || {})
|
|
154
|
+
}));
|
|
139
155
|
}
|
|
140
156
|
|
|
141
157
|
return {
|