@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.
@@ -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
- "error": {
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": { "error": true }, "required": ["error"] }
165
+ "not": { "properties": { "problem": true }, "required": ["problem"] }
175
166
  },
176
167
  "else": {
177
- "required": ["error"],
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
- "error": {
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": { "error": true }, "required": ["error"] }
192
+ "not": { "properties": { "problem": true }, "required": ["problem"] }
210
193
  },
211
194
  "else": {
212
- "properties": { "error": true },
213
- "required": ["error"],
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", "error"],
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
- "error": {
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
  }