@cross-deck/web 0.6.0 → 0.10.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.
@@ -0,0 +1,91 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "generatedAt": "2026-05-11T09:58:07.210Z",
4
+ "sdk": "@cross-deck/web",
5
+ "codes": [
6
+ {
7
+ "code": "invalid_public_key",
8
+ "type": "configuration_error",
9
+ "description": "The publishable key passed to Crossdeck.init() doesn't start with cd_pub_.",
10
+ "resolution": "Copy the key from your Crossdeck dashboard → API keys page.",
11
+ "retryable": false
12
+ },
13
+ {
14
+ "code": "missing_app_id",
15
+ "type": "configuration_error",
16
+ "description": "Crossdeck.init() was called without an appId.",
17
+ "resolution": "Add appId to your init options — find it in the dashboard's Apps page.",
18
+ "retryable": false
19
+ },
20
+ {
21
+ "code": "invalid_environment",
22
+ "type": "configuration_error",
23
+ "description": "Crossdeck.init() requires environment: 'production' | 'sandbox'.",
24
+ "resolution": "Pass the literal string \"production\" or \"sandbox\" — no other values are accepted.",
25
+ "retryable": false
26
+ },
27
+ {
28
+ "code": "environment_mismatch",
29
+ "type": "configuration_error",
30
+ "description": "The publishable key's env prefix doesn't match the declared environment option.",
31
+ "resolution": "Either change `environment` to match the key prefix (cd_pub_test_ ↔ sandbox, cd_pub_live_ ↔ production), or swap the key for one minted in the right env.",
32
+ "retryable": false
33
+ },
34
+ {
35
+ "code": "not_initialized",
36
+ "type": "configuration_error",
37
+ "description": "An SDK method was called before Crossdeck.init().",
38
+ "resolution": "Call Crossdeck.init({ appId, publicKey, environment }) once at app startup before any other method.",
39
+ "retryable": false
40
+ },
41
+ {
42
+ "code": "missing_user_id",
43
+ "type": "invalid_request_error",
44
+ "description": "identify() was called with an empty userId.",
45
+ "resolution": "Pass a stable, non-empty user identifier from your auth layer — never a hardcoded placeholder.",
46
+ "retryable": false
47
+ },
48
+ {
49
+ "code": "missing_event_name",
50
+ "type": "invalid_request_error",
51
+ "description": "track() was called without an event name.",
52
+ "resolution": "Pass a non-empty string as the first argument.",
53
+ "retryable": false
54
+ },
55
+ {
56
+ "code": "missing_group_type",
57
+ "type": "invalid_request_error",
58
+ "description": "group() was called without a group type.",
59
+ "resolution": "Pass a non-empty type (e.g. \"org\", \"team\") as the first argument.",
60
+ "retryable": false
61
+ },
62
+ {
63
+ "code": "missing_signed_transaction_info",
64
+ "type": "invalid_request_error",
65
+ "description": "syncPurchases() was called without StoreKit 2 signed transaction info.",
66
+ "resolution": "Pass the JWS string from Transaction.currentEntitlements / Transaction.updates.",
67
+ "retryable": false
68
+ },
69
+ {
70
+ "code": "fetch_failed",
71
+ "type": "network_error",
72
+ "description": "The underlying fetch() call failed (typically a network outage or DNS issue).",
73
+ "resolution": "Check the user's network. The SDK will retry automatically with exponential backoff.",
74
+ "retryable": true
75
+ },
76
+ {
77
+ "code": "request_timeout",
78
+ "type": "network_error",
79
+ "description": "A request was aborted after the configured timeoutMs (default 15s).",
80
+ "resolution": "Check the user's connection. Increase timeoutMs in init options if the user is on a known-slow network.",
81
+ "retryable": true
82
+ },
83
+ {
84
+ "code": "invalid_json_response",
85
+ "type": "internal_error",
86
+ "description": "The server returned a 2xx with an unparseable body.",
87
+ "resolution": "Likely a transient backend bug. Retry; if it persists, contact support with the requestId.",
88
+ "retryable": true
89
+ }
90
+ ]
91
+ }