@stndrds/schema 1.0.0-alpha.329 → 1.0.0-alpha.331
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/all-CWDgBPuS.d.ts +1186 -0
- package/dist/all-DilIWUev.d.mts +1186 -0
- package/dist/capabilities.d.mts +94 -94
- package/dist/capabilities.d.ts +94 -94
- package/dist/capabilities.js +2 -2
- package/dist/capabilities.mjs +2 -2
- package/dist/checkbox-CjnTd8DE.d.ts +11 -0
- package/dist/checkbox-preO352q.d.mts +11 -0
- package/dist/config-BQJJHopR.js +13 -0
- package/dist/config-_sOeudpS.mjs +13 -0
- package/dist/core-397tQy5q.js +2 -0
- package/dist/core-BLHhNykL.mjs +2 -0
- package/dist/date-BL3UHIXs.d.mts +24 -0
- package/dist/date-CxwHkbid.d.ts +24 -0
- package/dist/exceptions-DGCzCc9t.d.mts +1405 -0
- package/dist/exceptions-DGCzCc9t.d.ts +1405 -0
- package/dist/exceptions.d.mts +3 -2
- package/dist/exceptions.d.ts +3 -2
- package/dist/exceptions.js +3 -1
- package/dist/exceptions.mjs +3 -1
- package/dist/index-B7HmBsUS.d.ts +53 -0
- package/dist/{helpers-qMMFwD1I.d.ts → index-BoUwfrDH.d.mts} +172 -145
- package/dist/index-C8M7Amy9.d.mts +254 -0
- package/dist/{helpers-lqSDjgQ1.d.mts → index-DqwNrDSp.d.ts} +172 -145
- package/dist/index-Uwy7CTKo.d.ts +254 -0
- package/dist/index-XtmC-C7J.d.mts +53 -0
- package/dist/index.d.mts +9151 -9136
- package/dist/index.d.ts +9151 -9136
- package/dist/index.js +21 -27
- package/dist/index.mjs +21 -27
- package/dist/number-Ddi_YYfm.d.mts +11 -0
- package/dist/number-GmD5PM5s.d.ts +11 -0
- package/dist/object-DGu0m2Y1.js +4 -0
- package/dist/object-DSRy1coV.mjs +4 -0
- package/dist/phone-BawtTYVi.mjs +2 -0
- package/dist/phone-DVaELsa3.js +2 -0
- package/dist/text-A9AJ1wUO.js +2 -0
- package/dist/text-C8Lb-NFo.mjs +2 -0
- package/dist/text-CxwF5K4k.d.mts +11 -0
- package/dist/text-D6UypN8p.d.ts +11 -0
- package/dist/utils-fXIvFFl6.mjs +2 -0
- package/dist/utils-gY3d9Dwp.js +2 -0
- package/dist/utils.d.mts +3 -2
- package/dist/utils.d.ts +3 -2
- package/dist/utils.js +2 -1
- package/dist/utils.mjs +2 -1
- package/dist/validation/all.d.mts +6 -8
- package/dist/validation/all.d.ts +6 -8
- package/dist/validation/all.js +2 -1
- package/dist/validation/all.mjs +2 -1
- package/dist/validation/complex/currency.d.mts +8 -9
- package/dist/validation/complex/currency.d.ts +8 -9
- package/dist/validation/complex/currency.js +2 -1
- package/dist/validation/complex/currency.mjs +2 -1
- package/dist/validation/complex/location.d.mts +14 -15
- package/dist/validation/complex/location.d.ts +14 -15
- package/dist/validation/complex/location.js +2 -1
- package/dist/validation/complex/location.mjs +2 -1
- package/dist/validation/complex/phone.d.mts +8 -9
- package/dist/validation/complex/phone.d.ts +8 -9
- package/dist/validation/complex/phone.js +2 -1
- package/dist/validation/complex/phone.mjs +2 -1
- package/dist/validation/complex/relation.d.mts +8 -9
- package/dist/validation/complex/relation.d.ts +8 -9
- package/dist/validation/complex/relation.js +2 -1
- package/dist/validation/complex/relation.mjs +2 -1
- package/dist/validation/complex/richtext.d.mts +6 -7
- package/dist/validation/complex/richtext.d.ts +6 -7
- package/dist/validation/complex/richtext.js +2 -1
- package/dist/validation/complex/richtext.mjs +2 -1
- package/dist/validation/complex/select.d.mts +8 -9
- package/dist/validation/complex/select.d.ts +8 -9
- package/dist/validation/complex/select.js +2 -1
- package/dist/validation/complex/select.mjs +2 -1
- package/dist/validation/complex/user.d.mts +6 -7
- package/dist/validation/complex/user.d.ts +6 -7
- package/dist/validation/complex/user.js +2 -1
- package/dist/validation/complex/user.mjs +2 -1
- package/dist/validation/computed/formula.d.mts +6 -7
- package/dist/validation/computed/formula.d.ts +6 -7
- package/dist/validation/computed/formula.js +2 -1
- package/dist/validation/computed/formula.mjs +2 -1
- package/dist/validation/computed/rollup.d.mts +6 -7
- package/dist/validation/computed/rollup.d.ts +6 -7
- package/dist/validation/computed/rollup.js +2 -1
- package/dist/validation/computed/rollup.mjs +2 -1
- package/dist/validation/config/index.d.mts +3 -4
- package/dist/validation/config/index.d.ts +3 -4
- package/dist/validation/config/index.js +2 -1
- package/dist/validation/config/index.mjs +2 -1
- package/dist/validation/core/index.d.mts +2 -17
- package/dist/validation/core/index.d.ts +2 -17
- package/dist/validation/core/index.js +2 -1
- package/dist/validation/core/index.mjs +2 -1
- package/dist/validation/object/index.d.mts +2 -29
- package/dist/validation/object/index.d.ts +2 -29
- package/dist/validation/object/index.js +2 -1
- package/dist/validation/object/index.mjs +2 -1
- package/dist/validation/primitives/checkbox.d.mts +2 -10
- package/dist/validation/primitives/checkbox.d.ts +2 -10
- package/dist/validation/primitives/checkbox.js +2 -1
- package/dist/validation/primitives/checkbox.mjs +2 -1
- package/dist/validation/primitives/date.d.mts +2 -23
- package/dist/validation/primitives/date.d.ts +2 -23
- package/dist/validation/primitives/date.js +2 -1
- package/dist/validation/primitives/date.mjs +2 -1
- package/dist/validation/primitives/number.d.mts +2 -10
- package/dist/validation/primitives/number.d.ts +2 -10
- package/dist/validation/primitives/number.js +2 -1
- package/dist/validation/primitives/number.mjs +2 -1
- package/dist/validation/primitives/text.d.mts +2 -10
- package/dist/validation/primitives/text.d.ts +2 -10
- package/dist/validation/primitives/text.js +2 -1
- package/dist/validation/primitives/text.mjs +2 -1
- package/dist/view-config.schema-B4AkqLKQ.mjs +2 -0
- package/dist/view-config.schema-to6p1m8L.js +2 -0
- package/package.json +7 -6
- package/dist/all-BgP-bB0i.d.mts +0 -1178
- package/dist/all-Cq8ZMfM4.d.ts +0 -1178
- package/dist/attributes-Cv6IP8-a.d.mts +0 -1365
- package/dist/attributes-Cv6IP8-a.d.ts +0 -1365
- package/dist/chunk-23KPS33D.js +0 -2
- package/dist/chunk-2M4YXNYZ.js +0 -15
- package/dist/chunk-47KVYDKG.js +0 -2
- package/dist/chunk-4OTKOCGB.mjs +0 -2
- package/dist/chunk-4VCADZK4.mjs +0 -2
- package/dist/chunk-53RAH3XB.mjs +0 -2
- package/dist/chunk-DPD6ZWL2.js +0 -2
- package/dist/chunk-EZCWO4XV.mjs +0 -15
- package/dist/chunk-GKXTXH4Y.mjs +0 -2
- package/dist/chunk-GXSNLYRR.js +0 -2
- package/dist/chunk-IBM4ID4Y.js +0 -6
- package/dist/chunk-JFSQ24XR.js +0 -2
- package/dist/chunk-JOS2XMXY.js +0 -2
- package/dist/chunk-JSKLP4GI.js +0 -12
- package/dist/chunk-JVLH3DVZ.js +0 -2
- package/dist/chunk-KG2ADZG6.mjs +0 -2
- package/dist/chunk-KLR22JMC.js +0 -2
- package/dist/chunk-KSPJP74K.mjs +0 -2
- package/dist/chunk-KYPEBOPW.mjs +0 -2
- package/dist/chunk-LB4TNMZU.mjs +0 -2
- package/dist/chunk-LSCBR4VS.js +0 -2
- package/dist/chunk-LWSOKXPF.js +0 -2
- package/dist/chunk-O34B5KOW.mjs +0 -2
- package/dist/chunk-PFO7NWQW.mjs +0 -2
- package/dist/chunk-Q7TQCRSD.mjs +0 -2
- package/dist/chunk-RTHLB6T6.js +0 -2
- package/dist/chunk-SLYRQ72J.js +0 -2
- package/dist/chunk-UKFOBZX2.js +0 -2
- package/dist/chunk-UXISKZ5Y.js +0 -2
- package/dist/chunk-VKFLXFPP.mjs +0 -2
- package/dist/chunk-WMQRTFOP.mjs +0 -2
- package/dist/chunk-XAVRKIBE.mjs +0 -6
- package/dist/chunk-XHEBV2HE.js +0 -2
- package/dist/chunk-XMQV2WFY.mjs +0 -2
- package/dist/chunk-XRDP2Y4J.mjs +0 -2
- package/dist/chunk-XRWRECDA.mjs +0 -12
- package/dist/chunk-XUAP7KWK.js +0 -2
- package/dist/chunk-XXTKNIBK.js +0 -2
- package/dist/chunk-YIXNAWH6.mjs +0 -2
- package/dist/chunk-YJSVWV3Z.mjs +0 -2
- package/dist/index-Comy7znP.d.ts +0 -252
- package/dist/index-D4XlMkLV.d.mts +0 -252
- package/dist/types-C5Bqalr9.d.ts +0 -38
- package/dist/types-CILLmEj-.d.mts +0 -38
package/dist/exceptions.d.mts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
1
|
+
|
|
2
|
+
import { A as StorageError, B as isObjectReferencedError, C as RepositoryOperation, D as SchemaErrorCode, E as SchemaError, F as SystemEntityImmutableError, H as isRecordReferencedError, I as ValidationError, L as ValidationErrorDetail, M as SyncCascadeError, N as SyncConflictError, O as SchemaPlanNotFoundError, P as SyncError, R as isAttributeInUseError, S as RepositoryError, T as RoleNotFoundError, U as isSchemaError, V as isProtectedResourceError, W as isValidationError, _ as ProtectedResourceError, a as ChangeTypeNotSupportedError, b as RecordReference, c as DuplicateError, d as MigrationTimeoutError, f as NotFoundError, g as OrphanSystemAttributeError, h as ObjectReferencedError, i as AttributeUsage, j as StorageOperation, k as SearchBackendError, l as ForbiddenError, m as ObjectNotFoundError, n as AttributeInUseError, o as ConcurrentModificationError, p as NotImplementedError, r as AttributeNotFoundError, s as DestructiveSyncNotAllowedError, t as AccessDeniedError, u as MemoryNotFoundError, v as ProtectedRoleError, w as ReservedObjectNameError, x as RecordReferencedError, y as RecordNotFoundError, z as isNotFoundError } from "./exceptions-DGCzCc9t.mjs";
|
|
3
|
+
export { AccessDeniedError, AttributeInUseError, AttributeNotFoundError, AttributeUsage, ChangeTypeNotSupportedError, ConcurrentModificationError, DestructiveSyncNotAllowedError, DuplicateError, ForbiddenError, MemoryNotFoundError, MigrationTimeoutError, NotFoundError, NotImplementedError, ObjectNotFoundError, ObjectReferencedError, OrphanSystemAttributeError, ProtectedResourceError, ProtectedRoleError, RecordNotFoundError, RecordReference, RecordReferencedError, RepositoryError, RepositoryOperation, ReservedObjectNameError, RoleNotFoundError, SchemaError, SchemaErrorCode, SchemaPlanNotFoundError, SearchBackendError, StorageError, StorageOperation, SyncCascadeError, SyncConflictError, SyncError, SystemEntityImmutableError, ValidationError, ValidationErrorDetail, isAttributeInUseError, isNotFoundError, isObjectReferencedError, isProtectedResourceError, isRecordReferencedError, isSchemaError, isValidationError };
|
package/dist/exceptions.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
1
|
+
|
|
2
|
+
import { A as StorageError, B as isObjectReferencedError, C as RepositoryOperation, D as SchemaErrorCode, E as SchemaError, F as SystemEntityImmutableError, H as isRecordReferencedError, I as ValidationError, L as ValidationErrorDetail, M as SyncCascadeError, N as SyncConflictError, O as SchemaPlanNotFoundError, P as SyncError, R as isAttributeInUseError, S as RepositoryError, T as RoleNotFoundError, U as isSchemaError, V as isProtectedResourceError, W as isValidationError, _ as ProtectedResourceError, a as ChangeTypeNotSupportedError, b as RecordReference, c as DuplicateError, d as MigrationTimeoutError, f as NotFoundError, g as OrphanSystemAttributeError, h as ObjectReferencedError, i as AttributeUsage, j as StorageOperation, k as SearchBackendError, l as ForbiddenError, m as ObjectNotFoundError, n as AttributeInUseError, o as ConcurrentModificationError, p as NotImplementedError, r as AttributeNotFoundError, s as DestructiveSyncNotAllowedError, t as AccessDeniedError, u as MemoryNotFoundError, v as ProtectedRoleError, w as ReservedObjectNameError, x as RecordReferencedError, y as RecordNotFoundError, z as isNotFoundError } from "./exceptions-DGCzCc9t.js";
|
|
3
|
+
export { AccessDeniedError, AttributeInUseError, AttributeNotFoundError, AttributeUsage, ChangeTypeNotSupportedError, ConcurrentModificationError, DestructiveSyncNotAllowedError, DuplicateError, ForbiddenError, MemoryNotFoundError, MigrationTimeoutError, NotFoundError, NotImplementedError, ObjectNotFoundError, ObjectReferencedError, OrphanSystemAttributeError, ProtectedResourceError, ProtectedRoleError, RecordNotFoundError, RecordReference, RecordReferencedError, RepositoryError, RepositoryOperation, ReservedObjectNameError, RoleNotFoundError, SchemaError, SchemaErrorCode, SchemaPlanNotFoundError, SearchBackendError, StorageError, StorageOperation, SyncCascadeError, SyncConflictError, SyncError, SystemEntityImmutableError, ValidationError, ValidationErrorDetail, isAttributeInUseError, isNotFoundError, isObjectReferencedError, isProtectedResourceError, isRecordReferencedError, isSchemaError, isValidationError };
|
package/dist/exceptions.js
CHANGED
|
@@ -1 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
|
|
2
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e={DRAFT_REVISION_CONFLICT:`DRAFT_REVISION_CONFLICT`,UNKNOWN:`SCHEMA_UNKNOWN_ERROR`,OBJECT_NOT_FOUND:`SCHEMA_OBJECT_NOT_FOUND`,ATTRIBUTE_NOT_FOUND:`SCHEMA_ATTRIBUTE_NOT_FOUND`,RECORD_NOT_FOUND:`SCHEMA_RECORD_NOT_FOUND`,SOURCE_NOT_FOUND:`SCHEMA_SOURCE_NOT_FOUND`,ROLE_NOT_FOUND:`SCHEMA_ROLE_NOT_FOUND`,MEMORY_NOT_FOUND:`SCHEMA_MEMORY_NOT_FOUND`,SCHEMA_PLAN_NOT_FOUND:`SCHEMA_PLAN_NOT_FOUND`,VALIDATION_FAILED:`SCHEMA_VALIDATION_FAILED`,INVALID_ATTRIBUTE_NAME:`SCHEMA_INVALID_ATTRIBUTE_NAME`,INVALID_OBJECT_NAME:`SCHEMA_INVALID_OBJECT_NAME`,RESERVED_OBJECT_NAME:`SCHEMA_RESERVED_OBJECT_NAME`,PROTECTED_OBJECT:`SCHEMA_PROTECTED_OBJECT`,PROTECTED_ATTRIBUTE:`SCHEMA_PROTECTED_ATTRIBUTE`,PROTECTED_VIEW:`SCHEMA_PROTECTED_VIEW`,PROTECTED_ROLE:`SCHEMA_PROTECTED_ROLE`,FORBIDDEN:`SCHEMA_FORBIDDEN`,ACCESS_DENIED:`SCHEMA_ACCESS_DENIED`,WORKSPACE_INVARIANT:`SCHEMA_WORKSPACE_INVARIANT`,STATE_GATE:`SCHEMA_STATE_GATE`,ACTOR_CONTEXT_REQUIRED:`SCHEMA_ACTOR_CONTEXT_REQUIRED`,CONNECTOR_AUTH_FAILED:`SCHEMA_CONNECTOR_AUTH_FAILED`,CONNECTOR_INVALID_STATE:`SCHEMA_CONNECTOR_INVALID_STATE`,CONNECTOR_GRANT_ORPHANED:`SCHEMA_CONNECTOR_GRANT_ORPHANED`,SYNC_FAILED:`SCHEMA_SYNC_FAILED`,SYNC_CONFLICT:`SCHEMA_SYNC_CONFLICT`,SYNC_CASCADE:`SCHEMA_SYNC_CASCADE`,ORPHAN_SYSTEM_ATTRIBUTE:`SCHEMA_ORPHAN_SYSTEM_ATTRIBUTE`,SYSTEM_ENTITY_IMMUTABLE:`SCHEMA_SYSTEM_ENTITY_IMMUTABLE`,DESTRUCTIVE_NOT_ALLOWED:`SCHEMA_DESTRUCTIVE_NOT_ALLOWED`,MIGRATION_TIMEOUT:`SCHEMA_MIGRATION_TIMEOUT`,CHANGE_TYPE_NOT_SUPPORTED:`SCHEMA_CHANGE_TYPE_NOT_SUPPORTED`,DUPLICATE:`SCHEMA_DUPLICATE`,DUPLICATE_OBJECT:`SCHEMA_DUPLICATE_OBJECT`,DUPLICATE_ATTRIBUTE:`SCHEMA_DUPLICATE_ATTRIBUTE`,CONFLICT:`SCHEMA_CONFLICT`,STORAGE_UPLOAD_FAILED:`SCHEMA_STORAGE_UPLOAD_FAILED`,STORAGE_DOWNLOAD_FAILED:`SCHEMA_STORAGE_DOWNLOAD_FAILED`,STORAGE_DELETE_FAILED:`SCHEMA_STORAGE_DELETE_FAILED`,STORAGE_URL_FAILED:`SCHEMA_STORAGE_URL_FAILED`,REPOSITORY_CREATE_FAILED:`SCHEMA_REPOSITORY_CREATE_FAILED`,REPOSITORY_UPDATE_FAILED:`SCHEMA_REPOSITORY_UPDATE_FAILED`,REPOSITORY_DELETE_FAILED:`SCHEMA_REPOSITORY_DELETE_FAILED`,REPOSITORY_QUERY_FAILED:`SCHEMA_REPOSITORY_QUERY_FAILED`,NOT_IMPLEMENTED:`SCHEMA_NOT_IMPLEMENTED`,TIMEOUT:`SCHEMA_TIMEOUT`,RECORD_REFERENCED:`SCHEMA_RECORD_REFERENCED`,ATTRIBUTE_IN_USE:`SCHEMA_ATTRIBUTE_IN_USE`,OBJECT_REFERENCED:`SCHEMA_OBJECT_REFERENCED`,CONFIGURATION_REQUIRED:`CONFIGURATION_REQUIRED`,SEARCH_ADAPTER_REQUIRED:`SEARCH_ADAPTER_REQUIRED`,CRON_REGISTRATION_FAILED:`CRON_REGISTRATION_FAILED`,SEARCH_BACKEND_FAILED:`SEARCH_BACKEND_FAILED`,INVARIANT_VIOLATION:`INVARIANT_VIOLATION`,TENANT_CONTEXT_MISSING:`TENANT_CONTEXT_MISSING`,FEATURE_FLAGS_CONTEXT:`FEATURE_FLAGS_CONTEXT`,REALTIME_RATE_LIMITED:`REALTIME_RATE_LIMITED`,REALTIME_DELIVERY_FAILED:`REALTIME_DELIVERY_FAILED`,REALTIME_SUBSCRIPTION_FAILED:`REALTIME_SUBSCRIPTION_FAILED`,AGENT_UNKNOWN:`AGENT_UNKNOWN`,AGENT_DEPTH_EXCEEDED:`AGENT_DEPTH_EXCEEDED`,AGENT_COST_LIMIT_EXCEEDED:`AGENT_COST_LIMIT_EXCEEDED`,AGENT_TREE_COST_LIMIT_EXCEEDED:`AGENT_TREE_COST_LIMIT_EXCEEDED`,CREDITS_EXHAUSTED:`CREDITS_EXHAUSTED`,QUOTA_EXCEEDED:`QUOTA_EXCEEDED`,AGENT_SESSION_NOT_FOUND:`AGENT_SESSION_NOT_FOUND`,AGENT_DEFINITION_NOT_FOUND:`AGENT_DEFINITION_NOT_FOUND`,AGENT_RUN_CONFIG:`AGENT_RUN_CONFIG`,AGENT_STREAMING:`AGENT_STREAMING`,AGENT_MISSING_ACTOR:`AGENT_MISSING_ACTOR`,AGENT_INVALID_STATE:`AGENT_INVALID_STATE`,AGENT_COMPACTION_IMPOSSIBLE:`AGENT_COMPACTION_IMPOSSIBLE`,AGENT_COMPACTION_TIMEOUT:`AGENT_COMPACTION_TIMEOUT`,AGENT_LEASE_HELD:`AGENT_LEASE_HELD`,AGENT_WORK_MODE_REQUIRED:`AGENT_WORK_MODE_REQUIRED`,AGENT_MESSAGE_NOT_FOUND:`AGENT_MESSAGE_NOT_FOUND`,AGENT_MESSAGE_NOT_EDITABLE:`AGENT_MESSAGE_NOT_EDITABLE`,DEVICE_NOT_FOUND:`DEVICE_NOT_FOUND`,DEVICE_OFFLINE:`DEVICE_OFFLINE`,AI_UNKNOWN:`AI_UNKNOWN`,AI_USAGE_LIMIT_EXCEEDED:`AI_USAGE_LIMIT_EXCEEDED`,AI_INVALID_USAGE:`AI_INVALID_USAGE`,AI_INVALID_MODEL:`AI_INVALID_MODEL`,AI_INVALID_MODEL_INPUT:`AI_INVALID_MODEL_INPUT`,AI_REPOSITORY_ERROR:`AI_REPOSITORY_ERROR`,AI_GENERATION_FAILED:`AI_GENERATION_FAILED`,AI_IMAGE_USAGE_PENDING:`AI_IMAGE_USAGE_PENDING`,AI_IMAGE_GENERATION_INDETERMINATE:`AI_IMAGE_GENERATION_INDETERMINATE`,AI_IMAGE_PUBLICATION_FAILED:`AI_IMAGE_PUBLICATION_FAILED`,DOCUMENT_MIME_NOT_ACCEPTED:`DOCUMENT_MIME_NOT_ACCEPTED`,DOCUMENT_MULTIPLE_NOT_ALLOWED:`DOCUMENT_MULTIPLE_NOT_ALLOWED`,DOCUMENT_NOT_FOUND_FOR_OPERATION:`DOCUMENT_NOT_FOUND_FOR_OPERATION`,DOCUMENT_STORAGE_FAILED:`DOCUMENT_STORAGE_FAILED`,DOCUMENT_SIZE_EXCEEDED:`DOCUMENT_SIZE_EXCEEDED`,DOCUMENT_OCR_FAILED:`DOCUMENT_OCR_FAILED`,DOCUMENT_BLOB_EMPTY:`DOCUMENT_BLOB_EMPTY`,DOCUMENT_FILE_TOO_LARGE:`DOCUMENT_FILE_TOO_LARGE`,DOCUMENT_FILE_NOT_FOUND:`DOCUMENT_FILE_NOT_FOUND`,DOCUMENT_FILE_ALREADY_PACKED:`DOCUMENT_FILE_ALREADY_PACKED`,DOCUMENT_RECORD_NOT_FOUND:`DOCUMENT_RECORD_NOT_FOUND`,DOCUMENT_RECORD_OBJECT_MISMATCH:`DOCUMENT_RECORD_OBJECT_MISMATCH`,DOCUMENT_FOLDER_SERVICE_UNAVAILABLE:`DOCUMENT_FOLDER_SERVICE_UNAVAILABLE`,DOCUMENT_FOLDER_PATH_NOT_FOUND:`DOCUMENT_FOLDER_PATH_NOT_FOUND`,EMAIL_PROVIDER_API_FAILED:`EMAIL_PROVIDER_API_FAILED`,EMAIL_SEND_FAILED:`EMAIL_SEND_FAILED`,EMAIL_SENT_NOT_STORED:`EMAIL_SENT_NOT_STORED`,EMAIL_BATCH_ITEM_FAILED:`EMAIL_BATCH_ITEM_FAILED`,CALENDAR_PROVIDER_API_FAILED:`CALENDAR_PROVIDER_API_FAILED`,REFLEX_INVALID_TRANSITION:`REFLEX_INVALID_TRANSITION`,REFLEX_INVALID_TOKEN:`REFLEX_INVALID_TOKEN`,REFLEX_CAPABILITY_DENIED:`REFLEX_CAPABILITY_DENIED`,REFLEX_GATEWAY_UNAVAILABLE:`REFLEX_GATEWAY_UNAVAILABLE`,REFLEX_BUNDLE_FAILED:`REFLEX_BUNDLE_FAILED`,REFLEX_EGRESS_DENIED:`REFLEX_EGRESS_DENIED`,REFLEX_PROTOCOL_VIOLATION:`REFLEX_PROTOCOL_VIOLATION`,REFLEX_RUN_FAILED:`REFLEX_RUN_FAILED`,REFLEX_RUN_TIMEOUT:`REFLEX_RUN_TIMEOUT`,REFLEX_DEPENDENCY_DRIFT:`REFLEX_DEPENDENCY_DRIFT`,REFLEX_NOT_READY:`REFLEX_NOT_READY`,REFLEX_INVARIANT_VIOLATION:`REFLEX_INVARIANT_VIOLATION`,EMBEDDING_MODEL_UNAVAILABLE:`EMBEDDING_MODEL_UNAVAILABLE`,EMBEDDING_DIMENSION_MISMATCH:`EMBEDDING_DIMENSION_MISMATCH`};var SchemaError=class extends Error{constructor(t,n=e.UNKNOWN,r){super(t),this.name=`SchemaError`,this.code=n,this.details=r,Object.setPrototypeOf(this,new.target.prototype)}toJSON(){return{name:this.name,code:this.code,message:this.message,details:this.details}}},NotFoundError=class extends SchemaError{constructor(t,n,r=e.RECORD_NOT_FOUND,i=`${t} with id "${n}" not found`){super(i,r,{resourceType:t,resourceId:n}),this._tag=`NotFoundError`,this.name=`NotFoundError`,this.resourceType=t,this.resourceId=n}},ObjectNotFoundError=class extends NotFoundError{constructor(t){super(`Object`,t,e.OBJECT_NOT_FOUND),this.name=`ObjectNotFoundError`}},AttributeNotFoundError=class extends NotFoundError{constructor(t){super(`Attribute`,t,e.ATTRIBUTE_NOT_FOUND),this.name=`AttributeNotFoundError`}},RecordNotFoundError=class extends NotFoundError{constructor(t){super(`Record`,t,e.RECORD_NOT_FOUND),this.name=`RecordNotFoundError`}},SchemaPlanNotFoundError=class extends NotFoundError{constructor(t){super(`Schema plan`,t,e.SCHEMA_PLAN_NOT_FOUND),this.name=`SchemaPlanNotFoundError`}},t=class ValidationError extends SchemaError{constructor(t,n){super(t,e.VALIDATION_FAILED,{errors:n}),this._tag=`ValidationError`,this.name=`ValidationError`,this.errors=n}static fromZodErrors(e){let t=e.map(e=>({path:e.path.map(String),message:e.message})),n=`Validation failed: ${t.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`, `)}`;return new ValidationError(n,t)}},ProtectedResourceError=class extends SchemaError{constructor(t,n,r){let i=t===`object`?e.PROTECTED_OBJECT:t===`view`?e.PROTECTED_VIEW:e.PROTECTED_ATTRIBUTE;super(`Cannot ${r} system ${t} "${n}"`,i,{resourceType:t,resourceName:n,operation:r}),this.name=`ProtectedResourceError`,this.resourceType=t,this.resourceName=n,this.operation=r}},SyncError=class extends SchemaError{constructor(t,n,r){super(`Failed to sync object "${t}": ${n}`,e.SYNC_FAILED,{objectName:t,cause:r?.message}),this.name=`SyncError`,this.objectName=t,this.cause=r}},SystemEntityImmutableError=class extends SchemaError{constructor(t,n){super(`Cannot mutate system ${t} "${n}". System entities are declared in code and immutable at runtime.`,e.SYSTEM_ENTITY_IMMUTABLE,{entityType:t,entityName:n}),this.name=`SystemEntityImmutableError`,this.entityType=t,this.entityName=n}},SyncConflictError=class extends SchemaError{constructor(t){let n=t.attributeName?`"${t.objectName}.${t.attributeName}"`:`"${t.objectName}"`;super(`Cannot promote runtime entity ${n}: ${t.reason}. Resolve via: (1) relax the code constraint, (2) migrate runtime values manually, or (3) rename the code declaration.`,e.SYNC_CONFLICT,{objectName:t.objectName,attributeName:t.attributeName,reason:t.reason}),this.name=`SyncConflictError`,this.objectName=t.objectName,this.attributeName=t.attributeName,this.reason=t.reason}},SyncCascadeError=class extends SchemaError{constructor(t,n){super(`Cannot demote object "${t}": attributes ${n.join(`, `)} are still declared in code. Remove them from code first, or restore the object.`,e.SYNC_CASCADE,{objectName:t,conflictingAttributes:n}),this.name=`SyncCascadeError`,this.objectName=t,this.conflictingAttributes=n}},OrphanSystemAttributeError=class extends SchemaError{constructor(t,n){super(`Attribute "${t}.${n}" is system:true but its object parent is system:false. This is an invariant violation.`,e.ORPHAN_SYSTEM_ATTRIBUTE,{objectName:t,attributeName:n}),this.name=`OrphanSystemAttributeError`,this.objectName=t,this.attributeName=n}},DestructiveSyncNotAllowedError=class extends SchemaError{constructor(t){let n=t.map(e=>{let t=e;return t.name?`- ${e.type} "${t.name}"`:`- ${e.type}`}).join(`
|
|
3
|
+
`);super(`Destructive schema operations detected (data will be lost):\n${n}\n\nThese are applied only under an explicit opt-in; without it boot demotes the object to runtime and keeps its rows. To let Standards apply them automatically, set the environment variable:\n STANDARDS_ALLOW_DESTRUCTIVE_SYNC=1\n\nOtherwise, revert your code changes or back up the data first.`,e.DESTRUCTIVE_NOT_ALLOWED,{operations:t}),this.name=`DestructiveSyncNotAllowedError`,this.operations=t}},MigrationTimeoutError=class extends SchemaError{constructor(t,n,r,i){super(`Migration for "${t}" exceeded the maximum duration (${i}ms). Migrated ${n}/${r} records before timeout. Increase STANDARDS_MIGRATION_MAX_DURATION_MS or split the migration into smaller batches.`,e.MIGRATION_TIMEOUT,{objectName:t,migrated:n,total:r,maxDurationMs:i}),this.name=`MigrationTimeoutError`,this.objectName=t,this.migrated=n,this.total=r,this.maxDurationMs=i}},ChangeTypeNotSupportedError=class extends SchemaError{constructor(t,n){super(`Cannot change type of attribute "${t}.${n}" via runtime API. Declare a migration in your schema code:\n object("${t}").migration(N, (m) =>\n m.changeType("${n}", from, to, { transform: (v) => ... })\n )`,e.CHANGE_TYPE_NOT_SUPPORTED,{objectName:t,attributeName:n}),this.name=`ChangeTypeNotSupportedError`,this.objectName=t,this.attributeName=n}},DuplicateError=class extends SchemaError{constructor(t,n,r){let i=t===`object`?e.DUPLICATE_OBJECT:t===`attribute`?e.DUPLICATE_ATTRIBUTE:e.DUPLICATE,a=`${t.charAt(0).toUpperCase()}${t.slice(1)} "${n}" already exists`;super(r??a,i,{resourceType:t,resourceName:n}),this.name=`DuplicateError`,this.resourceType=t,this.resourceName=n}};const n={builder:`cannot be built by a consumer`,registry:`cannot be registered by a consumer`,bundle:`cannot be claimed by a bundle`,source:`cannot be declared by a schema source`};var ReservedObjectNameError=class extends SchemaError{constructor(t,r){super(`"${t}" is a framework-native object name and ${n[r]}: the framework ships it, pick another name.`,e.RESERVED_OBJECT_NAME,{objectName:t,context:r}),this.name=`ReservedObjectNameError`,this.objectName=t}};function isSchemaError(e){return e instanceof SchemaError}function isNotFoundError(e){return e instanceof NotFoundError}function isValidationError(e){return e instanceof t}function isProtectedResourceError(e){return e instanceof ProtectedResourceError}var ForbiddenError=class extends SchemaError{constructor(t,n,r){super(`No ${n} permission on object "${t}"`,e.FORBIDDEN,{objectName:t,action:n,userId:r}),this._tag=`ForbiddenError`,this.name=`ForbiddenError`,this.objectName=t,this.action=n,this.userId=r}},ProtectedRoleError=class extends SchemaError{constructor(t,n){super(`Cannot ${n} system role "${t}"`,e.PROTECTED_ROLE,{roleName:t,operation:n}),this.name=`ProtectedRoleError`,this.roleName=t,this.operation=n}},RoleNotFoundError=class extends NotFoundError{constructor(t){super(`Role`,t,e.ROLE_NOT_FOUND),this.name=`RoleNotFoundError`}},ConcurrentModificationError=class extends SchemaError{constructor(t){super(`Record ${t} was modified by another request. Please refresh and try again.`,e.CONFLICT,{recordId:t})}},StorageError=class extends SchemaError{constructor(t,n,r,i){let a=t===`upload`?e.STORAGE_UPLOAD_FAILED:t===`download`?e.STORAGE_DOWNLOAD_FAILED:t===`delete`?e.STORAGE_DELETE_FAILED:e.STORAGE_URL_FAILED;super(`Storage ${t} failed: ${n}`,a,{operation:t,path:r,cause:i}),this.name=`StorageError`,this.operation=t,this.path=r,this.cause=i}},AccessDeniedError=class extends SchemaError{constructor(t,n){super(n??`Access denied to resource: ${t}`,e.ACCESS_DENIED,{resource:t,reason:n}),this.name=`AccessDeniedError`,this.resource=t,this.reason=n}},RepositoryError=class extends SchemaError{constructor(t,n,r,i){let a=t===`create`?e.REPOSITORY_CREATE_FAILED:t===`update`?e.REPOSITORY_UPDATE_FAILED:t===`delete`?e.REPOSITORY_DELETE_FAILED:e.REPOSITORY_QUERY_FAILED;super(`Failed to ${t} ${n}: ${r}${i?` (${i})`:``}`,a,{operation:t,entity:n,cause:i}),this.name=`RepositoryError`,this.operation=t,this.entity=n,this.cause=i}},SearchBackendError=class extends SchemaError{constructor(t,n){super(`Search backend unavailable for ${t}`,e.SEARCH_BACKEND_FAILED,{scope:t,cause:n}),this.name=`SearchBackendError`,this.scope=t,this.cause=n}},NotImplementedError=class extends SchemaError{constructor(t,n){let r=n?`${t}: not implemented (${n})`:`${t}: not implemented`;super(r,e.NOT_IMPLEMENTED,{feature:t,milestone:n}),this.name=`NotImplementedError`,this.feature=t,this.milestone=n}},MemoryNotFoundError=class extends NotFoundError{constructor(t){super(`Memory`,t,e.MEMORY_NOT_FOUND),this.name=`MemoryNotFoundError`}},RecordReferencedError=class extends SchemaError{constructor(t,n){let r=n.reduce((e,t)=>e+t.count,0);super(`Cannot delete record: referenced by ${r} record${r>1?`s`:``}`,e.RECORD_REFERENCED,{recordId:t,references:n}),this.name=`RecordReferencedError`,this.recordId=t,this.references=n}},AttributeInUseError=class extends SchemaError{constructor(t,n){super(`Cannot delete attribute "${t}": used in ${n}`,e.ATTRIBUTE_IN_USE,{attributeName:t,usage:n}),this.name=`AttributeInUseError`,this.attributeName=t,this.usage=n}},ObjectReferencedError=class extends SchemaError{constructor(t,n){super(`Cannot delete object "${t}": target of relations in ${n.join(`, `)}`,e.OBJECT_REFERENCED,{objectName:t,referencingObjects:n}),this.name=`ObjectReferencedError`,this.objectName=t,this.referencingObjects=n}};function isRecordReferencedError(e){return e instanceof RecordReferencedError}function isAttributeInUseError(e){return e instanceof AttributeInUseError}function isObjectReferencedError(e){return e instanceof ObjectReferencedError}exports.AccessDeniedError=AccessDeniedError,exports.AttributeInUseError=AttributeInUseError,exports.AttributeNotFoundError=AttributeNotFoundError,exports.ChangeTypeNotSupportedError=ChangeTypeNotSupportedError,exports.ConcurrentModificationError=ConcurrentModificationError,exports.DestructiveSyncNotAllowedError=DestructiveSyncNotAllowedError,exports.DuplicateError=DuplicateError,exports.ForbiddenError=ForbiddenError,exports.MemoryNotFoundError=MemoryNotFoundError,exports.MigrationTimeoutError=MigrationTimeoutError,exports.NotFoundError=NotFoundError,exports.NotImplementedError=NotImplementedError,exports.ObjectNotFoundError=ObjectNotFoundError,exports.ObjectReferencedError=ObjectReferencedError,exports.OrphanSystemAttributeError=OrphanSystemAttributeError,exports.ProtectedResourceError=ProtectedResourceError,exports.ProtectedRoleError=ProtectedRoleError,exports.RecordNotFoundError=RecordNotFoundError,exports.RecordReferencedError=RecordReferencedError,exports.RepositoryError=RepositoryError,exports.ReservedObjectNameError=ReservedObjectNameError,exports.RoleNotFoundError=RoleNotFoundError,exports.SchemaError=SchemaError,exports.SchemaErrorCode=e,exports.SchemaPlanNotFoundError=SchemaPlanNotFoundError,exports.SearchBackendError=SearchBackendError,exports.StorageError=StorageError,exports.SyncCascadeError=SyncCascadeError,exports.SyncConflictError=SyncConflictError,exports.SyncError=SyncError,exports.SystemEntityImmutableError=SystemEntityImmutableError,exports.ValidationError=t,exports.isAttributeInUseError=isAttributeInUseError,exports.isNotFoundError=isNotFoundError,exports.isObjectReferencedError=isObjectReferencedError,exports.isProtectedResourceError=isProtectedResourceError,exports.isRecordReferencedError=isRecordReferencedError,exports.isSchemaError=isSchemaError,exports.isValidationError=isValidationError;
|
package/dist/exceptions.mjs
CHANGED
|
@@ -1 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
|
|
2
|
+
const e={DRAFT_REVISION_CONFLICT:`DRAFT_REVISION_CONFLICT`,UNKNOWN:`SCHEMA_UNKNOWN_ERROR`,OBJECT_NOT_FOUND:`SCHEMA_OBJECT_NOT_FOUND`,ATTRIBUTE_NOT_FOUND:`SCHEMA_ATTRIBUTE_NOT_FOUND`,RECORD_NOT_FOUND:`SCHEMA_RECORD_NOT_FOUND`,SOURCE_NOT_FOUND:`SCHEMA_SOURCE_NOT_FOUND`,ROLE_NOT_FOUND:`SCHEMA_ROLE_NOT_FOUND`,MEMORY_NOT_FOUND:`SCHEMA_MEMORY_NOT_FOUND`,SCHEMA_PLAN_NOT_FOUND:`SCHEMA_PLAN_NOT_FOUND`,VALIDATION_FAILED:`SCHEMA_VALIDATION_FAILED`,INVALID_ATTRIBUTE_NAME:`SCHEMA_INVALID_ATTRIBUTE_NAME`,INVALID_OBJECT_NAME:`SCHEMA_INVALID_OBJECT_NAME`,RESERVED_OBJECT_NAME:`SCHEMA_RESERVED_OBJECT_NAME`,PROTECTED_OBJECT:`SCHEMA_PROTECTED_OBJECT`,PROTECTED_ATTRIBUTE:`SCHEMA_PROTECTED_ATTRIBUTE`,PROTECTED_VIEW:`SCHEMA_PROTECTED_VIEW`,PROTECTED_ROLE:`SCHEMA_PROTECTED_ROLE`,FORBIDDEN:`SCHEMA_FORBIDDEN`,ACCESS_DENIED:`SCHEMA_ACCESS_DENIED`,WORKSPACE_INVARIANT:`SCHEMA_WORKSPACE_INVARIANT`,STATE_GATE:`SCHEMA_STATE_GATE`,ACTOR_CONTEXT_REQUIRED:`SCHEMA_ACTOR_CONTEXT_REQUIRED`,CONNECTOR_AUTH_FAILED:`SCHEMA_CONNECTOR_AUTH_FAILED`,CONNECTOR_INVALID_STATE:`SCHEMA_CONNECTOR_INVALID_STATE`,CONNECTOR_GRANT_ORPHANED:`SCHEMA_CONNECTOR_GRANT_ORPHANED`,SYNC_FAILED:`SCHEMA_SYNC_FAILED`,SYNC_CONFLICT:`SCHEMA_SYNC_CONFLICT`,SYNC_CASCADE:`SCHEMA_SYNC_CASCADE`,ORPHAN_SYSTEM_ATTRIBUTE:`SCHEMA_ORPHAN_SYSTEM_ATTRIBUTE`,SYSTEM_ENTITY_IMMUTABLE:`SCHEMA_SYSTEM_ENTITY_IMMUTABLE`,DESTRUCTIVE_NOT_ALLOWED:`SCHEMA_DESTRUCTIVE_NOT_ALLOWED`,MIGRATION_TIMEOUT:`SCHEMA_MIGRATION_TIMEOUT`,CHANGE_TYPE_NOT_SUPPORTED:`SCHEMA_CHANGE_TYPE_NOT_SUPPORTED`,DUPLICATE:`SCHEMA_DUPLICATE`,DUPLICATE_OBJECT:`SCHEMA_DUPLICATE_OBJECT`,DUPLICATE_ATTRIBUTE:`SCHEMA_DUPLICATE_ATTRIBUTE`,CONFLICT:`SCHEMA_CONFLICT`,STORAGE_UPLOAD_FAILED:`SCHEMA_STORAGE_UPLOAD_FAILED`,STORAGE_DOWNLOAD_FAILED:`SCHEMA_STORAGE_DOWNLOAD_FAILED`,STORAGE_DELETE_FAILED:`SCHEMA_STORAGE_DELETE_FAILED`,STORAGE_URL_FAILED:`SCHEMA_STORAGE_URL_FAILED`,REPOSITORY_CREATE_FAILED:`SCHEMA_REPOSITORY_CREATE_FAILED`,REPOSITORY_UPDATE_FAILED:`SCHEMA_REPOSITORY_UPDATE_FAILED`,REPOSITORY_DELETE_FAILED:`SCHEMA_REPOSITORY_DELETE_FAILED`,REPOSITORY_QUERY_FAILED:`SCHEMA_REPOSITORY_QUERY_FAILED`,NOT_IMPLEMENTED:`SCHEMA_NOT_IMPLEMENTED`,TIMEOUT:`SCHEMA_TIMEOUT`,RECORD_REFERENCED:`SCHEMA_RECORD_REFERENCED`,ATTRIBUTE_IN_USE:`SCHEMA_ATTRIBUTE_IN_USE`,OBJECT_REFERENCED:`SCHEMA_OBJECT_REFERENCED`,CONFIGURATION_REQUIRED:`CONFIGURATION_REQUIRED`,SEARCH_ADAPTER_REQUIRED:`SEARCH_ADAPTER_REQUIRED`,CRON_REGISTRATION_FAILED:`CRON_REGISTRATION_FAILED`,SEARCH_BACKEND_FAILED:`SEARCH_BACKEND_FAILED`,INVARIANT_VIOLATION:`INVARIANT_VIOLATION`,TENANT_CONTEXT_MISSING:`TENANT_CONTEXT_MISSING`,FEATURE_FLAGS_CONTEXT:`FEATURE_FLAGS_CONTEXT`,REALTIME_RATE_LIMITED:`REALTIME_RATE_LIMITED`,REALTIME_DELIVERY_FAILED:`REALTIME_DELIVERY_FAILED`,REALTIME_SUBSCRIPTION_FAILED:`REALTIME_SUBSCRIPTION_FAILED`,AGENT_UNKNOWN:`AGENT_UNKNOWN`,AGENT_DEPTH_EXCEEDED:`AGENT_DEPTH_EXCEEDED`,AGENT_COST_LIMIT_EXCEEDED:`AGENT_COST_LIMIT_EXCEEDED`,AGENT_TREE_COST_LIMIT_EXCEEDED:`AGENT_TREE_COST_LIMIT_EXCEEDED`,CREDITS_EXHAUSTED:`CREDITS_EXHAUSTED`,QUOTA_EXCEEDED:`QUOTA_EXCEEDED`,AGENT_SESSION_NOT_FOUND:`AGENT_SESSION_NOT_FOUND`,AGENT_DEFINITION_NOT_FOUND:`AGENT_DEFINITION_NOT_FOUND`,AGENT_RUN_CONFIG:`AGENT_RUN_CONFIG`,AGENT_STREAMING:`AGENT_STREAMING`,AGENT_MISSING_ACTOR:`AGENT_MISSING_ACTOR`,AGENT_INVALID_STATE:`AGENT_INVALID_STATE`,AGENT_COMPACTION_IMPOSSIBLE:`AGENT_COMPACTION_IMPOSSIBLE`,AGENT_COMPACTION_TIMEOUT:`AGENT_COMPACTION_TIMEOUT`,AGENT_LEASE_HELD:`AGENT_LEASE_HELD`,AGENT_WORK_MODE_REQUIRED:`AGENT_WORK_MODE_REQUIRED`,AGENT_MESSAGE_NOT_FOUND:`AGENT_MESSAGE_NOT_FOUND`,AGENT_MESSAGE_NOT_EDITABLE:`AGENT_MESSAGE_NOT_EDITABLE`,DEVICE_NOT_FOUND:`DEVICE_NOT_FOUND`,DEVICE_OFFLINE:`DEVICE_OFFLINE`,AI_UNKNOWN:`AI_UNKNOWN`,AI_USAGE_LIMIT_EXCEEDED:`AI_USAGE_LIMIT_EXCEEDED`,AI_INVALID_USAGE:`AI_INVALID_USAGE`,AI_INVALID_MODEL:`AI_INVALID_MODEL`,AI_INVALID_MODEL_INPUT:`AI_INVALID_MODEL_INPUT`,AI_REPOSITORY_ERROR:`AI_REPOSITORY_ERROR`,AI_GENERATION_FAILED:`AI_GENERATION_FAILED`,AI_IMAGE_USAGE_PENDING:`AI_IMAGE_USAGE_PENDING`,AI_IMAGE_GENERATION_INDETERMINATE:`AI_IMAGE_GENERATION_INDETERMINATE`,AI_IMAGE_PUBLICATION_FAILED:`AI_IMAGE_PUBLICATION_FAILED`,DOCUMENT_MIME_NOT_ACCEPTED:`DOCUMENT_MIME_NOT_ACCEPTED`,DOCUMENT_MULTIPLE_NOT_ALLOWED:`DOCUMENT_MULTIPLE_NOT_ALLOWED`,DOCUMENT_NOT_FOUND_FOR_OPERATION:`DOCUMENT_NOT_FOUND_FOR_OPERATION`,DOCUMENT_STORAGE_FAILED:`DOCUMENT_STORAGE_FAILED`,DOCUMENT_SIZE_EXCEEDED:`DOCUMENT_SIZE_EXCEEDED`,DOCUMENT_OCR_FAILED:`DOCUMENT_OCR_FAILED`,DOCUMENT_BLOB_EMPTY:`DOCUMENT_BLOB_EMPTY`,DOCUMENT_FILE_TOO_LARGE:`DOCUMENT_FILE_TOO_LARGE`,DOCUMENT_FILE_NOT_FOUND:`DOCUMENT_FILE_NOT_FOUND`,DOCUMENT_FILE_ALREADY_PACKED:`DOCUMENT_FILE_ALREADY_PACKED`,DOCUMENT_RECORD_NOT_FOUND:`DOCUMENT_RECORD_NOT_FOUND`,DOCUMENT_RECORD_OBJECT_MISMATCH:`DOCUMENT_RECORD_OBJECT_MISMATCH`,DOCUMENT_FOLDER_SERVICE_UNAVAILABLE:`DOCUMENT_FOLDER_SERVICE_UNAVAILABLE`,DOCUMENT_FOLDER_PATH_NOT_FOUND:`DOCUMENT_FOLDER_PATH_NOT_FOUND`,EMAIL_PROVIDER_API_FAILED:`EMAIL_PROVIDER_API_FAILED`,EMAIL_SEND_FAILED:`EMAIL_SEND_FAILED`,EMAIL_SENT_NOT_STORED:`EMAIL_SENT_NOT_STORED`,EMAIL_BATCH_ITEM_FAILED:`EMAIL_BATCH_ITEM_FAILED`,CALENDAR_PROVIDER_API_FAILED:`CALENDAR_PROVIDER_API_FAILED`,REFLEX_INVALID_TRANSITION:`REFLEX_INVALID_TRANSITION`,REFLEX_INVALID_TOKEN:`REFLEX_INVALID_TOKEN`,REFLEX_CAPABILITY_DENIED:`REFLEX_CAPABILITY_DENIED`,REFLEX_GATEWAY_UNAVAILABLE:`REFLEX_GATEWAY_UNAVAILABLE`,REFLEX_BUNDLE_FAILED:`REFLEX_BUNDLE_FAILED`,REFLEX_EGRESS_DENIED:`REFLEX_EGRESS_DENIED`,REFLEX_PROTOCOL_VIOLATION:`REFLEX_PROTOCOL_VIOLATION`,REFLEX_RUN_FAILED:`REFLEX_RUN_FAILED`,REFLEX_RUN_TIMEOUT:`REFLEX_RUN_TIMEOUT`,REFLEX_DEPENDENCY_DRIFT:`REFLEX_DEPENDENCY_DRIFT`,REFLEX_NOT_READY:`REFLEX_NOT_READY`,REFLEX_INVARIANT_VIOLATION:`REFLEX_INVARIANT_VIOLATION`,EMBEDDING_MODEL_UNAVAILABLE:`EMBEDDING_MODEL_UNAVAILABLE`,EMBEDDING_DIMENSION_MISMATCH:`EMBEDDING_DIMENSION_MISMATCH`};var SchemaError=class extends Error{constructor(t,n=e.UNKNOWN,r){super(t),this.name=`SchemaError`,this.code=n,this.details=r,Object.setPrototypeOf(this,new.target.prototype)}toJSON(){return{name:this.name,code:this.code,message:this.message,details:this.details}}},NotFoundError=class extends SchemaError{constructor(t,n,r=e.RECORD_NOT_FOUND,i=`${t} with id "${n}" not found`){super(i,r,{resourceType:t,resourceId:n}),this._tag=`NotFoundError`,this.name=`NotFoundError`,this.resourceType=t,this.resourceId=n}},ObjectNotFoundError=class extends NotFoundError{constructor(t){super(`Object`,t,e.OBJECT_NOT_FOUND),this.name=`ObjectNotFoundError`}},AttributeNotFoundError=class extends NotFoundError{constructor(t){super(`Attribute`,t,e.ATTRIBUTE_NOT_FOUND),this.name=`AttributeNotFoundError`}},RecordNotFoundError=class extends NotFoundError{constructor(t){super(`Record`,t,e.RECORD_NOT_FOUND),this.name=`RecordNotFoundError`}},SchemaPlanNotFoundError=class extends NotFoundError{constructor(t){super(`Schema plan`,t,e.SCHEMA_PLAN_NOT_FOUND),this.name=`SchemaPlanNotFoundError`}},t=class ValidationError extends SchemaError{constructor(t,n){super(t,e.VALIDATION_FAILED,{errors:n}),this._tag=`ValidationError`,this.name=`ValidationError`,this.errors=n}static fromZodErrors(e){let t=e.map(e=>({path:e.path.map(String),message:e.message})),n=`Validation failed: ${t.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`, `)}`;return new ValidationError(n,t)}},ProtectedResourceError=class extends SchemaError{constructor(t,n,r){let i=t===`object`?e.PROTECTED_OBJECT:t===`view`?e.PROTECTED_VIEW:e.PROTECTED_ATTRIBUTE;super(`Cannot ${r} system ${t} "${n}"`,i,{resourceType:t,resourceName:n,operation:r}),this.name=`ProtectedResourceError`,this.resourceType=t,this.resourceName=n,this.operation=r}},SyncError=class extends SchemaError{constructor(t,n,r){super(`Failed to sync object "${t}": ${n}`,e.SYNC_FAILED,{objectName:t,cause:r?.message}),this.name=`SyncError`,this.objectName=t,this.cause=r}},SystemEntityImmutableError=class extends SchemaError{constructor(t,n){super(`Cannot mutate system ${t} "${n}". System entities are declared in code and immutable at runtime.`,e.SYSTEM_ENTITY_IMMUTABLE,{entityType:t,entityName:n}),this.name=`SystemEntityImmutableError`,this.entityType=t,this.entityName=n}},SyncConflictError=class extends SchemaError{constructor(t){let n=t.attributeName?`"${t.objectName}.${t.attributeName}"`:`"${t.objectName}"`;super(`Cannot promote runtime entity ${n}: ${t.reason}. Resolve via: (1) relax the code constraint, (2) migrate runtime values manually, or (3) rename the code declaration.`,e.SYNC_CONFLICT,{objectName:t.objectName,attributeName:t.attributeName,reason:t.reason}),this.name=`SyncConflictError`,this.objectName=t.objectName,this.attributeName=t.attributeName,this.reason=t.reason}},SyncCascadeError=class extends SchemaError{constructor(t,n){super(`Cannot demote object "${t}": attributes ${n.join(`, `)} are still declared in code. Remove them from code first, or restore the object.`,e.SYNC_CASCADE,{objectName:t,conflictingAttributes:n}),this.name=`SyncCascadeError`,this.objectName=t,this.conflictingAttributes=n}},OrphanSystemAttributeError=class extends SchemaError{constructor(t,n){super(`Attribute "${t}.${n}" is system:true but its object parent is system:false. This is an invariant violation.`,e.ORPHAN_SYSTEM_ATTRIBUTE,{objectName:t,attributeName:n}),this.name=`OrphanSystemAttributeError`,this.objectName=t,this.attributeName=n}},DestructiveSyncNotAllowedError=class extends SchemaError{constructor(t){let n=t.map(e=>{let t=e;return t.name?`- ${e.type} "${t.name}"`:`- ${e.type}`}).join(`
|
|
3
|
+
`);super(`Destructive schema operations detected (data will be lost):\n${n}\n\nThese are applied only under an explicit opt-in; without it boot demotes the object to runtime and keeps its rows. To let Standards apply them automatically, set the environment variable:\n STANDARDS_ALLOW_DESTRUCTIVE_SYNC=1\n\nOtherwise, revert your code changes or back up the data first.`,e.DESTRUCTIVE_NOT_ALLOWED,{operations:t}),this.name=`DestructiveSyncNotAllowedError`,this.operations=t}},MigrationTimeoutError=class extends SchemaError{constructor(t,n,r,i){super(`Migration for "${t}" exceeded the maximum duration (${i}ms). Migrated ${n}/${r} records before timeout. Increase STANDARDS_MIGRATION_MAX_DURATION_MS or split the migration into smaller batches.`,e.MIGRATION_TIMEOUT,{objectName:t,migrated:n,total:r,maxDurationMs:i}),this.name=`MigrationTimeoutError`,this.objectName=t,this.migrated=n,this.total=r,this.maxDurationMs=i}},ChangeTypeNotSupportedError=class extends SchemaError{constructor(t,n){super(`Cannot change type of attribute "${t}.${n}" via runtime API. Declare a migration in your schema code:\n object("${t}").migration(N, (m) =>\n m.changeType("${n}", from, to, { transform: (v) => ... })\n )`,e.CHANGE_TYPE_NOT_SUPPORTED,{objectName:t,attributeName:n}),this.name=`ChangeTypeNotSupportedError`,this.objectName=t,this.attributeName=n}},DuplicateError=class extends SchemaError{constructor(t,n,r){let i=t===`object`?e.DUPLICATE_OBJECT:t===`attribute`?e.DUPLICATE_ATTRIBUTE:e.DUPLICATE,a=`${t.charAt(0).toUpperCase()}${t.slice(1)} "${n}" already exists`;super(r??a,i,{resourceType:t,resourceName:n}),this.name=`DuplicateError`,this.resourceType=t,this.resourceName=n}};const n={builder:`cannot be built by a consumer`,registry:`cannot be registered by a consumer`,bundle:`cannot be claimed by a bundle`,source:`cannot be declared by a schema source`};var ReservedObjectNameError=class extends SchemaError{constructor(t,r){super(`"${t}" is a framework-native object name and ${n[r]}: the framework ships it, pick another name.`,e.RESERVED_OBJECT_NAME,{objectName:t,context:r}),this.name=`ReservedObjectNameError`,this.objectName=t}};function isSchemaError(e){return e instanceof SchemaError}function isNotFoundError(e){return e instanceof NotFoundError}function isValidationError(e){return e instanceof t}function isProtectedResourceError(e){return e instanceof ProtectedResourceError}var ForbiddenError=class extends SchemaError{constructor(t,n,r){super(`No ${n} permission on object "${t}"`,e.FORBIDDEN,{objectName:t,action:n,userId:r}),this._tag=`ForbiddenError`,this.name=`ForbiddenError`,this.objectName=t,this.action=n,this.userId=r}},ProtectedRoleError=class extends SchemaError{constructor(t,n){super(`Cannot ${n} system role "${t}"`,e.PROTECTED_ROLE,{roleName:t,operation:n}),this.name=`ProtectedRoleError`,this.roleName=t,this.operation=n}},RoleNotFoundError=class extends NotFoundError{constructor(t){super(`Role`,t,e.ROLE_NOT_FOUND),this.name=`RoleNotFoundError`}},ConcurrentModificationError=class extends SchemaError{constructor(t){super(`Record ${t} was modified by another request. Please refresh and try again.`,e.CONFLICT,{recordId:t})}},StorageError=class extends SchemaError{constructor(t,n,r,i){let a=t===`upload`?e.STORAGE_UPLOAD_FAILED:t===`download`?e.STORAGE_DOWNLOAD_FAILED:t===`delete`?e.STORAGE_DELETE_FAILED:e.STORAGE_URL_FAILED;super(`Storage ${t} failed: ${n}`,a,{operation:t,path:r,cause:i}),this.name=`StorageError`,this.operation=t,this.path=r,this.cause=i}},AccessDeniedError=class extends SchemaError{constructor(t,n){super(n??`Access denied to resource: ${t}`,e.ACCESS_DENIED,{resource:t,reason:n}),this.name=`AccessDeniedError`,this.resource=t,this.reason=n}},RepositoryError=class extends SchemaError{constructor(t,n,r,i){let a=t===`create`?e.REPOSITORY_CREATE_FAILED:t===`update`?e.REPOSITORY_UPDATE_FAILED:t===`delete`?e.REPOSITORY_DELETE_FAILED:e.REPOSITORY_QUERY_FAILED;super(`Failed to ${t} ${n}: ${r}${i?` (${i})`:``}`,a,{operation:t,entity:n,cause:i}),this.name=`RepositoryError`,this.operation=t,this.entity=n,this.cause=i}},SearchBackendError=class extends SchemaError{constructor(t,n){super(`Search backend unavailable for ${t}`,e.SEARCH_BACKEND_FAILED,{scope:t,cause:n}),this.name=`SearchBackendError`,this.scope=t,this.cause=n}},NotImplementedError=class extends SchemaError{constructor(t,n){let r=n?`${t}: not implemented (${n})`:`${t}: not implemented`;super(r,e.NOT_IMPLEMENTED,{feature:t,milestone:n}),this.name=`NotImplementedError`,this.feature=t,this.milestone=n}},MemoryNotFoundError=class extends NotFoundError{constructor(t){super(`Memory`,t,e.MEMORY_NOT_FOUND),this.name=`MemoryNotFoundError`}},RecordReferencedError=class extends SchemaError{constructor(t,n){let r=n.reduce((e,t)=>e+t.count,0);super(`Cannot delete record: referenced by ${r} record${r>1?`s`:``}`,e.RECORD_REFERENCED,{recordId:t,references:n}),this.name=`RecordReferencedError`,this.recordId=t,this.references=n}},AttributeInUseError=class extends SchemaError{constructor(t,n){super(`Cannot delete attribute "${t}": used in ${n}`,e.ATTRIBUTE_IN_USE,{attributeName:t,usage:n}),this.name=`AttributeInUseError`,this.attributeName=t,this.usage=n}},ObjectReferencedError=class extends SchemaError{constructor(t,n){super(`Cannot delete object "${t}": target of relations in ${n.join(`, `)}`,e.OBJECT_REFERENCED,{objectName:t,referencingObjects:n}),this.name=`ObjectReferencedError`,this.objectName=t,this.referencingObjects=n}};function isRecordReferencedError(e){return e instanceof RecordReferencedError}function isAttributeInUseError(e){return e instanceof AttributeInUseError}function isObjectReferencedError(e){return e instanceof ObjectReferencedError}export{AccessDeniedError,AttributeInUseError,AttributeNotFoundError,ChangeTypeNotSupportedError,ConcurrentModificationError,DestructiveSyncNotAllowedError,DuplicateError,ForbiddenError,MemoryNotFoundError,MigrationTimeoutError,NotFoundError,NotImplementedError,ObjectNotFoundError,ObjectReferencedError,OrphanSystemAttributeError,ProtectedResourceError,ProtectedRoleError,RecordNotFoundError,RecordReferencedError,RepositoryError,ReservedObjectNameError,RoleNotFoundError,SchemaError,e as SchemaErrorCode,SchemaPlanNotFoundError,SearchBackendError,StorageError,SyncCascadeError,SyncConflictError,SyncError,SystemEntityImmutableError,t as ValidationError,isAttributeInUseError,isNotFoundError,isObjectReferencedError,isProtectedResourceError,isRecordReferencedError,isSchemaError,isValidationError};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
|
|
2
|
+
import { Y as Attribute } from "./exceptions-DGCzCc9t.js";
|
|
3
|
+
import { z as z$1 } from "zod";
|
|
4
|
+
//#region src/validation/core/types.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Validation messages for Zod validators.
|
|
7
|
+
* All functions receive the full Attribute to access label, type, etc.
|
|
8
|
+
* Can be customized for i18n support.
|
|
9
|
+
*/
|
|
10
|
+
interface ValidationMessages {
|
|
11
|
+
required: (attr: Attribute) => string;
|
|
12
|
+
invalidType: (attr: Attribute, expected: string) => string;
|
|
13
|
+
minLength: (attr: Attribute, min: number) => string;
|
|
14
|
+
maxLength: (attr: Attribute, max: number) => string;
|
|
15
|
+
invalidPattern: (attr: Attribute) => string;
|
|
16
|
+
minValue: (attr: Attribute, min: number) => string;
|
|
17
|
+
maxValue: (attr: Attribute, max: number) => string;
|
|
18
|
+
mustBeInteger: (attr: Attribute) => string;
|
|
19
|
+
invalidDate: (attr: Attribute) => string;
|
|
20
|
+
invalidOption: (attr: Attribute, options: string[]) => string;
|
|
21
|
+
invalidId: (attr: Attribute) => string;
|
|
22
|
+
maxItems: (attr: Attribute, max: number) => string;
|
|
23
|
+
invalidRichtext: (attr: Attribute) => string;
|
|
24
|
+
invalidPhone: (attr: Attribute) => string;
|
|
25
|
+
invalidCurrency: (attr: Attribute) => string;
|
|
26
|
+
invalidLocation: (attr: Attribute) => string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Validation result
|
|
30
|
+
*/
|
|
31
|
+
interface ValidationResult {
|
|
32
|
+
success: boolean;
|
|
33
|
+
data?: Record<string, unknown>;
|
|
34
|
+
errors?: Array<{
|
|
35
|
+
path: string[];
|
|
36
|
+
message: string;
|
|
37
|
+
}>;
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
//#region src/validation/core/messages.d.ts
|
|
41
|
+
declare const DEFAULT_VALIDATION_MESSAGES: ValidationMessages;
|
|
42
|
+
//#endregion
|
|
43
|
+
//#region src/validation/core/errors.d.ts
|
|
44
|
+
/**
|
|
45
|
+
* Format Zod validation errors into a consistent structure.
|
|
46
|
+
* This eliminates code duplication across multiple validation functions.
|
|
47
|
+
*/
|
|
48
|
+
declare function formatZodErrors(error: z$1.ZodError): Array<{
|
|
49
|
+
path: string[];
|
|
50
|
+
message: string;
|
|
51
|
+
}>;
|
|
52
|
+
//#endregion
|
|
53
|
+
export { ValidationResult as i, DEFAULT_VALIDATION_MESSAGES as n, ValidationMessages as r, formatZodErrors as t };
|
|
@@ -1,36 +1,38 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { g as Uuid, A as Attribute, h as MigrationDefinition } from './attributes-Cv6IP8-a.js';
|
|
3
|
-
import { V as ValidationMessages, a as ValidationResult } from './types-C5Bqalr9.js';
|
|
4
|
-
import { IconName } from '@stndrds/constants';
|
|
5
1
|
|
|
2
|
+
import { Jt as Uuid, K as MigrationDefinition, Y as Attribute } from "./exceptions-DGCzCc9t.mjs";
|
|
3
|
+
import { i as ValidationResult, r as ValidationMessages } from "./index-XtmC-C7J.mjs";
|
|
4
|
+
import { IconName } from "@stndrds/constants";
|
|
5
|
+
import { z as z$1 } from "zod";
|
|
6
|
+
//#region src/types/document-layout.d.ts
|
|
6
7
|
interface DocumentLayout {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
/** Named sub-folders auto-created at the top of the record's drive when first used via attach --variant. */
|
|
9
|
+
variants?: Record<string, DocumentLayoutVariant>;
|
|
10
|
+
/** Dev-declared folder structures the user can instantiate via the UI inside a record's drive. */
|
|
11
|
+
presets?: FolderPreset[];
|
|
11
12
|
}
|
|
12
13
|
interface DocumentLayoutVariant {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
/** Display title for the auto-created sub-folder. */
|
|
15
|
+
title: string;
|
|
16
|
+
description?: string;
|
|
16
17
|
}
|
|
17
18
|
interface FolderPreset {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
id: string;
|
|
20
|
+
label: string;
|
|
21
|
+
icon?: IconName;
|
|
22
|
+
description?: string;
|
|
23
|
+
structure: PresetNode[];
|
|
24
|
+
/** When true, this preset is auto-instantiated on every new record's drive for the owning object. */
|
|
25
|
+
autoInstantiate?: boolean;
|
|
25
26
|
}
|
|
26
27
|
interface PresetNode {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
title: string;
|
|
29
|
+
description?: string;
|
|
30
|
+
children?: PresetNode[];
|
|
30
31
|
}
|
|
31
32
|
/** Max depth allowed for preset.structure to keep instantiation predictable. */
|
|
32
33
|
declare const MAX_PRESET_DEPTH = 5;
|
|
33
|
-
|
|
34
|
+
//#endregion
|
|
35
|
+
//#region src/types/objects.d.ts
|
|
34
36
|
/** Visibility scopes shared by resources that can be workspace-wide or actor-private. */
|
|
35
37
|
declare const RESOURCE_VISIBILITIES: readonly ["workspace", "private"];
|
|
36
38
|
type ResourceVisibility = (typeof RESOURCE_VISIBILITIES)[number];
|
|
@@ -66,138 +68,138 @@ declare function parseResourceVisibility(value: unknown): ResourceVisibility;
|
|
|
66
68
|
* Timestamps for tracking creation and updates
|
|
67
69
|
*/
|
|
68
70
|
interface Timestamps {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
+
createdAt: Date;
|
|
72
|
+
updatedAt: Date;
|
|
71
73
|
}
|
|
72
74
|
/**
|
|
73
75
|
* Object definition - Represents a database table/entity
|
|
74
76
|
*/
|
|
75
77
|
interface ObjectDefinition {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
78
|
+
id?: Uuid;
|
|
79
|
+
name: string;
|
|
80
|
+
label: string;
|
|
81
|
+
pluralLabel?: string;
|
|
82
|
+
description?: string;
|
|
83
|
+
icon?: IconName;
|
|
84
|
+
/**
|
|
85
|
+
* Template expression used to compute the object's display label.
|
|
86
|
+
* Supports variable interpolation and pipes for formatting.
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* // Simple attribute reference
|
|
91
|
+
* labelExpression: "{{ name }}"
|
|
92
|
+
*
|
|
93
|
+
* // Multiple attributes
|
|
94
|
+
* labelExpression: "{{ firstName }} {{ lastName }}"
|
|
95
|
+
*
|
|
96
|
+
* // With pipes for formatting
|
|
97
|
+
* labelExpression: "{{ code | UPPER }} - {{ name | capitalize }}"
|
|
98
|
+
* ```
|
|
99
|
+
*
|
|
100
|
+
* Available pipes: UPPER, LOWER, capitalize, trim
|
|
101
|
+
*/
|
|
102
|
+
labelExpression: string;
|
|
103
|
+
/**
|
|
104
|
+
* Optional template expression used to compute the semantic text sent to
|
|
105
|
+
* Meilisearch for vector generation. When absent, records opt out of semantic
|
|
106
|
+
* embedding generation.
|
|
107
|
+
*/
|
|
108
|
+
embeddingExpression?: string;
|
|
109
|
+
attributes: Attribute[];
|
|
110
|
+
system?: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* If true, no custom (user-created) attributes are allowed on this object.
|
|
113
|
+
* `standards diff` will report an error if any custom attribute is found.
|
|
114
|
+
* Use .sealed() on the ObjectBuilder to set this.
|
|
115
|
+
*/
|
|
116
|
+
sealed?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* List of custom attribute names explicitly acknowledged by the developer.
|
|
119
|
+
* On a sealed object, these names will NOT trigger a CI failure.
|
|
120
|
+
* On an extensible object, this is purely documentary.
|
|
121
|
+
* Use .tolerate(["name"]) on the ObjectBuilder to set this.
|
|
122
|
+
*/
|
|
123
|
+
toleratedAttributes?: string[];
|
|
124
|
+
metadata?: Record<string, unknown>;
|
|
125
|
+
/** Current schema version (incremented with each migration) */
|
|
126
|
+
schema_version: number;
|
|
127
|
+
/** Ordered list of migrations applied to this object's schema */
|
|
128
|
+
migrations: MigrationDefinition[];
|
|
129
|
+
/** Smart-folder layout convention for documents attached to records of this object. */
|
|
130
|
+
documentLayout?: DocumentLayout;
|
|
129
131
|
}
|
|
130
132
|
/**
|
|
131
133
|
* Links an attribute to an object
|
|
132
134
|
*/
|
|
133
135
|
interface ObjectAttribute {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
objectId: Uuid;
|
|
137
|
+
attributeId: Uuid;
|
|
138
|
+
order?: number;
|
|
139
|
+
required?: boolean;
|
|
138
140
|
}
|
|
139
141
|
/**
|
|
140
142
|
* Record - Instance of an Object (a row in the database)
|
|
141
143
|
*/
|
|
142
144
|
interface ObjectRecord<TValues extends Record<string, unknown> = Record<string, unknown>> extends Timestamps {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
145
|
+
id: Uuid;
|
|
146
|
+
objectId: Uuid;
|
|
147
|
+
/**
|
|
148
|
+
* Name of the owning object. Present on every row read through the repository
|
|
149
|
+
* (`object_records.object_name` is denormalized and always selected), absent
|
|
150
|
+
* on records built in memory before a write.
|
|
151
|
+
*/
|
|
152
|
+
objectName?: string;
|
|
153
|
+
/** Workspace-wide or owner-private visibility enforced by repository queries. */
|
|
154
|
+
visibility: ResourceVisibility;
|
|
155
|
+
/** Owning actor for private records; always null for workspace records. */
|
|
156
|
+
ownedBy: Uuid | null;
|
|
157
|
+
/**
|
|
158
|
+
* Display label computed from the object's labelExpression.
|
|
159
|
+
* Computed dynamically based on record values.
|
|
160
|
+
*
|
|
161
|
+
* @example "John Doe" (from "{{ firstName }} {{ lastName }}")
|
|
162
|
+
*/
|
|
163
|
+
label: string;
|
|
164
|
+
/**
|
|
165
|
+
* Semantic text computed from the object's embeddingExpression and persisted
|
|
166
|
+
* for Meilisearch documentTemplate-based vector generation.
|
|
167
|
+
*/
|
|
168
|
+
embeddingText?: string;
|
|
169
|
+
values: TValues;
|
|
170
|
+
/**
|
|
171
|
+
* Custom metadata for the record.
|
|
172
|
+
* Use this for UI/UX state, feature flags, or any application-specific data.
|
|
173
|
+
* Unlike system fields (id, createdAt, updatedAt), metadata can be updated.
|
|
174
|
+
*/
|
|
175
|
+
metadata?: Record<string, unknown>;
|
|
176
|
+
/**
|
|
177
|
+
* Soft delete timestamp.
|
|
178
|
+
* If set, the record is considered deleted but can be restored.
|
|
179
|
+
* Queries exclude soft-deleted records by default.
|
|
180
|
+
*/
|
|
181
|
+
deletedAt?: Date | null;
|
|
182
|
+
/**
|
|
183
|
+
* Actor ID who soft-deleted this record.
|
|
184
|
+
* Set alongside deletedAt when a record is soft-deleted.
|
|
185
|
+
*/
|
|
186
|
+
deletedBy?: string | null;
|
|
187
|
+
/**
|
|
188
|
+
* Actor ID who created this record.
|
|
189
|
+
* Automatically set by RecordService when actorId is configured.
|
|
190
|
+
* Optional for backward compatibility with existing records.
|
|
191
|
+
*/
|
|
192
|
+
createdBy?: string;
|
|
193
|
+
/**
|
|
194
|
+
* Actor ID who last updated this record.
|
|
195
|
+
* Automatically set by RecordService when actorId is configured.
|
|
196
|
+
* Optional for backward compatibility with existing records.
|
|
197
|
+
*/
|
|
198
|
+
lastUpdatedBy?: string;
|
|
199
|
+
/** Storage-managed exact optimistic-lock token for atomic record writes. */
|
|
200
|
+
writeVersion?: number;
|
|
201
|
+
/** Schema version at the time this record was last migrated */
|
|
202
|
+
schemaVersion: number;
|
|
201
203
|
}
|
|
202
204
|
/**
|
|
203
205
|
* System-managed field names on ObjectRecord.
|
|
@@ -247,7 +249,8 @@ type ReservedAttributeName = (typeof RESERVED_ATTRIBUTE_NAMES)[number];
|
|
|
247
249
|
*/
|
|
248
250
|
declare const RESERVED_OBJECT_NAMES: readonly ["skill", "memory", "drives", "artifact", "meeting"];
|
|
249
251
|
type ReservedObjectName = (typeof RESERVED_OBJECT_NAMES)[number];
|
|
250
|
-
|
|
252
|
+
//#endregion
|
|
253
|
+
//#region src/validation/object/attribute-factory.d.ts
|
|
251
254
|
/**
|
|
252
255
|
* Create a Zod schema for any attribute type.
|
|
253
256
|
* Returns a strict validator that does NOT handle optional fields.
|
|
@@ -256,7 +259,7 @@ type ReservedObjectName = (typeof RESERVED_OBJECT_NAMES)[number];
|
|
|
256
259
|
* @param attr - The attribute to create a validator for
|
|
257
260
|
* @param messages - Custom validation messages for i18n support
|
|
258
261
|
*/
|
|
259
|
-
declare function createAttributeValidator(attr: Attribute, messages?: ValidationMessages): z.ZodTypeAny;
|
|
262
|
+
declare function createAttributeValidator(attr: Attribute, messages?: ValidationMessages): z$1.ZodTypeAny;
|
|
260
263
|
/**
|
|
261
264
|
* Create a Zod schema for form validation.
|
|
262
265
|
* - Normalizes empty values (empty strings, empty objects) to null for optional fields
|
|
@@ -267,8 +270,32 @@ declare function createAttributeValidator(attr: Attribute, messages?: Validation
|
|
|
267
270
|
* @param attr - The attribute to create a validator for
|
|
268
271
|
* @param messages - Custom validation messages for i18n support
|
|
269
272
|
*/
|
|
270
|
-
declare function createFormAttributeValidator(attr: Attribute, messages?: ValidationMessages): z.ZodTypeAny;
|
|
271
|
-
|
|
273
|
+
declare function createFormAttributeValidator(attr: Attribute, messages?: ValidationMessages): z$1.ZodTypeAny;
|
|
274
|
+
//#endregion
|
|
275
|
+
//#region src/validation/object/object-validator.d.ts
|
|
276
|
+
/**
|
|
277
|
+
* Create a Zod schema for an entire object
|
|
278
|
+
*
|
|
279
|
+
* Uses passthrough mode to allow computed fields (formula, rollup) that may be
|
|
280
|
+
* present in record data but are not part of the mutable schema.
|
|
281
|
+
*
|
|
282
|
+
* Result is cached per ObjectDefinition instance — safe because ObjectDefinitions
|
|
283
|
+
* are stable after module load and never mutated at runtime.
|
|
284
|
+
*/
|
|
285
|
+
declare function createObjectValidator(objectDef: ObjectDefinition): z$1.ZodType<Record<string, unknown>>;
|
|
286
|
+
/**
|
|
287
|
+
* Create a Zod schema for draft validation.
|
|
288
|
+
* All attributes become optional, but provided values are still validated.
|
|
289
|
+
*
|
|
290
|
+
* Uses passthrough mode to allow computed fields (formula, rollup) that may be
|
|
291
|
+
* present in record data but are not part of the mutable schema.
|
|
292
|
+
*
|
|
293
|
+
* Result is cached per ObjectDefinition instance — safe because ObjectDefinitions
|
|
294
|
+
* are stable after module load and never mutated at runtime.
|
|
295
|
+
*/
|
|
296
|
+
declare function createDraftValidator(objectDef: ObjectDefinition): z$1.ZodType<Record<string, unknown>>;
|
|
297
|
+
//#endregion
|
|
298
|
+
//#region src/validation/object/helpers.d.ts
|
|
272
299
|
/**
|
|
273
300
|
* Validate data against an attribute schema
|
|
274
301
|
*/
|
|
@@ -317,5 +344,5 @@ declare function getMissingRequiredAttributes(objectDef: ObjectDefinition, data:
|
|
|
317
344
|
* Check if a record is complete (all required attributes have valid values).
|
|
318
345
|
*/
|
|
319
346
|
declare function isRecordComplete(objectDef: ObjectDefinition, data: Record<string, unknown>): boolean;
|
|
320
|
-
|
|
321
|
-
export {
|
|
347
|
+
//#endregion
|
|
348
|
+
export { FolderPreset as A, ResourceVisibility as C, parseResourceVisibility as D, Timestamps as E, PresetNode as M, DocumentLayout as O, ReservedObjectName as S, SystemFieldName as T, ObjectRecord as _, validateDraft as a, RESOURCE_VISIBILITIES as b, validateObjectOrThrow as c, createAttributeValidator as d, createFormAttributeValidator as f, ObjectDefinition as g, ObjectAttribute as h, validateAttribute as i, MAX_PRESET_DEPTH as j, DocumentLayoutVariant as k, createDraftValidator as l, ListViewTabVisibility as m, isRecordComplete as n, validateDraftOrThrow as o, LIST_VIEW_TAB_VISIBILITIES as p, rejectUnknownAttributesOrThrow as r, validateObject as s, getMissingRequiredAttributes as t, createObjectValidator as u, RESERVED_ATTRIBUTE_NAMES as v, SYSTEM_FIELD_NAMES as w, ReservedAttributeName as x, RESERVED_OBJECT_NAMES as y };
|