@agentuity/server 0.0.67 → 0.0.69

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.
@@ -1 +1 @@
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,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAcvF;AAED,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,MAAM,CAc9F;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"}
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;CA+VrB;AAED,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAcvF;AAED,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,MAAM,CAc9F;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
@@ -181,12 +181,22 @@ export class APIClient {
181
181
  // Handle error responses
182
182
  if (!response.ok) {
183
183
  const responseBody = await response.text();
184
+ const contentType = response.headers.get('content-type');
184
185
  let errorData;
185
- try {
186
- errorData = APIErrorSchema.parse(JSON.parse(responseBody));
186
+ // Only attempt to parse as JSON if the content type indicates JSON
187
+ const isJsonResponse = contentType?.includes('application/json') || contentType?.includes('+json');
188
+ if (isJsonResponse) {
189
+ try {
190
+ errorData = APIErrorSchema.parse(JSON.parse(responseBody));
191
+ }
192
+ catch (parseEx) {
193
+ // Log at debug level since this is a contract violation from the server
194
+ this.#logger.debug('Failed to parse JSON error response from API: %s', parseEx);
195
+ }
187
196
  }
188
- catch (parseEx) {
189
- this.#logger.warn('parsing response data against APIError schema failed: %s', parseEx);
197
+ else {
198
+ // Non-JSON response (e.g., HTML error page), skip structured error parsing
199
+ this.#logger.debug('Received non-JSON error response (content-type: %s), skipping structured error parsing', contentType ?? 'unknown');
190
200
  }
191
201
  // Sanitize headers to avoid leaking API keys
192
202
  const sanitizedHeaders = { ...headers };
@@ -234,8 +244,9 @@ export class APIClient {
234
244
  sessionId,
235
245
  });
236
246
  }
247
+ // Provide status-aware fallback messages when no structured error data is available
237
248
  throw new APIError({
238
- message: 'The API encountered an unexpected error attempting to reach the service.',
249
+ message: this.#getStatusAwareErrorMessage(response.status, isJsonResponse ?? false),
239
250
  url: url,
240
251
  status: response.status,
241
252
  sessionId,
@@ -315,6 +326,35 @@ export class APIClient {
315
326
  }
316
327
  return null;
317
328
  }
329
+ #getStatusAwareErrorMessage(status, isJsonResponse) {
330
+ // Provide helpful, status-specific error messages
331
+ switch (status) {
332
+ case 400:
333
+ return 'The API request was invalid (HTTP 400). Please check your request parameters.';
334
+ case 401:
335
+ return 'Authentication failed (HTTP 401). Please check your credentials or try logging in again.';
336
+ case 403:
337
+ return 'Access denied (HTTP 403). You do not have permission to perform this action.';
338
+ case 404:
339
+ return isJsonResponse
340
+ ? 'The requested resource was not found (HTTP 404).'
341
+ : 'The API endpoint was not found (HTTP 404). Please verify your API URL configuration is correct.';
342
+ case 409:
343
+ return 'A conflict occurred (HTTP 409). The resource may already exist or be in use.';
344
+ case 429:
345
+ return 'Too many requests (HTTP 429). Please wait a moment and try again.';
346
+ case 500:
347
+ return 'The API server encountered an internal error (HTTP 500). Please try again later.';
348
+ case 502:
349
+ return 'The API service is temporarily unavailable (HTTP 502). Please try again later.';
350
+ case 503:
351
+ return 'The API service is currently unavailable (HTTP 503). Please try again later.';
352
+ case 504:
353
+ return 'The API request timed out (HTTP 504). Please try again later.';
354
+ default:
355
+ return `The API returned an unexpected error (HTTP ${status}).`;
356
+ }
357
+ }
318
358
  }
319
359
  export function getAPIBaseURL(region, overrides) {
320
360
  if (process.env.AGENTUITY_API_URL) {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
1
  export * from './list';
2
+ export * from './resources';
3
+ export * from './util';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/org/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/org/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC"}
@@ -1,2 +1,4 @@
1
1
  export * from './list';
2
+ export * from './resources';
3
+ export * from './util';
2
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/org/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/org/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,96 @@
1
+ import { z } from 'zod';
2
+ import { APIClient } from '../api';
3
+ declare const OrgS3Resource: z.ZodObject<{
4
+ bucket_name: z.ZodString;
5
+ access_key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
6
+ secret_key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7
+ region: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8
+ endpoint: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9
+ cloud_region: z.ZodString;
10
+ }, z.core.$strip>;
11
+ declare const OrgDBResource: z.ZodObject<{
12
+ name: z.ZodString;
13
+ username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14
+ password: z.ZodOptional<z.ZodNullable<z.ZodString>>;
15
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
+ logical_databases: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
+ cloud_region: z.ZodString;
18
+ }, z.core.$strip>;
19
+ declare const OrgResourceListResponse: z.ZodObject<{
20
+ s3: z.ZodArray<z.ZodObject<{
21
+ bucket_name: z.ZodString;
22
+ access_key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
+ secret_key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24
+ region: z.ZodOptional<z.ZodNullable<z.ZodString>>;
25
+ endpoint: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
+ cloud_region: z.ZodString;
27
+ }, z.core.$strip>>;
28
+ db: z.ZodArray<z.ZodObject<{
29
+ name: z.ZodString;
30
+ username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
31
+ password: z.ZodOptional<z.ZodNullable<z.ZodString>>;
32
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
33
+ logical_databases: z.ZodOptional<z.ZodArray<z.ZodString>>;
34
+ cloud_region: z.ZodString;
35
+ }, z.core.$strip>>;
36
+ }, z.core.$strip>;
37
+ declare const OrgResourceListResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
38
+ success: z.ZodLiteral<false>;
39
+ message: z.ZodString;
40
+ }, z.core.$strip>, z.ZodObject<{
41
+ success: z.ZodLiteral<true>;
42
+ data: z.ZodObject<{
43
+ s3: z.ZodArray<z.ZodObject<{
44
+ bucket_name: z.ZodString;
45
+ access_key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
46
+ secret_key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
47
+ region: z.ZodOptional<z.ZodNullable<z.ZodString>>;
48
+ endpoint: z.ZodOptional<z.ZodNullable<z.ZodString>>;
49
+ cloud_region: z.ZodString;
50
+ }, z.core.$strip>>;
51
+ db: z.ZodArray<z.ZodObject<{
52
+ name: z.ZodString;
53
+ username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
54
+ password: z.ZodOptional<z.ZodNullable<z.ZodString>>;
55
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
56
+ logical_databases: z.ZodOptional<z.ZodArray<z.ZodString>>;
57
+ cloud_region: z.ZodString;
58
+ }, z.core.$strip>>;
59
+ }, z.core.$strip>;
60
+ }, z.core.$strip>], "success">;
61
+ export type OrgResourceListResponse = z.infer<typeof OrgResourceListResponseSchema>;
62
+ export type OrgResourceList = z.infer<typeof OrgResourceListResponse>;
63
+ export type OrgS3Resource = z.infer<typeof OrgS3Resource>;
64
+ export type OrgDBResource = z.infer<typeof OrgDBResource>;
65
+ export interface ListOrgResourcesOptions {
66
+ /** Filter by resource type (default: "all") */
67
+ type?: 'all' | 's3' | 'db';
68
+ /** Include logical databases in DB resources (default: true) */
69
+ includeLogicalDbs?: boolean;
70
+ }
71
+ /**
72
+ * List all resources for the authenticated organization (across all regions)
73
+ * Extracts orgId from authentication context (API key, SDK, or CLI token)
74
+ *
75
+ * @param client - Catalyst API client (must be authenticated)
76
+ * @param options - Optional filters
77
+ * @returns List of S3 and DB resources with their cloud regions
78
+ *
79
+ * @example
80
+ * // Get all resources
81
+ * const all = await listOrgResources(client);
82
+ *
83
+ * @example
84
+ * // Get only S3 buckets
85
+ * const s3Only = await listOrgResources(client, { type: 's3' });
86
+ *
87
+ * @example
88
+ * // Get only DBs without logical databases (faster)
89
+ * const dbsOnly = await listOrgResources(client, {
90
+ * type: 'db',
91
+ * includeLogicalDbs: false
92
+ * });
93
+ */
94
+ export declare function listOrgResources(client: APIClient, options?: ListOrgResourcesOptions): Promise<OrgResourceList>;
95
+ export {};
96
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/api/org/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAqB,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGtD,QAAA,MAAM,aAAa;;;;;;;iBAOjB,CAAC;AAEH,QAAA,MAAM,aAAa;;;;;;;iBAOjB,CAAC;AAEH,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;iBAG3B,CAAC;AAEH,QAAA,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;8BAA6C,CAAC;AAEjF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACtE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,MAAM,WAAW,uBAAuB;IACvC,+CAA+C;IAC/C,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3B,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAqB1B"}
@@ -0,0 +1,64 @@
1
+ import { z } from 'zod';
2
+ import { APIResponseSchema } from '../api';
3
+ import { OrgResourceResponseError } from './util';
4
+ const OrgS3Resource = z.object({
5
+ bucket_name: z.string().describe('the S3 bucket name'),
6
+ access_key: z.string().nullable().optional().describe('the S3 access key'),
7
+ secret_key: z.string().nullable().optional().describe('the S3 secret key'),
8
+ region: z.string().nullable().optional().describe('the S3 region'),
9
+ endpoint: z.string().nullable().optional().describe('the S3 endpoint'),
10
+ cloud_region: z.string().describe('the cloud region where this resource is provisioned'),
11
+ });
12
+ const OrgDBResource = z.object({
13
+ name: z.string().describe('the database name'),
14
+ username: z.string().nullable().optional().describe('the database username'),
15
+ password: z.string().nullable().optional().describe('the database password'),
16
+ url: z.string().nullable().optional().describe('the full database connection URL'),
17
+ logical_databases: z.array(z.string()).optional().describe('list of logical databases'),
18
+ cloud_region: z.string().describe('the cloud region where this resource is provisioned'),
19
+ });
20
+ const OrgResourceListResponse = z.object({
21
+ s3: z.array(OrgS3Resource),
22
+ db: z.array(OrgDBResource),
23
+ });
24
+ const OrgResourceListResponseSchema = APIResponseSchema(OrgResourceListResponse);
25
+ /**
26
+ * List all resources for the authenticated organization (across all regions)
27
+ * Extracts orgId from authentication context (API key, SDK, or CLI token)
28
+ *
29
+ * @param client - Catalyst API client (must be authenticated)
30
+ * @param options - Optional filters
31
+ * @returns List of S3 and DB resources with their cloud regions
32
+ *
33
+ * @example
34
+ * // Get all resources
35
+ * const all = await listOrgResources(client);
36
+ *
37
+ * @example
38
+ * // Get only S3 buckets
39
+ * const s3Only = await listOrgResources(client, { type: 's3' });
40
+ *
41
+ * @example
42
+ * // Get only DBs without logical databases (faster)
43
+ * const dbsOnly = await listOrgResources(client, {
44
+ * type: 'db',
45
+ * includeLogicalDbs: false
46
+ * });
47
+ */
48
+ export async function listOrgResources(client, options) {
49
+ const params = new URLSearchParams();
50
+ if (options?.type && options.type !== 'all') {
51
+ params.set('type', options.type);
52
+ }
53
+ if (options?.includeLogicalDbs === false) {
54
+ params.set('include_logical_dbs', 'false');
55
+ }
56
+ const query = params.toString();
57
+ const url = `/resource/2025-11-16${query ? `?${query}` : ''}`;
58
+ const resp = await client.request('GET', url, OrgResourceListResponseSchema);
59
+ if (resp.success) {
60
+ return resp.data;
61
+ }
62
+ throw new OrgResourceResponseError({ message: resp.message });
63
+ }
64
+ //# sourceMappingURL=resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../src/api/org/resources.ts"],"names":[],"mappings":"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"}
@@ -20,4 +20,26 @@ export declare const OrgResponseError: {
20
20
  } & Readonly<Shape>;
21
21
  readonly defaultMessage?: string;
22
22
  });
