@cat-factory/orchestration 0.243.0 → 0.244.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/dist/modules/debug/RunDebugService.d.ts +24 -1
- package/dist/modules/debug/RunDebugService.d.ts.map +1 -1
- package/dist/modules/debug/RunDebugService.js +48 -0
- package/dist/modules/debug/RunDebugService.js.map +1 -1
- package/dist/modules/reports/ReportsService.d.ts +41 -1
- package/dist/modules/reports/ReportsService.d.ts.map +1 -1
- package/dist/modules/reports/ReportsService.js +48 -0
- package/dist/modules/reports/ReportsService.js.map +1 -1
- package/package.json +11 -11
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AgentContextSnapshotRepository, AgentSearchQueryRepository, AgentToolCall, AgentToolCallRepository, AgentSearchQuery, Clock, ExecutionInstance, ExecutionRepository, ExecutionStatus, LlmCallMetricRepository, LlmCallOutcomeFilter, LlmRollupCell, ProvisioningLogRecord, ProvisioningLogRepository } from '@cat-factory/kernel';
|
|
2
|
-
import type { DebugAgentContextDetail, DebugAgentContextEntry, DebugLlmCall, DebugRunOverview, DebugRunSummary, ToolCallOrder } from '@cat-factory/contracts';
|
|
2
|
+
import type { DebugAgentContextDetail, DebugAgentContextEntry, DebugLlmCall, DebugLlmExport, DebugRunOverview, DebugRunSummary, ToolCallOrder } from '@cat-factory/contracts';
|
|
3
3
|
/** A decoded keyset position: a row's chronological sort key plus its id (the tiebreaker). */
|
|
4
4
|
export interface DebugCursor {
|
|
5
5
|
createdAt: number;
|
|
@@ -95,6 +95,29 @@ export declare class RunDebugService {
|
|
|
95
95
|
/** Narrow to calls whose bodies contain this literal substring (matched in SQL). */
|
|
96
96
|
contains?: string;
|
|
97
97
|
}): Promise<DebugPage<DebugLlmCall>>;
|
|
98
|
+
/**
|
|
99
|
+
* The run's model activity as one self-describing bundle: the rollups, plus a bounded window
|
|
100
|
+
* of the calls behind them.
|
|
101
|
+
*
|
|
102
|
+
* The rollup half is the SAME fold {@link RunDebugService.overview} publishes, over the same
|
|
103
|
+
* priced cells, so the two documents cannot report different money for one run. The call half
|
|
104
|
+
* is `listLlmCalls` with its cursor dropped: a bundle answers a question about one end of the
|
|
105
|
+
* run rather than being a page of a walk, and the walk already exists for the caller that
|
|
106
|
+
* wants the whole sequence.
|
|
107
|
+
*
|
|
108
|
+
* Which end is the caller's to pick, and the bundle says which was kept, because the two are
|
|
109
|
+
* opposite readings of a long run: `oldest` shows how it went wrong, `newest` shows what it
|
|
110
|
+
* was doing when it died.
|
|
111
|
+
*
|
|
112
|
+
* It also states whether the sink exists at all, because both halves degrade to the same
|
|
113
|
+
* empty document when it does not, and this is the one bundle whose intended reader draws a
|
|
114
|
+
* conclusion from what it does not contain.
|
|
115
|
+
*/
|
|
116
|
+
llmExport(workspaceId: string, runId: string, opts: {
|
|
117
|
+
limit: number;
|
|
118
|
+
order: 'oldest' | 'newest';
|
|
119
|
+
bodyChars: number;
|
|
120
|
+
}): Promise<DebugLlmExport>;
|
|
98
121
|
/** One recorded call with its bodies windowed, or null when the workspace has no such call. */
|
|
99
122
|
getLlmCall(workspaceId: string, callId: string, opts?: {
|
|
100
123
|
bodyChars?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunDebugService.d.ts","sourceRoot":"","sources":["../../../src/modules/debug/RunDebugService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RunDebugService.d.ts","sourceRoot":"","sources":["../../../src/modules/debug/RunDebugService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,KAAK,EACL,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,aAAa,EACd,MAAM,wBAAwB,CAAA;AA2B/B,8FAA8F;AAC9F,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,EAAE,MAAM,CAAA;CACX;AAED,6FAA6F;AAC7F,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,KAAK,EAAE,CAAC,EAAE,CAAA;IACV,UAAU,EAAE,WAAW,GAAG,IAAI,CAAA;CAC/B;AAED,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,KAAK,EAAE,KAAK,CAAA;IACZ,iGAAiG;IACjG,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IACjD,2EAA2E;IAC3E,8BAA8B,CAAC,EAAE,8BAA8B,CAAA;IAC/D,oEAAoE;IACpE,0BAA0B,CAAC,EAAE,0BAA0B,CAAA;IACvD,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IACjD,uEAAuE;IACvE,yBAAyB,CAAC,EAAE,yBAAyB,CAAA;IACrD;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;IACpF;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAuBD,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,2BAA2B,EAAI;IAElE;;;;OAIG;IACG,QAAQ,CACZ,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,MAAM,CAAC,EAAE,eAAe,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACtF,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAarC;IAED,kEAAkE;IAClE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAE5E;IAED;;;;OAIG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE9D;IAED;;;;;;;;;OASG;IACG,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkE3F;IAED;;;;;;;;;OASG;YACW,cAAc;IAK5B,0DAA0D;IACpD,YAAY,CAChB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,WAAW,CAAA;QACpB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,yFAAyF;QACzF,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,OAAO,CAAC,EAAE,oBAAoB,CAAA;QAC9B,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;QAC3B,SAAS,EAAE,MAAM,CAAA;QACjB,oFAAoF;QACpF,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,GACA,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAoBlC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACG,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GACrE,OAAO,CAAC,cAAc,CAAC,CA6BzB;IAED,+FAA+F;IACzF,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,KAAK,GAAG,UAAU,CAAA;KAAO,GAChF,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAiB9B;IAED,4FAA4F;IACtF,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAChE,OAAO,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,CAe5C;IAED,oEAAoE;IAC9D,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,SAAI,GACb,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAKzC;IAED,uEAAuE;IACjE,iBAAiB,CACrB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC5C,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CActC;IAED;;;;;;;;;;;;;OAaG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,WAAW,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,KAAK,CAAC,EAAE,aAAa,CAAA;QACrB,oFAAoF;QACpF,EAAE,CAAC,EAAE,OAAO,CAAA;KACb,GACA,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CA4BnC;IAED,4DAA4D;IACtD,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC5C,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAc3C;CACF"}
|
|
@@ -156,6 +156,54 @@ export class RunDebugService {
|
|
|
156
156
|
});
|
|
157
157
|
return paginate(rows, opts.limit, (call) => ({ createdAt: call.createdAt, id: call.id }), (call) => toDebugLlmCall(call));
|
|
158
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* The run's model activity as one self-describing bundle: the rollups, plus a bounded window
|
|
161
|
+
* of the calls behind them.
|
|
162
|
+
*
|
|
163
|
+
* The rollup half is the SAME fold {@link RunDebugService.overview} publishes, over the same
|
|
164
|
+
* priced cells, so the two documents cannot report different money for one run. The call half
|
|
165
|
+
* is `listLlmCalls` with its cursor dropped: a bundle answers a question about one end of the
|
|
166
|
+
* run rather than being a page of a walk, and the walk already exists for the caller that
|
|
167
|
+
* wants the whole sequence.
|
|
168
|
+
*
|
|
169
|
+
* Which end is the caller's to pick, and the bundle says which was kept, because the two are
|
|
170
|
+
* opposite readings of a long run: `oldest` shows how it went wrong, `newest` shows what it
|
|
171
|
+
* was doing when it died.
|
|
172
|
+
*
|
|
173
|
+
* It also states whether the sink exists at all, because both halves degrade to the same
|
|
174
|
+
* empty document when it does not, and this is the one bundle whose intended reader draws a
|
|
175
|
+
* conclusion from what it does not contain.
|
|
176
|
+
*/
|
|
177
|
+
async llmExport(workspaceId, runId, opts) {
|
|
178
|
+
const [summaries, page] = await Promise.all([
|
|
179
|
+
this.deps.priceRollup?.(workspaceId, runId) ?? this.unpricedRollup(workspaceId, runId),
|
|
180
|
+
this.listLlmCalls(workspaceId, runId, {
|
|
181
|
+
limit: opts.limit,
|
|
182
|
+
order: opts.order,
|
|
183
|
+
bodyChars: opts.bodyChars,
|
|
184
|
+
}),
|
|
185
|
+
]);
|
|
186
|
+
const { totals, byAgentKind, byPhase } = foldLlmRollup(summaries);
|
|
187
|
+
return {
|
|
188
|
+
kind: 'cat-factory.run-llm-export',
|
|
189
|
+
version: 1,
|
|
190
|
+
runId,
|
|
191
|
+
generatedAt: this.deps.clock.now(),
|
|
192
|
+
// The SAME expression `overview` publishes as `sinks.llmCalls.available`, and stated for
|
|
193
|
+
// the sharper version of the same reason: with no sink wired, every rollup below folds
|
|
194
|
+
// an empty cell list and every call row is absent, which is a bundle indistinguishable
|
|
195
|
+
// from a run that made no model calls. The reader here is a model asked why the run went
|
|
196
|
+
// wrong, so an unstated absence reads as a finding.
|
|
197
|
+
available: !!this.deps.llmCallMetricRepository,
|
|
198
|
+
llm: { totals, byAgentKind, byPhase, costCurrency: this.deps.costCurrency ?? null },
|
|
199
|
+
order: opts.order,
|
|
200
|
+
// The page's own peek, not `totals.calls > limit`: the rollup counts every recorded call
|
|
201
|
+
// in the run, while this list is what the page actually holds, and only the page can say
|
|
202
|
+
// whether a row was left behind. They agree wherever both are complete.
|
|
203
|
+
truncated: page.nextCursor !== null,
|
|
204
|
+
calls: page.items,
|
|
205
|
+
};
|
|
206
|
+
}
|
|
159
207
|
/** One recorded call with its bodies windowed, or null when the workspace has no such call. */
|
|
160
208
|
async getLlmCall(workspaceId, callId, opts = {}) {
|
|
161
209
|
const repo = this.deps.llmCallMetricRepository;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunDebugService.js","sourceRoot":"","sources":["../../../src/modules/debug/RunDebugService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RunDebugService.js","sourceRoot":"","sources":["../../../src/modules/debug/RunDebugService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,28 @@
|
|
|
1
|
-
import type { ReportWindow, ReportsView } from '@cat-factory/contracts';
|
|
1
|
+
import type { ReportSpendDimension, ReportSpendRow, ReportSpendSource, ReportTotals, ReportWindow, ReportsView } from '@cat-factory/contracts';
|
|
2
2
|
import type { Clock, ReportsRepository, SpendRollupRepository } from '@cat-factory/kernel';
|
|
3
|
+
/**
|
|
4
|
+
* One dimension's spend over a window, with the window's own facts beside it: which store
|
|
5
|
+
* answered, how far its sweep has covered, and the span the numbers cover.
|
|
6
|
+
*
|
|
7
|
+
* Deliberately NOT the wire shape of any surface that serves it. The public API projects this
|
|
8
|
+
* into its own frozen resource, exactly as it does for the usage breakdown, so an internal
|
|
9
|
+
* analytics shape stays free to change.
|
|
10
|
+
*/
|
|
11
|
+
export interface ReportsBreakdown {
|
|
12
|
+
dimension: ReportSpendDimension;
|
|
13
|
+
window: ReportWindow;
|
|
14
|
+
generatedAt: number;
|
|
15
|
+
since: number;
|
|
16
|
+
currency: string;
|
|
17
|
+
source: ReportSpendSource;
|
|
18
|
+
rolledUpThrough: number | null;
|
|
19
|
+
/** Over the window's WHOLE population, never only the rows returned beside it. */
|
|
20
|
+
totals: ReportTotals;
|
|
21
|
+
/** The heaviest slices by metered cost, capped by the caller's `limit` when it named one. */
|
|
22
|
+
rows: ReportSpendRow[];
|
|
23
|
+
/** True when the window held more slices than `limit`, so `rows` is a prefix of them. */
|
|
24
|
+
truncated: boolean;
|
|
25
|
+
}
|
|
3
26
|
export interface ReportsServiceDependencies {
|
|
4
27
|
reportsRepository: ReportsRepository;
|
|
5
28
|
/**
|
|
@@ -43,6 +66,23 @@ export declare class ReportsService {
|
|
|
43
66
|
private readonly deps;
|
|
44
67
|
constructor(deps: ReportsServiceDependencies);
|
|
45
68
|
summarize(accountId: string, window: ReportWindow, workspaceId?: string | null): Promise<ReportsView>;
|
|
69
|
+
/**
|
|
70
|
+
* ONE spend dimension over the same window routing {@link ReportsService.summarize} uses:
|
|
71
|
+
* what the public `GET /api/v1/usage/spend` serves, and what a caller asking a single
|
|
72
|
+
* question (what did this repository cost, what did that ticket cost) actually needs.
|
|
73
|
+
*
|
|
74
|
+
* A separate method rather than a `dimension` option on `summarize`, because the two differ
|
|
75
|
+
* in what they COST: the panel renders every slice together and pays for eleven aggregates,
|
|
76
|
+
* where this is one `GROUP BY` and returning the other ten would be work nobody asked for.
|
|
77
|
+
* Everything else about it is deliberately the same read, so a number here and the same
|
|
78
|
+
* number in the panel come from one code path.
|
|
79
|
+
*
|
|
80
|
+
* `limit` bounds what is RETURNED, not what is aggregated: `totals` folds the window's whole
|
|
81
|
+
* population either way, so a capped breakdown still reports what was spent and only loses
|
|
82
|
+
* the identity of the tail. That is why the cap is applied here rather than pushed into the
|
|
83
|
+
* `GROUP BY` as a SQL `LIMIT`, which would take the totals down with it.
|
|
84
|
+
*/
|
|
85
|
+
breakdown(accountId: string, dimension: ReportSpendDimension, window: ReportWindow, workspaceId?: string | null, limit?: number): Promise<ReportsBreakdown>;
|
|
46
86
|
/**
|
|
47
87
|
* Bind the window's spend reads to the store that serves them, and report which one that
|
|
48
88
|
* turned out to be. The window PREFERS the rollup on the long windows; an unwired rollup
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReportsService.d.ts","sourceRoot":"","sources":["../../../src/modules/reports/ReportsService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ReportsService.d.ts","sourceRoot":"","sources":["../../../src/modules/reports/ReportsService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EACV,KAAK,EAKL,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAsB5B;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,oBAAoB,CAAA;IAC/B,MAAM,EAAE,YAAY,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,iBAAiB,CAAA;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,kFAAkF;IAClF,MAAM,EAAE,YAAY,CAAA;IACpB,6FAA6F;IAC7F,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,yFAAyF;IACzF,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,KAAK,EAAE,KAAK,CAAA;IACZ;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,0BAA0B,EAAI;IAE3D,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAC1B,OAAO,CAAC,WAAW,CAAC,CAsEtB;IAED;;;;;;;;;;;;;;;OAeG;IACG,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,oBAAoB,EAC/B,MAAM,EAAE,YAAY,EACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,EAC3B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,CA+B3B;IAED;;;;;OAKG;IACH,OAAO,CAAC,WAAW;CA6BpB"}
|
|
@@ -81,6 +81,54 @@ export class ReportsService {
|
|
|
81
81
|
trend: { bucketMs, points: buildSpendTrend(trend, since, until, bucketMs) },
|
|
82
82
|
};
|
|
83
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* ONE spend dimension over the same window routing {@link ReportsService.summarize} uses:
|
|
86
|
+
* what the public `GET /api/v1/usage/spend` serves, and what a caller asking a single
|
|
87
|
+
* question (what did this repository cost, what did that ticket cost) actually needs.
|
|
88
|
+
*
|
|
89
|
+
* A separate method rather than a `dimension` option on `summarize`, because the two differ
|
|
90
|
+
* in what they COST: the panel renders every slice together and pays for eleven aggregates,
|
|
91
|
+
* where this is one `GROUP BY` and returning the other ten would be work nobody asked for.
|
|
92
|
+
* Everything else about it is deliberately the same read, so a number here and the same
|
|
93
|
+
* number in the panel come from one code path.
|
|
94
|
+
*
|
|
95
|
+
* `limit` bounds what is RETURNED, not what is aggregated: `totals` folds the window's whole
|
|
96
|
+
* population either way, so a capped breakdown still reports what was spent and only loses
|
|
97
|
+
* the identity of the tail. That is why the cap is applied here rather than pushed into the
|
|
98
|
+
* `GROUP BY` as a SQL `LIMIT`, which would take the totals down with it.
|
|
99
|
+
*/
|
|
100
|
+
async breakdown(accountId, dimension, window, workspaceId, limit) {
|
|
101
|
+
const { windowMs, bucketMs, source: preferred } = REPORT_WINDOWS[window];
|
|
102
|
+
const until = this.deps.clock.now();
|
|
103
|
+
// The same snapped start the panel aggregates over, so a slice read here and the same
|
|
104
|
+
// slice read there cover the identical span rather than differing by a partial bucket.
|
|
105
|
+
const since = alignWindowStart(until, windowMs, bucketMs);
|
|
106
|
+
const { source, spend } = this.spendSource(preferred);
|
|
107
|
+
const [groups, rolledUpThrough] = await Promise.all([
|
|
108
|
+
spend.byDimension({ accountId, workspaceId: workspaceId ?? null }, dimension, {
|
|
109
|
+
since,
|
|
110
|
+
until,
|
|
111
|
+
}),
|
|
112
|
+
spend.watermark(),
|
|
113
|
+
]);
|
|
114
|
+
const rows = groups.map(toSpendRow);
|
|
115
|
+
return {
|
|
116
|
+
dimension,
|
|
117
|
+
window,
|
|
118
|
+
generatedAt: until,
|
|
119
|
+
since,
|
|
120
|
+
currency: this.deps.currency,
|
|
121
|
+
source,
|
|
122
|
+
rolledUpThrough,
|
|
123
|
+
// Folded from ALL the rows rather than queried again: this breakdown partitions the
|
|
124
|
+
// window's whole ledger, so the two cannot disagree by construction. Folded BEFORE the
|
|
125
|
+
// cap for the same reason: a total over the returned prefix would under-report the
|
|
126
|
+
// window while still reading as the window's total.
|
|
127
|
+
totals: foldTotals(rows),
|
|
128
|
+
truncated: limit !== undefined && rows.length > limit,
|
|
129
|
+
rows: limit !== undefined ? rows.slice(0, limit) : rows,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
84
132
|
/**
|
|
85
133
|
* Bind the window's spend reads to the store that serves them, and report which one that
|
|
86
134
|
* turned out to be. The window PREFERS the rollup on the long windows; an unwired rollup
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReportsService.js","sourceRoot":"","sources":["../../../src/modules/reports/ReportsService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ReportsService.js","sourceRoot":"","sources":["../../../src/modules/reports/ReportsService.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/orchestration",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.244.0",
|
|
4
4
|
"description": "Delivery-workflow engine for the Agent Architecture Board (execution, bootstrap, pipelines, board, boardScan, requirements, and composition root).",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -25,20 +25,20 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"ai": "^7.0.51",
|
|
28
|
-
"@cat-factory/agents": "0.119.
|
|
29
|
-
"@cat-factory/caching": "0.18.
|
|
30
|
-
"@cat-factory/contracts": "0.
|
|
31
|
-
"@cat-factory/integrations": "0.152.
|
|
32
|
-
"@cat-factory/kernel": "0.275.
|
|
33
|
-
"@cat-factory/prompt-fragments": "1.0.
|
|
34
|
-
"@cat-factory/
|
|
35
|
-
"@cat-factory/
|
|
36
|
-
"@cat-factory/workspaces": "0.26.
|
|
28
|
+
"@cat-factory/agents": "0.119.2",
|
|
29
|
+
"@cat-factory/caching": "0.18.18",
|
|
30
|
+
"@cat-factory/contracts": "0.278.0",
|
|
31
|
+
"@cat-factory/integrations": "0.152.3",
|
|
32
|
+
"@cat-factory/kernel": "0.275.2",
|
|
33
|
+
"@cat-factory/prompt-fragments": "1.0.27",
|
|
34
|
+
"@cat-factory/sandbox": "0.11.104",
|
|
35
|
+
"@cat-factory/spend": "0.15.45",
|
|
36
|
+
"@cat-factory/workspaces": "0.26.17"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"typescript": "7.0.2",
|
|
40
40
|
"vitest": "^4.1.10",
|
|
41
|
-
"@cat-factory/sandbox-fixtures": "0.7.
|
|
41
|
+
"@cat-factory/sandbox-fixtures": "0.7.313"
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
44
|
"build": "tsc -b tsconfig.build.json",
|