Merge pull request #140 from clansty/fix/kiro-tool-use-input-parse
fix(kiro): 修复 tool_use 的 input 字段序列化问题
This commit is contained in:
commit
16b7ee454b
1 changed files with 9 additions and 7 deletions
|
|
@ -1639,8 +1639,9 @@ async initializeAuth(forceRefresh = false) {
|
||||||
toolCalls.forEach((tc, index) => {
|
toolCalls.forEach((tc, index) => {
|
||||||
let inputObject;
|
let inputObject;
|
||||||
try {
|
try {
|
||||||
// Arguments should be a stringified JSON object.
|
// Arguments should be a stringified JSON object, need to parse it
|
||||||
inputObject = tc.function.arguments;
|
const args = tc.function.arguments;
|
||||||
|
inputObject = typeof args === 'string' ? JSON.parse(args) : args;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.warn(`[Kiro] Invalid JSON for tool call arguments. Wrapping in raw_arguments. Error: ${e.message}`, tc.function.arguments);
|
console.warn(`[Kiro] Invalid JSON for tool call arguments. Wrapping in raw_arguments. Error: ${e.message}`, tc.function.arguments);
|
||||||
// If parsing fails, wrap the raw string in an object as a fallback,
|
// If parsing fails, wrap the raw string in an object as a fallback,
|
||||||
|
|
@ -1666,7 +1667,7 @@ async initializeAuth(forceRefresh = false) {
|
||||||
index: index,
|
index: index,
|
||||||
delta: {
|
delta: {
|
||||||
type: "input_json_delta",
|
type: "input_json_delta",
|
||||||
partial_json: inputObject
|
partial_json: JSON.stringify(inputObject)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -1706,8 +1707,9 @@ async initializeAuth(forceRefresh = false) {
|
||||||
for (const tc of toolCalls) {
|
for (const tc of toolCalls) {
|
||||||
let inputObject;
|
let inputObject;
|
||||||
try {
|
try {
|
||||||
// Arguments should be a stringified JSON object.
|
// Arguments should be a stringified JSON object, need to parse it
|
||||||
inputObject = tc.function.arguments;
|
const args = tc.function.arguments;
|
||||||
|
inputObject = typeof args === 'string' ? JSON.parse(args) : args;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.warn(`[Kiro] Invalid JSON for tool call arguments. Wrapping in raw_arguments. Error: ${e.message}`, tc.function.arguments);
|
console.warn(`[Kiro] Invalid JSON for tool call arguments. Wrapping in raw_arguments. Error: ${e.message}`, tc.function.arguments);
|
||||||
// If parsing fails, wrap the raw string in an object as a fallback,
|
// If parsing fails, wrap the raw string in an object as a fallback,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue