@xynehq/jaf
Version:
Juspay Agent Framework - A purely functional agent framework with immutable state and composable tools
107 lines • 3.56 kB
JavaScript
/**
* JAF ADK Layer - Core Types
*
* Functional equivalents of Google ADK primitives following JAF's no-classes principle
*/
// ========== Core Primitives ==========
export var ContentRole;
(function (ContentRole) {
ContentRole["USER"] = "user";
ContentRole["MODEL"] = "model";
ContentRole["SYSTEM"] = "system";
})(ContentRole || (ContentRole = {}));
// Re-export Model enum and utilities from models.ts
export { Model, ModelCategory, isValidModel, getModelProvider, getModelCategory } from './models.js';
export var PartType;
(function (PartType) {
PartType["TEXT"] = "text";
PartType["IMAGE"] = "image";
PartType["AUDIO"] = "audio";
PartType["FUNCTION_CALL"] = "function_call";
PartType["FUNCTION_RESPONSE"] = "function_response";
})(PartType || (PartType = {}));
export var ToolParameterType;
(function (ToolParameterType) {
ToolParameterType["STRING"] = "string";
ToolParameterType["NUMBER"] = "number";
ToolParameterType["BOOLEAN"] = "boolean";
ToolParameterType["OBJECT"] = "object";
ToolParameterType["ARRAY"] = "array";
})(ToolParameterType || (ToolParameterType = {}));
export var ToolSource;
(function (ToolSource) {
ToolSource["FUNCTION"] = "function";
ToolSource["OPENAPI"] = "openapi";
ToolSource["CREWAI"] = "crewai";
ToolSource["LANGCHAIN"] = "langchain";
ToolSource["MCP"] = "mcp";
})(ToolSource || (ToolSource = {}));
// ========== Error Factory Functions ==========
export const createAdkError = (message, code, context) => ({
name: 'AdkError',
message,
code,
context,
stack: new Error().stack
});
export const createValidationError = (message, errors, context) => ({
...createAdkError(message, 'VALIDATION_ERROR', context),
name: 'ValidationError',
errors
});
export const createToolError = (message, toolName, context) => ({
...createAdkError(message, 'TOOL_ERROR', context),
name: 'ToolError',
toolName
});
export const createSessionError = (message, sessionId, context) => ({
...createAdkError(message, 'SESSION_ERROR', context),
name: 'SessionError',
sessionId
});
export const createAgentError = (message, agentId, context) => ({
...createAdkError(message, 'AGENT_ERROR', context),
name: 'AgentError',
agentId
});
// ========== Error Throwing Utilities ==========
export const throwAdkError = (message, code, context) => {
const error = new Error(message);
error.name = 'AdkError';
error.code = code;
error.context = context;
throw error;
};
export const throwValidationError = (message, errors, context) => {
const error = new Error(message);
error.name = 'ValidationError';
error.code = 'VALIDATION_ERROR';
error.errors = errors;
error.context = context;
throw error;
};
export const throwToolError = (message, toolName, context) => {
const error = new Error(message);
error.name = 'ToolError';
error.code = 'TOOL_ERROR';
error.toolName = toolName;
error.context = context;
throw error;
};
export const throwSessionError = (message, sessionId, context) => {
const error = new Error(message);
error.name = 'SessionError';
error.code = 'SESSION_ERROR';
error.sessionId = sessionId;
error.context = context;
throw error;
};
export const throwAgentError = (message, agentId, context) => {
const error = new Error(message);
error.name = 'AgentError';
error.code = 'AGENT_ERROR';
error.agentId = agentId;
error.context = context;
throw error;
};
//# sourceMappingURL=types.js.map