@bridgething/catalog 0.1.0 → 0.14.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/LICENSE +21 -0
- package/README.md +42 -0
- package/dist/blend.d.ts +2 -1
- package/dist/blend.d.ts.map +1 -1
- package/dist/blend.js +1 -0
- package/dist/blend.js.map +1 -1
- package/dist/copy.d.ts +21 -0
- package/dist/copy.d.ts.map +1 -0
- package/dist/copy.js +39 -0
- package/dist/copy.js.map +1 -0
- package/dist/extension.d.ts +10 -0
- package/dist/extension.d.ts.map +1 -0
- package/dist/extension.js +49 -0
- package/dist/extension.js.map +1 -0
- package/dist/generated/schema.v1.validator.mjs +310 -160
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/resolve.d.ts +17 -1
- package/dist/resolve.d.ts.map +1 -1
- package/dist/resolve.js +38 -4
- package/dist/resolve.js.map +1 -1
- package/dist/sources.d.ts +11 -3
- package/dist/sources.d.ts.map +1 -1
- package/dist/sources.js +38 -13
- package/dist/sources.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +9 -0
- package/dist/validate.js.map +1 -1
- package/package.json +35 -6
- package/schema.v1.json +112 -16
package/schema.v1.json
CHANGED
|
@@ -5,7 +5,13 @@
|
|
|
5
5
|
"description": "A federated catalog of installable webapps for a bridgething-flashed Spotify Car Thing. Served at any source URL; the companion aggregates entries across subscribed sources.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
8
|
-
"required": [
|
|
8
|
+
"required": [
|
|
9
|
+
"schema",
|
|
10
|
+
"updated_at",
|
|
11
|
+
"repo",
|
|
12
|
+
"apps",
|
|
13
|
+
"recommended_sources"
|
|
14
|
+
],
|
|
9
15
|
"properties": {
|
|
10
16
|
"$schema": {
|
|
11
17
|
"type": "string",
|
|
@@ -66,7 +72,12 @@
|
|
|
66
72
|
"Repo": {
|
|
67
73
|
"type": "object",
|
|
68
74
|
"additionalProperties": false,
|
|
69
|
-
"required": [
|
|
75
|
+
"required": [
|
|
76
|
+
"name",
|
|
77
|
+
"description",
|
|
78
|
+
"homepage",
|
|
79
|
+
"icon"
|
|
80
|
+
],
|
|
70
81
|
"properties": {
|
|
71
82
|
"name": {
|
|
72
83
|
"type": "string",
|
|
@@ -80,11 +91,17 @@
|
|
|
80
91
|
"maxLength": 300
|
|
81
92
|
},
|
|
82
93
|
"homepage": {
|
|
83
|
-
"type": [
|
|
94
|
+
"type": [
|
|
95
|
+
"string",
|
|
96
|
+
"null"
|
|
97
|
+
],
|
|
84
98
|
"format": "uri"
|
|
85
99
|
},
|
|
86
100
|
"icon": {
|
|
87
|
-
"type": [
|
|
101
|
+
"type": [
|
|
102
|
+
"string",
|
|
103
|
+
"null"
|
|
104
|
+
],
|
|
88
105
|
"format": "uri",
|
|
89
106
|
"description": "Square source icon for the companion's source list."
|
|
90
107
|
}
|
|
@@ -92,8 +109,18 @@
|
|
|
92
109
|
},
|
|
93
110
|
"AppEntry": {
|
|
94
111
|
"type": "object",
|
|
95
|
-
"additionalProperties":
|
|
96
|
-
"
|
|
112
|
+
"additionalProperties": true,
|
|
113
|
+
"description": "One installable webapp. Unknown keys are tolerated so a catalog that carries a property added after a client shipped still validates; every key defined here is still checked strictly.",
|
|
114
|
+
"required": [
|
|
115
|
+
"id",
|
|
116
|
+
"name",
|
|
117
|
+
"description",
|
|
118
|
+
"author",
|
|
119
|
+
"icon",
|
|
120
|
+
"homepage",
|
|
121
|
+
"source",
|
|
122
|
+
"versions"
|
|
123
|
+
],
|
|
97
124
|
"properties": {
|
|
98
125
|
"id": {
|
|
99
126
|
"$ref": "#/$defs/Uuid"
|
|
@@ -116,16 +143,35 @@
|
|
|
116
143
|
"maxLength": 100
|
|
117
144
|
},
|
|
118
145
|
"icon": {
|
|
119
|
-
"type": [
|
|
146
|
+
"type": [
|
|
147
|
+
"string",
|
|
148
|
+
"null"
|
|
149
|
+
],
|
|
120
150
|
"format": "uri",
|
|
121
151
|
"description": "Hosted square icon. The publish step extracts the bundle's icon and uploads it; null until then."
|
|
122
152
|
},
|
|
153
|
+
"screenshots": {
|
|
154
|
+
"type": "array",
|
|
155
|
+
"minItems": 1,
|
|
156
|
+
"maxItems": 6,
|
|
157
|
+
"items": {
|
|
158
|
+
"type": "string",
|
|
159
|
+
"format": "uri"
|
|
160
|
+
},
|
|
161
|
+
"description": "Captures of the app running on a device, 800x480 landscape. The store shows the first one on the listing. Omit the key entirely rather than sending an empty array."
|
|
162
|
+
},
|
|
123
163
|
"homepage": {
|
|
124
|
-
"type": [
|
|
164
|
+
"type": [
|
|
165
|
+
"string",
|
|
166
|
+
"null"
|
|
167
|
+
],
|
|
125
168
|
"format": "uri"
|
|
126
169
|
},
|
|
127
170
|
"source": {
|
|
128
|
-
"type": [
|
|
171
|
+
"type": [
|
|
172
|
+
"string",
|
|
173
|
+
"null"
|
|
174
|
+
],
|
|
129
175
|
"format": "uri",
|
|
130
176
|
"description": "Repository or source URL, for users who want to check it themselves."
|
|
131
177
|
},
|
|
@@ -141,7 +187,8 @@
|
|
|
141
187
|
},
|
|
142
188
|
"AppVersion": {
|
|
143
189
|
"type": "object",
|
|
144
|
-
"additionalProperties":
|
|
190
|
+
"additionalProperties": true,
|
|
191
|
+
"description": "One published version. Unknown keys are tolerated so a catalog that carries a property added after a client shipped still validates; every key defined here is still checked strictly.",
|
|
145
192
|
"required": [
|
|
146
193
|
"version",
|
|
147
194
|
"released_at",
|
|
@@ -161,6 +208,10 @@
|
|
|
161
208
|
"download": {
|
|
162
209
|
"$ref": "#/$defs/Download"
|
|
163
210
|
},
|
|
211
|
+
"settings": {
|
|
212
|
+
"$ref": "#/$defs/Download",
|
|
213
|
+
"description": "The bundle's settings page, hosted separately so a companion can fetch it over the internet instead of pulling it off the device over Bluetooth. Its sha256 MUST be the digest of the same bytes the bundle ships, which is what the device reports as settings_hash; a client verifies against the device's hash and falls back to the device when they disagree. Absent when the version ships no settings page."
|
|
214
|
+
},
|
|
164
215
|
"permissions": {
|
|
165
216
|
"type": "array",
|
|
166
217
|
"items": {
|
|
@@ -171,31 +222,68 @@
|
|
|
171
222
|
"description": "Permission catalog keys this version requests (net.fetch, geo, ...). Shown at install, informational, never a gate."
|
|
172
223
|
},
|
|
173
224
|
"role": {
|
|
174
|
-
"enum": [
|
|
225
|
+
"enum": [
|
|
226
|
+
"standard",
|
|
227
|
+
"launcher"
|
|
228
|
+
],
|
|
175
229
|
"description": "Mirrors the bundle manifest's role. A launcher can take the device's launcher slot and replace the built-in hub. Absent means standard."
|
|
176
230
|
},
|
|
177
231
|
"provides_overlay": {
|
|
178
232
|
"type": "boolean",
|
|
179
233
|
"description": "Whether this version ships an overlay the device can inject over every webapp. Absent means it does not."
|
|
180
234
|
},
|
|
235
|
+
"extension": {
|
|
236
|
+
"$ref": "#/$defs/Extension"
|
|
237
|
+
},
|
|
181
238
|
"min_libbridgething_version": {
|
|
182
239
|
"$ref": "#/$defs/Semver"
|
|
183
240
|
},
|
|
184
241
|
"changelog": {
|
|
185
|
-
"type": [
|
|
242
|
+
"type": [
|
|
243
|
+
"string",
|
|
244
|
+
"null"
|
|
245
|
+
],
|
|
186
246
|
"description": "Markdown changelog for this version."
|
|
187
247
|
}
|
|
188
248
|
}
|
|
189
249
|
},
|
|
250
|
+
"Extension": {
|
|
251
|
+
"type": "object",
|
|
252
|
+
"additionalProperties": false,
|
|
253
|
+
"required": [
|
|
254
|
+
"desktop",
|
|
255
|
+
"permissions"
|
|
256
|
+
],
|
|
257
|
+
"description": "A native extension shipped inside the bundle, run by a host that has an extension host. Absent means the version is webapp-only.",
|
|
258
|
+
"properties": {
|
|
259
|
+
"desktop": {
|
|
260
|
+
"const": true,
|
|
261
|
+
"description": "The desktop companion runs this extension. Phones have no extension host and ignore the block."
|
|
262
|
+
},
|
|
263
|
+
"permissions": {
|
|
264
|
+
"type": "array",
|
|
265
|
+
"items": {
|
|
266
|
+
"type": "string",
|
|
267
|
+
"minLength": 1
|
|
268
|
+
},
|
|
269
|
+
"uniqueItems": true,
|
|
270
|
+
"description": "Deno permission descriptors the extension is granted verbatim: all, net[:host[:port]], read[:path], write[:path], run[:binary], env[:VAR], sys[:kind], ffi[:path]. Shown before install, never a gate."
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
},
|
|
190
274
|
"Download": {
|
|
191
275
|
"type": "object",
|
|
192
276
|
"additionalProperties": false,
|
|
193
|
-
"required": [
|
|
277
|
+
"required": [
|
|
278
|
+
"url",
|
|
279
|
+
"size",
|
|
280
|
+
"sha256"
|
|
281
|
+
],
|
|
194
282
|
"properties": {
|
|
195
283
|
"url": {
|
|
196
284
|
"type": "string",
|
|
197
285
|
"format": "uri",
|
|
198
|
-
"description": "Direct download URL for the
|
|
286
|
+
"description": "Direct download URL for the artifact."
|
|
199
287
|
},
|
|
200
288
|
"size": {
|
|
201
289
|
"type": "integer",
|
|
@@ -210,7 +298,12 @@
|
|
|
210
298
|
"RecommendedSource": {
|
|
211
299
|
"type": "object",
|
|
212
300
|
"additionalProperties": false,
|
|
213
|
-
"required": [
|
|
301
|
+
"required": [
|
|
302
|
+
"name",
|
|
303
|
+
"url",
|
|
304
|
+
"description",
|
|
305
|
+
"attested"
|
|
306
|
+
],
|
|
214
307
|
"properties": {
|
|
215
308
|
"name": {
|
|
216
309
|
"type": "string",
|
|
@@ -223,7 +316,10 @@
|
|
|
223
316
|
"description": "A catalog.v1 manifest URL the companion can subscribe to."
|
|
224
317
|
},
|
|
225
318
|
"description": {
|
|
226
|
-
"type": [
|
|
319
|
+
"type": [
|
|
320
|
+
"string",
|
|
321
|
+
"null"
|
|
322
|
+
],
|
|
227
323
|
"maxLength": 300
|
|
228
324
|
},
|
|
229
325
|
"attested": {
|