@agentuity/server 0.0.63 → 0.0.65
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/api/api.d.ts +2 -6
- package/dist/api/api.d.ts.map +1 -1
- package/dist/api/api.js +31 -16
- package/dist/api/api.js.map +1 -1
- package/dist/api/db/index.d.ts +5 -0
- package/dist/api/db/index.d.ts.map +1 -0
- package/dist/api/db/index.js +5 -0
- package/dist/api/db/index.js.map +1 -0
- package/dist/api/db/logs.d.ts +39 -0
- package/dist/api/db/logs.d.ts.map +1 -0
- package/dist/api/db/logs.js +59 -0
- package/dist/api/db/logs.js.map +1 -0
- package/dist/api/db/query.d.ts +26 -0
- package/dist/api/db/query.d.ts.map +1 -0
- package/dist/api/db/query.js +49 -0
- package/dist/api/db/query.js.map +1 -0
- package/dist/api/db/tables.d.ts +30 -0
- package/dist/api/db/tables.d.ts.map +1 -0
- package/dist/api/db/tables.js +59 -0
- package/dist/api/db/tables.js.map +1 -0
- package/dist/api/db/util.d.ts +31 -0
- package/dist/api/db/util.d.ts.map +1 -0
- package/dist/api/db/util.js +4 -0
- package/dist/api/db/util.js.map +1 -0
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +1 -0
- package/dist/api/index.js.map +1 -1
- package/dist/api/region/resources.d.ts +2 -0
- package/dist/api/region/resources.d.ts.map +1 -1
- package/dist/api/region/resources.js +1 -0
- package/dist/api/region/resources.js.map +1 -1
- package/package.json +2 -2
- package/src/api/api.ts +42 -20
- package/src/api/db/index.ts +10 -0
- package/src/api/db/logs.ts +75 -0
- package/src/api/db/query.ts +67 -0
- package/src/api/db/tables.ts +92 -0
- package/src/api/db/util.ts +9 -0
- package/src/api/index.ts +1 -0
- package/src/api/region/resources.ts +1 -0
package/dist/api/api.d.ts
CHANGED
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
* API Client for Agentuity Platform
|
|
3
3
|
*
|
|
4
4
|
* Handles HTTP requests to the API with automatic error parsing and User-Agent headers.
|
|
5
|
-
*
|
|
6
|
-
* Error handling:
|
|
7
|
-
* - UPGRADE_REQUIRED (409): Throws UpgradeRequiredError
|
|
8
|
-
* - Other errors: Throws Error with API message or status text
|
|
9
5
|
*/
|
|
10
6
|
import { z } from 'zod';
|
|
11
7
|
import type { Logger } from '@agentuity/core';
|
|
@@ -14,6 +10,7 @@ export interface APIClientConfig {
|
|
|
14
10
|
userAgent?: string;
|
|
15
11
|
maxRetries?: number;
|
|
16
12
|
retryDelayMs?: number;
|
|
13
|
+
headers?: Record<string, string>;
|
|
17
14
|
}
|
|
18
15
|
declare const ZodIssuesSchema: z.ZodArray<z.ZodObject<{
|
|
19
16
|
code: z.ZodString;
|
|
@@ -25,16 +22,15 @@ export type IssuesType = z.infer<typeof ZodIssuesSchema>;
|
|
|
25
22
|
export declare const APIError: {
|
|
26
23
|
new (args?: ({
|
|
27
24
|
url: string;
|
|
28
|
-
error?: string;
|
|
29
25
|
status: number;
|
|
30
26
|
sessionId?: string | null;
|
|
31
27
|
} & {
|
|
28
|
+
message?: string;
|
|
32
29
|
cause?: unknown;
|
|
33
30
|
}) | undefined): import("@agentuity/core").RichError & {
|
|
34
31
|
readonly _tag: "APIErrorResponse";
|
|
35
32
|
} & Readonly<{
|
|
36
33
|
url: string;
|
|
37
|
-
error?: string;
|
|
38
34
|
status: number;
|
|
39
35
|
sessionId?: string | null;
|
|
40
36
|
}>;
|
package/dist/api/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAG9C,MAAM,WAAW,eAAe;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,QAAA,MAAM,eAAe;;;;;kBAOpB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AA2BzD,eAAO,MAAM,QAAQ;;aACf,MAAM;gBACH,MAAM;oBACF,MAAM,GAAG,IAAI;;;;;;;aAFpB,MAAM;gBACH,MAAM;oBACF,MAAM,GAAG,IAAI;;;CACtB,CAAC;AAEL,eAAO,MAAM,oBAAoB;;aAI3B,MAAM;gBACH,UAAU;;;;;;aADb,MAAM;gBACH,UAAU;;;CACf,CAAC;AAEL,eAAO,MAAM,qBAAqB;;aAI5B,MAAM;gBACH,UAAU;oBACN,MAAM,GAAG,IAAI;;;;;;aAFpB,MAAM;gBACH,UAAU;oBACN,MAAM,GAAG,IAAI;;;CACtB,CAAC;AAEL,eAAO,MAAM,oBAAoB;;oBAIpB,MAAM,GAAG,IAAI;;;;;;oBAAb,MAAM,GAAG,IAAI;;;CACtB,CAAC;AAEL,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAG3B,CAAC;AAEF,qBAAa,SAAS;;gBAMT,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe;gBACzD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe;IAuB/E,OAAO,CAAC,SAAS,GAAG,IAAI,EAAE,KAAK,GAAG,OAAO,EAC9C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EACrC,IAAI,CAAC,EAAE,KAAK,EACZ,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAC3B,OAAO,CAAC,SAAS,CAAC;CAgTrB;AAED,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAUtE;AAED,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAUtE;AAED,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC;;;;;;8BAUjE,CAAC;AAEJ,eAAO,MAAM,6BAA6B,GAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC;;;;;;8BAU7E,CAAC;AAEJ,eAAO,MAAM,uBAAuB;;;;;8BASjC,CAAC"}
|
package/dist/api/api.js
CHANGED
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
* API Client for Agentuity Platform
|
|
3
3
|
*
|
|
4
4
|
* Handles HTTP requests to the API with automatic error parsing and User-Agent headers.
|
|
5
|
-
*
|
|
6
|
-
* Error handling:
|
|
7
|
-
* - UPGRADE_REQUIRED (409): Throws UpgradeRequiredError
|
|
8
|
-
* - Other errors: Throws Error with API message or status text
|
|
9
5
|
*/
|
|
10
6
|
import { z } from 'zod';
|
|
11
7
|
import { StructuredError } from '@agentuity/core';
|
|
@@ -27,13 +23,18 @@ const APIErrorSchema = z.object({
|
|
|
27
23
|
success: z.boolean(),
|
|
28
24
|
code: z.string().optional(),
|
|
29
25
|
message: z.string().optional(),
|
|
30
|
-
error: z
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
error: z
|
|
27
|
+
.union([
|
|
28
|
+
z.string(),
|
|
29
|
+
z.object({
|
|
30
|
+
name: z.string().optional(),
|
|
31
|
+
issues: ZodIssuesSchema.optional(),
|
|
32
|
+
}),
|
|
33
|
+
])
|
|
34
|
+
.optional(),
|
|
34
35
|
details: z.record(z.string(), z.unknown()).optional(),
|
|
35
36
|
});
|
|
36
|
-
export const APIError = StructuredError('APIErrorResponse'
|
|
37
|
+
export const APIError = StructuredError('APIErrorResponse')();
|
|
37
38
|
export const ValidationInputError = StructuredError('ValidationInputError', 'There was an error validating the API input data.')();
|
|
38
39
|
export const ValidationOutputError = StructuredError('ValidationOutputError', 'There was an unexpected error validating the API response data.')();
|
|
39
40
|
export const UpgradeRequiredError = StructuredError('UpgradeRequiredError', 'Upgrade required to continue. Please see https://agentuity.dev/CLI/installation to download the latest version of the SDK.')();
|
|
@@ -106,7 +107,7 @@ export class APIClient {
|
|
|
106
107
|
return undefined;
|
|
107
108
|
}
|
|
108
109
|
async #makeRequest(method, endpoint, body) {
|
|
109
|
-
this.#logger.trace('sending %s to %s', method, endpoint);
|
|
110
|
+
this.#logger.trace('sending %s to %s%s', method, this.#baseUrl, endpoint);
|
|
110
111
|
const maxRetries = this.#config?.maxRetries ?? 3;
|
|
111
112
|
const baseDelayMs = this.#config?.retryDelayMs ?? 100;
|
|
112
113
|
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
@@ -114,6 +115,7 @@ export class APIClient {
|
|
|
114
115
|
const url = `${this.#baseUrl}${endpoint}`;
|
|
115
116
|
const headers = {
|
|
116
117
|
'Content-Type': 'application/json',
|
|
118
|
+
Accept: 'application/json',
|
|
117
119
|
};
|
|
118
120
|
if (this.#config?.userAgent) {
|
|
119
121
|
headers['User-Agent'] = this.#config.userAgent;
|
|
@@ -121,6 +123,9 @@ export class APIClient {
|
|
|
121
123
|
if (this.#apiKey) {
|
|
122
124
|
headers['Authorization'] = `Bearer ${this.#apiKey}`;
|
|
123
125
|
}
|
|
126
|
+
if (this.#config?.headers) {
|
|
127
|
+
Object.keys(this.#config.headers).forEach((key) => (headers[key] = this.#config.headers[key]));
|
|
128
|
+
}
|
|
124
129
|
let response;
|
|
125
130
|
try {
|
|
126
131
|
response = await fetch(url, {
|
|
@@ -178,10 +183,10 @@ export class APIClient {
|
|
|
178
183
|
const responseBody = await response.text();
|
|
179
184
|
let errorData;
|
|
180
185
|
try {
|
|
181
|
-
errorData = APIErrorSchema.parse(responseBody);
|
|
186
|
+
errorData = APIErrorSchema.parse(JSON.parse(responseBody));
|
|
182
187
|
}
|
|
183
|
-
catch {
|
|
184
|
-
|
|
188
|
+
catch (parseEx) {
|
|
189
|
+
this.#logger.warn('parsing response data against APIError schema failed: %s', parseEx);
|
|
185
190
|
}
|
|
186
191
|
// Sanitize headers to avoid leaking API keys
|
|
187
192
|
const sanitizedHeaders = { ...headers };
|
|
@@ -208,7 +213,9 @@ export class APIClient {
|
|
|
208
213
|
throw new UpgradeRequiredError({ sessionId });
|
|
209
214
|
}
|
|
210
215
|
// Handle Zod validation errors from the API
|
|
211
|
-
if (errorData?.error
|
|
216
|
+
if (typeof errorData?.error === 'object' &&
|
|
217
|
+
errorData?.error?.name === 'ZodError' &&
|
|
218
|
+
errorData.error.issues) {
|
|
212
219
|
throw new ValidationOutputError({
|
|
213
220
|
url,
|
|
214
221
|
issues: errorData.error.issues,
|
|
@@ -220,11 +227,19 @@ export class APIClient {
|
|
|
220
227
|
throw new APIError({
|
|
221
228
|
url,
|
|
222
229
|
status: response.status,
|
|
223
|
-
|
|
230
|
+
message: typeof errorData.error === 'string'
|
|
231
|
+
? errorData.error
|
|
232
|
+
: (errorData.message ??
|
|
233
|
+
'The API encountered an unexpected error attempting to reach the service.'),
|
|
224
234
|
sessionId,
|
|
225
235
|
});
|
|
226
236
|
}
|
|
227
|
-
throw new APIError({
|
|
237
|
+
throw new APIError({
|
|
238
|
+
message: 'The API encountered an unexpected error attempting to reach the service.',
|
|
239
|
+
url: url,
|
|
240
|
+
status: response.status,
|
|
241
|
+
sessionId,
|
|
242
|
+
});
|
|
228
243
|
}
|
|
229
244
|
// Successful response; handle empty bodies (e.g., 204 No Content)
|
|
230
245
|
if (response.status === 204 || response.headers.get('content-length') === '0') {
|
package/dist/api/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AASlD,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAC9B,CAAC,CAAC,MAAM,CAAC;IACR,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CACF,CAAC;AAIF,MAAM,QAAQ,GAAG,CAAC,MAA0B,EAAc,EAAE;IAC3D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,EAAE,KAAK,CAAC,OAAO;KACtB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE;KAClC,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,eAAe,CACtC,kBAAkB,EAClB,0EAA0E,CAC1E,EAKG,CAAC;AAEL,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAClD,sBAAsB,EACtB,mDAAmD,CACnD,EAGG,CAAC;AAEL,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CACnD,uBAAuB,EACvB,iEAAiE,CACjE,EAIG,CAAC;AAEL,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAClD,sBAAsB,EACtB,4HAA4H,CAC5H,EAEG,CAAC;AAEL,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAC7C,iBAAiB,EACjB,yDAAyD,CACzD,CAAC;AAEF,MAAM,OAAO,SAAS;IACrB,QAAQ,CAAS;IACjB,OAAO,CAAU;IACjB,OAAO,CAAmB;IAC1B,OAAO,CAAS;IAIhB,YACC,OAAe,EACf,MAAc,EACd,cAAyC,EACzC,MAAwB;QAExB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,kEAAkE;QAClE,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACvB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;YACpD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC9C,CAAC;IACF,CAAC;IAED,KAAK,CAAC,OAAO,CACZ,MAAc,EACd,QAAgB,EAChB,cAAqC,EACrC,IAAY,EACZ,UAA6B;QAE7B,2CAA2C;QAC3C,IAAI,IAAI,KAAK,SAAS,IAAI,UAAU,EAAE,CAAC;YACtC,MAAM,gBAAgB,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,IAAI,oBAAoB,CAAC;oBAC9B,GAAG,EAAE,QAAQ;oBACb,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC;iBAC/C,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEjE,mDAAmD;QACnD,IAAI,IAAa,CAAC;QAClB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC;YAC/E,IAAI,GAAG,IAAI,CAAC;QACb,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBACjB,IAAI,GAAG,IAAI,CAAC;YACb,CAAC;iBAAM,CAAC;gBACP,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACzD,IAAI,WAAW,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAC/C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACP,IAAI,GAAG,IAAI,CAAC;gBACb,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACpB,oBAAoB;YACpB,MAAM,gBAAgB,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,IAAI,qBAAqB,CAAC;oBAC/B,GAAG,EAAE,QAAQ;oBACb,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC/C,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;iBAC/C,CAAC,CAAC;YACJ,CAAC;YAED,OAAO,gBAAgB,CAAC,IAAI,CAAC;QAC9B,CAAC;QAED,OAAO,SAAsB,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,QAAgB,EAAE,IAAc;QAClE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEzD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,IAAI,GAAG,CAAC;QAEtD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACxD,IAAI,CAAC;gBACJ,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAA2B;oBACvC,cAAc,EAAE,kBAAkB;iBAClC,CAAC;gBAEF,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;oBAC7B,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;gBAChD,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrD,CAAC;gBAED,IAAI,QAAkB,CAAC;gBAEvB,IAAI,CAAC;oBACJ,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;wBAC3B,MAAM;wBACN,OAAO;wBACP,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;qBAC3D,CAAC,CAAC;gBACJ,CAAC;gBAAC,OAAO,EAAE,EAAE,CAAC;oBACb,MAAM,GAAG,GAAG,EAAqC,CAAC;oBAClD,IAAI,SAAS,GAAG,KAAK,CAAC;oBACtB,qCAAqC;oBACrC,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBACrE,SAAS,GAAG,IAAI,CAAC;oBAClB,CAAC;yBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,EAAE,YAAY,SAAS,EAAE,CAAC;wBAChE,0DAA0D;wBAC1D,SAAS,GAAG,IAAI,CAAC;oBAClB,CAAC;oBACD,IAAI,SAAS,EAAE,CAAC;wBACf,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;oBAChD,CAAC;yBAAM,CAAC;wBACP,MAAM,IAAI,QAAQ,CAAC;4BAClB,GAAG;4BACH,MAAM,EAAE,CAAC;4BACT,KAAK,EAAE,EAAE;yBACT,CAAC,CAAC;oBACJ,CAAC;gBACF,CAAC;gBAED,oEAAoE;gBACpE,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC1C,IAAI,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;oBACzE,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;oBAExD,wCAAwC;oBACxC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;wBAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;wBACzD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;4BAC7B,OAAO,GAAG,cAAc,CAAC;4BACzB,IAAI,CAAC,OAAO,CAAC,KAAK,CACjB,4CAA4C,OAAO,eAAe,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,GAAG,CAClG,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACP,IAAI,CAAC,OAAO,CAAC,KAAK,CACjB,kCAAkC,OAAO,eAAe,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,GAAG,CACxF,CAAC;wBACH,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,IAAI,CAAC,OAAO,CAAC,KAAK,CACjB,OAAO,QAAQ,CAAC,MAAM,uBAAuB,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,GAAG,CAC7E,CAAC;oBACH,CAAC;oBAED,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC3B,SAAS;gBACV,CAAC;gBAED,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAEvD,yBAAyB;gBACzB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAClB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAE3C,IAAI,SAAqD,CAAC;oBAE1D,IAAI,CAAC;wBACJ,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBAChD,CAAC;oBAAC,MAAM,CAAC;wBACR,aAAa;oBACd,CAAC;oBAED,6CAA6C;oBAC7C,MAAM,gBAAgB,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;oBACxC,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;wBACpC,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,eAAe,EAAE,CAAC;4BAC3C,gBAAgB,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;wBACpC,CAAC;oBACF,CAAC;oBAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;oBACzC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBAClC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;oBACxC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;oBACtE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC5E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;oBAEhD,mCAAmC;oBACnC,IAAI,SAAS,EAAE,IAAI,KAAK,kBAAkB,EAAE,CAAC;wBAC5C,mCAAmC;wBACnC,IAAI,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;4BACpC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;4BAClE,uEAAuE;4BACvE,kFAAkF;4BAClF,MAAM,IAAI,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;wBAC/C,CAAC;wBAED,MAAM,IAAI,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC/C,CAAC;oBAED,4CAA4C;oBAC5C,IAAI,SAAS,EAAE,KAAK,EAAE,IAAI,KAAK,UAAU,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;wBACrE,MAAM,IAAI,qBAAqB,CAAC;4BAC/B,GAAG;4BACH,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM;4BAC9B,SAAS;yBACT,CAAC,CAAC;oBACJ,CAAC;oBAED,2CAA2C;oBAC3C,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;wBACxB,MAAM,IAAI,QAAQ,CAAC;4BAClB,GAAG;4BACH,MAAM,EAAE,QAAQ,CAAC,MAAM;4BACvB,KAAK,EAAE,SAAS,CAAC,OAAO;4BACxB,SAAS;yBACT,CAAC,CAAC;oBACJ,CAAC;oBAED,MAAM,IAAI,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBACtE,CAAC;gBAED,kEAAkE;gBAClE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC/E,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC5C,CAAC;gBAED,OAAO,QAAQ,CAAC;YACjB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,6CAA6C;gBAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAElD,IAAI,WAAW,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;oBACzC,IAAI,CAAC,OAAO,CAAC,KAAK,CACjB,uCAAuC,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,EACxE,KAAK,CACL,CAAC;oBACF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;oBAC7D,SAAS;gBACV,CAAC;gBAED,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC;QAED,MAAM,IAAI,eAAe,EAAE,CAAC;IAC7B,CAAC;IAED,iBAAiB,CAAC,KAAc;QAC/B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,KAA0C,CAAC;YACvD,8BAA8B;YAC9B,OAAO,CACN,GAAG,CAAC,IAAI,KAAK,YAAY;gBACzB,GAAG,CAAC,IAAI,KAAK,WAAW;gBACxB,GAAG,CAAC,IAAI,KAAK,cAAc;gBAC3B,GAAG,CAAC,IAAI,KAAK,WAAW,CACxB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,cAAc,CAAC,OAAe,EAAE,WAAmB;QAClD,qFAAqF;QACrF,MAAM,gBAAgB,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;QACzC,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,EAAU;QAChB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,kBAAkB,CAAC,QAAkB;QACpC,+CAA+C;QAC/C,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,UAAU,EAAE,CAAC;YAChB,qCAAqC;YACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrB,OAAO,OAAO,GAAG,IAAI,CAAC,CAAC,0BAA0B;YAClD,CAAC;YACD,2BAA2B;YAC3B,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC7B,CAAC;QACF,CAAC;QAED,0DAA0D;QAC1D,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjE,IAAI,cAAc,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC7B,CAAC;QACF,CAAC;QAED,8CAA8C;QAC9C,MAAM,mBAAmB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAC5E,IAAI,mBAAmB,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrB,OAAO,OAAO,GAAG,IAAI,CAAC;YACvB,CAAC;QACF,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AAED,MAAM,UAAU,aAAa,CAAC,SAAgC;IAC7D,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACtC,CAAC;IAED,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,OAAO,2BAA2B,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAgC;IAC7D,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACtC,CAAC;IAED,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,OAAO,2BAA2B,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAsB,UAAa,EAAE,EAAE,CACvE,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;IAC/B,CAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC,CAAC,OAAO,CAAQ,KAAK,CAAC;QAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;KACjD,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC,CAAC,OAAO,CAAO,IAAI,CAAC;QAC9B,IAAI,EAAE,UAAU;KAChB,CAAC;CACF,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAsB,UAAa,EAAE,EAAE,CACnF,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;IAC/B,CAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC,CAAC,OAAO,CAAQ,KAAK,CAAC;QAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;KACjD,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC,CAAC,OAAO,CAAO,IAAI,CAAC;QAC9B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;KAC3B,CAAC;CACF,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAC3C,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;IAC/B,CAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC,CAAC,OAAO,CAAQ,KAAK,CAAC;QAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;KACjD,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC,CAAC,OAAO,CAAO,IAAI,CAAC;KAC9B,CAAC;CACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { dbLogs, DbQueryLogSchema, type DbQueryLog, type DbQueryLogs } from './logs';
|
|
2
|
+
export { dbTables, generateCreateTableSQL, TableSchemaSchema, type TableColumn, type TableSchema, } from './tables';
|
|
3
|
+
export { dbQuery, type QueryColumn, type QueryResult } from './query';
|
|
4
|
+
export { DbResponseError, DbInvalidArgumentError } from './util';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrF,OAAO,EACN,QAAQ,EACR,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { dbLogs, DbQueryLogSchema } from './logs';
|
|
2
|
+
export { dbTables, generateCreateTableSQL, TableSchemaSchema, } from './tables';
|
|
3
|
+
export { dbQuery } from './query';
|
|
4
|
+
export { DbResponseError, DbInvalidArgumentError } from './util';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAqC,MAAM,QAAQ,CAAC;AACrF,OAAO,EACN,QAAQ,EACR,sBAAsB,EACtB,iBAAiB,GAGjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,OAAO,EAAsC,MAAM,SAAS,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIClient } from '../api';
|
|
3
|
+
declare const _DbLogsRequestSchema: z.ZodObject<{
|
|
4
|
+
database: z.ZodString;
|
|
5
|
+
orgId: z.ZodString;
|
|
6
|
+
region: z.ZodString;
|
|
7
|
+
startDate: z.ZodOptional<z.ZodString>;
|
|
8
|
+
endDate: z.ZodOptional<z.ZodString>;
|
|
9
|
+
username: z.ZodOptional<z.ZodString>;
|
|
10
|
+
command: z.ZodOptional<z.ZodString>;
|
|
11
|
+
hasError: z.ZodOptional<z.ZodBoolean>;
|
|
12
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
13
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
export declare const DbQueryLogSchema: z.ZodObject<{
|
|
16
|
+
timestamp: z.ZodString;
|
|
17
|
+
username: z.ZodString;
|
|
18
|
+
database: z.ZodString;
|
|
19
|
+
duration: z.ZodNumber;
|
|
20
|
+
txStatus: z.ZodString;
|
|
21
|
+
command: z.ZodString;
|
|
22
|
+
rowCount: z.ZodNumber;
|
|
23
|
+
sql: z.ZodString;
|
|
24
|
+
error: z.ZodOptional<z.ZodString>;
|
|
25
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
type DbLogsRequest = z.infer<typeof _DbLogsRequestSchema>;
|
|
28
|
+
export type DbQueryLog = z.infer<typeof DbQueryLogSchema>;
|
|
29
|
+
export type DbQueryLogs = DbQueryLog[];
|
|
30
|
+
/**
|
|
31
|
+
* Get query logs for a database from the App API
|
|
32
|
+
*
|
|
33
|
+
* @param client APIClient configured for the App API base URL
|
|
34
|
+
* @param request
|
|
35
|
+
* @returns
|
|
36
|
+
*/
|
|
37
|
+
export declare function dbLogs(client: APIClient, request: DbLogsRequest): Promise<DbQueryLogs>;
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=logs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/api/db/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAqB,MAAM,QAAQ,CAAC;AAGtD,QAAA,MAAM,oBAAoB;;;;;;;;;;;iBAWxB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;iBAW3B,CAAC;AAMH,KAAK,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAG1D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,UAAU,EAAE,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAsB,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CA2B5F"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIResponseSchema } from '../api';
|
|
3
|
+
import { DbInvalidArgumentError, DbResponseError } from './util';
|
|
4
|
+
const _DbLogsRequestSchema = z.object({
|
|
5
|
+
database: z.string().describe('the database name'),
|
|
6
|
+
orgId: z.string().describe('the organization ID'),
|
|
7
|
+
region: z.string().describe('the region'),
|
|
8
|
+
startDate: z.string().optional().describe('start date filter'),
|
|
9
|
+
endDate: z.string().optional().describe('end date filter'),
|
|
10
|
+
username: z.string().optional().describe('username filter'),
|
|
11
|
+
command: z.string().optional().describe('command filter'),
|
|
12
|
+
hasError: z.boolean().optional().describe('filter by error status'),
|
|
13
|
+
sessionId: z.string().optional().describe('filter by session ID (trace ID)'),
|
|
14
|
+
limit: z.number().optional().describe('maximum number of logs to return'),
|
|
15
|
+
});
|
|
16
|
+
export const DbQueryLogSchema = z.object({
|
|
17
|
+
timestamp: z.string().describe('log timestamp'),
|
|
18
|
+
username: z.string().describe('username'),
|
|
19
|
+
database: z.string().describe('database name'),
|
|
20
|
+
duration: z.number().describe('query duration in milliseconds'),
|
|
21
|
+
txStatus: z.string().describe('transaction status'),
|
|
22
|
+
command: z.string().describe('SQL command type'),
|
|
23
|
+
rowCount: z.number().describe('number of rows affected'),
|
|
24
|
+
sql: z.string().describe('SQL query'),
|
|
25
|
+
error: z.string().optional().describe('error message if any'),
|
|
26
|
+
sessionId: z.string().optional().describe('session ID with sess_ prefix'),
|
|
27
|
+
});
|
|
28
|
+
const DbLogsResponse = z.array(DbQueryLogSchema);
|
|
29
|
+
const DbLogsResponseSchema = APIResponseSchema(DbLogsResponse);
|
|
30
|
+
/**
|
|
31
|
+
* Get query logs for a database from the App API
|
|
32
|
+
*
|
|
33
|
+
* @param client APIClient configured for the App API base URL
|
|
34
|
+
* @param request
|
|
35
|
+
* @returns
|
|
36
|
+
*/
|
|
37
|
+
export async function dbLogs(client, request) {
|
|
38
|
+
const { database, orgId, region, ...filters } = request;
|
|
39
|
+
if (!orgId || !region) {
|
|
40
|
+
throw new DbInvalidArgumentError({ message: 'orgId and region are required', orgId, region });
|
|
41
|
+
}
|
|
42
|
+
const params = new URLSearchParams();
|
|
43
|
+
Object.entries(filters).forEach(([key, value]) => {
|
|
44
|
+
if (value !== undefined) {
|
|
45
|
+
params.append(key, String(value));
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
const queryString = params.toString();
|
|
49
|
+
const url = `/resource/2025-03-17/${orgId}/${region}/${database}/logs${queryString ? `?${queryString}` : ''}`;
|
|
50
|
+
const resp = await client.request('GET', url, DbLogsResponseSchema);
|
|
51
|
+
if (resp.success) {
|
|
52
|
+
return resp.data;
|
|
53
|
+
}
|
|
54
|
+
throw new DbResponseError({
|
|
55
|
+
database,
|
|
56
|
+
message: resp.message || 'Failed to fetch database logs',
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=logs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/api/db/logs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIClient } from '../api';
|
|
3
|
+
declare const QueryColumnSchema: z.ZodObject<{
|
|
4
|
+
name: z.ZodString;
|
|
5
|
+
type: z.ZodString;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
export declare const QueryResultSchema: z.ZodObject<{
|
|
8
|
+
columns: z.ZodArray<z.ZodObject<{
|
|
9
|
+
name: z.ZodString;
|
|
10
|
+
type: z.ZodString;
|
|
11
|
+
}, z.core.$strip>>;
|
|
12
|
+
rows: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
13
|
+
rowCount: z.ZodNumber;
|
|
14
|
+
truncated: z.ZodBoolean;
|
|
15
|
+
}, z.core.$strip>;
|
|
16
|
+
export type QueryColumn = z.infer<typeof QueryColumnSchema>;
|
|
17
|
+
export type QueryResult = z.infer<typeof QueryResultSchema>;
|
|
18
|
+
interface DbQueryRequest {
|
|
19
|
+
database: string;
|
|
20
|
+
query: string;
|
|
21
|
+
orgId: string;
|
|
22
|
+
region: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function dbQuery(client: APIClient, request: DbQueryRequest): Promise<QueryResult>;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/api/db/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAY,MAAM,QAAQ,CAAC;AAG7C,QAAA,MAAM,iBAAiB;;;iBAGrB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;iBAK5B,CAAC;AAQH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,UAAU,cAAc;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAkC9F"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIError } from '../api';
|
|
3
|
+
import { DbInvalidArgumentError, DbResponseError } from './util';
|
|
4
|
+
const QueryColumnSchema = z.object({
|
|
5
|
+
name: z.string().describe('column name'),
|
|
6
|
+
type: z.string().describe('PostgreSQL data type OID'),
|
|
7
|
+
});
|
|
8
|
+
export const QueryResultSchema = z.object({
|
|
9
|
+
columns: z.array(QueryColumnSchema).describe('column metadata'),
|
|
10
|
+
rows: z.array(z.record(z.string(), z.any())).describe('query result rows'),
|
|
11
|
+
rowCount: z.number().describe('number of rows returned'),
|
|
12
|
+
truncated: z.boolean().describe('whether results were truncated (max 1000 rows)'),
|
|
13
|
+
});
|
|
14
|
+
const QueryResponseSchema = z.object({
|
|
15
|
+
success: z.boolean(),
|
|
16
|
+
message: z.string().optional(),
|
|
17
|
+
data: QueryResultSchema.optional(),
|
|
18
|
+
});
|
|
19
|
+
export async function dbQuery(client, request) {
|
|
20
|
+
const { database, query, orgId, region } = request;
|
|
21
|
+
if (!orgId || !region) {
|
|
22
|
+
throw new DbInvalidArgumentError({ message: 'orgId and region are required', orgId, region });
|
|
23
|
+
}
|
|
24
|
+
if (!query) {
|
|
25
|
+
throw new DbInvalidArgumentError({ message: 'query is required', query });
|
|
26
|
+
}
|
|
27
|
+
const url = `/resource/2025-03-17/${orgId}/${region}/${database}/query`;
|
|
28
|
+
try {
|
|
29
|
+
const resp = await client.request('POST', url, QueryResponseSchema, { query });
|
|
30
|
+
if (resp.success && resp.data) {
|
|
31
|
+
return resp.data;
|
|
32
|
+
}
|
|
33
|
+
throw new DbResponseError({
|
|
34
|
+
database,
|
|
35
|
+
message: resp.message ?? 'Failed to execute database query',
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
catch (ex) {
|
|
39
|
+
if (ex instanceof APIError) {
|
|
40
|
+
let message = ex.message;
|
|
41
|
+
if (message?.startsWith('failed to execute query: ')) {
|
|
42
|
+
message = message.substring(25);
|
|
43
|
+
}
|
|
44
|
+
throw new DbResponseError({ database, message });
|
|
45
|
+
}
|
|
46
|
+
throw ex;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/api/db/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAa,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEjE,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;CACrD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC/D,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC1E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACxD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CACjF,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAYH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAiB,EAAE,OAAuB;IACvE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEnD,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,GAAG,GAAG,wBAAwB,KAAK,IAAI,MAAM,IAAI,QAAQ,QAAQ,CAAC;IAExE,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAE/E,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,IAAI,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,eAAe,CAAC;YACzB,QAAQ;YACR,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,kCAAkC;SAC3D,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACb,IAAI,EAAE,YAAY,QAAQ,EAAE,CAAC;YAC5B,IAAI,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;YACzB,IAAI,OAAO,EAAE,UAAU,CAAC,2BAA2B,CAAC,EAAE,CAAC;gBACtD,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC;YACD,MAAM,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,EAAE,CAAC;IACV,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIClient } from '../api';
|
|
3
|
+
declare const TableColumnSchema: z.ZodObject<{
|
|
4
|
+
name: z.ZodString;
|
|
5
|
+
data_type: z.ZodString;
|
|
6
|
+
is_nullable: z.ZodBoolean;
|
|
7
|
+
default_value: z.ZodOptional<z.ZodString>;
|
|
8
|
+
is_primary_key: z.ZodBoolean;
|
|
9
|
+
}, z.core.$strip>;
|
|
10
|
+
export declare const TableSchemaSchema: z.ZodObject<{
|
|
11
|
+
table_name: z.ZodString;
|
|
12
|
+
columns: z.ZodArray<z.ZodObject<{
|
|
13
|
+
name: z.ZodString;
|
|
14
|
+
data_type: z.ZodString;
|
|
15
|
+
is_nullable: z.ZodBoolean;
|
|
16
|
+
default_value: z.ZodOptional<z.ZodString>;
|
|
17
|
+
is_primary_key: z.ZodBoolean;
|
|
18
|
+
}, z.core.$strip>>;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
export type TableColumn = z.infer<typeof TableColumnSchema>;
|
|
21
|
+
export type TableSchema = z.infer<typeof TableSchemaSchema>;
|
|
22
|
+
interface DbTablesRequest {
|
|
23
|
+
database: string;
|
|
24
|
+
orgId: string;
|
|
25
|
+
region: string;
|
|
26
|
+
}
|
|
27
|
+
export declare function dbTables(client: APIClient, request: DbTablesRequest): Promise<TableSchema[]>;
|
|
28
|
+
export declare function generateCreateTableSQL(table: TableSchema): string;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=tables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../src/api/db/tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAqB,MAAM,QAAQ,CAAC;AAGtD,QAAA,MAAM,iBAAiB;;;;;;iBAMrB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;iBAG5B,CAAC;AAQH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,UAAU,eAAe;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,QAAQ,CAC7B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,eAAe,GACtB,OAAO,CAAC,WAAW,EAAE,CAAC,CAmBxB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAmCjE"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIResponseSchema } from '../api';
|
|
3
|
+
import { DbInvalidArgumentError, DbResponseError } from './util';
|
|
4
|
+
const TableColumnSchema = z.object({
|
|
5
|
+
name: z.string().describe('column name'),
|
|
6
|
+
data_type: z.string().describe('PostgreSQL data type'),
|
|
7
|
+
is_nullable: z.boolean().describe('whether the column is nullable'),
|
|
8
|
+
default_value: z.string().optional().describe('default value'),
|
|
9
|
+
is_primary_key: z.boolean().describe('whether this column is part of the primary key'),
|
|
10
|
+
});
|
|
11
|
+
export const TableSchemaSchema = z.object({
|
|
12
|
+
table_name: z.string().describe('table name'),
|
|
13
|
+
columns: z.array(TableColumnSchema).describe('table columns'),
|
|
14
|
+
});
|
|
15
|
+
const TablesResponseSchema = APIResponseSchema(z.object({
|
|
16
|
+
tables: z.array(TableSchemaSchema),
|
|
17
|
+
}));
|
|
18
|
+
export async function dbTables(client, request) {
|
|
19
|
+
const { database, orgId, region } = request;
|
|
20
|
+
if (!orgId || !region) {
|
|
21
|
+
throw new DbInvalidArgumentError({ message: 'orgId and region are required', orgId, region });
|
|
22
|
+
}
|
|
23
|
+
const url = `/resource/2025-03-17/${orgId}/${region}/${database}/tables`;
|
|
24
|
+
const resp = await client.request('GET', url, TablesResponseSchema);
|
|
25
|
+
if (resp.success) {
|
|
26
|
+
return resp.data.tables;
|
|
27
|
+
}
|
|
28
|
+
throw new DbResponseError({
|
|
29
|
+
database,
|
|
30
|
+
message: resp.message || 'Failed to fetch database tables',
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
export function generateCreateTableSQL(table) {
|
|
34
|
+
const lines = [`CREATE TABLE ${table.table_name} (`];
|
|
35
|
+
// Collect primary key columns
|
|
36
|
+
const primaryKeyColumns = [];
|
|
37
|
+
const columnDefs = table.columns.map((col) => {
|
|
38
|
+
let def = ` ${col.name} ${col.data_type}`;
|
|
39
|
+
if (!col.is_nullable) {
|
|
40
|
+
def += ' NOT NULL';
|
|
41
|
+
}
|
|
42
|
+
if (col.default_value) {
|
|
43
|
+
def += ` DEFAULT ${col.default_value}`;
|
|
44
|
+
}
|
|
45
|
+
if (col.is_primary_key) {
|
|
46
|
+
primaryKeyColumns.push(col.name);
|
|
47
|
+
}
|
|
48
|
+
return def;
|
|
49
|
+
});
|
|
50
|
+
lines.push(columnDefs.join(',\n'));
|
|
51
|
+
// Add table-level PRIMARY KEY constraint if any columns are marked as primary keys
|
|
52
|
+
if (primaryKeyColumns.length > 0) {
|
|
53
|
+
lines.push(',');
|
|
54
|
+
lines.push(` PRIMARY KEY (${primaryKeyColumns.join(', ')})`);
|
|
55
|
+
}
|
|
56
|
+
lines.push(');');
|
|
57
|
+
return lines.join('\n');
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=tables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../src/api/db/tables.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare const DbResponseError: {
|
|
2
|
+
new (args?: ({
|
|
3
|
+
database: string;
|
|
4
|
+
} & {
|
|
5
|
+
message?: string;
|
|
6
|
+
cause?: unknown;
|
|
7
|
+
}) | undefined): import("@agentuity/core").RichError & {
|
|
8
|
+
readonly _tag: "DbResponseError";
|
|
9
|
+
} & Readonly<{
|
|
10
|
+
database: string;
|
|
11
|
+
}>;
|
|
12
|
+
readonly defaultMessage?: string;
|
|
13
|
+
};
|
|
14
|
+
export declare const DbInvalidArgumentError: {
|
|
15
|
+
new (args?: ({
|
|
16
|
+
orgId?: string;
|
|
17
|
+
region?: string;
|
|
18
|
+
query?: string;
|
|
19
|
+
} & {
|
|
20
|
+
message?: string;
|
|
21
|
+
cause?: unknown;
|
|
22
|
+
}) | undefined): import("@agentuity/core").RichError & {
|
|
23
|
+
readonly _tag: "DbInvalidArgumentError";
|
|
24
|
+
} & Readonly<{
|
|
25
|
+
orgId?: string;
|
|
26
|
+
region?: string;
|
|
27
|
+
query?: string;
|
|
28
|
+
}>;
|
|
29
|
+
readonly defaultMessage?: string;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/api/db/util.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;kBAAkD,MAAM;;;;;;;kBAAN,MAAM;;;CAAK,CAAC;AAE1F,eAAO,MAAM,sBAAsB;;gBAC1B,MAAM;iBACL,MAAM;gBACP,MAAM;;;;;;;gBAFN,MAAM;iBACL,MAAM;gBACP,MAAM;;;CACX,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/api/db/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC,iBAAiB,CAAC,EAAwB,CAAC;AAE1F,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC,wBAAwB,CAAC,EAI3E,CAAC"}
|
package/dist/api/index.d.ts
CHANGED
package/dist/api/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
|
package/dist/api/index.js
CHANGED
package/dist/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
|
|
@@ -14,6 +14,7 @@ declare const ResourceListResponse: z.ZodObject<{
|
|
|
14
14
|
username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
15
15
|
password: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
16
16
|
url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
17
|
+
logical_databases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
17
18
|
}, z.core.$strip>>;
|
|
18
19
|
}, z.core.$strip>;
|
|
19
20
|
declare const ResourceListResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -35,6 +36,7 @@ declare const ResourceListResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
35
36
|
username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
36
37
|
password: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
37
38
|
url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
39
|
+
logical_databases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
38
40
|
}, z.core.$strip>>;
|
|
39
41
|
}, z.core.$strip>;
|
|
40
42
|
}, z.core.$strip>], "success">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/api/region/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAqB,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGtD,QAAA,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/api/region/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAqB,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGtD,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;iBAoBxB,CAAC;AACH,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;8BAA0C,CAAC;AAE3E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEhE;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAClC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC,CAUvB"}
|
|
@@ -15,6 +15,7 @@ const ResourceListResponse = z.object({
|
|
|
15
15
|
username: z.string().nullable().optional().describe('the database username'),
|
|
16
16
|
password: z.string().nullable().optional().describe('the database password'),
|
|
17
17
|
url: z.string().nullable().optional().describe('the full database connection URL'),
|
|
18
|
+
logical_databases: z.array(z.string()).optional().describe('list of logical databases'),
|
|
18
19
|
})),
|
|
19
20
|
});
|
|
20
21
|
const ResourceListResponseSchema = APIResponseSchema(ResourceListResponse);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../src/api/region/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAa,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,CAAC,CAAC,KAAK,CACV,CAAC,CAAC,MAAM,CAAC;QACR,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACtD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC1E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC1E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QAClE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACtE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;KAChE,CAAC,CACF;IACD,EAAE,EAAE,CAAC,CAAC,KAAK,CACV,CAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC9C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC5E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC5E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../src/api/region/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAa,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,CAAC,CAAC,KAAK,CACV,CAAC,CAAC,MAAM,CAAC;QACR,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACtD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC1E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC1E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QAClE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACtE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;KAChE,CAAC,CACF;IACD,EAAE,EAAE,CAAC,CAAC,KAAK,CACV,CAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC9C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC5E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC5E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAClF,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;KACvF,CAAC,CACF;CACD,CAAC,CAAC;AACH,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AAK3E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,MAAiB,EACjB,KAAa,EACb,MAAc;IAEd,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAChC,KAAK,EACL,wBAAwB,KAAK,IAAI,MAAM,EAAE,EACzC,0BAA0B,CAC1B,CAAC;IACF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentuity/server",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.65",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "Agentuity employees and contributors",
|
|
6
6
|
"type": "module",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"prepublishOnly": "bun run clean && bun run build"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@agentuity/core": "0.0.
|
|
28
|
+
"@agentuity/core": "0.0.65",
|
|
29
29
|
"zod": "^4.1.12"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
package/src/api/api.ts
CHANGED
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
* API Client for Agentuity Platform
|
|
3
3
|
*
|
|
4
4
|
* Handles HTTP requests to the API with automatic error parsing and User-Agent headers.
|
|
5
|
-
*
|
|
6
|
-
* Error handling:
|
|
7
|
-
* - UPGRADE_REQUIRED (409): Throws UpgradeRequiredError
|
|
8
|
-
* - Other errors: Throws Error with API message or status text
|
|
9
5
|
*/
|
|
10
6
|
|
|
11
7
|
import { z } from 'zod';
|
|
@@ -17,6 +13,7 @@ export interface APIClientConfig {
|
|
|
17
13
|
userAgent?: string;
|
|
18
14
|
maxRetries?: number;
|
|
19
15
|
retryDelayMs?: number;
|
|
16
|
+
headers?: Record<string, string>;
|
|
20
17
|
}
|
|
21
18
|
|
|
22
19
|
const ZodIssuesSchema = z.array(
|
|
@@ -43,19 +40,20 @@ const APIErrorSchema = z.object({
|
|
|
43
40
|
success: z.boolean(),
|
|
44
41
|
code: z.string().optional(),
|
|
45
42
|
message: z.string().optional(),
|
|
46
|
-
error: z
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
43
|
+
error: z
|
|
44
|
+
.union([
|
|
45
|
+
z.string(),
|
|
46
|
+
z.object({
|
|
47
|
+
name: z.string().optional(),
|
|
48
|
+
issues: ZodIssuesSchema.optional(),
|
|
49
|
+
}),
|
|
50
|
+
])
|
|
51
|
+
.optional(),
|
|
50
52
|
details: z.record(z.string(), z.unknown()).optional(),
|
|
51
53
|
});
|
|
52
54
|
|
|
53
|
-
export const APIError = StructuredError(
|
|
54
|
-
'APIErrorResponse',
|
|
55
|
-
'The API encountered an unexpected error attempting to reach the service.'
|
|
56
|
-
)<{
|
|
55
|
+
export const APIError = StructuredError('APIErrorResponse')<{
|
|
57
56
|
url: string;
|
|
58
|
-
error?: string;
|
|
59
57
|
status: number;
|
|
60
58
|
sessionId?: string | null;
|
|
61
59
|
}>();
|
|
@@ -175,7 +173,7 @@ export class APIClient {
|
|
|
175
173
|
}
|
|
176
174
|
|
|
177
175
|
async #makeRequest(method: string, endpoint: string, body?: unknown): Promise<Response> {
|
|
178
|
-
this.#logger.trace('sending %s to %s', method, endpoint);
|
|
176
|
+
this.#logger.trace('sending %s to %s%s', method, this.#baseUrl, endpoint);
|
|
179
177
|
|
|
180
178
|
const maxRetries = this.#config?.maxRetries ?? 3;
|
|
181
179
|
const baseDelayMs = this.#config?.retryDelayMs ?? 100;
|
|
@@ -185,6 +183,7 @@ export class APIClient {
|
|
|
185
183
|
const url = `${this.#baseUrl}${endpoint}`;
|
|
186
184
|
const headers: Record<string, string> = {
|
|
187
185
|
'Content-Type': 'application/json',
|
|
186
|
+
Accept: 'application/json',
|
|
188
187
|
};
|
|
189
188
|
|
|
190
189
|
if (this.#config?.userAgent) {
|
|
@@ -195,6 +194,12 @@ export class APIClient {
|
|
|
195
194
|
headers['Authorization'] = `Bearer ${this.#apiKey}`;
|
|
196
195
|
}
|
|
197
196
|
|
|
197
|
+
if (this.#config?.headers) {
|
|
198
|
+
Object.keys(this.#config.headers).forEach(
|
|
199
|
+
(key) => (headers[key] = this.#config!.headers![key])
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
|
|
198
203
|
let response: Response;
|
|
199
204
|
|
|
200
205
|
try {
|
|
@@ -261,9 +266,12 @@ export class APIClient {
|
|
|
261
266
|
let errorData: z.infer<typeof APIErrorSchema> | undefined;
|
|
262
267
|
|
|
263
268
|
try {
|
|
264
|
-
errorData = APIErrorSchema.parse(responseBody);
|
|
265
|
-
} catch {
|
|
266
|
-
|
|
269
|
+
errorData = APIErrorSchema.parse(JSON.parse(responseBody));
|
|
270
|
+
} catch (parseEx) {
|
|
271
|
+
this.#logger.warn(
|
|
272
|
+
'parsing response data against APIError schema failed: %s',
|
|
273
|
+
parseEx
|
|
274
|
+
);
|
|
267
275
|
}
|
|
268
276
|
|
|
269
277
|
// Sanitize headers to avoid leaking API keys
|
|
@@ -295,7 +303,11 @@ export class APIClient {
|
|
|
295
303
|
}
|
|
296
304
|
|
|
297
305
|
// Handle Zod validation errors from the API
|
|
298
|
-
if (
|
|
306
|
+
if (
|
|
307
|
+
typeof errorData?.error === 'object' &&
|
|
308
|
+
errorData?.error?.name === 'ZodError' &&
|
|
309
|
+
errorData.error.issues
|
|
310
|
+
) {
|
|
299
311
|
throw new ValidationOutputError({
|
|
300
312
|
url,
|
|
301
313
|
issues: errorData.error.issues,
|
|
@@ -308,12 +320,22 @@ export class APIClient {
|
|
|
308
320
|
throw new APIError({
|
|
309
321
|
url,
|
|
310
322
|
status: response.status,
|
|
311
|
-
|
|
323
|
+
message:
|
|
324
|
+
typeof errorData.error === 'string'
|
|
325
|
+
? errorData.error
|
|
326
|
+
: (errorData.message ??
|
|
327
|
+
'The API encountered an unexpected error attempting to reach the service.'),
|
|
312
328
|
sessionId,
|
|
313
329
|
});
|
|
314
330
|
}
|
|
315
331
|
|
|
316
|
-
throw new APIError({
|
|
332
|
+
throw new APIError({
|
|
333
|
+
message:
|
|
334
|
+
'The API encountered an unexpected error attempting to reach the service.',
|
|
335
|
+
url: url,
|
|
336
|
+
status: response.status,
|
|
337
|
+
sessionId,
|
|
338
|
+
});
|
|
317
339
|
}
|
|
318
340
|
|
|
319
341
|
// Successful response; handle empty bodies (e.g., 204 No Content)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { dbLogs, DbQueryLogSchema, type DbQueryLog, type DbQueryLogs } from './logs';
|
|
2
|
+
export {
|
|
3
|
+
dbTables,
|
|
4
|
+
generateCreateTableSQL,
|
|
5
|
+
TableSchemaSchema,
|
|
6
|
+
type TableColumn,
|
|
7
|
+
type TableSchema,
|
|
8
|
+
} from './tables';
|
|
9
|
+
export { dbQuery, type QueryColumn, type QueryResult } from './query';
|
|
10
|
+
export { DbResponseError, DbInvalidArgumentError } from './util';
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIClient, APIResponseSchema } from '../api';
|
|
3
|
+
import { DbInvalidArgumentError, DbResponseError } from './util';
|
|
4
|
+
|
|
5
|
+
const _DbLogsRequestSchema = z.object({
|
|
6
|
+
database: z.string().describe('the database name'),
|
|
7
|
+
orgId: z.string().describe('the organization ID'),
|
|
8
|
+
region: z.string().describe('the region'),
|
|
9
|
+
startDate: z.string().optional().describe('start date filter'),
|
|
10
|
+
endDate: z.string().optional().describe('end date filter'),
|
|
11
|
+
username: z.string().optional().describe('username filter'),
|
|
12
|
+
command: z.string().optional().describe('command filter'),
|
|
13
|
+
hasError: z.boolean().optional().describe('filter by error status'),
|
|
14
|
+
sessionId: z.string().optional().describe('filter by session ID (trace ID)'),
|
|
15
|
+
limit: z.number().optional().describe('maximum number of logs to return'),
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
export const DbQueryLogSchema = z.object({
|
|
19
|
+
timestamp: z.string().describe('log timestamp'),
|
|
20
|
+
username: z.string().describe('username'),
|
|
21
|
+
database: z.string().describe('database name'),
|
|
22
|
+
duration: z.number().describe('query duration in milliseconds'),
|
|
23
|
+
txStatus: z.string().describe('transaction status'),
|
|
24
|
+
command: z.string().describe('SQL command type'),
|
|
25
|
+
rowCount: z.number().describe('number of rows affected'),
|
|
26
|
+
sql: z.string().describe('SQL query'),
|
|
27
|
+
error: z.string().optional().describe('error message if any'),
|
|
28
|
+
sessionId: z.string().optional().describe('session ID with sess_ prefix'),
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
const DbLogsResponse = z.array(DbQueryLogSchema);
|
|
32
|
+
|
|
33
|
+
const DbLogsResponseSchema = APIResponseSchema(DbLogsResponse);
|
|
34
|
+
|
|
35
|
+
type DbLogsRequest = z.infer<typeof _DbLogsRequestSchema>;
|
|
36
|
+
type DbLogsResponse = z.infer<typeof DbLogsResponseSchema>;
|
|
37
|
+
|
|
38
|
+
export type DbQueryLog = z.infer<typeof DbQueryLogSchema>;
|
|
39
|
+
export type DbQueryLogs = DbQueryLog[];
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Get query logs for a database from the App API
|
|
43
|
+
*
|
|
44
|
+
* @param client APIClient configured for the App API base URL
|
|
45
|
+
* @param request
|
|
46
|
+
* @returns
|
|
47
|
+
*/
|
|
48
|
+
export async function dbLogs(client: APIClient, request: DbLogsRequest): Promise<DbQueryLogs> {
|
|
49
|
+
const { database, orgId, region, ...filters } = request;
|
|
50
|
+
|
|
51
|
+
if (!orgId || !region) {
|
|
52
|
+
throw new DbInvalidArgumentError({ message: 'orgId and region are required', orgId, region });
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const params = new URLSearchParams();
|
|
56
|
+
Object.entries(filters).forEach(([key, value]) => {
|
|
57
|
+
if (value !== undefined) {
|
|
58
|
+
params.append(key, String(value));
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
const queryString = params.toString();
|
|
63
|
+
const url = `/resource/2025-03-17/${orgId}/${region}/${database}/logs${queryString ? `?${queryString}` : ''}`;
|
|
64
|
+
|
|
65
|
+
const resp = await client.request<DbLogsResponse>('GET', url, DbLogsResponseSchema);
|
|
66
|
+
|
|
67
|
+
if (resp.success) {
|
|
68
|
+
return resp.data;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
throw new DbResponseError({
|
|
72
|
+
database,
|
|
73
|
+
message: resp.message || 'Failed to fetch database logs',
|
|
74
|
+
});
|
|
75
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIClient, APIError } from '../api';
|
|
3
|
+
import { DbInvalidArgumentError, DbResponseError } from './util';
|
|
4
|
+
|
|
5
|
+
const QueryColumnSchema = z.object({
|
|
6
|
+
name: z.string().describe('column name'),
|
|
7
|
+
type: z.string().describe('PostgreSQL data type OID'),
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
export const QueryResultSchema = z.object({
|
|
11
|
+
columns: z.array(QueryColumnSchema).describe('column metadata'),
|
|
12
|
+
rows: z.array(z.record(z.string(), z.any())).describe('query result rows'),
|
|
13
|
+
rowCount: z.number().describe('number of rows returned'),
|
|
14
|
+
truncated: z.boolean().describe('whether results were truncated (max 1000 rows)'),
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
const QueryResponseSchema = z.object({
|
|
18
|
+
success: z.boolean(),
|
|
19
|
+
message: z.string().optional(),
|
|
20
|
+
data: QueryResultSchema.optional(),
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
export type QueryColumn = z.infer<typeof QueryColumnSchema>;
|
|
24
|
+
export type QueryResult = z.infer<typeof QueryResultSchema>;
|
|
25
|
+
|
|
26
|
+
interface DbQueryRequest {
|
|
27
|
+
database: string;
|
|
28
|
+
query: string;
|
|
29
|
+
orgId: string;
|
|
30
|
+
region: string;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export async function dbQuery(client: APIClient, request: DbQueryRequest): Promise<QueryResult> {
|
|
34
|
+
const { database, query, orgId, region } = request;
|
|
35
|
+
|
|
36
|
+
if (!orgId || !region) {
|
|
37
|
+
throw new DbInvalidArgumentError({ message: 'orgId and region are required', orgId, region });
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (!query) {
|
|
41
|
+
throw new DbInvalidArgumentError({ message: 'query is required', query });
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const url = `/resource/2025-03-17/${orgId}/${region}/${database}/query`;
|
|
45
|
+
|
|
46
|
+
try {
|
|
47
|
+
const resp = await client.request('POST', url, QueryResponseSchema, { query });
|
|
48
|
+
|
|
49
|
+
if (resp.success && resp.data) {
|
|
50
|
+
return resp.data;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
throw new DbResponseError({
|
|
54
|
+
database,
|
|
55
|
+
message: resp.message ?? 'Failed to execute database query',
|
|
56
|
+
});
|
|
57
|
+
} catch (ex) {
|
|
58
|
+
if (ex instanceof APIError) {
|
|
59
|
+
let message = ex.message;
|
|
60
|
+
if (message?.startsWith('failed to execute query: ')) {
|
|
61
|
+
message = message.substring(25);
|
|
62
|
+
}
|
|
63
|
+
throw new DbResponseError({ database, message });
|
|
64
|
+
}
|
|
65
|
+
throw ex;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIClient, APIResponseSchema } from '../api';
|
|
3
|
+
import { DbInvalidArgumentError, DbResponseError } from './util';
|
|
4
|
+
|
|
5
|
+
const TableColumnSchema = z.object({
|
|
6
|
+
name: z.string().describe('column name'),
|
|
7
|
+
data_type: z.string().describe('PostgreSQL data type'),
|
|
8
|
+
is_nullable: z.boolean().describe('whether the column is nullable'),
|
|
9
|
+
default_value: z.string().optional().describe('default value'),
|
|
10
|
+
is_primary_key: z.boolean().describe('whether this column is part of the primary key'),
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
export const TableSchemaSchema = z.object({
|
|
14
|
+
table_name: z.string().describe('table name'),
|
|
15
|
+
columns: z.array(TableColumnSchema).describe('table columns'),
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
const TablesResponseSchema = APIResponseSchema(
|
|
19
|
+
z.object({
|
|
20
|
+
tables: z.array(TableSchemaSchema),
|
|
21
|
+
})
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
export type TableColumn = z.infer<typeof TableColumnSchema>;
|
|
25
|
+
export type TableSchema = z.infer<typeof TableSchemaSchema>;
|
|
26
|
+
|
|
27
|
+
interface DbTablesRequest {
|
|
28
|
+
database: string;
|
|
29
|
+
orgId: string;
|
|
30
|
+
region: string;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export async function dbTables(
|
|
34
|
+
client: APIClient,
|
|
35
|
+
request: DbTablesRequest
|
|
36
|
+
): Promise<TableSchema[]> {
|
|
37
|
+
const { database, orgId, region } = request;
|
|
38
|
+
|
|
39
|
+
if (!orgId || !region) {
|
|
40
|
+
throw new DbInvalidArgumentError({ message: 'orgId and region are required', orgId, region });
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const url = `/resource/2025-03-17/${orgId}/${region}/${database}/tables`;
|
|
44
|
+
|
|
45
|
+
const resp = await client.request('GET', url, TablesResponseSchema);
|
|
46
|
+
|
|
47
|
+
if (resp.success) {
|
|
48
|
+
return resp.data.tables;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
throw new DbResponseError({
|
|
52
|
+
database,
|
|
53
|
+
message: resp.message || 'Failed to fetch database tables',
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function generateCreateTableSQL(table: TableSchema): string {
|
|
58
|
+
const lines: string[] = [`CREATE TABLE ${table.table_name} (`];
|
|
59
|
+
|
|
60
|
+
// Collect primary key columns
|
|
61
|
+
const primaryKeyColumns: string[] = [];
|
|
62
|
+
|
|
63
|
+
const columnDefs = table.columns.map((col) => {
|
|
64
|
+
let def = ` ${col.name} ${col.data_type}`;
|
|
65
|
+
|
|
66
|
+
if (!col.is_nullable) {
|
|
67
|
+
def += ' NOT NULL';
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (col.default_value) {
|
|
71
|
+
def += ` DEFAULT ${col.default_value}`;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
if (col.is_primary_key) {
|
|
75
|
+
primaryKeyColumns.push(col.name);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
return def;
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
lines.push(columnDefs.join(',\n'));
|
|
82
|
+
|
|
83
|
+
// Add table-level PRIMARY KEY constraint if any columns are marked as primary keys
|
|
84
|
+
if (primaryKeyColumns.length > 0) {
|
|
85
|
+
lines.push(',');
|
|
86
|
+
lines.push(` PRIMARY KEY (${primaryKeyColumns.join(', ')})`);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
lines.push(');');
|
|
90
|
+
|
|
91
|
+
return lines.join('\n');
|
|
92
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { StructuredError } from '@agentuity/core';
|
|
2
|
+
|
|
3
|
+
export const DbResponseError = StructuredError('DbResponseError')<{ database: string }>();
|
|
4
|
+
|
|
5
|
+
export const DbInvalidArgumentError = StructuredError('DbInvalidArgumentError')<{
|
|
6
|
+
orgId?: string;
|
|
7
|
+
region?: string;
|
|
8
|
+
query?: string;
|
|
9
|
+
}>();
|
package/src/api/index.ts
CHANGED
|
@@ -19,6 +19,7 @@ const ResourceListResponse = z.object({
|
|
|
19
19
|
username: z.string().nullable().optional().describe('the database username'),
|
|
20
20
|
password: z.string().nullable().optional().describe('the database password'),
|
|
21
21
|
url: z.string().nullable().optional().describe('the full database connection URL'),
|
|
22
|
+
logical_databases: z.array(z.string()).optional().describe('list of logical databases'),
|
|
22
23
|
})
|
|
23
24
|
),
|
|
24
25
|
});
|