23
+ export declare const OrgResourceResponseError: {
24
+ new (args?: {
25
+ message?: string;
26
+ cause?: unknown;
27
+ } | undefined): import("@agentuity/core").RichError & {
28
+ readonly _tag: "OrgResourceResponseError";
29
+ } & Readonly<Record<string, never>>;
30
+ readonly defaultMessage?: string;
31
+ } & (<Shape extends {
32
+ [x: string]: any;
33
+ } = Record<string, never>>() => {
34
+ new (args?: (Shape extends Record<string, never> ? {
35
+ message?: string;
36
+ cause?: unknown;
37
+ } : Shape & {
38
+ message?: string;
39
+ cause?: unknown;
40
+ }) | undefined): import("@agentuity/core").RichError & {
41
+ readonly _tag: "OrgResourceResponseError";
42
+ } & Readonly<Shape>;
43
+ readonly defaultMessage?: string;
44
+ });
23
45
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/api/org/util.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;EAAsC,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/api/org/util.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;EAAsC,CAAC;AACpE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;EAA8C,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import { StructuredError } from '@agentuity/core';
2
2
  export const OrgResponseError = StructuredError('OrgResponseError');
3
+ export const OrgResourceResponseError = StructuredError('OrgResourceResponseError');
3
4
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/api/org/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/api/org/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,wBAAwB,GAAG,eAAe,CAAC,0BAA0B,CAAC,CAAC"}
@@ -3,8 +3,8 @@ import { APIClient } from '../api';
3
3
  declare const CreateResourcesRequest: z.ZodObject<{
4
4
  resources: z.ZodArray<z.ZodObject<{
5
5
  type: z.ZodEnum<{
6
- db: "db";
7
6
  s3: "s3";
7
+ db: "db";
8
8
  }>;
9
9
  name: z.ZodOptional<z.ZodString>;
10
10
  }, z.core.$strip>>;
@@ -3,8 +3,8 @@ import { APIClient } from '../api';
3
3
  declare const DeleteResourcesRequest: z.ZodObject<{
4
4
  resources: z.ZodArray<z.ZodObject<{
5
5
  type: z.ZodEnum<{
6
- db: "db";
7
6
  s3: "s3";
7
+ db: "db";
8
8
  }>;
9
9
  name: z.ZodString;
10
10
  }, z.core.$strip>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentuity/server",
3
- "version": "0.0.67",
3
+ "version": "0.0.69",
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.67",
28
+ "@agentuity/core": "0.0.69",
29
29
  "zod": "^4.1.12"
30
30
  },
31
31
  "devDependencies": {
package/src/api/api.ts CHANGED
@@ -262,15 +262,29 @@ export class APIClient {
262
262
  // Handle error responses
263
263
  if (!response.ok) {
264
264
  const responseBody = await response.text();
265
+ const contentType = response.headers.get('content-type');
265
266
 
266
267
  let errorData: z.infer<typeof APIErrorSchema> | undefined;
267
268
 
268
- try {
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
269
+ // Only attempt to parse as JSON if the content type indicates JSON
270
+ const isJsonResponse =
271
+ contentType?.includes('application/json') || contentType?.includes('+json');
272
+
273
+ if (isJsonResponse) {
274
+ try {
275
+ errorData = APIErrorSchema.parse(JSON.parse(responseBody));
276
+ } catch (parseEx) {
277
+ // Log at debug level since this is a contract violation from the server
278
+ this.#logger.debug(
279
+ 'Failed to parse JSON error response from API: %s',
280
+ parseEx
281
+ );
282
+ }
283
+ } else {
284
+ // Non-JSON response (e.g., HTML error page), skip structured error parsing
285
+ this.#logger.debug(
286
+ 'Received non-JSON error response (content-type: %s), skipping structured error parsing',
287
+ contentType ?? 'unknown'
274
288
  );
275
289
  }
276
290
 
@@ -329,9 +343,12 @@ export class APIClient {
329
343
  });
330
344
  }
331
345
 
346
+ // Provide status-aware fallback messages when no structured error data is available
332
347
  throw new APIError({
333
- message:
334
- 'The API encountered an unexpected error attempting to reach the service.',
348
+ message: this.#getStatusAwareErrorMessage(
349
+ response.status,
350
+ isJsonResponse ?? false
351
+ ),
335
352
  url: url,
336
353
  status: response.status,
337
354
  sessionId,
@@ -427,6 +444,36 @@ export class APIClient {
427
444
 
428
445
  return null;
429
446
  }
447
+
448
+ #getStatusAwareErrorMessage(status: number, isJsonResponse: boolean): string {
449
+ // Provide helpful, status-specific error messages
450
+ switch (status) {
451
+ case 400:
452
+ return 'The API request was invalid (HTTP 400). Please check your request parameters.';
453
+ case 401:
454
+ return 'Authentication failed (HTTP 401). Please check your credentials or try logging in again.';
455
+ case 403:
456
+ return 'Access denied (HTTP 403). You do not have permission to perform this action.';
457
+ case 404:
458
+ return isJsonResponse
459
+ ? 'The requested resource was not found (HTTP 404).'
460
+ : 'The API endpoint was not found (HTTP 404). Please verify your API URL configuration is correct.';
461
+ case 409:
462
+ return 'A conflict occurred (HTTP 409). The resource may already exist or be in use.';
463
+ case 429:
464
+ return 'Too many requests (HTTP 429). Please wait a moment and try again.';
465
+ case 500:
466
+ return 'The API server encountered an internal error (HTTP 500). Please try again later.';
467
+ case 502:
468
+ return 'The API service is temporarily unavailable (HTTP 502). Please try again later.';
469
+ case 503:
470
+ return 'The API service is currently unavailable (HTTP 503). Please try again later.';
471
+ case 504:
472
+ return 'The API request timed out (HTTP 504). Please try again later.';
473
+ default:
474
+ return `The API returned an unexpected error (HTTP ${status}).`;
475
+ }
476
+ }
430
477
  }
