diff options
| author | Igor Soarez <igor@soarez.org> | 2026-11-01 10:22:01 +0200 |
|---|---|---|
| committer | Igor Soarez <igor@soarez.org> | 2026-11-01 10:22:01 +0200 |
| commit | 8146d1db419e8bdacd75920da6f3761abf724853 (patch) | |
| tree | 921a1d609d96bb2129f7ac2d80635fd3c0c41691 /crates/dinggerd/src/tmux.rs | |
| parent | 959f0d46cac1a09d0821da599d8dff54d1147892 (diff) | |
show what pi agents cost today, this week and this month, counting forked replies once
Diffstat (limited to 'crates/dinggerd/src/tmux.rs')
| -rw-r--r-- | crates/dinggerd/src/tmux.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/crates/dinggerd/src/tmux.rs b/crates/dinggerd/src/tmux.rs index 510c54b..136260e 100644 --- a/crates/dinggerd/src/tmux.rs +++ b/crates/dinggerd/src/tmux.rs @@ -34,6 +34,8 @@ pub struct Pane { pub written_control: String, /// The draft in the agent's input box, as one line. pub written_draft: String, + /// What the agent's session spent today (UTC), in dollars. + pub written_cost: String, } @@ -118,14 +120,15 @@ pub fn list_panes() -> Result<Vec<Pane>, String> { "#{@dingger_importance}\t", "#{@dingger_extension}\t", "#{@dingger_control}\t", - "#{@dingger_draft}", + "#{@dingger_draft}\t", + "#{@dingger_cost}", ); let out = run_tmux(&["list-panes", "-a", "-F", format])?; let mut panes: Vec<Pane> = Vec::new(); let mut process_tree = None; for line in out.lines() { let fields: Vec<&str> = line.split('\t').collect(); - if fields.len() < 23 { + if fields.len() < 24 { continue; } let attended = fields[4] == "1" && fields[5] != "0"; @@ -171,6 +174,7 @@ pub fn list_panes() -> Result<Vec<Pane>, String> { written_extension: fields[20].to_string(), written_control: fields[21].to_string(), written_draft: fields[22].to_string(), + written_cost: fields[23].to_string(), }); } Ok(panes) |
