@telepath-computer/television 0.1.216 → 1.3.3
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/THIRD-PARTY-NOTICES.txt +336 -0
- package/dist/canonical/v1/frozen.json +6 -0
- package/dist/canonical/v1/styles.css +7 -2
- package/dist/canonical/v2/components.js +1 -0
- package/dist/canonical/v2/fonts/Hind-Variable.933e9900.woff2 +0 -0
- package/dist/canonical/v2/styles.css +1241 -0
- package/dist/cli.cjs +1763 -761
- package/dist/onboarding/README.md +16 -14
- package/dist/onboarding/business-ops/about.html +4 -3
- package/dist/onboarding/business-ops/retention-vs-releases.html +25 -32
- package/dist/onboarding/business-ops/revenue-vs-goals.html +26 -31
- package/dist/onboarding/productivity/about.html +4 -3
- package/dist/onboarding/productivity/company-todos/THIRD-PARTY-NOTICES.txt +29 -0
- package/dist/onboarding/productivity/company-todos/index.html +20 -20
- package/dist/onboarding/productivity/company-todos/task.css +4 -5
- package/dist/onboarding/productivity/company-todos/task.js +1 -1
- package/dist/onboarding/productivity/meeting-prep.html +12 -12
- package/dist/onboarding/productivity/priorities-today.html +10 -10
- package/dist/onboarding/productivity/todays-calendar/calendar.css +1 -1
- package/dist/onboarding/productivity/todays-calendar/index.html +12 -14
- package/dist/onboarding/research/about.html +4 -3
- package/dist/onboarding/research/open-model-research.html +35 -35
- package/dist/onboarding/research/todays-news.html +72 -72
- package/dist/onboarding/tv-guide/welcome.html +178 -0
- package/dist/skills/television/SKILL.md +124 -67
- package/dist/skills/television/theming.md +1086 -0
- package/dist/skills/tv-calendar/SKILL.md +3 -1
- package/dist/skills/tv-calendar/calendar.css +1 -1
- package/dist/skills/tv-table/SKILL.md +5 -2
- package/dist/skills/tv-tasks/SKILL.md +19 -15
- package/dist/skills/tv-tasks/task.css +4 -26
- package/dist/skills/tv-tasks/task.js +1 -1
- package/dist/themes/README.md +5 -0
- package/dist/themes/aquarium/README.md +48 -0
- package/dist/themes/aquarium/iframe-background.js +137 -0
- package/dist/themes/aquarium/manifest.json +7 -0
- package/dist/themes/aquarium/theme.css +46 -0
- package/dist/themes/blueprint/README.md +31 -0
- package/dist/themes/blueprint/manifest.json +6 -0
- package/dist/themes/blueprint/theme.css +115 -0
- package/dist/themes/clouds/README.md +15 -0
- package/dist/themes/clouds/THIRD-PARTY-NOTICES.txt +81 -0
- package/dist/themes/clouds/manifest.json +6 -0
- package/dist/themes/clouds/theme.css +62 -0
- package/dist/themes/clouds/wallpaper-dark.webp +0 -0
- package/dist/themes/clouds/wallpaper.webp +0 -0
- package/dist/themes/crt-phosphor/README.md +31 -0
- package/dist/themes/crt-phosphor/manifest.json +6 -0
- package/dist/themes/crt-phosphor/theme.css +105 -0
- package/dist/themes/nord/README.md +9 -0
- package/dist/themes/nord/THIRD-PARTY-NOTICES.txt +29 -0
- package/dist/themes/nord/manifest.json +5 -0
- package/dist/themes/nord/theme.css +28 -0
- package/dist/themes/swiss/README.md +5 -0
- package/dist/themes/swiss/manifest.json +5 -0
- package/dist/themes/swiss/theme.css +34 -0
- package/dist/themes/tokyo-night/README.md +17 -0
- package/dist/themes/tokyo-night/THIRD-PARTY-NOTICES.txt +235 -0
- package/dist/themes/tokyo-night/manifest.json +5 -0
- package/dist/themes/tokyo-night/theme.css +31 -0
- package/dist/themes/tokyo-night/wallpaper.webp +0 -0
- package/dist/views/artifact-missing/index.html +40 -68
- package/dist/views/markdown/THIRD-PARTY-NOTICES.txt +26 -0
- package/dist/views/markdown/index.html +49 -23
- package/dist/web/THIRD-PARTY-NOTICES.txt +26 -0
- package/dist/web/assets/artifact-bridge-BEUWXKq7.js +1 -0
- package/dist/web/assets/{artifactMissing-BiK_l3Ts.js → artifactMissing-CUs1ZwDx.js} +1 -1
- package/dist/web/assets/main-Bi6QZnn7.css +1 -0
- package/dist/web/assets/main-Dw6rK_zF.js +706 -0
- package/dist/web/assets/{urlUnsupported-RGIrhMDe.js → urlUnsupported-powR79PT.js} +1 -1
- package/dist/web/index.html +40 -5
- package/dist/web/views/artifact-missing/index.html +40 -68
- package/dist/web/views/url-unsupported/index.html +40 -68
- package/package.json +1 -1
- package/dist/onboarding/tv-guide/welcome/assets/television.svg +0 -71
- package/dist/onboarding/tv-guide/welcome/index.html +0 -203
- package/dist/skills/tv-theme/SKILL.md +0 -449
- package/dist/web/assets/artifact-bridge-3Trk-B2L.js +0 -1
- package/dist/web/assets/clouds-CAYIArXj.jpg +0 -0
- package/dist/web/assets/main-Blg8fuaV.css +0 -1
- package/dist/web/assets/main-V14r9Psb.js +0 -596
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{j as a,m as o,n as d}from"./artifact-bridge-BEUWXKq7.js";a(window,{reportNavigation:!1});window.addEventListener("message",t=>{t.source===window.parent&&o(t.data)&&l(t.data.url)});window.parent.postMessage({type:d},"*");function l(t,n=document){const e=f(n);if(p(e),t===null){e.targetBlock.hidden=!0,e.desktopApp.hidden=!1;return}const r=g(t);if(e.targetBlock.hidden=!1,e.desktopApp.hidden=!1,e.addressLabel.textContent="This is the URL you're trying to visit:",r){e.targetLink.textContent=t,e.targetLink.href=r.href,e.targetLink.hidden=!1;return}e.plainAddress.textContent=t,e.plainAddress.hidden=!1}function p(t){t.targetLink.removeAttribute("href"),t.targetLink.textContent="",t.targetLink.hidden=!0,t.addressLabel.textContent="",t.plainAddress.textContent="",t.plainAddress.hidden=!0}function g(t){try{const n=new URL(t);return n.protocol!=="http:"&&n.protocol!=="https:"?null:n}catch{return null}}function f(t){const n=t.getElementById("target-block"),e=t.getElementById("address-label"),r=t.getElementById("target-link"),s=t.getElementById("plain-address"),i=t.getElementById("desktop-app");if(!(n instanceof HTMLElement))throw new Error("Missing #target-block");if(!(e instanceof HTMLElement))throw new Error("Missing #address-label");if(!(r instanceof HTMLAnchorElement))throw new Error("Missing #target-link");if(!(s instanceof HTMLElement))throw new Error("Missing #plain-address");if(!(i instanceof HTMLElement))throw new Error("Missing #desktop-app");return{targetBlock:n,addressLabel:e,targetLink:r,plainAddress:s,desktopApp:i}}
|
package/dist/web/index.html
CHANGED
|
@@ -1,15 +1,50 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
2
|
+
<html lang="en" data-television-document="app">
|
|
3
3
|
<head>
|
|
4
|
+
<script>(function installAppearanceResolver(
|
|
5
|
+
initialPreference ,
|
|
6
|
+
targetWindow = window,
|
|
7
|
+
) {
|
|
8
|
+
const existing = targetWindow.__televisionAppearanceResolver;
|
|
9
|
+
if (existing !== undefined) return existing;
|
|
10
|
+
|
|
11
|
+
const query = targetWindow.matchMedia("(prefers-color-scheme: dark)");
|
|
12
|
+
let preference = initialPreference;
|
|
13
|
+
const isPreference = (value ) =>
|
|
14
|
+
value === "system" || value === "light" || value === "dark";
|
|
15
|
+
const apply = () => {
|
|
16
|
+
const effective = preference === "system"
|
|
17
|
+
? query.matches ? "dark" : "light"
|
|
18
|
+
: preference;
|
|
19
|
+
targetWindow.document.documentElement.dataset.theme = effective;
|
|
20
|
+
};
|
|
21
|
+
const controller = {
|
|
22
|
+
setPreference(nextPreference) {
|
|
23
|
+
if (!isPreference(nextPreference)) return;
|
|
24
|
+
preference = nextPreference;
|
|
25
|
+
apply();
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// Publish before installing the listener so a re-entrant installation sees
|
|
30
|
+
// the same controller and cannot add a competing listener.
|
|
31
|
+
targetWindow.__televisionAppearanceResolver = controller;
|
|
32
|
+
query.addEventListener("change", () => {
|
|
33
|
+
if (preference === "system") apply();
|
|
34
|
+
});
|
|
35
|
+
apply();
|
|
36
|
+
return controller;
|
|
37
|
+
})((()=>{try{const value=window.localStorage.getItem("television-appearance-mode");return value==="system"||value==="light"||value==="dark"?value:"system";}catch{return "system";}})());</script>
|
|
38
|
+
|
|
4
39
|
<meta charset="UTF-8" />
|
|
5
40
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
|
6
41
|
<link rel="icon" type="image/svg+xml" href="./assets/favicon-DaYMFRha.svg" />
|
|
7
42
|
<title>Television</title>
|
|
8
|
-
<script type="module" crossorigin src="./assets/main-
|
|
9
|
-
<link rel="modulepreload" crossorigin href="./assets/artifact-bridge-
|
|
43
|
+
<script type="module" crossorigin src="./assets/main-Dw6rK_zF.js"></script>
|
|
44
|
+
<link rel="modulepreload" crossorigin href="./assets/artifact-bridge-BEUWXKq7.js">
|
|
10
45
|
<link rel="modulepreload" crossorigin href="./assets/missing-artifact-page-DVzJ41AE.js">
|
|
11
|
-
<link rel="stylesheet" crossorigin href="./assets/main-
|
|
12
|
-
<link rel="preload" as="font" crossorigin="" href="/canonical/
|
|
46
|
+
<link rel="stylesheet" crossorigin href="./assets/main-Bi6QZnn7.css">
|
|
47
|
+
<link rel="preload" as="font" crossorigin="" href="/canonical/v2/fonts/Hind-Variable.933e9900.woff2">
|
|
13
48
|
</head>
|
|
14
49
|
<body></body>
|
|
15
50
|
</html>
|
|
@@ -1,77 +1,44 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
|
+
<script>(function installAppearanceResolver(initialPreference, targetWindow = window) {
|
|
5
|
+
const existing = targetWindow.__televisionAppearanceResolver;
|
|
6
|
+
if (existing !== void 0) return existing;
|
|
7
|
+
const query = targetWindow.matchMedia("(prefers-color-scheme: dark)");
|
|
8
|
+
let preference = initialPreference;
|
|
9
|
+
const isPreference = (value) => value === "system" || value === "light" || value === "dark";
|
|
10
|
+
const apply = () => {
|
|
11
|
+
const effective = preference === "system" ? query.matches ? "dark" : "light" : preference;
|
|
12
|
+
targetWindow.document.documentElement.dataset.theme = effective;
|
|
13
|
+
};
|
|
14
|
+
const controller = {
|
|
15
|
+
setPreference(nextPreference) {
|
|
16
|
+
if (!isPreference(nextPreference)) return;
|
|
17
|
+
preference = nextPreference;
|
|
18
|
+
apply();
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
targetWindow.__televisionAppearanceResolver = controller;
|
|
22
|
+
query.addEventListener("change", () => {
|
|
23
|
+
if (preference === "system") apply();
|
|
24
|
+
});
|
|
25
|
+
apply();
|
|
26
|
+
return controller;
|
|
27
|
+
})("system");</script>
|
|
28
|
+
|
|
4
29
|
<meta charset="UTF-8" />
|
|
5
30
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
31
|
<title>Artifact file not found</title>
|
|
7
|
-
<style
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
--neutral-200: oklch(92.2% 0 none);
|
|
12
|
-
--neutral-900: oklch(20.5% 0 none);
|
|
13
|
-
--blue-500: oklch(0.623 0.214 259.815);
|
|
14
|
-
|
|
15
|
-
--color-text: var(--neutral-900);
|
|
16
|
-
--color-background: var(--neutral-200);
|
|
17
|
-
|
|
18
|
-
--text-base: 14px;
|
|
19
|
-
--text-sm: round(calc(var(--text-md) / var(--text-scale)), 1px);
|
|
20
|
-
--text-md: var(--text-base);
|
|
21
|
-
--text-lg: round(calc(var(--text-md) * var(--text-scale)), 1px);
|
|
22
|
-
--text-scale: 1.125;
|
|
23
|
-
--leading-base: 1.5;
|
|
24
|
-
|
|
25
|
-
/* Loading Hind here would require another standalone asset route. Use the
|
|
26
|
-
fallback portion of the foundation's sans stack instead. */
|
|
27
|
-
--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
|
|
28
|
-
--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;
|
|
29
|
-
--font-weight-semibold: 600;
|
|
30
|
-
|
|
31
|
-
--space-2: 2px;
|
|
32
|
-
--space-4: 4px;
|
|
33
|
-
--space-6: 6px;
|
|
34
|
-
--space-12: 12px;
|
|
35
|
-
--space-24: 24px;
|
|
36
|
-
--radius-4: 4px;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/* The standalone reset declarations are copied from foundation/reset.css. */
|
|
40
|
-
*,
|
|
41
|
-
*::before,
|
|
42
|
-
*::after {
|
|
43
|
-
box-sizing: border-box;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
html,
|
|
47
|
-
body {
|
|
48
|
-
margin: 0;
|
|
49
|
-
padding: 0;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
body {
|
|
53
|
-
min-height: 100vh;
|
|
54
|
-
font-family: var(--font-sans);
|
|
55
|
-
font-size: var(--text-md);
|
|
56
|
-
line-height: var(--leading-base);
|
|
57
|
-
color: var(--color-text);
|
|
58
|
-
background: var(--color-background);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
h1,
|
|
62
|
-
p {
|
|
63
|
-
margin: 0;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/* The page: the app's ground with the state's message in a centred reading
|
|
67
|
-
column. */
|
|
32
|
+
<link data-television-style="canonical" rel="stylesheet" href="/canonical/v2/styles.css" />
|
|
33
|
+
<style>/* The page: a muted surface with the state's message in a centred reading
|
|
34
|
+
column — quiet ground of its own, not the app's wallpaper. Canonical
|
|
35
|
+
supplies the reset, foundation tokens, and base prose. */
|
|
68
36
|
.artifact-error {
|
|
69
37
|
min-height: 100vh;
|
|
70
|
-
box-sizing: border-box;
|
|
71
38
|
padding: var(--space-24);
|
|
72
39
|
display: grid;
|
|
73
40
|
place-items: center;
|
|
74
|
-
background: var(--color-
|
|
41
|
+
background: var(--color-surface-muted);
|
|
75
42
|
}
|
|
76
43
|
|
|
77
44
|
.artifact-error-body {
|
|
@@ -81,6 +48,11 @@ p {
|
|
|
81
48
|
gap: var(--space-12);
|
|
82
49
|
}
|
|
83
50
|
|
|
51
|
+
.artifact-error h1,
|
|
52
|
+
.artifact-error p {
|
|
53
|
+
margin: 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
84
56
|
.artifact-error h1 {
|
|
85
57
|
font-size: var(--text-lg);
|
|
86
58
|
font-weight: var(--font-weight-semibold);
|
|
@@ -101,7 +73,7 @@ p {
|
|
|
101
73
|
}
|
|
102
74
|
|
|
103
75
|
.artifact-error a {
|
|
104
|
-
color: var(--
|
|
76
|
+
color: var(--color-primary);
|
|
105
77
|
}
|
|
106
78
|
|
|
107
79
|
/* The chips — the path, the commands: mono, wrapping anywhere, selected
|
|
@@ -111,10 +83,10 @@ p {
|
|
|
111
83
|
max-width: 100%;
|
|
112
84
|
overflow-wrap: anywhere;
|
|
113
85
|
padding: var(--space-2) var(--space-6);
|
|
114
|
-
border-radius:
|
|
86
|
+
border-radius: 4px;
|
|
115
87
|
font-family: var(--font-mono);
|
|
116
88
|
font-size: var(--text-sm);
|
|
117
|
-
background: var(--
|
|
89
|
+
background: var(--color-surface-muted);
|
|
118
90
|
user-select: all;
|
|
119
91
|
}
|
|
120
92
|
|
|
@@ -123,8 +95,8 @@ p {
|
|
|
123
95
|
display: none !important;
|
|
124
96
|
}
|
|
125
97
|
</style>
|
|
126
|
-
<script type="module" crossorigin src="../../assets/artifactMissing-
|
|
127
|
-
<link rel="modulepreload" crossorigin href="../../assets/artifact-bridge-
|
|
98
|
+
<script type="module" crossorigin src="../../assets/artifactMissing-CUs1ZwDx.js"></script>
|
|
99
|
+
<link rel="modulepreload" crossorigin href="../../assets/artifact-bridge-BEUWXKq7.js">
|
|
128
100
|
<link rel="modulepreload" crossorigin href="../../assets/missing-artifact-page-DVzJ41AE.js">
|
|
129
101
|
</head>
|
|
130
102
|
<body>
|
|
@@ -1,77 +1,44 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
|
+
<script>(function installAppearanceResolver(initialPreference, targetWindow = window) {
|
|
5
|
+
const existing = targetWindow.__televisionAppearanceResolver;
|
|
6
|
+
if (existing !== void 0) return existing;
|
|
7
|
+
const query = targetWindow.matchMedia("(prefers-color-scheme: dark)");
|
|
8
|
+
let preference = initialPreference;
|
|
9
|
+
const isPreference = (value) => value === "system" || value === "light" || value === "dark";
|
|
10
|
+
const apply = () => {
|
|
11
|
+
const effective = preference === "system" ? query.matches ? "dark" : "light" : preference;
|
|
12
|
+
targetWindow.document.documentElement.dataset.theme = effective;
|
|
13
|
+
};
|
|
14
|
+
const controller = {
|
|
15
|
+
setPreference(nextPreference) {
|
|
16
|
+
if (!isPreference(nextPreference)) return;
|
|
17
|
+
preference = nextPreference;
|
|
18
|
+
apply();
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
targetWindow.__televisionAppearanceResolver = controller;
|
|
22
|
+
query.addEventListener("change", () => {
|
|
23
|
+
if (preference === "system") apply();
|
|
24
|
+
});
|
|
25
|
+
apply();
|
|
26
|
+
return controller;
|
|
27
|
+
})("system");</script>
|
|
28
|
+
|
|
4
29
|
<meta charset="UTF-8" />
|
|
5
30
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
31
|
<title>External web page</title>
|
|
7
|
-
<style
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
--neutral-200: oklch(92.2% 0 none);
|
|
12
|
-
--neutral-900: oklch(20.5% 0 none);
|
|
13
|
-
--blue-500: oklch(0.623 0.214 259.815);
|
|
14
|
-
|
|
15
|
-
--color-text: var(--neutral-900);
|
|
16
|
-
--color-background: var(--neutral-200);
|
|
17
|
-
|
|
18
|
-
--text-base: 14px;
|
|
19
|
-
--text-sm: round(calc(var(--text-md) / var(--text-scale)), 1px);
|
|
20
|
-
--text-md: var(--text-base);
|
|
21
|
-
--text-lg: round(calc(var(--text-md) * var(--text-scale)), 1px);
|
|
22
|
-
--text-scale: 1.125;
|
|
23
|
-
--leading-base: 1.5;
|
|
24
|
-
|
|
25
|
-
/* Loading Hind here would require another standalone asset route. Use the
|
|
26
|
-
fallback portion of the foundation's sans stack instead. */
|
|
27
|
-
--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
|
|
28
|
-
--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;
|
|
29
|
-
--font-weight-semibold: 600;
|
|
30
|
-
|
|
31
|
-
--space-2: 2px;
|
|
32
|
-
--space-4: 4px;
|
|
33
|
-
--space-6: 6px;
|
|
34
|
-
--space-12: 12px;
|
|
35
|
-
--space-24: 24px;
|
|
36
|
-
--radius-4: 4px;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/* The standalone reset declarations are copied from foundation/reset.css. */
|
|
40
|
-
*,
|
|
41
|
-
*::before,
|
|
42
|
-
*::after {
|
|
43
|
-
box-sizing: border-box;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
html,
|
|
47
|
-
body {
|
|
48
|
-
margin: 0;
|
|
49
|
-
padding: 0;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
body {
|
|
53
|
-
min-height: 100vh;
|
|
54
|
-
font-family: var(--font-sans);
|
|
55
|
-
font-size: var(--text-md);
|
|
56
|
-
line-height: var(--leading-base);
|
|
57
|
-
color: var(--color-text);
|
|
58
|
-
background: var(--color-background);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
h1,
|
|
62
|
-
p {
|
|
63
|
-
margin: 0;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/* The page: the app's ground with the state's message in a centred reading
|
|
67
|
-
column. */
|
|
32
|
+
<link data-television-style="canonical" rel="stylesheet" href="/canonical/v2/styles.css" />
|
|
33
|
+
<style>/* The page: a muted surface with the state's message in a centred reading
|
|
34
|
+
column — quiet ground of its own, not the app's wallpaper. Canonical
|
|
35
|
+
supplies the reset, foundation tokens, and base prose. */
|
|
68
36
|
.artifact-error {
|
|
69
37
|
min-height: 100vh;
|
|
70
|
-
box-sizing: border-box;
|
|
71
38
|
padding: var(--space-24);
|
|
72
39
|
display: grid;
|
|
73
40
|
place-items: center;
|
|
74
|
-
background: var(--color-
|
|
41
|
+
background: var(--color-surface-muted);
|
|
75
42
|
}
|
|
76
43
|
|
|
77
44
|
.artifact-error-body {
|
|
@@ -81,6 +48,11 @@ p {
|
|
|
81
48
|
gap: var(--space-12);
|
|
82
49
|
}
|
|
83
50
|
|
|
51
|
+
.artifact-error h1,
|
|
52
|
+
.artifact-error p {
|
|
53
|
+
margin: 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
84
56
|
.artifact-error h1 {
|
|
85
57
|
font-size: var(--text-lg);
|
|
86
58
|
font-weight: var(--font-weight-semibold);
|
|
@@ -101,7 +73,7 @@ p {
|
|
|
101
73
|
}
|
|
102
74
|
|
|
103
75
|
.artifact-error a {
|
|
104
|
-
color: var(--
|
|
76
|
+
color: var(--color-primary);
|
|
105
77
|
}
|
|
106
78
|
|
|
107
79
|
/* The chips — the path, the commands: mono, wrapping anywhere, selected
|
|
@@ -111,10 +83,10 @@ p {
|
|
|
111
83
|
max-width: 100%;
|
|
112
84
|
overflow-wrap: anywhere;
|
|
113
85
|
padding: var(--space-2) var(--space-6);
|
|
114
|
-
border-radius:
|
|
86
|
+
border-radius: 4px;
|
|
115
87
|
font-family: var(--font-mono);
|
|
116
88
|
font-size: var(--text-sm);
|
|
117
|
-
background: var(--
|
|
89
|
+
background: var(--color-surface-muted);
|
|
118
90
|
user-select: all;
|
|
119
91
|
}
|
|
120
92
|
|
|
@@ -123,8 +95,8 @@ p {
|
|
|
123
95
|
display: none !important;
|
|
124
96
|
}
|
|
125
97
|
</style>
|
|
126
|
-
<script type="module" crossorigin src="../../assets/urlUnsupported-
|
|
127
|
-
<link rel="modulepreload" crossorigin href="../../assets/artifact-bridge-
|
|
98
|
+
<script type="module" crossorigin src="../../assets/urlUnsupported-powR79PT.js"></script>
|
|
99
|
+
<link rel="modulepreload" crossorigin href="../../assets/artifact-bridge-BEUWXKq7.js">
|
|
128
100
|
</head>
|
|
129
101
|
<body>
|
|
130
102
|
<main class="artifact-error">
|
package/package.json
CHANGED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<svg id="TV_-_Black" data-name="TV - Black" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 55 55">
|
|
3
|
-
<defs>
|
|
4
|
-
<style>
|
|
5
|
-
.cls-1, .cls-2 {
|
|
6
|
-
fill: none;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.cls-3 {
|
|
10
|
-
fill: #0015ff;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.cls-4 {
|
|
14
|
-
fill: #ff01d0;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.cls-5 {
|
|
18
|
-
fill: #40d2b3;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.cls-6 {
|
|
22
|
-
fill: url(#linear-gradient);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.cls-7 {
|
|
26
|
-
fill: #38c428;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.cls-2 {
|
|
30
|
-
stroke: #fff;
|
|
31
|
-
stroke-width: 3px;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.cls-8 {
|
|
35
|
-
fill: #fff;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.cls-9 {
|
|
39
|
-
fill: #ffcd27;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.cls-10 {
|
|
43
|
-
fill: #d24043;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
.cls-11 {
|
|
47
|
-
clip-path: url(#clippath);
|
|
48
|
-
}
|
|
49
|
-
</style>
|
|
50
|
-
<linearGradient id="linear-gradient" x1="27.5" y1="1.45" x2="27.5" y2="53.55" gradientUnits="userSpaceOnUse">
|
|
51
|
-
<stop offset="0" stop-color="#000"/>
|
|
52
|
-
<stop offset="1" stop-color="#262626"/>
|
|
53
|
-
</linearGradient>
|
|
54
|
-
<clipPath id="clippath">
|
|
55
|
-
<path class="cls-1" d="M14.2,7.7h26.6c3.15,0,5.7,2.66,5.7,5.94v27.72c0,3.28-2.55,5.94-5.7,5.94H14.2c-3.15,0-5.7-2.66-5.7-5.94V13.64c0-3.28,2.55-5.94,5.7-5.94Z"/>
|
|
56
|
-
</clipPath>
|
|
57
|
-
</defs>
|
|
58
|
-
<path class="cls-6" d="M12.5,1.45h30c5.47,0,10.48,4.46,10.89,9.98.73,10.7.73,21.44,0,32.13-.41,5.52-5.42,9.98-10.89,9.98H12.5c-5.47,0-10.48-4.46-10.89-9.98-.73-10.7-.73-21.44,0-32.13C2.02,5.91,7.03,1.45,12.5,1.45Z"/>
|
|
59
|
-
<g class="cls-11">
|
|
60
|
-
<g>
|
|
61
|
-
<rect class="cls-8" x="8.5" y="7.7" width="38" height="39.6" rx="5.7" ry="5.7"/>
|
|
62
|
-
<path class="cls-7" d="M27.5,48.78V6.71h-9.98v42.07h9.98Z"/>
|
|
63
|
-
<path class="cls-4" d="M27.5,6.71v42.07h9.97V6.71h-9.97Z"/>
|
|
64
|
-
<path class="cls-5" d="M22.75,48.29c-3.8-18.22-1.58-34.98,0-41.08h-11.88v41.08c3.96.33,11.88.79,11.88,0Z"/>
|
|
65
|
-
<path class="cls-10" d="M32.25,7.21c3.8,18.22,1.58,34.98,0,41.08h11.88V7.21c-3.96-.33-11.88-.79-11.88,0Z"/>
|
|
66
|
-
<path class="cls-9" d="M15.62,47.3c-5.7-17.42-2.38-33.66,0-39.6H7.07v39.6s9.03.49,8.55,0Z"/>
|
|
67
|
-
<path class="cls-3" d="M38.92,6.93c5.69,17.76,2.37,34.31,0,40.36h8.53V6.93s-9.01-.5-8.53,0Z"/>
|
|
68
|
-
</g>
|
|
69
|
-
</g>
|
|
70
|
-
<path class="cls-2" d="M14.2,8.74h26.6c2.56,0,5.25,2.06,5.8,4.64,1.89,9.31,1.89,18.91,0,28.23-.55,2.58-3.25,4.64-5.8,4.64H14.2c-2.56,0-5.25-2.06-5.8-4.64-1.89-9.31-1.89-18.91,0-28.23.55-2.58,3.25-4.64,5.8-4.64Z"/>
|
|
71
|
-
</svg>
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
-
<title>Welcome to Television</title>
|
|
7
|
-
<link rel="stylesheet" href="/canonical/v1/styles.css">
|
|
8
|
-
<script type="module" src="/canonical/v1/components.js"></script>
|
|
9
|
-
<style>
|
|
10
|
-
html {
|
|
11
|
-
min-height: 100%;
|
|
12
|
-
background: linear-gradient(135deg, #ffffff 0%, #f2f2f2 100%);
|
|
13
|
-
background-attachment: fixed;
|
|
14
|
-
overscroll-behavior: none;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
body {
|
|
18
|
-
margin: 0;
|
|
19
|
-
padding: 48px;
|
|
20
|
-
min-height: 100%;
|
|
21
|
-
box-sizing: border-box;
|
|
22
|
-
background: transparent;
|
|
23
|
-
font-size: 15px;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
tv-icon {
|
|
27
|
-
position: relative;
|
|
28
|
-
top: 1px;
|
|
29
|
-
color: var(--color-text-muted);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.logo {
|
|
33
|
-
width: 22px;
|
|
34
|
-
height: 22px;
|
|
35
|
-
margin-left: 2px;
|
|
36
|
-
margin-right: -2px;
|
|
37
|
-
vertical-align: -3px;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
h1 {
|
|
41
|
-
margin-bottom: 10px;
|
|
42
|
-
font-size: 24px;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.lede {
|
|
46
|
-
margin-bottom: 18px;
|
|
47
|
-
color: var(--color-text-muted);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.keycap {
|
|
51
|
-
display: inline-block;
|
|
52
|
-
margin: 0 2px;
|
|
53
|
-
padding: 0 3px;
|
|
54
|
-
border: 1px solid var(--color-border);
|
|
55
|
-
border-radius: 6px;
|
|
56
|
-
background: var(--color-bg-muted);
|
|
57
|
-
font-size: 14px;
|
|
58
|
-
font-weight: 600;
|
|
59
|
-
line-height: 1.3;
|
|
60
|
-
white-space: nowrap;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.prompts {
|
|
64
|
-
position: relative;
|
|
65
|
-
max-width: 460px;
|
|
66
|
-
height: 220px;
|
|
67
|
-
margin: 24px auto;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
.prompt {
|
|
71
|
-
position: absolute;
|
|
72
|
-
display: grid;
|
|
73
|
-
grid-template-columns: 22px minmax(0, 1fr);
|
|
74
|
-
gap: 8px;
|
|
75
|
-
align-items: flex-start;
|
|
76
|
-
width: 238px;
|
|
77
|
-
min-height: 104px;
|
|
78
|
-
margin: 0;
|
|
79
|
-
padding: 14px;
|
|
80
|
-
border: 1px solid var(--color-border);
|
|
81
|
-
border-radius: 14px;
|
|
82
|
-
background: #fff;
|
|
83
|
-
box-shadow: 0 6px 18px rgb(0 0 0 / 0.06);
|
|
84
|
-
color: color-mix(in srgb, var(--color-text) 82%, var(--color-text-muted));
|
|
85
|
-
font-size: 13.5px;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
.prompt svg {
|
|
89
|
-
width: 22px;
|
|
90
|
-
height: 22px;
|
|
91
|
-
color: var(--color-primary);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.prompt svg.weather-icon {
|
|
95
|
-
color: #ffcc28;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.prompt svg.todo-icon {
|
|
99
|
-
color: #41d1b3;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
.prompt svg.food-icon {
|
|
103
|
-
color: #d14144;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
.prompt:nth-child(1) {
|
|
107
|
-
left: -48px;
|
|
108
|
-
top: 0;
|
|
109
|
-
width: 298px;
|
|
110
|
-
transform: rotate(-4deg);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
.prompt:nth-child(2) {
|
|
114
|
-
right: -52px;
|
|
115
|
-
top: 40px;
|
|
116
|
-
min-height: 78px;
|
|
117
|
-
transform: rotate(5deg);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
.prompt:nth-child(3) {
|
|
121
|
-
left: 74px;
|
|
122
|
-
top: 106px;
|
|
123
|
-
width: 310px;
|
|
124
|
-
transform: rotate(2deg);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
@media (max-width: 560px) {
|
|
128
|
-
.prompts {
|
|
129
|
-
display: flex;
|
|
130
|
-
flex-direction: column;
|
|
131
|
-
align-items: center;
|
|
132
|
-
height: auto;
|
|
133
|
-
gap: 8px;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
.prompt {
|
|
137
|
-
position: static;
|
|
138
|
-
width: min(350px, 100%);
|
|
139
|
-
min-height: 0;
|
|
140
|
-
transform: none !important;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
.callout {
|
|
145
|
-
margin-top: 28px;
|
|
146
|
-
padding: 12px 14px;
|
|
147
|
-
border: 1px solid var(--color-border);
|
|
148
|
-
border-radius: 10px;
|
|
149
|
-
background: color-mix(in srgb, oklch(0.86 0.01 255.67) 22%, var(--color-bg-muted));
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
.callout h2 {
|
|
153
|
-
display: flex;
|
|
154
|
-
gap: 6px;
|
|
155
|
-
align-items: center;
|
|
156
|
-
margin-top: 0;
|
|
157
|
-
color: color-mix(in srgb, var(--blue-700) 24%, var(--color-text-muted));
|
|
158
|
-
font-size: 12px;
|
|
159
|
-
font-weight: 800;
|
|
160
|
-
letter-spacing: 0.06em;
|
|
161
|
-
text-transform: uppercase;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
.callout-icon {
|
|
165
|
-
width: 16px;
|
|
166
|
-
height: 16px;
|
|
167
|
-
flex: none;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
.callout p {
|
|
171
|
-
color: color-mix(in srgb, var(--blue-900) 28%, var(--color-text-muted));
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
.callout p:last-child {
|
|
175
|
-
margin-bottom: 0;
|
|
176
|
-
}
|
|
177
|
-
</style>
|
|
178
|
-
</head>
|
|
179
|
-
<body>
|
|
180
|
-
<h1>Your <img class="logo" src="./assets/television.svg" alt=""> Television is on!</h1>
|
|
181
|
-
|
|
182
|
-
<p class="lede">Television is the missing GUI for your personal agent, created by the team at Telepath. We’re glad you’re here.</p>
|
|
183
|
-
|
|
184
|
-
<p>Your TV is organized into <strong>Channels</strong>, which are listed in the sidebar. We put you on "TV Guide" to start. Click <tv-icon name="expand"></tv-icon> to rename a channel or pin it to the top. Use <tv-icon name="add"></tv-icon> to add a new channel.</p>
|
|
185
|
-
|
|
186
|
-
<p>Channels hold <tv-icon name="artifact"></tv-icon> <strong>Artifacts</strong>, like this one. They're live surfaces your agent can create, edit, and update. Artifacts can be notes, editable documents, dashboards, web pages, reports, or custom web apps. Each artifact has a button at the top of the screen; click these buttons to navigate, or double-click to zoom. (You can also navigate by holding down Option and using the arrow keys.)</p>
|
|
187
|
-
|
|
188
|
-
<p>To create or change an artifact, simply tell your agent what you want to see! Click <tv-icon name="skills"></tv-icon> to view some of the artifacts that TV supports. Or try asking your agent…</p>
|
|
189
|
-
|
|
190
|
-
<div class="prompts">
|
|
191
|
-
<p class="prompt"><svg class="weather-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M139.84,84.41v0a68.22,68.22,0,0,0-41.65,46v-.11a44.08,44.08,0,0,0-38.54,5h0a48,48,0,1,1,80.19-50.94Z" opacity="0.2"/><path d="M164,72a76.2,76.2,0,0,0-20.26,2.73,55.63,55.63,0,0,0-9.41-11.54l9.51-13.57a8,8,0,1,0-13.11-9.18L121.22,54A55.9,55.9,0,0,0,96,48c-.58,0-1.16,0-1.74,0L91.37,31.71a8,8,0,1,0-15.75,2.77L78.5,50.82A56.1,56.1,0,0,0,55.23,65.67L41.61,56.14a8,8,0,1,0-9.17,13.11L46,78.77A55.55,55.55,0,0,0,40,104c0,.57,0,1.15,0,1.72L23.71,108.6a8,8,0,0,0,1.38,15.88,8.24,8.24,0,0,0,1.39-.12l16.32-2.88a55.74,55.74,0,0,0,5.86,12.42A52,52,0,0,0,84,224h80a76,76,0,0,0,0-152ZM56,104a40,40,0,0,1,72.54-23.24,76.26,76.26,0,0,0-35.62,40,52.14,52.14,0,0,0-31,4.17A40,40,0,0,1,56,104ZM164,208H84a36,36,0,1,1,4.78-71.69c-.37,2.37-.63,4.79-.77,7.23a8,8,0,0,0,16,.92,58.91,58.91,0,0,1,1.88-11.81c0-.16.09-.32.12-.48A60.06,60.06,0,1,1,164,208Z"/></svg><span>What’s the 3-day weather forecast for New York City? Include a nice icon for each day’s weather. Update it twice a day.</span></p>
|
|
192
|
-
<p class="prompt"><svg class="todo-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M216,48V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V48a8,8,0,0,1,8-8H208A8,8,0,0,1,216,48Z" opacity="0.2"/><path d="M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM224,48V208a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V48A16,16,0,0,1,48,32H208A16,16,0,0,1,224,48ZM208,208V48H48V208H208Z"/></svg><span>Open my to-do list from my Obsidian vault.</span></p>
|
|
193
|
-
<p class="prompt"><svg class="food-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M208,40V168H152S152,64,208,40Z" opacity="0.2"/><path d="M72,88V40a8,8,0,0,1,16,0V88a8,8,0,0,1-16,0ZM216,40V224a8,8,0,0,1-16,0V176H152a8,8,0,0,1-8-8,268.75,268.75,0,0,1,7.22-56.88c9.78-40.49,28.32-67.63,53.63-78.47A8,8,0,0,1,216,40ZM200,53.9c-32.17,24.57-38.47,84.42-39.7,106.1H200ZM119.89,38.69a8,8,0,1,0-15.78,2.63L112,88.63a32,32,0,0,1-64,0l7.88-47.31a8,8,0,1,0-15.78-2.63l-8,48A8.17,8.17,0,0,0,32,88a48.07,48.07,0,0,0,40,47.32V224a8,8,0,0,0,16,0V135.32A48.07,48.07,0,0,0,128,88a8.17,8.17,0,0,0-.11-1.31Z"/></svg><span>Research the best Thai restaurants in San Francisco and give me a report on the top three. Include photos.</span></p>
|
|
194
|
-
</div>
|
|
195
|
-
|
|
196
|
-
<p>Your agent will usually know when to answer by creating an artifact. If it replies in chat instead, just say: “put that on my TV.”</p>
|
|
197
|
-
|
|
198
|
-
<section class="callout">
|
|
199
|
-
<h2><svg class="callout-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M208,104a79.86,79.86,0,0,1-30.59,62.92A24.29,24.29,0,0,0,168,186v6a8,8,0,0,1-8,8H96a8,8,0,0,1-8-8v-6a24.11,24.11,0,0,0-9.3-19A79.87,79.87,0,0,1,48,104.45C47.76,61.09,82.72,25,126.07,24A80,80,0,0,1,208,104Z" opacity="0.2"/><path d="M176,232a8,8,0,0,1-8,8H88a8,8,0,0,1,0-16h80A8,8,0,0,1,176,232Zm40-128a87.55,87.55,0,0,1-33.64,69.21A16.24,16.24,0,0,0,176,186v6a16,16,0,0,1-16,16H96a16,16,0,0,1-16-16v-6a16,16,0,0,0-6.23-12.66A87.59,87.59,0,0,1,40,104.49C39.74,56.83,78.26,17.14,125.88,16A88,88,0,0,1,216,104Zm-16,0a72,72,0,0,0-73.74-72c-39,.92-70.47,33.39-70.26,72.39a71.65,71.65,0,0,0,27.64,56.3A32,32,0,0,1,96,186v6h64v-6a32.15,32.15,0,0,1,12.47-25.35A71.65,71.65,0,0,0,200,104Zm-16.11-9.34a57.6,57.6,0,0,0-46.56-46.55,8,8,0,0,0-2.66,15.78c16.57,2.79,30.63,16.85,33.44,33.45A8,8,0,0,0,176,104a9,9,0,0,0,1.35-.11A8,8,0,0,0,183.89,94.66Z"/></svg>More examples</h2>
|
|
200
|
-
<p>See the other channels for more examples of how to use Television. (You can close or delete these channels whenever you like; they're just there to give you ideas!)</p>
|
|
201
|
-
</section>
|
|
202
|
-
</body>
|
|
203
|
-
</html>
|