@telepath-computer/television 0.1.77 → 0.1.79

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 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.77".length > 0) {
50127
- return "0.1.77";
50126
+ if ("0.1.79".length > 0) {
50127
+ return "0.1.79";
50128
50128
  }
50129
50129
  const devPackageJsonPath = import_node_path7.default.join(getDevPackageDir(), "package.json");
50130
50130
  if (!(0, import_node_fs4.existsSync)(devPackageJsonPath)) {
@@ -50133,10 +50133,10 @@ 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
- const televisionSkillsWorkspaceDir = import_node_path7.default.resolve(getDevPackageDir(), "../television-skills");
50139
+ const televisionSkillsWorkspaceDir = import_node_path7.default.resolve(getDevPackageDir(), "../skills");
50140
50140
  if (!(0, import_node_fs4.existsSync)(televisionSkillsWorkspaceDir)) {
50141
50141
  return [];
50142
50142
  }
@@ -21,4 +21,5 @@ Read `what-to-read.md` next to decide which companion docs apply.
21
21
 
22
22
  ## Known artifact-type docs
23
23
 
24
+ - `artifact-types/calendar.md` — Calendar
24
25
  - `artifact-types/table.md` — Table
@@ -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.
@@ -23,4 +23,5 @@ HTML artifact work may also require a kind-specific doc under `artifact-types/`.
23
23
 
24
24
  ## Known artifact-type docs
25
25
 
26
+ - `artifact-types/calendar.md` — Calendar
26
27
  - `artifact-types/table.md` — Table