dsh-budget 0.1.2 → 0.2.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/CHANGELOG.md +6 -0
- package/README.es.md +3 -3
- package/README.hi.md +3 -3
- package/README.md +3 -3
- package/README.pt.md +3 -3
- package/README.zh.md +3 -3
- package/lib/client.js +85 -6
- package/lib/client.js.map +1 -1
- package/lib/index.js +32 -3
- package/lib/typert.host.js +1 -1
- package/lib/types/aggregate/usage.d.ts +16 -0
- package/lib/types/aggregate/usage.d.ts.map +1 -1
- package/lib/types/client/BudgetTab.d.ts.map +1 -1
- package/lib/types/client/locales.d.ts +1 -0
- package/lib/types/client/locales.d.ts.map +1 -1
- package/lib/types/client/remote.d.ts +24 -0
- package/lib/types/client/remote.d.ts.map +1 -1
- package/lib/types/service.d.ts.map +1 -1
- package/lib/types/typert.host.d.ts +24 -0
- package/lib/types/typert.host.d.ts.map +1 -1
- package/lib/types/wire.d.ts +70 -0
- package/lib/types/wire.d.ts.map +1 -1
- package/lib/{wire-DVO8yw7L.js → wire-Bq5J-SHv.js} +9 -1
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as BUDGET_SETTINGS_SCHEMA } from "./wire-
|
|
1
|
+
import { n as BUDGET_SETTINGS_SCHEMA } from "./wire-Bq5J-SHv.js";
|
|
2
2
|
import z from "@deepseek-ai/schemastery";
|
|
3
3
|
import { TypertRemoteService } from "@deepseek-ai/dsh-typert-protocol";
|
|
4
4
|
//#region src/config.ts
|
|
@@ -645,6 +645,25 @@ var BudgetAggregator = class {
|
|
|
645
645
|
monthUsage() {
|
|
646
646
|
return this.state.months.get(monthKey(this.now()))?.total ?? emptyUsage();
|
|
647
647
|
}
|
|
648
|
+
/**
|
|
649
|
+
* Per-day usage over the last `limit` days, oldest first, zero-filled for
|
|
650
|
+
* days with no recorded usage. Days are UTC keys derived from the injected
|
|
651
|
+
* clock, so a fixed test clock yields a stable series.
|
|
652
|
+
*
|
|
653
|
+
* @param limit - number of trailing days to return.
|
|
654
|
+
*/
|
|
655
|
+
dayHistory(limit) {
|
|
656
|
+
const now = this.now();
|
|
657
|
+
const result = [];
|
|
658
|
+
for (let offset = limit - 1; offset >= 0; offset -= 1) {
|
|
659
|
+
const key = dayKey(now - offset * 864e5);
|
|
660
|
+
result.push({
|
|
661
|
+
day: key,
|
|
662
|
+
usage: this.state.days.get(key)?.total ?? emptyUsage()
|
|
663
|
+
});
|
|
664
|
+
}
|
|
665
|
+
return result;
|
|
666
|
+
}
|
|
648
667
|
/** Per-model usage (today) with latency percentiles, sorted by cost. */
|
|
649
668
|
modelUsage() {
|
|
650
669
|
const list = [...this.state.days.get(dayKey(this.now()))?.models.values() ?? []];
|
|
@@ -689,7 +708,8 @@ var BudgetAggregator = class {
|
|
|
689
708
|
thisMonth: this.monthUsage(),
|
|
690
709
|
models: this.modelUsage(),
|
|
691
710
|
alerts: [...this.state.alerts],
|
|
692
|
-
blockedScopes: this.blockedScopes
|
|
711
|
+
blockedScopes: this.blockedScopes,
|
|
712
|
+
days: this.dayHistory(this.config.historyDays)
|
|
693
713
|
};
|
|
694
714
|
}
|
|
695
715
|
};
|
|
@@ -928,6 +948,12 @@ var BudgetService = class extends TypertRemoteService {
|
|
|
928
948
|
latency: latencySummary(entry.latencyMs)
|
|
929
949
|
}));
|
|
930
950
|
const degraded = this.bindings.degradation();
|
|
951
|
+
const days = snapshot.days.map((entry) => ({
|
|
952
|
+
day: entry.day,
|
|
953
|
+
costUsd: entry.usage.costUsd,
|
|
954
|
+
tokens: entry.usage.inputTokens + entry.usage.outputTokens + entry.usage.cacheReadTokens + entry.usage.cacheWriteTokens,
|
|
955
|
+
carbonKg: entry.usage.carbonKg
|
|
956
|
+
}));
|
|
931
957
|
return {
|
|
932
958
|
scopes,
|
|
933
959
|
models,
|
|
@@ -940,7 +966,10 @@ var BudgetService = class extends TypertRemoteService {
|
|
|
940
966
|
},
|
|
941
967
|
alertsEnabled: settings.alertsEnabled,
|
|
942
968
|
desktopNotifications: settings.desktopNotifications,
|
|
943
|
-
degradedModel: degraded === void 0 ? null : degraded.to
|
|
969
|
+
degradedModel: degraded === void 0 ? null : degraded.to,
|
|
970
|
+
days,
|
|
971
|
+
warnRatio: config.warnRatio,
|
|
972
|
+
refreshIntervalMs: config.refreshIntervalMs
|
|
944
973
|
};
|
|
945
974
|
}
|
|
946
975
|
/** Apply the panel's runtime settings and return the refreshed snapshot. */
|
package/lib/typert.host.js
CHANGED
|
@@ -38,6 +38,12 @@ export interface AlertRecord {
|
|
|
38
38
|
usedUsd: number;
|
|
39
39
|
capUsd: number;
|
|
40
40
|
}
|
|
41
|
+
/** One day's aggregated usage in the per-day history. */
|
|
42
|
+
export interface DayUsage {
|
|
43
|
+
/** UTC day key, `YYYY-MM-DD`. */
|
|
44
|
+
day: string;
|
|
45
|
+
usage: ScopeUsage;
|
|
46
|
+
}
|
|
41
47
|
/** UTC day key, e.g. `2026-08-16`. */
|
|
42
48
|
export declare function dayKey(timestamp: number): string;
|
|
43
49
|
/** UTC month key, e.g. `2026-08`. */
|
|
@@ -51,6 +57,8 @@ export interface BudgetSnapshot {
|
|
|
51
57
|
/** Alerts in reverse chronological order. */
|
|
52
58
|
alerts: readonly AlertRecord[];
|
|
53
59
|
blockedScopes: readonly ('session' | 'daily' | 'monthly')[];
|
|
60
|
+
/** Per-day usage over the last `historyDays` days, oldest first. */
|
|
61
|
+
days: readonly DayUsage[];
|
|
54
62
|
}
|
|
55
63
|
/**
|
|
56
64
|
* The runtime aggregator. All methods are synchronous; the caller invokes
|
|
@@ -88,6 +96,14 @@ export declare class BudgetAggregator {
|
|
|
88
96
|
todayUsage(): ScopeUsage;
|
|
89
97
|
/** Read this month's usage. */
|
|
90
98
|
monthUsage(): ScopeUsage;
|
|
99
|
+
/**
|
|
100
|
+
* Per-day usage over the last `limit` days, oldest first, zero-filled for
|
|
101
|
+
* days with no recorded usage. Days are UTC keys derived from the injected
|
|
102
|
+
* clock, so a fixed test clock yields a stable series.
|
|
103
|
+
*
|
|
104
|
+
* @param limit - number of trailing days to return.
|
|
105
|
+
*/
|
|
106
|
+
dayHistory(limit: number): DayUsage[];
|
|
91
107
|
/** Per-model usage (today) with latency percentiles, sorted by cost. */
|
|
92
108
|
modelUsage(): ModelUsage[];
|
|
93
109
|
/** Record one threshold alert (bounded to the most recent 50). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../src/aggregate/usage.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,oCAAoC;AACpC,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,0BAA0B;AAC1B,wBAAgB,UAAU,IAAI,UAAU,CAEvC;AAED,4DAA4D;AAC5D,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CAC7B;AAED,oCAAoC;AACpC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;IACtC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AAED,sCAAsC;AACtC,wBAAgB,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,qCAAqC;AACrC,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAElD;AAgBD,uHAAuH;AACvH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,UAAU,CAAA;IACnB,KAAK,EAAE,UAAU,CAAA;IACjB,SAAS,EAAE,UAAU,CAAA;IACrB,MAAM,EAAE,SAAS,UAAU,EAAE,CAAA;IAC7B,6CAA6C;IAC7C,MAAM,EAAE,SAAS,WAAW,EAAE,CAAA;IAC9B,aAAa,EAAE,SAAS,CAAC,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../src/aggregate/usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BudgetTab.d.ts","sourceRoot":"","sources":["../../../src/client/BudgetTab.tsx"],"names":[],"mappings":"AAAA,sGAAsG;AAEtG,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAE7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,yFAAyF;AACzF,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,MAAM,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAA;IACnC,oDAAoD;IACpD,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;IAC5D,sDAAsD;IACtD,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;CAClD;AAED,oEAAoE;AACpE,MAAM,MAAM,cAAc,GACxB,YAAY,CAAC,sBAAsB,CAAC,GAClC,WAAW,CAAC,iBAAiB,CAAC,GAC9B,UAAU,CAAC,iBAAiB,CAAC,CAAA;AAOjC,2BAA2B;AAC3B,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"BudgetTab.d.ts","sourceRoot":"","sources":["../../../src/client/BudgetTab.tsx"],"names":[],"mappings":"AAAA,sGAAsG;AAEtG,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAE7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,yFAAyF;AACzF,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,MAAM,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAA;IACnC,oDAAoD;IACpD,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;IAC5D,sDAAsD;IACtD,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;CAClD;AAED,oEAAoE;AACpE,MAAM,MAAM,cAAc,GACxB,YAAY,CAAC,sBAAsB,CAAC,GAClC,WAAW,CAAC,iBAAiB,CAAC,GAC9B,UAAU,CAAC,iBAAiB,CAAC,CAAA;AAOjC,2BAA2B;AAC3B,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,CAuNxF"}
|
|
@@ -34,6 +34,7 @@ export declare const zh: {
|
|
|
34
34
|
readonly saved: "已保存(会话内生效,重载后恢复 cordis.yml 配置)";
|
|
35
35
|
readonly degraded: "已降级至";
|
|
36
36
|
readonly history: "最近告警";
|
|
37
|
+
readonly usageCurve: "用量曲线";
|
|
37
38
|
};
|
|
38
39
|
/** English dictionary (source of truth for keys). */
|
|
39
40
|
export declare const en: Record<keyof typeof zh, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../src/client/locales.ts"],"names":[],"mappings":"AAAA,sGAAsG;AAEtG,qCAAqC;AACrC,eAAO,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../src/client/locales.ts"],"names":[],"mappings":"AAAA,sGAAsG;AAEtG,qCAAqC;AACrC,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCL,CAAA;AAEV,qDAAqD;AACrD,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,OAAO,EAAE,EAAE,MAAM,CAmCrC,CAAA;AAEV,4BAA4B;AAC5B,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,EAAE,CAAA"}
|
|
@@ -94,6 +94,14 @@ export declare const BUDGET_REMOTE: Readonly<{
|
|
|
94
94
|
alertsEnabled: import("zod").ZodBoolean;
|
|
95
95
|
desktopNotifications: import("zod").ZodBoolean;
|
|
96
96
|
degradedModel: import("zod").ZodNullable<import("zod").ZodString>;
|
|
97
|
+
days: import("zod").ZodArray<import("zod").ZodObject<{
|
|
98
|
+
day: import("zod").ZodString;
|
|
99
|
+
costUsd: import("zod").ZodNumber;
|
|
100
|
+
tokens: import("zod").ZodNumber;
|
|
101
|
+
carbonKg: import("zod").ZodNumber;
|
|
102
|
+
}, import("zod/v4/core").$strip>>;
|
|
103
|
+
warnRatio: import("zod").ZodNumber;
|
|
104
|
+
refreshIntervalMs: import("zod").ZodNumber;
|
|
97
105
|
}, import("zod/v4/core").$strip>;
|
|
98
106
|
}>;
|
|
99
107
|
readonly sourceLocation: Readonly<{
|
|
@@ -174,6 +182,14 @@ export declare const BUDGET_REMOTE: Readonly<{
|
|
|
174
182
|
alertsEnabled: import("zod").ZodBoolean;
|
|
175
183
|
desktopNotifications: import("zod").ZodBoolean;
|
|
176
184
|
degradedModel: import("zod").ZodNullable<import("zod").ZodString>;
|
|
185
|
+
days: import("zod").ZodArray<import("zod").ZodObject<{
|
|
186
|
+
day: import("zod").ZodString;
|
|
187
|
+
costUsd: import("zod").ZodNumber;
|
|
188
|
+
tokens: import("zod").ZodNumber;
|
|
189
|
+
carbonKg: import("zod").ZodNumber;
|
|
190
|
+
}, import("zod/v4/core").$strip>>;
|
|
191
|
+
warnRatio: import("zod").ZodNumber;
|
|
192
|
+
refreshIntervalMs: import("zod").ZodNumber;
|
|
177
193
|
}, import("zod/v4/core").$strip>;
|
|
178
194
|
}>;
|
|
179
195
|
readonly sourceLocation: Readonly<{
|
|
@@ -258,6 +274,14 @@ export declare const BUDGET_REMOTE: Readonly<{
|
|
|
258
274
|
alertsEnabled: import("zod").ZodBoolean;
|
|
259
275
|
desktopNotifications: import("zod").ZodBoolean;
|
|
260
276
|
degradedModel: import("zod").ZodNullable<import("zod").ZodString>;
|
|
277
|
+
days: import("zod").ZodArray<import("zod").ZodObject<{
|
|
278
|
+
day: import("zod").ZodString;
|
|
279
|
+
costUsd: import("zod").ZodNumber;
|
|
280
|
+
tokens: import("zod").ZodNumber;
|
|
281
|
+
carbonKg: import("zod").ZodNumber;
|
|
282
|
+
}, import("zod/v4/core").$strip>>;
|
|
283
|
+
warnRatio: import("zod").ZodNumber;
|
|
284
|
+
refreshIntervalMs: import("zod").ZodNumber;
|
|
261
285
|
}, import("zod/v4/core").$strip>;
|
|
262
286
|
}>;
|
|
263
287
|
readonly sourceLocation: Readonly<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../../src/client/remote.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,kCAAkC,CAAA;AAE9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,4BAA4B;QACpC,6DAA6D;QAC7D,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAA;QACnE,4DAA4D;QAC5D,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAA;QAC1E,sDAAsD;QACtD,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAA;KAChE;IACD,UAAU,eAAe;QACvB,eAAe,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAA;QAC5E,oBAAoB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAA;QACnF,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAA;KACzE;IACD,UAAU,wBAAwB;QAChC,MAAM,EAAE,4BAA4B,CAAA;KACrC;CACF;AAED,iEAAiE;AACjE,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../../src/client/remote.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,kCAAkC,CAAA;AAE9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,4BAA4B;QACpC,6DAA6D;QAC7D,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAA;QACnE,4DAA4D;QAC5D,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAA;QAC1E,sDAAsD;QACtD,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAA;KAChE;IACD,UAAU,eAAe;QACvB,eAAe,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAA;QAC5E,oBAAoB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAA;QACnF,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAA;KACzE;IACD,UAAU,wBAAwB;QAChC,MAAM,EAAE,4BAA4B,CAAA;KACrC;CACF;AAED,iEAAiE;AACjE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGW,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAA0B,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAA0B,KAAK,YAAY,EAAgD,MAAM,WAAW,CAAA;AAEnH,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf,gEAAgE;QAChE,MAAM,EAAE,aAAa,CAAA;KACtB;CACF;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,aAAa,EAAE,OAAO,CAAA;IACtB,oBAAoB,EAAE,OAAO,CAAA;CAC9B;AAED,qEAAqE;AACrE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAIjH;AAUD;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,mBAAmB;IAUlD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT3B,2EAA2E;IAC3E,MAAM,CAAC,MAAM,UAAK;IAElB;;;OAGG;gBAED,GAAG,EAAE,OAAO,EACK,QAAQ,EAAE;QACzB,UAAU,EAAE,gBAAgB,CAAA;QAC5B,MAAM,EAAE,cAAc,CAAA;QACtB,QAAQ,EAAE,eAAe,CAAA;QACzB,+DAA+D;QAC/D,SAAS,EAAE,MAAM,MAAM,CAAA;QACvB,oEAAoE;QACpE,WAAW,EAAE,MAAM;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;QAC3D,iDAAiD;QACjD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;KACzC;IAKH,kDAAkD;IAClD,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY;IAkDxC,4EAA4E;IAC5E,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY;IAiB/C,gEAAgE;IAChE,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY;CAK1C"}
|
|
@@ -77,6 +77,14 @@ export declare const TYPERT: Readonly<{
|
|
|
77
77
|
alertsEnabled: import("zod").ZodBoolean;
|
|
78
78
|
desktopNotifications: import("zod").ZodBoolean;
|
|
79
79
|
degradedModel: import("zod").ZodNullable<import("zod").ZodString>;
|
|
80
|
+
days: import("zod").ZodArray<import("zod").ZodObject<{
|
|
81
|
+
day: import("zod").ZodString;
|
|
82
|
+
costUsd: import("zod").ZodNumber;
|
|
83
|
+
tokens: import("zod").ZodNumber;
|
|
84
|
+
carbonKg: import("zod").ZodNumber;
|
|
85
|
+
}, import("zod/v4/core").$strip>>;
|
|
86
|
+
warnRatio: import("zod").ZodNumber;
|
|
87
|
+
refreshIntervalMs: import("zod").ZodNumber;
|
|
80
88
|
}, import("zod/v4/core").$strip>;
|
|
81
89
|
}>;
|
|
82
90
|
readonly sourceLocation: Readonly<{
|
|
@@ -157,6 +165,14 @@ export declare const TYPERT: Readonly<{
|
|
|
157
165
|
alertsEnabled: import("zod").ZodBoolean;
|
|
158
166
|
desktopNotifications: import("zod").ZodBoolean;
|
|
159
167
|
degradedModel: import("zod").ZodNullable<import("zod").ZodString>;
|
|
168
|
+
days: import("zod").ZodArray<import("zod").ZodObject<{
|
|
169
|
+
day: import("zod").ZodString;
|
|
170
|
+
costUsd: import("zod").ZodNumber;
|
|
171
|
+
tokens: import("zod").ZodNumber;
|
|
172
|
+
carbonKg: import("zod").ZodNumber;
|
|
173
|
+
}, import("zod/v4/core").$strip>>;
|
|
174
|
+
warnRatio: import("zod").ZodNumber;
|
|
175
|
+
refreshIntervalMs: import("zod").ZodNumber;
|
|
160
176
|
}, import("zod/v4/core").$strip>;
|
|
161
177
|
}>;
|
|
162
178
|
readonly sourceLocation: Readonly<{
|
|
@@ -241,6 +257,14 @@ export declare const TYPERT: Readonly<{
|
|
|
241
257
|
alertsEnabled: import("zod").ZodBoolean;
|
|
242
258
|
desktopNotifications: import("zod").ZodBoolean;
|
|
243
259
|
degradedModel: import("zod").ZodNullable<import("zod").ZodString>;
|
|
260
|
+
days: import("zod").ZodArray<import("zod").ZodObject<{
|
|
261
|
+
day: import("zod").ZodString;
|
|
262
|
+
costUsd: import("zod").ZodNumber;
|
|
263
|
+
tokens: import("zod").ZodNumber;
|
|
264
|
+
carbonKg: import("zod").ZodNumber;
|
|
265
|
+
}, import("zod/v4/core").$strip>>;
|
|
266
|
+
warnRatio: import("zod").ZodNumber;
|
|
267
|
+
refreshIntervalMs: import("zod").ZodNumber;
|
|
244
268
|
}, import("zod/v4/core").$strip>;
|
|
245
269
|
}>;
|
|
246
270
|
readonly sourceLocation: Readonly<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typert.host.d.ts","sourceRoot":"","sources":["../../src/typert.host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,4EAA4E;AAC5E,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"typert.host.d.ts","sourceRoot":"","sources":["../../src/typert.host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,4EAA4E;AAC5E,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUjB,CAAA"}
|
package/lib/types/wire.d.ts
CHANGED
|
@@ -48,6 +48,14 @@ export interface AlertLine {
|
|
|
48
48
|
usedUsd: number;
|
|
49
49
|
capUsd: number;
|
|
50
50
|
}
|
|
51
|
+
/** One day's usage in the per-day curve. */
|
|
52
|
+
export interface DayLine {
|
|
53
|
+
/** UTC day key, `YYYY-MM-DD`. */
|
|
54
|
+
day: string;
|
|
55
|
+
costUsd: number;
|
|
56
|
+
tokens: number;
|
|
57
|
+
carbonKg: number;
|
|
58
|
+
}
|
|
51
59
|
/** The full panel snapshot served by `budget/status`. */
|
|
52
60
|
export interface BudgetStatus {
|
|
53
61
|
scopes: ScopeLine[];
|
|
@@ -63,6 +71,12 @@ export interface BudgetStatus {
|
|
|
63
71
|
desktopNotifications: boolean;
|
|
64
72
|
/** Degradation target for the current model, when a cap blocked it. */
|
|
65
73
|
degradedModel: string | null;
|
|
74
|
+
/** Per-day usage over the last `historyDays` days, oldest first. */
|
|
75
|
+
days: DayLine[];
|
|
76
|
+
/** Warn ratio the host governance uses (0..1); the tab's bar tone follows it. */
|
|
77
|
+
warnRatio: number;
|
|
78
|
+
/** Settings tab polling interval in ms (`config.refreshIntervalMs`). */
|
|
79
|
+
refreshIntervalMs: number;
|
|
66
80
|
}
|
|
67
81
|
/** Strict wire schema for {@link BudgetStatus} (zod v4, both Typert faces). */
|
|
68
82
|
export declare const BUDGET_STATUS_SCHEMA: z.ZodObject<{
|
|
@@ -117,6 +131,14 @@ export declare const BUDGET_STATUS_SCHEMA: z.ZodObject<{
|
|
|
117
131
|
alertsEnabled: z.ZodBoolean;
|
|
118
132
|
desktopNotifications: z.ZodBoolean;
|
|
119
133
|
degradedModel: z.ZodNullable<z.ZodString>;
|
|
134
|
+
days: z.ZodArray<z.ZodObject<{
|
|
135
|
+
day: z.ZodString;
|
|
136
|
+
costUsd: z.ZodNumber;
|
|
137
|
+
tokens: z.ZodNumber;
|
|
138
|
+
carbonKg: z.ZodNumber;
|
|
139
|
+
}, z.core.$strip>>;
|
|
140
|
+
warnRatio: z.ZodNumber;
|
|
141
|
+
refreshIntervalMs: z.ZodNumber;
|
|
120
142
|
}, z.core.$strip>;
|
|
121
143
|
/**
|
|
122
144
|
* The `budget/status` invocation descriptor, shared verbatim by the host
|
|
@@ -188,6 +210,14 @@ export declare const BUDGET_STATUS_DESCRIPTOR: Readonly<{
|
|
|
188
210
|
alertsEnabled: z.ZodBoolean;
|
|
189
211
|
desktopNotifications: z.ZodBoolean;
|
|
190
212
|
degradedModel: z.ZodNullable<z.ZodString>;
|
|
213
|
+
days: z.ZodArray<z.ZodObject<{
|
|
214
|
+
day: z.ZodString;
|
|
215
|
+
costUsd: z.ZodNumber;
|
|
216
|
+
tokens: z.ZodNumber;
|
|
217
|
+
carbonKg: z.ZodNumber;
|
|
218
|
+
}, z.core.$strip>>;
|
|
219
|
+
warnRatio: z.ZodNumber;
|
|
220
|
+
refreshIntervalMs: z.ZodNumber;
|
|
191
221
|
}, z.core.$strip>;
|
|
192
222
|
}>;
|
|
193
223
|
readonly sourceLocation: Readonly<{
|
|
@@ -282,6 +312,14 @@ export declare const BUDGET_SET_SETTINGS_DESCRIPTOR: Readonly<{
|
|
|
282
312
|
alertsEnabled: z.ZodBoolean;
|
|
283
313
|
desktopNotifications: z.ZodBoolean;
|
|
284
314
|
degradedModel: z.ZodNullable<z.ZodString>;
|
|
315
|
+
days: z.ZodArray<z.ZodObject<{
|
|
316
|
+
day: z.ZodString;
|
|
317
|
+
costUsd: z.ZodNumber;
|
|
318
|
+
tokens: z.ZodNumber;
|
|
319
|
+
carbonKg: z.ZodNumber;
|
|
320
|
+
}, z.core.$strip>>;
|
|
321
|
+
warnRatio: z.ZodNumber;
|
|
322
|
+
refreshIntervalMs: z.ZodNumber;
|
|
285
323
|
}, z.core.$strip>;
|
|
286
324
|
}>;
|
|
287
325
|
readonly sourceLocation: Readonly<{
|
|
@@ -377,6 +415,14 @@ export declare const BUDGET_UNBLOCK_DESCRIPTOR: Readonly<{
|
|
|
377
415
|
alertsEnabled: z.ZodBoolean;
|
|
378
416
|
desktopNotifications: z.ZodBoolean;
|
|
379
417
|
degradedModel: z.ZodNullable<z.ZodString>;
|
|
418
|
+
days: z.ZodArray<z.ZodObject<{
|
|
419
|
+
day: z.ZodString;
|
|
420
|
+
costUsd: z.ZodNumber;
|
|
421
|
+
tokens: z.ZodNumber;
|
|
422
|
+
carbonKg: z.ZodNumber;
|
|
423
|
+
}, z.core.$strip>>;
|
|
424
|
+
warnRatio: z.ZodNumber;
|
|
425
|
+
refreshIntervalMs: z.ZodNumber;
|
|
380
426
|
}, z.core.$strip>;
|
|
381
427
|
}>;
|
|
382
428
|
readonly sourceLocation: Readonly<{
|
|
@@ -454,6 +500,14 @@ export declare const BUDGET_INVOCATIONS: readonly (Readonly<{
|
|
|
454
500
|
alertsEnabled: z.ZodBoolean;
|
|
455
501
|
desktopNotifications: z.ZodBoolean;
|
|
456
502
|
degradedModel: z.ZodNullable<z.ZodString>;
|
|
503
|
+
days: z.ZodArray<z.ZodObject<{
|
|
504
|
+
day: z.ZodString;
|
|
505
|
+
costUsd: z.ZodNumber;
|
|
506
|
+
tokens: z.ZodNumber;
|
|
507
|
+
carbonKg: z.ZodNumber;
|
|
508
|
+
}, z.core.$strip>>;
|
|
509
|
+
warnRatio: z.ZodNumber;
|
|
510
|
+
refreshIntervalMs: z.ZodNumber;
|
|
457
511
|
}, z.core.$strip>;
|
|
458
512
|
}>;
|
|
459
513
|
readonly sourceLocation: Readonly<{
|
|
@@ -534,6 +588,14 @@ export declare const BUDGET_INVOCATIONS: readonly (Readonly<{
|
|
|
534
588
|
alertsEnabled: z.ZodBoolean;
|
|
535
589
|
desktopNotifications: z.ZodBoolean;
|
|
536
590
|
degradedModel: z.ZodNullable<z.ZodString>;
|
|
591
|
+
days: z.ZodArray<z.ZodObject<{
|
|
592
|
+
day: z.ZodString;
|
|
593
|
+
costUsd: z.ZodNumber;
|
|
594
|
+
tokens: z.ZodNumber;
|
|
595
|
+
carbonKg: z.ZodNumber;
|
|
596
|
+
}, z.core.$strip>>;
|
|
597
|
+
warnRatio: z.ZodNumber;
|
|
598
|
+
refreshIntervalMs: z.ZodNumber;
|
|
537
599
|
}, z.core.$strip>;
|
|
538
600
|
}>;
|
|
539
601
|
readonly sourceLocation: Readonly<{
|
|
@@ -618,6 +680,14 @@ export declare const BUDGET_INVOCATIONS: readonly (Readonly<{
|
|
|
618
680
|
alertsEnabled: z.ZodBoolean;
|
|
619
681
|
desktopNotifications: z.ZodBoolean;
|
|
620
682
|
degradedModel: z.ZodNullable<z.ZodString>;
|
|
683
|
+
days: z.ZodArray<z.ZodObject<{
|
|
684
|
+
day: z.ZodString;
|
|
685
|
+
costUsd: z.ZodNumber;
|
|
686
|
+
tokens: z.ZodNumber;
|
|
687
|
+
carbonKg: z.ZodNumber;
|
|
688
|
+
}, z.core.$strip>>;
|
|
689
|
+
warnRatio: z.ZodNumber;
|
|
690
|
+
refreshIntervalMs: z.ZodNumber;
|
|
621
691
|
}, z.core.$strip>;
|
|
622
692
|
}>;
|
|
623
693
|
readonly sourceLocation: Readonly<{
|
package/lib/types/wire.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../src/wire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,0CAA0C;AAC1C,eAAO,MAAM,aAAa,0CAA2C,CAAA;AACrE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAExD,oDAAoD;AACpD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,WAAW,CAAA;IAClB,oCAAoC;IACpC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,mDAAmD;AACnD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,qDAAqD;IACrD,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7G;AAED,iDAAiD;AACjD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AAED,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,EAAE,CAAA;IACnB,MAAM,EAAE,SAAS,EAAE,CAAA;IACnB,MAAM,EAAE,SAAS,EAAE,CAAA;IACnB,aAAa,EAAE,WAAW,EAAE,CAAA;IAC5B,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1D,aAAa,EAAE,OAAO,CAAA;IACtB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,uEAAuE;IACvE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../src/wire.ts"],"names":[],"mappings":"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"}
|
|
@@ -4106,7 +4106,15 @@ const BUDGET_STATUS_SCHEMA = object({
|
|
|
4106
4106
|
}),
|
|
4107
4107
|
alertsEnabled: boolean(),
|
|
4108
4108
|
desktopNotifications: boolean(),
|
|
4109
|
-
degradedModel: string().nullable()
|
|
4109
|
+
degradedModel: string().nullable(),
|
|
4110
|
+
days: array(object({
|
|
4111
|
+
day: string(),
|
|
4112
|
+
costUsd: number(),
|
|
4113
|
+
tokens: number().int(),
|
|
4114
|
+
carbonKg: number()
|
|
4115
|
+
})),
|
|
4116
|
+
warnRatio: number().min(0).max(1),
|
|
4117
|
+
refreshIntervalMs: number().int().min(1e3)
|
|
4110
4118
|
});
|
|
4111
4119
|
/**
|
|
4112
4120
|
* The `budget/status` invocation descriptor, shared verbatim by the host
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-budget",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Cost governance for DeepSeek Harness: aggregated token/cost metering per model, session and day, session/daily/monthly budget caps with threshold alerts (desktop notification + webhook) and alert/block/degrade over-limit policies, built-in carbon footprint estimation and per-model latency benchmarks, a Settings budget tab, and the /budget command",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|