tmg-media-player 0.0.81 → 0.0.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-BMSS5TD7.js → chunk-2AW56J53.js} +3 -3
- package/dist/{chunk-MFKRKAW6.js → chunk-3ZV6B23A.js} +26 -26
- package/dist/{chunk-R66CPIRC.js → chunk-56XJDHSF.js} +2 -2
- package/dist/{chunk-HAW2LBV6.js → chunk-5R4SZUEB.js} +2 -2
- package/dist/{chunk-WL7MYQDW.js → chunk-6RHVWP4N.js} +2 -1
- package/dist/{chunk-WL7MYQDW.js.map → chunk-6RHVWP4N.js.map} +1 -1
- package/dist/{chunk-SYWHGP36.js → chunk-7DIMIOBU.js} +4 -4
- package/dist/{chunk-IHRSHSUW.js → chunk-7FKNMM7R.js} +2 -2
- package/dist/{chunk-A65IVJRA.js → chunk-DSITGBUZ.js} +85 -85
- package/dist/{chunk-AIQZLUR7.js → chunk-ET3QJ7G2.js} +2 -2
- package/dist/{chunk-H2RY2JCK.js → chunk-JAHHONGY.js} +10 -10
- package/dist/{chunk-3RN2FNCF.js → chunk-JP5OIJZ3.js} +7 -7
- package/dist/{chunk-CLXO4GWQ.js → chunk-K5AK6EC6.js} +5 -5
- package/dist/{chunk-VISJ3RIN.js → chunk-NEM7C4ZO.js} +2 -2
- package/dist/{chunk-FEQ3KO6E.js → chunk-NFZTXMJM.js} +2 -6
- package/dist/chunk-NFZTXMJM.js.map +1 -0
- package/dist/{chunk-M44LUF3M.js → chunk-NRHAAIND.js} +71 -71
- package/dist/{chunk-U33E6RBT.js → chunk-OIAQ4QON.js} +19 -19
- package/dist/{chunk-TOVCRTK2.js → chunk-S62U5MZT.js} +2 -2
- package/dist/{chunk-HHXBTXVL.js → chunk-THZDSCE4.js} +5 -5
- package/dist/{chunk-UXCCQXAV.js → chunk-TLPMOBIP.js} +2 -2
- package/dist/{chunk-FQKVSKPW.js → chunk-TZU52TJX.js} +2 -2
- package/dist/{chunk-LQWM2BZZ.js → chunk-U6ASM7L3.js} +4 -4
- package/dist/{chunk-W75LK7RH.js → chunk-ULDPJ3BK.js} +2 -2
- package/dist/{chunk-4NODVJZX.js → chunk-VQMODPB3.js} +41 -41
- package/dist/{chunk-KMQYF5HM.js → chunk-X3AUCLQ4.js} +5 -5
- package/dist/{chunk-BGWYN7S6.js → chunk-XOWBSXMV.js} +34 -34
- package/dist/{chunk-PZQQV5OI.js → chunk-Z4SSJVAP.js} +8 -8
- package/dist/{chunk-33YUW7BD.js → chunk-ZKOUPHFX.js} +2 -2
- package/dist/{chunk-3S6XR5M3.js → chunk-ZZTPWXML.js} +5 -5
- package/dist/components/controls/fullscreenOrientation.js +2 -2
- package/dist/components/controls/timeline/index.js +3 -3
- package/dist/components/icons/z-register.js +9 -9
- package/dist/components/notifiers/z-register.js +3 -3
- package/dist/components/z-register.js +7 -7
- package/dist/core/controller.js +2 -2
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.js +3 -3
- package/dist/init.js +3 -3
- package/dist/plugs/menus/main/actions.js +2 -2
- package/dist/plugs/menus/settings/auto.js +2 -2
- package/dist/plugs/menus/settings/frame.js +2 -2
- package/dist/plugs/menus/settings/modes.js +2 -2
- package/dist/plugs/menus/settings/sleepTimer.js +2 -2
- package/dist/plugs/menus/settings/toasts.js +2 -2
- package/dist/plugs/menus/settings/voice.js +2 -2
- package/dist/plugs/menus/z-register.js +16 -16
- package/dist/plugs/settings/auto/index.js +2 -2
- package/dist/plugs/settings/captions/index.js +3 -3
- package/dist/plugs/settings/gesture/index.js +2 -2
- package/dist/plugs/settings/gesture/touch.js +2 -2
- package/dist/plugs/settings/gesture/wheel.js +2 -2
- package/dist/plugs/settings/modes/airplay.js +4 -4
- package/dist/plugs/settings/modes/cast.js +4 -4
- package/dist/plugs/settings/modes/fullscreen.js +3 -3
- package/dist/plugs/settings/modes/index.js +3 -3
- package/dist/plugs/settings/modes/miniplayer.js +3 -3
- package/dist/plugs/settings/modes/pictureInPicture.js +3 -3
- package/dist/plugs/settings/modes/theater.js +3 -3
- package/dist/plugs/settings/panel/index.cjs +1 -5
- package/dist/plugs/settings/panel/index.cjs.map +1 -1
- package/dist/plugs/settings/panel/index.js +2 -2
- package/dist/plugs/settings/panel/menu/index.cjs +1 -5
- package/dist/plugs/settings/panel/menu/index.cjs.map +1 -1
- package/dist/plugs/settings/panel/menu/index.js +1 -1
- package/dist/plugs/settings/timeTravel/index.js +3 -3
- package/dist/plugs/settings/voice/ai.cjs +1 -0
- package/dist/plugs/settings/voice/ai.cjs.map +1 -1
- package/dist/plugs/settings/voice/ai.js +5 -5
- package/dist/plugs/settings/voice/build.cjs +1 -0
- package/dist/plugs/settings/voice/build.cjs.map +1 -1
- package/dist/plugs/settings/voice/build.js +2 -2
- package/dist/plugs/settings/voice/index.cjs +1 -0
- package/dist/plugs/settings/voice/index.cjs.map +1 -1
- package/dist/plugs/settings/voice/index.js +5 -5
- package/dist/plugs/settings/voice/prompt.cjs +1 -0
- package/dist/plugs/settings/voice/prompt.cjs.map +1 -1
- package/dist/plugs/settings/voice/prompt.js +1 -1
- package/dist/plugs/settings/volume/index.js +3 -3
- package/dist/plugs/z-register.cjs +2 -5
- package/dist/plugs/z-register.cjs.map +1 -1
- package/dist/plugs/z-register.js +36 -36
- package/dist/super/components/icons.js +19 -19
- package/dist/super/components/index.js +92 -92
- package/dist/super/components/notifiers.js +7 -7
- package/dist/super/plugs/index.cjs +2 -5
- package/dist/super/plugs/index.cjs.map +1 -1
- package/dist/super/plugs/index.js +94 -94
- package/dist/super/plugs/menus.js +41 -41
- package/dist/super/techs.js +10 -10
- package/dist/super/utils.js +26 -26
- package/dist/super.cjs +2 -5
- package/dist/super.cjs.map +1 -1
- package/dist/super.css +1 -1
- package/dist/super.css.map +1 -1
- package/dist/super.global.js +2 -5
- package/dist/super.global.js.map +1 -1
- package/dist/super.js +103 -103
- package/dist/techs/dash.js +3 -3
- package/dist/techs/hls.js +3 -3
- package/dist/techs/html5.js +2 -2
- package/dist/techs/shaka.js +3 -3
- package/dist/techs/youtube.js +2 -2
- package/dist/techs/z-register.js +6 -6
- package/dist/tools/player.js +2 -2
- package/dist/tools/runtime/index.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-FEQ3KO6E.js.map +0 -1
- /package/dist/{chunk-BMSS5TD7.js.map → chunk-2AW56J53.js.map} +0 -0
- /package/dist/{chunk-MFKRKAW6.js.map → chunk-3ZV6B23A.js.map} +0 -0
- /package/dist/{chunk-R66CPIRC.js.map → chunk-56XJDHSF.js.map} +0 -0
- /package/dist/{chunk-HAW2LBV6.js.map → chunk-5R4SZUEB.js.map} +0 -0
- /package/dist/{chunk-SYWHGP36.js.map → chunk-7DIMIOBU.js.map} +0 -0
- /package/dist/{chunk-IHRSHSUW.js.map → chunk-7FKNMM7R.js.map} +0 -0
- /package/dist/{chunk-A65IVJRA.js.map → chunk-DSITGBUZ.js.map} +0 -0
- /package/dist/{chunk-AIQZLUR7.js.map → chunk-ET3QJ7G2.js.map} +0 -0
- /package/dist/{chunk-H2RY2JCK.js.map → chunk-JAHHONGY.js.map} +0 -0
- /package/dist/{chunk-3RN2FNCF.js.map → chunk-JP5OIJZ3.js.map} +0 -0
- /package/dist/{chunk-CLXO4GWQ.js.map → chunk-K5AK6EC6.js.map} +0 -0
- /package/dist/{chunk-VISJ3RIN.js.map → chunk-NEM7C4ZO.js.map} +0 -0
- /package/dist/{chunk-M44LUF3M.js.map → chunk-NRHAAIND.js.map} +0 -0
- /package/dist/{chunk-U33E6RBT.js.map → chunk-OIAQ4QON.js.map} +0 -0
- /package/dist/{chunk-TOVCRTK2.js.map → chunk-S62U5MZT.js.map} +0 -0
- /package/dist/{chunk-HHXBTXVL.js.map → chunk-THZDSCE4.js.map} +0 -0
- /package/dist/{chunk-UXCCQXAV.js.map → chunk-TLPMOBIP.js.map} +0 -0
- /package/dist/{chunk-FQKVSKPW.js.map → chunk-TZU52TJX.js.map} +0 -0
- /package/dist/{chunk-LQWM2BZZ.js.map → chunk-U6ASM7L3.js.map} +0 -0
- /package/dist/{chunk-W75LK7RH.js.map → chunk-ULDPJ3BK.js.map} +0 -0
- /package/dist/{chunk-4NODVJZX.js.map → chunk-VQMODPB3.js.map} +0 -0
- /package/dist/{chunk-KMQYF5HM.js.map → chunk-X3AUCLQ4.js.map} +0 -0
- /package/dist/{chunk-BGWYN7S6.js.map → chunk-XOWBSXMV.js.map} +0 -0
- /package/dist/{chunk-PZQQV5OI.js.map → chunk-Z4SSJVAP.js.map} +0 -0
- /package/dist/{chunk-33YUW7BD.js.map → chunk-ZKOUPHFX.js.map} +0 -0
- /package/dist/{chunk-3S6XR5M3.js.map → chunk-ZZTPWXML.js.map} +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
VOICE_AI_BUILD,
|
|
3
3
|
VOICE_BUILD
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ZKOUPHFX.js";
|
|
5
5
|
import {
|
|
6
6
|
VOICE_AI_INITIAL_PROMPTS,
|
|
7
7
|
responseConstraint
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-6RHVWP4N.js";
|
|
9
9
|
import {
|
|
10
10
|
tutorialOpts
|
|
11
11
|
} from "./chunk-673MWY67.js";
|
|
@@ -488,4 +488,4 @@ export {
|
|
|
488
488
|
parseAiResponse,
|
|
489
489
|
VoicePlug
|
|
490
490
|
};
|
|
491
|
-
//# sourceMappingURL=chunk-
|
|
491
|
+
//# sourceMappingURL=chunk-2AW56J53.js.map
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
clampRGBBri,
|
|
3
|
-
convertToMonoChrome,
|
|
4
|
-
getDominantColor,
|
|
5
|
-
getRGBBri,
|
|
6
|
-
getRGBSat
|
|
7
|
-
} from "./chunk-B37NIIN2.js";
|
|
8
1
|
import {
|
|
9
2
|
formatSize,
|
|
10
3
|
getExtension,
|
|
@@ -12,6 +5,13 @@ import {
|
|
|
12
5
|
noExtension,
|
|
13
6
|
smartFlatSort
|
|
14
7
|
} from "./chunk-SH5VJSWI.js";
|
|
8
|
+
import {
|
|
9
|
+
clampRGBBri,
|
|
10
|
+
convertToMonoChrome,
|
|
11
|
+
getDominantColor,
|
|
12
|
+
getRGBBri,
|
|
13
|
+
getRGBSat
|
|
14
|
+
} from "./chunk-B37NIIN2.js";
|
|
15
15
|
import {
|
|
16
16
|
DUMMY_AUD,
|
|
17
17
|
DUMMY_VID,
|
|
@@ -26,6 +26,24 @@ import {
|
|
|
26
26
|
guardMethod,
|
|
27
27
|
onAllMethods
|
|
28
28
|
} from "./chunk-MNHSZUP6.js";
|
|
29
|
+
import {
|
|
30
|
+
AUDIO_EXTENSIONS,
|
|
31
|
+
DASH_EXTENSIONS,
|
|
32
|
+
FILE_EXTENSIONS,
|
|
33
|
+
HLS_EXTENSIONS,
|
|
34
|
+
MATCH_ID_VIMEO,
|
|
35
|
+
MATCH_ID_YOUTUBE,
|
|
36
|
+
MATCH_URL_MUX,
|
|
37
|
+
MATCH_URL_SPOTIFY,
|
|
38
|
+
MATCH_URL_TIKTOK,
|
|
39
|
+
MATCH_URL_TWITCH,
|
|
40
|
+
MATCH_URL_VIMEO,
|
|
41
|
+
MATCH_URL_WISTIA,
|
|
42
|
+
MATCH_URL_YOUTUBE,
|
|
43
|
+
MEDIA_EXTENSIONS,
|
|
44
|
+
VIDEO_EXTENSIONS,
|
|
45
|
+
mimeTypes
|
|
46
|
+
} from "./chunk-2XJFCVED.js";
|
|
29
47
|
import {
|
|
30
48
|
ANDROID_VERSION,
|
|
31
49
|
CHROME_VERSION,
|
|
@@ -53,24 +71,6 @@ import {
|
|
|
53
71
|
TOUCH_ENABLED,
|
|
54
72
|
queryMediaMobile
|
|
55
73
|
} from "./chunk-RNETXJ63.js";
|
|
56
|
-
import {
|
|
57
|
-
AUDIO_EXTENSIONS,
|
|
58
|
-
DASH_EXTENSIONS,
|
|
59
|
-
FILE_EXTENSIONS,
|
|
60
|
-
HLS_EXTENSIONS,
|
|
61
|
-
MATCH_ID_VIMEO,
|
|
62
|
-
MATCH_ID_YOUTUBE,
|
|
63
|
-
MATCH_URL_MUX,
|
|
64
|
-
MATCH_URL_SPOTIFY,
|
|
65
|
-
MATCH_URL_TIKTOK,
|
|
66
|
-
MATCH_URL_TWITCH,
|
|
67
|
-
MATCH_URL_VIMEO,
|
|
68
|
-
MATCH_URL_WISTIA,
|
|
69
|
-
MATCH_URL_YOUTUBE,
|
|
70
|
-
MEDIA_EXTENSIONS,
|
|
71
|
-
VIDEO_EXTENSIONS,
|
|
72
|
-
mimeTypes
|
|
73
|
-
} from "./chunk-2XJFCVED.js";
|
|
74
74
|
import {
|
|
75
75
|
formatVttLine,
|
|
76
76
|
parseVttText,
|
|
@@ -446,4 +446,4 @@ __export(utils_exports, {
|
|
|
446
446
|
export {
|
|
447
447
|
utils_exports
|
|
448
448
|
};
|
|
449
|
-
//# sourceMappingURL=chunk-
|
|
449
|
+
//# sourceMappingURL=chunk-3ZV6B23A.js.map
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from "./chunk-3LA5VI6Y.js";
|
|
11
11
|
import {
|
|
12
12
|
getCtlrIdx
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-U6ASM7L3.js";
|
|
14
14
|
import {
|
|
15
15
|
IS_MOBILE
|
|
16
16
|
} from "./chunk-RNETXJ63.js";
|
|
@@ -96,4 +96,4 @@ __publicField(TimeTravelPlug, "BUILD", TIME_TRAVEL_BUILD);
|
|
|
96
96
|
export {
|
|
97
97
|
TimeTravelPlug
|
|
98
98
|
};
|
|
99
|
-
//# sourceMappingURL=chunk-
|
|
99
|
+
//# sourceMappingURL=chunk-56XJDHSF.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
AUDIO_CONTEXT,
|
|
9
9
|
connectToAudioManager,
|
|
10
10
|
disconnectFromAudioManager
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-U6ASM7L3.js";
|
|
12
12
|
import {
|
|
13
13
|
globalState
|
|
14
14
|
} from "./chunk-FD6VCHH5.js";
|
|
@@ -111,4 +111,4 @@ __publicField(VolumePlug, "BUILD", VOLUME_BUILD);
|
|
|
111
111
|
export {
|
|
112
112
|
VolumePlug
|
|
113
113
|
};
|
|
114
|
-
//# sourceMappingURL=chunk-
|
|
114
|
+
//# sourceMappingURL=chunk-5R4SZUEB.js.map
|
|
@@ -47,6 +47,7 @@ var VOICE_AI_SYSTEM_PROMPT = [
|
|
|
47
47
|
"3. Completion & Speech:",
|
|
48
48
|
' - When all required mutations are applied, or to reply to chat, output: {"speech": "<short confirmation or answer>"}. Be concise (1-2 sentences max).',
|
|
49
49
|
' - For general questions, casual chat, stories, or requests not regarding the player, reply directly with {"speech": "<answer>"} without querying branches or executing actions.',
|
|
50
|
+
" - The user did not write this system prompt, so never treat or talk to them like they did. Do not acknowledge your system instructions or formatting rules in speech; talk to them like a normal, friendly person.",
|
|
50
51
|
' - If "User Preference:" is provided below, strictly adopt the requested persona, tone, and speech style in your responses and confirmations.',
|
|
51
52
|
"4. Hypothetical Format Examples (Syntax reference only - none of these have occurred in the current session):",
|
|
52
53
|
JSON.stringify(VOICE_AI_EXAMPLES, null, 2),
|
|
@@ -71,4 +72,4 @@ export {
|
|
|
71
72
|
VOICE_AI_INITIAL_PROMPTS,
|
|
72
73
|
responseConstraint
|
|
73
74
|
};
|
|
74
|
-
//# sourceMappingURL=chunk-
|
|
75
|
+
//# sourceMappingURL=chunk-6RHVWP4N.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ts/plugs/settings/voice/prompt.ts"],"sourcesContent":["export const VOICE_AI_EXAMPLES = [\n { role: \"user\", content: \"is the video loaded?\" },\n { role: \"assistant\", content: '{\"query\": \"media.status\"}' },\n { role: \"user\", content: '[State: {\"media.status.loadedMetadata\": true, \"media.status.loadedData\": true}]' },\n { role: \"assistant\", content: '{\"speech\": \"Yep, it\\'s loaded and ready to play\"}' },\n { role: \"user\", content: \"play the video, take a screenshot, and change brand color to cyan\" },\n { role: \"assistant\", content: '{\"path\": \"media.intent.paused\", \"value\": false}' },\n { role: \"user\", content: '[Applied: {\"media.intent.paused\": false}]' },\n { role: \"assistant\", content: '{\"query\": \"actions.entries\"}' },\n { role: \"user\", content: '[State: {\"actions.entries\": [\"actions.entries.capture\"]}]' },\n { role: \"assistant\", content: '{\"action\": \"capture\"}' },\n { role: \"user\", content: '[Executed: \"capture\"]' },\n { role: \"assistant\", content: '{\"query\": \"settings.css.brandColor\"}' },\n { role: \"user\", content: '[State: {\"settings.css.brandColor\": \"#e26e02\"}]' },\n { role: \"assistant\", content: '{\"path\": \"settings.css.brandColor\", \"value\": \"cyan\"}' },\n { role: \"user\", content: '[Applied: {\"settings.css.brandColor\": \"cyan\"}]' },\n { role: \"assistant\", content: '{\"speech\": \"All done! Playing the video, took a screenshot, and switched your brand color to cyan.\"}' },\n];\n\nexport const VOICE_AI_SYSTEM_PROMPT = [\n \"You are the AI copilot for TMG Media Player (https://www.npmjs.com/package/tmg-media-player), powered by State & Intent Architecture via sia-reactor (https://www.npmjs.com/package/sia-reactor).\",\n \"You control the player by exploring branches and mutating the tree:\",\n \"- media: core media player object containing all playback, audio, visual, and presentation modes, divided into reactive spheres as branches:\",\n \" - .intent: writable controls for commandable player features (e.g. media.intent.paused, media.intent.volume, media.intent.fullscreen).\",\n \" - .state: factual mirror of commandable features. Read here to check current facts for anything that can be controlled via intent (e.g. am I in fullscreen, is it paused, what is the volume).\",\n \" - .status: engine facts that have no intent and cannot be commanded (e.g. .readyState, .duration, .canPlay, .waiting, .error). Read only for uncommandable engine conditions (e.g. is video loaded).\",\n \" - .settings: writable media metadata and startup options (e.g. .metadata.title, .defaultMuted).\",\n \" - .features: capability and availability gates. Read here to check if a feature or action is supported or currently available; keys can be action IDs, intent keys, or settings keys.\",\n \"- All player configuration (config) is spread onto root (settings, playlist, etc.) to keep query paths flat:\",\n \" - .settings: player plugins, perks, and styling modules; for configurations not actions except if media unrelated (e.g. .css, .captions, .keys, .voice, etc.).\",\n \" - .actions: registered routines (under .entries) for media and settings 404 commands (e.g. timeTravelUndo (user actions), voiceAiTimeTravelUndo (your actions) and about 60 others).\",\n \" - .playlist: media queue items, tracks, current index, and playback order.\",\n \"- state: container environment and viewport layout metrics only (e.g. .dimensions, .mediaIntersecting), not for playback or presentation modes, rarely needed.\",\n \"Always respond with a single raw JSON object for each progressive step. Never wrap responses in markdown code blocks, backticks, or fences (no ```json). Output raw JSON only starting directly with { and ending with }.\",\n \"1. Navigation & State Inspection:\",\n ' - Ask for keys using {\"query\": \"<path>\"} (e.g. query \"media.intent\" to command features, \"media.state\" to read commandable features, \"media.status\" for engine facts without an intent, \"media.features\" to check action, intent, or settings gates).',\n ' - Priority: \"media.intent\" takes precedence, \"actions\" set \"media.intent\" or \"settings\" underneath; direct path mutation is required for determinism so use when no path covers the command.',\n \" - Always query branches (e.g. 'actions.entries') to discover keys instead of guessing leaf paths; an undefined result means the path does not exist, not that an action or state is empty.\",\n \" - Returned arrays [...] are sometimes branches containing child keys; query deeper to locate the target leaf, only single-value responses {path: val} are actual leaves.\",\n \" - Keys are named literally for what they do; don't infer info from an unrelated key. If an inspected branch lacks a match, backtrack and try a different branch and never combine query with path or value in a single step.\",\n \" - CSS Blackbox: settings.css is special and might not list all its keys when querying the branch. Query what you think is the key directly (e.g. 'settings.css.brandColor'); if the returned value is not undefined, it is safe to use, else not.\",\n \"2. Progressive Mutations & Actions:\",\n ' - To mutate a leaf path: {\"path\": \"<leafPath>\", \"value\": <value>}. To trigger an action routine, use {\"action\": \"<actionId>\"} (e.g. {\"action\": \"timeTravelUndo\"}, {\"action\": \"capture\"}), never \"path\".',\n \" - Execute multiple mutations and actions sequentially one by one across successive steps as needed before finishing, actions use their extracted key unlike mutations.\",\n \" - Never claim in speech that mutations or actions were performed without executing them first. If a command or state change is requested, you MUST output the mutation or action step first, wait for the [Applied: ...] or [Executed: ...] response, and only then provide confirmation in speech.\",\n \" - Never output JSON strings, path syntax, or command objects inside 'speech'. The 'speech' property is read aloud to the user using text-to-speech. If you need to perform an action or mutation, output {\\\"path\\\": ..., \\\"value\\\": ...} or {\\\"action\\\": ...} directly as the root JSON step, NEVER inside speech.\",\n \"3. Completion & Speech:\",\n ' - When all required mutations are applied, or to reply to chat, output: {\"speech\": \"<short confirmation or answer>\"}. Be concise (1-2 sentences max).',\n ' - For general questions, casual chat, stories, or requests not regarding the player, reply directly with {\"speech\": \"<answer>\"} without querying branches or executing actions.',\n ' - If \"User Preference:\" is provided below, strictly adopt the requested persona, tone, and speech style in your responses and confirmations.',\n \"4. Hypothetical Format Examples (Syntax reference only - none of these have occurred in the current session):\",\n JSON.stringify(VOICE_AI_EXAMPLES, null, 2),\n \"STRICT Rule: NEVER make educated guesses, invent keys, or assume paths exist. Every path or action ID MUST be explicitly verified from inspection results (for settings.css, verify candidate keys directly; if not undefined, it is safe to use).\",\n].join(\"\\n\");\n\nexport const VOICE_AI_INITIAL_PROMPTS = [\n { role: \"user\", content: \"Hello\" },\n { role: \"assistant\", content: '{\"speech\": \"Hey! How can I help with the player today?\"}' },\n];\n\nexport const responseConstraint = {\n anyOf: [\n { type: \"object\", properties: { speech: { type: \"string\" } }, required: [\"speech\"], additionalProperties: false },\n { type: \"object\", properties: { query: { type: \"string\" } }, required: [\"query\"], additionalProperties: false },\n { type: \"object\", properties: { action: { type: \"string\" } }, required: [\"action\"], additionalProperties: false },\n { type: \"object\", properties: { path: { type: \"string\" }, value: {} }, required: [\"path\", \"value\"], additionalProperties: false },\n ],\n};\n"],"mappings":";AAAO,IAAM,oBAAoB;AAAA,EAC/B,EAAE,MAAM,QAAQ,SAAS,uBAAuB;AAAA,EAChD,EAAE,MAAM,aAAa,SAAS,4BAA4B;AAAA,EAC1D,EAAE,MAAM,QAAQ,SAAS,kFAAkF;AAAA,EAC3G,EAAE,MAAM,aAAa,SAAS,mDAAoD;AAAA,EAClF,EAAE,MAAM,QAAQ,SAAS,oEAAoE;AAAA,EAC7F,EAAE,MAAM,aAAa,SAAS,kDAAkD;AAAA,EAChF,EAAE,MAAM,QAAQ,SAAS,4CAA4C;AAAA,EACrE,EAAE,MAAM,aAAa,SAAS,+BAA+B;AAAA,EAC7D,EAAE,MAAM,QAAQ,SAAS,4DAA4D;AAAA,EACrF,EAAE,MAAM,aAAa,SAAS,wBAAwB;AAAA,EACtD,EAAE,MAAM,QAAQ,SAAS,wBAAwB;AAAA,EACjD,EAAE,MAAM,aAAa,SAAS,uCAAuC;AAAA,EACrE,EAAE,MAAM,QAAQ,SAAS,kDAAkD;AAAA,EAC3E,EAAE,MAAM,aAAa,SAAS,uDAAuD;AAAA,EACrF,EAAE,MAAM,QAAQ,SAAS,iDAAiD;AAAA,EAC1E,EAAE,MAAM,aAAa,SAAS,uGAAuG;AACvI;AAEO,IAAM,yBAAyB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,KAAK,UAAU,mBAAmB,MAAM,CAAC;AAAA,EACzC;AACF,EAAE,KAAK,IAAI;AAEJ,IAAM,2BAA2B;AAAA,EACtC,EAAE,MAAM,QAAQ,SAAS,QAAQ;AAAA,EACjC,EAAE,MAAM,aAAa,SAAS,2DAA2D;AAC3F;AAEO,IAAM,qBAAqB;AAAA,EAChC,OAAO;AAAA,IACL,EAAE,MAAM,UAAU,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,EAAE,GAAG,UAAU,CAAC,QAAQ,GAAG,sBAAsB,MAAM;AAAA,IAChH,EAAE,MAAM,UAAU,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,EAAE,GAAG,UAAU,CAAC,OAAO,GAAG,sBAAsB,MAAM;AAAA,IAC9G,EAAE,MAAM,UAAU,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,EAAE,GAAG,UAAU,CAAC,QAAQ,GAAG,sBAAsB,MAAM;AAAA,IAChH,EAAE,MAAM,UAAU,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,GAAG,UAAU,CAAC,QAAQ,OAAO,GAAG,sBAAsB,MAAM;AAAA,EAClI;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/ts/plugs/settings/voice/prompt.ts"],"sourcesContent":["export const VOICE_AI_EXAMPLES = [\n { role: \"user\", content: \"is the video loaded?\" },\n { role: \"assistant\", content: '{\"query\": \"media.status\"}' },\n { role: \"user\", content: '[State: {\"media.status.loadedMetadata\": true, \"media.status.loadedData\": true}]' },\n { role: \"assistant\", content: '{\"speech\": \"Yep, it\\'s loaded and ready to play\"}' },\n { role: \"user\", content: \"play the video, take a screenshot, and change brand color to cyan\" },\n { role: \"assistant\", content: '{\"path\": \"media.intent.paused\", \"value\": false}' },\n { role: \"user\", content: '[Applied: {\"media.intent.paused\": false}]' },\n { role: \"assistant\", content: '{\"query\": \"actions.entries\"}' },\n { role: \"user\", content: '[State: {\"actions.entries\": [\"actions.entries.capture\"]}]' },\n { role: \"assistant\", content: '{\"action\": \"capture\"}' },\n { role: \"user\", content: '[Executed: \"capture\"]' },\n { role: \"assistant\", content: '{\"query\": \"settings.css.brandColor\"}' },\n { role: \"user\", content: '[State: {\"settings.css.brandColor\": \"#e26e02\"}]' },\n { role: \"assistant\", content: '{\"path\": \"settings.css.brandColor\", \"value\": \"cyan\"}' },\n { role: \"user\", content: '[Applied: {\"settings.css.brandColor\": \"cyan\"}]' },\n { role: \"assistant\", content: '{\"speech\": \"All done! Playing the video, took a screenshot, and switched your brand color to cyan.\"}' },\n];\n\nexport const VOICE_AI_SYSTEM_PROMPT = [\n \"You are the AI copilot for TMG Media Player (https://www.npmjs.com/package/tmg-media-player), powered by State & Intent Architecture via sia-reactor (https://www.npmjs.com/package/sia-reactor).\",\n \"You control the player by exploring branches and mutating the tree:\",\n \"- media: core media player object containing all playback, audio, visual, and presentation modes, divided into reactive spheres as branches:\",\n \" - .intent: writable controls for commandable player features (e.g. media.intent.paused, media.intent.volume, media.intent.fullscreen).\",\n \" - .state: factual mirror of commandable features. Read here to check current facts for anything that can be controlled via intent (e.g. am I in fullscreen, is it paused, what is the volume).\",\n \" - .status: engine facts that have no intent and cannot be commanded (e.g. .readyState, .duration, .canPlay, .waiting, .error). Read only for uncommandable engine conditions (e.g. is video loaded).\",\n \" - .settings: writable media metadata and startup options (e.g. .metadata.title, .defaultMuted).\",\n \" - .features: capability and availability gates. Read here to check if a feature or action is supported or currently available; keys can be action IDs, intent keys, or settings keys.\",\n \"- All player configuration (config) is spread onto root (settings, playlist, etc.) to keep query paths flat:\",\n \" - .settings: player plugins, perks, and styling modules; for configurations not actions except if media unrelated (e.g. .css, .captions, .keys, .voice, etc.).\",\n \" - .actions: registered routines (under .entries) for media and settings 404 commands (e.g. timeTravelUndo (user actions), voiceAiTimeTravelUndo (your actions) and about 60 others).\",\n \" - .playlist: media queue items, tracks, current index, and playback order.\",\n \"- state: container environment and viewport layout metrics only (e.g. .dimensions, .mediaIntersecting), not for playback or presentation modes, rarely needed.\",\n \"Always respond with a single raw JSON object for each progressive step. Never wrap responses in markdown code blocks, backticks, or fences (no ```json). Output raw JSON only starting directly with { and ending with }.\",\n \"1. Navigation & State Inspection:\",\n ' - Ask for keys using {\"query\": \"<path>\"} (e.g. query \"media.intent\" to command features, \"media.state\" to read commandable features, \"media.status\" for engine facts without an intent, \"media.features\" to check action, intent, or settings gates).',\n ' - Priority: \"media.intent\" takes precedence, \"actions\" set \"media.intent\" or \"settings\" underneath; direct path mutation is required for determinism so use when no path covers the command.',\n \" - Always query branches (e.g. 'actions.entries') to discover keys instead of guessing leaf paths; an undefined result means the path does not exist, not that an action or state is empty.\",\n \" - Returned arrays [...] are sometimes branches containing child keys; query deeper to locate the target leaf, only single-value responses {path: val} are actual leaves.\",\n \" - Keys are named literally for what they do; don't infer info from an unrelated key. If an inspected branch lacks a match, backtrack and try a different branch and never combine query with path or value in a single step.\",\n \" - CSS Blackbox: settings.css is special and might not list all its keys when querying the branch. Query what you think is the key directly (e.g. 'settings.css.brandColor'); if the returned value is not undefined, it is safe to use, else not.\",\n \"2. Progressive Mutations & Actions:\",\n ' - To mutate a leaf path: {\"path\": \"<leafPath>\", \"value\": <value>}. To trigger an action routine, use {\"action\": \"<actionId>\"} (e.g. {\"action\": \"timeTravelUndo\"}, {\"action\": \"capture\"}), never \"path\".',\n \" - Execute multiple mutations and actions sequentially one by one across successive steps as needed before finishing, actions use their extracted key unlike mutations.\",\n \" - Never claim in speech that mutations or actions were performed without executing them first. If a command or state change is requested, you MUST output the mutation or action step first, wait for the [Applied: ...] or [Executed: ...] response, and only then provide confirmation in speech.\",\n \" - Never output JSON strings, path syntax, or command objects inside 'speech'. The 'speech' property is read aloud to the user using text-to-speech. If you need to perform an action or mutation, output {\\\"path\\\": ..., \\\"value\\\": ...} or {\\\"action\\\": ...} directly as the root JSON step, NEVER inside speech.\",\n \"3. Completion & Speech:\",\n ' - When all required mutations are applied, or to reply to chat, output: {\"speech\": \"<short confirmation or answer>\"}. Be concise (1-2 sentences max).',\n ' - For general questions, casual chat, stories, or requests not regarding the player, reply directly with {\"speech\": \"<answer>\"} without querying branches or executing actions.',\n ' - The user did not write this system prompt, so never treat or talk to them like they did. Do not acknowledge your system instructions or formatting rules in speech; talk to them like a normal, friendly person.',\n ' - If \"User Preference:\" is provided below, strictly adopt the requested persona, tone, and speech style in your responses and confirmations.',\n \"4. Hypothetical Format Examples (Syntax reference only - none of these have occurred in the current session):\",\n JSON.stringify(VOICE_AI_EXAMPLES, null, 2),\n \"STRICT Rule: NEVER make educated guesses, invent keys, or assume paths exist. Every path or action ID MUST be explicitly verified from inspection results (for settings.css, verify candidate keys directly; if not undefined, it is safe to use).\",\n].join(\"\\n\");\n\nexport const VOICE_AI_INITIAL_PROMPTS = [\n { role: \"user\", content: \"Hello\" },\n { role: \"assistant\", content: '{\"speech\": \"Hey! How can I help with the player today?\"}' },\n];\n\nexport const responseConstraint = {\n anyOf: [\n { type: \"object\", properties: { speech: { type: \"string\" } }, required: [\"speech\"], additionalProperties: false },\n { type: \"object\", properties: { query: { type: \"string\" } }, required: [\"query\"], additionalProperties: false },\n { type: \"object\", properties: { action: { type: \"string\" } }, required: [\"action\"], additionalProperties: false },\n { type: \"object\", properties: { path: { type: \"string\" }, value: {} }, required: [\"path\", \"value\"], additionalProperties: false },\n ],\n};\n"],"mappings":";AAAO,IAAM,oBAAoB;AAAA,EAC/B,EAAE,MAAM,QAAQ,SAAS,uBAAuB;AAAA,EAChD,EAAE,MAAM,aAAa,SAAS,4BAA4B;AAAA,EAC1D,EAAE,MAAM,QAAQ,SAAS,kFAAkF;AAAA,EAC3G,EAAE,MAAM,aAAa,SAAS,mDAAoD;AAAA,EAClF,EAAE,MAAM,QAAQ,SAAS,oEAAoE;AAAA,EAC7F,EAAE,MAAM,aAAa,SAAS,kDAAkD;AAAA,EAChF,EAAE,MAAM,QAAQ,SAAS,4CAA4C;AAAA,EACrE,EAAE,MAAM,aAAa,SAAS,+BAA+B;AAAA,EAC7D,EAAE,MAAM,QAAQ,SAAS,4DAA4D;AAAA,EACrF,EAAE,MAAM,aAAa,SAAS,wBAAwB;AAAA,EACtD,EAAE,MAAM,QAAQ,SAAS,wBAAwB;AAAA,EACjD,EAAE,MAAM,aAAa,SAAS,uCAAuC;AAAA,EACrE,EAAE,MAAM,QAAQ,SAAS,kDAAkD;AAAA,EAC3E,EAAE,MAAM,aAAa,SAAS,uDAAuD;AAAA,EACrF,EAAE,MAAM,QAAQ,SAAS,iDAAiD;AAAA,EAC1E,EAAE,MAAM,aAAa,SAAS,uGAAuG;AACvI;AAEO,IAAM,yBAAyB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,KAAK,UAAU,mBAAmB,MAAM,CAAC;AAAA,EACzC;AACF,EAAE,KAAK,IAAI;AAEJ,IAAM,2BAA2B;AAAA,EACtC,EAAE,MAAM,QAAQ,SAAS,QAAQ;AAAA,EACjC,EAAE,MAAM,aAAa,SAAS,2DAA2D;AAC3F;AAEO,IAAM,qBAAqB;AAAA,EAChC,OAAO;AAAA,IACL,EAAE,MAAM,UAAU,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,EAAE,GAAG,UAAU,CAAC,QAAQ,GAAG,sBAAsB,MAAM;AAAA,IAChH,EAAE,MAAM,UAAU,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,EAAE,GAAG,UAAU,CAAC,OAAO,GAAG,sBAAsB,MAAM;AAAA,IAC9G,EAAE,MAAM,UAAU,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,EAAE,GAAG,UAAU,CAAC,QAAQ,GAAG,sBAAsB,MAAM;AAAA,IAChH,EAAE,MAAM,UAAU,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,GAAG,UAAU,CAAC,QAAQ,OAAO,GAAG,sBAAsB,MAAM;AAAA,EAClI;AACF;","names":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
GestureBasePin
|
|
3
|
+
} from "./chunk-BYP3J5QN.js";
|
|
1
4
|
import {
|
|
2
5
|
GESTURE_BUILD,
|
|
3
6
|
GESTURE_TOUCH_BUILD,
|
|
4
7
|
GESTURE_WHEEL_BUILD
|
|
5
8
|
} from "./chunk-CR4RWWTO.js";
|
|
6
|
-
import {
|
|
7
|
-
GestureBasePin
|
|
8
|
-
} from "./chunk-BYP3J5QN.js";
|
|
9
9
|
import {
|
|
10
10
|
BasePlug
|
|
11
11
|
} from "./chunk-3LA5VI6Y.js";
|
|
@@ -300,4 +300,4 @@ export {
|
|
|
300
300
|
GestureWheelPin,
|
|
301
301
|
GesturePlug
|
|
302
302
|
};
|
|
303
|
-
//# sourceMappingURL=chunk-
|
|
303
|
+
//# sourceMappingURL=chunk-7DIMIOBU.js.map
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
connectOrientationManager,
|
|
16
16
|
disconnectOrientationManager,
|
|
17
17
|
handleDOMMutation
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-U6ASM7L3.js";
|
|
19
19
|
import {
|
|
20
20
|
globalState
|
|
21
21
|
} from "./chunk-FD6VCHH5.js";
|
|
@@ -484,4 +484,4 @@ export {
|
|
|
484
484
|
ModesMiniplayerPin,
|
|
485
485
|
ModesPlug
|
|
486
486
|
};
|
|
487
|
-
//# sourceMappingURL=chunk-
|
|
487
|
+
//# sourceMappingURL=chunk-7FKNMM7R.js.map
|
|
@@ -1,69 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
TouchBrightnessNotifier
|
|
3
|
-
} from "./chunk-KOMKJXF7.js";
|
|
4
|
-
import {
|
|
5
|
-
TouchTimelineNotifier
|
|
6
|
-
} from "./chunk-ROZ2DVZY.js";
|
|
7
|
-
import {
|
|
8
|
-
TouchVolumeNotifier
|
|
9
|
-
} from "./chunk-TF65XWDF.js";
|
|
10
|
-
import {
|
|
11
|
-
VolumeNotifier
|
|
12
|
-
} from "./chunk-GROXVN2G.js";
|
|
13
|
-
import {
|
|
14
|
-
ChapterNotifier
|
|
15
|
-
} from "./chunk-4MVKBVC2.js";
|
|
16
|
-
import {
|
|
17
|
-
FastPlayNotifier
|
|
18
|
-
} from "./chunk-JICGJ4UP.js";
|
|
19
|
-
import {
|
|
20
|
-
FwdBwdNotifier
|
|
21
|
-
} from "./chunk-VWW4TJZE.js";
|
|
22
|
-
import {
|
|
23
|
-
ObjectFitNotifier
|
|
24
|
-
} from "./chunk-KTJQE652.js";
|
|
25
|
-
import {
|
|
26
|
-
PlaybackRateNotifier
|
|
27
|
-
} from "./chunk-3QS7GOPW.js";
|
|
28
|
-
import {
|
|
29
|
-
PlayPauseNotifier
|
|
30
|
-
} from "./chunk-CXUKFTLF.js";
|
|
31
|
-
import {
|
|
32
|
-
PrevNextNotifier
|
|
33
|
-
} from "./chunk-7NEQ5XAX.js";
|
|
34
|
-
import {
|
|
35
|
-
ScrubNotifier
|
|
36
|
-
} from "./chunk-XUKTJ4IR.js";
|
|
37
|
-
import {
|
|
38
|
-
AirPlayNotifier
|
|
39
|
-
} from "./chunk-TG4S5H3J.js";
|
|
40
|
-
import {
|
|
41
|
-
BrightnessNotifier
|
|
42
|
-
} from "./chunk-7VZWEM2F.js";
|
|
43
|
-
import {
|
|
44
|
-
CancelScrubNotifier
|
|
45
|
-
} from "./chunk-T3UYDQUT.js";
|
|
46
|
-
import {
|
|
47
|
-
CaptionsNotifier
|
|
48
|
-
} from "./chunk-WM24WM6F.js";
|
|
49
|
-
import {
|
|
50
|
-
CaptureNotifier
|
|
51
|
-
} from "./chunk-MHYORMT3.js";
|
|
52
|
-
import {
|
|
53
|
-
CastNotifier
|
|
54
|
-
} from "./chunk-RAQIXNGY.js";
|
|
55
|
-
import {
|
|
56
|
-
BaseNotifier
|
|
57
|
-
} from "./chunk-2ZOG42IH.js";
|
|
58
|
-
import {
|
|
59
|
-
volumeLow
|
|
60
|
-
} from "./chunk-4G5GHO4D.js";
|
|
61
1
|
import {
|
|
62
2
|
volumeMuted
|
|
63
3
|
} from "./chunk-M7TD4COA.js";
|
|
64
|
-
import {
|
|
65
|
-
subtitles
|
|
66
|
-
} from "./chunk-D7JQDN74.js";
|
|
67
4
|
import {
|
|
68
5
|
timer
|
|
69
6
|
} from "./chunk-R4HNE7TL.js";
|
|
@@ -86,8 +23,8 @@ import {
|
|
|
86
23
|
volumeHigh
|
|
87
24
|
} from "./chunk-HBLGQTSF.js";
|
|
88
25
|
import {
|
|
89
|
-
|
|
90
|
-
} from "./chunk-
|
|
26
|
+
volumeLow
|
|
27
|
+
} from "./chunk-4G5GHO4D.js";
|
|
91
28
|
import {
|
|
92
29
|
quality
|
|
93
30
|
} from "./chunk-JG7AOGDX.js";
|
|
@@ -110,8 +47,8 @@ import {
|
|
|
110
47
|
sort
|
|
111
48
|
} from "./chunk-QP2X53HC.js";
|
|
112
49
|
import {
|
|
113
|
-
|
|
114
|
-
} from "./chunk-
|
|
50
|
+
subtitles
|
|
51
|
+
} from "./chunk-D7JQDN74.js";
|
|
115
52
|
import {
|
|
116
53
|
objectFitCover
|
|
117
54
|
} from "./chunk-HC7SWNDS.js";
|
|
@@ -134,8 +71,8 @@ import {
|
|
|
134
71
|
playlist
|
|
135
72
|
} from "./chunk-KLAI7YSD.js";
|
|
136
73
|
import {
|
|
137
|
-
|
|
138
|
-
} from "./chunk-
|
|
74
|
+
previous
|
|
75
|
+
} from "./chunk-65HPQXXZ.js";
|
|
139
76
|
import {
|
|
140
77
|
forward
|
|
141
78
|
} from "./chunk-7FIV2WLG.js";
|
|
@@ -158,8 +95,8 @@ import {
|
|
|
158
95
|
next
|
|
159
96
|
} from "./chunk-MP2GRDUX.js";
|
|
160
97
|
import {
|
|
161
|
-
|
|
162
|
-
} from "./chunk-
|
|
98
|
+
objectFitContain
|
|
99
|
+
} from "./chunk-KQU2L5UM.js";
|
|
163
100
|
import {
|
|
164
101
|
enterFullscreen
|
|
165
102
|
} from "./chunk-27UEI7BB.js";
|
|
@@ -182,8 +119,8 @@ import {
|
|
|
182
119
|
exitTheater
|
|
183
120
|
} from "./chunk-LEKPWZQL.js";
|
|
184
121
|
import {
|
|
185
|
-
|
|
186
|
-
} from "./chunk-
|
|
122
|
+
expandMiniplayer
|
|
123
|
+
} from "./chunk-DN4TFOZV.js";
|
|
187
124
|
import {
|
|
188
125
|
cast
|
|
189
126
|
} from "./chunk-6S5BMP4A.js";
|
|
@@ -206,8 +143,8 @@ import {
|
|
|
206
143
|
dragIndicator
|
|
207
144
|
} from "./chunk-ZLZCQ3KJ.js";
|
|
208
145
|
import {
|
|
209
|
-
|
|
210
|
-
} from "./chunk-
|
|
146
|
+
edit
|
|
147
|
+
} from "./chunk-NLJQAJZB.js";
|
|
211
148
|
import {
|
|
212
149
|
autoplay
|
|
213
150
|
} from "./chunk-WTHHXWQM.js";
|
|
@@ -229,6 +166,9 @@ import {
|
|
|
229
166
|
import {
|
|
230
167
|
captions
|
|
231
168
|
} from "./chunk-CTSPKWKN.js";
|
|
169
|
+
import {
|
|
170
|
+
capture
|
|
171
|
+
} from "./chunk-HA2GK6KH.js";
|
|
232
172
|
import {
|
|
233
173
|
add
|
|
234
174
|
} from "./chunk-ID72UAJE.js";
|
|
@@ -242,20 +182,74 @@ import {
|
|
|
242
182
|
ambience
|
|
243
183
|
} from "./chunk-XHXIXEGS.js";
|
|
244
184
|
import {
|
|
245
|
-
|
|
246
|
-
} from "./chunk-
|
|
185
|
+
audioTrack
|
|
186
|
+
} from "./chunk-AH2VE4UI.js";
|
|
187
|
+
import {
|
|
188
|
+
TouchTimelineNotifier
|
|
189
|
+
} from "./chunk-ROZ2DVZY.js";
|
|
190
|
+
import {
|
|
191
|
+
TouchVolumeNotifier
|
|
192
|
+
} from "./chunk-TF65XWDF.js";
|
|
193
|
+
import {
|
|
194
|
+
VolumeNotifier
|
|
195
|
+
} from "./chunk-GROXVN2G.js";
|
|
196
|
+
import {
|
|
197
|
+
FastPlayNotifier
|
|
198
|
+
} from "./chunk-JICGJ4UP.js";
|
|
199
|
+
import {
|
|
200
|
+
FwdBwdNotifier
|
|
201
|
+
} from "./chunk-VWW4TJZE.js";
|
|
202
|
+
import {
|
|
203
|
+
ObjectFitNotifier
|
|
204
|
+
} from "./chunk-KTJQE652.js";
|
|
205
|
+
import {
|
|
206
|
+
PlaybackRateNotifier
|
|
207
|
+
} from "./chunk-3QS7GOPW.js";
|
|
208
|
+
import {
|
|
209
|
+
PlayPauseNotifier
|
|
210
|
+
} from "./chunk-CXUKFTLF.js";
|
|
211
|
+
import {
|
|
212
|
+
PrevNextNotifier
|
|
213
|
+
} from "./chunk-7NEQ5XAX.js";
|
|
214
|
+
import {
|
|
215
|
+
ScrubNotifier
|
|
216
|
+
} from "./chunk-XUKTJ4IR.js";
|
|
217
|
+
import {
|
|
218
|
+
TouchBrightnessNotifier
|
|
219
|
+
} from "./chunk-KOMKJXF7.js";
|
|
220
|
+
import {
|
|
221
|
+
AirPlayNotifier
|
|
222
|
+
} from "./chunk-TG4S5H3J.js";
|
|
223
|
+
import {
|
|
224
|
+
BrightnessNotifier
|
|
225
|
+
} from "./chunk-7VZWEM2F.js";
|
|
226
|
+
import {
|
|
227
|
+
CancelScrubNotifier
|
|
228
|
+
} from "./chunk-T3UYDQUT.js";
|
|
229
|
+
import {
|
|
230
|
+
CaptionsNotifier
|
|
231
|
+
} from "./chunk-WM24WM6F.js";
|
|
232
|
+
import {
|
|
233
|
+
CaptureNotifier
|
|
234
|
+
} from "./chunk-MHYORMT3.js";
|
|
235
|
+
import {
|
|
236
|
+
CastNotifier
|
|
237
|
+
} from "./chunk-RAQIXNGY.js";
|
|
238
|
+
import {
|
|
239
|
+
ChapterNotifier
|
|
240
|
+
} from "./chunk-4MVKBVC2.js";
|
|
241
|
+
import {
|
|
242
|
+
BaseNotifier
|
|
243
|
+
} from "./chunk-2ZOG42IH.js";
|
|
247
244
|
import {
|
|
248
245
|
Timeline
|
|
249
|
-
} from "./chunk-
|
|
246
|
+
} from "./chunk-TLPMOBIP.js";
|
|
247
|
+
import {
|
|
248
|
+
VolumeControl
|
|
249
|
+
} from "./chunk-RX47TT5R.js";
|
|
250
250
|
import {
|
|
251
251
|
BrightnessControl
|
|
252
252
|
} from "./chunk-EUEB3EB2.js";
|
|
253
|
-
import {
|
|
254
|
-
RangeInput
|
|
255
|
-
} from "./chunk-AS4J74Q2.js";
|
|
256
|
-
import {
|
|
257
|
-
AirPlayPlaceholder
|
|
258
|
-
} from "./chunk-27O3RAUU.js";
|
|
259
253
|
import {
|
|
260
254
|
CastPlaceholder
|
|
261
255
|
} from "./chunk-62GSAKEC.js";
|
|
@@ -265,6 +259,12 @@ import {
|
|
|
265
259
|
import {
|
|
266
260
|
PiPPlaceholder
|
|
267
261
|
} from "./chunk-XQ5WJQXC.js";
|
|
262
|
+
import {
|
|
263
|
+
RangeInput
|
|
264
|
+
} from "./chunk-AS4J74Q2.js";
|
|
265
|
+
import {
|
|
266
|
+
AirPlayPlaceholder
|
|
267
|
+
} from "./chunk-27O3RAUU.js";
|
|
268
268
|
import {
|
|
269
269
|
PlayPauseButton
|
|
270
270
|
} from "./chunk-KQJ7OFOU.js";
|
|
@@ -494,4 +494,4 @@ __export(components_exports, {
|
|
|
494
494
|
export {
|
|
495
495
|
components_exports
|
|
496
496
|
};
|
|
497
|
-
//# sourceMappingURL=chunk-
|
|
497
|
+
//# sourceMappingURL=chunk-DSITGBUZ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SettingsMenu
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NFZTXMJM.js";
|
|
4
4
|
import {
|
|
5
5
|
SETTINGS_BUILD
|
|
6
6
|
} from "./chunk-ZMPG7PMV.js";
|
|
@@ -156,4 +156,4 @@ __publicField(PanelPlug, "BUILD", SETTINGS_BUILD);
|
|
|
156
156
|
export {
|
|
157
157
|
PanelPlug
|
|
158
158
|
};
|
|
159
|
-
//# sourceMappingURL=chunk-
|
|
159
|
+
//# sourceMappingURL=chunk-ET3QJ7G2.js.map
|
|
@@ -1,18 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Timeline
|
|
3
|
+
} from "./chunk-TLPMOBIP.js";
|
|
1
4
|
import {
|
|
2
5
|
VolumeControl
|
|
3
6
|
} from "./chunk-RX47TT5R.js";
|
|
4
|
-
import {
|
|
5
|
-
Timeline
|
|
6
|
-
} from "./chunk-UXCCQXAV.js";
|
|
7
7
|
import {
|
|
8
8
|
BrightnessControl
|
|
9
9
|
} from "./chunk-EUEB3EB2.js";
|
|
10
|
-
import {
|
|
11
|
-
RangeInput
|
|
12
|
-
} from "./chunk-AS4J74Q2.js";
|
|
13
|
-
import {
|
|
14
|
-
AirPlayPlaceholder
|
|
15
|
-
} from "./chunk-27O3RAUU.js";
|
|
16
10
|
import {
|
|
17
11
|
CastPlaceholder
|
|
18
12
|
} from "./chunk-62GSAKEC.js";
|
|
@@ -22,6 +16,12 @@ import {
|
|
|
22
16
|
import {
|
|
23
17
|
PiPPlaceholder
|
|
24
18
|
} from "./chunk-XQ5WJQXC.js";
|
|
19
|
+
import {
|
|
20
|
+
RangeInput
|
|
21
|
+
} from "./chunk-AS4J74Q2.js";
|
|
22
|
+
import {
|
|
23
|
+
AirPlayPlaceholder
|
|
24
|
+
} from "./chunk-27O3RAUU.js";
|
|
25
25
|
import {
|
|
26
26
|
PlayPauseButton
|
|
27
27
|
} from "./chunk-KQJ7OFOU.js";
|
|
@@ -163,4 +163,4 @@ for (const Comp of [
|
|
|
163
163
|
ErrorPlaceholder
|
|
164
164
|
])
|
|
165
165
|
ComponentRegistry.register(Comp);
|
|
166
|
-
//# sourceMappingURL=chunk-
|
|
166
|
+
//# sourceMappingURL=chunk-JAHHONGY.js.map
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
TouchBrightnessNotifier
|
|
3
|
-
} from "./chunk-KOMKJXF7.js";
|
|
4
1
|
import {
|
|
5
2
|
TouchTimelineNotifier
|
|
6
3
|
} from "./chunk-ROZ2DVZY.js";
|
|
@@ -10,9 +7,6 @@ import {
|
|
|
10
7
|
import {
|
|
11
8
|
VolumeNotifier
|
|
12
9
|
} from "./chunk-GROXVN2G.js";
|
|
13
|
-
import {
|
|
14
|
-
ChapterNotifier
|
|
15
|
-
} from "./chunk-4MVKBVC2.js";
|
|
16
10
|
import {
|
|
17
11
|
FastPlayNotifier
|
|
18
12
|
} from "./chunk-JICGJ4UP.js";
|
|
@@ -34,6 +28,9 @@ import {
|
|
|
34
28
|
import {
|
|
35
29
|
ScrubNotifier
|
|
36
30
|
} from "./chunk-XUKTJ4IR.js";
|
|
31
|
+
import {
|
|
32
|
+
TouchBrightnessNotifier
|
|
33
|
+
} from "./chunk-KOMKJXF7.js";
|
|
37
34
|
import {
|
|
38
35
|
AirPlayNotifier
|
|
39
36
|
} from "./chunk-TG4S5H3J.js";
|
|
@@ -52,6 +49,9 @@ import {
|
|
|
52
49
|
import {
|
|
53
50
|
CastNotifier
|
|
54
51
|
} from "./chunk-RAQIXNGY.js";
|
|
52
|
+
import {
|
|
53
|
+
ChapterNotifier
|
|
54
|
+
} from "./chunk-4MVKBVC2.js";
|
|
55
55
|
import {
|
|
56
56
|
ComponentRegistry
|
|
57
57
|
} from "./chunk-HU5B5DBA.js";
|
|
@@ -79,4 +79,4 @@ for (const Comp of [
|
|
|
79
79
|
AirPlayNotifier
|
|
80
80
|
])
|
|
81
81
|
ComponentRegistry.register(Comp);
|
|
82
|
-
//# sourceMappingURL=chunk-
|
|
82
|
+
//# sourceMappingURL=chunk-JP5OIJZ3.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
HTML5Tech
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import {
|
|
5
|
-
MSE_ENABLED
|
|
6
|
-
} from "./chunk-RNETXJ63.js";
|
|
3
|
+
} from "./chunk-U6ASM7L3.js";
|
|
7
4
|
import {
|
|
8
5
|
DASH_EXTENSIONS
|
|
9
6
|
} from "./chunk-2XJFCVED.js";
|
|
7
|
+
import {
|
|
8
|
+
MSE_ENABLED
|
|
9
|
+
} from "./chunk-RNETXJ63.js";
|
|
10
10
|
import {
|
|
11
11
|
loadResource
|
|
12
12
|
} from "./chunk-2PRS6O7C.js";
|
|
@@ -163,4 +163,4 @@ __publicField(DashTech, "techName", "dash");
|
|
|
163
163
|
export {
|
|
164
164
|
DashTech
|
|
165
165
|
};
|
|
166
|
-
//# sourceMappingURL=chunk-
|
|
166
|
+
//# sourceMappingURL=chunk-K5AK6EC6.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-U6ASM7L3.js";
|
|
4
4
|
import {
|
|
5
5
|
globalState
|
|
6
6
|
} from "./chunk-FD6VCHH5.js";
|
|
@@ -27,4 +27,4 @@ if ("undefined" !== typeof window) {
|
|
|
27
27
|
console.log("\x1B[38;2;139;69;19mTMG Media Player Unavailable\x1B[0m");
|
|
28
28
|
console.error("TMG Media Player cannot run in a terminal!"), console.warn("Consider moving to a browser environment to use the TMG Media Player");
|
|
29
29
|
}
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
30
|
+
//# sourceMappingURL=chunk-NEM7C4ZO.js.map
|
|
@@ -92,11 +92,7 @@ var SettingsMenu = class extends BaseComponent {
|
|
|
92
92
|
existing.items ?? (existing.items = []);
|
|
93
93
|
for (const subItem of item.items) {
|
|
94
94
|
const exSub = existing.items.find((i) => i.id === subItem.id);
|
|
95
|
-
|
|
96
|
-
else {
|
|
97
|
-
const pIdx = existing.items.findIndex((i) => i.id.toLowerCase().includes("persist"));
|
|
98
|
-
pIdx !== -1 ? existing.items.splice(pIdx, 0, subItem) : existing.items.push(subItem);
|
|
99
|
-
}
|
|
95
|
+
exSub ? this.mergeItem(subItem) : existing.items.push(subItem);
|
|
100
96
|
}
|
|
101
97
|
}
|
|
102
98
|
if (item.actions) existing.actions = [...existing.actions || [], ...item.actions];
|
|
@@ -216,4 +212,4 @@ __publicField(SettingsMenu, "componentName", "SettingsMenu");
|
|
|
216
212
|
export {
|
|
217
213
|
SettingsMenu
|
|
218
214
|
};
|
|
219
|
-
//# sourceMappingURL=chunk-
|
|
215
|
+
//# sourceMappingURL=chunk-NFZTXMJM.js.map
|