@thoth-agents/pi-thoth-theme 0.1.0 → 0.3.0

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.
Files changed (41) hide show
  1. package/README.md +51 -10
  2. package/dist/index.ts +3967 -0
  3. package/package.json +7 -9
  4. package/src/index.ts +0 -53
  5. package/src/input-box/decorate.ts +0 -304
  6. package/src/input-box/frame.ts +0 -182
  7. package/src/input-box/gradient.ts +0 -92
  8. package/src/input-box/state.ts +0 -90
  9. package/src/render-kit/index.ts +0 -305
  10. package/src/render-kit/working.ts +0 -25
  11. package/src/shared/cache.ts +0 -21
  12. package/src/shared/config.ts +0 -86
  13. package/src/shared/duration.ts +0 -1
  14. package/src/shared/icons.ts +0 -89
  15. package/src/status-line/cost.ts +0 -56
  16. package/src/status-line/index.ts +0 -242
  17. package/src/status-line/layout.ts +0 -272
  18. package/src/status-line/snapshot.ts +0 -11
  19. package/src/status-line/throughput.ts +0 -61
  20. package/src/status-line/tokens.ts +0 -51
  21. package/src/tools/bash.ts +0 -237
  22. package/src/tools/border.ts +0 -21
  23. package/src/tools/box.ts +0 -258
  24. package/src/tools/edit.ts +0 -228
  25. package/src/tools/file-icons.ts +0 -139
  26. package/src/tools/find.ts +0 -227
  27. package/src/tools/frame.ts +0 -166
  28. package/src/tools/generic.ts +0 -195
  29. package/src/tools/grep.ts +0 -371
  30. package/src/tools/index.ts +0 -135
  31. package/src/tools/ls.ts +0 -231
  32. package/src/tools/ownership.ts +0 -70
  33. package/src/tools/powershell.ts +0 -1
  34. package/src/tools/read.ts +0 -194
  35. package/src/tools/ticker.ts +0 -101
  36. package/src/tools/write.ts +0 -188
  37. package/src/welcome/age.ts +0 -11
  38. package/src/welcome/index.ts +0 -132
  39. package/src/welcome/logo.ts +0 -35
  40. package/src/welcome/render.ts +0 -323
  41. package/src/welcome/resources.ts +0 -251
package/README.md CHANGED
@@ -7,12 +7,23 @@ dependencies are pinned to `1.0.2` in the root workspace lockfile.
7
7
 
8
8
  ## Install
9
9
 
10
- From the thoth-agents repository root:
10
+ Thoth's complete Pi Install and applied Update install and individually verify
11
+ `npm:@thoth-agents/pi-thoth-theme@>=0.3.0`. An existing copy from any source at or
12
+ above that floor is preserved without reinstalling; an older copy remains
13
+ untouched and blocks completion with manual upgrade guidance. Ambiguous identity
14
+ fails closed. Upgrade a local/Git checkout in place, or review ownership before
15
+ switching its configured source with Pi's native remove/install commands; verify
16
+ the installed manifest and rerun setup. Dry-run performs no mutation.
17
+
18
+ For a standalone install:
11
19
 
12
20
  ```sh
13
- pi install ./pi-packages/pi-thoth-theme
21
+ pi install 'npm:@thoth-agents/pi-thoth-theme@>=0.3.0'
14
22
  ```
15
23
 
24
+ For workspace development, build first and run `pi install ./pi-packages/pi-thoth-theme`
25
+ from the repository root. Restart Pi after installation.
26
+
16
27
  Select the `thoth` theme in Pi's theme settings. Theme selection is independent
17
28
  of the module toggles below.
18
29
 
@@ -26,9 +37,10 @@ of the module toggles below.
26
37
  drop speed, then cache, then tokens before truncating cost. Editor-border
27
38
  metadata is decorated in place without claiming the custom editor slot.
28
39
  - **Tools**: boxed calls and results for `read`, `bash`, `powershell`, `ls`,
29
- `grep`, `find`, `edit` and `write`, with Nerd Font icons or ASCII
30
- alternatives. `bash` and `powershell` show a live elapsed time while running. Execution and
31
- parameters delegate to Pi's built-in tools; Pi's native output toggle still
40
+ `grep`, `find`, `edit` and `write`, with Nerd Font icons, native Unicode
41
+ glyphs or ASCII alternatives. `bash` and `powershell` show a live elapsed time
42
+ while running. Execution and parameters delegate to Pi's built-in tools;
43
+ Pi's native output toggle still
32
44
  collapses and expands results. Registered non-built-in tools keep their own
33
45
  renderers when their package matches `tools.respectPackages` (including
34
46
  thoth-agents and thoth-mem by default). Other tools get a generic frame with
@@ -40,11 +52,31 @@ of the module toggles below.
40
52
  tool providers, and recent sessions. Resource and session details load
41
53
  best-effort through public APIs.
42
54
 