431
478
 
432
479
  export function getAPIBaseURL(region?: string, overrides?: { api_url?: string }): string {
@@ -1 +1,3 @@
1
1
  export * from './list';
2
+ export * from './resources';
3
+ export * from './util';
@@ -0,0 +1,89 @@
1
+ import { z } from 'zod';
2
+ import { APIResponseSchema, APIClient } from '../api';
3
+ import { OrgResourceResponseError } from './util';
4
+
5
+ const OrgS3Resource = z.object({
6
+ bucket_name: z.string().describe('the S3 bucket name'),
7
+ access_key: z.string().nullable().optional().describe('the S3 access key'),
8
+ secret_key: z.string().nullable().optional().describe('the S3 secret key'),
9
+ region: z.string().nullable().optional().describe('the S3 region'),
10
+ endpoint: z.string().nullable().optional().describe('the S3 endpoint'),
11
+ cloud_region: z.string().describe('the cloud region where this resource is provisioned'),
12
+ });
13
+
14
+ const OrgDBResource = z.object({
15
+ name: z.string().describe('the database name'),
16
+ username: z.string().nullable().optional().describe('the database username'),
17
+ password: z.string().nullable().optional().describe('the database password'),
18
+ url: z.string().nullable().optional().describe('the full database connection URL'),
19
+ logical_databases: z.array(z.string()).optional().describe('list of logical databases'),
20
+ cloud_region: z.string().describe('the cloud region where this resource is provisioned'),
21
+ });
22
+
23
+ const OrgResourceListResponse = z.object({
24
+ s3: z.array(OrgS3Resource),
25
+ db: z.array(OrgDBResource),
26
+ });
27
+
28
+ const OrgResourceListResponseSchema = APIResponseSchema(OrgResourceListResponse);
29
+
30
+ export type OrgResourceListResponse = z.infer<typeof OrgResourceListResponseSchema>;
31
+ export type OrgResourceList = z.infer<typeof OrgResourceListResponse>;
32
+ export type OrgS3Resource = z.infer<typeof OrgS3Resource>;
33
+ export type OrgDBResource = z.infer<typeof OrgDBResource>;
34
+
35
+ export interface ListOrgResourcesOptions {
36
+ /** Filter by resource type (default: "all") */
37
+ type?: 'all' | 's3' | 'db';
38
+ /** Include logical databases in DB resources (default: true) */
39
+ includeLogicalDbs?: boolean;
40
+ }
41
+
42
+ /**
43
+ * List all resources for the authenticated organization (across all regions)
44
+ * Extracts orgId from authentication context (API key, SDK, or CLI token)
45
+ *
46
+ * @param client - Catalyst API client (must be authenticated)
47
+ * @param options - Optional filters
48
+ * @returns List of S3 and DB resources with their cloud regions
49
+ *
50
+ * @example
51
+ * // Get all resources
52
+ * const all = await listOrgResources(client);
53
+ *
54
+ * @example
55
+ * // Get only S3 buckets
56
+ * const s3Only = await listOrgResources(client, { type: 's3' });
57
+ *
58
+ * @example
59
+ * // Get only DBs without logical databases (faster)
60
+ * const dbsOnly = await listOrgResources(client, {
61
+ * type: 'db',
62
+ * includeLogicalDbs: false
63
+ * });
64
+ */
65
+ export async function listOrgResources(
66
+ client: APIClient,
67
+ options?: ListOrgResourcesOptions
68
+ ): Promise<OrgResourceList> {
69
+ const params = new URLSearchParams();
70
+ if (options?.type && options.type !== 'all') {
71
+ params.set('type', options.type);
72
+ }
73
+ if (options?.includeLogicalDbs === false) {
74
+ params.set('include_logical_dbs', 'false');
75
+ }
76
+
77
+ const query = params.toString();
78
+ const url = `/resource/2025-11-16${query ? `?${query}` : ''}`;
79
+
80
+ const resp = await client.request<OrgResourceListResponse>(
81
+ 'GET',
82
+ url,
83
+ OrgResourceListResponseSchema
84
+ );
85
+ if (resp.success) {
86
+ return resp.data;
87
+ }
88
+ throw new OrgResourceResponseError({ message: resp.message });
89
+ }
@@ -1,3 +1,4 @@
1
1
  import { StructuredError } from '@agentuity/core';
2
2
 
3
3
  export const OrgResponseError = StructuredError('OrgResponseError');
4
+ export const OrgResourceResponseError = StructuredError('OrgResourceResponseError');