@stndrds/schema 1.0.0-alpha.294 → 1.0.0-alpha.296

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.
Files changed (175) hide show
  1. package/LICENSE +111 -0
  2. package/README.md +7 -0
  3. package/dist/{all-Cru_CaSY.d.mts → all-BekDmUP1.d.mts} +32 -32
  4. package/dist/{all-CDJSpI46.d.ts → all-Bl3DlCEn.d.ts} +32 -32
  5. package/dist/{attributes-CWPLbp7c.d.mts → attributes-CtS5Gf_i.d.mts} +1 -1
  6. package/dist/{attributes-CNYwg_Nr.d.ts → attributes-SIbTof03.d.ts} +1 -1
  7. package/dist/capabilities.js +2 -77
  8. package/dist/capabilities.mjs +2 -70
  9. package/dist/chunk-23KPS33D.js +2 -0
  10. package/dist/chunk-47EGJRW7.js +4 -0
  11. package/dist/chunk-47KVYDKG.js +2 -0
  12. package/dist/chunk-4OTKOCGB.mjs +2 -0
  13. package/dist/chunk-4VCADZK4.mjs +2 -0
  14. package/dist/chunk-5QAE5NPN.js +6 -0
  15. package/dist/chunk-72TQRSNX.js +12 -0
  16. package/dist/chunk-DPD6ZWL2.js +2 -0
  17. package/dist/chunk-GKXTXH4Y.mjs +2 -0
  18. package/dist/chunk-GWAHL4A2.mjs +2 -0
  19. package/dist/chunk-GXSNLYRR.js +2 -0
  20. package/dist/chunk-JCPAOH76.mjs +2 -0
  21. package/dist/chunk-JFSQ24XR.js +2 -0
  22. package/dist/chunk-JOS2XMXY.js +2 -0
  23. package/dist/chunk-JVLH3DVZ.js +2 -0
  24. package/dist/chunk-KG2ADZG6.mjs +2 -0
  25. package/dist/chunk-KLR22JMC.js +2 -0
  26. package/dist/chunk-KSPJP74K.mjs +2 -0
  27. package/dist/chunk-KYPEBOPW.mjs +2 -0
  28. package/dist/chunk-LB4TNMZU.mjs +2 -0
  29. package/dist/chunk-LQYUPOWB.js +2 -0
  30. package/dist/chunk-LSCBR4VS.js +2 -0
  31. package/dist/chunk-LWSOKXPF.js +2 -0
  32. package/dist/chunk-O34B5KOW.mjs +2 -0
  33. package/dist/chunk-PFO7NWQW.mjs +2 -0
  34. package/dist/chunk-PT25FZ62.mjs +12 -0
  35. package/dist/chunk-Q7TQCRSD.mjs +2 -0
  36. package/dist/chunk-RFKNNT2Q.mjs +4 -0
  37. package/dist/chunk-SDOYGWU4.js +2 -0
  38. package/dist/chunk-SLYRQ72J.js +2 -0
  39. package/dist/chunk-UXISKZ5Y.js +2 -0
  40. package/dist/chunk-V43RXKN2.mjs +6 -0
  41. package/dist/chunk-VKFLXFPP.mjs +2 -0
  42. package/dist/chunk-WMQRTFOP.mjs +2 -0
  43. package/dist/chunk-XHEBV2HE.js +2 -0
  44. package/dist/chunk-XMQV2WFY.mjs +2 -0
  45. package/dist/chunk-XRDP2Y4J.mjs +2 -0
  46. package/dist/chunk-XUAP7KWK.js +2 -0
  47. package/dist/chunk-XXTKNIBK.js +2 -0
  48. package/dist/chunk-YIXNAWH6.mjs +2 -0
  49. package/dist/exceptions.d.mts +8 -2
  50. package/dist/exceptions.d.ts +8 -2
  51. package/dist/exceptions.js +1 -158
  52. package/dist/exceptions.mjs +1 -1
  53. package/dist/{helpers-Dul_r9rJ.d.mts → helpers-BUsoR80N.d.mts} +3 -3
  54. package/dist/{helpers-CXkVwpsl.d.ts → helpers-DZFOorZt.d.ts} +3 -3
  55. package/dist/{index-CFhPHQaI.d.ts → index-DaY37pqb.d.ts} +2 -2
  56. package/dist/{index-BdVnHL3F.d.mts → index-EHhbbH-p.d.mts} +2 -2
  57. package/dist/index.d.mts +500 -146
  58. package/dist/index.d.ts +500 -146
  59. package/dist/index.js +30 -10514
  60. package/dist/index.mjs +30 -9626
  61. package/dist/{migrations-fRvadl6i.d.mts → migrations-DRBic-QO.d.mts} +1 -1
  62. package/dist/{migrations-DaFneOfx.d.ts → migrations-DhQ05TqN.d.ts} +1 -1
  63. package/dist/{objects-DJv6WrDE.d.ts → objects-DMOfJNYg.d.ts} +2 -2
  64. package/dist/{objects-CDwMSnqv.d.mts → objects-KU7alqZq.d.mts} +2 -2
  65. package/dist/{types-NGEww_ln.d.ts → types-BNaHEz_n.d.ts} +1 -1
  66. package/dist/{types-CVYiFc69.d.mts → types-ldo4nJxP.d.mts} +1 -1
  67. package/dist/utils.js +1 -31
  68. package/dist/utils.mjs +1 -2
  69. package/dist/validation/all.d.mts +7 -7
  70. package/dist/validation/all.d.ts +7 -7
  71. package/dist/validation/all.js +1 -131
  72. package/dist/validation/all.mjs +1 -18
  73. package/dist/validation/complex/currency.d.mts +2 -2
  74. package/dist/validation/complex/currency.d.ts +2 -2
  75. package/dist/validation/complex/currency.js +1 -11
  76. package/dist/validation/complex/currency.mjs +1 -2
  77. package/dist/validation/complex/location.d.mts +2 -2
  78. package/dist/validation/complex/location.d.ts +2 -2
  79. package/dist/validation/complex/location.js +1 -11
  80. package/dist/validation/complex/location.mjs +1 -2
  81. package/dist/validation/complex/phone.d.mts +2 -2
  82. package/dist/validation/complex/phone.d.ts +2 -2
  83. package/dist/validation/complex/phone.js +1 -11
  84. package/dist/validation/complex/phone.mjs +1 -2
  85. package/dist/validation/complex/relation.d.mts +2 -2
  86. package/dist/validation/complex/relation.d.ts +2 -2
  87. package/dist/validation/complex/relation.js +1 -19
  88. package/dist/validation/complex/relation.mjs +1 -2
  89. package/dist/validation/complex/richtext.d.mts +2 -2
  90. package/dist/validation/complex/richtext.d.ts +2 -2
  91. package/dist/validation/complex/richtext.js +1 -11
  92. package/dist/validation/complex/richtext.mjs +1 -2
  93. package/dist/validation/complex/select.d.mts +2 -2
  94. package/dist/validation/complex/select.d.ts +2 -2
  95. package/dist/validation/complex/select.js +1 -19
  96. package/dist/validation/complex/select.mjs +1 -2
  97. package/dist/validation/complex/user.d.mts +2 -2
  98. package/dist/validation/complex/user.d.ts +2 -2
  99. package/dist/validation/complex/user.js +1 -11
  100. package/dist/validation/complex/user.mjs +1 -2
  101. package/dist/validation/computed/formula.d.mts +2 -2
  102. package/dist/validation/computed/formula.d.ts +2 -2
  103. package/dist/validation/computed/formula.js +1 -11
  104. package/dist/validation/computed/formula.mjs +1 -2
  105. package/dist/validation/computed/rollup.d.mts +2 -2
  106. package/dist/validation/computed/rollup.d.ts +2 -2
  107. package/dist/validation/computed/rollup.js +1 -11
  108. package/dist/validation/computed/rollup.mjs +1 -2
  109. package/dist/validation/config/index.d.mts +4 -4
  110. package/dist/validation/config/index.d.ts +4 -4
  111. package/dist/validation/config/index.js +1 -52
  112. package/dist/validation/config/index.mjs +1 -7
  113. package/dist/validation/core/index.d.mts +3 -3
  114. package/dist/validation/core/index.d.ts +3 -3
  115. package/dist/validation/core/index.js +1 -14
  116. package/dist/validation/core/index.mjs +1 -1
  117. package/dist/validation/object/index.d.mts +5 -5
  118. package/dist/validation/object/index.d.ts +5 -5
  119. package/dist/validation/object/index.js +1 -69
  120. package/dist/validation/object/index.mjs +1 -16
  121. package/dist/validation/primitives/checkbox.d.mts +2 -2
  122. package/dist/validation/primitives/checkbox.d.ts +2 -2
  123. package/dist/validation/primitives/checkbox.js +1 -11
  124. package/dist/validation/primitives/checkbox.mjs +1 -2
  125. package/dist/validation/primitives/date.d.mts +2 -2
  126. package/dist/validation/primitives/date.d.ts +2 -2
  127. package/dist/validation/primitives/date.js +1 -11
  128. package/dist/validation/primitives/date.mjs +1 -2
  129. package/dist/validation/primitives/number.d.mts +2 -2
  130. package/dist/validation/primitives/number.d.ts +2 -2
  131. package/dist/validation/primitives/number.js +1 -11
  132. package/dist/validation/primitives/number.mjs +1 -2
  133. package/dist/validation/primitives/text.d.mts +2 -2
  134. package/dist/validation/primitives/text.d.ts +2 -2
  135. package/dist/validation/primitives/text.js +1 -11
  136. package/dist/validation/primitives/text.mjs +1 -2
  137. package/package.json +7 -5
  138. package/dist/chunk-2WWGHULM.mjs +0 -226
  139. package/dist/chunk-4KMUATDG.js +0 -609
  140. package/dist/chunk-5WATIVCA.js +0 -10
  141. package/dist/chunk-ACKMC6FL.js +0 -17
  142. package/dist/chunk-AYVHMVKQ.mjs +0 -15
  143. package/dist/chunk-CLZORRMS.mjs +0 -570
  144. package/dist/chunk-DVXGSTWJ.js +0 -81
  145. package/dist/chunk-E6JUYGJX.js +0 -22
  146. package/dist/chunk-EEH4XQ7W.js +0 -61
  147. package/dist/chunk-EW5XR2X3.js +0 -12
  148. package/dist/chunk-GO6LQADH.mjs +0 -57
  149. package/dist/chunk-HRQEZUAA.mjs +0 -29
  150. package/dist/chunk-HTSTPTNZ.js +0 -10
  151. package/dist/chunk-HURC6CW3.js +0 -241
  152. package/dist/chunk-JZNR4HKQ.mjs +0 -1432
  153. package/dist/chunk-KAWYU7TE.js +0 -657
  154. package/dist/chunk-KNGWHQLR.js +0 -16
  155. package/dist/chunk-LV3FEUKU.mjs +0 -14
  156. package/dist/chunk-NS63SPNN.mjs +0 -8
  157. package/dist/chunk-O73ROMWQ.mjs +0 -85
  158. package/dist/chunk-OSSGN43B.mjs +0 -8
  159. package/dist/chunk-Q44QKLN4.mjs +0 -43
  160. package/dist/chunk-Q4SZAMJT.js +0 -72
  161. package/dist/chunk-QT35SI3K.mjs +0 -641
  162. package/dist/chunk-QVLQPW3O.mjs +0 -10
  163. package/dist/chunk-QWKLQRBX.js +0 -35
  164. package/dist/chunk-R2DAEDRF.mjs +0 -74
  165. package/dist/chunk-R5LAJCBU.mjs +0 -67
  166. package/dist/chunk-SI34M4IC.js +0 -45
  167. package/dist/chunk-T5PM73EF.js +0 -1504
  168. package/dist/chunk-UANQJ2GH.mjs +0 -25
  169. package/dist/chunk-UXAHLSWC.mjs +0 -8
  170. package/dist/chunk-V2UA2D4E.js +0 -10
  171. package/dist/chunk-YIP5FJ5H.js +0 -27
  172. package/dist/chunk-YKWSHBT5.js +0 -32
  173. package/dist/chunk-YUFTHPOE.mjs +0 -20
  174. package/dist/chunk-ZDQ5AP26.mjs +0 -31
  175. package/dist/chunk-ZPFOKBIN.js +0 -89
