@overcrow/mcp 0.0.0 → 0.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/LICENSE +21 -0
- package/README.md +91 -1
- package/dist/audit/index.js +103 -0
- package/dist/audit/lexer.js +417 -0
- package/dist/audit/project.js +200 -0
- package/dist/audit/rules.js +661 -0
- package/dist/bootstrap/download.js +229 -0
- package/dist/bootstrap/install.js +280 -0
- package/dist/bootstrap/pin.js +85 -0
- package/dist/bootstrap/pin.json +119 -0
- package/dist/bootstrap/zip.js +258 -0
- package/dist/cli.js +200 -0
- package/dist/confine.js +244 -0
- package/dist/content/docs/en/cli.md +353 -0
- package/dist/content/docs/en/dev-channel.md +130 -0
- package/dist/content/docs/en/elements.md +469 -0
- package/dist/content/docs/en/forms.md +328 -0
- package/dist/content/docs/en/guide.md +253 -0
- package/dist/content/docs/en/index.md +85 -0
- package/dist/content/docs/en/limits.md +241 -0
- package/dist/content/docs/en/logic.md +446 -0
- package/dist/content/docs/en/manifest.md +381 -0
- package/dist/content/docs/en/mcp.md +165 -0
- package/dist/content/docs/en/package.md +131 -0
- package/dist/content/docs/en/publishing.md +162 -0
- package/dist/content/docs/en/reference.md +55 -0
- package/dist/content/docs/en/result-shapes.md +332 -0
- package/dist/content/docs/en/sdk.md +295 -0
- package/dist/content/docs/en/security.md +115 -0
- package/dist/content/docs/en/service-reference.md +344 -0
- package/dist/content/docs/en/services.md +517 -0
- package/dist/content/docs/en/style-properties.md +270 -0
- package/dist/content/docs/en/style.md +266 -0
- package/dist/content/docs/en/testing.md +400 -0
- package/dist/content/docs/en/view.md +338 -0
- package/dist/content/docs/en/widgets.md +76 -0
- package/dist/content/docs/fr/cli.md +367 -0
- package/dist/content/docs/fr/dev-channel.md +140 -0
- package/dist/content/docs/fr/elements.md +475 -0
- package/dist/content/docs/fr/forms.md +341 -0
- package/dist/content/docs/fr/guide.md +264 -0
- package/dist/content/docs/fr/index.md +90 -0
- package/dist/content/docs/fr/limits.md +244 -0
- package/dist/content/docs/fr/logic.md +461 -0
- package/dist/content/docs/fr/manifest.md +392 -0
- package/dist/content/docs/fr/mcp.md +173 -0
- package/dist/content/docs/fr/package.md +139 -0
- package/dist/content/docs/fr/publishing.md +172 -0
- package/dist/content/docs/fr/reference.md +59 -0
- package/dist/content/docs/fr/result-shapes.md +333 -0
- package/dist/content/docs/fr/sdk.md +301 -0
- package/dist/content/docs/fr/security.md +129 -0
- package/dist/content/docs/fr/service-reference.md +346 -0
- package/dist/content/docs/fr/services.md +540 -0
- package/dist/content/docs/fr/style-properties.md +272 -0
- package/dist/content/docs/fr/style.md +281 -0
- package/dist/content/docs/fr/testing.md +417 -0
- package/dist/content/docs/fr/view.md +352 -0
- package/dist/content/docs/fr/widgets.md +81 -0
- package/dist/content/examples/clock/LICENSE +21 -0
- package/dist/content/examples/clock/README.md +75 -0
- package/dist/content/examples/clock/listing.json +19 -0
- package/dist/content/examples/clock/locales/en.json +4 -0
- package/dist/content/examples/clock/locales/fr.json +4 -0
- package/dist/content/examples/clock/logic.ts +85 -0
- package/dist/content/examples/clock/manifest.json +44 -0
- package/dist/content/examples/clock/package.json +16 -0
- package/dist/content/examples/clock/style.ocss +26 -0
- package/dist/content/examples/clock/tests/hidden.scenario.json +68 -0
- package/dist/content/examples/clock/tests/load-logic.mjs +22 -0
- package/dist/content/examples/clock/tests/logic.test.mjs +89 -0
- package/dist/content/examples/clock/tests/options.scenario.json +108 -0
- package/dist/content/examples/clock/tests/preview.scenario.json +25 -0
- package/dist/content/examples/clock/tests/render.scenario.json +94 -0
- package/dist/content/examples/clock/tests/summer-time.scenario.json +74 -0
- package/dist/content/examples/clock/tests/ticks.scenario.json +120 -0
- package/dist/content/examples/clock/tsconfig.json +16 -0
- package/dist/content/examples/clock/view.ocml +8 -0
- package/dist/content/examples/countdown/LICENSE +20 -0
- package/dist/content/examples/countdown/listing.json +10 -0
- package/dist/content/examples/countdown/locales/en.json +15 -0
- package/dist/content/examples/countdown/locales/fr.json +15 -0
- package/dist/content/examples/countdown/logic.ts +179 -0
- package/dist/content/examples/countdown/manifest.json +34 -0
- package/dist/content/examples/countdown/package.json +15 -0
- package/dist/content/examples/countdown/style.ocss +94 -0
- package/dist/content/examples/countdown/tsconfig.json +16 -0
- package/dist/content/examples/countdown/view.ocml +42 -0
- package/dist/content/examples/fps/LICENSE +21 -0
- package/dist/content/examples/fps/README.md +64 -0
- package/dist/content/examples/fps/listing.json +19 -0
- package/dist/content/examples/fps/locales/en.json +11 -0
- package/dist/content/examples/fps/locales/fr.json +11 -0
- package/dist/content/examples/fps/logic.ts +64 -0
- package/dist/content/examples/fps/manifest.json +30 -0
- package/dist/content/examples/fps/package.json +16 -0
- package/dist/content/examples/fps/style.ocss +31 -0
- package/dist/content/examples/fps/tests/label.scenario.json +63 -0
- package/dist/content/examples/fps/tests/load-logic.mjs +22 -0
- package/dist/content/examples/fps/tests/logic.test.mjs +60 -0
- package/dist/content/examples/fps/tests/preview.scenario.json +29 -0
- package/dist/content/examples/fps/tests/refused.scenario.json +20 -0
- package/dist/content/examples/fps/tests/render.scenario.json +96 -0
- package/dist/content/examples/fps/tests/stale.scenario.json +91 -0
- package/dist/content/examples/fps/tests/unavailable.scenario.json +111 -0
- package/dist/content/examples/fps/tsconfig.json +16 -0
- package/dist/content/examples/fps/view.ocml +11 -0
- package/dist/content/examples/media/LICENSE +21 -0
- package/dist/content/examples/media/README.md +147 -0
- package/dist/content/examples/media/listing.json +19 -0
- package/dist/content/examples/media/locales/en.json +11 -0
- package/dist/content/examples/media/locales/fr.json +11 -0
- package/dist/content/examples/media/logic.ts +191 -0
- package/dist/content/examples/media/manifest.json +35 -0
- package/dist/content/examples/media/package.json +16 -0
- package/dist/content/examples/media/style.ocss +148 -0
- package/dist/content/examples/media/tests/covers.scenario.json +144 -0
- package/dist/content/examples/media/tests/gesture.scenario.json +173 -0
- package/dist/content/examples/media/tests/load-logic.mjs +22 -0
- package/dist/content/examples/media/tests/logic.test.mjs +176 -0
- package/dist/content/examples/media/tests/marquee.scenario.json +127 -0
- package/dist/content/examples/media/tests/preview.scenario.json +52 -0
- package/dist/content/examples/media/tests/read-only.scenario.json +53 -0
- package/dist/content/examples/media/tests/refused.scenario.json +22 -0
- package/dist/content/examples/media/tests/refused.test.mjs +31 -0
- package/dist/content/examples/media/tests/render.scenario.json +136 -0
- package/dist/content/examples/media/tests/states.scenario.json +257 -0
- package/dist/content/examples/media/tests/unavailable.scenario.json +120 -0
- package/dist/content/examples/media/tsconfig.json +16 -0
- package/dist/content/examples/media/view.ocml +41 -0
- package/dist/content/examples/notes/LICENSE +21 -0
- package/dist/content/examples/notes/README.md +219 -0
- package/dist/content/examples/notes/listing.json +19 -0
- package/dist/content/examples/notes/locales/en.json +25 -0
- package/dist/content/examples/notes/locales/fr.json +25 -0
- package/dist/content/examples/notes/logic.ts +799 -0
- package/dist/content/examples/notes/manifest.json +40 -0
- package/dist/content/examples/notes/package.json +16 -0
- package/dist/content/examples/notes/style.ocss +469 -0
- package/dist/content/examples/notes/tests/checks.scenario.json +237 -0
- package/dist/content/examples/notes/tests/create.scenario.json +260 -0
- package/dist/content/examples/notes/tests/delete.scenario.json +342 -0
- package/dist/content/examples/notes/tests/drafts.scenario.json +714 -0
- package/dist/content/examples/notes/tests/editor.scenario.json +232 -0
- package/dist/content/examples/notes/tests/frame.scenario.json +93 -0
- package/dist/content/examples/notes/tests/interactive.scenario.json +344 -0
- package/dist/content/examples/notes/tests/limits.scenario.json +1351 -0
- package/dist/content/examples/notes/tests/load-logic.mjs +22 -0
- package/dist/content/examples/notes/tests/logic.test.mjs +514 -0
- package/dist/content/examples/notes/tests/preview.scenario.json +99 -0
- package/dist/content/examples/notes/tests/read-only.scenario.json +105 -0
- package/dist/content/examples/notes/tests/refused.scenario.json +33 -0
- package/dist/content/examples/notes/tests/save.scenario.json +378 -0
- package/dist/content/examples/notes/tests/states.scenario.json +640 -0
- package/dist/content/examples/notes/tests/typing.scenario.json +562 -0
- package/dist/content/examples/notes/tests/unavailable.scenario.json +246 -0
- package/dist/content/examples/notes/tsconfig.json +16 -0
- package/dist/content/examples/notes/view.ocml +154 -0
- package/dist/content/examples/performance/LICENSE +21 -0
- package/dist/content/examples/performance/README.md +134 -0
- package/dist/content/examples/performance/listing.json +19 -0
- package/dist/content/examples/performance/locales/en.json +20 -0
- package/dist/content/examples/performance/locales/fr.json +20 -0
- package/dist/content/examples/performance/logic.ts +210 -0
- package/dist/content/examples/performance/manifest.json +83 -0
- package/dist/content/examples/performance/package.json +16 -0
- package/dist/content/examples/performance/style.ocss +75 -0
- package/dist/content/examples/performance/tests/fahrenheit.scenario.json +110 -0
- package/dist/content/examples/performance/tests/horizontal.scenario.json +96 -0
- package/dist/content/examples/performance/tests/load-logic.mjs +22 -0
- package/dist/content/examples/performance/tests/logic.test.mjs +226 -0
- package/dist/content/examples/performance/tests/menu.scenario.json +170 -0
- package/dist/content/examples/performance/tests/no-fps-source.scenario.json +47 -0
- package/dist/content/examples/performance/tests/preview.scenario.json +45 -0
- package/dist/content/examples/performance/tests/refused.scenario.json +20 -0
- package/dist/content/examples/performance/tests/refused.test.mjs +19 -0
- package/dist/content/examples/performance/tests/region.scenario.json +89 -0
- package/dist/content/examples/performance/tests/render.scenario.json +112 -0
- package/dist/content/examples/performance/tests/sources.scenario.json +151 -0
- package/dist/content/examples/performance/tests/stale.scenario.json +111 -0
- package/dist/content/examples/performance/tests/telemetry-only.scenario.json +44 -0
- package/dist/content/examples/performance/tests/thresholds.scenario.json +147 -0
- package/dist/content/examples/performance/tests/waiting.scenario.json +105 -0
- package/dist/content/examples/performance/tsconfig.json +16 -0
- package/dist/content/examples/performance/view.ocml +18 -0
- package/dist/content/examples/playervox-journal/LICENSE +21 -0
- package/dist/content/examples/playervox-journal/README.md +150 -0
- package/dist/content/examples/playervox-journal/listing.json +19 -0
- package/dist/content/examples/playervox-journal/locales/en.json +25 -0
- package/dist/content/examples/playervox-journal/locales/fr.json +25 -0
- package/dist/content/examples/playervox-journal/logic.ts +556 -0
- package/dist/content/examples/playervox-journal/manifest.json +19 -0
- package/dist/content/examples/playervox-journal/package.json +16 -0
- package/dist/content/examples/playervox-journal/style.ocss +142 -0
- package/dist/content/examples/playervox-journal/tests/changes.scenario.json +482 -0
- package/dist/content/examples/playervox-journal/tests/delete.scenario.json +432 -0
- package/dist/content/examples/playervox-journal/tests/frame.scenario.json +169 -0
- package/dist/content/examples/playervox-journal/tests/load-logic.mjs +22 -0
- package/dist/content/examples/playervox-journal/tests/logic.test.mjs +349 -0
- package/dist/content/examples/playervox-journal/tests/paging.scenario.json +428 -0
- package/dist/content/examples/playervox-journal/tests/preview.scenario.json +184 -0
- package/dist/content/examples/playervox-journal/tests/read-only.scenario.json +157 -0
- package/dist/content/examples/playervox-journal/tests/refused.scenario.json +39 -0
- package/dist/content/examples/playervox-journal/tests/scale.scenario.json +286 -0
- package/dist/content/examples/playervox-journal/tests/signed-out.scenario.json +134 -0
- package/dist/content/examples/playervox-journal/tests/states.scenario.json +741 -0
- package/dist/content/examples/playervox-journal/tests/unavailable.scenario.json +183 -0
- package/dist/content/examples/playervox-journal/tsconfig.json +16 -0
- package/dist/content/examples/playervox-journal/view.ocml +52 -0
- package/dist/content/examples/playervox-rating/LICENSE +21 -0
- package/dist/content/examples/playervox-rating/README.md +166 -0
- package/dist/content/examples/playervox-rating/listing.json +19 -0
- package/dist/content/examples/playervox-rating/locales/en.json +35 -0
- package/dist/content/examples/playervox-rating/locales/fr.json +35 -0
- package/dist/content/examples/playervox-rating/logic.ts +581 -0
- package/dist/content/examples/playervox-rating/manifest.json +19 -0
- package/dist/content/examples/playervox-rating/package.json +16 -0
- package/dist/content/examples/playervox-rating/style.ocss +333 -0
- package/dist/content/examples/playervox-rating/tests/account.scenario.json +125 -0
- package/dist/content/examples/playervox-rating/tests/bounds.scenario.json +73 -0
- package/dist/content/examples/playervox-rating/tests/draft.scenario.json +199 -0
- package/dist/content/examples/playervox-rating/tests/form.scenario.json +142 -0
- package/dist/content/examples/playervox-rating/tests/load-logic.mjs +22 -0
- package/dist/content/examples/playervox-rating/tests/logic.test.mjs +346 -0
- package/dist/content/examples/playervox-rating/tests/offline.scenario.json +142 -0
- package/dist/content/examples/playervox-rating/tests/preview.scenario.json +44 -0
- package/dist/content/examples/playervox-rating/tests/publish-keyboard.scenario.json +221 -0
- package/dist/content/examples/playervox-rating/tests/publish-pointer.scenario.json +314 -0
- package/dist/content/examples/playervox-rating/tests/read-only.scenario.json +70 -0
- package/dist/content/examples/playervox-rating/tests/refused.scenario.json +45 -0
- package/dist/content/examples/playervox-rating/tests/states.scenario.json +362 -0
- package/dist/content/examples/playervox-rating/tsconfig.json +16 -0
- package/dist/content/examples/playervox-rating/view.ocml +62 -0
- package/dist/content/examples/playervox-reviews/LICENSE +21 -0
- package/dist/content/examples/playervox-reviews/README.md +194 -0
- package/dist/content/examples/playervox-reviews/listing.json +19 -0
- package/dist/content/examples/playervox-reviews/locales/en.json +32 -0
- package/dist/content/examples/playervox-reviews/locales/fr.json +32 -0
- package/dist/content/examples/playervox-reviews/logic.ts +822 -0
- package/dist/content/examples/playervox-reviews/manifest.json +30 -0
- package/dist/content/examples/playervox-reviews/package.json +16 -0
- package/dist/content/examples/playervox-reviews/style.ocss +260 -0
- package/dist/content/examples/playervox-reviews/tests/account.scenario.json +249 -0
- package/dist/content/examples/playervox-reviews/tests/bounds.scenario.json +336 -0
- package/dist/content/examples/playervox-reviews/tests/changes.scenario.json +515 -0
- package/dist/content/examples/playervox-reviews/tests/filter.scenario.json +400 -0
- package/dist/content/examples/playervox-reviews/tests/frame.scenario.json +185 -0
- package/dist/content/examples/playervox-reviews/tests/keyboard.scenario.json +188 -0
- package/dist/content/examples/playervox-reviews/tests/load-logic.mjs +22 -0
- package/dist/content/examples/playervox-reviews/tests/logic.test.mjs +559 -0
- package/dist/content/examples/playervox-reviews/tests/offline-start.scenario.json +152 -0
- package/dist/content/examples/playervox-reviews/tests/offline.scenario.json +311 -0
- package/dist/content/examples/playervox-reviews/tests/paging.scenario.json +497 -0
- package/dist/content/examples/playervox-reviews/tests/preview.scenario.json +286 -0
- package/dist/content/examples/playervox-reviews/tests/reading.scenario.json +591 -0
- package/dist/content/examples/playervox-reviews/tests/refused.scenario.json +54 -0
- package/dist/content/examples/playervox-reviews/tests/scale.scenario.json +303 -0
- package/dist/content/examples/playervox-reviews/tests/states.scenario.json +700 -0
- package/dist/content/examples/playervox-reviews/tests/unavailable.scenario.json +192 -0
- package/dist/content/examples/playervox-reviews/tsconfig.json +16 -0
- package/dist/content/examples/playervox-reviews/view.ocml +110 -0
- package/dist/content/examples/playervox-score/LICENSE +21 -0
- package/dist/content/examples/playervox-score/README.md +131 -0
- package/dist/content/examples/playervox-score/listing.json +19 -0
- package/dist/content/examples/playervox-score/locales/en.json +23 -0
- package/dist/content/examples/playervox-score/locales/fr.json +23 -0
- package/dist/content/examples/playervox-score/logic.ts +430 -0
- package/dist/content/examples/playervox-score/manifest.json +47 -0
- package/dist/content/examples/playervox-score/package.json +16 -0
- package/dist/content/examples/playervox-score/style.ocss +247 -0
- package/dist/content/examples/playervox-score/tests/grades.scenario.json +279 -0
- package/dist/content/examples/playervox-score/tests/load-logic.mjs +22 -0
- package/dist/content/examples/playervox-score/tests/logic.test.mjs +229 -0
- package/dist/content/examples/playervox-score/tests/options.scenario.json +302 -0
- package/dist/content/examples/playervox-score/tests/preview.scenario.json +68 -0
- package/dist/content/examples/playervox-score/tests/pulse.scenario.json +157 -0
- package/dist/content/examples/playervox-score/tests/refused.scenario.json +21 -0
- package/dist/content/examples/playervox-score/tests/signed-out.scenario.json +46 -0
- package/dist/content/examples/playervox-score/tests/states.scenario.json +450 -0
- package/dist/content/examples/playervox-score/tests/unavailable.scenario.json +84 -0
- package/dist/content/examples/playervox-score/tsconfig.json +16 -0
- package/dist/content/examples/playervox-score/view.ocml +51 -0
- package/dist/content/examples/session/LICENSE +21 -0
- package/dist/content/examples/session/README.md +57 -0
- package/dist/content/examples/session/listing.json +19 -0
- package/dist/content/examples/session/locales/en.json +3 -0
- package/dist/content/examples/session/locales/fr.json +3 -0
- package/dist/content/examples/session/logic.ts +26 -0
- package/dist/content/examples/session/manifest.json +19 -0
- package/dist/content/examples/session/package.json +16 -0
- package/dist/content/examples/session/style.ocss +16 -0
- package/dist/content/examples/session/tests/hidden.scenario.json +45 -0
- package/dist/content/examples/session/tests/load-logic.mjs +22 -0
- package/dist/content/examples/session/tests/logic.test.mjs +37 -0
- package/dist/content/examples/session/tests/preview.scenario.json +28 -0
- package/dist/content/examples/session/tests/refused.scenario.json +20 -0
- package/dist/content/examples/session/tests/refused.test.mjs +16 -0
- package/dist/content/examples/session/tests/render.scenario.json +95 -0
- package/dist/content/examples/session/tests/ticks.scenario.json +139 -0
- package/dist/content/examples/session/tests/unknown.scenario.json +37 -0
- package/dist/content/examples/session/tsconfig.json +16 -0
- package/dist/content/examples/session/view.ocml +11 -0
- package/dist/content/examples/stopwatch/LICENSE +21 -0
- package/dist/content/examples/stopwatch/README.md +99 -0
- package/dist/content/examples/stopwatch/listing.json +19 -0
- package/dist/content/examples/stopwatch/locales/en.json +8 -0
- package/dist/content/examples/stopwatch/locales/fr.json +8 -0
- package/dist/content/examples/stopwatch/logic.ts +93 -0
- package/dist/content/examples/stopwatch/manifest.json +19 -0
- package/dist/content/examples/stopwatch/package.json +16 -0
- package/dist/content/examples/stopwatch/style.ocss +54 -0
- package/dist/content/examples/stopwatch/tests/errors.scenario.json +121 -0
- package/dist/content/examples/stopwatch/tests/gesture.scenario.json +154 -0
- package/dist/content/examples/stopwatch/tests/hidden.scenario.json +57 -0
- package/dist/content/examples/stopwatch/tests/hundredths.scenario.json +173 -0
- package/dist/content/examples/stopwatch/tests/load-logic.mjs +22 -0
- package/dist/content/examples/stopwatch/tests/logic.test.mjs +99 -0
- package/dist/content/examples/stopwatch/tests/preview.scenario.json +36 -0
- package/dist/content/examples/stopwatch/tests/read-only.scenario.json +42 -0
- package/dist/content/examples/stopwatch/tests/read-only.test.mjs +18 -0
- package/dist/content/examples/stopwatch/tests/refused.scenario.json +22 -0
- package/dist/content/examples/stopwatch/tests/refused.test.mjs +18 -0
- package/dist/content/examples/stopwatch/tests/render.scenario.json +105 -0
- package/dist/content/examples/stopwatch/tests/states.scenario.json +246 -0
- package/dist/content/examples/stopwatch/tests/unknown.scenario.json +40 -0
- package/dist/content/examples/stopwatch/tsconfig.json +16 -0
- package/dist/content/examples/stopwatch/view.ocml +29 -0
- package/dist/content/examples/twitch-chat/LICENSE +21 -0
- package/dist/content/examples/twitch-chat/README.md +283 -0
- package/dist/content/examples/twitch-chat/listing.json +19 -0
- package/dist/content/examples/twitch-chat/locales/en.json +52 -0
- package/dist/content/examples/twitch-chat/locales/fr.json +52 -0
- package/dist/content/examples/twitch-chat/logic.ts +887 -0
- package/dist/content/examples/twitch-chat/manifest.json +33 -0
- package/dist/content/examples/twitch-chat/package.json +16 -0
- package/dist/content/examples/twitch-chat/style.ocss +544 -0
- package/dist/content/examples/twitch-chat/tests/account.scenario.json +325 -0
- package/dist/content/examples/twitch-chat/tests/burst.scenario.json +1866 -0
- package/dist/content/examples/twitch-chat/tests/channel-refused.scenario.json +372 -0
- package/dist/content/examples/twitch-chat/tests/channel.scenario.json +480 -0
- package/dist/content/examples/twitch-chat/tests/draft.scenario.json +279 -0
- package/dist/content/examples/twitch-chat/tests/fade.scenario.json +269 -0
- package/dist/content/examples/twitch-chat/tests/failures.scenario.json +420 -0
- package/dist/content/examples/twitch-chat/tests/favorites.scenario.json +376 -0
- package/dist/content/examples/twitch-chat/tests/frame.scenario.json +152 -0
- package/dist/content/examples/twitch-chat/tests/lifetime.scenario.json +186 -0
- package/dist/content/examples/twitch-chat/tests/load-logic.mjs +22 -0
- package/dist/content/examples/twitch-chat/tests/logic.test.mjs +1053 -0
- package/dist/content/examples/twitch-chat/tests/passive.scenario.json +536 -0
- package/dist/content/examples/twitch-chat/tests/preview.scenario.json +147 -0
- package/dist/content/examples/twitch-chat/tests/read-only.scenario.json +202 -0
- package/dist/content/examples/twitch-chat/tests/read-only.test.mjs +63 -0
- package/dist/content/examples/twitch-chat/tests/refused.scenario.json +65 -0
- package/dist/content/examples/twitch-chat/tests/refused.test.mjs +43 -0
- package/dist/content/examples/twitch-chat/tests/render.scenario.json +347 -0
- package/dist/content/examples/twitch-chat/tests/reply.scenario.json +384 -0
- package/dist/content/examples/twitch-chat/tests/send-refused.scenario.json +383 -0
- package/dist/content/examples/twitch-chat/tests/send.scenario.json +300 -0
- package/dist/content/examples/twitch-chat/tests/states.scenario.json +455 -0
- package/dist/content/examples/twitch-chat/tests/unavailable.scenario.json +256 -0
- package/dist/content/examples/twitch-chat/tests/unread.scenario.json +997 -0
- package/dist/content/examples/twitch-chat/tsconfig.json +16 -0
- package/dist/content/examples/twitch-chat/view.ocml +141 -0
- package/dist/content/examples/warframe-market/LICENSE +21 -0
- package/dist/content/examples/warframe-market/README.md +176 -0
- package/dist/content/examples/warframe-market/listing.json +19 -0
- package/dist/content/examples/warframe-market/locales/en.json +44 -0
- package/dist/content/examples/warframe-market/locales/fr.json +44 -0
- package/dist/content/examples/warframe-market/logic.ts +1265 -0
- package/dist/content/examples/warframe-market/manifest.json +92 -0
- package/dist/content/examples/warframe-market/package.json +16 -0
- package/dist/content/examples/warframe-market/style.ocss +422 -0
- package/dist/content/examples/warframe-market/tests/bounds.scenario.json +60 -0
- package/dist/content/examples/warframe-market/tests/cached.scenario.json +70 -0
- package/dist/content/examples/warframe-market/tests/detail.scenario.json +251 -0
- package/dist/content/examples/warframe-market/tests/errors.scenario.json +105 -0
- package/dist/content/examples/warframe-market/tests/fixtures.json +295 -0
- package/dist/content/examples/warframe-market/tests/load-logic.mjs +22 -0
- package/dist/content/examples/warframe-market/tests/logic.test.mjs +505 -0
- package/dist/content/examples/warframe-market/tests/no-clipboard.scenario.json +104 -0
- package/dist/content/examples/warframe-market/tests/passive.scenario.json +87 -0
- package/dist/content/examples/warframe-market/tests/preview.scenario.json +146 -0
- package/dist/content/examples/warframe-market/tests/refresh.scenario.json +56 -0
- package/dist/content/examples/warframe-market/tests/refused.scenario.json +74 -0
- package/dist/content/examples/warframe-market/tests/render.scenario.json +210 -0
- package/dist/content/examples/warframe-market/tests/search.scenario.json +189 -0
- package/dist/content/examples/warframe-market/tests/unavailable.scenario.json +54 -0
- package/dist/content/examples/warframe-market/tsconfig.json +16 -0
- package/dist/content/examples/warframe-market/view.ocml +116 -0
- package/dist/content/examples/weather/LICENSE +20 -0
- package/dist/content/examples/weather/listing.json +10 -0
- package/dist/content/examples/weather/locales/en.json +9 -0
- package/dist/content/examples/weather/locales/fr.json +9 -0
- package/dist/content/examples/weather/logic.ts +62 -0
- package/dist/content/examples/weather/manifest.json +51 -0
- package/dist/content/examples/weather/package.json +15 -0
- package/dist/content/examples/weather/style.ocss +29 -0
- package/dist/content/examples/weather/tsconfig.json +16 -0
- package/dist/content/examples/weather/view.ocml +12 -0
- package/dist/content/index.json +3601 -0
- package/dist/content/reference/errors.json +1712 -0
- package/dist/content/reference/limits.json +1154 -0
- package/dist/content/reference/manifest.md +223 -0
- package/dist/content/reference/permissions.json +413 -0
- package/dist/content/templates/blank/locales/en.json +3 -0
- package/dist/content/templates/blank/locales/fr.json +3 -0
- package/dist/content/templates/blank/logic.ts +7 -0
- package/dist/content/templates/blank/manifest.json +16 -0
- package/dist/content/templates/blank/style.ocss +10 -0
- package/dist/content/templates/blank/tests/example.scenario.json +10 -0
- package/dist/content/templates/blank/view.ocml +6 -0
- package/dist/content/templates/chart/locales/en.json +3 -0
- package/dist/content/templates/chart/locales/fr.json +3 -0
- package/dist/content/templates/chart/logic.ts +27 -0
- package/dist/content/templates/chart/manifest.json +16 -0
- package/dist/content/templates/chart/style.ocss +27 -0
- package/dist/content/templates/chart/tests/example.scenario.json +10 -0
- package/dist/content/templates/chart/view.ocml +10 -0
- package/dist/content/templates/counter/locales/en.json +4 -0
- package/dist/content/templates/counter/locales/fr.json +4 -0
- package/dist/content/templates/counter/logic.ts +20 -0
- package/dist/content/templates/counter/manifest.json +16 -0
- package/dist/content/templates/counter/style.ocss +26 -0
- package/dist/content/templates/counter/tests/example.scenario.json +11 -0
- package/dist/content/templates/counter/view.ocml +13 -0
- package/dist/content/templates/list/locales/en.json +8 -0
- package/dist/content/templates/list/locales/fr.json +8 -0
- package/dist/content/templates/list/logic.ts +35 -0
- package/dist/content/templates/list/manifest.json +16 -0
- package/dist/content/templates/list/style.ocss +42 -0
- package/dist/content/templates/list/tests/example.scenario.json +10 -0
- package/dist/content/templates/list/view.ocml +17 -0
- package/dist/content/templates/shared/LICENSE +20 -0
- package/dist/content/templates/shared/package.json +14 -0
- package/dist/content/templates/shared/tsconfig.json +16 -0
- package/dist/content.js +68 -0
- package/dist/env.js +156 -0
- package/dist/fingerprint.js +32 -0
- package/dist/ids.js +27 -0
- package/dist/index.js +82 -0
- package/dist/knowledge.js +222 -0
- package/dist/npm.js +149 -0
- package/dist/prompts.js +47 -0
- package/dist/resources.js +82 -0
- package/dist/run.js +120 -0
- package/dist/server.js +43 -0
- package/dist/session.js +205 -0
- package/dist/sources.js +218 -0
- package/dist/text.js +80 -0
- package/dist/texts.js +44 -0
- package/dist/tools/audit.js +105 -0
- package/dist/tools/build.js +453 -0
- package/dist/tools/common.js +122 -0
- package/dist/tools/docs.js +196 -0
- package/dist/tools/preview.js +87 -0
- package/dist/tools/project.js +178 -0
- package/dist/tools/setup.js +146 -0
- package/dist/tools/submission.js +369 -0
- package/dist/version.js +3 -0
- package/npm-shrinkwrap.json +402 -0
- package/package.json +50 -4
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
/* The built-in's layout at 100 %: a 24 px header (title, PlayerVox mark),
|
|
2
|
+
the game's name, a 64 px row (badge, score and caption, or a status),
|
|
3
|
+
and in Interactive mode the form: three 24 px criterion rows, the
|
|
4
|
+
review, the button and its hint. The wrapper draws the panel; the
|
|
5
|
+
content keeps the built-in's 10 × 8 px margin. The width is the user's;
|
|
6
|
+
the height fits the content. */
|
|
7
|
+
.rating {
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
padding: 8px 10px;
|
|
10
|
+
width: 100%;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/* OverCrow draws its offline notice over the last 22 px of the content. */
|
|
14
|
+
.offline {
|
|
15
|
+
padding-bottom: 30px;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.header {
|
|
19
|
+
flex-direction: row;
|
|
20
|
+
align-items: start;
|
|
21
|
+
column-gap: 6px;
|
|
22
|
+
height: 24px;
|
|
23
|
+
flex-shrink: 0;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.title {
|
|
27
|
+
flex-grow: 1;
|
|
28
|
+
flex-shrink: 1;
|
|
29
|
+
min-width: 0px;
|
|
30
|
+
font-family: var(--font-ui);
|
|
31
|
+
font-size: 12px;
|
|
32
|
+
font-weight: 700;
|
|
33
|
+
line-height: 16px;
|
|
34
|
+
color: var(--color-text);
|
|
35
|
+
white-space: nowrap;
|
|
36
|
+
overflow: hidden;
|
|
37
|
+
text-overflow: ellipsis;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.mark {
|
|
41
|
+
width: 16px;
|
|
42
|
+
height: 18px;
|
|
43
|
+
margin-left: auto;
|
|
44
|
+
flex-shrink: 0;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.game {
|
|
48
|
+
height: 18px;
|
|
49
|
+
flex-shrink: 0;
|
|
50
|
+
font-family: var(--font-ui);
|
|
51
|
+
font-size: 12px;
|
|
52
|
+
line-height: 16px;
|
|
53
|
+
color: var(--color-text-secondary);
|
|
54
|
+
white-space: nowrap;
|
|
55
|
+
overflow: hidden;
|
|
56
|
+
text-overflow: ellipsis;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.summary {
|
|
60
|
+
flex-direction: row;
|
|
61
|
+
column-gap: 14px;
|
|
62
|
+
height: 64px;
|
|
63
|
+
flex-shrink: 0;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.slot {
|
|
67
|
+
width: 64px;
|
|
68
|
+
height: 64px;
|
|
69
|
+
flex-shrink: 0;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.side {
|
|
73
|
+
flex-direction: column;
|
|
74
|
+
flex-grow: 1;
|
|
75
|
+
flex-shrink: 1;
|
|
76
|
+
min-width: 0px;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.value {
|
|
80
|
+
margin-top: 8px;
|
|
81
|
+
font-family: var(--font-mono);
|
|
82
|
+
font-size: 25px;
|
|
83
|
+
font-weight: 700;
|
|
84
|
+
line-height: 30px;
|
|
85
|
+
color: var(--color-text);
|
|
86
|
+
white-space: nowrap;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.max {
|
|
90
|
+
font-family: var(--font-mono);
|
|
91
|
+
font-size: 12px;
|
|
92
|
+
font-weight: 400;
|
|
93
|
+
color: var(--color-text-muted);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.caption {
|
|
97
|
+
margin-top: 6px;
|
|
98
|
+
font-family: var(--font-ui);
|
|
99
|
+
font-size: var(--font-size-small);
|
|
100
|
+
line-height: 14px;
|
|
101
|
+
color: var(--color-text-muted);
|
|
102
|
+
white-space: nowrap;
|
|
103
|
+
overflow: hidden;
|
|
104
|
+
text-overflow: ellipsis;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.status {
|
|
108
|
+
margin-top: 18px;
|
|
109
|
+
font-family: var(--font-ui);
|
|
110
|
+
font-size: 12px;
|
|
111
|
+
line-height: 16px;
|
|
112
|
+
color: var(--color-text);
|
|
113
|
+
white-space: nowrap;
|
|
114
|
+
overflow: hidden;
|
|
115
|
+
text-overflow: ellipsis;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.hint {
|
|
119
|
+
margin-top: 4px;
|
|
120
|
+
font-family: var(--font-ui);
|
|
121
|
+
font-size: var(--font-size-small);
|
|
122
|
+
line-height: 14px;
|
|
123
|
+
color: var(--color-text-muted);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/* The form: shown in Interactive mode only. Hidden, it stays in the view
|
|
127
|
+
and OverCrow keeps the draft its controls hold. */
|
|
128
|
+
.form {
|
|
129
|
+
flex-direction: column;
|
|
130
|
+
margin-top: 8px;
|
|
131
|
+
flex-shrink: 0;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.hidden {
|
|
135
|
+
display: none;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.notice {
|
|
139
|
+
margin-bottom: 6px;
|
|
140
|
+
font-family: var(--font-ui);
|
|
141
|
+
font-size: var(--font-size-small);
|
|
142
|
+
line-height: 14px;
|
|
143
|
+
color: var(--color-warning);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.criterion {
|
|
147
|
+
flex-direction: row;
|
|
148
|
+
align-items: center;
|
|
149
|
+
column-gap: 8px;
|
|
150
|
+
height: 24px;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.criterion-name {
|
|
154
|
+
width: 80px;
|
|
155
|
+
flex-shrink: 0;
|
|
156
|
+
font-family: var(--font-ui);
|
|
157
|
+
font-size: 12px;
|
|
158
|
+
line-height: 16px;
|
|
159
|
+
color: var(--color-text);
|
|
160
|
+
white-space: nowrap;
|
|
161
|
+
overflow: hidden;
|
|
162
|
+
text-overflow: ellipsis;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.criterion-slider {
|
|
166
|
+
flex-grow: 1;
|
|
167
|
+
flex-shrink: 1;
|
|
168
|
+
min-width: 30px;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.criterion-value {
|
|
172
|
+
width: 30px;
|
|
173
|
+
flex-shrink: 0;
|
|
174
|
+
font-family: var(--font-mono);
|
|
175
|
+
font-size: 12px;
|
|
176
|
+
line-height: 16px;
|
|
177
|
+
text-align: end;
|
|
178
|
+
color: var(--color-text);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.eyebrow {
|
|
182
|
+
margin-top: 8px;
|
|
183
|
+
margin-bottom: 4px;
|
|
184
|
+
font-family: var(--font-ui);
|
|
185
|
+
font-size: var(--font-size-caption);
|
|
186
|
+
line-height: 14px;
|
|
187
|
+
letter-spacing: 0.6px;
|
|
188
|
+
color: var(--color-text-muted);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.review {
|
|
192
|
+
width: 100%;
|
|
193
|
+
padding: 6px 8px;
|
|
194
|
+
border-radius: var(--radius-sm);
|
|
195
|
+
border: 1px solid var(--color-border);
|
|
196
|
+
background: var(--color-surface-field);
|
|
197
|
+
font-family: var(--font-ui);
|
|
198
|
+
font-size: 12px;
|
|
199
|
+
line-height: 16px;
|
|
200
|
+
color: var(--color-text);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.review:focus {
|
|
204
|
+
border: 1px solid var(--color-border-strong);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.error {
|
|
208
|
+
margin-top: 6px;
|
|
209
|
+
font-family: var(--font-ui);
|
|
210
|
+
font-size: var(--font-size-small);
|
|
211
|
+
line-height: 14px;
|
|
212
|
+
color: var(--color-warning);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.publish {
|
|
216
|
+
margin-top: 8px;
|
|
217
|
+
height: var(--control-height);
|
|
218
|
+
padding: 0px 12px;
|
|
219
|
+
justify-content: center;
|
|
220
|
+
align-items: center;
|
|
221
|
+
align-self: start;
|
|
222
|
+
border-radius: var(--radius-md);
|
|
223
|
+
background: var(--color-surface-raised);
|
|
224
|
+
border: 1px solid var(--color-border-strong);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
.publish:hover,
|
|
228
|
+
.publish:focus {
|
|
229
|
+
background: var(--color-surface-hover);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.publish-label {
|
|
233
|
+
font-family: var(--font-ui);
|
|
234
|
+
font-size: var(--font-size-button);
|
|
235
|
+
font-weight: 700;
|
|
236
|
+
line-height: 16px;
|
|
237
|
+
color: var(--color-text);
|
|
238
|
+
white-space: nowrap;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
.publish:disabled .publish-label {
|
|
242
|
+
color: var(--color-text-muted);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.publish-hint {
|
|
246
|
+
margin-top: 6px;
|
|
247
|
+
font-family: var(--font-ui);
|
|
248
|
+
font-size: var(--font-size-small);
|
|
249
|
+
line-height: 14px;
|
|
250
|
+
color: var(--color-text-muted);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/* <shared:playervox-badge/badge.ocss> */
|
|
254
|
+
/* The PlayerVox grade badge, shared by the Score and Rating built-ins.
|
|
255
|
+
scripts/sync-shared-widgets.mjs copies this file, as is, into their
|
|
256
|
+
style.ocss between the markers `<shared:playervox-badge/badge.ocss>`;
|
|
257
|
+
edit it here, never in a copy.
|
|
258
|
+
|
|
259
|
+
The badge canvas is 76 px square around a 56 px badge: the rotation and
|
|
260
|
+
the S+ glow reach past the badge, so the canvas overlaps its 64 px slot
|
|
261
|
+
by 6 px on each side. */
|
|
262
|
+
.badge {
|
|
263
|
+
width: 76px;
|
|
264
|
+
height: 76px;
|
|
265
|
+
margin: -6px;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/* One pulse when a score shows or changes (badge.ts `nextPulse`): the
|
|
269
|
+
host animates the transform, so the widget sends one class change and
|
|
270
|
+
no frame is drawn once it ends or while the widget is hidden. Two
|
|
271
|
+
identical keyframes let the next change restart it. */
|
|
272
|
+
@keyframes badge-pulse-a {
|
|
273
|
+
from {
|
|
274
|
+
transform: scale(1);
|
|
275
|
+
}
|
|
276
|
+
40% {
|
|
277
|
+
transform: scale(1.08);
|
|
278
|
+
}
|
|
279
|
+
to {
|
|
280
|
+
transform: scale(1);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
@keyframes badge-pulse-b {
|
|
285
|
+
from {
|
|
286
|
+
transform: scale(1);
|
|
287
|
+
}
|
|
288
|
+
40% {
|
|
289
|
+
transform: scale(1.08);
|
|
290
|
+
}
|
|
291
|
+
to {
|
|
292
|
+
transform: scale(1);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
.badge.pulse-a {
|
|
297
|
+
animation: badge-pulse-a 600ms ease-out 1;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.badge.pulse-b {
|
|
301
|
+
animation: badge-pulse-b 600ms ease-out 1;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
/* Grade colours (badge.ts `GRADE_COLORS`), for text and bars. */
|
|
305
|
+
.grade-s-plus {
|
|
306
|
+
color: #9ae600;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
.grade-s {
|
|
310
|
+
color: #7ccf00;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
.grade-a {
|
|
314
|
+
color: #00d3f3;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
.grade-b {
|
|
318
|
+
color: #fdc700;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
.grade-c {
|
|
322
|
+
color: #fe9a00;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
.grade-d {
|
|
326
|
+
color: #e7000b;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
.grade-f,
|
|
330
|
+
.grade-none {
|
|
331
|
+
color: #52525c;
|
|
332
|
+
}
|
|
333
|
+
/* </shared:playervox-badge/badge.ocss> */
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
{
|
|
2
|
+
"scenarioVersion": 1,
|
|
3
|
+
"name": "account",
|
|
4
|
+
"description": "Without a PlayerVox session the widget shows nothing of its own: OverCrow covers it with its account panel (link or create an account, the browser step, an expired session), in both modes, and no input reaches the widget.",
|
|
5
|
+
"host": {
|
|
6
|
+
"mode": "interactive",
|
|
7
|
+
"frame": true,
|
|
8
|
+
"accounts": {
|
|
9
|
+
"playervox": "disconnected"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"steps": [
|
|
13
|
+
{
|
|
14
|
+
"expect": {
|
|
15
|
+
"state": "running",
|
|
16
|
+
"calls": [
|
|
17
|
+
{
|
|
18
|
+
"service": "playervox.rating.subscribe"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"noText": [
|
|
22
|
+
"Portal 2"
|
|
23
|
+
],
|
|
24
|
+
"image": "signed-out-interactive"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"pointer": {
|
|
29
|
+
"click": {
|
|
30
|
+
"at": [
|
|
31
|
+
175,
|
|
32
|
+
60
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"expect": {
|
|
39
|
+
"intents": []
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"host": {
|
|
44
|
+
"mode": "passive"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"expect": {
|
|
49
|
+
"image": "signed-out-passive"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"host": {
|
|
54
|
+
"mode": "interactive",
|
|
55
|
+
"accounts": {
|
|
56
|
+
"playervox": "pending"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"expect": {
|
|
62
|
+
"image": "pending"
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"host": {
|
|
67
|
+
"accounts": {
|
|
68
|
+
"playervox": "expired"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"expect": {
|
|
74
|
+
"image": "expired"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"host": {
|
|
79
|
+
"locale": "fr",
|
|
80
|
+
"theme": "light"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"expect": {
|
|
85
|
+
"image": "expired-light-fr"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"host": {
|
|
90
|
+
"accounts": {
|
|
91
|
+
"playervox": "connected"
|
|
92
|
+
},
|
|
93
|
+
"locale": "en",
|
|
94
|
+
"theme": "dark"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"publish": {
|
|
99
|
+
"service": "playervox.rating.subscribe",
|
|
100
|
+
"value": {
|
|
101
|
+
"state": "ready",
|
|
102
|
+
"name": "Portal 2",
|
|
103
|
+
"offline": false,
|
|
104
|
+
"rating": {
|
|
105
|
+
"gameplay": 96,
|
|
106
|
+
"art": 88,
|
|
107
|
+
"tech": 94,
|
|
108
|
+
"review": "Great.",
|
|
109
|
+
"publishedAt": null,
|
|
110
|
+
"offsetMinutes": null
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"expect": {
|
|
117
|
+
"text": [
|
|
118
|
+
"Portal 2",
|
|
119
|
+
"Update my rating"
|
|
120
|
+
],
|
|
121
|
+
"image": "connected"
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
]
|
|
125
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"scenarioVersion": 1,
|
|
3
|
+
"name": "bounds",
|
|
4
|
+
"description": "A long game name stays on one line; the review is bounded at 2000 characters by OverCrow's field, whatever is typed, and the submission carries exactly that text.",
|
|
5
|
+
"host": {
|
|
6
|
+
"mode": "interactive"
|
|
7
|
+
},
|
|
8
|
+
"fixtures": {
|
|
9
|
+
"subscriptions": {
|
|
10
|
+
"playervox.rating.subscribe": {
|
|
11
|
+
"state": "ready",
|
|
12
|
+
"name": "An Unreasonably Long Game Title: The Definitive Remastered Collector's Edition",
|
|
13
|
+
"offline": false,
|
|
14
|
+
"rating": null
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"intents": {
|
|
18
|
+
"playervox.rating.publish": [
|
|
19
|
+
"accepted"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"steps": [
|
|
24
|
+
{
|
|
25
|
+
"expect": {
|
|
26
|
+
"text": [
|
|
27
|
+
"An Unreasonably Long Game Title: The Definitive Remastered Collector's Edition"
|
|
28
|
+
],
|
|
29
|
+
"image": "long-name"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"pointer": {
|
|
34
|
+
"click": {
|
|
35
|
+
"label": "Review, optional"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"text": "A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review t"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"text": "A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review t"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"text": "A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review t"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"pointer": {
|
|
50
|
+
"click": {
|
|
51
|
+
"text": "Publish my rating"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"expect": {
|
|
57
|
+
"intents": [
|
|
58
|
+
{
|
|
59
|
+
"intent": "playervox.rating.publish",
|
|
60
|
+
"fields": {
|
|
61
|
+
"gameplay": 50,
|
|
62
|
+
"art": 50,
|
|
63
|
+
"tech": 50,
|
|
64
|
+
"review": "A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review tA review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review that goes on and on. A review t"
|
|
65
|
+
},
|
|
66
|
+
"outcome": "accepted"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"image": "long-review"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
}
|