@telepath-computer/television 0.1.78 → 0.1.80
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/cli.cjs +4 -4
- package/dist/skills/television/SKILL.md +1 -0
- package/dist/skills/television/artifact-types/calendar.md +139 -0
- package/dist/skills/television/what-to-read.md +1 -0
- package/dist/web/assets/{index-B35D65In.js → index-Mj5Jyqir.js} +100 -100
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
package/dist/cli.cjs
CHANGED
|
@@ -50123,8 +50123,8 @@ function resolveVercelSkillsInstallerBin() {
|
|
|
50123
50123
|
return localRequire.resolve("skills/bin/cli.mjs");
|
|
50124
50124
|
}
|
|
50125
50125
|
function readCLIVersion() {
|
|
50126
|
-
if ("0.1.
|
|
50127
|
-
return "0.1.
|
|
50126
|
+
if ("0.1.80".length > 0) {
|
|
50127
|
+
return "0.1.80";
|
|
50128
50128
|
}
|
|
50129
50129
|
const devPackageJsonPath = import_node_path7.default.join(getDevPackageDir(), "package.json");
|
|
50130
50130
|
if (!(0, import_node_fs4.existsSync)(devPackageJsonPath)) {
|
|
@@ -50133,8 +50133,8 @@ function readCLIVersion() {
|
|
|
50133
50133
|
return JSON.parse((0, import_node_fs4.readFileSync)(devPackageJsonPath, "utf8")).version;
|
|
50134
50134
|
}
|
|
50135
50135
|
function listKnownArtifactTypeDocs() {
|
|
50136
|
-
if ('["artifact-types/table.md"]'.length > 0) {
|
|
50137
|
-
return JSON.parse('["artifact-types/table.md"]');
|
|
50136
|
+
if ('["artifact-types/calendar.md","artifact-types/table.md"]'.length > 0) {
|
|
50137
|
+
return JSON.parse('["artifact-types/calendar.md","artifact-types/table.md"]');
|
|
50138
50138
|
}
|
|
50139
50139
|
const televisionSkillsWorkspaceDir = import_node_path7.default.resolve(getDevPackageDir(), "../skills");
|
|
50140
50140
|
if (!(0, import_node_fs4.existsSync)(televisionSkillsWorkspaceDir)) {
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Authoring a calendar week
|
|
2
|
+
|
|
3
|
+
A working-week calendar with a generated header strip, all-day band, time axis,
|
|
4
|
+
and timed event grid. The agent only authors a single `<calendar-week>` plus
|
|
5
|
+
flat sibling `<calendar-event>` children. The component renders the rest.
|
|
6
|
+
|
|
7
|
+
## Required assets
|
|
8
|
+
|
|
9
|
+
Every calendar artifact must load both the canonical stylesheet and the
|
|
10
|
+
calendar element bundle:
|
|
11
|
+
|
|
12
|
+
```html
|
|
13
|
+
<link rel="stylesheet" href="/canonical/v1/styles.css" />
|
|
14
|
+
<link rel="stylesheet" href="/skills/artifact-calendar/calendar.css" />
|
|
15
|
+
<script type="module" src="/skills/artifact-calendar/calendar.js"></script>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
`/skills/artifact-calendar/calendar.js` and
|
|
19
|
+
`/skills/artifact-calendar/calendar.css` are the built skill-local assets
|
|
20
|
+
served by artifactory from the package's `dist/` output. They register the
|
|
21
|
+
custom elements and provide the calendar-specific chrome styling. Do not
|
|
22
|
+
inline or reimplement those elements yourself.
|
|
23
|
+
|
|
24
|
+
## Markup contract
|
|
25
|
+
|
|
26
|
+
Author exactly this surface:
|
|
27
|
+
|
|
28
|
+
```html
|
|
29
|
+
<calendar-week start-date="YYYY-MM-DD" days="N" start-hour="8">
|
|
30
|
+
<calendar-event title="..." start="..." end="..." color="blue"></calendar-event>
|
|
31
|
+
<calendar-event title="..." start="..." end="..." all-day color="purple"></calendar-event>
|
|
32
|
+
</calendar-week>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
`<calendar-week>` attributes:
|
|
36
|
+
|
|
37
|
+
- `start-date` is required and must be a real `YYYY-MM-DD` date.
|
|
38
|
+
- `days` is required and should usually be `5` or `7`.
|
|
39
|
+
- `start-hour` is optional. Omit it unless you need a fixed initial scroll
|
|
40
|
+
position.
|
|
41
|
+
|
|
42
|
+
`<calendar-event>` attributes:
|
|
43
|
+
|
|
44
|
+
- `title` is required.
|
|
45
|
+
- `start` is required.
|
|
46
|
+
- `end` is required.
|
|
47
|
+
- `all-day` is optional and presence-only. Use it only for all-day events.
|
|
48
|
+
- `color` is optional. Allowed values: `red`, `orange`, `yellow`, `green`,
|
|
49
|
+
`blue`, `purple`. Omitted or unknown values fall back to the neutral default.
|
|
50
|
+
|
|
51
|
+
## Timed vs. all-day events
|
|
52
|
+
|
|
53
|
+
Timed events:
|
|
54
|
+
|
|
55
|
+
- Omit `all-day`.
|
|
56
|
+
- Use `YYYY-MM-DDTHH:MM` wall-clock datetimes for both `start` and `end`.
|
|
57
|
+
- Keep each event within a single day.
|
|
58
|
+
|
|
59
|
+
All-day events:
|
|
60
|
+
|
|
61
|
+
- Include `all-day`.
|
|
62
|
+
- Use date-only `YYYY-MM-DD` values for both `start` and `end`.
|
|
63
|
+
- `end` is non-inclusive, following RFC 5545.
|
|
64
|
+
|
|
65
|
+
Examples:
|
|
66
|
+
|
|
67
|
+
- Single-day all-day holiday on Monday:
|
|
68
|
+
`start="2026-05-04" end="2026-05-05" all-day`
|
|
69
|
+
- Tue–Thu offsite:
|
|
70
|
+
`start="2026-05-05" end="2026-05-08" all-day`
|
|
71
|
+
- Timed design review from 11:00 to 12:30:
|
|
72
|
+
`start="2026-05-06T11:00" end="2026-05-06T12:30"`
|
|
73
|
+
|
|
74
|
+
Repeat the non-inclusive rule when you think about date spans. A Mon–Fri trip
|
|
75
|
+
is `start="2026-05-04" end="2026-05-09"`, not `end="2026-05-08"`.
|
|
76
|
+
|
|
77
|
+
## What the component auto-renders
|
|
78
|
+
|
|
79
|
+
Do not author any of these directly:
|
|
80
|
+
|
|
81
|
+
- `<calendar-headers>`
|
|
82
|
+
- `<calendar-day>`
|
|
83
|
+
- `<calendar-allday>`
|
|
84
|
+
- `<calendar-grid>`
|
|
85
|
+
- `<calendar-time-axis>`
|
|
86
|
+
- `<calendar-column>`
|
|
87
|
+
- `<calendar-cell>`
|
|
88
|
+
|
|
89
|
+
Those are internal chrome and CSS targets created by `<calendar-week>`.
|
|
90
|
+
|
|
91
|
+
## Behavior to rely on
|
|
92
|
+
|
|
93
|
+
- All-day events clip silently to the visible range.
|
|
94
|
+
- All-day events stack into lanes automatically when their visible spans
|
|
95
|
+
overlap.
|
|
96
|
+
- Timed events on the same day cascade to the right when their time ranges
|
|
97
|
+
overlap.
|
|
98
|
+
- Malformed events are silently dropped. There is no error pill or fallback UI.
|
|
99
|
+
|
|
100
|
+
## Content guidance
|
|
101
|
+
|
|
102
|
+
- Make the schedule feel real. Use plausible meeting names, owners, and time
|
|
103
|
+
blocks.
|
|
104
|
+
- Vary the event titles and use sensible durations.
|
|
105
|
+
- Use the color palette intentionally; don't paint everything the same color.
|
|
106
|
+
- Avoid placeholder text like "Lorem ipsum", "Event 1", or "Meeting".
|
|
107
|
+
|
|
108
|
+
## Minimal complete example
|
|
109
|
+
|
|
110
|
+
```html
|
|
111
|
+
<!doctype html>
|
|
112
|
+
<html lang="en">
|
|
113
|
+
<head>
|
|
114
|
+
<meta charset="UTF-8" />
|
|
115
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
116
|
+
<title>Team Week</title>
|
|
117
|
+
<link rel="stylesheet" href="/canonical/v1/styles.css" />
|
|
118
|
+
<link rel="stylesheet" href="/skills/artifact-calendar/calendar.css" />
|
|
119
|
+
<script type="module" src="/skills/artifact-calendar/calendar.js"></script>
|
|
120
|
+
<style>
|
|
121
|
+
html, body { margin: 0; min-height: 100vh; }
|
|
122
|
+
calendar-week { height: 100vh; }
|
|
123
|
+
</style>
|
|
124
|
+
</head>
|
|
125
|
+
<body>
|
|
126
|
+
<calendar-week start-date="2026-05-04" days="5">
|
|
127
|
+
<calendar-event title="Holiday" start="2026-05-04" end="2026-05-05" all-day color="red"></calendar-event>
|
|
128
|
+
<calendar-event title="Standup" start="2026-05-05T09:00" end="2026-05-05T09:30" color="blue"></calendar-event>
|
|
129
|
+
<calendar-event title="Design review" start="2026-05-06T11:00" end="2026-05-06T12:30" color="purple"></calendar-event>
|
|
130
|
+
</calendar-week>
|
|
131
|
+
</body>
|
|
132
|
+
</html>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Non-goals
|
|
136
|
+
|
|
137
|
+
- Do not author internal chrome or custom day headers.
|
|
138
|
+
- Do not use timezones, UTC conversion, or seconds.
|
|
139
|
+
- Do not invent interaction, editing UI, filters, or legends unless asked.
|