@@ -1,609 +0,0 @@
1
- 'use strict';
2
-
3
- // src/exceptions.ts
4
- var SchemaErrorCode = {
5
- // Generic
6
- UNKNOWN: "SCHEMA_UNKNOWN_ERROR",
7
- // Not Found
8
- OBJECT_NOT_FOUND: "SCHEMA_OBJECT_NOT_FOUND",
9
- ATTRIBUTE_NOT_FOUND: "SCHEMA_ATTRIBUTE_NOT_FOUND",
10
- RECORD_NOT_FOUND: "SCHEMA_RECORD_NOT_FOUND",
11
- ROLE_NOT_FOUND: "SCHEMA_ROLE_NOT_FOUND",
12
- MEMORY_NOT_FOUND: "SCHEMA_MEMORY_NOT_FOUND",
13
- SCHEMA_PLAN_NOT_FOUND: "SCHEMA_PLAN_NOT_FOUND",
14
- // Validation
15
- VALIDATION_FAILED: "SCHEMA_VALIDATION_FAILED",
16
- INVALID_ATTRIBUTE_NAME: "SCHEMA_INVALID_ATTRIBUTE_NAME",
17
- INVALID_OBJECT_NAME: "SCHEMA_INVALID_OBJECT_NAME",
18
- // Protected Resources
19
- PROTECTED_OBJECT: "SCHEMA_PROTECTED_OBJECT",
20
- PROTECTED_ATTRIBUTE: "SCHEMA_PROTECTED_ATTRIBUTE",
21
- PROTECTED_VIEW: "SCHEMA_PROTECTED_VIEW",
22
- PROTECTED_ROLE: "SCHEMA_PROTECTED_ROLE",
23
- // Permissions
24
- //
25
- // `FORBIDDEN` means "you lack permission", and only that (#2681).
26
- FORBIDDEN: "SCHEMA_FORBIDDEN",
27
- ACCESS_DENIED: "SCHEMA_ACCESS_DENIED",
28
- // Refusals that are NOT permission denials (#2681)
29
- //
30
- // `FORBIDDEN`'s message is redacted to a neutral sentence (#2675), which is
31
- // honest only while the code means one thing. It did not: a workspace
32
- // invariant (the last owner), a state gate (a disarmed reflex), an
33
- // immutability refusal (system forms) and a missing actor context each told
34
- // a caller who holds every permission that they lack one, sending them to an
35
- // administrator with nothing to grant. So a refusal a permission grant would
36
- // NOT lift takes one of the codes below — plus `SYSTEM_ENTITY_IMMUTABLE`,
37
- // which already existed — and keeps the explanatory message that names its
38
- // remedy. Every one answers 403, exactly as it did while miscoded: the
39
- // ruling changed the semantics, not a single HTTP status.
40
- //
41
- // A fifth site was seen and deliberately left alone: `ApiKeyService`'s
42
- // missing-actor refusal answers 400 `VALIDATION_FAILED`, and moving it here
43
- // would change a public HTTP status — which the ruling forbids. It stays at
44
- // its 400 pending a ruling of its own.
45
- /**
46
- * A workspace RULE refuses the write — the last owner cannot be removed.
47
- *
48
- * Not `INVARIANT_VIOLATION`, despite the name: that one is an internal
49
- * "should never happen" assertion, a bug signal nobody outside the codebase
50
- * can act on. This is the opposite — a rule the caller can act on, reached
51
- * by a request that was entirely well-formed, whose message tells them how.
52
- */
53
- WORKSPACE_INVARIANT: "SCHEMA_WORKSPACE_INVARIANT",
54
- /** The resource's own state refuses the operation — a disarmed reflex run. */
55
- STATE_GATE: "SCHEMA_STATE_GATE",
56
- /** The operation needs an actor and the request carried none. */
57
- ACTOR_CONTEXT_REQUIRED: "SCHEMA_ACTOR_CONTEXT_REQUIRED",
58
- // Connectors
59
- CONNECTOR_AUTH_FAILED: "SCHEMA_CONNECTOR_AUTH_FAILED",
60
- CONNECTOR_INVALID_STATE: "SCHEMA_CONNECTOR_INVALID_STATE",
61
- /**
62
- * The provider issued tokens and the flow failed AFTER that — resolving the
63
- * connected address. Distinct from CONNECTOR_AUTH_FAILED because the user is
64
- * left holding a real grant: consent happened, and it may still be live on the
65
- * provider side even though no connection row exists here.
66
- */
67
- CONNECTOR_GRANT_ORPHANED: "SCHEMA_CONNECTOR_GRANT_ORPHANED",
68
- // Sync
69
- SYNC_FAILED: "SCHEMA_SYNC_FAILED",
70
- SYNC_CONFLICT: "SCHEMA_SYNC_CONFLICT",
71
- SYNC_CASCADE: "SCHEMA_SYNC_CASCADE",
72
- ORPHAN_SYSTEM_ATTRIBUTE: "SCHEMA_ORPHAN_SYSTEM_ATTRIBUTE",
73
- // System Entity Immutability
74
- SYSTEM_ENTITY_IMMUTABLE: "SCHEMA_SYSTEM_ENTITY_IMMUTABLE",
75
- // L2 — migration system simplification (2026-05-17)
76
- DESTRUCTIVE_NOT_ALLOWED: "SCHEMA_DESTRUCTIVE_NOT_ALLOWED",
77
- MIGRATION_TIMEOUT: "SCHEMA_MIGRATION_TIMEOUT",
78
- CHANGE_TYPE_NOT_SUPPORTED: "SCHEMA_CHANGE_TYPE_NOT_SUPPORTED",
79
- // Duplicates
80
- DUPLICATE: "SCHEMA_DUPLICATE",
81
- DUPLICATE_OBJECT: "SCHEMA_DUPLICATE_OBJECT",
82
- DUPLICATE_ATTRIBUTE: "SCHEMA_DUPLICATE_ATTRIBUTE",
83
- // Concurrency
84
- CONFLICT: "SCHEMA_CONFLICT",
85
- // Storage
86
- STORAGE_UPLOAD_FAILED: "SCHEMA_STORAGE_UPLOAD_FAILED",
87
- STORAGE_DOWNLOAD_FAILED: "SCHEMA_STORAGE_DOWNLOAD_FAILED",
88
- STORAGE_DELETE_FAILED: "SCHEMA_STORAGE_DELETE_FAILED",
89
- STORAGE_URL_FAILED: "SCHEMA_STORAGE_URL_FAILED",
90
- // Repository Operations
91
- REPOSITORY_CREATE_FAILED: "SCHEMA_REPOSITORY_CREATE_FAILED",
92
- REPOSITORY_UPDATE_FAILED: "SCHEMA_REPOSITORY_UPDATE_FAILED",
93
- REPOSITORY_DELETE_FAILED: "SCHEMA_REPOSITORY_DELETE_FAILED",
94
- REPOSITORY_QUERY_FAILED: "SCHEMA_REPOSITORY_QUERY_FAILED",
95
- // Not Implemented
96
- NOT_IMPLEMENTED: "SCHEMA_NOT_IMPLEMENTED",
97
- // Timeout
98
- TIMEOUT: "SCHEMA_TIMEOUT",
99
- // Schema Integrity
100
- RECORD_REFERENCED: "SCHEMA_RECORD_REFERENCED",
101
- ATTRIBUTE_IN_USE: "SCHEMA_ATTRIBUTE_IN_USE",
102
- OBJECT_REFERENCED: "SCHEMA_OBJECT_REFERENCED",
103
- // --------------------------------------------------------------------------
104
- // Platform-wide codes (runtime). This enum is the single registry of every
105
- // error type across the stack; domain error classes live in their module but
106
- // draw their `code` from here. Never throw a raw `Error` — pick a code below.
107
- // --------------------------------------------------------------------------
108
- // Configuration / wiring — a required runtime dependency is not configured
109
- CONFIGURATION_REQUIRED: "CONFIGURATION_REQUIRED",
110
- SEARCH_ADAPTER_REQUIRED: "SEARCH_ADAPTER_REQUIRED",
111
- // Background jobs — one or more cron schedules could not be armed at boot
112
- CRON_REGISTRATION_FAILED: "CRON_REGISTRATION_FAILED",
113
- // Search backend — a search read call failed at the transport level
114
- // (non-API transport error: JSON.parse on a non-JSON body, network failure)
115
- SEARCH_BACKEND_FAILED: "SEARCH_BACKEND_FAILED",
116
- // Invariants — internal "should never happen" assertions (programmer error)
117
- INVARIANT_VIOLATION: "INVARIANT_VIOLATION",
118
- // Tenant / context
119
- TENANT_CONTEXT_MISSING: "TENANT_CONTEXT_MISSING",
120
- FEATURE_FLAGS_CONTEXT: "FEATURE_FLAGS_CONTEXT",
121
- // Realtime delivery — stable codes shared by runtime and transport adapters
122
- REALTIME_RATE_LIMITED: "REALTIME_RATE_LIMITED",
123
- REALTIME_DELIVERY_FAILED: "REALTIME_DELIVERY_FAILED",
124
- REALTIME_SUBSCRIPTION_FAILED: "REALTIME_SUBSCRIPTION_FAILED",
125
- // Agents
126
- AGENT_UNKNOWN: "AGENT_UNKNOWN",
127
- AGENT_DEPTH_EXCEEDED: "AGENT_DEPTH_EXCEEDED",
128
- AGENT_COST_LIMIT_EXCEEDED: "AGENT_COST_LIMIT_EXCEEDED",
129
- AGENT_TREE_COST_LIMIT_EXCEEDED: "AGENT_TREE_COST_LIMIT_EXCEEDED",
130
- AGENT_SESSION_NOT_FOUND: "AGENT_SESSION_NOT_FOUND",
131
- AGENT_DEFINITION_NOT_FOUND: "AGENT_DEFINITION_NOT_FOUND",
132
- AGENT_RUN_CONFIG: "AGENT_RUN_CONFIG",
133
- AGENT_STREAMING: "AGENT_STREAMING",
134
- AGENT_MISSING_ACTOR: "AGENT_MISSING_ACTOR",
135
- AGENT_INVALID_STATE: "AGENT_INVALID_STATE",
136
- AGENT_COMPACTION_IMPOSSIBLE: "AGENT_COMPACTION_IMPOSSIBLE",
137
- AGENT_COMPACTION_TIMEOUT: "AGENT_COMPACTION_TIMEOUT",
138
- AGENT_LEASE_HELD: "AGENT_LEASE_HELD",
139
- AGENT_WORK_MODE_REQUIRED: "AGENT_WORK_MODE_REQUIRED",
140
- AGENT_MESSAGE_NOT_FOUND: "AGENT_MESSAGE_NOT_FOUND",
141
- AGENT_MESSAGE_NOT_EDITABLE: "AGENT_MESSAGE_NOT_EDITABLE",
142
- // Remote devices
143
- DEVICE_NOT_FOUND: "DEVICE_NOT_FOUND",
144
- DEVICE_OFFLINE: "DEVICE_OFFLINE",
145
- // AI / LLM
146
- AI_UNKNOWN: "AI_UNKNOWN",
147
- AI_USAGE_LIMIT_EXCEEDED: "AI_USAGE_LIMIT_EXCEEDED",
148
- AI_INVALID_USAGE: "AI_INVALID_USAGE",
149
- AI_INVALID_MODEL: "AI_INVALID_MODEL",
150
- AI_INVALID_MODEL_INPUT: "AI_INVALID_MODEL_INPUT",
151
- AI_REPOSITORY_ERROR: "AI_REPOSITORY_ERROR",
152
- AI_GENERATION_FAILED: "AI_GENERATION_FAILED",
153
- // Documents — attach/detach and file operations
154
- DOCUMENT_MIME_NOT_ACCEPTED: "DOCUMENT_MIME_NOT_ACCEPTED",
155
- DOCUMENT_MULTIPLE_NOT_ALLOWED: "DOCUMENT_MULTIPLE_NOT_ALLOWED",
156
- DOCUMENT_NOT_FOUND_FOR_OPERATION: "DOCUMENT_NOT_FOUND_FOR_OPERATION",
157
- DOCUMENT_STORAGE_FAILED: "DOCUMENT_STORAGE_FAILED",
158
- DOCUMENT_SIZE_EXCEEDED: "DOCUMENT_SIZE_EXCEEDED",
159
- DOCUMENT_OCR_FAILED: "DOCUMENT_OCR_FAILED",
160
- DOCUMENT_BLOB_EMPTY: "DOCUMENT_BLOB_EMPTY",
161
- DOCUMENT_FILE_TOO_LARGE: "DOCUMENT_FILE_TOO_LARGE",
162
- DOCUMENT_FILE_NOT_FOUND: "DOCUMENT_FILE_NOT_FOUND",
163
- DOCUMENT_FILE_ALREADY_PACKED: "DOCUMENT_FILE_ALREADY_PACKED",
164
- // Documents — agent placement guards (record/drive targeting from tools)
165
- DOCUMENT_RECORD_NOT_FOUND: "DOCUMENT_RECORD_NOT_FOUND",
166
- DOCUMENT_RECORD_OBJECT_MISMATCH: "DOCUMENT_RECORD_OBJECT_MISMATCH",
167
- DOCUMENT_FOLDER_SERVICE_UNAVAILABLE: "DOCUMENT_FOLDER_SERVICE_UNAVAILABLE",
168
- DOCUMENT_FOLDER_PATH_NOT_FOUND: "DOCUMENT_FOLDER_PATH_NOT_FOUND",
169
- // Email image proxy — token/fetch failures surfaced through the proxy route
170
- // Email provider sync — transport failures from Gmail / Microsoft Graph
171
- EMAIL_PROVIDER_API_FAILED: "EMAIL_PROVIDER_API_FAILED",
172
- EMAIL_BATCH_ITEM_FAILED: "EMAIL_BATCH_ITEM_FAILED",
173
- // Calendar provider sync — transport failures from Google Calendar / Microsoft Graph
174
- CALENDAR_PROVIDER_API_FAILED: "CALENDAR_PROVIDER_API_FAILED",
175
- // Reflexes — agent-authored deterministic automations
176
- REFLEX_INVALID_TRANSITION: "REFLEX_INVALID_TRANSITION",
177
- REFLEX_INVALID_TOKEN: "REFLEX_INVALID_TOKEN",
178
- REFLEX_CAPABILITY_DENIED: "REFLEX_CAPABILITY_DENIED",
179
- REFLEX_GATEWAY_UNAVAILABLE: "REFLEX_GATEWAY_UNAVAILABLE",
180
- REFLEX_BUNDLE_FAILED: "REFLEX_BUNDLE_FAILED",
181
- REFLEX_EGRESS_DENIED: "REFLEX_EGRESS_DENIED",
182
- REFLEX_PROTOCOL_VIOLATION: "REFLEX_PROTOCOL_VIOLATION",
183
- REFLEX_RUN_FAILED: "REFLEX_RUN_FAILED",
184
- REFLEX_RUN_TIMEOUT: "REFLEX_RUN_TIMEOUT",
185
- REFLEX_DEPENDENCY_DRIFT: "REFLEX_DEPENDENCY_DRIFT",
186
- REFLEX_NOT_READY: "REFLEX_NOT_READY",
187
- REFLEX_INVARIANT_VIOLATION: "REFLEX_INVARIANT_VIOLATION",
188
- /** The embeddings feature is enabled but no Gateway credential is configured. */
189
- EMBEDDING_MODEL_UNAVAILABLE: "EMBEDDING_MODEL_UNAVAILABLE",
190
- /** The provider returned vectors whose length differs from the configured dimensions. */
191
- EMBEDDING_DIMENSION_MISMATCH: "EMBEDDING_DIMENSION_MISMATCH"
192
- };
193
- var SchemaError = class extends Error {
194
- constructor(message, code = SchemaErrorCode.UNKNOWN, details) {
195
- super(message);
196
- this.name = "SchemaError";
197
- this.code = code;
198
- this.details = details;
199
- Object.setPrototypeOf(this, new.target.prototype);
200
- }
201
- toJSON() {
202
- return {
203
- name: this.name,
204
- code: this.code,
205
- message: this.message,
206
- details: this.details
207
- };
208
- }
209
- };
210
- var NotFoundError = class extends SchemaError {
211
- constructor(resourceType, resourceId, code = SchemaErrorCode.RECORD_NOT_FOUND, message = `${resourceType} with id "${resourceId}" not found`) {
212
- super(message, code, {
213
- resourceType,
214
- resourceId
215
- });
216
- /** Literal discriminator for `Effect.catchTag`; a widened `string` breaks narrowing. */
217
- this._tag = "NotFoundError";
218
- this.name = "NotFoundError";
219
- this.resourceType = resourceType;
220
- this.resourceId = resourceId;
221
- }
222
- };
223
- var ObjectNotFoundError = class extends NotFoundError {
224
- constructor(objectId) {
225
- super("Object", objectId, SchemaErrorCode.OBJECT_NOT_FOUND);
226
- this.name = "ObjectNotFoundError";
227
- }
228
- };
229
- var AttributeNotFoundError = class extends NotFoundError {
230
- constructor(attributeId) {
231
- super("Attribute", attributeId, SchemaErrorCode.ATTRIBUTE_NOT_FOUND);
232
- this.name = "AttributeNotFoundError";
233
- }
234
- };
235
- var RecordNotFoundError = class extends NotFoundError {
236
- constructor(recordId) {
237
- super("Record", recordId, SchemaErrorCode.RECORD_NOT_FOUND);
238
- this.name = "RecordNotFoundError";
239
- }
240
- };
241
- var SchemaPlanNotFoundError = class extends NotFoundError {
242
- constructor(planId) {
243
- super("Schema plan", planId, SchemaErrorCode.SCHEMA_PLAN_NOT_FOUND);
244
- this.name = "SchemaPlanNotFoundError";
245
- }
246
- };
247
- var ValidationError = class _ValidationError extends SchemaError {
248
- constructor(message, errors) {
249
- super(message, SchemaErrorCode.VALIDATION_FAILED, { errors });
250
- /** Literal discriminator for `Effect.catchTag`; a widened `string` breaks narrowing. */
251
- this._tag = "ValidationError";
252
- this.name = "ValidationError";
253
- this.errors = errors;
254
- }
255
- /**
256
- * Create a validation error from Zod-style errors
257
- */
258
- static fromZodErrors(errors) {
259
- const details = errors.map((err) => ({
260
- path: err.path.map(String),
261
- message: err.message
262
- }));
263
- const message = `Validation failed: ${details.map((d) => `${d.path.join(".")}: ${d.message}`).join(", ")}`;
264
- return new _ValidationError(message, details);
265
- }
266
- };
267
- var ProtectedResourceError = class extends SchemaError {
268
- constructor(resourceType, resourceName, operation) {
269
- const code = resourceType === "object" ? SchemaErrorCode.PROTECTED_OBJECT : resourceType === "view" ? SchemaErrorCode.PROTECTED_VIEW : SchemaErrorCode.PROTECTED_ATTRIBUTE;
270
- super(`Cannot ${operation} system ${resourceType} "${resourceName}"`, code, {
271
- resourceType,
272
- resourceName,
273
- operation
274
- });
275
- this.name = "ProtectedResourceError";
276
- this.resourceType = resourceType;
277
- this.resourceName = resourceName;
278
- this.operation = operation;
279
- }
280
- };
281
- var SyncError = class extends SchemaError {
282
- constructor(objectName, message, cause) {
283
- super(`Failed to sync object "${objectName}": ${message}`, SchemaErrorCode.SYNC_FAILED, {
284
- objectName,
285
- cause: cause?.message
286
- });
287
- this.name = "SyncError";
288
- this.objectName = objectName;
289
- this.cause = cause;
290
- }
291
- };
292
- var SystemEntityImmutableError = class extends SchemaError {
293
- constructor(entityType, entityName) {
294
- super(
295
- `Cannot mutate system ${entityType} "${entityName}". System entities are declared in code and immutable at runtime.`,
296
- SchemaErrorCode.SYSTEM_ENTITY_IMMUTABLE,
297
- { entityType, entityName }
298
- );
299
- this.name = "SystemEntityImmutableError";
300
- this.entityType = entityType;
301
- this.entityName = entityName;
302
- }
303
- };
304
- var SyncConflictError = class extends SchemaError {
305
- constructor(params) {
306
- const target = params.attributeName ? `"${params.objectName}.${params.attributeName}"` : `"${params.objectName}"`;
307
- super(
308
- `Cannot promote runtime entity ${target}: ${params.reason}. Resolve via: (1) relax the code constraint, (2) migrate runtime values manually, or (3) rename the code declaration.`,
309
- SchemaErrorCode.SYNC_CONFLICT,
310
- {
311
- objectName: params.objectName,
312
- attributeName: params.attributeName,
313
- reason: params.reason
314
- }
315
- );
316
- this.name = "SyncConflictError";
317
- this.objectName = params.objectName;
318
- this.attributeName = params.attributeName;
319
- this.reason = params.reason;
320
- }
321
- };
322
- var SyncCascadeError = class extends SchemaError {
323
- constructor(objectName, conflictingAttributes) {
324
- super(
325
- `Cannot demote object "${objectName}": attributes ${conflictingAttributes.join(", ")} are still declared in code. Remove them from code first, or restore the object.`,
326
- SchemaErrorCode.SYNC_CASCADE,
327
- { objectName, conflictingAttributes }
328
- );
329
- this.name = "SyncCascadeError";
330
- this.objectName = objectName;
331
- this.conflictingAttributes = conflictingAttributes;
332
- }
333
- };
334
- var OrphanSystemAttributeError = class extends SchemaError {
335
- constructor(objectName, attributeName) {
336
- super(
337
- `Attribute "${objectName}.${attributeName}" is system:true but its object parent is system:false. This is an invariant violation.`,
338
- SchemaErrorCode.ORPHAN_SYSTEM_ATTRIBUTE,
339
- { objectName, attributeName }
340
- );
341
- this.name = "OrphanSystemAttributeError";
342
- this.objectName = objectName;
343
- this.attributeName = attributeName;
344
- }
345
- };
346
- var DestructiveSyncNotAllowedError = class extends SchemaError {
347
- constructor(operations) {
348
- const summary = operations.map((op) => {
349
- const named = op;
350
- return named.name ? `- ${op.type} "${named.name}"` : `- ${op.type}`;
351
- }).join("\n");
352
- super(
353
- `Destructive schema operations detected (data will be lost):
354
- ${summary}
355
-
356
- These 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:
357
- STANDARDS_ALLOW_DESTRUCTIVE_SYNC=1
358
-
359
- Otherwise, revert your code changes or back up the data first.`,
360
- SchemaErrorCode.DESTRUCTIVE_NOT_ALLOWED,
361
- { operations }
362
- );
363
- this.name = "DestructiveSyncNotAllowedError";
364
- this.operations = operations;
365
- }
366
- };
367
- var MigrationTimeoutError = class extends SchemaError {
368
- constructor(objectName, migrated, total, maxDurationMs) {
369
- super(
370
- `Migration for "${objectName}" exceeded the maximum duration (${maxDurationMs}ms). Migrated ${migrated}/${total} records before timeout. Increase STANDARDS_MIGRATION_MAX_DURATION_MS or split the migration into smaller batches.`,
371
- SchemaErrorCode.MIGRATION_TIMEOUT,
372
- { objectName, migrated, total, maxDurationMs }
373
- );
374
- this.name = "MigrationTimeoutError";
375
- this.objectName = objectName;
376
- this.migrated = migrated;
377
- this.total = total;
378
- this.maxDurationMs = maxDurationMs;
379
- }
380
- };
381
- var ChangeTypeNotSupportedError = class extends SchemaError {
382
- constructor(objectName, attributeName) {
383
- super(
384
- `Cannot change type of attribute "${objectName}.${attributeName}" via runtime API. Declare a migration in your schema code:
385
- object("${objectName}").migration(N, (m) =>
386
- m.changeType("${attributeName}", from, to, { transform: (v) => ... })
387
- )`,
388
- SchemaErrorCode.CHANGE_TYPE_NOT_SUPPORTED,
389
- { objectName, attributeName }
390
- );
391
- this.name = "ChangeTypeNotSupportedError";
392
- this.objectName = objectName;
393
- this.attributeName = attributeName;
394
- }
395
- };
396
- var DuplicateError = class extends SchemaError {
397
- constructor(resourceType, resourceName, message) {
398
- const code = resourceType === "object" ? SchemaErrorCode.DUPLICATE_OBJECT : resourceType === "attribute" ? SchemaErrorCode.DUPLICATE_ATTRIBUTE : SchemaErrorCode.DUPLICATE;
399
- const autoMessage = `${resourceType.charAt(0).toUpperCase()}${resourceType.slice(1)} "${resourceName}" already exists`;
400
- super(message ?? autoMessage, code, { resourceType, resourceName });
401
- this.name = "DuplicateError";
402
- this.resourceType = resourceType;
403
- this.resourceName = resourceName;
404
- }
405
- };
406
- function isSchemaError(error) {
407
- return error instanceof SchemaError;
408
- }
409
- function isNotFoundError(error) {
410
- return error instanceof NotFoundError;
411
- }
412
- function isValidationError(error) {
413
- return error instanceof ValidationError;
414
- }
415
- function isProtectedResourceError(error) {
416
- return error instanceof ProtectedResourceError;
417
- }
418
- var ForbiddenError = class extends SchemaError {
419
- constructor(objectName, action, userId) {
420
- super(`No ${action} permission on object "${objectName}"`, SchemaErrorCode.FORBIDDEN, {
421
- objectName,
422
- action,
423
- userId
424
- });
425
- this.name = "ForbiddenError";
426
- this.objectName = objectName;
427
- this.action = action;
428
- this.userId = userId;
429
- }
430
- };
431
- var ProtectedRoleError = class extends SchemaError {
432
- constructor(roleName, operation) {
433
- super(`Cannot ${operation} system role "${roleName}"`, SchemaErrorCode.PROTECTED_ROLE, {
434
- roleName,
435
- operation
436
- });
437
- this.name = "ProtectedRoleError";
438
- this.roleName = roleName;
439
- this.operation = operation;
440
- }
441
- };
442
- var RoleNotFoundError = class extends NotFoundError {
443
- constructor(roleId) {
444
- super("Role", roleId, SchemaErrorCode.ROLE_NOT_FOUND);
445
- this.name = "RoleNotFoundError";
446
- }
447
- };
448
- var ConcurrentModificationError = class extends SchemaError {
449
- constructor(recordId) {
450
- super(
451
- `Record ${recordId} was modified by another request. Please refresh and try again.`,
452
- SchemaErrorCode.CONFLICT,
453
- { recordId }
454
- );
455
- }
456
- };
457
- var StorageError = class extends SchemaError {
458
- constructor(operation, message, path, cause) {
459
- const code = operation === "upload" ? SchemaErrorCode.STORAGE_UPLOAD_FAILED : operation === "download" ? SchemaErrorCode.STORAGE_DOWNLOAD_FAILED : operation === "delete" ? SchemaErrorCode.STORAGE_DELETE_FAILED : SchemaErrorCode.STORAGE_URL_FAILED;
460
- super(`Storage ${operation} failed: ${message}`, code, {
461
- operation,
462
- path,
463
- cause
464
- });
465
- this.name = "StorageError";
466
- this.operation = operation;
467
- this.path = path;
468
- this.cause = cause;
469
- }
470
- };
471
- var AccessDeniedError = class extends SchemaError {
472
- constructor(resource, reason) {
473
- super(reason ?? `Access denied to resource: ${resource}`, SchemaErrorCode.ACCESS_DENIED, {
474
- resource,
475
- reason
476
- });
477
- this.name = "AccessDeniedError";
478
- this.resource = resource;
479
- this.reason = reason;
480
- }
481
- };
482
- var RepositoryError = class extends SchemaError {
483
- constructor(operation, entity, message, cause) {
484
- const code = operation === "create" ? SchemaErrorCode.REPOSITORY_CREATE_FAILED : operation === "update" ? SchemaErrorCode.REPOSITORY_UPDATE_FAILED : operation === "delete" ? SchemaErrorCode.REPOSITORY_DELETE_FAILED : SchemaErrorCode.REPOSITORY_QUERY_FAILED;
485
- super(`Failed to ${operation} ${entity}: ${message}${cause ? ` (${cause})` : ""}`, code, {
486
- operation,
487
- entity,
488
- cause
489
- });
490
- this.name = "RepositoryError";
491
- this.operation = operation;
492
- this.entity = entity;
493
- this.cause = cause;
494
- }
495
- };
496
- var SearchBackendError = class extends SchemaError {
497
- constructor(scope, cause) {
498
- super(`Search backend unavailable for ${scope}`, SchemaErrorCode.SEARCH_BACKEND_FAILED, {
499
- scope,
500
- cause
501
- });
502
- this.name = "SearchBackendError";
503
- this.scope = scope;
504
- this.cause = cause;
505
- }
506
- };
507
- var NotImplementedError = class extends SchemaError {
508
- constructor(feature, milestone) {
509
- const message = milestone ? `${feature}: not implemented (${milestone})` : `${feature}: not implemented`;
510
- super(message, SchemaErrorCode.NOT_IMPLEMENTED, {
511
- feature,
512
- milestone
513
- });
514
- this.name = "NotImplementedError";
515
- this.feature = feature;
516
- this.milestone = milestone;
517
- }
518
- };
519
- var MemoryNotFoundError = class extends NotFoundError {
520
- constructor(memoryId) {
521
- super("Memory", memoryId, SchemaErrorCode.MEMORY_NOT_FOUND);
522
- this.name = "MemoryNotFoundError";
523
- }
524
- };
525
- var RecordReferencedError = class extends SchemaError {
526
- constructor(recordId, references) {
527
- const total = references.reduce((sum, r) => sum + r.count, 0);
528
- super(
529
- `Cannot delete record: referenced by ${total} record${total > 1 ? "s" : ""}`,
530
- SchemaErrorCode.RECORD_REFERENCED,
531
- { recordId, references }
532
- );
533
- this.name = "RecordReferencedError";
534
- this.recordId = recordId;
535
- this.references = references;
536
- }
537
- };
538
- var AttributeInUseError = class extends SchemaError {
539
- constructor(attributeName, usage) {
540
- super(
541
- `Cannot delete attribute "${attributeName}": used in ${usage}`,
542
- SchemaErrorCode.ATTRIBUTE_IN_USE,
543
- { attributeName, usage }
544
- );
545
- this.name = "AttributeInUseError";
546
- this.attributeName = attributeName;
547
- this.usage = usage;
548
- }
549
- };
550
- var ObjectReferencedError = class extends SchemaError {
551
- constructor(objectName, referencingObjects) {
552
- super(
553
- `Cannot delete object "${objectName}": target of relations in ${referencingObjects.join(", ")}`,
554
- SchemaErrorCode.OBJECT_REFERENCED,
555
- { objectName, referencingObjects }
556
- );
557
- this.name = "ObjectReferencedError";
558
- this.objectName = objectName;
559
- this.referencingObjects = referencingObjects;
560
- }
561
- };
562
- function isRecordReferencedError(error) {
563
- return error instanceof RecordReferencedError;
564
- }
565
- function isAttributeInUseError(error) {
566
- return error instanceof AttributeInUseError;
567
- }
568
- function isObjectReferencedError(error) {
569
- return error instanceof ObjectReferencedError;
570
- }
571
-
572
- exports.AccessDeniedError = AccessDeniedError;
573
- exports.AttributeInUseError = AttributeInUseError;
574
- exports.AttributeNotFoundError = AttributeNotFoundError;
575
- exports.ChangeTypeNotSupportedError = ChangeTypeNotSupportedError;
576
- exports.ConcurrentModificationError = ConcurrentModificationError;
577
- exports.DestructiveSyncNotAllowedError = DestructiveSyncNotAllowedError;
578
- exports.DuplicateError = DuplicateError;
579
- exports.ForbiddenError = ForbiddenError;
580
- exports.MemoryNotFoundError = MemoryNotFoundError;
581
- exports.MigrationTimeoutError = MigrationTimeoutError;
582
- exports.NotFoundError = NotFoundError;
583
- exports.NotImplementedError = NotImplementedError;
584
- exports.ObjectNotFoundError = ObjectNotFoundError;
585
- exports.ObjectReferencedError = ObjectReferencedError;
586
- exports.OrphanSystemAttributeError = OrphanSystemAttributeError;
587
- exports.ProtectedResourceError = ProtectedResourceError;
588
- exports.ProtectedRoleError = ProtectedRoleError;
589
- exports.RecordNotFoundError = RecordNotFoundError;
590
- exports.RecordReferencedError = RecordReferencedError;
591
- exports.RepositoryError = RepositoryError;
592
- exports.RoleNotFoundError = RoleNotFoundError;
593
- exports.SchemaError = SchemaError;
594
- exports.SchemaErrorCode = SchemaErrorCode;
595
- exports.SchemaPlanNotFoundError = SchemaPlanNotFoundError;
596
- exports.SearchBackendError = SearchBackendError;
597
- exports.StorageError = StorageError;
598
- exports.SyncCascadeError = SyncCascadeError;
599
- exports.SyncConflictError = SyncConflictError;
600
- exports.SyncError = SyncError;
601
- exports.SystemEntityImmutableError = SystemEntityImmutableError;
602
- exports.ValidationError = ValidationError;
603
- exports.isAttributeInUseError = isAttributeInUseError;
604
- exports.isNotFoundError = isNotFoundError;
605
- exports.isObjectReferencedError = isObjectReferencedError;
606
- exports.isProtectedResourceError = isProtectedResourceError;
607
- exports.isRecordReferencedError = isRecordReferencedError;
608
- exports.isSchemaError = isSchemaError;
609
- exports.isValidationError = isValidationError;
@@ -1,10 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkYKWSHBT5_js = require('./chunk-YKWSHBT5.js');
4
- var zod = require('zod');
5
-
6
- function createCheckboxValidator(_attr, _messages = chunkYKWSHBT5_js.DEFAULT_VALIDATION_MESSAGES) {
7
- return zod.z.boolean();
8
- }
9
-
10
- exports.createCheckboxValidator = createCheckboxValidator;
@@ -1,17 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkYKWSHBT5_js = require('./chunk-YKWSHBT5.js');
4
- var zod = require('zod');
5
-
6
- function createCurrencyValidator(attr, messages = chunkYKWSHBT5_js.DEFAULT_VALIDATION_MESSAGES) {
7
- const valueSchema = attr.allowNegative ? zod.z.number() : zod.z.number().min(0);
8
- return zod.z.object(
9
- {
10
- code: zod.z.string().length(3),
11
- value: valueSchema
12
- },
13
- { message: messages.invalidCurrency(attr) }
14
- );
15
- }
16
-
17
- exports.createCurrencyValidator = createCurrencyValidator;
@@ -1,15 +0,0 @@
1
- import { DEFAULT_VALIDATION_MESSAGES } from './chunk-HRQEZUAA.mjs';
2
- import { z } from 'zod';
3
-
4
- function createCurrencyValidator(attr, messages = DEFAULT_VALIDATION_MESSAGES) {
5
- const valueSchema = attr.allowNegative ? z.number() : z.number().min(0);
6
- return z.object(
7
- {
8
- code: z.string().length(3),
9
- value: valueSchema
10
- },
11
- { message: messages.invalidCurrency(attr) }
12
- );
13
- }
14
-
15
- export { createCurrencyValidator };