@justjoshn/pi-pstack 0.15.36-pi.7 → 0.15.36-pi.8

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/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.15.36-pi.8] - 2026-11-02
4
+
5
+ - Declare `cost.totalFromProvider` on the exported `Usage` type so the package typechecks again, completing the provider-reported cost provenance aggregation shipped in 0.15.36-pi.7.
6
+
3
7
  ## [0.15.36-pi.7] - 2026-11-02
4
8
 
5
9
  - Update the host compatibility documentation for Pi 1.5.0. Retain the four native gaps for RPC process control, skill-block formatting, named-ID fork truncation, and workspace folder naming.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@justjoshn/pi-pstack",
3
- "version": "0.15.36-pi.7",
3
+ "version": "0.15.36-pi.8",
4
4
  "description": "pstack 0.15.36 for Pi with its soft-dependency team-kit skills vendored in: rigorous agent workflows and principles as Pi skills, with the host features they use: subagents, todos, modes, plan mode, the model rule, /loop, subscriptions and routines, AskQuestion, and visualize",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -4,7 +4,7 @@ import { homedir } from 'node:os';
4
4
  import { isAbsolute, join, resolve } from 'node:path';
5
5
  import { StringDecoder } from 'node:string_decoder';
6
6
 
7
- import type { ImageContent, Usage } from '@earendil-works/pi-ai';
7
+ import type { ImageContent, Usage as ProviderUsage } from '@earendil-works/pi-ai';
8
8
  import { detectSupportedImageMimeTypeFromFile } from '@earendil-works/pi-coding-agent';
9
9
  import { PACKAGE_ROOT } from '../paths.ts';
10
10
  import type { ModelSpec } from './models.ts';
@@ -17,6 +17,11 @@ export const KILL_GRACE_MS = 3_000;
17
17
  // Dialogs block a run until answered. A subagent has nobody to ask, so its owner dismisses them.
18
18
  const DIALOG_METHODS = new Set(['select', 'confirm', 'input', 'editor']);
19
19
 
20
+ /** Provider usage, plus whether `cost.total` was reported by the provider rather than priced locally. */
21
+ export interface Usage extends ProviderUsage {
22
+ cost: ProviderUsage['cost'] & { totalFromProvider?: boolean | undefined };
23
+ }
24
+
20
25
  export interface ChildArgsOptions {
21
26
  sessionDir: string;
22
27
  agentId: string;