@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.
@@ -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-Cke1uJXe.js"></script>
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telepath-computer/television",
3
- "version": "0.1.66",
3
+ "version": "0.1.68",
4
4
  "type": "module",
5
5
  "main": "dist/cli.cjs",
6
6
  "bin": {
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 and viewer attention
42
+ ## Focus model
43
43
 
44
- Television separates state changes from viewer attention.
44
+ Television separates state changes from focus.
45
45
 
46
- State changes:
46
+ There are two kinds of focus:
47
47
 
48
- - create a screen
49
- - create an artifact on a screen
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
- Viewer-attention changes:
51
+ Important consequence:
53
52
 
54
- - switch to a screen
55
- - focus an artifact so clients switch screens if needed, scroll it into view, and highlight it
53
+ - there is a persisted focused screen
54
+ - there is **not** a persisted focused artifact
56
55
 
57
- Agent-facing create and attach commands require **exactly one** of `--focus` or `--no-focus`:
56
+ State-change commands can optionally trigger focus, but they do not imply it.
58
57
 
59
- - `tv create-screen`
60
- - `tv create-internal-artifact`
61
- - `tv create-external-artifact`
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 inspect the new screen or artifact right away
67
- - use `--no-focus` when the user likely wants background setup while keeping attention on the current screen or on some other task
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 `--focus` for requests like "show me", "open it", "put it on screen", "let me review it", or when the created thing is the obvious next object of attention
72
- - use `--no-focus` for requests like "set this up", "make it in the background", "prepare it", "wire this in", or when the user is still focused on something else
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 switch views
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
- Viewer commands:
521
+ Focus commands:
513
522
 
514
523
  ```bash
515
- tv viewer-status
516
- tv set-active-screen --id "<screen-id>"
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`, `tv create-internal-artifact`, `tv create-external-artifact`, and `tv attach-artifact` require exactly one of `--focus` or `--no-focus`
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 set-active-screen` sets which screen the GUI is focused on; the change is persisted and broadcast to connected clients
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 viewer-status` prints the active screen ID and the count of connected GUI clients
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