@mdbase-dev/connect-protocol 0.1.0-beta.21 → 0.1.0-beta.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/connect-problems.generated.d.ts +1067 -0
- package/dist/connect-problems.generated.js +364 -0
- package/dist/files.d.ts +253 -0
- package/dist/files.js +417 -0
- package/dist/index.d.ts +97 -16
- package/dist/index.js +6 -1
- package/package.json +2 -2
- package/schemas/catalog.json +3 -0
- package/schemas/connect-problem.v1.schema.json +3893 -0
- package/schemas/connect-problems.v1.catalog.json +238 -0
- package/schemas/connect-protocol.v1.schema.json +15 -26
- package/schemas/encrypted-relay.v1.schema.json +3 -11
- package/schemas/files.v1.schema.json +502 -0
- package/schemas/mdbase-app.schema.json +48 -0
- package/schemas/sync.v1.schema.json +189 -4
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
{
|
|
2
|
+
"problem_version": 1,
|
|
3
|
+
"categories": [
|
|
4
|
+
"authorization",
|
|
5
|
+
"availability",
|
|
6
|
+
"cancellation",
|
|
7
|
+
"compatibility",
|
|
8
|
+
"conflict",
|
|
9
|
+
"integrity",
|
|
10
|
+
"internal",
|
|
11
|
+
"selection",
|
|
12
|
+
"validation"
|
|
13
|
+
],
|
|
14
|
+
"recovery_actions": [
|
|
15
|
+
"choose_collection",
|
|
16
|
+
"contact_support",
|
|
17
|
+
"fix_request",
|
|
18
|
+
"none",
|
|
19
|
+
"reauthorize",
|
|
20
|
+
"refresh",
|
|
21
|
+
"repair_collection",
|
|
22
|
+
"resume_connector_access",
|
|
23
|
+
"resolve_conflict",
|
|
24
|
+
"resolve_outcome",
|
|
25
|
+
"retry",
|
|
26
|
+
"upgrade_application",
|
|
27
|
+
"upgrade_collection",
|
|
28
|
+
"upgrade_connector"
|
|
29
|
+
],
|
|
30
|
+
"codes": {
|
|
31
|
+
"access_denied": {
|
|
32
|
+
"category": "authorization",
|
|
33
|
+
"recovery": "reauthorize",
|
|
34
|
+
"details": {
|
|
35
|
+
"required": [],
|
|
36
|
+
"properties": { "return_to": { "type": "string" } }
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"access_paused": { "category": "availability", "recovery": "resume_connector_access" },
|
|
40
|
+
"approval_window_blocked": {
|
|
41
|
+
"category": "authorization",
|
|
42
|
+
"recovery": "reauthorize",
|
|
43
|
+
"details": {
|
|
44
|
+
"required": ["user_code", "verification_uri", "verification_uri_complete", "expires_at", "interval_seconds"],
|
|
45
|
+
"properties": {
|
|
46
|
+
"user_code": { "type": "string" },
|
|
47
|
+
"verification_uri": { "type": "string" },
|
|
48
|
+
"verification_uri_complete": { "type": "string" },
|
|
49
|
+
"expires_at": { "type": "integer" },
|
|
50
|
+
"interval_seconds": { "type": "integer" }
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"authority_authorization_changed": { "category": "authorization", "recovery": "reauthorize" },
|
|
55
|
+
"authorization_cancelled": { "category": "cancellation", "recovery": "none" },
|
|
56
|
+
"authorization_expired": { "category": "authorization", "recovery": "reauthorize" },
|
|
57
|
+
"browser_required": { "category": "compatibility", "recovery": "none" },
|
|
58
|
+
"callback_url_required": { "category": "validation", "recovery": "fix_request" },
|
|
59
|
+
"change_cursor_reset": { "category": "conflict", "recovery": "refresh" },
|
|
60
|
+
"collection_access_denied": { "category": "authorization", "recovery": "reauthorize" },
|
|
61
|
+
"collection_configuration_invalid": {
|
|
62
|
+
"category": "validation",
|
|
63
|
+
"recovery": "repair_collection",
|
|
64
|
+
"details": {
|
|
65
|
+
"required": ["diagnostics"],
|
|
66
|
+
"properties": {
|
|
67
|
+
"diagnostics": { "type": "array", "items": { "type": "object" } }
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"collection_contracts_missing": {
|
|
72
|
+
"category": "compatibility",
|
|
73
|
+
"recovery": "choose_collection",
|
|
74
|
+
"details": {
|
|
75
|
+
"required": ["contracts"],
|
|
76
|
+
"properties": {
|
|
77
|
+
"contracts": {
|
|
78
|
+
"type": "array",
|
|
79
|
+
"items": {
|
|
80
|
+
"type": "object",
|
|
81
|
+
"required": ["id", "version"],
|
|
82
|
+
"properties": {
|
|
83
|
+
"id": { "type": "string" },
|
|
84
|
+
"version": { "type": "string" }
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"collection_incompatible": { "category": "compatibility", "recovery": "choose_collection" },
|
|
92
|
+
"collection_invalid": {
|
|
93
|
+
"category": "validation",
|
|
94
|
+
"recovery": "repair_collection",
|
|
95
|
+
"details": {
|
|
96
|
+
"required": ["diagnostics"],
|
|
97
|
+
"properties": {
|
|
98
|
+
"diagnostics": { "type": "array", "items": { "type": "object" } }
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
"collection_kind_unsupported": { "category": "compatibility", "recovery": "choose_collection" },
|
|
103
|
+
"collection_mismatch": { "category": "selection", "recovery": "choose_collection" },
|
|
104
|
+
"collection_not_found": { "category": "selection", "recovery": "choose_collection" },
|
|
105
|
+
"collection_not_ready": { "category": "selection", "recovery": "choose_collection" },
|
|
106
|
+
"collection_not_selected": { "category": "selection", "recovery": "choose_collection" },
|
|
107
|
+
"collection_type_registry_invalid": {
|
|
108
|
+
"category": "validation",
|
|
109
|
+
"recovery": "repair_collection",
|
|
110
|
+
"details": {
|
|
111
|
+
"required": ["diagnostics"],
|
|
112
|
+
"properties": {
|
|
113
|
+
"diagnostics": { "type": "array", "items": { "type": "object" } }
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"collection_version_unsupported": {
|
|
118
|
+
"category": "compatibility",
|
|
119
|
+
"recovery": "upgrade_collection",
|
|
120
|
+
"details": {
|
|
121
|
+
"required": ["current_version", "required_version"],
|
|
122
|
+
"properties": {
|
|
123
|
+
"current_version": { "type": "string" },
|
|
124
|
+
"required_version": { "type": "string" }
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"concurrent_modification": { "category": "conflict", "recovery": "refresh" },
|
|
129
|
+
"connector_identity_changed": { "category": "integrity", "recovery": "reauthorize" },
|
|
130
|
+
"connector_offline": {
|
|
131
|
+
"category": "availability",
|
|
132
|
+
"recovery": "retry",
|
|
133
|
+
"details": {
|
|
134
|
+
"required": [],
|
|
135
|
+
"properties": {
|
|
136
|
+
"connector_name": { "type": "string" }
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"connector_upgrade_required": { "category": "compatibility", "recovery": "upgrade_connector" },
|
|
141
|
+
"device_authorization_failed": { "category": "authorization", "recovery": "reauthorize" },
|
|
142
|
+
"direct_operation_rejected": { "category": "authorization", "recovery": "reauthorize" },
|
|
143
|
+
"discovery_failed": { "category": "availability", "recovery": "retry" },
|
|
144
|
+
"encrypted_relay_rejected": { "category": "authorization", "recovery": "reauthorize" },
|
|
145
|
+
"encryption_required": { "category": "authorization", "recovery": "reauthorize" },
|
|
146
|
+
"expired_token": { "category": "authorization", "recovery": "reauthorize" },
|
|
147
|
+
"file_changed_during_move": { "category": "conflict", "recovery": "refresh" },
|
|
148
|
+
"file_changed_during_read": { "category": "conflict", "recovery": "refresh" },
|
|
149
|
+
"file_move_failed": { "category": "internal", "recovery": "contact_support" },
|
|
150
|
+
"file_mutation_conflict": { "category": "conflict", "recovery": "resolve_conflict" },
|
|
151
|
+
"file_not_found": { "category": "conflict", "recovery": "refresh" },
|
|
152
|
+
"file_source_mismatch": { "category": "conflict", "recovery": "refresh" },
|
|
153
|
+
"file_upload_incomplete": { "category": "conflict", "recovery": "retry" },
|
|
154
|
+
"hosted_provider_unavailable": { "category": "availability", "recovery": "retry" },
|
|
155
|
+
"insufficient_access": {
|
|
156
|
+
"category": "authorization",
|
|
157
|
+
"recovery": "reauthorize",
|
|
158
|
+
"details": {
|
|
159
|
+
"required": ["required_operations", "granted_operations", "missing_operations"],
|
|
160
|
+
"properties": {
|
|
161
|
+
"required_operations": { "type": "array", "items": { "type": "string" } },
|
|
162
|
+
"granted_operations": { "type": "array", "items": { "type": "string" } },
|
|
163
|
+
"missing_operations": { "type": "array", "items": { "type": "string" } }
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"invalid_application_manifest": { "category": "validation", "recovery": "fix_request" },
|
|
168
|
+
"invalid_callback": { "category": "validation", "recovery": "fix_request" },
|
|
169
|
+
"invalid_device_authorization_response": { "category": "integrity", "recovery": "contact_support" },
|
|
170
|
+
"invalid_encrypted_response": { "category": "integrity", "recovery": "contact_support" },
|
|
171
|
+
"invalid_loopback_url": { "category": "validation", "recovery": "fix_request" },
|
|
172
|
+
"invalid_mutation_id": { "category": "validation", "recovery": "fix_request" },
|
|
173
|
+
"invalid_operation_response": { "category": "integrity", "recovery": "contact_support" },
|
|
174
|
+
"invalid_path": { "category": "validation", "recovery": "fix_request" },
|
|
175
|
+
"invalid_preflight": { "category": "conflict", "recovery": "refresh" },
|
|
176
|
+
"invalid_push_payload": { "category": "validation", "recovery": "fix_request" },
|
|
177
|
+
"invalid_push_subscription": { "category": "validation", "recovery": "fix_request" },
|
|
178
|
+
"invalid_request": { "category": "validation", "recovery": "fix_request" },
|
|
179
|
+
"invalid_token_response": { "category": "integrity", "recovery": "contact_support" },
|
|
180
|
+
"managed_fcm_not_declared": { "category": "compatibility", "recovery": "fix_request" },
|
|
181
|
+
"manifest_load_failed": { "category": "availability", "recovery": "retry" },
|
|
182
|
+
"manifest_required": { "category": "validation", "recovery": "fix_request" },
|
|
183
|
+
"missing_grant_key": { "category": "authorization", "recovery": "reauthorize" },
|
|
184
|
+
"no_pending_mutation": { "category": "conflict", "recovery": "refresh" },
|
|
185
|
+
"not_authorized": { "category": "authorization", "recovery": "reauthorize" },
|
|
186
|
+
"not_remote_authority": { "category": "compatibility", "recovery": "choose_collection" },
|
|
187
|
+
"notification_criterion_not_declared": { "category": "validation", "recovery": "fix_request" },
|
|
188
|
+
"notification_reauthorization_required": { "category": "authorization", "recovery": "reauthorize" },
|
|
189
|
+
"notification_registration_failed": { "category": "availability", "recovery": "retry" },
|
|
190
|
+
"notification_unregistration_failed": { "category": "availability", "recovery": "retry" },
|
|
191
|
+
"notifications_not_declared": { "category": "compatibility", "recovery": "fix_request" },
|
|
192
|
+
"notifications_unavailable": { "category": "availability", "recovery": "retry" },
|
|
193
|
+
"operation_cancelled": { "category": "cancellation", "recovery": "none" },
|
|
194
|
+
"operation_failed": { "category": "internal", "recovery": "contact_support" },
|
|
195
|
+
"operation_invalid": {
|
|
196
|
+
"category": "validation",
|
|
197
|
+
"recovery": "fix_request",
|
|
198
|
+
"details": {
|
|
199
|
+
"required": ["diagnostics"],
|
|
200
|
+
"properties": {
|
|
201
|
+
"diagnostics": { "type": "array", "items": { "type": "object" } },
|
|
202
|
+
"partial_result": {}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
"operation_outcome_unknown": { "category": "conflict", "recovery": "resolve_outcome" },
|
|
207
|
+
"path_occupied": { "category": "conflict", "recovery": "resolve_conflict" },
|
|
208
|
+
"pending_mutation_unresolved": { "category": "conflict", "recovery": "resolve_outcome" },
|
|
209
|
+
"query_snapshot_changed": { "category": "conflict", "recovery": "refresh" },
|
|
210
|
+
"rate_limited": {
|
|
211
|
+
"category": "availability",
|
|
212
|
+
"recovery": "retry",
|
|
213
|
+
"details": {
|
|
214
|
+
"required": [],
|
|
215
|
+
"properties": {
|
|
216
|
+
"retry_after_ms": { "type": "integer" }
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
"redirect_uri_required": { "category": "validation", "recovery": "fix_request" },
|
|
221
|
+
"reference_updates_unsupported": { "category": "compatibility", "recovery": "fix_request" },
|
|
222
|
+
"relay_authorization_expired": { "category": "authorization", "recovery": "reauthorize" },
|
|
223
|
+
"relay_unavailable": { "category": "availability", "recovery": "retry" },
|
|
224
|
+
"sandbox_unsupported": { "category": "compatibility", "recovery": "fix_request" },
|
|
225
|
+
"scope_denied": { "category": "authorization", "recovery": "reauthorize" },
|
|
226
|
+
"stale_file_revision": { "category": "conflict", "recovery": "refresh" },
|
|
227
|
+
"storage_required": { "category": "compatibility", "recovery": "none" },
|
|
228
|
+
"sync_failed": { "category": "availability", "recovery": "retry" },
|
|
229
|
+
"temporarily_unavailable": { "category": "availability", "recovery": "retry" },
|
|
230
|
+
"timeout": { "category": "availability", "recovery": "retry" },
|
|
231
|
+
"token_exchange_failed": { "category": "availability", "recovery": "retry" },
|
|
232
|
+
"type_pack_provision_failed": { "category": "validation", "recovery": "repair_collection" },
|
|
233
|
+
"unknown_collection": { "category": "selection", "recovery": "choose_collection" },
|
|
234
|
+
"unsafe_file_path": { "category": "validation", "recovery": "fix_request" },
|
|
235
|
+
"unsupported_encryption": { "category": "compatibility", "recovery": "upgrade_application" },
|
|
236
|
+
"unsupported_operation": { "category": "compatibility", "recovery": "fix_request" }
|
|
237
|
+
}
|
|
238
|
+
}
|
|
@@ -155,26 +155,17 @@
|
|
|
155
155
|
"request_id": { "$ref": "#/$defs/uuid" },
|
|
156
156
|
"ok": { "type": "boolean" },
|
|
157
157
|
"result": true,
|
|
158
|
-
"
|
|
159
|
-
"type": "object",
|
|
160
|
-
"additionalProperties": false,
|
|
161
|
-
"required": ["code", "message"],
|
|
162
|
-
"properties": {
|
|
163
|
-
"code": { "type": "string", "minLength": 1 },
|
|
164
|
-
"message": { "type": "string" },
|
|
165
|
-
"details": true
|
|
166
|
-
}
|
|
167
|
-
}
|
|
158
|
+
"problem": { "$ref": "https://schemas.mdbase.dev/connect/problem/v1" }
|
|
168
159
|
},
|
|
169
160
|
"allOf": [
|
|
170
161
|
{
|
|
171
162
|
"if": { "properties": { "ok": { "const": true } }, "required": ["ok"] },
|
|
172
163
|
"then": {
|
|
173
164
|
"required": ["result"],
|
|
174
|
-
"not": { "properties": { "
|
|
165
|
+
"not": { "properties": { "problem": true }, "required": ["problem"] }
|
|
175
166
|
},
|
|
176
167
|
"else": {
|
|
177
|
-
"required": ["
|
|
168
|
+
"required": ["problem"],
|
|
178
169
|
"not": { "properties": { "result": true }, "required": ["result"] }
|
|
179
170
|
}
|
|
180
171
|
}
|
|
@@ -190,15 +181,7 @@
|
|
|
190
181
|
"request_id": { "$ref": "#/$defs/uuid" },
|
|
191
182
|
"ok": { "type": "boolean" },
|
|
192
183
|
"result": true,
|
|
193
|
-
"
|
|
194
|
-
"type": "object",
|
|
195
|
-
"additionalProperties": false,
|
|
196
|
-
"required": ["code", "message"],
|
|
197
|
-
"properties": {
|
|
198
|
-
"code": { "type": "string", "minLength": 1 },
|
|
199
|
-
"message": { "type": "string" }
|
|
200
|
-
}
|
|
201
|
-
}
|
|
184
|
+
"problem": { "$ref": "https://schemas.mdbase.dev/connect/problem/v1" }
|
|
202
185
|
},
|
|
203
186
|
"allOf": [
|
|
204
187
|
{
|
|
@@ -206,11 +189,11 @@
|
|
|
206
189
|
"then": {
|
|
207
190
|
"properties": { "result": true },
|
|
208
191
|
"required": ["result"],
|
|
209
|
-
"not": { "properties": { "
|
|
192
|
+
"not": { "properties": { "problem": true }, "required": ["problem"] }
|
|
210
193
|
},
|
|
211
194
|
"else": {
|
|
212
|
-
"properties": { "
|
|
213
|
-
"required": ["
|
|
195
|
+
"properties": { "problem": true },
|
|
196
|
+
"required": ["problem"],
|
|
214
197
|
"not": { "properties": { "result": true }, "required": ["result"] }
|
|
215
198
|
}
|
|
216
199
|
}
|
|
@@ -244,7 +227,10 @@
|
|
|
244
227
|
"items": { "$ref": "#/$defs/notificationCriterion" }
|
|
245
228
|
},
|
|
246
229
|
"created_at": { "type": "string", "format": "date-time" },
|
|
247
|
-
"encryption": { "$ref": "#/$defs/grantEncryption" }
|
|
230
|
+
"encryption": { "$ref": "#/$defs/grantEncryption" },
|
|
231
|
+
"file_capability": {
|
|
232
|
+
"$ref": "https://mdbase.dev/connect/schemas/files.v1.json#/$defs/fileCapability"
|
|
233
|
+
}
|
|
248
234
|
}
|
|
249
235
|
},
|
|
250
236
|
"authorizationCollectionOffer": {
|
|
@@ -278,7 +264,10 @@
|
|
|
278
264
|
"items": { "$ref": "#/$defs/contractRequirement" }
|
|
279
265
|
},
|
|
280
266
|
"access": { "enum": ["contract", "full_collection"] },
|
|
281
|
-
"collection_kind": { "const": "hosted" }
|
|
267
|
+
"collection_kind": { "const": "hosted" },
|
|
268
|
+
"files": {
|
|
269
|
+
"$ref": "https://mdbase.dev/connect/schemas/files.v1.json#/$defs/applicationFileRequirement"
|
|
270
|
+
}
|
|
282
271
|
}
|
|
283
272
|
},
|
|
284
273
|
"typePackProvision": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
|
|
15
15
|
},
|
|
16
16
|
"operation": {
|
|
17
|
-
"enum": ["describe", "changes", "read", "query", "list_views", "execute_view", "read_view_source", "create_view_source", "update_view_source", "delete_view_source", "validate", "create", "update", "delete", "rename", "read_type", "create_type", "update_type", "install_type_pack", "list_timers", "put_timer", "cancel_timer", "reconcile_timers"]
|
|
17
|
+
"enum": ["describe", "changes", "read", "query", "list_views", "execute_view", "read_view_source", "create_view_source", "update_view_source", "delete_view_source", "validate", "create", "update", "delete", "rename", "read_type", "create_type", "update_type", "install_type_pack", "list_timers", "put_timer", "cancel_timer", "reconcile_timers", "file_control"]
|
|
18
18
|
},
|
|
19
19
|
"envelope": {
|
|
20
20
|
"type": "object",
|
|
@@ -51,20 +51,12 @@
|
|
|
51
51
|
"rejected": {
|
|
52
52
|
"type": "object",
|
|
53
53
|
"additionalProperties": false,
|
|
54
|
-
"required": ["type", "protocol_version", "request_id", "
|
|
54
|
+
"required": ["type", "protocol_version", "request_id", "problem"],
|
|
55
55
|
"properties": {
|
|
56
56
|
"type": { "const": "encrypted_operation_rejected" },
|
|
57
57
|
"protocol_version": { "const": 1 },
|
|
58
58
|
"request_id": { "$ref": "#/$defs/uuid" },
|
|
59
|
-
"
|
|
60
|
-
"type": "object",
|
|
61
|
-
"additionalProperties": false,
|
|
62
|
-
"required": ["code", "message"],
|
|
63
|
-
"properties": {
|
|
64
|
-
"code": { "const": "encrypted_relay_rejected" },
|
|
65
|
-
"message": { "type": "string" }
|
|
66
|
-
}
|
|
67
|
-
}
|
|
59
|
+
"problem": { "$ref": "https://schemas.mdbase.dev/connect/problem/v1" }
|
|
68
60
|
}
|
|
69
61
|
}
|
|
70
62
|
}
|