@telepath-computer/television 0.1.178 → 0.1.180
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 +13 -1
- package/dist/cli.cjs +1188 -392
- package/dist/onboarding/README.md +35 -0
- package/dist/onboarding/business-ops/about.html +150 -0
- package/dist/onboarding/business-ops/retention-vs-releases.html +572 -0
- package/dist/onboarding/business-ops/revenue-vs-goals.html +621 -0
- package/dist/onboarding/onboarding-screens.json +167 -0
- package/dist/onboarding/productivity/about.html +149 -0
- package/dist/onboarding/productivity/company-todos/index.html +121 -0
- package/dist/onboarding/productivity/company-todos/task.css +205 -0
- package/dist/onboarding/productivity/company-todos/task.js +307 -0
- package/dist/onboarding/productivity/meeting-prep.html +440 -0
- package/dist/onboarding/productivity/priorities-today.html +409 -0
- package/dist/onboarding/productivity/todays-calendar/calendar.css +1 -0
- package/dist/onboarding/productivity/todays-calendar/calendar.js +716 -0
- package/dist/onboarding/productivity/todays-calendar/index.html +52 -0
- package/dist/onboarding/research/about.html +152 -0
- package/dist/onboarding/research/draft-blog-post.md +30 -0
- package/dist/onboarding/research/open-model-research.html +542 -0
- package/dist/onboarding/research/todays-news.html +503 -0
- package/dist/onboarding/{television-onboarding → tv-guide/welcome}/index.html +2 -2
- package/dist/skills/television/SKILL.md +4 -0
- package/dist/views/markdown/index.html +1 -1
- package/dist/web/assets/calendar-DToAnkzj.png +0 -0
- package/dist/web/assets/main-5017mprd.css +1 -0
- package/dist/web/assets/main-C2WA733G.js +865 -0
- package/dist/web/assets/markdown-DdDrJuVK.png +0 -0
- package/dist/web/assets/table-oeG9uAN1.png +0 -0
- package/dist/web/assets/tasks-D4xqXFPl.png +0 -0
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/main-FDJtlHD7.js +0 -768
- package/dist/web/assets/main-o9Z-XUYA.css +0 -1
- /package/dist/onboarding/{television-onboarding → tv-guide/welcome}/assets/television.svg +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
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>Today's Calendar</title>
|
|
7
|
+
<link rel="stylesheet" href="/canonical/v1/styles.css">
|
|
8
|
+
<link rel="stylesheet" href="./calendar.css">
|
|
9
|
+
<script type="module" src="./calendar.js"></script>
|
|
10
|
+
<style>
|
|
11
|
+
/* Today's Calendar ([[index.md]]): deliberate full-bleed rules only. This
|
|
12
|
+
artifact does not import shared/base — the calendar fills the card edge
|
|
13
|
+
to edge instead of sitting in the padded content shell. The calendar's
|
|
14
|
+
appearance comes from calendar.css in the bundled tv-calendar skill; the
|
|
15
|
+
design story loads that stylesheet beside the artifact document. */
|
|
16
|
+
|
|
17
|
+
html,
|
|
18
|
+
body {
|
|
19
|
+
margin: 0;
|
|
20
|
+
height: 100%;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
calendar-week {
|
|
24
|
+
height: 100vh;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
</style>
|
|
28
|
+
</head>
|
|
29
|
+
<body>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
<calendar-week start-date="2026-07-08" days="1" start-hour="8">
|
|
34
|
+
|
|
35
|
+
<calendar-event title="Daily Standup" start="2026-07-08T09:00" end="2026-07-08T09:15" color="blue"></calendar-event>
|
|
36
|
+
|
|
37
|
+
<calendar-event title="Product Reliability Sync" start="2026-07-08T09:30" end="2026-07-08T10:00" color="green"></calendar-event>
|
|
38
|
+
|
|
39
|
+
<calendar-event title="NeonBank Champion Follow-up" start="2026-07-08T11:00" end="2026-07-08T11:30" color="blue"></calendar-event>
|
|
40
|
+
|
|
41
|
+
<calendar-event title="1:1 with Priya" start="2026-07-08T12:00" end="2026-07-08T12:30" color="purple"></calendar-event>
|
|
42
|
+
|
|
43
|
+
<calendar-event title="Issue Bash" start="2026-07-08T13:00" end="2026-07-08T14:00" color="orange"></calendar-event>
|
|
44
|
+
|
|
45
|
+
<calendar-event title="Acme AI CTO Call" start="2026-07-08T14:30" end="2026-07-08T15:00" color="orange"></calendar-event>
|
|
46
|
+
|
|
47
|
+
<calendar-event title="Seed Update Draft Review" start="2026-07-08T16:00" end="2026-07-08T16:30" color="yellow"></calendar-event>
|
|
48
|
+
|
|
49
|
+
</calendar-week>
|
|
50
|
+
|
|
51
|
+
</body>
|
|
52
|
+
</html>
|
|
@@ -0,0 +1,152 @@
|
|
|
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>About this screen</title>
|
|
7
|
+
<link rel="stylesheet" href="/canonical/v1/styles.css">
|
|
8
|
+
<script type="module" src="/canonical/v1/components.js"></script>
|
|
9
|
+
<style>
|
|
10
|
+
/* Shared base for onboarding artifacts ([[../index.md]]): document padding
|
|
11
|
+
and the centered content shell. Typography, text color, and background
|
|
12
|
+
are the canonical stylesheet's — nothing in this set restates or pins
|
|
13
|
+
them, so artifacts follow the active theme ([[../index.md#^respect-theme]]). */
|
|
14
|
+
|
|
15
|
+
* {
|
|
16
|
+
box-sizing: border-box;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
body {
|
|
20
|
+
margin: 0;
|
|
21
|
+
padding: var(--space-32, 32px) var(--space-32, 32px) var(--space-64, 64px);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.shell {
|
|
25
|
+
max-width: 720px;
|
|
26
|
+
margin: 0 auto;
|
|
27
|
+
display: grid;
|
|
28
|
+
/* Pin the single column to the container so a wide child (a data table)
|
|
29
|
+
scrolls inside its own .table-wrap instead of stretching the track and
|
|
30
|
+
overflowing the card. */
|
|
31
|
+
grid-template-columns: minmax(0, 1fr);
|
|
32
|
+
gap: var(--space-20, 20px);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* Card-density headings ([[../index.md]]): document-scale h1 is oversized
|
|
36
|
+
inside a TV card. */
|
|
37
|
+
h1 {
|
|
38
|
+
margin: 0;
|
|
39
|
+
font-size: var(--text-xl, 17px);
|
|
40
|
+
font-weight: 600;
|
|
41
|
+
line-height: 1.25;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* A lead paragraph (the .lede or .summary-deck standfirst) belongs in the
|
|
45
|
+
header, tight beneath the title — not a full grid-gap below it. Every
|
|
46
|
+
onboarding artifact places its lead this way so the spacing is uniform. */
|
|
47
|
+
header > .lede,
|
|
48
|
+
header > .summary-deck {
|
|
49
|
+
margin-top: var(--space-8, 8px);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
/* The About-card idiom ([[../index.md#^about-cards]]): a lede in primary
|
|
54
|
+
text, then a stack of example prompts rendered as callout blockquotes —
|
|
55
|
+
no box, a left accent rule, a blue kicker label, and the quoted ask set
|
|
56
|
+
muted and italic so it reads as a quotation rather than body copy. One
|
|
57
|
+
accent for all three (the rule is decoration, not a categorization). */
|
|
58
|
+
|
|
59
|
+
/* The About cards read as the screen's guide, not an example result: they sit
|
|
60
|
+
on a post-it yellow surface, a deliberate exception to the set's "artifacts
|
|
61
|
+
don't set backgrounds" rule. The surface is a fixed ramp token (yellow in
|
|
62
|
+
any theme, like a sticky note), so the text and accent are pinned to fixed
|
|
63
|
+
dark amber tones rather than the theme's own text colors — those would flip
|
|
64
|
+
light and vanish on the yellow in a dark theme ([[../index.md#^about-cards]]). */
|
|
65
|
+
body {
|
|
66
|
+
background: var(--yellow-100);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.lede {
|
|
70
|
+
margin: 0;
|
|
71
|
+
color: var(--neutral-900);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.prompt-list {
|
|
75
|
+
display: grid;
|
|
76
|
+
gap: var(--space-24, 24px);
|
|
77
|
+
margin: 0;
|
|
78
|
+
padding: 0;
|
|
79
|
+
list-style: none;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* A callout blockquote: the accent rule down the left, text offset from it,
|
|
83
|
+
no surrounding card. The ask is muted italic; the kicker is upright. */
|
|
84
|
+
.prompt {
|
|
85
|
+
position: relative;
|
|
86
|
+
padding-left: var(--space-20, 20px);
|
|
87
|
+
line-height: 1.5;
|
|
88
|
+
color: var(--neutral-700);
|
|
89
|
+
font-style: italic;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.prompt::before {
|
|
93
|
+
content: "";
|
|
94
|
+
position: absolute;
|
|
95
|
+
inset: 0 auto 0 0;
|
|
96
|
+
width: 3px;
|
|
97
|
+
border-radius: var(--radius-full, 9999px);
|
|
98
|
+
background: var(--yellow-700);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.prompt > span {
|
|
102
|
+
display: block;
|
|
103
|
+
margin-bottom: var(--space-6, 6px);
|
|
104
|
+
color: var(--yellow-800);
|
|
105
|
+
font-size: var(--text-sm, 12px);
|
|
106
|
+
font-weight: 600;
|
|
107
|
+
font-style: normal;
|
|
108
|
+
letter-spacing: 0.06em;
|
|
109
|
+
text-transform: uppercase;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
</style>
|
|
113
|
+
</head>
|
|
114
|
+
<body>
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
<main class="shell">
|
|
119
|
+
<header>
|
|
120
|
+
<h1>About this screen</h1>
|
|
121
|
+
|
|
122
|
+
<p class="lede">
|
|
123
|
+
This screen shows examples of TV artifacts focused on online research.
|
|
124
|
+
Instead of using Google and your browser, you can ask your agent to do
|
|
125
|
+
research and display results as artifacts on your TV.
|
|
126
|
+
</p>
|
|
127
|
+
</header>
|
|
128
|
+
|
|
129
|
+
<ul class="prompt-list">
|
|
130
|
+
<li class="prompt">
|
|
131
|
+
<span>Try asking your agent</span>
|
|
132
|
+
Read Hacker News, Techmeme, and my X/Twitter feed several times a
|
|
133
|
+
day, find the ten posts that are most relevant to my interests and
|
|
134
|
+
work, and put a report on my TV that summarizes each post and
|
|
135
|
+
explains why it might matter to me.
|
|
136
|
+
</li>
|
|
137
|
+
<li class="prompt">
|
|
138
|
+
<span>Try asking your agent</span>
|
|
139
|
+
Research which open LLMs perform best on agentic evaluations, then
|
|
140
|
+
on my TV give me a table that compares them.
|
|
141
|
+
</li>
|
|
142
|
+
<li class="prompt">
|
|
143
|
+
<span>Try asking your agent</span>
|
|
144
|
+
Create a new markdown document on my TV so I can write my next blog
|
|
145
|
+
post. Include an outline for me to work with based on the open model
|
|
146
|
+
research on this screen.
|
|
147
|
+
</li>
|
|
148
|
+
</ul>
|
|
149
|
+
</main>
|
|
150
|
+
|
|
151
|
+
</body>
|
|
152
|
+
</html>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# DRAFT BLOG POST: Open Models As the Future of Computing
|
|
2
|
+
|
|
3
|
+
## Proposed outline (based on research and personal notes)
|
|
4
|
+
|
|
5
|
+
### The Core Principle
|
|
6
|
+
|
|
7
|
+
- The future of computing cannot be built on rented intelligence
|
|
8
|
+
|
|
9
|
+
### User Sovereignty
|
|
10
|
+
|
|
11
|
+
- Hosted APIs mean you license intelligence, not own it — providers control what's acceptable and can change the rules anytime
|
|
12
|
+
- Open models restore a basic property of computing: you run the program, and it does what you tell it
|
|
13
|
+
- The model is a file. The file is yours.
|
|
14
|
+
|
|
15
|
+
### Privacy
|
|
16
|
+
|
|
17
|
+
- Every prompt sent to a hosted API is data leaving your perimeter
|
|
18
|
+
- Open models run locally — data never leaves the machine, no provider logging or training on your conversations
|
|
19
|
+
- Threat model collapses from "trust the entire cloud AI supply chain" to "trust the hardware in front of you"
|
|
20
|
+
|
|
21
|
+
### Resistance to Censorship and Revocation
|
|
22
|
+
|
|
23
|
+
- A product built on a hosted API is one policy update away from breaking
|
|
24
|
+
- Open models cannot be revoked — once you have the weights, you have them
|
|
25
|
+
- Tools built on open models are resistant to censorship by design — a model on a laptop in a restricted region cannot be turned off from headquarters
|
|
26
|
+
|
|
27
|
+
### Latency
|
|
28
|
+
|
|
29
|
+
- Every API call is a network round trip — tolerable for batch, a fundamental bottleneck for interactive interfaces
|
|
30
|
+
- A 200ms API latency feels sluggish; a 20ms local inference feels like magic
|