@wyndlass/app-sdk 0.0.0 → 1.1.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/README.md +212 -1
- package/cli/app-package.mjs +111 -0
- package/cli/commands.mjs +133 -0
- package/cli/main.mjs +73 -0
- package/cli/package.mjs +119 -0
- package/cli/preview.mjs +142 -0
- package/cli/zip.mjs +63 -0
- package/dist/contract/app-contract.d.ts +221 -0
- package/dist/contract/app-contract.js +6 -0
- package/dist/contract/app-definition.d.ts +155 -0
- package/dist/contract/app-definition.js +3 -0
- package/dist/contract/data-answer.d.ts +40 -0
- package/dist/contract/data-answer.js +3 -0
- package/dist/contract/data-calendar.d.ts +57 -0
- package/dist/contract/data-calendar.js +3 -0
- package/dist/contract/data-news.d.ts +29 -0
- package/dist/contract/data-news.js +3 -0
- package/dist/contract/data-quotes.d.ts +75 -0
- package/dist/contract/data-quotes.js +3 -0
- package/dist/contract/data-series.d.ts +51 -0
- package/dist/contract/data-series.js +3 -0
- package/dist/contract/data-snapshot.d.ts +30 -0
- package/dist/contract/data-snapshot.js +3 -0
- package/dist/contract/data-weather.d.ts +421 -0
- package/dist/contract/data-weather.js +3 -0
- package/dist/contract/player-api-event.d.ts +253 -0
- package/dist/contract/player-api-event.js +3 -0
- package/dist/contract/player-api-status.d.ts +178 -0
- package/dist/contract/player-api-status.js +3 -0
- package/dist/easing.d.ts +16 -0
- package/dist/easing.js +71 -0
- package/dist/index.d.ts +94 -0
- package/dist/index.js +218 -0
- package/dist/preview/frame/frame.js +2 -0
- package/dist/preview/frame/index.html +12 -0
- package/dist/preview/index.html +40 -0
- package/dist/preview/page.js +7 -0
- package/dist/qr.d.ts +5 -0
- package/dist/qr.js +14 -0
- package/dist/react.d.ts +52 -0
- package/dist/react.js +149 -0
- package/package.json +83 -4
- package/protocol/app-definition.schema.json +435 -0
- package/protocol/app-packages.json +172 -0
- package/protocol/common.schema.json +197 -0
- package/protocol/samples/calendar.json +63 -0
- package/protocol/samples/events/app.command.json +14 -0
- package/protocol/samples/events/item.end.json +13 -0
- package/protocol/samples/events/item.start.json +18 -0
- package/protocol/samples/events/state.changed.json +11 -0
- package/protocol/samples/news.json +37 -0
- package/protocol/samples/player-status.json +58 -0
- package/protocol/samples/weather.json +59 -0
- package/skill/wyndlass-app/SKILL.md +90 -0
- package/skill/wyndlass-app/references/contract.md +91 -0
- package/skill/wyndlass-app/references/mcp.md +79 -0
- package/skill/wyndlass-app/references/templates.md +38 -0
- package/templates/react/AGENTS.md +17 -0
- package/templates/react/README.md +23 -0
- package/templates/react/app.json +14 -0
- package/templates/react/gitignore +2 -0
- package/templates/react/package.json +22 -0
- package/templates/react/src/app.css +7 -0
- package/templates/react/src/app.tsx +39 -0
- package/templates/react/src/env.d.ts +13 -0
- package/templates/react/tsconfig.json +13 -0
- package/templates/vanilla/AGENTS.md +17 -0
- package/templates/vanilla/README.md +23 -0
- package/templates/vanilla/app.json +14 -0
- package/templates/vanilla/gitignore +2 -0
- package/templates/vanilla/package.json +18 -0
- package/templates/vanilla/src/app.css +7 -0
- package/templates/vanilla/src/app.ts +59 -0
- package/templates/vanilla/src/env.d.ts +13 -0
- package/templates/vanilla/tsconfig.json +12 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
{
|
|
2
|
+
"v": 0,
|
|
3
|
+
"note": "Customers' app packages (WP-0100 decisions 2 and 5): one zip of exactly app.json and app.js. A reader answers valid, or the code of the first check that fails, in order. The zip: over limits.zip bytes (too-large); its end of central directory, entries and local headers (not-a-zip); an encrypted entry (encrypted), a folder (folder), a name with a / or \\ (path); not exactly app.json and app.js (entries); a declared size over its limit, app.json limits.definition and app.js limits.module (too-large); unpacked, other than it declares (size-mismatch). The definition: UTF-8 JSON, an object (definition-json); app-definition.schema.json (definition-schema); an id under com.wyndlass. (definition-id); each when names another param (definition-when); a url param's values and default are https addresses (definition-url); capabilities.peers true (definition-peers); data only dataSources (definition-data). The module: UTF-8, an ES2020 module (module-syntax); no import declaration, export … from or import() (module-import); a default export, export default or export { x as default } (module-default). zip is base64. Generated by protocol/scripts/make-app-package-vectors.mjs.",
|
|
4
|
+
"limits": {
|
|
5
|
+
"zip": 6291456,
|
|
6
|
+
"definition": 262144,
|
|
7
|
+
"module": 5242880
|
|
8
|
+
},
|
|
9
|
+
"dataSources": [
|
|
10
|
+
"weather",
|
|
11
|
+
"news",
|
|
12
|
+
"image",
|
|
13
|
+
"calendar"
|
|
14
|
+
],
|
|
15
|
+
"cases": [
|
|
16
|
+
{
|
|
17
|
+
"name": "a definition and a module",
|
|
18
|
+
"expect": "valid",
|
|
19
|
+
"zip": "UEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAwQUAAAICAAAACFbFoKRRWgAAAB2AAAABgAAAGFwcC5qc03NMQrCMBgF4D2neKNdvEBxsQgOOoi9QDBPLcQ/JXnBQOndRSf3D75b9KXgUlm5Tz4HsIkWCo7j+XSIfNGExQF1Dl7cWHp3WKDnVLZi05BMX7LDVXmyxw/0WN3q2OaUhcC7r1F/R+8+UEsBAhQAFAAACAgAAAAhWy5ENk5NAAAAXwAAAAgAAAAAAAAAAAAAAAAAAAAAAGFwcC5qc29uUEsBAhQAFAAACAgAAAAhWxaCkUVoAAAAdgAAAAYAAAAAAAAAAAAAAAAAcwAAAGFwcC5qc1BLBQYAAAAAAgACAGoAAAD/AAAAAAA="
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "every capability it may ask for, params with conditions and https suggestions, and a bundler's ES2020 module",
|
|
23
|
+
"expect": "valid",
|
|
24
|
+
"zip": "UEsDBBQAAAgIAAAAIVv0IhEMGwEAAPIBAAAIAAAAYXBwLmpzb25lkctqw0AMRX/FaD110q1/ohS6K1konut6yLw6mqlrgv+9yOmD0J1AukcH6UrO0kBjCj0+OWSP/r2h4eGcuFgy9IEiLkUa6LE/9kcyFDmABnrWse5nDB4BsdJA93ELGYvL9YZ4ceMFVbqRvYc13VRS6OqMbg91skpF6MlQ5sJBaLiSpFZGaFXXrHsRW1Av9g1CwytdXJILGZoASyddOXHzqnLrbN+tP0Qr/o4w15plOBx2i987jCkcYloUucyI9zIc16dJs7et27ZthkbOfHbeVYfdPaIuqVx07B9asYIoqewKLuQC0UuLdrhZl2iopcFQ9ryi7F+KtSR1z4DmJvaCzZDlykpZwHVG0SdhETLkAr+B1MwjWi502r4AUEsDBBQAAAgIAAAAIVtXyUVFhwAAAJgAAAAGAAAAYXBwLmpzFcyxCsIwEIDh3acInRqEoHMJGURwqJN9gWty1uL1KrmLVErfXbr+fPxfyAZ8JBAxuChyEnPr7u2VcELWNc7MGBXTBYh6iO/a7k3UFD9Onzmrm1DBlUwhVFWjr1FcAgVBdewfmkce6vOJ7bEeaO6Bul0swf1CKHbbGlz2ywoGxCR8QiHdmsMfUEsBAhQAFAAACAgAAAAhW/QiEQwbAQAA8gEAAAgAAAAAAAAAAAAAAAAAAAAAAGFwcC5qc29uUEsBAhQAFAAACAgAAAAhW1fJRUWHAAAAmAAAAAYAAAAAAAAAAAAAAAAAQQEAAGFwcC5qc1BLBQYAAAAAAgACAGoAAADsAQAAAAA="
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "not a zip",
|
|
28
|
+
"expect": "not-a-zip",
|
|
29
|
+
"zip": "YXBwLmpzb24gYW5kIGFwcC5qcywgYnV0IG5vdCB6aXBwZWQ="
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "no module",
|
|
33
|
+
"expect": "entries",
|
|
34
|
+
"zip": "UEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAQIUABQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAAAAAAAAAAAAAAAAAAABhcHAuanNvblBLBQYAAAAAAQABADYAAABzAAAAAAA="
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "an entry more",
|
|
38
|
+
"expect": "entries",
|
|
39
|
+
"zip": "UEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAwQUAAAICAAAACFbFoKRRWgAAAB2AAAABgAAAGFwcC5qc03NMQrCMBgF4D2neKNdvEBxsQgOOoi9QDBPLcQ/JXnBQOndRSf3D75b9KXgUlm5Tz4HsIkWCo7j+XSIfNGExQF1Dl7cWHp3WKDnVLZi05BMX7LDVXmyxw/0WN3q2OaUhcC7r1F/R+8+UEsDBBQAAAgIAAAAIVsmfNJKEAAAAA4AAAAJAAAAUkVBRE1FLm1kU1YILE0tTVVIyk8sSuECAFBLAQIUABQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAAAAAAAAAAAAAAAAAAABhcHAuanNvblBLAQIUABQAAAgIAAAAIVsWgpFFaAAAAHYAAAAGAAAAAAAAAAAAAAAAAHMAAABhcHAuanNQSwECFAAUAAAICAAAACFbJnzSShAAAAAOAAAACQAAAAAAAAAAAAAAAAD/AAAAUkVBRE1FLm1kUEsFBgAAAAADAAMAoQAAADYBAAAAAA=="
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "the module twice",
|
|
43
|
+
"expect": "entries",
|
|
44
|
+
"zip": "UEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAwQUAAAICAAAACFbFoKRRWgAAAB2AAAABgAAAGFwcC5qc03NMQrCMBgF4D2neKNdvEBxsQgOOoi9QDBPLcQ/JXnBQOndRSf3D75b9KXgUlm5Tz4HsIkWCo7j+XSIfNGExQF1Dl7cWHp3WKDnVLZi05BMX7LDVXmyxw/0WN3q2OaUhcC7r1F/R+8+UEsDBBQAAAgIAAAAIVsWgpFFaAAAAHYAAAAGAAAAYXBwLmpzTc0xCsIwGAXgPad4o128QHGxCA46iL1AME8txD8lecFA6d1FJ/cPvlv0peBSWblPPgewiRYKjuP5dIh80YTFAXUOXtxYendYoOdUtmLTkExfssNVebLHD/RY3erY5pSFwLuvUX9H7z5QSwECFAAUAAAICAAAACFbLkQ2Tk0AAABfAAAACAAAAAAAAAAAAAAAAAAAAAAAYXBwLmpzb25QSwECFAAUAAAICAAAACFbFoKRRWgAAAB2AAAABgAAAAAAAAAAAAAAAABzAAAAYXBwLmpzUEsBAhQAFAAACAgAAAAhWxaCkUVoAAAAdgAAAAYAAAAAAAAAAAAAAAAA/wAAAGFwcC5qc1BLBQYAAAAAAwADAJ4AAACLAQAAAAA="
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "a folder",
|
|
48
|
+
"expect": "folder",
|
|
49
|
+
"zip": "UEsDBBQAAAgIAAAAIVsAAAAAAgAAAAAAAAAHAAAAYXNzZXRzLwMAUEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAwQUAAAICAAAACFbFoKRRWgAAAB2AAAABgAAAGFwcC5qc03NMQrCMBgF4D2neKNdvEBxsQgOOoi9QDBPLcQ/JXnBQOndRSf3D75b9KXgUlm5Tz4HsIkWCo7j+XSIfNGExQF1Dl7cWHp3WKDnVLZi05BMX7LDVXmyxw/0WN3q2OaUhcC7r1F/R+8+UEsBAhQAFAAACAgAAAAhWwAAAAACAAAAAAAAAAcAAAAAAAAAAAAQAAAAAAAAAGFzc2V0cy9QSwECFAAUAAAICAAAACFbLkQ2Tk0AAABfAAAACAAAAAAAAAAAAAAAAAAnAAAAYXBwLmpzb25QSwECFAAUAAAICAAAACFbFoKRRWgAAAB2AAAABgAAAAAAAAAAAAAAAACaAAAAYXBwLmpzUEsFBgAAAAADAAMAnwAAACYBAAAAAA=="
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name": "the module in a folder",
|
|
53
|
+
"expect": "path",
|
|
54
|
+
"zip": "UEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAwQUAAAICAAAACFbFoKRRWgAAAB2AAAACwAAAGRpc3QvYXBwLmpzTc0xCsIwGAXgPad4o128QHGxCA46iL1AME8txD8lecFA6d1FJ/cPvlv0peBSWblPPgewiRYKjuP5dIh80YTFAXUOXtxYendYoOdUtmLTkExfssNVebLHD/RY3erY5pSFwLuvUX9H7z5QSwECFAAUAAAICAAAACFbLkQ2Tk0AAABfAAAACAAAAAAAAAAAAAAAAAAAAAAAYXBwLmpzb25QSwECFAAUAAAICAAAACFbFoKRRWgAAAB2AAAACwAAAAAAAAAAAAAAAABzAAAAZGlzdC9hcHAuanNQSwUGAAAAAAIAAgBvAAAABAEAAAAA"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "a name that leaves the package",
|
|
58
|
+
"expect": "path",
|
|
59
|
+
"zip": "UEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAwQUAAAICAAAACFbFoKRRWgAAAB2AAAACQAAAC4uL2FwcC5qc03NMQrCMBgF4D2neKNdvEBxsQgOOoi9QDBPLcQ/JXnBQOndRSf3D75b9KXgUlm5Tz4HsIkWCo7j+XSIfNGExQF1Dl7cWHp3WKDnVLZi05BMX7LDVXmyxw/0WN3q2OaUhcC7r1F/R+8+UEsBAhQAFAAACAgAAAAhWy5ENk5NAAAAXwAAAAgAAAAAAAAAAAAAAAAAAAAAAGFwcC5qc29uUEsBAhQAFAAACAgAAAAhWxaCkUVoAAAAdgAAAAkAAAAAAAAAAAAAAAAAcwAAAC4uL2FwcC5qc1BLBQYAAAAAAgACAG0AAAACAQAAAAA="
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "an encrypted entry",
|
|
63
|
+
"expect": "encrypted",
|
|
64
|
+
"zip": "UEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAwQUAAEICAAAACFbFoKRRWgAAAB2AAAABgAAAGFwcC5qc03NMQrCMBgF4D2neKNdvEBxsQgOOoi9QDBPLcQ/JXnBQOndRSf3D75b9KXgUlm5Tz4HsIkWCo7j+XSIfNGExQF1Dl7cWHp3WKDnVLZi05BMX7LDVXmyxw/0WN3q2OaUhcC7r1F/R+8+UEsBAhQAFAAACAgAAAAhWy5ENk5NAAAAXwAAAAgAAAAAAAAAAAAAAAAAAAAAAGFwcC5qc29uUEsBAhQAFAABCAgAAAAhWxaCkUVoAAAAdgAAAAYAAAAAAAAAAAAAAAAAcwAAAGFwcC5qc1BLBQYAAAAAAgACAGoAAAD/AAAAAAA="
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "a module over 5 MiB",
|
|
68
|
+
"expect": "too-large",
|
|
69
|
+
"zip": "UEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAwQUAAAICAAAACFbiHhu82QUAAB5AFAABgAAAGFwcC5qc+zNMUrEUBRA0T6reKU2zgIGG0Ww0ELGDQTz1IH4MyQvGBhm76KVizinvnDfxn5Z4mXNNe+mfh4it8o2LPH4+vz0MOZXtopzF7Gehr7yqk3f13GO+jwuN5Vb3U+tfpPbONR8bB9/wT4u3aXL7TTNFUO+9+tY/x77brcLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOCnPTgkAAAAYBjk3z/wQtwCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwWVBLAQIUABQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAAAAAAAAAAAAAAAAAAABhcHAuanNvblBLAQIUABQAAAgIAAAAIVuIeG7zZBQAAHkAUAAGAAAAAAAAAAAAAAAAAHMAAABhcHAuanNQSwUGAAAAAAIAAgBqAAAA+xQAAAAA"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "a definition over 256 KiB",
|
|
73
|
+
"expect": "too-large",
|
|
74
|
+
"zip": "UEsDBBQAAAgIAAAAIVs+8zJVZAEAAHAABAAIAAAAYXBwLmpzb27tzE0KggAUhdGtxBuX2NRdtATLNxD8Sy2EaO8R0aDWcM74u/cRbRNVXMa+yK3upy6L6y1veTiP9dzEPu45L+04RBXHoizK2MdQ9xlVnN7Z7ptll30Oa1TxO29yuczttH4uNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAP/F8AVBLAwQUAAAICAAAACFbFoKRRWgAAAB2AAAABgAAAGFwcC5qc03NMQrCMBgF4D2neKNdvEBxsQgOOoi9QDBPLcQ/JXnBQOndRSf3D75b9KXgUlm5Tz4HsIkWCo7j+XSIfNGExQF1Dl7cWHp3WKDnVLZi05BMX7LDVXmyxw/0WN3q2OaUhcC7r1F/R+8+UEsBAhQAFAAACAgAAAAhWz7zMlVkAQAAcAAEAAgAAAAAAAAAAAAAAAAAAAAAAGFwcC5qc29uUEsBAhQAFAAACAgAAAAhWxaCkUVoAAAAdgAAAAYAAAAAAAAAAAAAAAAAigEAAGFwcC5qc1BLBQYAAAAAAgACAGoAAAAWAgAAAAA="
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "a module that unpacks to 6 MiB but says 1 KiB (a zip bomb)",
|
|
78
|
+
"expect": "size-mismatch",
|
|
79
|
+
"zip": "UEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAwQUAAAICAAAACFbrc0K1V0YAAAABAAABgAAAGFwcC5qc+zNMUrEUBRA0T6reKU2zgIGG0Ww0ELGDQTz1IH4MyQvGBhm76KVizinvnDfxn5Z4mXNNe+mfh4it8o2LPH4+vz0MOZXtopzF7Gehr7yqk3f13GO+jwuN5Vb3U+tfpPbONR8bB9/wT4u3aXL7TTNFUO+9+tY/x77brcLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOCnPTgkAAAAYBjk3z/wYtwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHC1AFBLAQIUABQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAAAAAAAAAAAAAAAAAAABhcHAuanNvblBLAQIUABQAAAgIAAAAIVutzQrVXRgAAAAEAAAGAAAAAAAAAAAAAAAAAHMAAABhcHAuanNQSwUGAAAAAAIAAgBqAAAA9BgAAAAA"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "a module that unpacks to less than it says",
|
|
83
|
+
"expect": "size-mismatch",
|
|
84
|
+
"zip": "UEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAwQUAAAICAAAACFbFoKRRWgAAACAAAAABgAAAGFwcC5qc03NMQrCMBgF4D2neKNdvEBxsQgOOoi9QDBPLcQ/JXnBQOndRSf3D75b9KXgUlm5Tz4HsIkWCo7j+XSIfNGExQF1Dl7cWHp3WKDnVLZi05BMX7LDVXmyxw/0WN3q2OaUhcC7r1F/R+8+UEsBAhQAFAAACAgAAAAhWy5ENk5NAAAAXwAAAAgAAAAAAAAAAAAAAAAAAAAAAGFwcC5qc29uUEsBAhQAFAAACAgAAAAhWxaCkUVoAAAAgAAAAAYAAAAAAAAAAAAAAAAAcwAAAGFwcC5qc1BLBQYAAAAAAgACAGoAAAD/AAAAAAA="
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"name": "a definition that is not JSON",
|
|
88
|
+
"expect": "definition-json",
|
|
89
|
+
"zip": "UEsDBBQAAAgIAAAAIVuHv9AdHgAAABwAAAAIAAAAYXBwLmpzb27LTLFSSM7P1UutSMwtyEnVKyxNLU3VTcpPLErhAgBQSwMEFAAACAgAAAAhWxaCkUVoAAAAdgAAAAYAAABhcHAuanNNzTEKwjAYBeA9p3ijXbxAcbEIDjqIvUAwTy3EPyV5wUDp3UUn9w++W/Sl4FJZuU8+B7CJFgqO4/l0iHzRhMUBdQ5e3Fh6d1ig51S2YtOQTF+yw1V5sscP9Fjd6tjmlIXAu69Rf0fvPlBLAQIUABQAAAgIAAAAIVuHv9AdHgAAABwAAAAIAAAAAAAAAAAAAAAAAAAAAABhcHAuanNvblBLAQIUABQAAAgIAAAAIVsWgpFFaAAAAHYAAAAGAAAAAAAAAAAAAAAAAEQAAABhcHAuanNQSwUGAAAAAAIAAgBqAAAA0AAAAAAA"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"name": "a definition without an element",
|
|
93
|
+
"expect": "definition-schema",
|
|
94
|
+
"zip": "UEsDBBQAAAgIAAAAIVv0EkmaQwAAAEcAAAAIAAAAYXBwLmpzb26rVspMUbJSSs7P1UutSMwtyEnVKyxNLU3VTcpPLEpR0lEqSy0qzszPU7JSMtQz0DNQ0lHKS8xNVbJSCgQpU4AoqwUAUEsDBBQAAAgIAAAAIVsWgpFFaAAAAHYAAAAGAAAAYXBwLmpzTc0xCsIwGAXgPad4o128QHGxCA46iL1AME8txD8lecFA6d1FJ/cPvlv0peBSWblPPgewiRYKjuP5dIh80YTFAXUOXtxYendYoOdUtmLTkExfssNVebLHD/RY3erY5pSFwLuvUX9H7z5QSwECFAAUAAAICAAAACFb9BJJmkMAAABHAAAACAAAAAAAAAAAAAAAAAAAAAAAYXBwLmpzb25QSwECFAAUAAAICAAAACFbFoKRRWgAAAB2AAAABgAAAAAAAAAAAAAAAABpAAAAYXBwLmpzUEsFBgAAAAACAAIAagAAAPUAAAAAAA=="
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "a definition with a field it does not know",
|
|
98
|
+
"expect": "definition-schema",
|
|
99
|
+
"zip": "UEsDBBQAAAgIAAAAIVu5c/CtVwAAAG8AAAAIAAAAYXBwLmpzb25Vy70OQDAYBdBXkTvTsH6vYPII1d6hSX9okYp4dzEY7OdccBYCk4Ji1WHxVOvOnd2cdLZocTAXlyIEg+pVjxZRB0Iwvaz5GD0D4wbBvxeazG3kCUHF/QBQSwMEFAAACAgAAAAhWxaCkUVoAAAAdgAAAAYAAABhcHAuanNNzTEKwjAYBeA9p3ijXbxAcbEIDjqIvUAwTy3EPyV5wUDp3UUn9w++W/Sl4FJZuU8+B7CJFgqO4/l0iHzRhMUBdQ5e3Fh6d1ig51S2YtOQTF+yw1V5sscP9Fjd6tjmlIXAu69Rf0fvPlBLAQIUABQAAAgIAAAAIVu5c/CtVwAAAG8AAAAIAAAAAAAAAAAAAAAAAAAAAABhcHAuanNvblBLAQIUABQAAAgIAAAAIVsWgpFFaAAAAHYAAAAGAAAAAAAAAAAAAAAAAH0AAABhcHAuanNQSwUGAAAAAAIAAgBqAAAACQEAAAAA"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"name": "Wyndlass's own id",
|
|
103
|
+
"expect": "definition-id",
|
|
104
|
+
"zip": "UEsDBBQAAAgIAAAAIVvSVPQ7UAAAAFoAAAAIAAAAYXBwLmpzb24lyEEKgCAQBdCrxF+b2HZu0RFMZyHpDGkWEd09ord8N1IEIWix5yUx+9ZsyBpWGBxcW1IBYbLOOhiILwzC3LnzsKivEQacubDsIGzfj/8/L1BLAwQUAAAICAAAACFbFoKRRWgAAAB2AAAABgAAAGFwcC5qc03NMQrCMBgF4D2neKNdvEBxsQgOOoi9QDBPLcQ/JXnBQOndRSf3D75b9KXgUlm5Tz4HsIkWCo7j+XSIfNGExQF1Dl7cWHp3WKDnVLZi05BMX7LDVXmyxw/0WN3q2OaUhcC7r1F/R+8+UEsBAhQAFAAACAgAAAAhW9JU9DtQAAAAWgAAAAgAAAAAAAAAAAAAAAAAAAAAAGFwcC5qc29uUEsBAhQAFAAACAgAAAAhWxaCkUVoAAAAdgAAAAYAAAAAAAAAAAAAAAAAdgAAAGFwcC5qc1BLBQYAAAAAAgACAGoAAAACAQAAAAA="
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "a condition on a param that is not there",
|
|
108
|
+
"expect": "definition-when",
|
|
109
|
+
"zip": "UEsDBBQAAAgIAAAAIVv8oJSFdgAAAKUAAAAIAAAAYXBwLmpzb25Vi8sKwjAURH9FZh1D3eYnxLW4uDZTLORl0qil+O9yERfOZobhnA2zh8OYo+VLYgm0987O/TVL9TB4sLY5Jzgc7GAHGCSJhMNJsd0PY2BkWuDwrxepEhvchon02staVO81wOB5Y9Kz5V5H6pK0Hie485e/vDUfUEsDBBQAAAgIAAAAIVsWgpFFaAAAAHYAAAAGAAAAYXBwLmpzTc0xCsIwGAXgPad4o128QHGxCA46iL1AME8txD8lecFA6d1FJ/cPvlv0peBSWblPPgewiRYKjuP5dIh80YTFAXUOXtxYendYoOdUtmLTkExfssNVebLHD/RY3erY5pSFwLuvUX9H7z5QSwECFAAUAAAICAAAACFb/KCUhXYAAAClAAAACAAAAAAAAAAAAAAAAAAAAAAAYXBwLmpzb25QSwECFAAUAAAICAAAACFbFoKRRWgAAAB2AAAABgAAAAAAAAAAAAAAAACcAAAAYXBwLmpzUEsFBgAAAAACAAIAagAAACgBAAAAAA=="
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"name": "a condition on itself",
|
|
113
|
+
"expect": "definition-when",
|
|
114
|
+
"zip": "UEsDBBQAAAgIAAAAIVuT10PMdAAAAKMAAAAIAAAAYXBwLmpzb25VizEOwjAQBL+Ctg5WaO8TiBpRGLwBS/HZ2E5IFPF35AIJtpliZzZ4B8EtBsPFhjTSPCdO3F+jzQ4dZubio0JwML3p0UFtIASnpu2+GkcGaoXgP08221AgGwbSNdY1tbzU7PWODq8H9fe3uh4HyBkLLu+2D1BLAwQUAAAICAAAACFbFoKRRWgAAAB2AAAABgAAAGFwcC5qc03NMQrCMBgF4D2neKNdvEBxsQgOOoi9QDBPLcQ/JXnBQOndRSf3D75b9KXgUlm5Tz4HsIkWCo7j+XSIfNGExQF1Dl7cWHp3WKDnVLZi05BMX7LDVXmyxw/0WN3q2OaUhcC7r1F/R+8+UEsBAhQAFAAACAgAAAAhW5PXQ8x0AAAAowAAAAgAAAAAAAAAAAAAAAAAAAAAAGFwcC5qc29uUEsBAhQAFAAACAgAAAAhWxaCkUVoAAAAdgAAAAYAAAAAAAAAAAAAAAAAmgAAAGFwcC5qc1BLBQYAAAAAAgACAGoAAAAmAQAAAAA="
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"name": "an http suggestion for a url",
|
|
118
|
+
"expect": "definition-url",
|
|
119
|
+
"zip": "UEsDBBQAAAgIAAAAIVthj3q9egAAAKoAAAAIAAAAYXBwLmpzb25VjssKwjAQRX9F7romdTt/4VpcjO2IhUwS87BKyb9LBAVXd3PO4W5YZhCmoEaerNGJuVepsr8ETjMGPCTlJXgQDmY0IwZ4VgHh2LHdFxMnKr6A8K9HTqwZtOEqMvctr9j1mlyvs6uSQSfcSolk7cf+XZmCWh9WnFtrb1BLAwQUAAAICAAAACFbFoKRRWgAAAB2AAAABgAAAGFwcC5qc03NMQrCMBgF4D2neKNdvEBxsQgOOoi9QDBPLcQ/JXnBQOndRSf3D75b9KXgUlm5Tz4HsIkWCo7j+XSIfNGExQF1Dl7cWHp3WKDnVLZi05BMX7LDVXmyxw/0WN3q2OaUhcC7r1F/R+8+UEsBAhQAFAAACAgAAAAhW2GPer16AAAAqgAAAAgAAAAAAAAAAAAAAAAAAAAAAGFwcC5qc29uUEsBAhQAFAAACAgAAAAhWxaCkUVoAAAAdgAAAAYAAAAAAAAAAAAAAAAAoAAAAGFwcC5qc1BLBQYAAAAAAgACAGoAAAAsAQAAAAA="
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"name": "an http default for a url",
|
|
123
|
+
"expect": "definition-url",
|
|
124
|
+
"zip": "UEsDBBQAAAgIAAAAIVvs3U8ZeAAAAKkAAAAIAAAAYXBwLmpzb25VzksOAiEQhOGrmFojjNu+hUdoh544CQ3IgI9MuLvBRBNXtfm/pHasHoQ5qZUnaw5ib02aHC+Ji4fBXcq2pgjCyU52gkFkFRDOIzt8MwmiEisI/zxzYd1AOxYRP7a+8uCtBBh4WbiFwa61ZnLuo39X5qQupgd6729QSwMEFAAACAgAAAAhWxaCkUVoAAAAdgAAAAYAAABhcHAuanNNzTEKwjAYBeA9p3ijXbxAcbEIDjqIvUAwTy3EPyV5wUDp3UUn9w++W/Sl4FJZuU8+B7CJFgqO4/l0iHzRhMUBdQ5e3Fh6d1ig51S2YtOQTF+yw1V5sscP9Fjd6tjmlIXAu69Rf0fvPlBLAQIUABQAAAgIAAAAIVvs3U8ZeAAAAKkAAAAIAAAAAAAAAAAAAAAAAAAAAABhcHAuanNvblBLAQIUABQAAAgIAAAAIVsWgpFFaAAAAHYAAAAGAAAAAAAAAAAAAAAAAJ4AAABhcHAuanNQSwUGAAAAAAIAAgBqAAAAKgEAAAAA"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"name": "peers",
|
|
128
|
+
"expect": "definition-peers",
|
|
129
|
+
"zip": "UEsDBBQAAAgIAAAAIVtPS2M5XwAAAH0AAAAIAAAAYXBwLmpzb25VyzkKhEAQBdCryI+10bRuMUco9QcFvdnLMCDeXQwMJn/vhO0QbCk4/jRkT3d0dk5r0rJjxJelWooQLG52M0ZEDYTg87DhZfQMjA2C/75p1tW8NWOFnMhkqZBWOq/rBlBLAwQUAAAICAAAACFbFoKRRWgAAAB2AAAABgAAAGFwcC5qc03NMQrCMBgF4D2neKNdvEBxsQgOOoi9QDBPLcQ/JXnBQOndRSf3D75b9KXgUlm5Tz4HsIkWCo7j+XSIfNGExQF1Dl7cWHp3WKDnVLZi05BMX7LDVXmyxw/0WN3q2OaUhcC7r1F/R+8+UEsBAhQAFAAACAgAAAAhW09LYzlfAAAAfQAAAAgAAAAAAAAAAAAAAAAAAAAAAGFwcC5qc29uUEsBAhQAFAAACAgAAAAhWxaCkUVoAAAAdgAAAAYAAAAAAAAAAAAAAAAAhQAAAGFwcC5qc1BLBQYAAAAAAgACAGoAAAARAQAAAAA="
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "a data source customers' apps may not read",
|
|
133
|
+
"expect": "definition-data",
|
|
134
|
+
"zip": "UEsDBBQAAAgIAAAAIVsUDfkJYAAAAHsAAAAIAAAAYXBwLmpzb25Vy7EKwjAYhdFXkW9OQ13zFs7F4ddcsNAkNk1UkL67ODi4n/NmjgSuJXm9LN0X+bWra7gUqxHHQ3WbSyZw9KMfcWRLInD6ssOPaVFSbgT+e7RmhImnrN1Ucay9NG2c9w9QSwMEFAAACAgAAAAhWxaCkUVoAAAAdgAAAAYAAABhcHAuanNNzTEKwjAYBeA9p3ijXbxAcbEIDjqIvUAwTy3EPyV5wUDp3UUn9w++W/Sl4FJZuU8+B7CJFgqO4/l0iHzRhMUBdQ5e3Fh6d1ig51S2YtOQTF+yw1V5sscP9Fjd6tjmlIXAu69Rf0fvPlBLAQIUABQAAAgIAAAAIVsUDfkJYAAAAHsAAAAIAAAAAAAAAAAAAAAAAAAAAABhcHAuanNvblBLAQIUABQAAAgIAAAAIVsWgpFFaAAAAHYAAAAGAAAAAAAAAAAAAAAAAIYAAABhcHAuanNQSwUGAAAAAAIAAgBqAAAAEgEAAAAA"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"name": "a module that is not JavaScript",
|
|
138
|
+
"expect": "module-syntax",
|
|
139
|
+
"zip": "UEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAwQUAAAICAAAACFbvkt36R8AAAAiAAAABgAAAGFwcC5qc7MpTi7KLCixS60oyC8qUUhJTUsszSlRMLTRh0pwAQBQSwECFAAUAAAICAAAACFbLkQ2Tk0AAABfAAAACAAAAAAAAAAAAAAAAAAAAAAAYXBwLmpzb25QSwECFAAUAAAICAAAACFbvkt36R8AAAAiAAAABgAAAAAAAAAAAAAAAABzAAAAYXBwLmpzUEsFBgAAAAACAAIAagAAALYAAAAAAA=="
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "ES2022: a class field",
|
|
143
|
+
"expect": "module-syntax",
|
|
144
|
+
"zip": "UEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAwQUAAAICAAAACFbTGIQAEkAAABQAAAABgAAAGFwcC5qc0vOSSwuVggsTS1NdcpPLEpRSK0oSc1LKVbwCPH1cc1JzU3NK1Go5lJQUM7LL1ewVTCw5qrlSq0oyC8qUUhJTUsszSlB0m3NBQBQSwECFAAUAAAICAAAACFbLkQ2Tk0AAABfAAAACAAAAAAAAAAAAAAAAAAAAAAAYXBwLmpzb25QSwECFAAUAAAICAAAACFbTGIQAEkAAABQAAAABgAAAAAAAAAAAAAAAABzAAAAYXBwLmpzUEsFBgAAAAACAAIAagAAAOAAAAAAAA=="
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"name": "ES2021: logical assignment",
|
|
148
|
+
"expect": "module-syntax",
|
|
149
|
+
"zip": "UEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAwQUAAAICAAAACFbHyeQG0IAAABAAAAABgAAAGFwcC5qc8tJLVFIVLBVMLDmSlSoqbFVMLTmSq0oyC8qUUhJTUsszSlRSM5JLC5WSK0oSc1LKVbwCPH1cc1JzU3NK1GoruUCAFBLAQIUABQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAAAAAAAAAAAAAAAAAAABhcHAuanNvblBLAQIUABQAAAgIAAAAIVsfJ5AbQgAAAEAAAAAGAAAAAAAAAAAAAAAAAHMAAABhcHAuanNQSwUGAAAAAAIAAgBqAAAA2QAAAAAA"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"name": "an import",
|
|
153
|
+
"expect": "module-import",
|
|
154
|
+
"zip": "UEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAwQUAAAICAAAACFbZ+rTTX0AAACXAAAABgAAAGFwcC5qc03NvQrCMBgF0D1PcemkS32A4KIIDjqIvkAwX20kPyW5wUDpu4ud3A8cF6aUiRkjg8eCIaeArt95x/5dOq2e3pSCW5Uqh2SyhTRKtAXnx/Vy8hIkErMC6mQNZRPTZ4sZHF3pKY3HFPkje9yZXXytQGNRi5K23lYGUz3/Dq2+UEsBAhQAFAAACAgAAAAhWy5ENk5NAAAAXwAAAAgAAAAAAAAAAAAAAAAAAAAAAGFwcC5qc29uUEsBAhQAFAAACAgAAAAhW2fq0019AAAAlwAAAAYAAAAAAAAAAAAAAAAAcwAAAGFwcC5qc1BLBQYAAAAAAgACAGoAAAAUAQAAAAA="
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"name": "an export from another module",
|
|
158
|
+
"expect": "module-import",
|
|
159
|
+
"zip": "UEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAwQUAAAICAAAACFbi0CZLHoAAACRAAAABgAAAGFwcC5qc03NOwoCMRQF0D6ruEylFnEBwUYRLLQQ3UAwd3QknyF5wcAwexe1sT9w2MaUBSv0OQV0eh1Spn6Wzqibt6XgXFm5TTY7sAmjKzhcT8e9Z2AUTAqoo7PCRUyvJSbIYyha2GSXonzIBhfJQ7x/gcGsZsXf6tjb6uXvMOoNUEsBAhQAFAAACAgAAAAhWy5ENk5NAAAAXwAAAAgAAAAAAAAAAAAAAAAAAAAAAGFwcC5qc29uUEsBAhQAFAAACAgAAAAhW4tAmSx6AAAAkQAAAAYAAAAAAAAAAAAAAAAAcwAAAGFwcC5qc1BLBQYAAAAAAgACAGoAAAARAQAAAAA="
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"name": "an import()",
|
|
163
|
+
"expect": "module-import",
|
|
164
|
+
"zip": "UEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAwQUAAAICAAAACFbuvKmTFwAAABdAAAABgAAAGFwcC5qcxXMMQ5FQBQF0H5WcaOiYQFKkSj8zgaemSvBM37Mk0jE3sVZwOH13w9D4CSnGrxKSuBljCGhG359q9wYDbcD/B4jvTE0ojqKX/MCN+btK/KsrFSMR7mkrKjxuMe9UEsBAhQAFAAACAgAAAAhWy5ENk5NAAAAXwAAAAgAAAAAAAAAAAAAAAAAAAAAAGFwcC5qc29uUEsBAhQAFAAACAgAAAAhW7rypkxcAAAAXQAAAAYAAAAAAAAAAAAAAAAAcwAAAGFwcC5qc1BLBQYAAAAAAgACAGoAAADzAAAAAAA="
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"name": "no default export",
|
|
168
|
+
"expect": "module-default",
|
|
169
|
+
"zip": "UEsDBBQAAAgIAAAAIVsuRDZOTQAAAF8AAAAIAAAAYXBwLmpzb25Ny0EKgCAQBdCrxF/bYFtv0REs/0JwtCwjiO4eLYL2712IAQ5zUeHpdUmUtbGxn4qvAQYH6xZLhsMgViwMslfCYXxZ9zEmKvMOh3+/H1BLAwQUAAAICAAAACFbkdDcdUkAAABVAAAABgAAAGFwcC5qc0utKMgvKlFIzkksLlYILE0tTXXKTyxKUUitKEnNSylW8Ajx9XHNSc1NzStRqK7lSoUqz88rLlFIhYrbKigVgnTqJoG0KllzAQBQSwECFAAUAAAICAAAACFbLkQ2Tk0AAABfAAAACAAAAAAAAAAAAAAAAAAAAAAAYXBwLmpzb25QSwECFAAUAAAICAAAACFbkdDcdUkAAABVAAAABgAAAAAAAAAAAAAAAABzAAAAYXBwLmpzUEsFBgAAAAACAAIAagAAAOAAAAAAAA=="
|
|
170
|
+
}
|
|
171
|
+
]
|
|
172
|
+
}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.wyndlass.ai/protocol/v0/common.schema.json",
|
|
4
|
+
"title": "Common definitions",
|
|
5
|
+
"description": "Shared identifiers and value types used by every protocol message.",
|
|
6
|
+
"$defs": {
|
|
7
|
+
"tenantId": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"pattern": "^ten_[0-9a-hjkmnp-tv-z]{26}$",
|
|
10
|
+
"description": "Tenant id: type prefix plus a base32-encoded UUIDv7."
|
|
11
|
+
},
|
|
12
|
+
"nodeId": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"pattern": "^node_[0-9a-hjkmnp-tv-z]{26}$",
|
|
15
|
+
"description": "Org-tree node id."
|
|
16
|
+
},
|
|
17
|
+
"deviceId": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"pattern": "^dev_[0-9a-hjkmnp-tv-z]{26}$",
|
|
20
|
+
"description": "Device id."
|
|
21
|
+
},
|
|
22
|
+
"mediaId": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"pattern": "^med_[0-9a-hjkmnp-tv-z]{26}$",
|
|
25
|
+
"description": "Media item id (asset, app, composition, playlist or live source)."
|
|
26
|
+
},
|
|
27
|
+
"campaignId": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"pattern": "^cmp_[0-9a-hjkmnp-tv-z]{26}$",
|
|
30
|
+
"description": "Campaign id."
|
|
31
|
+
},
|
|
32
|
+
"adCampaignId": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"pattern": "^adc_[0-9a-hjkmnp-tv-z]{26}$",
|
|
35
|
+
"description": "Ad campaign id (WP-0075): a campaign sold to an advertiser."
|
|
36
|
+
},
|
|
37
|
+
"adDecisionId": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"pattern": "^add_[0-9a-hjkmnp-tv-z]{26}$",
|
|
40
|
+
"description": "Ad decision id (ADR 0075): the broker's answer for one ad slot."
|
|
41
|
+
},
|
|
42
|
+
"audienceId": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
|
|
45
|
+
"description": "Audience id (saved targeting)."
|
|
46
|
+
},
|
|
47
|
+
"groupId": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"pattern": "^grp_[0-9a-hjkmnp-tv-z]{26}$",
|
|
50
|
+
"description": "Device group id."
|
|
51
|
+
},
|
|
52
|
+
"emergencyId": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"pattern": "^emg_[0-9a-hjkmnp-tv-z]{26}$",
|
|
55
|
+
"description": "Emergency message id."
|
|
56
|
+
},
|
|
57
|
+
"emergencySourceId": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"pattern": "^esr_[0-9a-hjkmnp-tv-z]{26}$",
|
|
60
|
+
"description": "Emergency source id: a CAP feed, the National Weather Service or IPAWS at a node (ADR 0127)."
|
|
61
|
+
},
|
|
62
|
+
"changeSetId": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"pattern": "^chg_[0-9a-hjkmnp-tv-z]{26}$",
|
|
65
|
+
"description": "Change set id."
|
|
66
|
+
},
|
|
67
|
+
"principalRef": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"pattern": "^(user|agent|device|client|system):[A-Za-z0-9_.:-]{1,128}$",
|
|
70
|
+
"description": "A principal, e.g. user:u_123, agent:fleet-guardian, device:dev_..."
|
|
71
|
+
},
|
|
72
|
+
"sha256": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"pattern": "^[0-9a-f]{64}$",
|
|
75
|
+
"description": "Lowercase hex SHA-256 digest."
|
|
76
|
+
},
|
|
77
|
+
"timestamp": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"format": "date-time",
|
|
80
|
+
"description": "RFC 3339 timestamp with offset."
|
|
81
|
+
},
|
|
82
|
+
"sourceKind": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"pattern": "^[a-z][a-z0-9-]{0,31}$",
|
|
85
|
+
"description": "A kind of sensor that measures impressions (WP-0105, ADR 0105): camera, proximity (WP-0043), and later ble, rfid, lidar and others. A pattern, not an enum, so a new kind is never a breaking change for players in the field."
|
|
86
|
+
},
|
|
87
|
+
"inputName": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"pattern": "^[a-z0-9][a-z0-9._-]{0,63}$",
|
|
90
|
+
"description": "A named input on a screen (WP-0043, ADR 0107), which a serial leaf's input names: a sensor map's, or one the player names itself from a sensor's family and channel, such as pickup-3, or button-2.1 for one button of several."
|
|
91
|
+
},
|
|
92
|
+
"sensorFamily": {
|
|
93
|
+
"enum": ["pickup", "presence", "lidar", "rfid", "button", "gesture", "motion", "light", "climate", "camera", "io"],
|
|
94
|
+
"description": "What a sensor on a controller's channel does (WP-0043, ADR 0107): pickup (a product lifted and put back), presence (a person's distance), lidar (people in zones), rfid (tags placed and lifted), button, gesture, motion, light, climate (temperature and humidity), camera (a person's presence, gaze and, where allowed, estimated age and gender) and io (an input that is on or off)."
|
|
95
|
+
},
|
|
96
|
+
"bleAddress": {
|
|
97
|
+
"type": "string",
|
|
98
|
+
"pattern": "^[0-9A-F]{2}(:[0-9A-F]{2}){5}$",
|
|
99
|
+
"description": "A Bluetooth device address (WP-0044, ADR 0108): six octets in upper-case hex, most significant first, such as 0C:F3:EE:00:12:34."
|
|
100
|
+
},
|
|
101
|
+
"beaconFrame": {
|
|
102
|
+
"enum": ["ibeacon", "eddystone-uid", "eddystone-url", "eddystone-tlm", "altbeacon"],
|
|
103
|
+
"description": "A beacon's advertisement as the player reads it (WP-0044, ADR 0108): iBeacon; Eddystone's UID, URL or TLM (telemetry: battery, temperature and counts); or AltBeacon."
|
|
104
|
+
},
|
|
105
|
+
"gpioPin": {
|
|
106
|
+
"type": "integer",
|
|
107
|
+
"minimum": 0,
|
|
108
|
+
"maximum": 63,
|
|
109
|
+
"description": "A GPIO pin as the shell numbers it (WP-0044, ADR 0108): its line on the box's GPIO chip, as the gpio leaf's pin names it."
|
|
110
|
+
},
|
|
111
|
+
"demographics": {
|
|
112
|
+
"description": "Impressions by estimated gender and age group, counted only where a place allows it (WP-0043, ADR 0107): each presence counted once, by the estimate its sensor gave most often. Never anything about one person.",
|
|
113
|
+
"type": "object",
|
|
114
|
+
"required": ["female", "male", "genderUnknown", "age", "ageUnknown"],
|
|
115
|
+
"additionalProperties": false,
|
|
116
|
+
"properties": {
|
|
117
|
+
"female": { "type": "integer", "minimum": 0 },
|
|
118
|
+
"male": { "type": "integer", "minimum": 0 },
|
|
119
|
+
"genderUnknown": { "type": "integer", "minimum": 0, "description": "Presences whose gender the sensor did not estimate, or was unsure of." },
|
|
120
|
+
"age": {
|
|
121
|
+
"type": "array",
|
|
122
|
+
"minItems": 8,
|
|
123
|
+
"maxItems": 8,
|
|
124
|
+
"items": { "type": "integer", "minimum": 0 },
|
|
125
|
+
"description": "Presences by the sensor's age group: 0 to 11, 12 to 17, 18 to 24, 25 to 34, 35 to 44, 45 to 54, 55 to 64, and 65 or more."
|
|
126
|
+
},
|
|
127
|
+
"ageUnknown": { "type": "integer", "minimum": 0 }
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"date": {
|
|
131
|
+
"type": "string",
|
|
132
|
+
"format": "date"
|
|
133
|
+
},
|
|
134
|
+
"localTime": {
|
|
135
|
+
"type": "string",
|
|
136
|
+
"pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
|
|
137
|
+
"description": "Wall-clock time HH:MM in the device's time zone."
|
|
138
|
+
},
|
|
139
|
+
"timeZone": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"pattern": "^[A-Za-z_]+(/[A-Za-z0-9_+-]+){0,2}$|^UTC$",
|
|
142
|
+
"description": "IANA time zone name."
|
|
143
|
+
},
|
|
144
|
+
"locale": {
|
|
145
|
+
"type": "string",
|
|
146
|
+
"pattern": "^[a-z]{2,3}(-[A-Z][a-z]{3})?(-[A-Z]{2}|-[0-9]{3})?$",
|
|
147
|
+
"description": "BCP 47 language tag."
|
|
148
|
+
},
|
|
149
|
+
"semver": {
|
|
150
|
+
"type": "string",
|
|
151
|
+
"pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(-[0-9A-Za-z.-]+)?$"
|
|
152
|
+
},
|
|
153
|
+
"itemRef": {
|
|
154
|
+
"type": "object",
|
|
155
|
+
"description": "A pinned reference to a media item version.",
|
|
156
|
+
"required": [
|
|
157
|
+
"id",
|
|
158
|
+
"version"
|
|
159
|
+
],
|
|
160
|
+
"additionalProperties": false,
|
|
161
|
+
"properties": {
|
|
162
|
+
"id": {
|
|
163
|
+
"$ref": "common.schema.json#/$defs/mediaId"
|
|
164
|
+
},
|
|
165
|
+
"version": {
|
|
166
|
+
"type": "integer",
|
|
167
|
+
"minimum": 1
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
"signature": {
|
|
172
|
+
"type": "object",
|
|
173
|
+
"description": "Detached Ed25519 signature over the UTF-8 bytes of the RFC 8785 canonical JSON of the message without this field. keyId names a public key the verifier already trusts (distributed at enrollment); never fetch a key named by the message.",
|
|
174
|
+
"required": [
|
|
175
|
+
"alg",
|
|
176
|
+
"keyId",
|
|
177
|
+
"value"
|
|
178
|
+
],
|
|
179
|
+
"additionalProperties": false,
|
|
180
|
+
"properties": {
|
|
181
|
+
"alg": {
|
|
182
|
+
"const": "ed25519"
|
|
183
|
+
},
|
|
184
|
+
"keyId": {
|
|
185
|
+
"type": "string",
|
|
186
|
+
"minLength": 1,
|
|
187
|
+
"maxLength": 128
|
|
188
|
+
},
|
|
189
|
+
"value": {
|
|
190
|
+
"type": "string",
|
|
191
|
+
"contentEncoding": "base64",
|
|
192
|
+
"minLength": 16
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"calendar": {
|
|
3
|
+
"name": "Prairie Grocers"
|
|
4
|
+
},
|
|
5
|
+
"events": [
|
|
6
|
+
{
|
|
7
|
+
"id": "staff-meeting@prairie.test/20261012T133000Z",
|
|
8
|
+
"title": "Staff meeting, Store 12",
|
|
9
|
+
"location": "Back office; Store 12",
|
|
10
|
+
"start": "2026-10-12T13:30:00Z",
|
|
11
|
+
"end": "2026-10-12T14:00:00Z"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"id": "harvest@prairie.test",
|
|
15
|
+
"title": "Fall harvest sale",
|
|
16
|
+
"start": "2026-10-16",
|
|
17
|
+
"end": "2026-10-19",
|
|
18
|
+
"allDay": true
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"id": "staff-meeting@prairie.test/20261019T133000Z",
|
|
22
|
+
"title": "Staff meeting, Store 12",
|
|
23
|
+
"location": "Back office; Store 12",
|
|
24
|
+
"start": "2026-10-19T13:30:00Z",
|
|
25
|
+
"end": "2026-10-19T14:00:00Z"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "webinar@prairie.test",
|
|
29
|
+
"title": "Supplier webinar",
|
|
30
|
+
"start": "2026-10-20T15:00:00Z",
|
|
31
|
+
"end": "2026-10-20T15:45:00Z",
|
|
32
|
+
"tentative": true
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "staff-meeting@prairie.test/20261022T133000Z",
|
|
36
|
+
"title": "Staff meeting, Store 12",
|
|
37
|
+
"location": "Back office; Store 12",
|
|
38
|
+
"start": "2026-10-22T13:30:00Z",
|
|
39
|
+
"end": "2026-10-22T14:00:00Z"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "staff-meeting@prairie.test/20261026T133000Z",
|
|
43
|
+
"title": "Staff meeting, Store 12",
|
|
44
|
+
"location": "Back office; Store 12",
|
|
45
|
+
"start": "2026-10-26T13:30:00Z",
|
|
46
|
+
"end": "2026-10-26T14:00:00Z"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "staff-meeting@prairie.test/20261029T133000Z",
|
|
50
|
+
"title": "Staff meeting, Store 12",
|
|
51
|
+
"location": "Back office; Store 12",
|
|
52
|
+
"start": "2026-10-29T13:30:00Z",
|
|
53
|
+
"end": "2026-10-29T14:00:00Z"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "staff-meeting@prairie.test/20261102T143000Z",
|
|
57
|
+
"title": "Staff meeting, Store 12",
|
|
58
|
+
"location": "Back office; Store 12",
|
|
59
|
+
"start": "2026-11-02T14:30:00Z",
|
|
60
|
+
"end": "2026-11-02T15:00:00Z"
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "item.end",
|
|
3
|
+
"seq": 40,
|
|
4
|
+
"at": "2026-10-01T13:59:50Z",
|
|
5
|
+
"zone": "main",
|
|
6
|
+
"item": {
|
|
7
|
+
"id": "med_01jc8x5s3h9k2m4n6p8q0r2t4v",
|
|
8
|
+
"version": 3
|
|
9
|
+
},
|
|
10
|
+
"blob": "3c8e1f5a9b2d6e0c4f7a1b5d8e2c6f9a3b7d0e4c8f1a5b9d2e6c0f3a7b1d4e8c",
|
|
11
|
+
"endedAt": "2026-10-01T13:59:50Z",
|
|
12
|
+
"reason": "finished"
|
|
13
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "item.start",
|
|
3
|
+
"seq": 41,
|
|
4
|
+
"at": "2026-10-01T13:59:50Z",
|
|
5
|
+
"zone": "main",
|
|
6
|
+
"item": {
|
|
7
|
+
"id": "med_01jc8x5s3h9k2m4n6p8q0r2t4v",
|
|
8
|
+
"version": 3
|
|
9
|
+
},
|
|
10
|
+
"blob": "3c8e1f5a9b2d6e0c4f7a1b5d8e2c6f9a3b7d0e4c8f1a5b9d2e6c0f3a7b1d4e8c",
|
|
11
|
+
"contentType": "video/mp4",
|
|
12
|
+
"startedAt": "2026-10-01T13:59:50Z",
|
|
13
|
+
"durationMs": 8000,
|
|
14
|
+
"transition": {
|
|
15
|
+
"asked": "crossfade",
|
|
16
|
+
"played": "cut"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"feed": {
|
|
3
|
+
"title": "Prairie Grocers News",
|
|
4
|
+
"url": "https://news.example.org/feed.xml",
|
|
5
|
+
"link": "https://news.example.org/",
|
|
6
|
+
"image": "https://news.example.org/logo.png"
|
|
7
|
+
},
|
|
8
|
+
"items": [
|
|
9
|
+
{
|
|
10
|
+
"id": "harvest-2026",
|
|
11
|
+
"title": "Fall harvest arrives & prices drop",
|
|
12
|
+
"link": "https://news.example.org/harvest",
|
|
13
|
+
"summary": "Squash, apples and more .",
|
|
14
|
+
"published": "2026-10-03T14:00:00.000Z",
|
|
15
|
+
"author": "Olive Owner",
|
|
16
|
+
"image": "/v0/image?url=https%3A%2F%2Fcdn.example.org%2Fharvest.jpg"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"title": "New bakery hours",
|
|
20
|
+
"link": "https://news.example.org/bakery",
|
|
21
|
+
"summary": "Open at 6 — every day.",
|
|
22
|
+
"published": "2026-10-02T14:30:00.000Z",
|
|
23
|
+
"image": "/v0/image?url=https%3A%2F%2Fcdn.example.org%2Fbakery.webp"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"title": "Meet our farmers",
|
|
27
|
+
"link": "https://news.example.org/farmers",
|
|
28
|
+
"summary": "Three families, one field.",
|
|
29
|
+
"image": "/v0/image?url=https%3A%2F%2Fcdn.example.org%2Ffarmers.png"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"title": "Store 12 reopens",
|
|
33
|
+
"link": "https://news.example.org/store-12",
|
|
34
|
+
"image": "/v0/image?url=https%3A%2F%2Fnews.example.org%2Fimg%2Fstore-12.jpg"
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"apiVersion": 1,
|
|
3
|
+
"device": {
|
|
4
|
+
"id": "dev_01j9zq3k7m2p4r6t8v0w2x4y7a",
|
|
5
|
+
"type": "linux-player",
|
|
6
|
+
"shell": "universal-electron",
|
|
7
|
+
"shellVersion": "0.1.0",
|
|
8
|
+
"coreVersion": "0.1.0",
|
|
9
|
+
"model": "NUC 13 Pro",
|
|
10
|
+
"resolution": {
|
|
11
|
+
"width": 1920,
|
|
12
|
+
"height": 1080
|
|
13
|
+
},
|
|
14
|
+
"orientation": "landscape"
|
|
15
|
+
},
|
|
16
|
+
"mode": "player",
|
|
17
|
+
"timeZone": "America/Chicago",
|
|
18
|
+
"locale": "en-US",
|
|
19
|
+
"connection": "online",
|
|
20
|
+
"state": "paused",
|
|
21
|
+
"held": {
|
|
22
|
+
"by": {
|
|
23
|
+
"kind": "remote",
|
|
24
|
+
"principal": "agent:fleet-guardian"
|
|
25
|
+
},
|
|
26
|
+
"since": "2026-10-01T14:00:00Z"
|
|
27
|
+
},
|
|
28
|
+
"content": {
|
|
29
|
+
"manifest": "3c8e1f5a9b2d6e0c4f7a1b5d8e2c6f9a3b7d0e4c8f1a5b9d2e6c0f3a7b1d4e8c",
|
|
30
|
+
"issuedAt": "2026-10-01T13:00:00Z",
|
|
31
|
+
"switchedAt": "2026-10-01T13:00:04Z"
|
|
32
|
+
},
|
|
33
|
+
"now": [
|
|
34
|
+
{
|
|
35
|
+
"zone": "main",
|
|
36
|
+
"item": {
|
|
37
|
+
"id": "med_01jc8x5s3h9k2m4n6p8q0r2t4v",
|
|
38
|
+
"version": 3
|
|
39
|
+
},
|
|
40
|
+
"blob": "3c8e1f5a9b2d6e0c4f7a1b5d8e2c6f9a3b7d0e4c8f1a5b9d2e6c0f3a7b1d4e8c",
|
|
41
|
+
"contentType": "image/png",
|
|
42
|
+
"startedAt": "2026-10-01T13:59:50Z",
|
|
43
|
+
"durationMs": 10000,
|
|
44
|
+
"positionMs": 4200
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"audio": {
|
|
48
|
+
"volume": 40,
|
|
49
|
+
"muted": false
|
|
50
|
+
},
|
|
51
|
+
"capabilities": {
|
|
52
|
+
"audio": true,
|
|
53
|
+
"display": {
|
|
54
|
+
"power": false,
|
|
55
|
+
"brightness": false
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|