@fairmint/canton-node-sdk
Version:
Canton Node SDK
228 lines • 9.05 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.WsCantonErrorSchema = exports.JsErrorSchema = exports.JsCantonErrorSchema = exports.JsErrorCodeSchema = exports.JsErrorCodeKindSchema = exports.ServiceUnavailableErrorSchema = exports.InternalServerErrorSchema = exports.TooManyRequestsErrorSchema = exports.UnprocessableEntityErrorSchema = exports.ConflictErrorSchema = exports.NotFoundErrorSchema = exports.ForbiddenErrorSchema = exports.UnauthorizedErrorSchema = exports.BadRequestErrorSchema = exports.ErrorResponseSchema = void 0;
const zod_1 = require("zod");
exports.ErrorResponseSchema = zod_1.z.object({
/** Error message describing the problem. */
error: zod_1.z.string(),
/** Additional details about the error. */
details: zod_1.z.unknown(),
});
exports.BadRequestErrorSchema = exports.ErrorResponseSchema.extend({
/** Details for a 400 Bad Request error. */
details: zod_1.z
.object({
/** Optional error name. */
name: zod_1.z.string().optional(),
/** Error message. */
message: zod_1.z.string(),
/** HTTP status code (400). */
status: zod_1.z.literal(400).optional(),
/** Optional error code. */
code: zod_1.z.string().optional(),
/** Optional raw response. */
response: zod_1.z.unknown().optional(),
})
.optional(),
});
exports.UnauthorizedErrorSchema = exports.ErrorResponseSchema.extend({
/** Details for a 401 Unauthorized error. */
details: zod_1.z
.object({
/** Optional error name. */
name: zod_1.z.string().optional(),
/** Error message. */
message: zod_1.z.string(),
/** HTTP status code (401). */
status: zod_1.z.literal(401).optional(),
/** Optional error code. */
code: zod_1.z.string().optional(),
/** Optional raw response. */
response: zod_1.z.unknown().optional(),
})
.optional(),
});
exports.ForbiddenErrorSchema = exports.ErrorResponseSchema.extend({
/** Details for a 403 Forbidden error. */
details: zod_1.z
.object({
/** Optional error name. */
name: zod_1.z.string().optional(),
/** Error message. */
message: zod_1.z.string(),
/** HTTP status code (403). */
status: zod_1.z.literal(403).optional(),
/** Optional error code. */
code: zod_1.z.string().optional(),
/** Optional raw response. */
response: zod_1.z.unknown().optional(),
})
.optional(),
});
exports.NotFoundErrorSchema = exports.ErrorResponseSchema.extend({
/** Details for a 404 Not Found error. */
details: zod_1.z
.object({
/** Optional error name. */
name: zod_1.z.string().optional(),
/** Error message. */
message: zod_1.z.string(),
/** HTTP status code (404). */
status: zod_1.z.literal(404).optional(),
/** Optional error code. */
code: zod_1.z.string().optional(),
/** Optional raw response. */
response: zod_1.z.unknown().optional(),
})
.optional(),
});
exports.ConflictErrorSchema = exports.ErrorResponseSchema.extend({
/** Details for a 409 Conflict error. */
details: zod_1.z
.object({
/** Optional error name. */
name: zod_1.z.string().optional(),
/** Error message. */
message: zod_1.z.string(),
/** HTTP status code (409). */
status: zod_1.z.literal(409).optional(),
/** Optional error code. */
code: zod_1.z.string().optional(),
/** Optional raw response. */
response: zod_1.z.unknown().optional(),
})
.optional(),
});
exports.UnprocessableEntityErrorSchema = exports.ErrorResponseSchema.extend({
/** Details for a 422 Unprocessable Entity error. */
details: zod_1.z
.object({
/** Optional error name. */
name: zod_1.z.string().optional(),
/** Error message. */
message: zod_1.z.string(),
/** HTTP status code (422). */
status: zod_1.z.literal(422).optional(),
/** Optional error code. */
code: zod_1.z.string().optional(),
/** Optional raw response. */
response: zod_1.z.unknown().optional(),
})
.optional(),
});
exports.TooManyRequestsErrorSchema = exports.ErrorResponseSchema.extend({
/** Details for a 429 Too Many Requests error. */
details: zod_1.z
.object({
/** Optional error name. */
name: zod_1.z.string().optional(),
/** Error message. */
message: zod_1.z.string(),
/** HTTP status code (429). */
status: zod_1.z.literal(429).optional(),
/** Optional error code. */
code: zod_1.z.string().optional(),
/** Optional raw response. */
response: zod_1.z.unknown().optional(),
})
.optional(),
});
exports.InternalServerErrorSchema = exports.ErrorResponseSchema.extend({
/** Details for a 500 Internal Server Error. */
details: zod_1.z
.object({
/** Optional error name. */
name: zod_1.z.string().optional(),
/** Error message. */
message: zod_1.z.string(),
/** HTTP status code (500). */
status: zod_1.z.literal(500).optional(),
/** Optional error code. */
code: zod_1.z.string().optional(),
/** Optional raw response. */
response: zod_1.z.unknown().optional(),
})
.optional(),
});
exports.ServiceUnavailableErrorSchema = exports.ErrorResponseSchema.extend({
/** Details for a 503 Service Unavailable error. */
details: zod_1.z
.object({
/** Optional error name. */
name: zod_1.z.string().optional(),
/** Error message. */
message: zod_1.z.string(),
/** HTTP status code (503). */
status: zod_1.z.literal(503).optional(),
/** Optional error code. */
code: zod_1.z.string().optional(),
/** Optional raw response. */
response: zod_1.z.unknown().optional(),
})
.optional(),
});
/** Error code kind (oneOf all error code types). */
exports.JsErrorCodeKindSchema = zod_1.z.union([
zod_1.z.object({ JsAborted: zod_1.z.object({}) }),
zod_1.z.object({ JsContractNotFound: zod_1.z.object({}) }),
zod_1.z.object({ JsDisconnected: zod_1.z.object({}) }),
zod_1.z.object({ JsDuplicateCommand: zod_1.z.object({}) }),
zod_1.z.object({ JsInconsistent: zod_1.z.object({}) }),
zod_1.z.object({ JsInvalidArgument: zod_1.z.object({}) }),
zod_1.z.object({ JsInvalidLedgerTime: zod_1.z.object({}) }),
zod_1.z.object({ JsOutOfQuota: zod_1.z.object({}) }),
zod_1.z.object({ JsPartyNotKnownOnLedger: zod_1.z.object({}) }),
zod_1.z.object({ JsResourceExhausted: zod_1.z.object({}) }),
zod_1.z.object({ JsSubmitterCannotActViaParticipant: zod_1.z.object({}) }),
zod_1.z.object({ JsTemplateNotFound: zod_1.z.object({}) }),
zod_1.z.object({ JsTimedOut: zod_1.z.object({}) }),
zod_1.z.object({ JsTransactionNotFound: zod_1.z.object({}) }),
zod_1.z.object({ JsUnauthenticated: zod_1.z.object({}) }),
zod_1.z.object({ JsUnknown: zod_1.z.object({}) }),
zod_1.z.object({ JsUnsupported: zod_1.z.object({}) }),
zod_1.z.object({ JsUserManagement: zod_1.z.object({}) }),
zod_1.z.object({ JsValueNotFound: zod_1.z.object({}) }),
]);
/** Error code details. */
exports.JsErrorCodeSchema = zod_1.z.object({
/** The kind of error code. */
kind: exports.JsErrorCodeKindSchema,
});
/** Canton error details. */
exports.JsCantonErrorSchema = zod_1.z.object({
/** Error code. */
code: exports.JsErrorCodeSchema,
/** Error message. */
message: zod_1.z.string(),
/** Error details (optional). */
details: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
});
/** Generic error details. */
exports.JsErrorSchema = zod_1.z.object({
/** Error code. */
code: exports.JsErrorCodeSchema,
/** Error message. */
message: zod_1.z.string(),
/** Error details (optional). */
details: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
});
/**
* WebSocket Canton error details (per AsyncAPI schema for WS endpoints). Note: WS errors differ from REST errors and
* include fields like `cause` and string `code`.
*/
exports.WsCantonErrorSchema = zod_1.z.object({
code: zod_1.z.string(),
cause: zod_1.z.string(),
correlationId: zod_1.z.string().nullable().optional(),
traceId: zod_1.z.string().nullable().optional(),
context: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).nullable().optional(),
resources: zod_1.z
.array(zod_1.z.tuple([zod_1.z.string(), zod_1.z.string()]))
.nullable()
.optional(),
errorCategory: zod_1.z.number().int(),
grpcCodeValue: zod_1.z.number().int().nullable().optional(),
retryInfo: zod_1.z.string().nullable().optional(),
definiteAnswer: zod_1.z.boolean().nullable().optional(),
});
//# sourceMappingURL=errors.js.map