55
+ ## Subagent usage channel
56
+
57
+ The status line subscribes to pi-core's v1 `thoth:subagents:usage` channel and
58
+ requests a snapshot on `thoth:subagents:usage:request` at session start, after
59
+ subscribing, using `data: {}`. The producer is `@thoth-agents/pi-subagents`;
60
+ envelopes are `{ v, source, sessionId, at, data }`, with the parent session ID
61
+ in the envelope, Unix-millisecond `at`, and only cumulative `totalCost` and
62
+ `runCount` in data. Pre-readiness requests are answered once after usage restore.
63
+ Invalid, unsupported-version and foreign-session envelopes are ignored; no task
64
+ prompts, results, transcripts or logs are consumed.
65
+
66
+ The raw `thoth:subagent-usage` bus event/request is removed with no fallback or
67
+ dual publication. Upgrade pi-subagents and pi-thoth-theme to `>=0.3.0` together
68
+ and `/reload`; mixed old/new versions lose subagent cost display. The persisted
69
+ usage checkpoint custom-entry type remains `thoth:subagent-usage`, so checkpoint
70
+ restore and replay-duplicate suppression are unchanged. See
71
+ [pi-core's exact contract](../pi-core/README.md#task-summary-and-usage-channels).
72
+
43
73
  ## Render KIT
44
74
 
45
75
  Provides the Render KIT v1 contract defined by `@thoth-agents/pi-core` for
46
76
  first-party tools, custom messages and above-editor widgets. The kit shares this
47
77
  package's frames, theme roles, collapse hints and working/elapsed indicators.
78
+ The Render KIT v1 semantic icon table includes `elapsed` for work-panel metrics,
79
+ with nerd-clock, Unicode and ASCII alternatives.
48
80
  Producers discover it at render time, so extension load order does not matter;
49
81
  they do not depend on this package and keep native Pi rendering when it is absent.
50
82
 
@@ -64,7 +96,7 @@ Edit `~/.pi/agent/pi-thoth-theme.json` (or
64
96
  "icons": "nerd",
65
97
  "statusLine": {
66
98
  "enabled": true,
67
- "subscriptionProviders": ["claude-bridge"]
99
+ "subscriptionProviders": ["claude-bridge", "antigravity"]
68
100
  },
69
101
  "inputBox": { "enabled": true },
70
102
  "tools": {
@@ -75,17 +107,24 @@ Edit `~/.pi/agent/pi-thoth-theme.json` (or
75
107
  }
76
108
  ```
77
109
 
78
- `icons` accepts `"nerd"` (default) or `"ascii"`. Each module's `enabled` key
110
+ `icons` accepts `"nerd"` (default), `"unicode"` (native Render KIT glyphs,
111
+ status symbols and animation frames, with Unicode substitutes for Nerd glyphs),
112
+ or `"ascii"` (plain-text alternatives).
113
+ Missing or malformed icon values use `"nerd"`. Each module's `enabled` key
79
114
  accepts a boolean and defaults to `true`. Set it to `false` to leave Pi's native
80
115
  behavior on that surface. `statusLine.subscriptionProviders` accepts an array of
81
- provider identifier strings (defaults to `["claude-bridge"]`) to mark
116
+ provider identifier strings (defaults to `["claude-bridge", "antigravity"]`) to mark
82
117
  subscription-backed usage with `(sub)` in the status line cost segment.
118
+ Classification uses the current provider for the displayed total, not a
119
+ per-message billing split; explicit user lists are preserved. Antigravity costs
120
+ are API-equivalent catalog estimates, not subscription charges.
83
121
 
84
122
  `inputBox.enabled` defaults to `true` and requires `statusLine.enabled` to be
85
123
  `true`. It frames the native editor in a rounded `muted` (sand) box with side borders,
86
124
  a dim `type or / for commands` placeholder, and top-left ready or native working
87
125
  status (including elapsed seconds). Git branch and working directory appear on
88
- the top border; model, thinking effort and context usage appear on the bottom.
126
+ the top border, using pi-core's root-exported `formatCwd` for home abbreviation
127
+ (shared with the sidebar); model, thinking effort and context usage appear on the bottom.
89
128
  Native scroll indicators are preserved. The status line always stays in its
90
129
  separate footer row below the box. Narrow widths use the native editor geometry.
91
130
  Disable `inputBox` to keep the native editor and the same footer.
@@ -106,7 +145,9 @@ malformed or invalid values use defaults. Pi settings are never read for
106
145
  package configuration.
107
146
 
108
147
  **A Nerd Font is required for the default icons.** Configure your terminal to
109
- use one, or set `"icons": "ascii"` for plain-text alternatives.
148
+ use one, set `"icons": "unicode"` for native glyphs, or use `"icons": "ascii"`
149
+ for plain-text alternatives. Unicode mode substitutes a Unicode glyph where
150
+ the native fallback is a Nerd glyph (agent `⚙`).
110
151
 
111
152
  ## Attribution
112
153