recoder-a2a-sdk 1.0.0 → 1.0.1
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.
- package/dist/audit-event-Bhf9-AJV.d.mts +123 -0
- package/dist/audit-event-D8PTRp8M.d.ts +123 -0
- package/dist/audit-helpers.d.mts +2 -2
- package/dist/audit-helpers.d.ts +2 -2
- package/dist/audit-helpers.js +3 -82
- package/dist/audit-helpers.js.map +1 -1
- package/dist/audit-helpers.mjs +2 -2
- package/dist/{chunk-MAA7JZ2Q.mjs → chunk-6EHW6C4A.mjs} +2 -2
- package/dist/chunk-6EHW6C4A.mjs.map +1 -0
- package/dist/{chunk-7GY5FFBI.mjs → chunk-AWHOY6CI.mjs} +2 -2
- package/dist/chunk-AWHOY6CI.mjs.map +1 -0
- package/dist/{chunk-AGD6G5N6.mjs → chunk-FSPAU2U3.mjs} +2 -2
- package/dist/chunk-FSPAU2U3.mjs.map +1 -0
- package/dist/{chunk-WLNW7Y2H.mjs → chunk-KTGZQV57.mjs} +4 -88
- package/dist/chunk-KTGZQV57.mjs.map +1 -0
- package/dist/{chunk-JOZQDX7A.mjs → chunk-MJ45255C.mjs} +2 -2
- package/dist/chunk-MJ45255C.mjs.map +1 -0
- package/dist/{chunk-BWCRJDUB.mjs → chunk-V4EHWWUR.mjs} +2 -2
- package/dist/chunk-V4EHWWUR.mjs.map +1 -0
- package/dist/envelope-builders.d.mts +2 -2
- package/dist/envelope-builders.d.ts +2 -2
- package/dist/envelope-builders.js +3 -74
- package/dist/envelope-builders.js.map +1 -1
- package/dist/envelope-builders.mjs +2 -2
- package/dist/error-mapping.d.mts +3 -1
- package/dist/error-mapping.d.ts +3 -1
- package/dist/error-mapping.js +3 -74
- package/dist/error-mapping.js.map +1 -1
- package/dist/error-mapping.mjs +2 -2
- package/dist/error-taxonomy-CQgrKp9z.d.mts +102 -0
- package/dist/error-taxonomy-CQgrKp9z.d.ts +102 -0
- package/dist/index.d.mts +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +3 -87
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +6 -6
- package/dist/schemas/index.d.mts +4 -0
- package/dist/schemas/index.d.ts +4 -0
- package/dist/schemas/index.js +601 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/index.mjs +53 -0
- package/dist/schemas/index.mjs.map +1 -0
- package/dist/state-mapping.d.mts +2 -1
- package/dist/state-mapping.d.ts +2 -1
- package/dist/state-mapping.js +3 -74
- package/dist/state-mapping.js.map +1 -1
- package/dist/state-mapping.mjs +2 -2
- package/dist/task-envelope-B3X3seKp.d.ts +130 -0
- package/dist/task-envelope-QkecqlWq.d.mts +130 -0
- package/dist/types-Bt96SgOS.d.mts +34 -0
- package/dist/types-Bt96SgOS.d.ts +34 -0
- package/dist/validation.d.mts +4 -1
- package/dist/validation.d.ts +4 -1
- package/dist/validation.js +3 -74
- package/dist/validation.js.map +1 -1
- package/dist/validation.mjs +2 -2
- package/package.json +74 -16
- package/dist/chunk-7GY5FFBI.mjs.map +0 -1
- package/dist/chunk-AGD6G5N6.mjs.map +0 -1
- package/dist/chunk-BWCRJDUB.mjs.map +0 -1
- package/dist/chunk-DPFH2JIC.mjs +0 -141
- package/dist/chunk-DPFH2JIC.mjs.map +0 -1
- package/dist/chunk-EP2GHC3R.mjs +0 -116
- package/dist/chunk-EP2GHC3R.mjs.map +0 -1
- package/dist/chunk-JOZQDX7A.mjs.map +0 -1
- package/dist/chunk-MAA7JZ2Q.mjs.map +0 -1
- package/dist/chunk-QVOOBAUA.mjs +0 -140
- package/dist/chunk-QVOOBAUA.mjs.map +0 -1
- package/dist/chunk-T5GUBIFZ.mjs +0 -358
- package/dist/chunk-T5GUBIFZ.mjs.map +0 -1
- package/dist/chunk-WLNW7Y2H.mjs.map +0 -1
- package/dist/chunk-XSELW6DU.mjs +0 -356
- package/dist/chunk-XSELW6DU.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schemas/index.ts","../../src/schemas/task-envelope.ts","../../src/schemas/audit-event.ts","../../src/schemas/error-taxonomy.ts"],"sourcesContent":["/**\n * @module schemas\n *\n * Canonical TypeScript schemas for the Recoder A2A control plane.\n * Inlined from @recoder/shared/a2a/schemas for standalone publishing.\n */\n\n// Re-export shared types\nexport type {\n RecoderAgentPlatform,\n RecoderPayload,\n RecoderTextPayload,\n RecoderJsonPayload,\n RecoderCommandPayload,\n RecoderArtifactPayload,\n A2AProtocolKind,\n} from './types';\n\nexport {\n TASK_ENVELOPE_VERSION,\n TaskStateEnum,\n TASK_STATES,\n TERMINAL_TASK_STATES,\n isTerminalState,\n ALLOWED_STATE_TRANSITIONS,\n isValidTransition,\n transitionTaskEnvelope,\n createTaskEnvelope,\n type TaskState,\n type TaskStateTransition,\n type TaskConnectorInfo,\n type TaskAgentRef,\n type TaskResult,\n type TaskArtifact,\n type TaskPolicySnapshot,\n type TaskErrorInfo,\n type TaskEnvelope,\n type CreateTaskEnvelopeInput,\n} from './task-envelope';\n\nexport {\n AUDIT_EVENT_VERSION,\n AuditEventTypeEnum,\n AUDIT_EVENT_TYPES,\n AuditActorKindEnum,\n AuditTargetKindEnum,\n AuditSeverityEnum,\n createAuditEvent,\n type AuditEventType,\n type AuditActorKind,\n type AuditActor,\n type AuditTargetKind,\n type AuditTarget,\n type AuditPolicyContext,\n type AuditSeverity,\n type AuditEvent,\n type CreateAuditEventInput,\n} from './audit-event';\n\nexport {\n A2AErrorSeverityEnum,\n A2AErrorCategoryEnum,\n A2AErrorCodeEnum,\n A2A_ERROR_CODE_REGISTRY,\n buildA2AError,\n getErrorCodeMeta,\n isA2AErrorCode,\n A2AStructuredError,\n type A2AErrorSeverity,\n type A2AErrorCategory,\n type A2AErrorCode,\n type A2AErrorCodeMeta,\n type A2AError,\n} from './error-taxonomy';\n","/**\n * @module task-envelope\n *\n * Canonical TaskEnvelope schema for the Recoder A2A control plane.\n */\n\nimport type {\n RecoderAgentPlatform,\n RecoderPayload,\n A2AProtocolKind,\n TaskState as ControlPlaneTaskState,\n} from './types';\n\n// ---------------------------------------------------------------------------\n// Version\n// ---------------------------------------------------------------------------\n\n/** Current version of the TaskEnvelope schema. */\nexport const TASK_ENVELOPE_VERSION = '1.0.0' as const;\n\n// ---------------------------------------------------------------------------\n// Task State\n// ---------------------------------------------------------------------------\n\nexport type TaskState = ControlPlaneTaskState;\n\nexport const TaskStateEnum = {\n /** Task has been created and is awaiting execution. */\n Submitted: 'submitted' as const satisfies TaskState,\n /** Task is actively being processed by the assignee agent. */\n Working: 'working' as const satisfies TaskState,\n /** The assignee needs additional input before it can continue. */\n InputRequired: 'input-required' as const satisfies TaskState,\n /** Task finished successfully. */\n Completed: 'completed' as const satisfies TaskState,\n /** Task terminated with an error. */\n Failed: 'failed' as const satisfies TaskState,\n /** Task was explicitly cancelled by a requester or operator. */\n Cancelled: 'cancelled' as const satisfies TaskState,\n} as const;\n\n/** Ordered list of all task states (useful for validation). */\nexport const TASK_STATES: readonly TaskState[] = [\n TaskStateEnum.Submitted,\n TaskStateEnum.Working,\n TaskStateEnum.InputRequired,\n TaskStateEnum.Completed,\n TaskStateEnum.Failed,\n TaskStateEnum.Cancelled,\n] as const;\n\n/** Set of terminal states -- once a task reaches one of these it cannot transition further. */\nexport const TERMINAL_TASK_STATES: ReadonlySet<TaskState> = new Set<TaskState>([\n TaskStateEnum.Completed,\n TaskStateEnum.Failed,\n TaskStateEnum.Cancelled,\n]);\n\n/**\n * Returns true when the given state is a terminal state.\n */\nexport function isTerminalState(state: TaskState): boolean {\n return TERMINAL_TASK_STATES.has(state);\n}\n\n// ---------------------------------------------------------------------------\n// Task State Transition\n// ---------------------------------------------------------------------------\n\nexport interface TaskStateTransition {\n from: TaskState;\n to: TaskState;\n transitioned_at: string;\n reason?: string;\n triggered_by?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Connector Info\n// ---------------------------------------------------------------------------\n\nexport interface TaskConnectorInfo {\n platform: RecoderAgentPlatform;\n protocol: A2AProtocolKind;\n connector_id: string;\n name?: string;\n metadata?: Record<string, unknown>;\n}\n\n// ---------------------------------------------------------------------------\n// Agent Reference\n// ---------------------------------------------------------------------------\n\nexport interface TaskAgentRef {\n agent_id: string;\n platform: RecoderAgentPlatform;\n name?: string;\n instance_id?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Task Result\n// ---------------------------------------------------------------------------\n\nexport interface TaskResult {\n text?: string;\n data?: Record<string, unknown>;\n artifacts?: TaskArtifact[];\n}\n\nexport interface TaskArtifact {\n key: string;\n artifact_type: 'patch' | 'file' | 'plan' | 'report' | 'log' | 'custom';\n mime_type: string;\n content: string;\n path?: string;\n metadata?: Record<string, unknown>;\n}\n\n// ---------------------------------------------------------------------------\n// Policy Snapshot\n// ---------------------------------------------------------------------------\n\nexport interface TaskPolicySnapshot {\n action: string;\n approved: boolean;\n rule: string;\n reason: string;\n checked_at: string;\n}\n\n// ---------------------------------------------------------------------------\n// Error Info\n// ---------------------------------------------------------------------------\n\nexport interface TaskErrorInfo {\n code: string;\n category: string;\n message: string;\n severity: 'low' | 'medium' | 'high' | 'critical';\n retryable: boolean;\n details?: Record<string, unknown>;\n}\n\n// ---------------------------------------------------------------------------\n// TaskEnvelope\n// ---------------------------------------------------------------------------\n\nexport interface TaskEnvelope {\n envelope_version: string;\n id: string;\n workspace_id: string;\n thread_id: string;\n trace_id: string;\n parent_id?: string;\n state: TaskState;\n history?: TaskStateTransition[];\n requester: TaskAgentRef;\n assignee: TaskAgentRef;\n connector: TaskConnectorInfo;\n payload: RecoderPayload | RecoderPayload[];\n result?: TaskResult;\n error?: TaskErrorInfo;\n policy?: TaskPolicySnapshot[];\n created_at: string;\n updated_at: string;\n tokensUsed?: number;\n estimatedCostUsd?: number;\n retryCount?: number;\n metadata?: Record<string, unknown>;\n tags?: string[];\n}\n\n// ---------------------------------------------------------------------------\n// Factory helper\n// ---------------------------------------------------------------------------\n\nexport interface CreateTaskEnvelopeInput {\n id: string;\n workspace_id: string;\n thread_id: string;\n trace_id: string;\n parent_id?: string;\n requester: TaskAgentRef;\n assignee: TaskAgentRef;\n connector: TaskConnectorInfo;\n payload: RecoderPayload | RecoderPayload[];\n metadata?: Record<string, unknown>;\n tags?: string[];\n initial_state?: TaskState;\n now?: string;\n}\n\nexport function createTaskEnvelope(input: CreateTaskEnvelopeInput): TaskEnvelope {\n const now = input.now ?? new Date().toISOString();\n return {\n envelope_version: TASK_ENVELOPE_VERSION,\n id: input.id,\n workspace_id: input.workspace_id,\n thread_id: input.thread_id,\n trace_id: input.trace_id,\n parent_id: input.parent_id,\n state: input.initial_state ?? TaskStateEnum.Submitted,\n history: [],\n requester: input.requester,\n assignee: input.assignee,\n connector: input.connector,\n payload: input.payload,\n created_at: now,\n updated_at: now,\n metadata: input.metadata,\n tags: input.tags,\n };\n}\n\n// ---------------------------------------------------------------------------\n// State transition helper\n// ---------------------------------------------------------------------------\n\nexport const ALLOWED_STATE_TRANSITIONS: Readonly<Record<TaskState, readonly TaskState[]>> = {\n [TaskStateEnum.Submitted]: [TaskStateEnum.Working, TaskStateEnum.Cancelled, TaskStateEnum.Failed],\n [TaskStateEnum.Working]: [\n TaskStateEnum.Completed,\n TaskStateEnum.Failed,\n TaskStateEnum.Cancelled,\n TaskStateEnum.InputRequired,\n ],\n [TaskStateEnum.InputRequired]: [TaskStateEnum.Working, TaskStateEnum.Cancelled, TaskStateEnum.Failed],\n [TaskStateEnum.Completed]: [],\n [TaskStateEnum.Failed]: [],\n [TaskStateEnum.Cancelled]: [],\n};\n\nexport function isValidTransition(from: TaskState, to: TaskState): boolean {\n return (ALLOWED_STATE_TRANSITIONS[from] ?? []).includes(to);\n}\n\nexport function transitionTaskEnvelope(\n envelope: TaskEnvelope,\n to: TaskState,\n options?: { reason?: string; triggered_by?: string; now?: string }\n): TaskEnvelope {\n if (!isValidTransition(envelope.state, to)) {\n throw new Error(\n `Invalid task state transition: ${envelope.state} -> ${to} (task ${envelope.id})`\n );\n }\n\n const now = options?.now ?? new Date().toISOString();\n const transition: TaskStateTransition = {\n from: envelope.state,\n to,\n transitioned_at: now,\n reason: options?.reason,\n triggered_by: options?.triggered_by,\n };\n\n return {\n ...envelope,\n state: to,\n updated_at: now,\n history: [...(envelope.history ?? []), transition],\n };\n}\n","/**\n * @module audit-event\n *\n * Canonical AuditEvent schema for the Recoder A2A control plane.\n */\n\nimport type { RecoderAgentPlatform } from './types';\n\n// ---------------------------------------------------------------------------\n// Version\n// ---------------------------------------------------------------------------\n\n/** Current version of the AuditEvent schema. */\nexport const AUDIT_EVENT_VERSION = '1.0.0' as const;\n\n// ---------------------------------------------------------------------------\n// Event types\n// ---------------------------------------------------------------------------\n\nexport const AuditEventTypeEnum = {\n // -- task lifecycle ---------------------------------------------------------\n TaskSubmitted: 'task.submitted',\n TaskStarted: 'task.started',\n TaskProgress: 'task.progress',\n TaskInputRequired: 'task.input_required',\n TaskCompleted: 'task.completed',\n TaskFailed: 'task.failed',\n TaskCancelled: 'task.cancelled',\n\n // -- policy decisions -------------------------------------------------------\n PolicyChecked: 'policy.checked',\n PolicyApproved: 'policy.approved',\n PolicyDenied: 'policy.denied',\n\n // -- connector events -------------------------------------------------------\n ConnectorAttached: 'connector.attached',\n ConnectorDetached: 'connector.detached',\n ConnectorHealth: 'connector.health',\n ConnectorError: 'connector.error',\n\n // -- agent registry ---------------------------------------------------------\n AgentRegistered: 'agent.registered',\n AgentUnregistered: 'agent.unregistered',\n AgentUpdated: 'agent.updated',\n\n // -- collaboration ----------------------------------------------------------\n ChannelCreated: 'collaboration.channel_created',\n ThreadCreated: 'collaboration.thread_created',\n MessageSent: 'collaboration.message_sent',\n\n // -- system -----------------------------------------------------------------\n SystemConfig: 'system.config',\n SystemError: 'system.error',\n} as const;\n\n/** Union of all valid audit event type string values. */\nexport type AuditEventType = (typeof AuditEventTypeEnum)[keyof typeof AuditEventTypeEnum];\n\n/** Ordered list of all event types (useful for validation / UI dropdowns). */\nexport const AUDIT_EVENT_TYPES: readonly AuditEventType[] = Object.values(AuditEventTypeEnum);\n\n// ---------------------------------------------------------------------------\n// Actor\n// ---------------------------------------------------------------------------\n\nexport const AuditActorKindEnum = {\n Agent: 'agent',\n User: 'user',\n System: 'system',\n Connector: 'connector',\n} as const;\n\nexport type AuditActorKind = (typeof AuditActorKindEnum)[keyof typeof AuditActorKindEnum];\n\nexport interface AuditActor {\n kind: AuditActorKind;\n id: string;\n name?: string;\n platform?: RecoderAgentPlatform;\n metadata?: Record<string, unknown>;\n}\n\n// ---------------------------------------------------------------------------\n// Target\n// ---------------------------------------------------------------------------\n\nexport const AuditTargetKindEnum = {\n Task: 'task',\n Agent: 'agent',\n Connector: 'connector',\n Channel: 'channel',\n Thread: 'thread',\n Message: 'message',\n Policy: 'policy',\n Workspace: 'workspace',\n System: 'system',\n} as const;\n\nexport type AuditTargetKind = (typeof AuditTargetKindEnum)[keyof typeof AuditTargetKindEnum];\n\nexport interface AuditTarget {\n kind: AuditTargetKind;\n id: string;\n name?: string;\n metadata?: Record<string, unknown>;\n}\n\n// ---------------------------------------------------------------------------\n// Policy Context\n// ---------------------------------------------------------------------------\n\nexport interface AuditPolicyContext {\n action: string;\n rule: string;\n approved: boolean;\n reason: string;\n agent_id: string;\n details?: Record<string, unknown>;\n}\n\n// ---------------------------------------------------------------------------\n// Severity\n// ---------------------------------------------------------------------------\n\nexport const AuditSeverityEnum = {\n Info: 'info',\n Warning: 'warning',\n Error: 'error',\n Critical: 'critical',\n} as const;\n\nexport type AuditSeverity = (typeof AuditSeverityEnum)[keyof typeof AuditSeverityEnum];\n\n// ---------------------------------------------------------------------------\n// AuditEvent\n// ---------------------------------------------------------------------------\n\nexport interface AuditEvent {\n schema_version: string;\n id: string;\n event_type: AuditEventType;\n severity?: AuditSeverity;\n actor: AuditActor;\n target: AuditTarget;\n trace_id: string;\n parent_event_id?: string;\n workspace_id: string;\n thread_id?: string;\n task_id?: string;\n timestamp: string;\n duration_ms?: number;\n policy?: AuditPolicyContext;\n metadata?: Record<string, unknown>;\n tags?: string[];\n}\n\n// ---------------------------------------------------------------------------\n// Factory helper\n// ---------------------------------------------------------------------------\n\nexport interface CreateAuditEventInput {\n id: string;\n event_type: AuditEventType;\n actor: AuditActor;\n target: AuditTarget;\n trace_id: string;\n workspace_id: string;\n thread_id?: string;\n task_id?: string;\n parent_event_id?: string;\n severity?: AuditSeverity;\n policy?: AuditPolicyContext;\n metadata?: Record<string, unknown>;\n tags?: string[];\n duration_ms?: number;\n now?: string;\n}\n\nexport function createAuditEvent(input: CreateAuditEventInput): AuditEvent {\n return {\n schema_version: AUDIT_EVENT_VERSION,\n id: input.id,\n event_type: input.event_type,\n severity: input.severity,\n actor: input.actor,\n target: input.target,\n trace_id: input.trace_id,\n parent_event_id: input.parent_event_id,\n workspace_id: input.workspace_id,\n thread_id: input.thread_id,\n task_id: input.task_id,\n timestamp: input.now ?? new Date().toISOString(),\n duration_ms: input.duration_ms,\n policy: input.policy,\n metadata: input.metadata,\n tags: input.tags,\n };\n}\n","/**\n * @module error-taxonomy\n *\n * Canonical error taxonomy for the Recoder A2A system.\n */\n\n// ---------------------------------------------------------------------------\n// Error severity\n// ---------------------------------------------------------------------------\n\nexport const A2AErrorSeverityEnum = {\n Low: 'low',\n Medium: 'medium',\n High: 'high',\n Critical: 'critical',\n} as const;\n\nexport type A2AErrorSeverity = (typeof A2AErrorSeverityEnum)[keyof typeof A2AErrorSeverityEnum];\n\n// ---------------------------------------------------------------------------\n// Error categories\n// ---------------------------------------------------------------------------\n\nexport const A2AErrorCategoryEnum = {\n Envelope: 'envelope',\n Connector: 'connector',\n Policy: 'policy',\n Task: 'task',\n Registry: 'registry',\n Collaboration: 'collaboration',\n Transport: 'transport',\n Auth: 'auth',\n RateLimit: 'rate_limit',\n Internal: 'internal',\n} as const;\n\nexport type A2AErrorCategory = (typeof A2AErrorCategoryEnum)[keyof typeof A2AErrorCategoryEnum];\n\n// ---------------------------------------------------------------------------\n// Error codes\n// ---------------------------------------------------------------------------\n\nexport const A2AErrorCodeEnum = {\n // -- envelope ---------------------------------------------------------------\n InvalidEnvelope: 'INVALID_ENVELOPE',\n UnsupportedEnvelopeVersion: 'UNSUPPORTED_ENVELOPE_VERSION',\n MissingEnvelopeField: 'MISSING_ENVELOPE_FIELD',\n InvalidPayload: 'INVALID_PAYLOAD',\n InvalidParams: 'INVALID_ENVELOPE',\n\n // -- connector --------------------------------------------------------------\n ConnectorNotFound: 'CONNECTOR_NOT_FOUND',\n ConnectorTimeout: 'CONNECTOR_TIMEOUT',\n ConnectorError: 'CONNECTOR_ERROR',\n ConnectorUnavailable: 'CONNECTOR_UNAVAILABLE',\n ProtocolMismatch: 'PROTOCOL_MISMATCH',\n\n // -- policy -----------------------------------------------------------------\n PolicyDenied: 'POLICY_DENIED',\n PolicyHandlerMissing: 'POLICY_HANDLER_MISSING',\n PolicyTimeout: 'POLICY_TIMEOUT',\n\n // -- task -------------------------------------------------------------------\n TaskNotFound: 'TASK_NOT_FOUND',\n InvalidStateTransition: 'INVALID_STATE_TRANSITION',\n TaskAlreadyTerminal: 'TASK_ALREADY_TERMINAL',\n TaskExecutionFailed: 'TASK_EXECUTION_FAILED',\n TaskCancelled: 'TASK_CANCELLED',\n\n // -- registry ---------------------------------------------------------------\n AgentNotFound: 'AGENT_NOT_FOUND',\n AgentAlreadyRegistered: 'AGENT_ALREADY_REGISTERED',\n CapabilityNotFound: 'CAPABILITY_NOT_FOUND',\n\n // -- collaboration ----------------------------------------------------------\n ChannelNotFound: 'CHANNEL_NOT_FOUND',\n ThreadNotFound: 'THREAD_NOT_FOUND',\n MessageNotFound: 'MESSAGE_NOT_FOUND',\n NotChannelMember: 'NOT_CHANNEL_MEMBER',\n\n // -- transport --------------------------------------------------------------\n NetworkError: 'NETWORK_ERROR',\n UnexpectedStatus: 'UNEXPECTED_STATUS',\n SerializationError: 'SERIALIZATION_ERROR',\n\n // -- auth -------------------------------------------------------------------\n AuthenticationFailed: 'AUTHENTICATION_FAILED',\n AuthorizationDenied: 'AUTHORIZATION_DENIED',\n TokenExpired: 'TOKEN_EXPIRED',\n\n // -- rate limit -------------------------------------------------------------\n RateLimitExceeded: 'RATE_LIMIT_EXCEEDED',\n QuotaExceeded: 'QUOTA_EXCEEDED',\n\n // -- internal ---------------------------------------------------------------\n InternalError: 'INTERNAL_ERROR',\n ConfigurationError: 'CONFIGURATION_ERROR',\n} as const;\n\nexport type A2AErrorCode = (typeof A2AErrorCodeEnum)[keyof typeof A2AErrorCodeEnum];\n\n// ---------------------------------------------------------------------------\n// Error code metadata\n// ---------------------------------------------------------------------------\n\nexport interface A2AErrorCodeMeta {\n code: A2AErrorCode;\n category: A2AErrorCategory;\n severity: A2AErrorSeverity;\n retryable: boolean;\n description: string;\n}\n\nexport const A2A_ERROR_CODE_REGISTRY: Readonly<Record<A2AErrorCode, A2AErrorCodeMeta>> = {\n // envelope\n [A2AErrorCodeEnum.InvalidEnvelope]: {\n code: A2AErrorCodeEnum.InvalidEnvelope,\n category: A2AErrorCategoryEnum.Envelope,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: false,\n description: 'The envelope failed structural validation.',\n },\n [A2AErrorCodeEnum.UnsupportedEnvelopeVersion]: {\n code: A2AErrorCodeEnum.UnsupportedEnvelopeVersion,\n category: A2AErrorCategoryEnum.Envelope,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: false,\n description: 'The envelope version is not supported by this service.',\n },\n [A2AErrorCodeEnum.MissingEnvelopeField]: {\n code: A2AErrorCodeEnum.MissingEnvelopeField,\n category: A2AErrorCategoryEnum.Envelope,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: false,\n description: 'A required field is missing from the envelope.',\n },\n [A2AErrorCodeEnum.InvalidPayload]: {\n code: A2AErrorCodeEnum.InvalidPayload,\n category: A2AErrorCategoryEnum.Envelope,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: false,\n description: 'The payload kind is unknown or malformed.',\n },\n\n // connector\n [A2AErrorCodeEnum.ConnectorNotFound]: {\n code: A2AErrorCodeEnum.ConnectorNotFound,\n category: A2AErrorCategoryEnum.Connector,\n severity: A2AErrorSeverityEnum.High,\n retryable: false,\n description: 'No connector is attached for the target agent.',\n },\n [A2AErrorCodeEnum.ConnectorTimeout]: {\n code: A2AErrorCodeEnum.ConnectorTimeout,\n category: A2AErrorCategoryEnum.Connector,\n severity: A2AErrorSeverityEnum.High,\n retryable: true,\n description: 'The connector timed out during task execution.',\n },\n [A2AErrorCodeEnum.ConnectorError]: {\n code: A2AErrorCodeEnum.ConnectorError,\n category: A2AErrorCategoryEnum.Connector,\n severity: A2AErrorSeverityEnum.High,\n retryable: true,\n description: 'The connector returned an unexpected error.',\n },\n [A2AErrorCodeEnum.ConnectorUnavailable]: {\n code: A2AErrorCodeEnum.ConnectorUnavailable,\n category: A2AErrorCategoryEnum.Connector,\n severity: A2AErrorSeverityEnum.High,\n retryable: true,\n description: 'The connector is temporarily unavailable.',\n },\n [A2AErrorCodeEnum.ProtocolMismatch]: {\n code: A2AErrorCodeEnum.ProtocolMismatch,\n category: A2AErrorCategoryEnum.Connector,\n severity: A2AErrorSeverityEnum.High,\n retryable: false,\n description: 'Protocol mismatch between connector and remote agent.',\n },\n\n // policy\n [A2AErrorCodeEnum.PolicyDenied]: {\n code: A2AErrorCodeEnum.PolicyDenied,\n category: A2AErrorCategoryEnum.Policy,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: false,\n description: 'The policy plane denied the requested action.',\n },\n [A2AErrorCodeEnum.PolicyHandlerMissing]: {\n code: A2AErrorCodeEnum.PolicyHandlerMissing,\n category: A2AErrorCategoryEnum.Policy,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: false,\n description: 'No prompt handler is configured for the policy rule.',\n },\n [A2AErrorCodeEnum.PolicyTimeout]: {\n code: A2AErrorCodeEnum.PolicyTimeout,\n category: A2AErrorCategoryEnum.Policy,\n severity: A2AErrorSeverityEnum.High,\n retryable: true,\n description: 'The policy evaluation timed out.',\n },\n\n // task\n [A2AErrorCodeEnum.TaskNotFound]: {\n code: A2AErrorCodeEnum.TaskNotFound,\n category: A2AErrorCategoryEnum.Task,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: false,\n description: 'The task was not found.',\n },\n [A2AErrorCodeEnum.InvalidStateTransition]: {\n code: A2AErrorCodeEnum.InvalidStateTransition,\n category: A2AErrorCategoryEnum.Task,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: false,\n description: 'An invalid state transition was attempted.',\n },\n [A2AErrorCodeEnum.TaskAlreadyTerminal]: {\n code: A2AErrorCodeEnum.TaskAlreadyTerminal,\n category: A2AErrorCategoryEnum.Task,\n severity: A2AErrorSeverityEnum.Low,\n retryable: false,\n description: 'The task has already reached a terminal state.',\n },\n [A2AErrorCodeEnum.TaskExecutionFailed]: {\n code: A2AErrorCodeEnum.TaskExecutionFailed,\n category: A2AErrorCategoryEnum.Task,\n severity: A2AErrorSeverityEnum.High,\n retryable: true,\n description: 'The task failed during execution.',\n },\n [A2AErrorCodeEnum.TaskCancelled]: {\n code: A2AErrorCodeEnum.TaskCancelled,\n category: A2AErrorCategoryEnum.Task,\n severity: A2AErrorSeverityEnum.Low,\n retryable: false,\n description: 'The task was cancelled.',\n },\n\n // registry\n [A2AErrorCodeEnum.AgentNotFound]: {\n code: A2AErrorCodeEnum.AgentNotFound,\n category: A2AErrorCategoryEnum.Registry,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: false,\n description: 'The agent was not found in the registry.',\n },\n [A2AErrorCodeEnum.AgentAlreadyRegistered]: {\n code: A2AErrorCodeEnum.AgentAlreadyRegistered,\n category: A2AErrorCategoryEnum.Registry,\n severity: A2AErrorSeverityEnum.Low,\n retryable: false,\n description: 'The agent is already registered.',\n },\n [A2AErrorCodeEnum.CapabilityNotFound]: {\n code: A2AErrorCodeEnum.CapabilityNotFound,\n category: A2AErrorCategoryEnum.Registry,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: false,\n description: 'The agent does not have the requested capability.',\n },\n\n // collaboration\n [A2AErrorCodeEnum.ChannelNotFound]: {\n code: A2AErrorCodeEnum.ChannelNotFound,\n category: A2AErrorCategoryEnum.Collaboration,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: false,\n description: 'The channel was not found.',\n },\n [A2AErrorCodeEnum.ThreadNotFound]: {\n code: A2AErrorCodeEnum.ThreadNotFound,\n category: A2AErrorCategoryEnum.Collaboration,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: false,\n description: 'The thread was not found.',\n },\n [A2AErrorCodeEnum.MessageNotFound]: {\n code: A2AErrorCodeEnum.MessageNotFound,\n category: A2AErrorCategoryEnum.Collaboration,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: false,\n description: 'The message was not found.',\n },\n [A2AErrorCodeEnum.NotChannelMember]: {\n code: A2AErrorCodeEnum.NotChannelMember,\n category: A2AErrorCategoryEnum.Collaboration,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: false,\n description: 'The sender is not a member of the target channel.',\n },\n\n // transport\n [A2AErrorCodeEnum.NetworkError]: {\n code: A2AErrorCodeEnum.NetworkError,\n category: A2AErrorCategoryEnum.Transport,\n severity: A2AErrorSeverityEnum.High,\n retryable: true,\n description: 'A network request failed.',\n },\n [A2AErrorCodeEnum.UnexpectedStatus]: {\n code: A2AErrorCodeEnum.UnexpectedStatus,\n category: A2AErrorCategoryEnum.Transport,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: true,\n description: 'The remote endpoint returned an unexpected status.',\n },\n [A2AErrorCodeEnum.SerializationError]: {\n code: A2AErrorCodeEnum.SerializationError,\n category: A2AErrorCategoryEnum.Transport,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: false,\n description: 'The request or response body could not be parsed.',\n },\n\n // auth\n [A2AErrorCodeEnum.AuthenticationFailed]: {\n code: A2AErrorCodeEnum.AuthenticationFailed,\n category: A2AErrorCategoryEnum.Auth,\n severity: A2AErrorSeverityEnum.High,\n retryable: false,\n description: 'Authentication failed (invalid or missing credentials).',\n },\n [A2AErrorCodeEnum.AuthorizationDenied]: {\n code: A2AErrorCodeEnum.AuthorizationDenied,\n category: A2AErrorCategoryEnum.Auth,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: false,\n description: 'The caller is not authorized for the requested operation.',\n },\n [A2AErrorCodeEnum.TokenExpired]: {\n code: A2AErrorCodeEnum.TokenExpired,\n category: A2AErrorCategoryEnum.Auth,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: true,\n description: 'The access token has expired.',\n },\n\n // rate limit\n [A2AErrorCodeEnum.RateLimitExceeded]: {\n code: A2AErrorCodeEnum.RateLimitExceeded,\n category: A2AErrorCategoryEnum.RateLimit,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: true,\n description: 'The caller has exceeded the rate limit.',\n },\n [A2AErrorCodeEnum.QuotaExceeded]: {\n code: A2AErrorCodeEnum.QuotaExceeded,\n category: A2AErrorCategoryEnum.RateLimit,\n severity: A2AErrorSeverityEnum.Medium,\n retryable: false,\n description: 'The caller has exceeded their usage quota.',\n },\n\n // internal\n [A2AErrorCodeEnum.InternalError]: {\n code: A2AErrorCodeEnum.InternalError,\n category: A2AErrorCategoryEnum.Internal,\n severity: A2AErrorSeverityEnum.Critical,\n retryable: false,\n description: 'An unexpected internal error occurred.',\n },\n [A2AErrorCodeEnum.ConfigurationError]: {\n code: A2AErrorCodeEnum.ConfigurationError,\n category: A2AErrorCategoryEnum.Internal,\n severity: A2AErrorSeverityEnum.High,\n retryable: false,\n description: 'A configuration error was detected.',\n },\n};\n\n// ---------------------------------------------------------------------------\n// Structured error type\n// ---------------------------------------------------------------------------\n\nexport interface A2AError {\n code: A2AErrorCode;\n category: A2AErrorCategory;\n message: string;\n severity: A2AErrorSeverity;\n retryable: boolean;\n details?: Record<string, unknown>;\n timestamp?: string;\n trace_id?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Factory helper\n// ---------------------------------------------------------------------------\n\nexport function buildA2AError(input: {\n code: A2AErrorCode;\n message: string;\n details?: Record<string, unknown>;\n trace_id?: string;\n severity?: A2AErrorSeverity;\n retryable?: boolean;\n now?: string;\n}): A2AError {\n const meta = A2A_ERROR_CODE_REGISTRY[input.code];\n return {\n code: input.code,\n category: meta.category,\n message: input.message,\n severity: input.severity ?? meta.severity,\n retryable: input.retryable ?? meta.retryable,\n details: input.details,\n timestamp: input.now ?? new Date().toISOString(),\n trace_id: input.trace_id,\n };\n}\n\nexport function getErrorCodeMeta(code: string): A2AErrorCodeMeta | undefined {\n return A2A_ERROR_CODE_REGISTRY[code as A2AErrorCode];\n}\n\nexport function isA2AErrorCode(code: string): code is A2AErrorCode {\n return code in A2A_ERROR_CODE_REGISTRY;\n}\n\n// ---------------------------------------------------------------------------\n// Error class\n// ---------------------------------------------------------------------------\n\nexport class A2AStructuredError extends Error {\n readonly a2aError: A2AError;\n\n constructor(a2aError: A2AError) {\n super(`[${a2aError.code}] ${a2aError.message}`);\n this.name = 'A2AStructuredError';\n this.a2aError = a2aError;\n Object.setPrototypeOf(this, A2AStructuredError.prototype);\n }\n\n get code(): A2AErrorCode {\n return this.a2aError.code;\n }\n\n get category(): A2AErrorCategory {\n return this.a2aError.category;\n }\n\n get severity(): A2AErrorSeverity {\n return this.a2aError.severity;\n }\n\n get retryable(): boolean {\n return this.a2aError.retryable;\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import {
|
|
2
|
+
A2AErrorCategoryEnum,
|
|
3
|
+
A2AErrorCodeEnum,
|
|
4
|
+
A2AErrorSeverityEnum,
|
|
5
|
+
A2AStructuredError,
|
|
6
|
+
A2A_ERROR_CODE_REGISTRY,
|
|
7
|
+
ALLOWED_STATE_TRANSITIONS,
|
|
8
|
+
AUDIT_EVENT_TYPES,
|
|
9
|
+
AUDIT_EVENT_VERSION,
|
|
10
|
+
AuditActorKindEnum,
|
|
11
|
+
AuditEventTypeEnum,
|
|
12
|
+
AuditSeverityEnum,
|
|
13
|
+
AuditTargetKindEnum,
|
|
14
|
+
TASK_ENVELOPE_VERSION,
|
|
15
|
+
TASK_STATES,
|
|
16
|
+
TERMINAL_TASK_STATES,
|
|
17
|
+
TaskStateEnum,
|
|
18
|
+
buildA2AError,
|
|
19
|
+
createAuditEvent,
|
|
20
|
+
createTaskEnvelope,
|
|
21
|
+
getErrorCodeMeta,
|
|
22
|
+
isA2AErrorCode,
|
|
23
|
+
isTerminalState,
|
|
24
|
+
isValidTransition,
|
|
25
|
+
transitionTaskEnvelope
|
|
26
|
+
} from "../chunk-KTGZQV57.mjs";
|
|
27
|
+
export {
|
|
28
|
+
A2AErrorCategoryEnum,
|
|
29
|
+
A2AErrorCodeEnum,
|
|
30
|
+
A2AErrorSeverityEnum,
|
|
31
|
+
A2AStructuredError,
|
|
32
|
+
A2A_ERROR_CODE_REGISTRY,
|
|
33
|
+
ALLOWED_STATE_TRANSITIONS,
|
|
34
|
+
AUDIT_EVENT_TYPES,
|
|
35
|
+
AUDIT_EVENT_VERSION,
|
|
36
|
+
AuditActorKindEnum,
|
|
37
|
+
AuditEventTypeEnum,
|
|
38
|
+
AuditSeverityEnum,
|
|
39
|
+
AuditTargetKindEnum,
|
|
40
|
+
TASK_ENVELOPE_VERSION,
|
|
41
|
+
TASK_STATES,
|
|
42
|
+
TERMINAL_TASK_STATES,
|
|
43
|
+
TaskStateEnum,
|
|
44
|
+
buildA2AError,
|
|
45
|
+
createAuditEvent,
|
|
46
|
+
createTaskEnvelope,
|
|
47
|
+
getErrorCodeMeta,
|
|
48
|
+
isA2AErrorCode,
|
|
49
|
+
isTerminalState,
|
|
50
|
+
isValidTransition,
|
|
51
|
+
transitionTaskEnvelope
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/state-mapping.d.mts
CHANGED
package/dist/state-mapping.d.ts
CHANGED
package/dist/state-mapping.js
CHANGED
|
@@ -34,7 +34,7 @@ __export(state_mapping_exports, {
|
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(state_mapping_exports);
|
|
36
36
|
|
|
37
|
-
//
|
|
37
|
+
// src/schemas/task-envelope.ts
|
|
38
38
|
var TaskStateEnum = {
|
|
39
39
|
/** Task has been created and is awaiting execution. */
|
|
40
40
|
Submitted: "submitted",
|
|
@@ -82,174 +82,103 @@ function isValidTransition(from, to) {
|
|
|
82
82
|
return (ALLOWED_STATE_TRANSITIONS[from] ?? []).includes(to);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
//
|
|
85
|
+
// src/schemas/audit-event.ts
|
|
86
86
|
var AuditEventTypeEnum = {
|
|
87
87
|
// -- task lifecycle ---------------------------------------------------------
|
|
88
|
-
/** A new task was submitted. */
|
|
89
88
|
TaskSubmitted: "task.submitted",
|
|
90
|
-
/** Task execution started. */
|
|
91
89
|
TaskStarted: "task.started",
|
|
92
|
-
/** Task made progress (intermediate update). */
|
|
93
90
|
TaskProgress: "task.progress",
|
|
94
|
-
/** Assignee agent needs additional input. */
|
|
95
91
|
TaskInputRequired: "task.input_required",
|
|
96
|
-
/** Task completed successfully. */
|
|
97
92
|
TaskCompleted: "task.completed",
|
|
98
|
-
/** Task failed with an error. */
|
|
99
93
|
TaskFailed: "task.failed",
|
|
100
|
-
/** Task was cancelled. */
|
|
101
94
|
TaskCancelled: "task.cancelled",
|
|
102
95
|
// -- policy decisions -------------------------------------------------------
|
|
103
|
-
/** A policy check was performed. */
|
|
104
96
|
PolicyChecked: "policy.checked",
|
|
105
|
-
/** A policy action was approved (auto or prompt). */
|
|
106
97
|
PolicyApproved: "policy.approved",
|
|
107
|
-
/** A policy action was denied. */
|
|
108
98
|
PolicyDenied: "policy.denied",
|
|
109
99
|
// -- connector events -------------------------------------------------------
|
|
110
|
-
/** A connector was attached to an agent. */
|
|
111
100
|
ConnectorAttached: "connector.attached",
|
|
112
|
-
/** A connector was detached from an agent. */
|
|
113
101
|
ConnectorDetached: "connector.detached",
|
|
114
|
-
/** A connector emitted a diagnostic or health event. */
|
|
115
102
|
ConnectorHealth: "connector.health",
|
|
116
|
-
/** A connector encountered an error. */
|
|
117
103
|
ConnectorError: "connector.error",
|
|
118
104
|
// -- agent registry ---------------------------------------------------------
|
|
119
|
-
/** An agent was registered. */
|
|
120
105
|
AgentRegistered: "agent.registered",
|
|
121
|
-
/** An agent was unregistered. */
|
|
122
106
|
AgentUnregistered: "agent.unregistered",
|
|
123
|
-
/** An agent's capabilities were updated. */
|
|
124
107
|
AgentUpdated: "agent.updated",
|
|
125
108
|
// -- collaboration ----------------------------------------------------------
|
|
126
|
-
/** A collaboration channel was created. */
|
|
127
109
|
ChannelCreated: "collaboration.channel_created",
|
|
128
|
-
/** A collaboration thread was created. */
|
|
129
110
|
ThreadCreated: "collaboration.thread_created",
|
|
130
|
-
/** A message was sent in a collaboration thread. */
|
|
131
111
|
MessageSent: "collaboration.message_sent",
|
|
132
112
|
// -- system -----------------------------------------------------------------
|
|
133
|
-
/** A system-level configuration change. */
|
|
134
113
|
SystemConfig: "system.config",
|
|
135
|
-
/** A system-level error or warning. */
|
|
136
114
|
SystemError: "system.error"
|
|
137
115
|
};
|
|
138
116
|
var AUDIT_EVENT_TYPES = Object.values(AuditEventTypeEnum);
|
|
139
117
|
|
|
140
|
-
//
|
|
118
|
+
// src/schemas/error-taxonomy.ts
|
|
141
119
|
var A2AErrorSeverityEnum = {
|
|
142
|
-
/** Low impact -- informational or gracefully handled. */
|
|
143
120
|
Low: "low",
|
|
144
|
-
/** Medium impact -- degraded functionality but system continues. */
|
|
145
121
|
Medium: "medium",
|
|
146
|
-
/** High impact -- a key operation failed and needs attention. */
|
|
147
122
|
High: "high",
|
|
148
|
-
/** Critical -- system stability at risk, immediate action required. */
|
|
149
123
|
Critical: "critical"
|
|
150
124
|
};
|
|
151
125
|
var A2AErrorCategoryEnum = {
|
|
152
|
-
/** Errors in the envelope or message format (validation, parsing). */
|
|
153
126
|
Envelope: "envelope",
|
|
154
|
-
/** Errors in the connector/adapter layer. */
|
|
155
127
|
Connector: "connector",
|
|
156
|
-
/** Errors in the policy/approval plane. */
|
|
157
128
|
Policy: "policy",
|
|
158
|
-
/** Errors in the task orchestration layer. */
|
|
159
129
|
Task: "task",
|
|
160
|
-
/** Errors in the agent registry. */
|
|
161
130
|
Registry: "registry",
|
|
162
|
-
/** Errors in the collaboration service. */
|
|
163
131
|
Collaboration: "collaboration",
|
|
164
|
-
/** Transport/network-level errors. */
|
|
165
132
|
Transport: "transport",
|
|
166
|
-
/** Authentication and authorization errors. */
|
|
167
133
|
Auth: "auth",
|
|
168
|
-
/** Rate-limiting and quota errors. */
|
|
169
134
|
RateLimit: "rate_limit",
|
|
170
|
-
/** Internal / unexpected errors. */
|
|
171
135
|
Internal: "internal"
|
|
172
136
|
};
|
|
173
137
|
var A2AErrorCodeEnum = {
|
|
174
138
|
// -- envelope ---------------------------------------------------------------
|
|
175
|
-
/** The envelope failed structural validation. */
|
|
176
139
|
InvalidEnvelope: "INVALID_ENVELOPE",
|
|
177
|
-
/** The envelope version is unsupported. */
|
|
178
140
|
UnsupportedEnvelopeVersion: "UNSUPPORTED_ENVELOPE_VERSION",
|
|
179
|
-
/** A required field is missing from the envelope. */
|
|
180
141
|
MissingEnvelopeField: "MISSING_ENVELOPE_FIELD",
|
|
181
|
-
/** The payload kind is unknown or malformed. */
|
|
182
142
|
InvalidPayload: "INVALID_PAYLOAD",
|
|
183
|
-
/** Compatibility alias used by older gateway/workspace routes. */
|
|
184
143
|
InvalidParams: "INVALID_ENVELOPE",
|
|
185
144
|
// -- connector --------------------------------------------------------------
|
|
186
|
-
/** No connector is attached for the target agent. */
|
|
187
145
|
ConnectorNotFound: "CONNECTOR_NOT_FOUND",
|
|
188
|
-
/** The connector timed out during task execution. */
|
|
189
146
|
ConnectorTimeout: "CONNECTOR_TIMEOUT",
|
|
190
|
-
/** The connector returned an unexpected error. */
|
|
191
147
|
ConnectorError: "CONNECTOR_ERROR",
|
|
192
|
-
/** The connector is temporarily unavailable. */
|
|
193
148
|
ConnectorUnavailable: "CONNECTOR_UNAVAILABLE",
|
|
194
|
-
/** Protocol mismatch between connector and remote agent. */
|
|
195
149
|
ProtocolMismatch: "PROTOCOL_MISMATCH",
|
|
196
150
|
// -- policy -----------------------------------------------------------------
|
|
197
|
-
/** The policy plane denied the requested action. */
|
|
198
151
|
PolicyDenied: "POLICY_DENIED",
|
|
199
|
-
/** No prompt handler is configured for the policy rule. */
|
|
200
152
|
PolicyHandlerMissing: "POLICY_HANDLER_MISSING",
|
|
201
|
-
/** The policy evaluation timed out. */
|
|
202
153
|
PolicyTimeout: "POLICY_TIMEOUT",
|
|
203
154
|
// -- task -------------------------------------------------------------------
|
|
204
|
-
/** The task was not found. */
|
|
205
155
|
TaskNotFound: "TASK_NOT_FOUND",
|
|
206
|
-
/** An invalid state transition was attempted. */
|
|
207
156
|
InvalidStateTransition: "INVALID_STATE_TRANSITION",
|
|
208
|
-
/** The task has already reached a terminal state. */
|
|
209
157
|
TaskAlreadyTerminal: "TASK_ALREADY_TERMINAL",
|
|
210
|
-
/** The task failed during execution. */
|
|
211
158
|
TaskExecutionFailed: "TASK_EXECUTION_FAILED",
|
|
212
|
-
/** The task was cancelled. */
|
|
213
159
|
TaskCancelled: "TASK_CANCELLED",
|
|
214
160
|
// -- registry ---------------------------------------------------------------
|
|
215
|
-
/** The agent was not found in the registry. */
|
|
216
161
|
AgentNotFound: "AGENT_NOT_FOUND",
|
|
217
|
-
/** The agent is already registered. */
|
|
218
162
|
AgentAlreadyRegistered: "AGENT_ALREADY_REGISTERED",
|
|
219
|
-
/** The agent does not have the requested capability. */
|
|
220
163
|
CapabilityNotFound: "CAPABILITY_NOT_FOUND",
|
|
221
164
|
// -- collaboration ----------------------------------------------------------
|
|
222
|
-
/** The channel was not found. */
|
|
223
165
|
ChannelNotFound: "CHANNEL_NOT_FOUND",
|
|
224
|
-
/** The thread was not found. */
|
|
225
166
|
ThreadNotFound: "THREAD_NOT_FOUND",
|
|
226
|
-
/** The message was not found. */
|
|
227
167
|
MessageNotFound: "MESSAGE_NOT_FOUND",
|
|
228
|
-
/** The sender is not a member of the target channel. */
|
|
229
168
|
NotChannelMember: "NOT_CHANNEL_MEMBER",
|
|
230
169
|
// -- transport --------------------------------------------------------------
|
|
231
|
-
/** A network request failed. */
|
|
232
170
|
NetworkError: "NETWORK_ERROR",
|
|
233
|
-
/** The remote endpoint returned an unexpected status. */
|
|
234
171
|
UnexpectedStatus: "UNEXPECTED_STATUS",
|
|
235
|
-
/** The request or response body could not be parsed. */
|
|
236
172
|
SerializationError: "SERIALIZATION_ERROR",
|
|
237
173
|
// -- auth -------------------------------------------------------------------
|
|
238
|
-
/** Authentication failed (invalid or missing credentials). */
|
|
239
174
|
AuthenticationFailed: "AUTHENTICATION_FAILED",
|
|
240
|
-
/** The caller is not authorized for the requested operation. */
|
|
241
175
|
AuthorizationDenied: "AUTHORIZATION_DENIED",
|
|
242
|
-
/** The access token has expired. */
|
|
243
176
|
TokenExpired: "TOKEN_EXPIRED",
|
|
244
177
|
// -- rate limit -------------------------------------------------------------
|
|
245
|
-
/** The caller has exceeded the rate limit. */
|
|
246
178
|
RateLimitExceeded: "RATE_LIMIT_EXCEEDED",
|
|
247
|
-
/** The caller has exceeded their usage quota. */
|
|
248
179
|
QuotaExceeded: "QUOTA_EXCEEDED",
|
|
249
180
|
// -- internal ---------------------------------------------------------------
|
|
250
|
-
/** An unexpected internal error occurred. */
|
|
251
181
|
InternalError: "INTERNAL_ERROR",
|
|
252
|
-
/** A configuration error was detected. */
|
|
253
182
|
ConfigurationError: "CONFIGURATION_ERROR"
|
|
254
183
|
};
|
|
255
184
|
var A2A_ERROR_CODE_REGISTRY = {
|