@telepath-computer/television 0.1.66 → 0.1.68
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 +18 -18
- package/dist/web/assets/{index-Cke1uJXe.js → index-PevksvTk.js} +61 -61
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
- package/skill/SKILL.md +42 -33
package/dist/web/index.html
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
|
6
6
|
<title>Television</title>
|
|
7
|
-
<script type="module" crossorigin src="./assets/index-
|
|
7
|
+
<script type="module" crossorigin src="./assets/index-PevksvTk.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="./assets/index-EZh8DmDQ.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body></body>
|
package/package.json
CHANGED
package/skill/SKILL.md
CHANGED
|
@@ -39,41 +39,50 @@ The core workflow is:
|
|
|
39
39
|
4. For internal artifacts, edit files in the pending bundle.
|
|
40
40
|
5. Commit when the validation rules are satisfied.
|
|
41
41
|
|
|
42
|
-
## Focus
|
|
42
|
+
## Focus model
|
|
43
43
|
|
|
44
|
-
Television separates state changes from
|
|
44
|
+
Television separates state changes from focus.
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
There are two kinds of focus:
|
|
47
47
|
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
- attach an existing artifact to another screen
|
|
48
|
+
- **Screen focus** is persistent. It decides which screen the TV is currently showing.
|
|
49
|
+
- **Artifact focus** is transient. It may switch screens first, then scroll the artifact into view and briefly highlight it.
|
|
51
50
|
|
|
52
|
-
|
|
51
|
+
Important consequence:
|
|
53
52
|
|
|
54
|
-
-
|
|
55
|
-
-
|
|
53
|
+
- there is a persisted focused screen
|
|
54
|
+
- there is **not** a persisted focused artifact
|
|
56
55
|
|
|
57
|
-
|
|
56
|
+
State-change commands can optionally trigger focus, but they do not imply it.
|
|
58
57
|
|
|
59
|
-
-
|
|
60
|
-
|
|
61
|
-
- `tv create-
|
|
62
|
-
- `tv attach-artifact`
|
|
58
|
+
Agent-facing create and attach commands require an explicit focus decision:
|
|
59
|
+
|
|
60
|
+
- `tv create-screen` requires exactly one of `--focus-screen` or `--no-focus`
|
|
61
|
+
- `tv create-internal-artifact`, `tv create-external-artifact`, and `tv attach-artifact` require exactly one of `--focus-artifact` or `--no-focus`
|
|
63
62
|
|
|
64
63
|
Use this decision rule:
|
|
65
64
|
|
|
66
|
-
- use `--focus` when the user likely wants to
|
|
67
|
-
- use `--
|
|
65
|
+
- use `--focus-screen` when the user likely wants to go to the new screen immediately
|
|
66
|
+
- use `--focus-artifact` when the user likely wants to inspect the new artifact immediately
|
|
67
|
+
- use `--no-focus` when the work should happen in the background while keeping the current screen and artifact context unchanged
|
|
68
68
|
|
|
69
69
|
Heuristic examples:
|
|
70
70
|
|
|
71
|
-
- use
|
|
72
|
-
-
|
|
71
|
+
- use a focus flag for requests like "show me", "open it", "put it on screen", "take me there", or "let me review it"
|
|
72
|
+
- treat user language like **active**, **current**, **showing**, **visible**, **switch to**, **change to**, **go to**, or **show me that** as focus intent for the relevant screen or artifact
|
|
73
|
+
- requests like "switch to the other screen", "show me that artifact", or "change to that screen" should usually translate to `tv focus-screen` or `tv focus-artifact`
|
|
74
|
+
- use `--no-focus` for requests like "set this up", "make it in the background", "prepare it", or "wire this in"
|
|
75
|
+
- also use `--no-focus` when the user says things like "in the background", "while I do something else", "while I work on X", or otherwise signals that your work should proceed on a parallel thread decoupled from their main task
|
|
76
|
+
|
|
77
|
+
Direct focus commands:
|
|
78
|
+
|
|
79
|
+
- `tv focus-screen --id <screen-id>` sets persistent screen focus
|
|
80
|
+
- `tv focus-artifact --id <artifact-id> [--screen <screen-id>]` sends a transient artifact-focus nudge
|
|
81
|
+
- `tv focus-status` reports the current persistent screen focus and connected client count
|
|
73
82
|
|
|
74
83
|
Important communication rule:
|
|
75
84
|
|
|
76
|
-
- when you use `--no-focus`, explicitly say what you did in chat so the user knows the work happened even though Television did not
|
|
85
|
+
- when you use `--no-focus`, explicitly say what you did in chat so the user knows the work happened even though Television did not visibly change
|
|
77
86
|
|
|
78
87
|
If you forget these rules or the CLI rejects a command for missing focus intent, run `tv help` and reread this section before retrying.
|
|
79
88
|
|
|
@@ -378,7 +387,7 @@ Radius:
|
|
|
378
387
|
2. Start the pending bundle:
|
|
379
388
|
|
|
380
389
|
```bash
|
|
381
|
-
tv create-internal-artifact --screen "<screen-id>" --type text/markdown --title "Artifact title" --focus
|
|
390
|
+
tv create-internal-artifact --screen "<screen-id>" --type text/markdown --title "Artifact title" --focus-artifact
|
|
382
391
|
```
|
|
383
392
|
|
|
384
393
|
Or:
|
|
@@ -387,7 +396,7 @@ Or:
|
|
|
387
396
|
tv create-internal-artifact --screen "<screen-id>" --type text/html --title "Artifact title" --no-focus
|
|
388
397
|
```
|
|
389
398
|
|
|
390
|
-
`--screen` is required for internal artifact creation so the artifact has immediate screen membership. `--focus` or `--no-focus` is also required so you explicitly decide whether the user should be taken to it now.
|
|
399
|
+
`--screen` is required for internal artifact creation so the artifact has immediate screen membership. `--focus-artifact` or `--no-focus` is also required so you explicitly decide whether the user should be taken to it now.
|
|
391
400
|
|
|
392
401
|
3. Read the returned pending path and edit files there.
|
|
393
402
|
4. Write `artifact.md`.
|
|
@@ -459,7 +468,7 @@ Use this when the file already exists on disk and Television should display it
|
|
|
459
468
|
without owning a bundle:
|
|
460
469
|
|
|
461
470
|
```bash
|
|
462
|
-
tv create-external-artifact --screen "<screen-id>" --type text/markdown --title "Artifact title" --path /absolute/path/to/file.md --focus
|
|
471
|
+
tv create-external-artifact --screen "<screen-id>" --type text/markdown --title "Artifact title" --path /absolute/path/to/file.md --focus-artifact
|
|
463
472
|
```
|
|
464
473
|
|
|
465
474
|
Or:
|
|
@@ -468,7 +477,7 @@ Or:
|
|
|
468
477
|
tv create-external-artifact --screen "<screen-id>" --type text/html --title "Artifact title" --path /absolute/path/to/file.html --no-focus
|
|
469
478
|
```
|
|
470
479
|
|
|
471
|
-
`--screen` is required for CLI creation so the file has immediate screen membership. `--focus` or `--no-focus` is also required so you explicitly decide whether the user should be taken to it now.
|
|
480
|
+
`--screen` is required for CLI creation so the file has immediate screen membership. `--focus-artifact` or `--no-focus` is also required so you explicitly decide whether the user should be taken to it now.
|
|
472
481
|
|
|
473
482
|
Rules:
|
|
474
483
|
|
|
@@ -482,8 +491,8 @@ Rules:
|
|
|
482
491
|
Artifact commands:
|
|
483
492
|
|
|
484
493
|
```bash
|
|
485
|
-
tv create-internal-artifact --screen "<screen-id>" --type <text/markdown|text/html> --title "Artifact title" (--focus|--no-focus)
|
|
486
|
-
tv create-external-artifact --screen "<screen-id>" --type <text/markdown|text/html> --title "Artifact title" --path /absolute/path (--focus|--no-focus)
|
|
494
|
+
tv create-internal-artifact --screen "<screen-id>" --type <text/markdown|text/html> --title "Artifact title" (--focus-artifact|--no-focus)
|
|
495
|
+
tv create-external-artifact --screen "<screen-id>" --type <text/markdown|text/html> --title "Artifact title" --path /absolute/path (--focus-artifact|--no-focus)
|
|
487
496
|
tv edit-internal-artifact --id "<artifact-id>"
|
|
488
497
|
tv commit-pending-artifact --id "<artifact-id>"
|
|
489
498
|
tv abandon-pending-artifact --id "<artifact-id>"
|
|
@@ -496,7 +505,7 @@ tv delete-artifact --id "<artifact-id>"
|
|
|
496
505
|
Screen commands:
|
|
497
506
|
|
|
498
507
|
```bash
|
|
499
|
-
tv create-screen --name "Screen name" (--focus|--no-focus)
|
|
508
|
+
tv create-screen --name "Screen name" (--focus-screen|--no-focus)
|
|
500
509
|
tv list-screens
|
|
501
510
|
tv get-screen --id "<screen-id>"
|
|
502
511
|
tv remove-screen --id "<screen-id>"
|
|
@@ -505,15 +514,15 @@ tv remove-screen --id "<screen-id>"
|
|
|
505
514
|
Screen membership commands:
|
|
506
515
|
|
|
507
516
|
```bash
|
|
508
|
-
tv attach-artifact --id "<artifact-id>" --screen "<screen-id>" (--focus|--no-focus)
|
|
517
|
+
tv attach-artifact --id "<artifact-id>" --screen "<screen-id>" (--focus-artifact|--no-focus)
|
|
509
518
|
tv detach-artifact --id "<artifact-id>" --screen "<screen-id>"
|
|
510
519
|
```
|
|
511
520
|
|
|
512
|
-
|
|
521
|
+
Focus commands:
|
|
513
522
|
|
|
514
523
|
```bash
|
|
515
|
-
tv
|
|
516
|
-
tv
|
|
524
|
+
tv focus-status
|
|
525
|
+
tv focus-screen --id "<screen-id>"
|
|
517
526
|
tv focus-artifact --id "<artifact-id>" [--screen "<screen-id>"]
|
|
518
527
|
```
|
|
519
528
|
|
|
@@ -529,7 +538,7 @@ tv stop
|
|
|
529
538
|
CLI behavior notes:
|
|
530
539
|
|
|
531
540
|
- `--screen` is required on CLI create commands so new artifacts get immediate screen membership; use `tv attach-artifact` and `tv detach-artifact` for later screen membership changes
|
|
532
|
-
- `tv create-screen
|
|
541
|
+
- `tv create-screen` requires exactly one of `--focus-screen` or `--no-focus`; `tv create-internal-artifact`, `tv create-external-artifact`, and `tv attach-artifact` require exactly one of `--focus-artifact` or `--no-focus`
|
|
533
542
|
- workflow and mutation commands print plain text
|
|
534
543
|
- read commands print JSON
|
|
535
544
|
- `tv get-screen` includes artifact `kind` and `status`
|
|
@@ -538,9 +547,9 @@ CLI behavior notes:
|
|
|
538
547
|
- `tv delete-artifact` is the way to globally remove an artifact (detaches from every screen, then trashes the bundle / forgets the external pointer / discards pending-create)
|
|
539
548
|
- `tv list-artifacts` accepts `--screen <id>` to filter by screen membership and `--unplaced` to surface artifacts attached to no screen
|
|
540
549
|
- `tv update-artifact` changes title metadata only
|
|
541
|
-
- `tv
|
|
550
|
+
- `tv focus-screen` sets which screen the GUI is focused on; the change is persisted and broadcast to connected clients
|
|
542
551
|
- `tv focus-artifact` is a transient nudge: clients switch screens if needed, scroll the artifact's card into view, and play a brief highlight animation; pass `--screen <id>` to pin which screen, otherwise the server picks one (preferring the active screen when the artifact is there)
|
|
543
|
-
- `tv
|
|
552
|
+
- `tv focus-status` prints the active screen ID and the count of connected GUI clients
|
|
544
553
|
- when the CLI reports an error, follow the directive to run `tv help`
|
|
545
554
|
|
|
546
555
|
## Deferred or out of scope
|