Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 65 additions & 4 deletions packages/agents-sdk/src/graphFullClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,23 @@ import { getLogger } from '@inkeep/agents-core';

const logger = getLogger('graphFullClient');

/**
* Serialize error response to human-readable string
* Always returns the complete error without truncation
*/
function serializeErrorResponse(error: any): string {
if (typeof error === 'string') {
return error;
}

if (typeof error === 'object' && error !== null) {
// Always stringify the full object to avoid losing any error details
return JSON.stringify(error, null, 2);
}

return String(error);
}

/**
* Create a full graph via HTTP API
*/
Expand Down Expand Up @@ -43,7 +60,9 @@ export async function createFullGraphViaAPI(
try {
const errorJson = JSON.parse(errorText);
if (errorJson.error) {
errorMessage = errorJson.error;
errorMessage = serializeErrorResponse(errorJson.error);
} else if (errorJson.message) {
errorMessage = serializeErrorResponse(errorJson.message);
}
} catch {
// Use the text as-is if not JSON
Expand All @@ -52,10 +71,19 @@ export async function createFullGraphViaAPI(
}
}

let parsedError: any;
try {
const errorJson = JSON.parse(errorText);
parsedError = errorJson.error || errorJson;
} catch {
parsedError = errorText;
}

logger.error(
{
status: response.status,
error: errorMessage,
rawError: parsedError,
},
'Failed to create graph via API'
);
Expand Down Expand Up @@ -111,7 +139,9 @@ export async function updateFullGraphViaAPI(
try {
const errorJson = JSON.parse(errorText);
if (errorJson.error) {
errorMessage = errorJson.error;
errorMessage = serializeErrorResponse(errorJson.error);
} else if (errorJson.message) {
errorMessage = serializeErrorResponse(errorJson.message);
}
} catch {
// Use the text as-is if not JSON
Expand All @@ -120,10 +150,19 @@ export async function updateFullGraphViaAPI(
}
}

let parsedError: any;
try {
const errorJson = JSON.parse(errorText);
parsedError = errorJson.error || errorJson;
} catch {
parsedError = errorText;
}

logger.error(
{
status: response.status,
error: errorMessage,
rawError: parsedError,
},
'Failed to update graph via API'
);
Expand Down Expand Up @@ -187,7 +226,9 @@ export async function getFullGraphViaAPI(
try {
const errorJson = JSON.parse(errorText);
if (errorJson.error) {
errorMessage = errorJson.error;
errorMessage = serializeErrorResponse(errorJson.error);
} else if (errorJson.message) {
errorMessage = serializeErrorResponse(errorJson.message);
}
} catch {
// Use the text as-is if not JSON
Expand All @@ -196,10 +237,19 @@ export async function getFullGraphViaAPI(
}
}

let parsedError: any;
try {
const errorJson = JSON.parse(errorText);
parsedError = errorJson.error || errorJson;
} catch {
parsedError = errorText;
}

logger.error(
{
status: response.status,
error: errorMessage,
rawError: parsedError,
},
'Failed to get graph via API'
);
Expand Down Expand Up @@ -253,7 +303,9 @@ export async function deleteFullGraphViaAPI(
try {
const errorJson = JSON.parse(errorText);
if (errorJson.error) {
errorMessage = errorJson.error;
errorMessage = serializeErrorResponse(errorJson.error);
} else if (errorJson.message) {
errorMessage = serializeErrorResponse(errorJson.message);
}
} catch {
// Use the text as-is if not JSON
Expand All @@ -262,10 +314,19 @@ export async function deleteFullGraphViaAPI(
}
}

let parsedError: any;
try {
const errorJson = JSON.parse(errorText);
parsedError = errorJson.error || errorJson;
} catch {
parsedError = errorText;
}

logger.error(
{
status: response.status,
error: errorMessage,
rawError: parsedError,
},
'Failed to delete graph via API'
);
Expand Down
69 changes: 65 additions & 4 deletions packages/agents-sdk/src/projectFullClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,23 @@ import { apiFetch, type FullProjectDefinition, getLogger } from '@inkeep/agents-

const logger = getLogger('projectFullClient');

/**
* Serialize error response to human-readable string
* Always returns the complete error without truncation
*/
function serializeErrorResponse(error: any): string {
if (typeof error === 'string') {
return error;
}

if (typeof error === 'object' && error !== null) {
// Always stringify the full object to avoid losing any error details
return JSON.stringify(error, null, 2);
}

return String(error);
}

/**
* Create a full project via HTTP API
*/
Expand Down Expand Up @@ -60,7 +77,9 @@ export async function createFullProjectViaAPI(
try {
const errorJson = JSON.parse(errorText);
if (errorJson.error) {
errorMessage = errorJson.error;
errorMessage = serializeErrorResponse(errorJson.error);
} else if (errorJson.message) {
errorMessage = serializeErrorResponse(errorJson.message);
}
} catch {
// Use the text as-is if not JSON
Expand All @@ -69,10 +88,19 @@ export async function createFullProjectViaAPI(
}
}

let parsedError: any;
try {
const errorJson = JSON.parse(errorText);
parsedError = errorJson.error || errorJson;
} catch {
parsedError = errorText;
}

logger.error(
{
status: response.status,
error: errorMessage,
rawError: parsedError,
},
'Failed to create project via API'
);
Expand Down Expand Up @@ -146,7 +174,9 @@ export async function updateFullProjectViaAPI(
try {
const errorJson = JSON.parse(errorText);
if (errorJson.error) {
errorMessage = errorJson.error;
errorMessage = serializeErrorResponse(errorJson.error);
} else if (errorJson.message) {
errorMessage = serializeErrorResponse(errorJson.message);
}
} catch {
// Use the text as-is if not JSON
Expand All @@ -155,10 +185,19 @@ export async function updateFullProjectViaAPI(
}
}

let parsedError: any;
try {
const errorJson = JSON.parse(errorText);
parsedError = errorJson.error || errorJson;
} catch {
parsedError = errorText;
}

logger.error(
{
status: response.status,
error: errorMessage,
rawError: parsedError,
},
'Failed to update project via API'
);
Expand Down Expand Up @@ -226,7 +265,9 @@ export async function getFullProjectViaAPI(
try {
const errorJson = JSON.parse(errorText);
if (errorJson.error) {
errorMessage = errorJson.error;
errorMessage = serializeErrorResponse(errorJson.error);
} else if (errorJson.message) {
errorMessage = serializeErrorResponse(errorJson.message);
}
} catch {
// Use the text as-is if not JSON
Expand All @@ -235,10 +276,19 @@ export async function getFullProjectViaAPI(
}
}

let parsedError: any;
try {
const errorJson = JSON.parse(errorText);
parsedError = errorJson.error || errorJson;
} catch {
parsedError = errorText;
}

logger.error(
{
status: response.status,
error: errorMessage,
rawError: parsedError,
},
'Failed to get project via API'
);
Expand Down Expand Up @@ -296,7 +346,9 @@ export async function deleteFullProjectViaAPI(
try {
const errorJson = JSON.parse(errorText);
if (errorJson.error) {
errorMessage = errorJson.error;
errorMessage = serializeErrorResponse(errorJson.error);
} else if (errorJson.message) {
errorMessage = serializeErrorResponse(errorJson.message);
}
} catch {
// Use the text as-is if not JSON
Expand All @@ -305,10 +357,19 @@ export async function deleteFullProjectViaAPI(
}
}

let parsedError: any;
try {
const errorJson = JSON.parse(errorText);
parsedError = errorJson.error || errorJson;
} catch {
parsedError = errorText;
}

logger.error(
{
status: response.status,
error: errorMessage,
rawError: parsedError,
},
'Failed to delete project via API'
);
Expand Down