@constructive-io/errors 0.19.0 → 0.20.0
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/esm/generated/registry.generated.d.ts +3 -3
- package/esm/generated/registry.generated.js +44 -4
- package/esm/registry.d.ts +22 -0
- package/esm/registry.js +65 -0
- package/generated/registry.generated.d.ts +3 -3
- package/generated/registry.generated.js +44 -4
- package/package.json +2 -2
- package/registry.d.ts +22 -0
- package/registry.js +65 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GENERATED FILE — DO NOT EDIT BY HAND.
|
|
3
3
|
*
|
|
4
|
-
* Source of truth: the constructive-db error audit (
|
|
4
|
+
* Source of truth: the constructive-db error audit (824 distinct codes
|
|
5
5
|
* raised via EXCEPTION/THROW across deploy sources + generated output).
|
|
6
6
|
* Regenerate with `python3 scripts/generate-registry.py` (see README.md).
|
|
7
7
|
*
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* codes carry their raw message (with %-args rendered as {{argN}}). Curated
|
|
10
10
|
* entries in `registry.ts` override anything here (typed context + refined copy).
|
|
11
11
|
*
|
|
12
|
-
* Counts:
|
|
12
|
+
* Counts: 824 total, 604 public, 220 internal.
|
|
13
13
|
*/
|
|
14
14
|
import { type DefinedError } from '../define';
|
|
15
15
|
import type { ErrorContext } from '../types';
|
|
@@ -24,4 +24,4 @@ export declare const generatedRegistry: Record<string, DefinedError<ErrorContext
|
|
|
24
24
|
/** Audit metadata for each generated code. */
|
|
25
25
|
export declare const GENERATED_CODE_META: Record<string, GeneratedCodeMeta>;
|
|
26
26
|
/** Total number of codes collected from constructive-db. */
|
|
27
|
-
export declare const GENERATED_CODE_COUNT =
|
|
27
|
+
export declare const GENERATED_CODE_COUNT = 824;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* GENERATED FILE — DO NOT EDIT BY HAND.
|
|
4
4
|
*
|
|
5
|
-
* Source of truth: the constructive-db error audit (
|
|
5
|
+
* Source of truth: the constructive-db error audit (824 distinct codes
|
|
6
6
|
* raised via EXCEPTION/THROW across deploy sources + generated output).
|
|
7
7
|
* Regenerate with `python3 scripts/generate-registry.py` (see README.md).
|
|
8
8
|
*
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* codes carry their raw message (with %-args rendered as {{argN}}). Curated
|
|
11
11
|
* entries in `registry.ts` override anything here (typed context + refined copy).
|
|
12
12
|
*
|
|
13
|
-
* Counts:
|
|
13
|
+
* Counts: 824 total, 604 public, 220 internal.
|
|
14
14
|
*/
|
|
15
15
|
import { defineError } from '../define';
|
|
16
16
|
/** Every constructive-db error code, keyed by code. */
|
|
@@ -35,6 +35,9 @@ export const generatedRegistry = {
|
|
|
35
35
|
'APP_INSTALLATION_MISSING': defineError({ code: 'APP_INSTALLATION_MISSING', class: 'public', http: 400, message: 'App installation missing.' }),
|
|
36
36
|
'APP_INSTALL_NO_SERVICE': defineError({ code: 'APP_INSTALL_NO_SERVICE', class: 'public', http: 400, message: 'App install no service.' }),
|
|
37
37
|
'ASSIGN_PROFILES_CAPABILITY_REQUIRED': defineError({ code: 'ASSIGN_PROFILES_CAPABILITY_REQUIRED', class: 'internal', http: 500, message: 'Assign profiles capability required.' }),
|
|
38
|
+
'AST_OPTIONS_NOT_OBJECT': defineError({ code: 'AST_OPTIONS_NOT_OBJECT', class: 'internal', http: 500, message: 'Ast options not object.' }),
|
|
39
|
+
'AST_OPTION_REQUIRED': defineError({ code: 'AST_OPTION_REQUIRED', class: 'internal', http: 500, message: 'Ast option required.' }),
|
|
40
|
+
'AST_OPTION_UNKNOWN': defineError({ code: 'AST_OPTION_UNKNOWN', class: 'internal', http: 500, message: 'Ast option unknown.' }),
|
|
38
41
|
'ATTRIBUTION_REQUIRED': defineError({ code: 'ATTRIBUTION_REQUIRED', class: 'internal', http: 500, message: 'Attribution required.' }),
|
|
39
42
|
'AUTHZ_COLUMN_SECURITY_AUTHZ_NODE_REQUIRED': defineError({ code: 'AUTHZ_COLUMN_SECURITY_AUTHZ_NODE_REQUIRED', class: 'public', http: 400, message: 'Authz column security authz node required.' }),
|
|
40
43
|
'AUTHZ_COLUMN_SECURITY_COLUMNS_REQUIRED': defineError({ code: 'AUTHZ_COLUMN_SECURITY_COLUMNS_REQUIRED', class: 'public', http: 400, message: 'Authz column security columns required.' }),
|
|
@@ -72,6 +75,17 @@ export const generatedRegistry = {
|
|
|
72
75
|
'BAD_VIEW_EXPRESSION': defineError({ code: 'BAD_VIEW_EXPRESSION', class: 'public', http: 400, message: 'Bad view expression.' }),
|
|
73
76
|
'BEHAVIOR_FRAGMENT_EMPTY': defineError({ code: 'BEHAVIOR_FRAGMENT_EMPTY', class: 'internal', http: 500, message: 'Behavior fragment empty.' }),
|
|
74
77
|
'BILLING_DISPUTE_BALANCE_NOT_FOUND': defineError({ code: 'BILLING_DISPUTE_BALANCE_NOT_FOUND', class: 'internal', http: 500, message: 'Billing dispute balance not found.' }),
|
|
78
|
+
'BILLING_ENTITY_BUSY': defineError({ code: 'BILLING_ENTITY_BUSY', class: 'public', http: 400, message: 'Billing entity busy.' }),
|
|
79
|
+
'BILLING_HEALTH_INVALID': defineError({ code: 'BILLING_HEALTH_INVALID', class: 'internal', http: 500, message: 'Billing health invalid.' }),
|
|
80
|
+
'BILLING_NOT_READY': defineError({ code: 'BILLING_NOT_READY', class: 'public', http: 400, message: 'Billing not ready.' }),
|
|
81
|
+
'BILLING_OBSERVATION_INVALID': defineError({ code: 'BILLING_OBSERVATION_INVALID', class: 'internal', http: 500, message: 'Billing observation invalid.' }),
|
|
82
|
+
'BILLING_OPERATION_CONFLICT': defineError({ code: 'BILLING_OPERATION_CONFLICT', class: 'public', http: 400, message: 'Billing operation conflict.' }),
|
|
83
|
+
'BILLING_OPERATION_INVALID': defineError({ code: 'BILLING_OPERATION_INVALID', class: 'public', http: 400, message: 'Billing operation invalid.' }),
|
|
84
|
+
'BILLING_OPERATION_NOT_FOUND': defineError({ code: 'BILLING_OPERATION_NOT_FOUND', class: 'internal', http: 500, message: 'Billing operation not found.' }),
|
|
85
|
+
'BILLING_OPERATION_SETTLED': defineError({ code: 'BILLING_OPERATION_SETTLED', class: 'internal', http: 500, message: 'Billing operation settled.' }),
|
|
86
|
+
'BILLING_OPERATION_STATE_INVALID': defineError({ code: 'BILLING_OPERATION_STATE_INVALID', class: 'internal', http: 500, message: 'Billing operation state invalid.' }),
|
|
87
|
+
'BILLING_RECONCILE_BOUNDS_REQUIRED': defineError({ code: 'BILLING_RECONCILE_BOUNDS_REQUIRED', class: 'internal', http: 500, message: 'Billing reconcile bounds required.' }),
|
|
88
|
+
'BILLING_SCHEDULED_CHANGE_INVALID': defineError({ code: 'BILLING_SCHEDULED_CHANGE_INVALID', class: 'internal', http: 500, message: 'Billing scheduled change invalid.' }),
|
|
75
89
|
'BLUEPRINT_MODULE_NOT_INSTALLED': defineError({ code: 'BLUEPRINT_MODULE_NOT_INSTALLED', class: 'public', http: 400, message: 'Blueprint module not installed.' }),
|
|
76
90
|
'BLUEPRINT_MODULE_REF_AMBIGUOUS': defineError({ code: 'BLUEPRINT_MODULE_REF_AMBIGUOUS', class: 'public', http: 400, message: 'Blueprint module ref ambiguous.' }),
|
|
77
91
|
'BLUEPRINT_MODULE_REF_INVALID': defineError({ code: 'BLUEPRINT_MODULE_REF_INVALID', class: 'public', http: 400, message: 'Blueprint module ref invalid.' }),
|
|
@@ -363,7 +377,7 @@ export const generatedRegistry = {
|
|
|
363
377
|
'GRAPH_TREE_NOT_FOUND': defineError({ code: 'GRAPH_TREE_NOT_FOUND', class: 'internal', http: 500, message: 'Graph tree not found.' }),
|
|
364
378
|
'GRAPH_VALIDATION_FAILED': defineError({ code: 'GRAPH_VALIDATION_FAILED', class: 'internal', http: 500, message: 'GRAPH_VALIDATION_FAILED: graph {{arg0}} failed pre-execution validation: {{arg1}}', positional: ['arg0', 'arg1'] }),
|
|
365
379
|
'GROUPS_REQ_ENTITIES': defineError({ code: 'GROUPS_REQ_ENTITIES', class: 'public', http: 400, message: 'Groups req entities.' }),
|
|
366
|
-
'GUARD_STEP_UP': defineError({ code: 'GUARD_STEP_UP', class: 'internal', http: 500, message: 'GUARD_STEP_UP:
|
|
380
|
+
'GUARD_STEP_UP': defineError({ code: 'GUARD_STEP_UP', class: 'internal', http: 500, message: 'GUARD_STEP_UP: min_age anchor takes fk_col or anchor_conditions, not both' }),
|
|
367
381
|
'GUARD_STEP_UP_CONDITIONS_CONDITION_FIELD_CONFLICT': defineError({ code: 'GUARD_STEP_UP_CONDITIONS_CONDITION_FIELD_CONFLICT', class: 'public', http: 403, message: 'Guard step up conditions condition field conflict.' }),
|
|
368
382
|
'GUARD_STEP_UP_CONDITIONS_WATCH_FIELDS_CONFLICT': defineError({ code: 'GUARD_STEP_UP_CONDITIONS_WATCH_FIELDS_CONFLICT', class: 'public', http: 403, message: 'Guard step up conditions watch fields conflict.' }),
|
|
369
383
|
'GUARD_STEP_UP_CONDITION_FIELD_NOT_FOUND': defineError({ code: 'GUARD_STEP_UP_CONDITION_FIELD_NOT_FOUND', class: 'public', http: 404, message: 'Guard step up condition field not found.' }),
|
|
@@ -411,7 +425,10 @@ export const generatedRegistry = {
|
|
|
411
425
|
'HISTORY': defineError({ code: 'HISTORY', class: 'internal', http: 500, message: 'HISTORY: history {{arg0}}.{{arg1}} registration has no copy_fields', positional: ['arg0', 'arg1'] }),
|
|
412
426
|
'HOSTNAME_BINDING_SYNC': defineError({ code: 'HOSTNAME_BINDING_SYNC', class: 'internal', http: 500, message: 'HOSTNAME_BINDING_SYNC: unknown event {{arg0}}, expected UPSERT or DELETE', positional: ['arg0'] }),
|
|
413
427
|
'HOSTNAME_CLAIMED_IN_OTHER_PLANE': defineError({ code: 'HOSTNAME_CLAIMED_IN_OTHER_PLANE', class: 'public', http: 400, message: 'Hostname claimed in other plane.' }),
|
|
428
|
+
'IDENTIFIER_CLAIM_LIMIT': defineError({ code: 'IDENTIFIER_CLAIM_LIMIT', class: 'public', http: 429, message: 'Identifier claim limit.' }),
|
|
414
429
|
'IDENTIFIER_CONFLICT': defineError({ code: 'IDENTIFIER_CONFLICT', class: 'public', http: 400, message: 'Identifier conflict.' }),
|
|
430
|
+
'IDENTIFIER_UNVERIFIED_AMBIGUOUS': defineError({ code: 'IDENTIFIER_UNVERIFIED_AMBIGUOUS', class: 'public', http: 400, message: 'Identifier unverified ambiguous.' }),
|
|
431
|
+
'IDENTIFIER_VERIFIED_ELSEWHERE': defineError({ code: 'IDENTIFIER_VERIFIED_ELSEWHERE', class: 'public', http: 400, message: 'Identifier verified elsewhere.' }),
|
|
415
432
|
'IDENTITY_ACCOUNT_NOT_FOUND': defineError({ code: 'IDENTITY_ACCOUNT_NOT_FOUND', class: 'public', http: 404, message: 'Identity account not found.' }),
|
|
416
433
|
'IDENTITY_ALREADY_LINKED': defineError({ code: 'IDENTITY_ALREADY_LINKED', class: 'public', http: 409, message: 'Identity already linked.' }),
|
|
417
434
|
'IDENTITY_LINK_AVAILABLE': defineError({ code: 'IDENTITY_LINK_AVAILABLE', class: 'public', http: 400, message: 'Identity link available.' }),
|
|
@@ -538,6 +555,7 @@ export const generatedRegistry = {
|
|
|
538
555
|
'MERKLE_REF_NOT_FOUND': defineError({ code: 'MERKLE_REF_NOT_FOUND', class: 'public', http: 404, message: 'Merkle ref not found.' }),
|
|
539
556
|
'METER_RATE_LIMIT': defineError({ code: 'METER_RATE_LIMIT', class: 'internal', http: 500, message: 'METER_RATE_LIMIT: unknown event {{arg0}}, expected INSERT or UPDATE', positional: ['arg0'] }),
|
|
540
557
|
'MFA_CHALLENGE_EXPIRED': defineError({ code: 'MFA_CHALLENGE_EXPIRED', class: 'public', http: 403, message: 'Mfa challenge expired.' }),
|
|
558
|
+
'MFA_IDENTIFIER_UNVERIFIED': defineError({ code: 'MFA_IDENTIFIER_UNVERIFIED', class: 'public', http: 403, message: 'Mfa identifier unverified.' }),
|
|
541
559
|
'MFA_REQUIRED': defineError({ code: 'MFA_REQUIRED', class: 'public', http: 403, message: 'Mfa required.' }),
|
|
542
560
|
'MISSING_FIXTURE_TYPE': defineError({ code: 'MISSING_FIXTURE_TYPE', class: 'internal', http: 500, message: 'Missing fixture type.' }),
|
|
543
561
|
'MISSING_REQUIRED_FIELD': defineError({ code: 'MISSING_REQUIRED_FIELD', class: 'public', http: 400, message: 'Missing required field.' }),
|
|
@@ -717,6 +735,7 @@ export const generatedRegistry = {
|
|
|
717
735
|
'SITE_SURFACE_NOT_PROVISIONED': defineError({ code: 'SITE_SURFACE_NOT_PROVISIONED', class: 'public', http: 400, message: 'Site surface not provisioned.' }),
|
|
718
736
|
'SMS_SIGN_IN_DISABLED': defineError({ code: 'SMS_SIGN_IN_DISABLED', class: 'public', http: 403, message: 'Sms sign in disabled.' }),
|
|
719
737
|
'SMS_SIGN_UP_DISABLED': defineError({ code: 'SMS_SIGN_UP_DISABLED', class: 'public', http: 403, message: 'Sms sign up disabled.' }),
|
|
738
|
+
'SMS_VERIFICATION_DISABLED': defineError({ code: 'SMS_VERIFICATION_DISABLED', class: 'public', http: 403, message: 'Sms verification disabled.' }),
|
|
720
739
|
'SOURCE_COMMIT_NOT_FOUND': defineError({ code: 'SOURCE_COMMIT_NOT_FOUND', class: 'internal', http: 500, message: 'Source commit not found.' }),
|
|
721
740
|
'SOURCE_EMAILS_NOT_FOUND': defineError({ code: 'SOURCE_EMAILS_NOT_FOUND', class: 'internal', http: 500, message: 'Source emails not found.' }),
|
|
722
741
|
'SOURCE_SECRETS_NOT_FOUND': defineError({ code: 'SOURCE_SECRETS_NOT_FOUND', class: 'internal', http: 500, message: 'Source secrets not found.' }),
|
|
@@ -794,6 +813,7 @@ export const generatedRegistry = {
|
|
|
794
813
|
'TRIGGER_WHEN_AST_ROW_UNAVAILABLE': defineError({ code: 'TRIGGER_WHEN_AST_ROW_UNAVAILABLE', class: 'public', http: 400, message: 'Trigger when ast row unavailable.' }),
|
|
795
814
|
'TRUST_LADDER_OPTION_INVALID': defineError({ code: 'TRUST_LADDER_OPTION_INVALID', class: 'internal', http: 500, message: 'Trust ladder option invalid.' }),
|
|
796
815
|
'UNAUTHENTICATED': defineError({ code: 'UNAUTHENTICATED', class: 'public', http: 401, message: 'Unauthenticated.' }),
|
|
816
|
+
'UNKNOWN_METER': defineError({ code: 'UNKNOWN_METER', class: 'public', http: 400, message: 'Unknown meter.' }),
|
|
797
817
|
'UNKNOWN_POLICY_TYPE': defineError({ code: 'UNKNOWN_POLICY_TYPE', class: 'public', http: 400, message: 'Unknown policy type.' }),
|
|
798
818
|
'UNKNOWN_VIEW_TYPE': defineError({ code: 'UNKNOWN_VIEW_TYPE', class: 'public', http: 400, message: 'Unknown view type.', positional: ['arg0'] }),
|
|
799
819
|
'UNSUPPORTED': defineError({ code: 'UNSUPPORTED', class: 'internal', http: 500, message: 'UNSUPPORTED POLICY ({{arg0}})', positional: ['arg0'] }),
|
|
@@ -842,6 +862,9 @@ export const GENERATED_CODE_META = {
|
|
|
842
862
|
'APP_INSTALLATION_MISSING': { class: 'public', dynamic: false, generatedOnly: false },
|
|
843
863
|
'APP_INSTALL_NO_SERVICE': { class: 'public', dynamic: false, generatedOnly: false },
|
|
844
864
|
'ASSIGN_PROFILES_CAPABILITY_REQUIRED': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
865
|
+
'AST_OPTIONS_NOT_OBJECT': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
866
|
+
'AST_OPTION_REQUIRED': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
867
|
+
'AST_OPTION_UNKNOWN': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
845
868
|
'ATTRIBUTION_REQUIRED': { class: 'internal', dynamic: false, generatedOnly: true },
|
|
846
869
|
'AUTHZ_COLUMN_SECURITY_AUTHZ_NODE_REQUIRED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
847
870
|
'AUTHZ_COLUMN_SECURITY_COLUMNS_REQUIRED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
@@ -879,6 +902,17 @@ export const GENERATED_CODE_META = {
|
|
|
879
902
|
'BAD_VIEW_EXPRESSION': { class: 'public', dynamic: false, generatedOnly: false },
|
|
880
903
|
'BEHAVIOR_FRAGMENT_EMPTY': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
881
904
|
'BILLING_DISPUTE_BALANCE_NOT_FOUND': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
905
|
+
'BILLING_ENTITY_BUSY': { class: 'public', dynamic: false, generatedOnly: true },
|
|
906
|
+
'BILLING_HEALTH_INVALID': { class: 'internal', dynamic: false, generatedOnly: true },
|
|
907
|
+
'BILLING_NOT_READY': { class: 'public', dynamic: false, generatedOnly: false },
|
|
908
|
+
'BILLING_OBSERVATION_INVALID': { class: 'internal', dynamic: false, generatedOnly: true },
|
|
909
|
+
'BILLING_OPERATION_CONFLICT': { class: 'public', dynamic: false, generatedOnly: true },
|
|
910
|
+
'BILLING_OPERATION_INVALID': { class: 'public', dynamic: false, generatedOnly: true },
|
|
911
|
+
'BILLING_OPERATION_NOT_FOUND': { class: 'internal', dynamic: false, generatedOnly: true },
|
|
912
|
+
'BILLING_OPERATION_SETTLED': { class: 'internal', dynamic: false, generatedOnly: true },
|
|
913
|
+
'BILLING_OPERATION_STATE_INVALID': { class: 'internal', dynamic: false, generatedOnly: true },
|
|
914
|
+
'BILLING_RECONCILE_BOUNDS_REQUIRED': { class: 'internal', dynamic: false, generatedOnly: true },
|
|
915
|
+
'BILLING_SCHEDULED_CHANGE_INVALID': { class: 'internal', dynamic: false, generatedOnly: true },
|
|
882
916
|
'BLUEPRINT_MODULE_NOT_INSTALLED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
883
917
|
'BLUEPRINT_MODULE_REF_AMBIGUOUS': { class: 'public', dynamic: false, generatedOnly: false },
|
|
884
918
|
'BLUEPRINT_MODULE_REF_INVALID': { class: 'public', dynamic: false, generatedOnly: false },
|
|
@@ -1218,7 +1252,10 @@ export const GENERATED_CODE_META = {
|
|
|
1218
1252
|
'HISTORY': { class: 'internal', dynamic: true, generatedOnly: false },
|
|
1219
1253
|
'HOSTNAME_BINDING_SYNC': { class: 'internal', dynamic: true, generatedOnly: false },
|
|
1220
1254
|
'HOSTNAME_CLAIMED_IN_OTHER_PLANE': { class: 'public', dynamic: false, generatedOnly: true },
|
|
1255
|
+
'IDENTIFIER_CLAIM_LIMIT': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1221
1256
|
'IDENTIFIER_CONFLICT': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1257
|
+
'IDENTIFIER_UNVERIFIED_AMBIGUOUS': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1258
|
+
'IDENTIFIER_VERIFIED_ELSEWHERE': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1222
1259
|
'IDENTITY_ACCOUNT_NOT_FOUND': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1223
1260
|
'IDENTITY_ALREADY_LINKED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1224
1261
|
'IDENTITY_LINK_AVAILABLE': { class: 'public', dynamic: false, generatedOnly: false },
|
|
@@ -1345,6 +1382,7 @@ export const GENERATED_CODE_META = {
|
|
|
1345
1382
|
'MERKLE_REF_NOT_FOUND': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1346
1383
|
'METER_RATE_LIMIT': { class: 'internal', dynamic: true, generatedOnly: false },
|
|
1347
1384
|
'MFA_CHALLENGE_EXPIRED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1385
|
+
'MFA_IDENTIFIER_UNVERIFIED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1348
1386
|
'MFA_REQUIRED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1349
1387
|
'MISSING_FIXTURE_TYPE': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
1350
1388
|
'MISSING_REQUIRED_FIELD': { class: 'public', dynamic: false, generatedOnly: false },
|
|
@@ -1524,6 +1562,7 @@ export const GENERATED_CODE_META = {
|
|
|
1524
1562
|
'SITE_SURFACE_NOT_PROVISIONED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1525
1563
|
'SMS_SIGN_IN_DISABLED': { class: 'public', dynamic: false, generatedOnly: true },
|
|
1526
1564
|
'SMS_SIGN_UP_DISABLED': { class: 'public', dynamic: false, generatedOnly: true },
|
|
1565
|
+
'SMS_VERIFICATION_DISABLED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1527
1566
|
'SOURCE_COMMIT_NOT_FOUND': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
1528
1567
|
'SOURCE_EMAILS_NOT_FOUND': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
1529
1568
|
'SOURCE_SECRETS_NOT_FOUND': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
@@ -1601,6 +1640,7 @@ export const GENERATED_CODE_META = {
|
|
|
1601
1640
|
'TRIGGER_WHEN_AST_ROW_UNAVAILABLE': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1602
1641
|
'TRUST_LADDER_OPTION_INVALID': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
1603
1642
|
'UNAUTHENTICATED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1643
|
+
'UNKNOWN_METER': { class: 'public', dynamic: false, generatedOnly: true },
|
|
1604
1644
|
'UNKNOWN_POLICY_TYPE': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1605
1645
|
'UNKNOWN_VIEW_TYPE': { class: 'public', dynamic: true, generatedOnly: false },
|
|
1606
1646
|
'UNSUPPORTED': { class: 'internal', dynamic: true, generatedOnly: false },
|
|
@@ -1628,4 +1668,4 @@ export const GENERATED_CODE_META = {
|
|
|
1628
1668
|
'WITH_CHECK_NOT_ALLOWED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1629
1669
|
};
|
|
1630
1670
|
/** Total number of codes collected from constructive-db. */
|
|
1631
|
-
export const GENERATED_CODE_COUNT =
|
|
1671
|
+
export const GENERATED_CODE_COUNT = 824;
|
package/esm/registry.d.ts
CHANGED
|
@@ -49,6 +49,13 @@ export declare const registry: {
|
|
|
49
49
|
readonly ACCOUNT_EXISTS: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
50
50
|
readonly ALREADY_AUTHENTICATED_USE_LINK: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
51
51
|
readonly IDENTIFIER_CONFLICT: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
52
|
+
readonly IDENTIFIER_VERIFIED_ELSEWHERE: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
53
|
+
readonly IDENTIFIER_UNVERIFIED_AMBIGUOUS: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
54
|
+
readonly IDENTIFIER_CLAIM_LIMIT: import("./define").DefinedError<{
|
|
55
|
+
limit?: number;
|
|
56
|
+
}>;
|
|
57
|
+
readonly MFA_IDENTIFIER_UNVERIFIED: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
58
|
+
readonly SMS_VERIFICATION_DISABLED: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
52
59
|
readonly ACCOUNT_NOT_FOUND: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
53
60
|
readonly NO_ACCOUNT_EXISTS: import("./define").DefinedError<{
|
|
54
61
|
userId?: string;
|
|
@@ -107,6 +114,21 @@ export declare const registry: {
|
|
|
107
114
|
limit?: number;
|
|
108
115
|
}>;
|
|
109
116
|
readonly RATE_LIMITED: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
117
|
+
readonly BILLING_NOT_READY: import("./define").DefinedError<{
|
|
118
|
+
database_id?: string;
|
|
119
|
+
checked_at?: string | null;
|
|
120
|
+
ready?: boolean | null;
|
|
121
|
+
}>;
|
|
122
|
+
readonly BILLING_ENTITY_BUSY: import("./define").DefinedError<{
|
|
123
|
+
entity_id?: string;
|
|
124
|
+
}>;
|
|
125
|
+
readonly BILLING_OPERATION_CONFLICT: import("./define").DefinedError<{
|
|
126
|
+
operation_id?: string;
|
|
127
|
+
}>;
|
|
128
|
+
readonly BILLING_OPERATION_INVALID: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
129
|
+
readonly UNKNOWN_METER: import("./define").DefinedError<{
|
|
130
|
+
meter_slug?: string;
|
|
131
|
+
}>;
|
|
110
132
|
readonly QUERY_TOO_DEEP: import("./define").DefinedError<{
|
|
111
133
|
depth?: number;
|
|
112
134
|
limit?: number;
|
package/esm/registry.js
CHANGED
|
@@ -95,6 +95,38 @@ export const registry = {
|
|
|
95
95
|
http: 409,
|
|
96
96
|
message: 'The email and phone number belong to different accounts. Provide only one of them.'
|
|
97
97
|
}),
|
|
98
|
+
// Verified-only identifier uniqueness: an email/phone may sit unverified on
|
|
99
|
+
// several accounts, but only one account may hold it verified.
|
|
100
|
+
IDENTIFIER_VERIFIED_ELSEWHERE: defineError({
|
|
101
|
+
code: 'IDENTIFIER_VERIFIED_ELSEWHERE',
|
|
102
|
+
class: 'public',
|
|
103
|
+
http: 409,
|
|
104
|
+
message: 'This email or phone number is already verified on another account. Sign in to that account or use a different one.'
|
|
105
|
+
}),
|
|
106
|
+
IDENTIFIER_UNVERIFIED_AMBIGUOUS: defineError({
|
|
107
|
+
code: 'IDENTIFIER_UNVERIFIED_AMBIGUOUS',
|
|
108
|
+
class: 'public',
|
|
109
|
+
http: 409,
|
|
110
|
+
message: 'This email or phone number is pending verification on more than one account. Verify it first to continue.'
|
|
111
|
+
}),
|
|
112
|
+
IDENTIFIER_CLAIM_LIMIT: defineError({
|
|
113
|
+
code: 'IDENTIFIER_CLAIM_LIMIT',
|
|
114
|
+
class: 'public',
|
|
115
|
+
http: 429,
|
|
116
|
+
message: 'This account has too many unverified emails or phone numbers. Verify or remove one before adding another.'
|
|
117
|
+
}),
|
|
118
|
+
MFA_IDENTIFIER_UNVERIFIED: defineError({
|
|
119
|
+
code: 'MFA_IDENTIFIER_UNVERIFIED',
|
|
120
|
+
class: 'public',
|
|
121
|
+
http: 403,
|
|
122
|
+
message: 'Verify this email or phone number before using it for multi-factor authentication.'
|
|
123
|
+
}),
|
|
124
|
+
SMS_VERIFICATION_DISABLED: defineError({
|
|
125
|
+
code: 'SMS_VERIFICATION_DISABLED',
|
|
126
|
+
class: 'public',
|
|
127
|
+
http: 403,
|
|
128
|
+
message: 'Phone number verification is not enabled.'
|
|
129
|
+
}),
|
|
98
130
|
ACCOUNT_NOT_FOUND: defineError({
|
|
99
131
|
code: 'ACCOUNT_NOT_FOUND',
|
|
100
132
|
class: 'public',
|
|
@@ -399,6 +431,39 @@ export const registry = {
|
|
|
399
431
|
message: 'Too many requests. Please slow down and try again shortly.'
|
|
400
432
|
}),
|
|
401
433
|
// ===========================================================================
|
|
434
|
+
// Billing provider operations (public)
|
|
435
|
+
// ===========================================================================
|
|
436
|
+
BILLING_NOT_READY: defineError({
|
|
437
|
+
code: 'BILLING_NOT_READY',
|
|
438
|
+
class: 'public',
|
|
439
|
+
http: 409,
|
|
440
|
+
message: 'Billing is not ready for this database yet. Please try again shortly.'
|
|
441
|
+
}),
|
|
442
|
+
BILLING_ENTITY_BUSY: defineError({
|
|
443
|
+
code: 'BILLING_ENTITY_BUSY',
|
|
444
|
+
class: 'public',
|
|
445
|
+
http: 409,
|
|
446
|
+
message: 'Another billing operation is already in progress for this account. Please wait for it to finish.'
|
|
447
|
+
}),
|
|
448
|
+
BILLING_OPERATION_CONFLICT: defineError({
|
|
449
|
+
code: 'BILLING_OPERATION_CONFLICT',
|
|
450
|
+
class: 'public',
|
|
451
|
+
http: 409,
|
|
452
|
+
message: 'This billing operation ID was already used for a different request.'
|
|
453
|
+
}),
|
|
454
|
+
BILLING_OPERATION_INVALID: defineError({
|
|
455
|
+
code: 'BILLING_OPERATION_INVALID',
|
|
456
|
+
class: 'public',
|
|
457
|
+
http: 400,
|
|
458
|
+
message: 'The billing operation request is invalid.'
|
|
459
|
+
}),
|
|
460
|
+
UNKNOWN_METER: defineError({
|
|
461
|
+
code: 'UNKNOWN_METER',
|
|
462
|
+
class: 'public',
|
|
463
|
+
http: 404,
|
|
464
|
+
message: 'The requested meter does not exist.'
|
|
465
|
+
}),
|
|
466
|
+
// ===========================================================================
|
|
402
467
|
// Request protection (public, dynamic) — raised by the GraphQL runtime when a
|
|
403
468
|
// request exceeds the bounds resolved from database_settings/api_settings.
|
|
404
469
|
// Each carries the limit that was in force so a client can adapt rather than
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GENERATED FILE — DO NOT EDIT BY HAND.
|
|
3
3
|
*
|
|
4
|
-
* Source of truth: the constructive-db error audit (
|
|
4
|
+
* Source of truth: the constructive-db error audit (824 distinct codes
|
|
5
5
|
* raised via EXCEPTION/THROW across deploy sources + generated output).
|
|
6
6
|
* Regenerate with `python3 scripts/generate-registry.py` (see README.md).
|
|
7
7
|
*
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* codes carry their raw message (with %-args rendered as {{argN}}). Curated
|
|
10
10
|
* entries in `registry.ts` override anything here (typed context + refined copy).
|
|
11
11
|
*
|
|
12
|
-
* Counts:
|
|
12
|
+
* Counts: 824 total, 604 public, 220 internal.
|
|
13
13
|
*/
|
|
14
14
|
import { type DefinedError } from '../define';
|
|
15
15
|
import type { ErrorContext } from '../types';
|
|
@@ -24,4 +24,4 @@ export declare const generatedRegistry: Record<string, DefinedError<ErrorContext
|
|
|
24
24
|
/** Audit metadata for each generated code. */
|
|
25
25
|
export declare const GENERATED_CODE_META: Record<string, GeneratedCodeMeta>;
|
|
26
26
|
/** Total number of codes collected from constructive-db. */
|
|
27
|
-
export declare const GENERATED_CODE_COUNT =
|
|
27
|
+
export declare const GENERATED_CODE_COUNT = 824;
|
|
@@ -5,7 +5,7 @@ exports.GENERATED_CODE_COUNT = exports.GENERATED_CODE_META = exports.generatedRe
|
|
|
5
5
|
/**
|
|
6
6
|
* GENERATED FILE — DO NOT EDIT BY HAND.
|
|
7
7
|
*
|
|
8
|
-
* Source of truth: the constructive-db error audit (
|
|
8
|
+
* Source of truth: the constructive-db error audit (824 distinct codes
|
|
9
9
|
* raised via EXCEPTION/THROW across deploy sources + generated output).
|
|
10
10
|
* Regenerate with `python3 scripts/generate-registry.py` (see README.md).
|
|
11
11
|
*
|
|
@@ -13,7 +13,7 @@ exports.GENERATED_CODE_COUNT = exports.GENERATED_CODE_META = exports.generatedRe
|
|
|
13
13
|
* codes carry their raw message (with %-args rendered as {{argN}}). Curated
|
|
14
14
|
* entries in `registry.ts` override anything here (typed context + refined copy).
|
|
15
15
|
*
|
|
16
|
-
* Counts:
|
|
16
|
+
* Counts: 824 total, 604 public, 220 internal.
|
|
17
17
|
*/
|
|
18
18
|
const define_1 = require("../define");
|
|
19
19
|
/** Every constructive-db error code, keyed by code. */
|
|
@@ -38,6 +38,9 @@ exports.generatedRegistry = {
|
|
|
38
38
|
'APP_INSTALLATION_MISSING': (0, define_1.defineError)({ code: 'APP_INSTALLATION_MISSING', class: 'public', http: 400, message: 'App installation missing.' }),
|
|
39
39
|
'APP_INSTALL_NO_SERVICE': (0, define_1.defineError)({ code: 'APP_INSTALL_NO_SERVICE', class: 'public', http: 400, message: 'App install no service.' }),
|
|
40
40
|
'ASSIGN_PROFILES_CAPABILITY_REQUIRED': (0, define_1.defineError)({ code: 'ASSIGN_PROFILES_CAPABILITY_REQUIRED', class: 'internal', http: 500, message: 'Assign profiles capability required.' }),
|
|
41
|
+
'AST_OPTIONS_NOT_OBJECT': (0, define_1.defineError)({ code: 'AST_OPTIONS_NOT_OBJECT', class: 'internal', http: 500, message: 'Ast options not object.' }),
|
|
42
|
+
'AST_OPTION_REQUIRED': (0, define_1.defineError)({ code: 'AST_OPTION_REQUIRED', class: 'internal', http: 500, message: 'Ast option required.' }),
|
|
43
|
+
'AST_OPTION_UNKNOWN': (0, define_1.defineError)({ code: 'AST_OPTION_UNKNOWN', class: 'internal', http: 500, message: 'Ast option unknown.' }),
|
|
41
44
|
'ATTRIBUTION_REQUIRED': (0, define_1.defineError)({ code: 'ATTRIBUTION_REQUIRED', class: 'internal', http: 500, message: 'Attribution required.' }),
|
|
42
45
|
'AUTHZ_COLUMN_SECURITY_AUTHZ_NODE_REQUIRED': (0, define_1.defineError)({ code: 'AUTHZ_COLUMN_SECURITY_AUTHZ_NODE_REQUIRED', class: 'public', http: 400, message: 'Authz column security authz node required.' }),
|
|
43
46
|
'AUTHZ_COLUMN_SECURITY_COLUMNS_REQUIRED': (0, define_1.defineError)({ code: 'AUTHZ_COLUMN_SECURITY_COLUMNS_REQUIRED', class: 'public', http: 400, message: 'Authz column security columns required.' }),
|
|
@@ -75,6 +78,17 @@ exports.generatedRegistry = {
|
|
|
75
78
|
'BAD_VIEW_EXPRESSION': (0, define_1.defineError)({ code: 'BAD_VIEW_EXPRESSION', class: 'public', http: 400, message: 'Bad view expression.' }),
|
|
76
79
|
'BEHAVIOR_FRAGMENT_EMPTY': (0, define_1.defineError)({ code: 'BEHAVIOR_FRAGMENT_EMPTY', class: 'internal', http: 500, message: 'Behavior fragment empty.' }),
|
|
77
80
|
'BILLING_DISPUTE_BALANCE_NOT_FOUND': (0, define_1.defineError)({ code: 'BILLING_DISPUTE_BALANCE_NOT_FOUND', class: 'internal', http: 500, message: 'Billing dispute balance not found.' }),
|
|
81
|
+
'BILLING_ENTITY_BUSY': (0, define_1.defineError)({ code: 'BILLING_ENTITY_BUSY', class: 'public', http: 400, message: 'Billing entity busy.' }),
|
|
82
|
+
'BILLING_HEALTH_INVALID': (0, define_1.defineError)({ code: 'BILLING_HEALTH_INVALID', class: 'internal', http: 500, message: 'Billing health invalid.' }),
|
|
83
|
+
'BILLING_NOT_READY': (0, define_1.defineError)({ code: 'BILLING_NOT_READY', class: 'public', http: 400, message: 'Billing not ready.' }),
|
|
84
|
+
'BILLING_OBSERVATION_INVALID': (0, define_1.defineError)({ code: 'BILLING_OBSERVATION_INVALID', class: 'internal', http: 500, message: 'Billing observation invalid.' }),
|
|
85
|
+
'BILLING_OPERATION_CONFLICT': (0, define_1.defineError)({ code: 'BILLING_OPERATION_CONFLICT', class: 'public', http: 400, message: 'Billing operation conflict.' }),
|
|
86
|
+
'BILLING_OPERATION_INVALID': (0, define_1.defineError)({ code: 'BILLING_OPERATION_INVALID', class: 'public', http: 400, message: 'Billing operation invalid.' }),
|
|
87
|
+
'BILLING_OPERATION_NOT_FOUND': (0, define_1.defineError)({ code: 'BILLING_OPERATION_NOT_FOUND', class: 'internal', http: 500, message: 'Billing operation not found.' }),
|
|
88
|
+
'BILLING_OPERATION_SETTLED': (0, define_1.defineError)({ code: 'BILLING_OPERATION_SETTLED', class: 'internal', http: 500, message: 'Billing operation settled.' }),
|
|
89
|
+
'BILLING_OPERATION_STATE_INVALID': (0, define_1.defineError)({ code: 'BILLING_OPERATION_STATE_INVALID', class: 'internal', http: 500, message: 'Billing operation state invalid.' }),
|
|
90
|
+
'BILLING_RECONCILE_BOUNDS_REQUIRED': (0, define_1.defineError)({ code: 'BILLING_RECONCILE_BOUNDS_REQUIRED', class: 'internal', http: 500, message: 'Billing reconcile bounds required.' }),
|
|
91
|
+
'BILLING_SCHEDULED_CHANGE_INVALID': (0, define_1.defineError)({ code: 'BILLING_SCHEDULED_CHANGE_INVALID', class: 'internal', http: 500, message: 'Billing scheduled change invalid.' }),
|
|
78
92
|
'BLUEPRINT_MODULE_NOT_INSTALLED': (0, define_1.defineError)({ code: 'BLUEPRINT_MODULE_NOT_INSTALLED', class: 'public', http: 400, message: 'Blueprint module not installed.' }),
|
|
79
93
|
'BLUEPRINT_MODULE_REF_AMBIGUOUS': (0, define_1.defineError)({ code: 'BLUEPRINT_MODULE_REF_AMBIGUOUS', class: 'public', http: 400, message: 'Blueprint module ref ambiguous.' }),
|
|
80
94
|
'BLUEPRINT_MODULE_REF_INVALID': (0, define_1.defineError)({ code: 'BLUEPRINT_MODULE_REF_INVALID', class: 'public', http: 400, message: 'Blueprint module ref invalid.' }),
|
|
@@ -366,7 +380,7 @@ exports.generatedRegistry = {
|
|
|
366
380
|
'GRAPH_TREE_NOT_FOUND': (0, define_1.defineError)({ code: 'GRAPH_TREE_NOT_FOUND', class: 'internal', http: 500, message: 'Graph tree not found.' }),
|
|
367
381
|
'GRAPH_VALIDATION_FAILED': (0, define_1.defineError)({ code: 'GRAPH_VALIDATION_FAILED', class: 'internal', http: 500, message: 'GRAPH_VALIDATION_FAILED: graph {{arg0}} failed pre-execution validation: {{arg1}}', positional: ['arg0', 'arg1'] }),
|
|
368
382
|
'GROUPS_REQ_ENTITIES': (0, define_1.defineError)({ code: 'GROUPS_REQ_ENTITIES', class: 'public', http: 400, message: 'Groups req entities.' }),
|
|
369
|
-
'GUARD_STEP_UP': (0, define_1.defineError)({ code: 'GUARD_STEP_UP', class: 'internal', http: 500, message: 'GUARD_STEP_UP:
|
|
383
|
+
'GUARD_STEP_UP': (0, define_1.defineError)({ code: 'GUARD_STEP_UP', class: 'internal', http: 500, message: 'GUARD_STEP_UP: min_age anchor takes fk_col or anchor_conditions, not both' }),
|
|
370
384
|
'GUARD_STEP_UP_CONDITIONS_CONDITION_FIELD_CONFLICT': (0, define_1.defineError)({ code: 'GUARD_STEP_UP_CONDITIONS_CONDITION_FIELD_CONFLICT', class: 'public', http: 403, message: 'Guard step up conditions condition field conflict.' }),
|
|
371
385
|
'GUARD_STEP_UP_CONDITIONS_WATCH_FIELDS_CONFLICT': (0, define_1.defineError)({ code: 'GUARD_STEP_UP_CONDITIONS_WATCH_FIELDS_CONFLICT', class: 'public', http: 403, message: 'Guard step up conditions watch fields conflict.' }),
|
|
372
386
|
'GUARD_STEP_UP_CONDITION_FIELD_NOT_FOUND': (0, define_1.defineError)({ code: 'GUARD_STEP_UP_CONDITION_FIELD_NOT_FOUND', class: 'public', http: 404, message: 'Guard step up condition field not found.' }),
|
|
@@ -414,7 +428,10 @@ exports.generatedRegistry = {
|
|
|
414
428
|
'HISTORY': (0, define_1.defineError)({ code: 'HISTORY', class: 'internal', http: 500, message: 'HISTORY: history {{arg0}}.{{arg1}} registration has no copy_fields', positional: ['arg0', 'arg1'] }),
|
|
415
429
|
'HOSTNAME_BINDING_SYNC': (0, define_1.defineError)({ code: 'HOSTNAME_BINDING_SYNC', class: 'internal', http: 500, message: 'HOSTNAME_BINDING_SYNC: unknown event {{arg0}}, expected UPSERT or DELETE', positional: ['arg0'] }),
|
|
416
430
|
'HOSTNAME_CLAIMED_IN_OTHER_PLANE': (0, define_1.defineError)({ code: 'HOSTNAME_CLAIMED_IN_OTHER_PLANE', class: 'public', http: 400, message: 'Hostname claimed in other plane.' }),
|
|
431
|
+
'IDENTIFIER_CLAIM_LIMIT': (0, define_1.defineError)({ code: 'IDENTIFIER_CLAIM_LIMIT', class: 'public', http: 429, message: 'Identifier claim limit.' }),
|
|
417
432
|
'IDENTIFIER_CONFLICT': (0, define_1.defineError)({ code: 'IDENTIFIER_CONFLICT', class: 'public', http: 400, message: 'Identifier conflict.' }),
|
|
433
|
+
'IDENTIFIER_UNVERIFIED_AMBIGUOUS': (0, define_1.defineError)({ code: 'IDENTIFIER_UNVERIFIED_AMBIGUOUS', class: 'public', http: 400, message: 'Identifier unverified ambiguous.' }),
|
|
434
|
+
'IDENTIFIER_VERIFIED_ELSEWHERE': (0, define_1.defineError)({ code: 'IDENTIFIER_VERIFIED_ELSEWHERE', class: 'public', http: 400, message: 'Identifier verified elsewhere.' }),
|
|
418
435
|
'IDENTITY_ACCOUNT_NOT_FOUND': (0, define_1.defineError)({ code: 'IDENTITY_ACCOUNT_NOT_FOUND', class: 'public', http: 404, message: 'Identity account not found.' }),
|
|
419
436
|
'IDENTITY_ALREADY_LINKED': (0, define_1.defineError)({ code: 'IDENTITY_ALREADY_LINKED', class: 'public', http: 409, message: 'Identity already linked.' }),
|
|
420
437
|
'IDENTITY_LINK_AVAILABLE': (0, define_1.defineError)({ code: 'IDENTITY_LINK_AVAILABLE', class: 'public', http: 400, message: 'Identity link available.' }),
|
|
@@ -541,6 +558,7 @@ exports.generatedRegistry = {
|
|
|
541
558
|
'MERKLE_REF_NOT_FOUND': (0, define_1.defineError)({ code: 'MERKLE_REF_NOT_FOUND', class: 'public', http: 404, message: 'Merkle ref not found.' }),
|
|
542
559
|
'METER_RATE_LIMIT': (0, define_1.defineError)({ code: 'METER_RATE_LIMIT', class: 'internal', http: 500, message: 'METER_RATE_LIMIT: unknown event {{arg0}}, expected INSERT or UPDATE', positional: ['arg0'] }),
|
|
543
560
|
'MFA_CHALLENGE_EXPIRED': (0, define_1.defineError)({ code: 'MFA_CHALLENGE_EXPIRED', class: 'public', http: 403, message: 'Mfa challenge expired.' }),
|
|
561
|
+
'MFA_IDENTIFIER_UNVERIFIED': (0, define_1.defineError)({ code: 'MFA_IDENTIFIER_UNVERIFIED', class: 'public', http: 403, message: 'Mfa identifier unverified.' }),
|
|
544
562
|
'MFA_REQUIRED': (0, define_1.defineError)({ code: 'MFA_REQUIRED', class: 'public', http: 403, message: 'Mfa required.' }),
|
|
545
563
|
'MISSING_FIXTURE_TYPE': (0, define_1.defineError)({ code: 'MISSING_FIXTURE_TYPE', class: 'internal', http: 500, message: 'Missing fixture type.' }),
|
|
546
564
|
'MISSING_REQUIRED_FIELD': (0, define_1.defineError)({ code: 'MISSING_REQUIRED_FIELD', class: 'public', http: 400, message: 'Missing required field.' }),
|
|
@@ -720,6 +738,7 @@ exports.generatedRegistry = {
|
|
|
720
738
|
'SITE_SURFACE_NOT_PROVISIONED': (0, define_1.defineError)({ code: 'SITE_SURFACE_NOT_PROVISIONED', class: 'public', http: 400, message: 'Site surface not provisioned.' }),
|
|
721
739
|
'SMS_SIGN_IN_DISABLED': (0, define_1.defineError)({ code: 'SMS_SIGN_IN_DISABLED', class: 'public', http: 403, message: 'Sms sign in disabled.' }),
|
|
722
740
|
'SMS_SIGN_UP_DISABLED': (0, define_1.defineError)({ code: 'SMS_SIGN_UP_DISABLED', class: 'public', http: 403, message: 'Sms sign up disabled.' }),
|
|
741
|
+
'SMS_VERIFICATION_DISABLED': (0, define_1.defineError)({ code: 'SMS_VERIFICATION_DISABLED', class: 'public', http: 403, message: 'Sms verification disabled.' }),
|
|
723
742
|
'SOURCE_COMMIT_NOT_FOUND': (0, define_1.defineError)({ code: 'SOURCE_COMMIT_NOT_FOUND', class: 'internal', http: 500, message: 'Source commit not found.' }),
|
|
724
743
|
'SOURCE_EMAILS_NOT_FOUND': (0, define_1.defineError)({ code: 'SOURCE_EMAILS_NOT_FOUND', class: 'internal', http: 500, message: 'Source emails not found.' }),
|
|
725
744
|
'SOURCE_SECRETS_NOT_FOUND': (0, define_1.defineError)({ code: 'SOURCE_SECRETS_NOT_FOUND', class: 'internal', http: 500, message: 'Source secrets not found.' }),
|
|
@@ -797,6 +816,7 @@ exports.generatedRegistry = {
|
|
|
797
816
|
'TRIGGER_WHEN_AST_ROW_UNAVAILABLE': (0, define_1.defineError)({ code: 'TRIGGER_WHEN_AST_ROW_UNAVAILABLE', class: 'public', http: 400, message: 'Trigger when ast row unavailable.' }),
|
|
798
817
|
'TRUST_LADDER_OPTION_INVALID': (0, define_1.defineError)({ code: 'TRUST_LADDER_OPTION_INVALID', class: 'internal', http: 500, message: 'Trust ladder option invalid.' }),
|
|
799
818
|
'UNAUTHENTICATED': (0, define_1.defineError)({ code: 'UNAUTHENTICATED', class: 'public', http: 401, message: 'Unauthenticated.' }),
|
|
819
|
+
'UNKNOWN_METER': (0, define_1.defineError)({ code: 'UNKNOWN_METER', class: 'public', http: 400, message: 'Unknown meter.' }),
|
|
800
820
|
'UNKNOWN_POLICY_TYPE': (0, define_1.defineError)({ code: 'UNKNOWN_POLICY_TYPE', class: 'public', http: 400, message: 'Unknown policy type.' }),
|
|
801
821
|
'UNKNOWN_VIEW_TYPE': (0, define_1.defineError)({ code: 'UNKNOWN_VIEW_TYPE', class: 'public', http: 400, message: 'Unknown view type.', positional: ['arg0'] }),
|
|
802
822
|
'UNSUPPORTED': (0, define_1.defineError)({ code: 'UNSUPPORTED', class: 'internal', http: 500, message: 'UNSUPPORTED POLICY ({{arg0}})', positional: ['arg0'] }),
|
|
@@ -845,6 +865,9 @@ exports.GENERATED_CODE_META = {
|
|
|
845
865
|
'APP_INSTALLATION_MISSING': { class: 'public', dynamic: false, generatedOnly: false },
|
|
846
866
|
'APP_INSTALL_NO_SERVICE': { class: 'public', dynamic: false, generatedOnly: false },
|
|
847
867
|
'ASSIGN_PROFILES_CAPABILITY_REQUIRED': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
868
|
+
'AST_OPTIONS_NOT_OBJECT': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
869
|
+
'AST_OPTION_REQUIRED': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
870
|
+
'AST_OPTION_UNKNOWN': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
848
871
|
'ATTRIBUTION_REQUIRED': { class: 'internal', dynamic: false, generatedOnly: true },
|
|
849
872
|
'AUTHZ_COLUMN_SECURITY_AUTHZ_NODE_REQUIRED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
850
873
|
'AUTHZ_COLUMN_SECURITY_COLUMNS_REQUIRED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
@@ -882,6 +905,17 @@ exports.GENERATED_CODE_META = {
|
|
|
882
905
|
'BAD_VIEW_EXPRESSION': { class: 'public', dynamic: false, generatedOnly: false },
|
|
883
906
|
'BEHAVIOR_FRAGMENT_EMPTY': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
884
907
|
'BILLING_DISPUTE_BALANCE_NOT_FOUND': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
908
|
+
'BILLING_ENTITY_BUSY': { class: 'public', dynamic: false, generatedOnly: true },
|
|
909
|
+
'BILLING_HEALTH_INVALID': { class: 'internal', dynamic: false, generatedOnly: true },
|
|
910
|
+
'BILLING_NOT_READY': { class: 'public', dynamic: false, generatedOnly: false },
|
|
911
|
+
'BILLING_OBSERVATION_INVALID': { class: 'internal', dynamic: false, generatedOnly: true },
|
|
912
|
+
'BILLING_OPERATION_CONFLICT': { class: 'public', dynamic: false, generatedOnly: true },
|
|
913
|
+
'BILLING_OPERATION_INVALID': { class: 'public', dynamic: false, generatedOnly: true },
|
|
914
|
+
'BILLING_OPERATION_NOT_FOUND': { class: 'internal', dynamic: false, generatedOnly: true },
|
|
915
|
+
'BILLING_OPERATION_SETTLED': { class: 'internal', dynamic: false, generatedOnly: true },
|
|
916
|
+
'BILLING_OPERATION_STATE_INVALID': { class: 'internal', dynamic: false, generatedOnly: true },
|
|
917
|
+
'BILLING_RECONCILE_BOUNDS_REQUIRED': { class: 'internal', dynamic: false, generatedOnly: true },
|
|
918
|
+
'BILLING_SCHEDULED_CHANGE_INVALID': { class: 'internal', dynamic: false, generatedOnly: true },
|
|
885
919
|
'BLUEPRINT_MODULE_NOT_INSTALLED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
886
920
|
'BLUEPRINT_MODULE_REF_AMBIGUOUS': { class: 'public', dynamic: false, generatedOnly: false },
|
|
887
921
|
'BLUEPRINT_MODULE_REF_INVALID': { class: 'public', dynamic: false, generatedOnly: false },
|
|
@@ -1221,7 +1255,10 @@ exports.GENERATED_CODE_META = {
|
|
|
1221
1255
|
'HISTORY': { class: 'internal', dynamic: true, generatedOnly: false },
|
|
1222
1256
|
'HOSTNAME_BINDING_SYNC': { class: 'internal', dynamic: true, generatedOnly: false },
|
|
1223
1257
|
'HOSTNAME_CLAIMED_IN_OTHER_PLANE': { class: 'public', dynamic: false, generatedOnly: true },
|
|
1258
|
+
'IDENTIFIER_CLAIM_LIMIT': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1224
1259
|
'IDENTIFIER_CONFLICT': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1260
|
+
'IDENTIFIER_UNVERIFIED_AMBIGUOUS': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1261
|
+
'IDENTIFIER_VERIFIED_ELSEWHERE': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1225
1262
|
'IDENTITY_ACCOUNT_NOT_FOUND': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1226
1263
|
'IDENTITY_ALREADY_LINKED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1227
1264
|
'IDENTITY_LINK_AVAILABLE': { class: 'public', dynamic: false, generatedOnly: false },
|
|
@@ -1348,6 +1385,7 @@ exports.GENERATED_CODE_META = {
|
|
|
1348
1385
|
'MERKLE_REF_NOT_FOUND': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1349
1386
|
'METER_RATE_LIMIT': { class: 'internal', dynamic: true, generatedOnly: false },
|
|
1350
1387
|
'MFA_CHALLENGE_EXPIRED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1388
|
+
'MFA_IDENTIFIER_UNVERIFIED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1351
1389
|
'MFA_REQUIRED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1352
1390
|
'MISSING_FIXTURE_TYPE': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
1353
1391
|
'MISSING_REQUIRED_FIELD': { class: 'public', dynamic: false, generatedOnly: false },
|
|
@@ -1527,6 +1565,7 @@ exports.GENERATED_CODE_META = {
|
|
|
1527
1565
|
'SITE_SURFACE_NOT_PROVISIONED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1528
1566
|
'SMS_SIGN_IN_DISABLED': { class: 'public', dynamic: false, generatedOnly: true },
|
|
1529
1567
|
'SMS_SIGN_UP_DISABLED': { class: 'public', dynamic: false, generatedOnly: true },
|
|
1568
|
+
'SMS_VERIFICATION_DISABLED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1530
1569
|
'SOURCE_COMMIT_NOT_FOUND': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
1531
1570
|
'SOURCE_EMAILS_NOT_FOUND': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
1532
1571
|
'SOURCE_SECRETS_NOT_FOUND': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
@@ -1604,6 +1643,7 @@ exports.GENERATED_CODE_META = {
|
|
|
1604
1643
|
'TRIGGER_WHEN_AST_ROW_UNAVAILABLE': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1605
1644
|
'TRUST_LADDER_OPTION_INVALID': { class: 'internal', dynamic: false, generatedOnly: false },
|
|
1606
1645
|
'UNAUTHENTICATED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1646
|
+
'UNKNOWN_METER': { class: 'public', dynamic: false, generatedOnly: true },
|
|
1607
1647
|
'UNKNOWN_POLICY_TYPE': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1608
1648
|
'UNKNOWN_VIEW_TYPE': { class: 'public', dynamic: true, generatedOnly: false },
|
|
1609
1649
|
'UNSUPPORTED': { class: 'internal', dynamic: true, generatedOnly: false },
|
|
@@ -1631,4 +1671,4 @@ exports.GENERATED_CODE_META = {
|
|
|
1631
1671
|
'WITH_CHECK_NOT_ALLOWED': { class: 'public', dynamic: false, generatedOnly: false },
|
|
1632
1672
|
};
|
|
1633
1673
|
/** Total number of codes collected from constructive-db. */
|
|
1634
|
-
exports.GENERATED_CODE_COUNT =
|
|
1674
|
+
exports.GENERATED_CODE_COUNT = 824;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@constructive-io/errors",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"author": "Constructive <developers@constructive.io>",
|
|
5
5
|
"description": "Canonical Constructive error system: registry, codes, i18n messages, and cross-source (PostgreSQL/GraphQL/client) parsing. Zero runtime dependencies.",
|
|
6
6
|
"main": "index.js",
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"makage": "^0.8.0",
|
|
42
42
|
"ts-node": "^10.9.2"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "e05686fb94c5e22c954436f18c25aa4439b9e83e"
|
|
45
45
|
}
|
package/registry.d.ts
CHANGED
|
@@ -49,6 +49,13 @@ export declare const registry: {
|
|
|
49
49
|
readonly ACCOUNT_EXISTS: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
50
50
|
readonly ALREADY_AUTHENTICATED_USE_LINK: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
51
51
|
readonly IDENTIFIER_CONFLICT: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
52
|
+
readonly IDENTIFIER_VERIFIED_ELSEWHERE: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
53
|
+
readonly IDENTIFIER_UNVERIFIED_AMBIGUOUS: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
54
|
+
readonly IDENTIFIER_CLAIM_LIMIT: import("./define").DefinedError<{
|
|
55
|
+
limit?: number;
|
|
56
|
+
}>;
|
|
57
|
+
readonly MFA_IDENTIFIER_UNVERIFIED: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
58
|
+
readonly SMS_VERIFICATION_DISABLED: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
52
59
|
readonly ACCOUNT_NOT_FOUND: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
53
60
|
readonly NO_ACCOUNT_EXISTS: import("./define").DefinedError<{
|
|
54
61
|
userId?: string;
|
|
@@ -107,6 +114,21 @@ export declare const registry: {
|
|
|
107
114
|
limit?: number;
|
|
108
115
|
}>;
|
|
109
116
|
readonly RATE_LIMITED: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
117
|
+
readonly BILLING_NOT_READY: import("./define").DefinedError<{
|
|
118
|
+
database_id?: string;
|
|
119
|
+
checked_at?: string | null;
|
|
120
|
+
ready?: boolean | null;
|
|
121
|
+
}>;
|
|
122
|
+
readonly BILLING_ENTITY_BUSY: import("./define").DefinedError<{
|
|
123
|
+
entity_id?: string;
|
|
124
|
+
}>;
|
|
125
|
+
readonly BILLING_OPERATION_CONFLICT: import("./define").DefinedError<{
|
|
126
|
+
operation_id?: string;
|
|
127
|
+
}>;
|
|
128
|
+
readonly BILLING_OPERATION_INVALID: import("./define").DefinedError<import("./types").EmptyContext>;
|
|
129
|
+
readonly UNKNOWN_METER: import("./define").DefinedError<{
|
|
130
|
+
meter_slug?: string;
|
|
131
|
+
}>;
|
|
110
132
|
readonly QUERY_TOO_DEEP: import("./define").DefinedError<{
|
|
111
133
|
depth?: number;
|
|
112
134
|
limit?: number;
|
package/registry.js
CHANGED
|
@@ -101,6 +101,38 @@ exports.registry = {
|
|
|
101
101
|
http: 409,
|
|
102
102
|
message: 'The email and phone number belong to different accounts. Provide only one of them.'
|
|
103
103
|
}),
|
|
104
|
+
// Verified-only identifier uniqueness: an email/phone may sit unverified on
|
|
105
|
+
// several accounts, but only one account may hold it verified.
|
|
106
|
+
IDENTIFIER_VERIFIED_ELSEWHERE: (0, define_1.defineError)({
|
|
107
|
+
code: 'IDENTIFIER_VERIFIED_ELSEWHERE',
|
|
108
|
+
class: 'public',
|
|
109
|
+
http: 409,
|
|
110
|
+
message: 'This email or phone number is already verified on another account. Sign in to that account or use a different one.'
|
|
111
|
+
}),
|
|
112
|
+
IDENTIFIER_UNVERIFIED_AMBIGUOUS: (0, define_1.defineError)({
|
|
113
|
+
code: 'IDENTIFIER_UNVERIFIED_AMBIGUOUS',
|
|
114
|
+
class: 'public',
|
|
115
|
+
http: 409,
|
|
116
|
+
message: 'This email or phone number is pending verification on more than one account. Verify it first to continue.'
|
|
117
|
+
}),
|
|
118
|
+
IDENTIFIER_CLAIM_LIMIT: (0, define_1.defineError)({
|
|
119
|
+
code: 'IDENTIFIER_CLAIM_LIMIT',
|
|
120
|
+
class: 'public',
|
|
121
|
+
http: 429,
|
|
122
|
+
message: 'This account has too many unverified emails or phone numbers. Verify or remove one before adding another.'
|
|
123
|
+
}),
|
|
124
|
+
MFA_IDENTIFIER_UNVERIFIED: (0, define_1.defineError)({
|
|
125
|
+
code: 'MFA_IDENTIFIER_UNVERIFIED',
|
|
126
|
+
class: 'public',
|
|
127
|
+
http: 403,
|
|
128
|
+
message: 'Verify this email or phone number before using it for multi-factor authentication.'
|
|
129
|
+
}),
|
|
130
|
+
SMS_VERIFICATION_DISABLED: (0, define_1.defineError)({
|
|
131
|
+
code: 'SMS_VERIFICATION_DISABLED',
|
|
132
|
+
class: 'public',
|
|
133
|
+
http: 403,
|
|
134
|
+
message: 'Phone number verification is not enabled.'
|
|
135
|
+
}),
|
|
104
136
|
ACCOUNT_NOT_FOUND: (0, define_1.defineError)({
|
|
105
137
|
code: 'ACCOUNT_NOT_FOUND',
|
|
106
138
|
class: 'public',
|
|
@@ -405,6 +437,39 @@ exports.registry = {
|
|
|
405
437
|
message: 'Too many requests. Please slow down and try again shortly.'
|
|
406
438
|
}),
|
|
407
439
|
// ===========================================================================
|
|
440
|
+
// Billing provider operations (public)
|
|
441
|
+
// ===========================================================================
|
|
442
|
+
BILLING_NOT_READY: (0, define_1.defineError)({
|
|
443
|
+
code: 'BILLING_NOT_READY',
|
|
444
|
+
class: 'public',
|
|
445
|
+
http: 409,
|
|
446
|
+
message: 'Billing is not ready for this database yet. Please try again shortly.'
|
|
447
|
+
}),
|
|
448
|
+
BILLING_ENTITY_BUSY: (0, define_1.defineError)({
|
|
449
|
+
code: 'BILLING_ENTITY_BUSY',
|
|
450
|
+
class: 'public',
|
|
451
|
+
http: 409,
|
|
452
|
+
message: 'Another billing operation is already in progress for this account. Please wait for it to finish.'
|
|
453
|
+
}),
|
|
454
|
+
BILLING_OPERATION_CONFLICT: (0, define_1.defineError)({
|
|
455
|
+
code: 'BILLING_OPERATION_CONFLICT',
|
|
456
|
+
class: 'public',
|
|
457
|
+
http: 409,
|
|
458
|
+
message: 'This billing operation ID was already used for a different request.'
|
|
459
|
+
}),
|
|
460
|
+
BILLING_OPERATION_INVALID: (0, define_1.defineError)({
|
|
461
|
+
code: 'BILLING_OPERATION_INVALID',
|
|
462
|
+
class: 'public',
|
|
463
|
+
http: 400,
|
|
464
|
+
message: 'The billing operation request is invalid.'
|
|
465
|
+
}),
|
|
466
|
+
UNKNOWN_METER: (0, define_1.defineError)({
|
|
467
|
+
code: 'UNKNOWN_METER',
|
|
468
|
+
class: 'public',
|
|
469
|
+
http: 404,
|
|
470
|
+
message: 'The requested meter does not exist.'
|
|
471
|
+
}),
|
|
472
|
+
// ===========================================================================
|
|
408
473
|
// Request protection (public, dynamic) — raised by the GraphQL runtime when a
|
|
409
474
|
// request exceeds the bounds resolved from database_settings/api_settings.
|
|
410
475
|
// Each carries the limit that was in force so a client can adapt rather than
|