@qverisai/mcp 0.5.0 → 0.6.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 +76 -10
- package/dist/api/client.d.ts +14 -2
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +29 -4
- package/dist/api/client.js.map +1 -1
- package/dist/index.js +42 -4
- package/dist/index.js.map +1 -1
- package/dist/tools/audit-utils.d.ts +52 -0
- package/dist/tools/audit-utils.d.ts.map +1 -0
- package/dist/tools/audit-utils.js +395 -0
- package/dist/tools/audit-utils.js.map +1 -0
- package/dist/tools/credits-ledger.d.ts +57 -0
- package/dist/tools/credits-ledger.d.ts.map +1 -0
- package/dist/tools/credits-ledger.js +124 -0
- package/dist/tools/credits-ledger.js.map +1 -0
- package/dist/tools/usage-history.d.ts +72 -0
- package/dist/tools/usage-history.d.ts.map +1 -0
- package/dist/tools/usage-history.js +135 -0
- package/dist/tools/usage-history.js.map +1 -0
- package/dist/types.d.ts +147 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,11 +7,13 @@ Official QVeris MCP Server — Dynamically search and execute tools via natural
|
|
|
7
7
|
|
|
8
8
|
## Overview
|
|
9
9
|
|
|
10
|
-
This SDK provides a [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that enables LLMs to discover and execute third-party tools through the QVeris API. With
|
|
11
|
-
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
14
|
-
- **
|
|
10
|
+
This SDK provides a [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that enables LLMs to discover and execute third-party tools through the QVeris API. With a small set of tools, your AI assistant can:
|
|
11
|
+
|
|
12
|
+
- **Discover** tools using natural language queries
|
|
13
|
+
- **Inspect** detailed information about specific tools by their IDs
|
|
14
|
+
- **Call** any discovered tool with the appropriate parameters
|
|
15
|
+
- **Audit usage** with context-safe summaries or precise filtered records
|
|
16
|
+
- **Review credits ledger** without dumping full account history into context
|
|
15
17
|
|
|
16
18
|
## Quick Start
|
|
17
19
|
|
|
@@ -68,7 +70,8 @@ Then your AI assistant can discover and call tools:
|
|
|
68
70
|
The assistant will:
|
|
69
71
|
1. Call `discover` with query "weather"
|
|
70
72
|
2. Optionally call `inspect` to review tool details
|
|
71
|
-
3. Call `call` with the tool_id and parameters
|
|
73
|
+
3. Call `call` with the tool_id and parameters
|
|
74
|
+
4. Use `usage_history` or `credits_ledger` only when the user asks about charge status or balance changes
|
|
72
75
|
|
|
73
76
|
## Available Tools
|
|
74
77
|
|
|
@@ -93,7 +96,7 @@ Discover available tools based on natural language queries.
|
|
|
93
96
|
|
|
94
97
|
### `inspect`
|
|
95
98
|
|
|
96
|
-
Inspect tools by their IDs to get detailed information (parameters, success rate, latency, examples).
|
|
99
|
+
Inspect tools by their IDs to get detailed information (parameters, success rate, latency, examples, and billing_rule when available).
|
|
97
100
|
|
|
98
101
|
| Parameter | Type | Required | Description |
|
|
99
102
|
|-----------|------|----------|-------------|
|
|
@@ -112,7 +115,7 @@ Inspect tools by their IDs to get detailed information (parameters, success rate
|
|
|
112
115
|
|
|
113
116
|
### `call`
|
|
114
117
|
|
|
115
|
-
Call a discovered tool with specific parameters.
|
|
118
|
+
Call a discovered tool with specific parameters.
|
|
116
119
|
|
|
117
120
|
| Parameter | Type | Required | Description |
|
|
118
121
|
|-----------|------|----------|-------------|
|
|
@@ -129,8 +132,71 @@ Call a discovered tool with specific parameters.
|
|
|
129
132
|
"tool_id": "openweathermap.weather.execute.v1",
|
|
130
133
|
"search_id": "abcd1234-ab12-ab12-ab12-abcdef123456",
|
|
131
134
|
"params_to_tool": {"city": "London", "units": "metric"}
|
|
132
|
-
}
|
|
133
|
-
```
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
The `call` response may include compact pre-settlement `billing`. Final charge status should be checked with `usage_history` or `credits_ledger`.
|
|
139
|
+
|
|
140
|
+
### `usage_history`
|
|
141
|
+
|
|
142
|
+
Context-safe request-level usage audit. Defaults to aggregated `summary` mode.
|
|
143
|
+
Summary mode requests service-side `summary=true` aggregates when available and falls back to bounded client-side aggregation for older deployments.
|
|
144
|
+
|
|
145
|
+
| Parameter | Type | Required | Description |
|
|
146
|
+
|-----------|------|----------|-------------|
|
|
147
|
+
| `mode` | string | | `summary`, `search`, or `export_file` (default: `summary`) |
|
|
148
|
+
| `start_date` | string | | Start date, `YYYY-MM-DD` |
|
|
149
|
+
| `end_date` | string | | End date, `YYYY-MM-DD` |
|
|
150
|
+
| `bucket` | string | | `hour`, `day`, or `week` for summary aggregation |
|
|
151
|
+
| `execution_id` | string | | Precise execution lookup |
|
|
152
|
+
| `search_id` | string | | Precise search lookup |
|
|
153
|
+
| `charge_outcome` | string | | `charged`, `included`, `failed_not_charged`, `failed_charged_review` |
|
|
154
|
+
| `min_credits` | number | | Lower credit amount bound |
|
|
155
|
+
| `max_credits` | number | | Upper credit amount bound |
|
|
156
|
+
| `limit` | number | | Search row cap, default 10, hard max 50 |
|
|
157
|
+
|
|
158
|
+
Examples:
|
|
159
|
+
|
|
160
|
+
```json
|
|
161
|
+
{ "mode": "summary", "bucket": "hour" }
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
```json
|
|
165
|
+
{ "mode": "search", "execution_id": "exec-123" }
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
```json
|
|
169
|
+
{ "mode": "search", "min_credits": 30, "max_credits": 100 }
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### `credits_ledger`
|
|
173
|
+
|
|
174
|
+
Context-safe final credit ledger query. Defaults to aggregated `summary` mode.
|
|
175
|
+
Summary mode requests service-side `summary=true` aggregates when available and falls back to bounded client-side aggregation for older deployments.
|
|
176
|
+
|
|
177
|
+
| Parameter | Type | Required | Description |
|
|
178
|
+
|-----------|------|----------|-------------|
|
|
179
|
+
| `mode` | string | | `summary`, `search`, or `export_file` (default: `summary`) |
|
|
180
|
+
| `start_date` | string | | Start date, `YYYY-MM-DD` |
|
|
181
|
+
| `end_date` | string | | End date, `YYYY-MM-DD` |
|
|
182
|
+
| `bucket` | string | | `hour`, `day`, or `week` for summary aggregation |
|
|
183
|
+
| `entry_type` | string | | Ledger entry type, for example `consume_tool_execute` |
|
|
184
|
+
| `direction` | string | | `consume`, `grant`, or `any` |
|
|
185
|
+
| `min_credits` | number | | Lower absolute credit amount bound |
|
|
186
|
+
| `max_credits` | number | | Upper absolute credit amount bound |
|
|
187
|
+
| `limit` | number | | Search row cap, default 10, hard max 50 |
|
|
188
|
+
|
|
189
|
+
Examples:
|
|
190
|
+
|
|
191
|
+
```json
|
|
192
|
+
{ "mode": "summary", "bucket": "day" }
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
```json
|
|
196
|
+
{ "mode": "search", "direction": "consume", "min_credits": 50 }
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Large result sets should use `mode: "export_file"`. The server writes JSONL under `.qveris/exports/` and returns the file path instead of emitting every row into MCP context.
|
|
134
200
|
|
|
135
201
|
### Deprecated tool names
|
|
136
202
|
|
package/dist/api/client.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module api/client
|
|
8
8
|
*/
|
|
9
|
-
import type { SearchRequest, SearchResponse, GetToolsByIdsRequest, ExecuteRequest, ExecuteResponse, QverisClientConfig } from '../types.js';
|
|
9
|
+
import type { SearchRequest, SearchResponse, GetToolsByIdsRequest, ExecuteRequest, ExecuteResponse, CreditsResponse, UsageHistoryRequest, UsageEventsResponse, CreditsLedgerRequest, CreditsLedgerResponse, ApiEnvelope, QverisClientConfig } from '../types.js';
|
|
10
10
|
/**
|
|
11
11
|
* Qveris API Client
|
|
12
12
|
*
|
|
@@ -49,10 +49,22 @@ export declare class QverisClient {
|
|
|
49
49
|
getToolsByIds(request: GetToolsByIdsRequest): Promise<SearchResponse>;
|
|
50
50
|
/**
|
|
51
51
|
* Execute a tool with the specified parameters.
|
|
52
|
-
* This is the Call action
|
|
52
|
+
* This is the Call action; the response may include pre-settlement billing.
|
|
53
53
|
* Uses a longer timeout (120s) by default.
|
|
54
54
|
*/
|
|
55
55
|
executeTool(toolId: string, request: ExecuteRequest): Promise<ExecuteResponse>;
|
|
56
|
+
/**
|
|
57
|
+
* Get current credit balance and bucket details.
|
|
58
|
+
*/
|
|
59
|
+
getCredits(): Promise<ApiEnvelope<CreditsResponse> | CreditsResponse>;
|
|
60
|
+
/**
|
|
61
|
+
* Query request-level usage audit history.
|
|
62
|
+
*/
|
|
63
|
+
getUsageHistory(request: UsageHistoryRequest): Promise<ApiEnvelope<UsageEventsResponse> | UsageEventsResponse>;
|
|
64
|
+
/**
|
|
65
|
+
* Query final credits ledger entries.
|
|
66
|
+
*/
|
|
67
|
+
getCreditsLedger(request: CreditsLedgerRequest): Promise<ApiEnvelope<CreditsLedgerResponse> | CreditsLedgerResponse>;
|
|
56
68
|
}
|
|
57
69
|
/**
|
|
58
70
|
* Creates a Qveris client from environment variables.
|
package/dist/api/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AAkCrB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAE9B,MAAM,EAAE,kBAAkB;IAUtC;;OAEG;YACW,OAAO;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AAkCrB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAE9B,MAAM,EAAE,kBAAkB;IAUtC;;OAEG;YACW,OAAO;IA2FrB;;;OAGG;IACG,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAIlE;;;OAGG;IACG,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IAI3E;;;;OAIG;IACG,WAAW,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,eAAe,CAAC;IAU3B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC;IAI3E;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;IAUlE;;OAEG;IACG,gBAAgB,CACpB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,GAAG,qBAAqB,CAAC;CASvE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,CAiBlD"}
|
package/dist/api/client.js
CHANGED
|
@@ -73,12 +73,19 @@ export class QverisClient {
|
|
|
73
73
|
/**
|
|
74
74
|
* Makes an authenticated HTTP request to the Qveris API.
|
|
75
75
|
*/
|
|
76
|
-
async request(method, endpoint, body, timeoutMs) {
|
|
77
|
-
const url = `${this.baseUrl}${endpoint}
|
|
76
|
+
async request(method, endpoint, body, timeoutMs, query) {
|
|
77
|
+
const url = new URL(`${this.baseUrl}${endpoint}`);
|
|
78
|
+
if (query) {
|
|
79
|
+
for (const [key, value] of Object.entries(query)) {
|
|
80
|
+
if (value !== undefined && value !== null && value !== '') {
|
|
81
|
+
url.searchParams.set(key, String(value));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
78
85
|
const controller = new AbortController();
|
|
79
86
|
const timeout = setTimeout(() => controller.abort(), timeoutMs ?? this.defaultTimeoutMs);
|
|
80
87
|
try {
|
|
81
|
-
const response = await fetch(url, {
|
|
88
|
+
const response = await fetch(url.toString(), {
|
|
82
89
|
method,
|
|
83
90
|
headers: {
|
|
84
91
|
'Authorization': `Bearer ${this.apiKey}`,
|
|
@@ -160,13 +167,31 @@ export class QverisClient {
|
|
|
160
167
|
}
|
|
161
168
|
/**
|
|
162
169
|
* Execute a tool with the specified parameters.
|
|
163
|
-
* This is the Call action
|
|
170
|
+
* This is the Call action; the response may include pre-settlement billing.
|
|
164
171
|
* Uses a longer timeout (120s) by default.
|
|
165
172
|
*/
|
|
166
173
|
async executeTool(toolId, request) {
|
|
167
174
|
const endpoint = `/tools/execute?tool_id=${encodeURIComponent(toolId)}`;
|
|
168
175
|
return this.request('POST', endpoint, request, EXECUTE_TIMEOUT_MS);
|
|
169
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* Get current credit balance and bucket details.
|
|
179
|
+
*/
|
|
180
|
+
async getCredits() {
|
|
181
|
+
return this.request('GET', '/auth/credits');
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Query request-level usage audit history.
|
|
185
|
+
*/
|
|
186
|
+
async getUsageHistory(request) {
|
|
187
|
+
return this.request('GET', '/auth/usage/history/v2', undefined, this.defaultTimeoutMs, request);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Query final credits ledger entries.
|
|
191
|
+
*/
|
|
192
|
+
async getCreditsLedger(request) {
|
|
193
|
+
return this.request('GET', '/auth/credits/ledger', undefined, this.defaultTimeoutMs, request);
|
|
194
|
+
}
|
|
170
195
|
}
|
|
171
196
|
/**
|
|
172
197
|
* Creates a Qveris client from environment variables.
|
package/dist/api/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -31,6 +31,8 @@ import { createClientFromEnv } from './api/client.js';
|
|
|
31
31
|
import { searchToolsSchema, executeSearchTools, } from './tools/search.js';
|
|
32
32
|
import { executeToolSchema, executeExecuteTool, } from './tools/execute.js';
|
|
33
33
|
import { getToolsByIdsSchema, executeGetToolsByIds, } from './tools/get-by-ids.js';
|
|
34
|
+
import { usageHistorySchema, executeUsageHistory, } from './tools/usage-history.js';
|
|
35
|
+
import { creditsLedgerSchema, executeCreditsLedger, } from './tools/credits-ledger.js';
|
|
34
36
|
// ============================================================================
|
|
35
37
|
// Server Configuration
|
|
36
38
|
// ============================================================================
|
|
@@ -80,13 +82,14 @@ async function main() {
|
|
|
80
82
|
name: 'discover',
|
|
81
83
|
description: 'Discover available tools based on natural language queries. ' +
|
|
82
84
|
'Returns relevant tools that can help accomplish tasks. ' +
|
|
83
|
-
'Use this to find tools before inspecting or calling them.'
|
|
85
|
+
'Use this to find tools before inspecting or calling them. ' +
|
|
86
|
+
'Results may include billing_rule metadata for rule-level pricing.',
|
|
84
87
|
inputSchema: searchToolsSchema,
|
|
85
88
|
},
|
|
86
89
|
{
|
|
87
90
|
name: 'inspect',
|
|
88
91
|
description: 'Inspect tools by their IDs to get detailed information. ' +
|
|
89
|
-
'Returns parameters, success rate, latency, and
|
|
92
|
+
'Returns parameters, success rate, latency, examples, and billing_rule when available. ' +
|
|
90
93
|
'Use tool_ids from a previous discover call.',
|
|
91
94
|
inputSchema: getToolsByIdsSchema,
|
|
92
95
|
},
|
|
@@ -94,9 +97,20 @@ async function main() {
|
|
|
94
97
|
name: 'call',
|
|
95
98
|
description: 'Call a specific remote tool with provided parameters. ' +
|
|
96
99
|
'The tool_id and search_id must come from a previous discover call. ' +
|
|
97
|
-
'Pass parameters to the tool through params_to_tool.'
|
|
100
|
+
'Pass parameters to the tool through params_to_tool. ' +
|
|
101
|
+
'The response may include pre-settlement billing; use usage_history or credits_ledger for final charge status.',
|
|
98
102
|
inputSchema: executeToolSchema,
|
|
99
103
|
},
|
|
104
|
+
{
|
|
105
|
+
name: 'usage_history',
|
|
106
|
+
description: 'Context-safe usage audit query. Defaults to aggregated summary, supports precise search by execution_id/search_id/charge_outcome/credit range, and writes large exports to a local JSONL file instead of returning all rows.',
|
|
107
|
+
inputSchema: usageHistorySchema,
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
name: 'credits_ledger',
|
|
111
|
+
description: 'Context-safe final credits ledger query. Defaults to aggregated summary, supports precise search by entry type/direction/credit range, and writes large exports to a local JSONL file instead of returning all rows.',
|
|
112
|
+
inputSchema: creditsLedgerSchema,
|
|
113
|
+
},
|
|
100
114
|
// Deprecated aliases (backward compatibility)
|
|
101
115
|
{
|
|
102
116
|
name: 'search_tools',
|
|
@@ -224,6 +238,30 @@ async function main() {
|
|
|
224
238
|
],
|
|
225
239
|
};
|
|
226
240
|
}
|
|
241
|
+
if (name === 'usage_history') {
|
|
242
|
+
const input = (args ?? {});
|
|
243
|
+
const result = await executeUsageHistory(client, input);
|
|
244
|
+
return {
|
|
245
|
+
content: [
|
|
246
|
+
{
|
|
247
|
+
type: 'text',
|
|
248
|
+
text: JSON.stringify(result, null, 2),
|
|
249
|
+
},
|
|
250
|
+
],
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
if (name === 'credits_ledger') {
|
|
254
|
+
const input = (args ?? {});
|
|
255
|
+
const result = await executeCreditsLedger(client, input);
|
|
256
|
+
return {
|
|
257
|
+
content: [
|
|
258
|
+
{
|
|
259
|
+
type: 'text',
|
|
260
|
+
text: JSON.stringify(result, null, 2),
|
|
261
|
+
},
|
|
262
|
+
],
|
|
263
|
+
};
|
|
264
|
+
}
|
|
227
265
|
// Unknown tool
|
|
228
266
|
return {
|
|
229
267
|
content: [
|
|
@@ -231,7 +269,7 @@ async function main() {
|
|
|
231
269
|
type: 'text',
|
|
232
270
|
text: JSON.stringify({
|
|
233
271
|
error: `Unknown tool: ${rawName}`,
|
|
234
|
-
available_tools: ['discover', 'inspect', 'call'],
|
|
272
|
+
available_tools: ['discover', 'inspect', 'call', 'usage_history', 'credits_ledger'],
|
|
235
273
|
}),
|
|
236
274
|
},
|
|
237
275
|
],
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAgB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GAEnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GAEnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GAErB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { ApiEnvelope, CreditsLedgerItem, CreditsLedgerResponse, UsageEventItem, UsageEventsResponse } from '../types.js';
|
|
2
|
+
export declare const DEFAULT_DETAIL_LIMIT = 10;
|
|
3
|
+
export declare const MAX_DETAIL_LIMIT = 50;
|
|
4
|
+
export declare const DEFAULT_PAGE_SIZE = 500;
|
|
5
|
+
export declare const MAX_SUMMARY_ROWS = 5000;
|
|
6
|
+
export declare const MAX_SEARCH_SCAN_ROWS = 2000;
|
|
7
|
+
export declare const MAX_EXPORT_ROWS = 50000;
|
|
8
|
+
export type AuditMode = 'summary' | 'search' | 'export_file';
|
|
9
|
+
export type Bucket = 'hour' | 'day' | 'week';
|
|
10
|
+
export interface CommonAuditInput {
|
|
11
|
+
mode?: AuditMode | 'export-file';
|
|
12
|
+
start_date?: string;
|
|
13
|
+
end_date?: string;
|
|
14
|
+
bucket?: Bucket;
|
|
15
|
+
min_credits?: number;
|
|
16
|
+
max_credits?: number;
|
|
17
|
+
limit?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface UsageFilterInput extends CommonAuditInput {
|
|
20
|
+
execution_id?: string;
|
|
21
|
+
search_id?: string;
|
|
22
|
+
event_type?: string;
|
|
23
|
+
kind?: string;
|
|
24
|
+
success?: boolean;
|
|
25
|
+
charge_outcome?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface LedgerFilterInput extends CommonAuditInput {
|
|
28
|
+
entry_type?: string;
|
|
29
|
+
direction?: 'consume' | 'grant' | 'any';
|
|
30
|
+
}
|
|
31
|
+
export declare function unwrapEnvelope<T>(response: ApiEnvelope<T> | T): T;
|
|
32
|
+
export declare function normalizeMode(mode: CommonAuditInput['mode']): AuditMode;
|
|
33
|
+
export declare function clampLimit(limit?: number): number;
|
|
34
|
+
export declare function resolveDateRange(input: CommonAuditInput): {
|
|
35
|
+
start_date: string;
|
|
36
|
+
end_date: string;
|
|
37
|
+
};
|
|
38
|
+
export declare function chooseBucket(input: CommonAuditInput): Bucket;
|
|
39
|
+
export declare function getUsageItems(response: UsageEventsResponse): UsageEventItem[];
|
|
40
|
+
export declare function getLedgerItems(response: CreditsLedgerResponse): CreditsLedgerItem[];
|
|
41
|
+
export declare function usageAmount(row: UsageEventItem): number;
|
|
42
|
+
export declare function ledgerAmount(row: CreditsLedgerItem): number;
|
|
43
|
+
export declare function matchesUsage(row: UsageEventItem, input: UsageFilterInput): boolean;
|
|
44
|
+
export declare function matchesLedger(row: CreditsLedgerItem, input: LedgerFilterInput): boolean;
|
|
45
|
+
export declare function pickUsage(row: UsageEventItem): Record<string, unknown>;
|
|
46
|
+
export declare function pickLedger(row: CreditsLedgerItem): Record<string, unknown>;
|
|
47
|
+
export declare function summarizeUsage(rows: UsageEventItem[], input: UsageFilterInput, scannedRecords: number, total: number | undefined, truncated: boolean): Record<string, unknown>;
|
|
48
|
+
export declare function summarizeUsageFromServer(serverSummary: Record<string, unknown>, input: UsageFilterInput, scannedRecords: number, total: number | undefined): Record<string, unknown>;
|
|
49
|
+
export declare function summarizeLedger(rows: CreditsLedgerItem[], input: LedgerFilterInput, scannedRecords: number, total: number | undefined, truncated: boolean): Record<string, unknown>;
|
|
50
|
+
export declare function summarizeLedgerFromServer(serverSummary: Record<string, unknown>, input: LedgerFilterInput, scannedRecords: number, total: number | undefined): Record<string, unknown>;
|
|
51
|
+
export declare function writeJsonlExport(kind: string, rows: unknown[], metadata: Record<string, unknown>): Record<string, unknown>;
|
|
52
|
+
//# sourceMappingURL=audit-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-utils.d.ts","sourceRoot":"","sources":["../../src/tools/audit-utils.ts"],"names":[],"mappings":"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"}
|