@telepath-computer/television 0.1.141 → 0.1.142
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/canonical/v1/components.js +83 -0
- package/dist/canonical/v1/styles.css +0 -2
- package/dist/cli.cjs +11 -10
- package/dist/onboarding/television-onboarding/assets/television.svg +71 -0
- package/dist/onboarding/television-onboarding/index.html +203 -0
- package/dist/views/markdown/index.html +1 -1
- package/dist/web/assets/{main-nlkzBlam.css → main-DxIXVlLQ.css} +1 -1
- package/dist/web/assets/{main-DpUX4mxP.js → main-L9xlsQn4.js} +77 -77
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/onboarding/television-onboarding.html +0 -65
|
@@ -154,4 +154,87 @@ if (!customElements.get("checkbox-list")) {
|
|
|
154
154
|
if (!customElements.get("checkbox-item")) {
|
|
155
155
|
customElements.define("checkbox-item", CheckboxItemElement);
|
|
156
156
|
}
|
|
157
|
+
const DEFAULT_ICON_SIZE = 16;
|
|
158
|
+
const MEDIUM_ICON_SIZE = 24;
|
|
159
|
+
const LARGE_ICON_SIZE = 32;
|
|
160
|
+
const ICONS = {
|
|
161
|
+
plus: {
|
|
162
|
+
regular: `<path d="M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z"/>`,
|
|
163
|
+
bold: `<path d="M228,128a12,12,0,0,1-12,12H140v76a12,12,0,0,1-24,0V140H40a12,12,0,0,1,0-24h76V40a12,12,0,0,1,24,0v76h76A12,12,0,0,1,228,128Z"/>`,
|
|
164
|
+
},
|
|
165
|
+
"subtract-square": {
|
|
166
|
+
regular: `<path d="M224,160V96a8,8,0,0,0-8-8H168V40a8,8,0,0,0-8-8H40a8,8,0,0,0-8,8V160a8,8,0,0,0,8,8H88v48a8,8,0,0,0,8,8H216a8,8,0,0,0,8-8V160Zm-60.69,48-40-40h33.38l40,40ZM168,156.69V123.31l40,40v33.38Zm40-16L171.31,104H208ZM48,48H152v56h0v48H48Zm56,123.31L140.69,208H104Z"/>`,
|
|
167
|
+
duotone: `<path d="M216,96V216H96V160h64V96Z" opacity="0.2"/><path d="M216,88H168V40a8,8,0,0,0-8-8H40a8,8,0,0,0-8,8V160a8,8,0,0,0,8,8H88v48a8,8,0,0,0,8,8H216a8,8,0,0,0,8-8V96A8,8,0,0,0,216,88ZM48,48H152V152H48ZM208,208H104V168h56a8,8,0,0,0,8-8V104h40Z"/>`,
|
|
168
|
+
},
|
|
169
|
+
television: {
|
|
170
|
+
regular: `<path d="M216,64H147.31l34.35-34.34a8,8,0,1,0-11.32-11.32L128,60.69,85.66,18.34A8,8,0,0,0,74.34,29.66L108.69,64H40A16,16,0,0,0,24,80V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V80A16,16,0,0,0,216,64ZM40,80H144V200H40ZM216,200H160V80h56V200Zm-16-84a12,12,0,1,1-12-12A12,12,0,0,1,200,116Zm0,48a12,12,0,1,1-12-12A12,12,0,0,1,200,164Z"/>`,
|
|
171
|
+
},
|
|
172
|
+
"squares-four": {
|
|
173
|
+
regular: `<path d="M104,40H56A16,16,0,0,0,40,56v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,104,40Zm0,64H56V56h48v48Zm96-64H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,200,40Zm0,64H152V56h48v48Zm-96,32H56a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,104,136Zm0,64H56V152h48v48Zm96-64H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,200,136Zm0,64H152V152h48v48Z"/>`,
|
|
174
|
+
duotone: `<path d="M112,56v48a8,8,0,0,1-8,8H56a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8h48A8,8,0,0,1,112,56Zm88-8H152a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V56A8,8,0,0,0,200,48Zm-96,96H56a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V152A8,8,0,0,0,104,144Zm96,0H152a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V152A8,8,0,0,0,200,144Z" opacity="0.2"/><path d="M200,136H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,200,136Zm0,64H152V152h48v48ZM104,40H56A16,16,0,0,0,40,56v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,104,40Zm0,64H56V56h48v48Zm96-64H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,200,40Zm0,64H152V56h48v48Zm-96,32H56a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,104,136Zm0,64H56V152h48v48Z"/>`,
|
|
175
|
+
},
|
|
176
|
+
};
|
|
177
|
+
const STYLES = `
|
|
178
|
+
:host {
|
|
179
|
+
display: inline-flex;
|
|
180
|
+
width: var(--ui-icon-size, 1em);
|
|
181
|
+
height: var(--ui-icon-size, 1em);
|
|
182
|
+
vertical-align: -0.125em;
|
|
183
|
+
color: var(--ui-icon-color, currentColor);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
svg {
|
|
187
|
+
display: block;
|
|
188
|
+
width: 100%;
|
|
189
|
+
height: 100%;
|
|
190
|
+
fill: currentColor;
|
|
191
|
+
}
|
|
192
|
+
`;
|
|
193
|
+
function isIconName(value) {
|
|
194
|
+
return value === "plus" || value === "subtract-square" || value === "squares-four" || value === "television";
|
|
195
|
+
}
|
|
196
|
+
function isIconWeight(value) {
|
|
197
|
+
return value === "regular" || value === "bold" || value === "duotone";
|
|
198
|
+
}
|
|
199
|
+
export class IconElement extends HTMLElement {
|
|
200
|
+
static observedAttributes = ["name", "weight", "size"];
|
|
201
|
+
#root;
|
|
202
|
+
constructor() {
|
|
203
|
+
super();
|
|
204
|
+
this.#root = this.attachShadow({ mode: "open" });
|
|
205
|
+
}
|
|
206
|
+
connectedCallback() {
|
|
207
|
+
this.#render();
|
|
208
|
+
}
|
|
209
|
+
attributeChangedCallback() {
|
|
210
|
+
this.#render();
|
|
211
|
+
}
|
|
212
|
+
#render() {
|
|
213
|
+
const name = this.#name();
|
|
214
|
+
const weight = this.#weight();
|
|
215
|
+
const size = this.#size();
|
|
216
|
+
const icon = ICONS[name];
|
|
217
|
+
const source = icon[weight] ?? icon.regular;
|
|
218
|
+
this.#root.innerHTML = `
|
|
219
|
+
<style>${STYLES}</style>
|
|
220
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" aria-hidden="true" focusable="false">${source}</svg>
|
|
221
|
+
`;
|
|
222
|
+
this.style.setProperty("--ui-icon-size", `${size}px`);
|
|
223
|
+
}
|
|
224
|
+
#name() {
|
|
225
|
+
const value = this.getAttribute("name");
|
|
226
|
+
return isIconName(value) ? value : "subtract-square";
|
|
227
|
+
}
|
|
228
|
+
#weight() {
|
|
229
|
+
const value = this.getAttribute("weight");
|
|
230
|
+
return isIconWeight(value) ? value : "regular";
|
|
231
|
+
}
|
|
232
|
+
#size() {
|
|
233
|
+
const value = Number(this.getAttribute("size"));
|
|
234
|
+
return value === MEDIUM_ICON_SIZE || value === LARGE_ICON_SIZE ? value : DEFAULT_ICON_SIZE;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
if (!customElements.get("ui-icon")) {
|
|
238
|
+
customElements.define("ui-icon", IconElement);
|
|
239
|
+
}
|
|
157
240
|
|
package/dist/cli.cjs
CHANGED
|
@@ -50042,7 +50042,7 @@ var import_meta = {};
|
|
|
50042
50042
|
var ONBOARDING_ARTIFACT_ID = "television-onboarding";
|
|
50043
50043
|
var ONBOARDING_SCREEN_NAME = "TV Guide";
|
|
50044
50044
|
var ONBOARDING_ARTIFACT_TITLE = "Welcome to Television";
|
|
50045
|
-
var
|
|
50045
|
+
var ONBOARDING_ARTIFACT_DIRNAME = "television-onboarding";
|
|
50046
50046
|
var ONBOARDING_ARTIFACT_SENTINEL_VERSION = 1;
|
|
50047
50047
|
function getDefaultOnboardingArtifactSourcePath() {
|
|
50048
50048
|
const moduleURL = import_meta.url;
|
|
@@ -50052,7 +50052,7 @@ function getDefaultOnboardingArtifactSourcePath() {
|
|
|
50052
50052
|
const sourcePath = import_node_path10.default.resolve(
|
|
50053
50053
|
import_node_path10.default.dirname((0, import_node_url.fileURLToPath)(moduleURL)),
|
|
50054
50054
|
"../assets",
|
|
50055
|
-
|
|
50055
|
+
ONBOARDING_ARTIFACT_DIRNAME
|
|
50056
50056
|
);
|
|
50057
50057
|
return (0, import_node_fs8.existsSync)(sourcePath) ? sourcePath : void 0;
|
|
50058
50058
|
}
|
|
@@ -50149,7 +50149,7 @@ var ServerStore = class extends EventTarget {
|
|
|
50149
50149
|
const artifact = this.createKindArtifact(input);
|
|
50150
50150
|
const previousLayout = screen.layout;
|
|
50151
50151
|
this.writeArtifact(artifact);
|
|
50152
|
-
screen.layout = [...screen.layout, createCardNode(artifact.id)];
|
|
50152
|
+
screen.layout = [...screen.layout, createCardNode(artifact.id, input.card)];
|
|
50153
50153
|
try {
|
|
50154
50154
|
this.persistScreen(screen);
|
|
50155
50155
|
} catch (error48) {
|
|
@@ -50613,16 +50613,17 @@ var ServerStore = class extends EventTarget {
|
|
|
50613
50613
|
return;
|
|
50614
50614
|
}
|
|
50615
50615
|
const screenID = this.resolveActiveScreenID(this.activeScreenID) ?? this.pickPreferredScreenID();
|
|
50616
|
-
const onboardingPath = import_node_path11.default.join(getAgentArtifactsDir(this.storagePath),
|
|
50616
|
+
const onboardingPath = import_node_path11.default.join(getAgentArtifactsDir(this.storagePath), ONBOARDING_ARTIFACT_DIRNAME) + import_node_path11.default.sep;
|
|
50617
50617
|
if (!(0, import_node_fs9.existsSync)(onboardingPath)) {
|
|
50618
|
-
(0, import_node_fs9.
|
|
50618
|
+
(0, import_node_fs9.cpSync)(this.onboardingArtifactSourcePath, onboardingPath, { recursive: true });
|
|
50619
50619
|
}
|
|
50620
50620
|
this.createArtifact({
|
|
50621
50621
|
id: ONBOARDING_ARTIFACT_ID,
|
|
50622
50622
|
kind: "path",
|
|
50623
50623
|
title: ONBOARDING_ARTIFACT_TITLE,
|
|
50624
50624
|
screenID,
|
|
50625
|
-
path: onboardingPath
|
|
50625
|
+
path: onboardingPath,
|
|
50626
|
+
card: { width: 5 }
|
|
50626
50627
|
});
|
|
50627
50628
|
this.writeOnboardingArtifactSentinel();
|
|
50628
50629
|
} catch (error48) {
|
|
@@ -50842,8 +50843,8 @@ function resolveVercelSkillsInstallerBin() {
|
|
|
50842
50843
|
return localRequire.resolve("skills/bin/cli.mjs");
|
|
50843
50844
|
}
|
|
50844
50845
|
function readCLIVersion() {
|
|
50845
|
-
if ("0.1.
|
|
50846
|
-
return "0.1.
|
|
50846
|
+
if ("0.1.142".length > 0) {
|
|
50847
|
+
return "0.1.142";
|
|
50847
50848
|
}
|
|
50848
50849
|
const devPackageJsonPath = import_node_path12.default.join(getDevPackageDir(), "package.json");
|
|
50849
50850
|
if (!(0, import_node_fs10.existsSync)(devPackageJsonPath)) {
|
|
@@ -50973,12 +50974,12 @@ function resolveCanonicalDir() {
|
|
|
50973
50974
|
function resolveOnboardingArtifactSourcePath() {
|
|
50974
50975
|
if (process.argv[1]) {
|
|
50975
50976
|
const entryDir = import_node_path12.default.dirname((0, import_node_fs10.realpathSync)(process.argv[1]));
|
|
50976
|
-
const resolved = import_node_path12.default.resolve(entryDir, "./onboarding/television-onboarding
|
|
50977
|
+
const resolved = import_node_path12.default.resolve(entryDir, "./onboarding/television-onboarding");
|
|
50977
50978
|
return (0, import_node_fs10.existsSync)(resolved) ? resolved : void 0;
|
|
50978
50979
|
}
|
|
50979
50980
|
const devPath = import_node_path12.default.resolve(
|
|
50980
50981
|
getDevPackageDir(),
|
|
50981
|
-
"../server/assets/television-onboarding
|
|
50982
|
+
"../server/assets/television-onboarding"
|
|
50982
50983
|
);
|
|
50983
50984
|
return (0, import_node_fs10.existsSync)(devPath) ? devPath : void 0;
|
|
50984
50985
|
}
|
|
@@ -0,0 +1,71 @@
|
|
|
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>
|
|
@@ -0,0 +1,203 @@
|
|
|
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
|
+
ui-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>You’re on <img class="logo" src="./assets/television.svg" alt=""> Television!</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>This card is an <ui-icon name="subtract-square" weight="duotone"></ui-icon> <strong>Artifact</strong>: a live surface your agent can create, edit, and update. Artifacts can be notes, editable documents, dashboards, web pages, reports, or custom web apps.</p>
|
|
185
|
+
|
|
186
|
+
<p>Artifacts live on <ui-icon name="squares-four" weight="duotone"></ui-icon> <strong>Screens</strong>. We put you on <strong>TV Guide</strong> to start. Double-click its name to rename it, use <ui-icon name="plus" weight="bold"></ui-icon> to add more screens, and drag artifacts to arrange them. Your open screens appear as tabs up the top. If you close one, you can find it again by clicking <ui-icon name="squares-four" weight="bold"></ui-icon>.</p>
|
|
187
|
+
|
|
188
|
+
<p>To create or change an artifact, just describe what you want to see. 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"><g transform="translate(256 0) scale(-1 1)"><path d="M240,120a40,40,0,0,1-40,40H160V80h40A40,40,0,0,1,240,120Z" opacity="0.2"/><path d="M248,120a48.05,48.05,0,0,0-48-48H160.2c-2.91-.17-53.62-3.74-101.91-44.24A16,16,0,0,0,32,40V200a16,16,0,0,0,26.29,12.25c37.77-31.68,77-40.76,93.71-43.3v31.72A16,16,0,0,0,159.12,214l11,7.33A16,16,0,0,0,194.5,212l11.77-44.36A48.07,48.07,0,0,0,248,120ZM48,199.93V40h0c42.81,35.91,86.63,45,104,47.24v65.48C134.65,155,90.84,164.07,48,199.93Zm131,8,0,.11-11-7.33V168h21.6ZM200,152H168V88h32a32,32,0,1,1,0,64Z"/></g></svg>Spread the word</h2>
|
|
200
|
+
<p>Television isn’t public yet, but it’s not a secret. If you make something cool, we’d love you to share it!</p>
|
|
201
|
+
</section>
|
|
202
|
+
</body>
|
|
203
|
+
</html>
|