Skip to content

Latest commit

 

History

History
328 lines (293 loc) · 7.78 KB

File metadata and controls

328 lines (293 loc) · 7.78 KB
title Error Code Ledger
description Error Code Ledger protocol schemas

{/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */}

Error-Code Ledger (ADR-0112 D3).

The top-level error.code vocabulary is two-tier:

  1. Standard catalogStandardErrorCode (errors.zod.ts): a small,

closed set with platform-wide HTTP semantics. It does NOT grow when a

service invents a code.

  1. Registered extension codes — THIS ledger: every service-specific code

a route may put in error.code, registered under its owning package.

ErrorCode (exported below) is the union, and is what ApiErrorSchema.code

validates against. An unregistered code fails schema parse — which fails the

envelope conformance suites — which fails CI. That friction is the point

(ADR-0112: "no silent fourth state" for error codes, per ADR-0049/0078).

Registering a new code

Add it to your package's entry (create the entry if your package has none),

SCREAMING_SNAKE (^[A-Z][A-Z0-9_]*$ — lint-enforced by

error-code-ledger.test.ts), with a trailing // comment when the name

alone doesn't carry the meaning. Prefer a domain prefix for anything not

self-evidently global (ATTACHMENT_*, REPORT_*, SETTINGS_*). If the

condition is generic (not found / permission / validation / rate limit),

use the standard catalog instead of registering a synonym.

A code emitted by several packages is listed once per emitting package —

the union dedupes; the per-package rows are provenance, not identity.

Field-level codes (FieldErrorSchema.code, the fields[] array) are a

SEPARATE vocabulary and do not belong here — see #3977 (ADR-0112 D6).

**Source:** `packages/spec/src/api/error-code-ledger.zod.ts`

TypeScript Usage

import { ErrorCode } from '@objectstack/spec/api';
import type { ErrorCode } from '@objectstack/spec/api';

// Validate data
const result = ErrorCode.parse(data);

ErrorCode

