@aiwayds/dsh-tui-pi 2.28.2 → 2.29.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.
- package/README.md +2 -2
- package/README.zh-CN.md +2 -2
- package/lib/hotkeys.js +2 -1
- package/lib/hotkeys.js.map +1 -1
- package/lib/index.js +37 -1
- package/lib/index.js.map +1 -1
- package/lib/keymap.d.ts +5 -0
- package/lib/keymap.js +16 -0
- package/lib/keymap.js.map +1 -1
- package/lib/live-widgets.d.ts +13 -0
- package/lib/live-widgets.js +68 -0
- package/lib/live-widgets.js.map +1 -1
- package/lib/session.d.ts +78 -0
- package/lib/session.js +141 -5
- package/lib/session.js.map +1 -1
- package/lib/sessions.d.ts +21 -0
- package/lib/sessions.js +23 -5
- package/lib/sessions.js.map +1 -1
- package/lib/subagent-viewer.d.ts +1 -1
- package/lib/subagent-viewer.js +16 -1
- package/lib/subagent-viewer.js.map +1 -1
- package/lib/tokens.d.ts +7 -0
- package/lib/tokens.js +11 -0
- package/lib/tokens.js.map +1 -1
- package/lib/workflow-overlay-panel.d.ts +33 -0
- package/lib/workflow-overlay-panel.js +171 -0
- package/lib/workflow-overlay-panel.js.map +1 -0
- package/locales/en.json +8 -6
- package/locales/ja.json +8 -6
- package/locales/ko.json +8 -6
- package/locales/zh-CN.json +8 -6
- package/package.json +1 -1
- package/scripts/smoke-boot.mjs +1 -0
package/lib/keymap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keymap.js","sourceRoot":"","sources":["../src/keymap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAc,MAAM,wBAAwB,CAAA;AAE1F,0EAA0E;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;AAElC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAA;AAEvC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;AAElC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"keymap.js","sourceRoot":"","sources":["../src/keymap.ts"],"names":[],"mappings":"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"}
|
package/lib/live-widgets.d.ts
CHANGED
|
@@ -194,3 +194,16 @@ export declare class LiveWidgets {
|
|
|
194
194
|
*/
|
|
195
195
|
private compactAgentLine;
|
|
196
196
|
}
|
|
197
|
+
/** The widgets directory: `$DSH_HOME/tui-widgets` (dsh home, like agents/). */
|
|
198
|
+
export declare function tuiWidgetsDir(): string;
|
|
199
|
+
/** One external widget file renderer, mounted once in the dock. */
|
|
200
|
+
export declare class ExternalWidgetFile implements Component {
|
|
201
|
+
private lastMtime;
|
|
202
|
+
private lines;
|
|
203
|
+
private readonly getTheme;
|
|
204
|
+
constructor(getTheme: () => TuiTheme);
|
|
205
|
+
invalidate(): void;
|
|
206
|
+
/** Re-read the widgets dir when any file's mtime moved (cheap stat per frame). */
|
|
207
|
+
private refresh;
|
|
208
|
+
render(width: number): string[];
|
|
209
|
+
}
|
package/lib/live-widgets.js
CHANGED
|
@@ -531,4 +531,72 @@ export class LiveWidgets {
|
|
|
531
531
|
return base;
|
|
532
532
|
}
|
|
533
533
|
}
|
|
534
|
+
// ---------------------------------------------------------------------------
|
|
535
|
+
// External widget files (generic) — how SIBLING plugins (e.g. @aiwayds/
|
|
536
|
+
// dsh-workflow) pin a live widget row into the todosDoc dock WITHOUT this
|
|
537
|
+
// plugin knowing their domain. The contract is a FILE, not a service: each
|
|
538
|
+
// plugin owns `$DSH_HOME/tui-widgets/<pluginId>.lines` and writes its
|
|
539
|
+
// current frame lines into it whenever its data changes (lines starting
|
|
540
|
+
// with `#` are metadata and skipped). The dock re-reads on mtime change —
|
|
541
|
+
// ownership stays with the writer; this plugin is a dumb line renderer.
|
|
542
|
+
// ---------------------------------------------------------------------------
|
|
543
|
+
import { readdirSync, readFileSync, statSync } from 'node:fs';
|
|
544
|
+
import { homedir } from 'node:os';
|
|
545
|
+
import { join } from 'node:path';
|
|
546
|
+
/** The widgets directory: `$DSH_HOME/tui-widgets` (dsh home, like agents/). */
|
|
547
|
+
export function tuiWidgetsDir() {
|
|
548
|
+
return join(process.env.DSH_HOME ?? join(homedir(), '.dsh'), 'tui-widgets');
|
|
549
|
+
}
|
|
550
|
+
/** One external widget file renderer, mounted once in the dock. */
|
|
551
|
+
export class ExternalWidgetFile {
|
|
552
|
+
lastMtime = 0;
|
|
553
|
+
lines = [];
|
|
554
|
+
getTheme;
|
|
555
|
+
constructor(getTheme) {
|
|
556
|
+
this.getTheme = getTheme;
|
|
557
|
+
}
|
|
558
|
+
invalidate() { }
|
|
559
|
+
/** Re-read the widgets dir when any file's mtime moved (cheap stat per frame). */
|
|
560
|
+
refresh() {
|
|
561
|
+
let dir;
|
|
562
|
+
try {
|
|
563
|
+
dir = tuiWidgetsDir();
|
|
564
|
+
const names = readdirSync(dir).filter((n) => n.endsWith('.lines')).sort();
|
|
565
|
+
const lines = [];
|
|
566
|
+
let newest = 0;
|
|
567
|
+
for (const name of names) {
|
|
568
|
+
const path = join(dir, name);
|
|
569
|
+
const mtime = statSync(path).mtimeMs;
|
|
570
|
+
if (mtime > newest)
|
|
571
|
+
newest = mtime;
|
|
572
|
+
if (mtime === this.lastMtime)
|
|
573
|
+
continue;
|
|
574
|
+
}
|
|
575
|
+
if (newest !== this.lastMtime || this.lines.length === 0) {
|
|
576
|
+
for (const name of names) {
|
|
577
|
+
try {
|
|
578
|
+
for (const raw of readFileSync(join(dir, name), 'utf8').split('\n')) {
|
|
579
|
+
const line = raw.replaceAll('\r', '');
|
|
580
|
+
if (line !== '' && !line.startsWith('#'))
|
|
581
|
+
lines.push(line);
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
catch { /* a vanished file renders as nothing */ }
|
|
585
|
+
}
|
|
586
|
+
this.lines = lines;
|
|
587
|
+
this.lastMtime = newest;
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
catch {
|
|
591
|
+
this.lines = [];
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
render(width) {
|
|
595
|
+
this.refresh();
|
|
596
|
+
if (this.lines.length === 0)
|
|
597
|
+
return [];
|
|
598
|
+
const theme = this.getTheme();
|
|
599
|
+
return this.lines.map((line) => (line.length > width ? `${line.slice(0, Math.max(0, width - 1))}…` : line) + theme.palette.fgMuted.slice(0, 0));
|
|
600
|
+
}
|
|
601
|
+
}
|
|
534
602
|
//# sourceMappingURL=live-widgets.js.map
|
package/lib/live-widgets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-widgets.js","sourceRoot":"","sources":["../src/live-widgets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,SAAS,EAAE,IAAI,EAAkB,MAAM,wBAAwB,CAAA;AAExE,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,cAAc,GACf,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAA;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAiB,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AAEnC,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;AAChC,qEAAqE;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAA;AAE/F;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;QACvB,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAA;IACjF,CAAC;IACD,IAAI,CAAC,IAAI,KAAK;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAA;IAClD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;AAClB,CAAC;AAED,oFAAoF;AACpF,MAAM,YAAY,GAAG,GAA2B,EAAE,CAAC;IACjD,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IACpD,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;IACvC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;CAC5D,CAAA;AAED,kEAAkE;AAClE,SAAS,QAAQ,CAAC,MAAc;IAC9B,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,GAAG,CAAA;IACtC,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,GAAG,CAAA;IACxC,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAA;AAE9B,4EAA4E;AAC5E,SAAS,UAAU,CAAC,MAAc;IAChC,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,CAAC,CAAA;IACtC,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,CAAC,CAAA;IACpC,OAAO,CAAC,CAAA;AACV,CAAC;AAED,2EAA2E;AAC3E,SAAS,aAAa,CAAC,OAA0B;IAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACnC,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACtB,IAAI,IAAI,GAAG,KAAK,CAAA;IAChB,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC;YAAC,IAAI,GAAG,CAAC,CAAC;YAAC,SAAQ;QAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAA;QAC3D,KAAK,GAAG,IAAI,GAAG,CAAC,CAAA;IAClB,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAA;IAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACvB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,UAAU;IACb,KAAK,GAAmD,EAAE,CAAA;IACjD,QAAQ,CAAgB;IAEzC,YAAY,QAAwB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,UAAU,KAA0E,CAAC;IAErF,sEAAsE;IACtE,QAAQ,CAAC,KAAqD;QAC5D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC;YAAE,OAAO,EAAE,CAAA;QAC/F,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC7B,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAA;QACvB,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;QACxC,MAAM,UAAU,GAAG,QAAQ,GAAG,CAAC,CAAA;QAC/B,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CAAA;QAC1D,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;QAElE,0EAA0E;QAC1E,oEAAoE;QACpE,0EAA0E;QAC1E,0EAA0E;QAC1E,sEAAsE;QACtE,oEAAoE;QACpE,iEAAiE;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK;aACtB,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;aACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;eAChE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;aAC5E,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;aACvB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;QAEpC,uEAAuE;QACvE,0EAA0E;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAA;QAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;YAC/C,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClG,CAAC,CAAC,EAAE,CAAA;QACN,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,GAAG,KAAK;cAChE,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,CAAA;QACtD,MAAM,GAAG,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;QAE9F,wEAAwE;QACxE,qEAAqE;QACrE,iBAAiB;QACjB,GAAG,CAAC,IAAI,CAAC,WAAW,CAClB,QAAQ,EACR,QAAQ,EACR,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAC7G,CAAC,CAAA;QAEF,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC;YACrC,wEAAwE;YACxE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAC7D,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YACvD,uEAAuE;YACvE,mEAAmE;YACnE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,KAAK,WAAW;gBACvC,CAAC,CAAC,CAAC,CAAC,OAAO;gBACX,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;YAC5D,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;YAClE,GAAG,CAAC,IAAI,CAAC,WAAW,CAClB,QAAQ,EACR,QAAQ,EACR,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,CAC3F,CAAC,CAAA;QACJ,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC/C,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AAED,8EAA8E;AAC9E,SAAS,OAAO,CAAC,OAAe,EAAE,KAAa;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAClE,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,OAAO,WAAW;IACL,QAAQ,CAAW;IACnB,WAAW,CAAW;IAC/B,KAAK,CAAU;IACN,aAAa,CAAY;IAC1C,gEAAgE;IAC/C,UAAU,CAAY;IACvC,sEAAsE;IACrD,UAAU,CAAY;IACtB,SAAS,CAAW;IACrC,2DAA2D;IACnD,UAAU,GAAyB,EAAE,CAAA;IAC7C,2EAA2E;IACnE,UAAU,CAAkB;IACpC,6EAA6E;IACrE,WAAW,CAAkB;IACrC,4EAA4E;IACpE,cAAc,CAAoB;IAC1C,wEAAwE;IAChE,YAAY,GAAG,CAAC,CAAA;IACxB;;;;OAIG;IACc,aAAa,CAAc;IAE5C;;;;;;;;;OASG;IACH,YACE,QAAmB,EACnB,WAAsB,EACtB,KAAe,EACf,aAAyB,EACzB,cAA2B,oBAAoB,EAC/C,gBAA8B,GAAG,EAAE,CAAC,CAAC;QAErC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,oEAAoE;QACpE,wEAAwE;QACxE,uEAAuE;QACvE,oDAAoD;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QACtC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QACrC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAClC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAClC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACnC,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,IAAwB;QACrC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAC9C,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;gBAC5B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;gBAC/B,IAAI,CAAC,aAAa,EAAE,CAAA;YACtB,CAAC;YACD,OAAM;QACR,CAAC;QACD,yEAAyE;QACzE,uEAAuE;QACvE,kCAAkC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/D,mEAAmE;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAC9C,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YACrC,sEAAsE;YACtE,sEAAsE;YACtE,mCAAmC;YACnC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;gBAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAChF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC3C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;gBAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/E,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAA;QAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,OAAO,EAAE,GAAG,KAAK,CAAC,CAAA;QACtF,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAED,mEAAmE;IACnE,WAAW,CAAC,KAAqD;QAC/D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,KAAmB;QAC5B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,mBAAmB;gBACtB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;gBACtB,MAAK;YACP,KAAK,WAAW;gBACd,kEAAkE;gBAClE,qEAAqE;gBACrE,oEAAoE;gBACpE,oEAAoE;gBACpE,yCAAyC;gBACzC,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;gBACvB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBAChF,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;gBACtB,MAAK;YACP,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,oEAAoE;gBACpE,kEAAkE;gBAClE,2CAA2C;gBAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAA;gBAClC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE;oBACxC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS;wBACnC,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;oBAChE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;iBAC9D,CAAC,CAAA;gBACF,MAAK;YACP,CAAC;YACD,KAAK,cAAc,CAAC;YACpB,KAAK,UAAU;gBACb,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;gBACtB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;gBACrB,MAAK;YACP;gBACE,MAAK;QACT,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAsC;QACrD,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;gBACtC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;YACvB,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;YACpE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;YACtB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;QACvB,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAED,6DAA6D;IAC7D,YAAY,CAAC,MAA4B;QACvC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAA;QACxB,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAA;QAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAA;QAC5E,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU;YAAE,OAAM;QACtC,IAAI,UAAU;YAAE,IAAI,CAAC,YAAY,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,WAAwB;QACrC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QACtC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QACrC,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAED;;iFAE6E;IAC7E,QAAQ,CAAC,KAAe;QACtB,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK;YAAE,OAAM;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,OAAO,EAAE,CAAA;QACd,4EAA4E;QAC5E,4DAA4D;QAC5D,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACxE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,GAAG,KAAK,CAAC,CAAA;QACpG,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QACrB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;QACrB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC7C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC7B,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAED;;;;;;;OAOG;IACK,OAAO;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAA;QAC1E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YAC7F,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC7B,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC/B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;gBACtC,wEAAwE;gBACxE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC7C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC7B,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,gBAAgB,CAAC,IAAe,EAAE,MAAe;QACvD,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;QACvD,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACnF,MAAM,SAAS,GAAa,EAAE,CAAA;QAC9B,uEAAuE;QACvE,sEAAsE;QACtE,kDAAkD;QAClD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAC1F,uEAAuE;QACvE,wEAAwE;QACxE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACtD,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;YACtB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QAC5G,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC3B,sEAAsE;YACtE,qEAAqE;YACrE,mEAAmE;YACnE,uEAAuE;YACvE,oCAAoC;YACpC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC;gBAC1E,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAA;YACN,SAAS,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,EAAE,CAAC,CAAA;QAC3D,CAAC;QACD,yEAAyE;QACzE,2EAA2E;QAC3E,sEAAsE;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACtC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QAC1G,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;QACpD,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACxC,MAAM,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/C,mEAAmE;QACnE,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACvE,MAAM,SAAS,GAAG,QAAQ,KAAK,EAAE;YAC/B,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC;YAC9B,CAAC,CAAC,QAAQ,CAAA;QACZ,0EAA0E;QAC1E,0EAA0E;QAC1E,iCAAiC;QACjC,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAA;QACrD,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;QAChE,MAAM,UAAU,GAAG,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACxD,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QAC3F,IAAI,MAAM,KAAK,EAAE,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACrC,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,CAAC,CAAC,EAAE,CAAA;QACxD,CAAC;QACD,qEAAqE;QACrE,MAAM,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAA;QACvE,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACzC,uEAAuE;QACvE,2EAA2E;QAC3E,sEAAsE;QACtE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,KAAK,CAAA;QACtE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,KAAK,CAAA;QAClE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,KAAK,CAAA;QAC1E,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAA;QACxE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,WAAW,GAAG,KAAK,CAAA;QAC7E,MAAM,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,GAAG,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAA;QAC7E,wEAAwE;QACxE,sEAAsE;QACtE,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,wEAAwE;YACxE,sDAAsD;YACtD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,KAAK,CAAA;QAC7D,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"live-widgets.js","sourceRoot":"","sources":["../src/live-widgets.ts"],"names":[],"mappings":"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"}
|
package/lib/session.d.ts
CHANGED
|
@@ -77,6 +77,37 @@ export interface BridgeStats {
|
|
|
77
77
|
*/
|
|
78
78
|
contextTokens: number;
|
|
79
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Cumulative decode-speed accounting — the true generation rate. The window
|
|
82
|
+
* per billed message is first token → assembled `assistant/message` (the
|
|
83
|
+
* same definition as the host's sessionStats projection: TTFT and tool time
|
|
84
|
+
* stay out), tokens are that message's `usage.outputTokens`. All zeros
|
|
85
|
+
* until the first usage-bearing message with a readable embedded stream.
|
|
86
|
+
*/
|
|
87
|
+
export interface DecodeStats {
|
|
88
|
+
/** Summed decode wall time (ms) over the decode-timed messages. */
|
|
89
|
+
decodeMs: number;
|
|
90
|
+
/** Summed provider output tokens over the same decode-timed messages. */
|
|
91
|
+
decodeTokens: number;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Per-model-route attribution of one session's LLM traffic — the "models
|
|
95
|
+
* this session actually billed" view. The route comes from the latest
|
|
96
|
+
* `request/header` before each message; usage-less messages are not
|
|
97
|
+
* attributed (nothing to bill).
|
|
98
|
+
*/
|
|
99
|
+
export interface RouteUsageStats {
|
|
100
|
+
/** The `provider/model` route. */
|
|
101
|
+
route: string;
|
|
102
|
+
/** Billed assistant messages attributed to this route. */
|
|
103
|
+
requests: number;
|
|
104
|
+
/** Output tokens billed on this route. */
|
|
105
|
+
outputTokens: number;
|
|
106
|
+
/** Decode wall time (ms) attributed to this route. */
|
|
107
|
+
decodeMs: number;
|
|
108
|
+
/** Output tokens over the same decode-timed messages. */
|
|
109
|
+
decodeTokens: number;
|
|
110
|
+
}
|
|
80
111
|
export declare class DshSessionBridge {
|
|
81
112
|
private readonly ctx;
|
|
82
113
|
private readonly callbacks;
|
|
@@ -131,6 +162,35 @@ export declare class DshSessionBridge {
|
|
|
131
162
|
* whose usage snapshot then covers them exactly.
|
|
132
163
|
*/
|
|
133
164
|
private pendingTokens;
|
|
165
|
+
/**
|
|
166
|
+
* Decode-speed accounting of the MAIN session (see {@link DecodeStats}) —
|
|
167
|
+
* summed first-token → message windows and their output tokens, attributed
|
|
168
|
+
* per route below. Reset by replay/detach like the rest of the stats.
|
|
169
|
+
*/
|
|
170
|
+
private decodeMs;
|
|
171
|
+
private decodeTokens;
|
|
172
|
+
/**
|
|
173
|
+
* The route of the LATEST `request/header` — every billed message between
|
|
174
|
+
* two headers belongs to it. Route attribution is replay-safe because the
|
|
175
|
+
* headers are log events like the messages they prefix.
|
|
176
|
+
*/
|
|
177
|
+
private currentRoute;
|
|
178
|
+
/** Per-route usage attribution of the main session (insertion-ordered). */
|
|
179
|
+
private readonly routeUsage;
|
|
180
|
+
/**
|
|
181
|
+
* Per-child decode-speed accounting (see {@link DecodeStats}) — the
|
|
182
|
+
* subagent viewer's cumulative `tok/s`. Event-path only, like the child
|
|
183
|
+
* token totals; a redelivered `assistant/message` double-counts (same
|
|
184
|
+
* accepted exposure as the streamed round ledger).
|
|
185
|
+
*/
|
|
186
|
+
private readonly childDecode;
|
|
187
|
+
/**
|
|
188
|
+
* Per-child LIVE decode window: opened by the first streamed delta after
|
|
189
|
+
* the previous message settled, closed by the next `assistant/message`.
|
|
190
|
+
* Feeds the in-flight `~N tok/s` (an estimate — the exact output count is
|
|
191
|
+
* only known at settlement).
|
|
192
|
+
*/
|
|
193
|
+
private readonly childLive;
|
|
134
194
|
/** Live subagent rows keyed by child session id. */
|
|
135
195
|
private readonly agentViews;
|
|
136
196
|
/** Child session ids whose own events we fold into the agent views. */
|
|
@@ -305,6 +365,24 @@ export declare class DshSessionBridge {
|
|
|
305
365
|
private reconcileChildRounds;
|
|
306
366
|
/** Snapshot of the incremental stats (footer reads this O(1)). */
|
|
307
367
|
getStats(): BridgeStats;
|
|
368
|
+
/**
|
|
369
|
+
* The MAIN session's decode-speed accounting: the cumulative window sums
|
|
370
|
+
* plus the per-route attribution (the "models this session billed" list,
|
|
371
|
+
* first-request order). Defensive copies — callers may hold the snapshot.
|
|
372
|
+
*/
|
|
373
|
+
getDecodeStats(): DecodeStats & {
|
|
374
|
+
routes: readonly RouteUsageStats[];
|
|
375
|
+
};
|
|
376
|
+
/** One child's cumulative decode-speed accounting (viewer header). */
|
|
377
|
+
getChildDecodeStats(childId: string): DecodeStats;
|
|
378
|
+
/**
|
|
379
|
+
* One child's LIVE in-flight decode rate (tok/s), while a message is
|
|
380
|
+
* streaming: estimated streamed tokens over the live window's elapsed
|
|
381
|
+
* time. Undefined before a short warmup (an absurd rate over the first
|
|
382
|
+
* few hundred ms) and whenever no window is open. The settled
|
|
383
|
+
* `getChildDecodeStats` average replaces it once the message lands.
|
|
384
|
+
*/
|
|
385
|
+
getChildLiveTps(childId: string, now?: number): number | undefined;
|
|
308
386
|
/** Current session id, when one exists. */
|
|
309
387
|
getSessionId(): SessionId | undefined;
|
|
310
388
|
/**
|
package/lib/session.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* - resume of persisted sessions (log replay into stats + transcript)
|
|
11
11
|
*/
|
|
12
12
|
import { installModelSelection } from '@deepseek-ai/dsh-agent';
|
|
13
|
-
import { createUserMessage } from '@deepseek-ai/dsh-llm';
|
|
13
|
+
import { assistantStreamFirstTokenTime, createUserMessage } from '@deepseek-ai/dsh-llm';
|
|
14
14
|
import { SettingsConflictError } from '@deepseek-ai/dsh-settings';
|
|
15
15
|
import { SessionId, SessionLogOffset } from '@deepseek-ai/dsh-session';
|
|
16
16
|
import { readAppendSystem } from "./append-system.js";
|
|
@@ -102,6 +102,12 @@ function estimateToolResultTokens(data) {
|
|
|
102
102
|
* child cannot grow the fold unboundedly. Trimmed at line boundaries.
|
|
103
103
|
*/
|
|
104
104
|
const CHILD_STREAM_CAP = 16_384;
|
|
105
|
+
/**
|
|
106
|
+
* Live in-flight `tok/s` warmup: a rate computed over the first few hundred
|
|
107
|
+
* ms of a stream is mostly TTFT jitter (2 tokens in 80ms reads as 25 tok/s).
|
|
108
|
+
* The window must be at least this old before `getChildLiveTps` reports.
|
|
109
|
+
*/
|
|
110
|
+
const LIVE_TPS_WARMUP_MS = 500;
|
|
105
111
|
/** Strip ANSI SGR escape sequences (the only escapes collected into assistant text). */
|
|
106
112
|
function stripAnsi(text) {
|
|
107
113
|
return text.replace(/\x1b\[[0-9;]*m/g, '');
|
|
@@ -168,6 +174,15 @@ function lastBufferLine(buffer) {
|
|
|
168
174
|
}
|
|
169
175
|
return undefined;
|
|
170
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* First-token time of an `assistant/message`'s embedded stream — the decode
|
|
179
|
+
* window's start. Defensive: the stream is required by the event type but
|
|
180
|
+
* the fold consumes foreign fixtures and replayed logs, and a missing or
|
|
181
|
+
* odd-shaped stream must read as "no timed window", never throw.
|
|
182
|
+
*/
|
|
183
|
+
function firstTokenOf(stream) {
|
|
184
|
+
return Array.isArray(stream) ? assistantStreamFirstTokenTime(stream) : undefined;
|
|
185
|
+
}
|
|
171
186
|
export class DshSessionBridge {
|
|
172
187
|
ctx;
|
|
173
188
|
callbacks;
|
|
@@ -234,6 +249,35 @@ export class DshSessionBridge {
|
|
|
234
249
|
* whose usage snapshot then covers them exactly.
|
|
235
250
|
*/
|
|
236
251
|
pendingTokens = 0;
|
|
252
|
+
/**
|
|
253
|
+
* Decode-speed accounting of the MAIN session (see {@link DecodeStats}) —
|
|
254
|
+
* summed first-token → message windows and their output tokens, attributed
|
|
255
|
+
* per route below. Reset by replay/detach like the rest of the stats.
|
|
256
|
+
*/
|
|
257
|
+
decodeMs = 0;
|
|
258
|
+
decodeTokens = 0;
|
|
259
|
+
/**
|
|
260
|
+
* The route of the LATEST `request/header` — every billed message between
|
|
261
|
+
* two headers belongs to it. Route attribution is replay-safe because the
|
|
262
|
+
* headers are log events like the messages they prefix.
|
|
263
|
+
*/
|
|
264
|
+
currentRoute;
|
|
265
|
+
/** Per-route usage attribution of the main session (insertion-ordered). */
|
|
266
|
+
routeUsage = new Map();
|
|
267
|
+
/**
|
|
268
|
+
* Per-child decode-speed accounting (see {@link DecodeStats}) — the
|
|
269
|
+
* subagent viewer's cumulative `tok/s`. Event-path only, like the child
|
|
270
|
+
* token totals; a redelivered `assistant/message` double-counts (same
|
|
271
|
+
* accepted exposure as the streamed round ledger).
|
|
272
|
+
*/
|
|
273
|
+
childDecode = new Map();
|
|
274
|
+
/**
|
|
275
|
+
* Per-child LIVE decode window: opened by the first streamed delta after
|
|
276
|
+
* the previous message settled, closed by the next `assistant/message`.
|
|
277
|
+
* Feeds the in-flight `~N tok/s` (an estimate — the exact output count is
|
|
278
|
+
* only known at settlement).
|
|
279
|
+
*/
|
|
280
|
+
childLive = new Map();
|
|
237
281
|
/** Live subagent rows keyed by child session id. */
|
|
238
282
|
agentViews = new Map();
|
|
239
283
|
/** Child session ids whose own events we fold into the agent views. */
|
|
@@ -704,6 +748,37 @@ export class DshSessionBridge {
|
|
|
704
748
|
getStats() {
|
|
705
749
|
return { ...this.stats };
|
|
706
750
|
}
|
|
751
|
+
/**
|
|
752
|
+
* The MAIN session's decode-speed accounting: the cumulative window sums
|
|
753
|
+
* plus the per-route attribution (the "models this session billed" list,
|
|
754
|
+
* first-request order). Defensive copies — callers may hold the snapshot.
|
|
755
|
+
*/
|
|
756
|
+
getDecodeStats() {
|
|
757
|
+
return {
|
|
758
|
+
decodeMs: this.decodeMs,
|
|
759
|
+
decodeTokens: this.decodeTokens,
|
|
760
|
+
routes: [...this.routeUsage.values()].map(entry => ({ ...entry })),
|
|
761
|
+
};
|
|
762
|
+
}
|
|
763
|
+
/** One child's cumulative decode-speed accounting (viewer header). */
|
|
764
|
+
getChildDecodeStats(childId) {
|
|
765
|
+
return this.childDecode.get(childId) ?? { decodeMs: 0, decodeTokens: 0 };
|
|
766
|
+
}
|
|
767
|
+
/**
|
|
768
|
+
* One child's LIVE in-flight decode rate (tok/s), while a message is
|
|
769
|
+
* streaming: estimated streamed tokens over the live window's elapsed
|
|
770
|
+
* time. Undefined before a short warmup (an absurd rate over the first
|
|
771
|
+
* few hundred ms) and whenever no window is open. The settled
|
|
772
|
+
* `getChildDecodeStats` average replaces it once the message lands.
|
|
773
|
+
*/
|
|
774
|
+
getChildLiveTps(childId, now = Date.now()) {
|
|
775
|
+
const live = this.childLive.get(childId);
|
|
776
|
+
if (live === undefined)
|
|
777
|
+
return undefined;
|
|
778
|
+
if (now - live.firstTokenAt < LIVE_TPS_WARMUP_MS)
|
|
779
|
+
return undefined;
|
|
780
|
+
return live.tokens / ((now - live.firstTokenAt) / 1000);
|
|
781
|
+
}
|
|
707
782
|
/** Current session id, when one exists. */
|
|
708
783
|
getSessionId() {
|
|
709
784
|
return this.sessionId;
|
|
@@ -1123,6 +1198,8 @@ export class DshSessionBridge {
|
|
|
1123
1198
|
this.reconciledCount.clear();
|
|
1124
1199
|
this.trackedSessions.clear();
|
|
1125
1200
|
this.runSeqToChild.clear();
|
|
1201
|
+
this.childDecode.clear();
|
|
1202
|
+
this.childLive.clear();
|
|
1126
1203
|
if (handle !== undefined)
|
|
1127
1204
|
await handle.dispose();
|
|
1128
1205
|
}
|
|
@@ -1151,6 +1228,10 @@ export class DshSessionBridge {
|
|
|
1151
1228
|
this.stats.contextTokens = 0;
|
|
1152
1229
|
this.lastUsage = undefined;
|
|
1153
1230
|
this.pendingTokens = 0;
|
|
1231
|
+
this.decodeMs = 0;
|
|
1232
|
+
this.decodeTokens = 0;
|
|
1233
|
+
this.currentRoute = undefined;
|
|
1234
|
+
this.routeUsage.clear();
|
|
1154
1235
|
this.agentViews.clear();
|
|
1155
1236
|
this.childSessions.clear();
|
|
1156
1237
|
this.childLogs.clear();
|
|
@@ -1164,6 +1245,8 @@ export class DshSessionBridge {
|
|
|
1164
1245
|
this.reconciledCount.clear();
|
|
1165
1246
|
this.trackedSessions.clear();
|
|
1166
1247
|
this.runSeqToChild.clear();
|
|
1248
|
+
this.childDecode.clear();
|
|
1249
|
+
this.childLive.clear();
|
|
1167
1250
|
this.emitLive();
|
|
1168
1251
|
if (handle !== undefined)
|
|
1169
1252
|
await handle.dispose();
|
|
@@ -1343,6 +1426,10 @@ export class DshSessionBridge {
|
|
|
1343
1426
|
this.stats.contextTokens = 0;
|
|
1344
1427
|
this.lastUsage = undefined;
|
|
1345
1428
|
this.pendingTokens = 0;
|
|
1429
|
+
this.decodeMs = 0;
|
|
1430
|
+
this.decodeTokens = 0;
|
|
1431
|
+
this.currentRoute = undefined;
|
|
1432
|
+
this.routeUsage.clear();
|
|
1346
1433
|
const sessionId = this.sessionId;
|
|
1347
1434
|
for (const event of events) {
|
|
1348
1435
|
// Replay feeds the parent log only — fold its persisted workflow events
|
|
@@ -1402,6 +1489,27 @@ export class DshSessionBridge {
|
|
|
1402
1489
|
? ((usage.cacheReadTokens ?? 0) / latestPromptTokens) * 100
|
|
1403
1490
|
: undefined;
|
|
1404
1491
|
}
|
|
1492
|
+
// Decode-speed accounting (first token → this event's log time, the
|
|
1493
|
+
// sessionStats projection's decode window). Needs BOTH a billed usage
|
|
1494
|
+
// and a readable embedded stream; the window is clamped positive so
|
|
1495
|
+
// a clock-skewed settlement adds nothing.
|
|
1496
|
+
const firstToken = firstTokenOf(event.data.stream);
|
|
1497
|
+
if (usage !== undefined && firstToken !== undefined && event.time > firstToken) {
|
|
1498
|
+
const windowMs = event.time - firstToken;
|
|
1499
|
+
this.decodeMs += windowMs;
|
|
1500
|
+
this.decodeTokens += usage.outputTokens;
|
|
1501
|
+
if (this.currentRoute !== undefined) {
|
|
1502
|
+
let entry = this.routeUsage.get(this.currentRoute);
|
|
1503
|
+
if (entry === undefined) {
|
|
1504
|
+
entry = { route: this.currentRoute, requests: 0, outputTokens: 0, decodeMs: 0, decodeTokens: 0 };
|
|
1505
|
+
this.routeUsage.set(this.currentRoute, entry);
|
|
1506
|
+
}
|
|
1507
|
+
entry.requests += 1;
|
|
1508
|
+
entry.outputTokens += usage.outputTokens;
|
|
1509
|
+
entry.decodeMs += windowMs;
|
|
1510
|
+
entry.decodeTokens += usage.outputTokens;
|
|
1511
|
+
}
|
|
1512
|
+
}
|
|
1405
1513
|
this.stats.contextTokens = this.contextTokens();
|
|
1406
1514
|
break;
|
|
1407
1515
|
}
|
|
@@ -1415,11 +1523,17 @@ export class DshSessionBridge {
|
|
|
1415
1523
|
this.pendingTokens += estimateToolResultTokens(event.data);
|
|
1416
1524
|
this.stats.contextTokens = this.contextTokens();
|
|
1417
1525
|
break;
|
|
1418
|
-
case 'request/header':
|
|
1419
|
-
//
|
|
1420
|
-
//
|
|
1421
|
-
//
|
|
1526
|
+
case 'request/header': {
|
|
1527
|
+
// The route snapshot prefixes every billed message until the next
|
|
1528
|
+
// one — the per-route TPS attribution's only route source. Read
|
|
1529
|
+
// through the typed EpochHeader (config.provider/model are plain
|
|
1530
|
+
// strings); a headerless session attributes nothing.
|
|
1531
|
+
const config = event.data.header.config;
|
|
1532
|
+
if (typeof config.provider === 'string' && typeof config.model === 'string') {
|
|
1533
|
+
this.currentRoute = `${config.provider}/${config.model}`;
|
|
1534
|
+
}
|
|
1422
1535
|
break;
|
|
1536
|
+
}
|
|
1423
1537
|
default:
|
|
1424
1538
|
break;
|
|
1425
1539
|
}
|
|
@@ -1473,6 +1587,16 @@ export class DshSessionBridge {
|
|
|
1473
1587
|
return;
|
|
1474
1588
|
const buffer = bumpChildStream(this.childStreams.get(sessionId) ?? '', delta);
|
|
1475
1589
|
this.childStreams.set(sessionId, buffer);
|
|
1590
|
+
// Live decode window: the first delta after a settlement opens it at
|
|
1591
|
+
// NOW (the true first-token instant is a few ms earlier — within the
|
|
1592
|
+
// display noise), later deltas accumulate the streamed-token estimate.
|
|
1593
|
+
// The settled `assistant/message` closes it (foldTracked).
|
|
1594
|
+
const estimated = estimateTextTokens(delta);
|
|
1595
|
+
const live = this.childLive.get(sessionId);
|
|
1596
|
+
if (live === undefined)
|
|
1597
|
+
this.childLive.set(sessionId, { firstTokenAt: Date.now(), tokens: estimated });
|
|
1598
|
+
else
|
|
1599
|
+
live.tokens += estimated;
|
|
1476
1600
|
const lastLine = lastBufferLine(buffer);
|
|
1477
1601
|
this.childPending.set(sessionId, (this.childPending.get(sessionId) ?? 0) + estimateTextTokens(delta));
|
|
1478
1602
|
const contextTokens = this.childContextTokens(sessionId);
|
|
@@ -1649,6 +1773,18 @@ export class DshSessionBridge {
|
|
|
1649
1773
|
this.childUsage.set(sessionId, usage);
|
|
1650
1774
|
this.childPending.set(sessionId, 0);
|
|
1651
1775
|
}
|
|
1776
|
+
// Child decode-speed accounting — the same window as the main
|
|
1777
|
+
// session (first token → settlement), feeding the viewer header's
|
|
1778
|
+
// cumulative `tok/s`. Settling also closes the live in-flight
|
|
1779
|
+
// window; the next streamed delta re-opens it for the next message.
|
|
1780
|
+
const childFirstToken = firstTokenOf(event.data.stream);
|
|
1781
|
+
if (usage !== undefined && childFirstToken !== undefined && event.time > childFirstToken) {
|
|
1782
|
+
const acc = this.childDecode.get(sessionId) ?? { decodeMs: 0, decodeTokens: 0 };
|
|
1783
|
+
acc.decodeMs += event.time - childFirstToken;
|
|
1784
|
+
acc.decodeTokens += usage.outputTokens;
|
|
1785
|
+
this.childDecode.set(sessionId, acc);
|
|
1786
|
+
}
|
|
1787
|
+
this.childLive.delete(sessionId);
|
|
1652
1788
|
const lastLine = lastTextLine(event.data);
|
|
1653
1789
|
// A landed assistant message proves the last request round-tripped
|
|
1654
1790
|
// successfully — clear the llm/retry markers so `↻N≤M` does not
|