Allowed Values

  • VALIDATION_ERROR
  • INVALID_FIELD
  • MISSING_REQUIRED_FIELD
  • INVALID_FORMAT
  • VALUE_TOO_LONG
  • VALUE_TOO_SHORT
  • VALUE_OUT_OF_RANGE
  • INVALID_REFERENCE
  • DUPLICATE_VALUE
  • INVALID_QUERY
  • INVALID_FILTER
  • INVALID_SORT
  • MAX_RECORDS_EXCEEDED
  • UNAUTHENTICATED
  • INVALID_CREDENTIALS
  • EXPIRED_TOKEN
  • INVALID_TOKEN
  • SESSION_EXPIRED
  • MFA_REQUIRED
  • EMAIL_NOT_VERIFIED
  • PERMISSION_DENIED
  • INSUFFICIENT_PRIVILEGES
  • FIELD_NOT_ACCESSIBLE
  • RECORD_NOT_ACCESSIBLE
  • LICENSE_REQUIRED
  • IP_RESTRICTED
  • TIME_RESTRICTED
  • RESOURCE_NOT_FOUND
  • OBJECT_NOT_FOUND
  • RECORD_NOT_FOUND
  • FIELD_NOT_FOUND
  • ENDPOINT_NOT_FOUND
  • RESOURCE_CONFLICT
  • CONCURRENT_MODIFICATION
  • DELETE_RESTRICTED
  • DUPLICATE_RECORD
  • LOCK_CONFLICT
  • METHOD_NOT_ALLOWED
  • PRECONDITION_REQUIRED
  • RATE_LIMIT_EXCEEDED
  • QUOTA_EXCEEDED
  • CONCURRENT_LIMIT_EXCEEDED
  • INTERNAL_ERROR
  • DATABASE_ERROR
  • TIMEOUT
  • SERVICE_UNAVAILABLE
  • NOT_IMPLEMENTED
  • EXTERNAL_SERVICE_ERROR
  • INTEGRATION_ERROR
  • WEBHOOK_DELIVERY_FAILED
  • BATCH_PARTIAL_FAILURE
  • BATCH_COMPLETE_FAILURE
  • TRANSACTION_FAILED
  • ACCOUNT_LOCKED
  • ALREADY_REVERTED
  • AMBIGUOUS_MATCH
  • ANALYTICS_QUERY_FAILED
  • APPROVAL_ACTIONS_FAILED
  • APPROVAL_RECALL_FAILED
  • APPROVAL_REQUEST_GET_FAILED
  • APPROVAL_REQUEST_LIST_FAILED
  • ASYNC_NOT_SUPPORTED
  • ATTACHMENT_DELETE_DENIED
  • ATTACHMENT_DOWNLOAD_DENIED
  • ATTACHMENT_PARENT_ACCESS
  • AUDIENCE_NOT_ALLOWED
  • AUTH_CONFIG_ERROR
  • AUTH_REQUIRED
  • AUTOMATION_UNSCOPED_RUN_DATA_ACCESS
  • BATCH_ABORTED
  • BATCH_NOT_ATOMIC
  • BATCH_TOO_LARGE
  • BATCH_UNRESOLVED_REF
  • BLANK_MATCH_KEY
  • CLONE_DISABLED
  • CLOUD_FETCH_FAILED
  • CLOUD_UNCONFIGURED
  • COMMIT_NOT_FOUND
  • CONCURRENT_UPDATE
  • CONFLICTING_MAPPING
  • CONNECTOR_UPSTREAM_UNAVAILABLE
  • CREATE_FAILED
  • CUBE_NOT_FOUND
  • DATASET_INVALID
  • DATASOURCE_ADMIN_ERROR
  • DELEGABLE_SCOPE_FAILED
  • DELIVERY_NOT_ELIGIBLE
  • DESTRUCTIVE_CHANGE
  • DEVICE_CODE_FAILED
  • DOMAIN_VERIFICATION_DISABLED
  • DOMAIN_VERIFICATION_FAILED
  • DRIVER_UNAVAILABLE
  • DUPLICATE_REQUEST
  • EMAIL_SEND_FAILED
  • EMAIL_SERVICE_REQUIRED
  • ENQUEUE_FAILED
  • ENVIRONMENT_BIND_FAILED
  • ENVIRONMENT_NOT_FOUND
  • ENV_ACCESS_DENIED
  • ERR_BULK_RESULT_MISMATCH
  • ERR_DATASOURCE_UNAVAILABLE
  • ERR_DRIVER_CONNECT
  • ERR_FILE_CONSTRAINT
  • ERR_FILE_REFERENCE_COPY
  • ERR_SUMMARY_RECOMPUTE
  • EXECUTION_ERROR
  • EXPIRED_OR_REVOKED
  • EXPIRY_IN_PAST
  • EXPIRY_TOO_LONG
  • EXPLAIN_FAILED
  • EXPORT_NOT_PERMITTED
  • EXTERNAL_IMPORT_ERROR
  • EXTERNAL_SCHEMA_MISMATCH
  • EXTERNAL_SCHEMA_MODE_VIOLATION
  • EXTERNAL_WRITE_FORBIDDEN
  • FEEDS_DISABLED
  • FILES_DISABLED
  • FILE_DOWNLOAD_DENIED
  • FILE_NOT_FOUND
  • FILTER_TOKEN_UNKNOWN
  • FILTER_TOKEN_UNRESOLVED
  • FORBIDDEN
  • FORM_NOT_FOUND
  • FORM_RESOLVE_FAILED
  • IMPORT_JOB_CREATE_FAILED
  • IMPORT_ROW_FAILED
  • INTERNAL
  • INVALID_EMAIL
  • INVALID_EXPIRY
  • INVALID_METADATA
  • INVALID_OR_EXPIRED
  • INVALID_PHONE
  • INVALID_REQUEST
  • INVALID_RESUME_TOKEN
  • INVALID_SIGNAL
  • INVALID_SIGNATURE
  • INVALID_STATE
  • INVITE_EMAIL_FAILED
  • INVITE_REQUIRES_EMAIL
  • INVITE_SMS_FAILED
  • IP_NOT_ALLOWED
  • ITEM_LOCKED
  • LAST_LOCAL_CREDENTIAL
  • LOOKUP_NOT_PUBLIC
  • LOOKUP_TARGET_MISSING
  • MANIFEST_CONFLICT
  • MAPPING_FORMAT_MISMATCH
  • MAPPING_FORMAT_UNSUPPORTED
  • MAPPING_NOT_FOUND
  • MAPPING_TARGET_MISMATCH
  • MARKETPLACE_PROXY_FAILED
  • MARKETPLACE_STORAGE_FAILED
  • MARKETPLACE_UNAVAILABLE
  • METADATA_BRANCH
  • METADATA_CONFLICT
  • METADATA_NOT_FOUND
  • METADATA_SCHEMA_INVALID
  • MONGODB_MULTI_TENANT_UNSUPPORTED
  • NAMESPACE_PREFIX
  • NEEDS_PASSWORD
  • NODE_FAILURE
  • NOTHING_TO_PURGE
  • NOT_CREATABLE
  • NOT_FOUND
  • NOT_OVERRIDABLE
  • NOT_UNDOABLE
  • NO_DRAFT
  • NO_EXECUTOR
  • NO_IDENTITY
  • NO_MATCH
  • NO_PENDING_VERIFICATION
  • OAUTH_REGISTER_FAILED
  • OBJECT_API_DISABLED
  • OBJECT_API_METHOD_NOT_ALLOWED
  • OPENAPI_UNAVAILABLE
  • OS_PROTOCOL_INCOMPATIBLE
  • OVERLAY_PERSISTENCE_FAILED
  • PACKAGE_DELETE_FAILED
  • PACKAGE_DELETE_PARTIAL
  • PACKAGE_MANIFEST_INVALID
  • PACKAGE_PUBLISH_FAILED
  • PASSWORD_ALREADY_SET
  • PASSWORD_EXPIRED
  • PASSWORD_POLICY_VIOLATION
  • PASSWORD_REUSE
  • PAYLOAD_TOO_LARGE
  • PERMISSION_NOT_ALLOWED
  • PHONE_NOT_ENABLED
  • PLUGIN_INSTALL_FAILED
  • PLUGIN_MANIFEST_INVALID
  • PLUGIN_REGISTER_FAILED
  • PROJECT_MEMBERSHIP_REQUIRED
  • PROJECT_NOT_FOUND
  • PROJECT_PROVISIONING
  • PROJECT_PROVISIONING_FAILED
  • RAW_SQL_UNSUPPORTED
  • RECORD_GONE
  • RECORD_LOCKED
  • REPORTS_LIST_FAILED
  • REPORT_DELETE_FAILED
  • REPORT_GET_FAILED
  • REPORT_NOT_FOUND
  • REPORT_RUN_FAILED
  • REPORT_SAVE_FAILED
  • REPORT_SCHEDULE_FAILED
  • REQUEST_NOT_FOUND
  • RESEED_NO_ROWS
  • RESEED_SKIPPED
  • ROUTE_NOT_FOUND
  • RULE_DEFINE_FAILED
  • RULE_DELETE_FAILED
  • RULE_EVALUATE_FAILED
  • RULE_GET_FAILED
  • RULE_LIST_FAILED
  • RULE_NOT_FOUND
  • SAML_REGISTER_FAILED
  • SCHEDULES_LIST_FAILED
  • SCHEDULE_DELETE_FAILED
  • SETTINGS_ACTION_FAILED
  • SETTINGS_FORBIDDEN
  • SETTINGS_LOCKED
  • SETTINGS_UNKNOWN_KEY
  • SETTINGS_UNKNOWN_NAMESPACE
  • SETTINGS_VALIDATION
  • SHARES_LIST_FAILED
  • SHARE_GRANT_FAILED
  • SHARE_REVOKE_FAILED
  • SHARING_NOT_ENABLED
  • SIGN_IN_REQUIRED
  • SSO_REGISTER_FAILED
  • SSO_REGISTER_FORBIDDEN
  • SUGGESTION_CONFIRM_FAILED
  • SUGGESTION_DISMISS_FAILED
  • SUGGESTION_LIST_FAILED
  • SUGGESTION_NOT_FOUND
  • SUGGESTION_STATE
  • SUMMARY_RECOMPUTE_FAILED
  • UNAUTHORIZED
  • UNIQUE_VIOLATION
  • UNKNOWN_KEY
  • UNKNOWN_NAMESPACE
  • UNSUPPORTED
  • UNSUPPORTED_QUERY_PARAM
  • UNSUPPORTED_TRANSFORM
  • UPLOAD_SESSION_NOT_FOUND
  • USER_ALREADY_EXISTS
  • VALIDATION_FAILED
  • VERSION_NOT_FOUND
  • VERSION_NOT_RESTORABLE
  • WRITABLE_PACKAGE_REQUIRED
  • WRONG_PASSWORD