@agentuity/server 0.0.41 → 0.0.42
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 +5 -1
- package/dist/api/api.d.ts.map +1 -1
- package/dist/api/api.js +4 -0
- package/dist/api/api.js.map +1 -1
- package/dist/api/project/create.d.ts +1 -1
- package/dist/api/project/create.js +1 -1
- package/dist/api/project/delete.d.ts +3 -0
- package/dist/api/project/delete.d.ts.map +1 -0
- package/dist/api/project/delete.js +12 -0
- package/dist/api/project/delete.js.map +1 -0
- package/dist/api/project/exists.d.ts +1 -1
- package/dist/api/project/exists.d.ts.map +1 -1
- package/dist/api/project/exists.js +1 -18
- package/dist/api/project/exists.js.map +1 -1
- package/dist/api/project/get.d.ts +23 -0
- package/dist/api/project/get.d.ts.map +1 -0
- package/dist/api/project/get.js +21 -0
- package/dist/api/project/get.js.map +1 -0
- package/dist/api/project/index.d.ts +3 -0
- package/dist/api/project/index.d.ts.map +1 -1
- package/dist/api/project/index.js +3 -0
- package/dist/api/project/index.js.map +1 -1
- package/dist/api/project/list.d.ts +24 -0
- package/dist/api/project/list.d.ts.map +1 -0
- package/dist/api/project/list.js +23 -0
- package/dist/api/project/list.js.map +1 -0
- package/package.json +1 -1
- package/src/api/api.ts +10 -1
- package/src/api/project/create.ts +1 -1
- package/src/api/project/delete.ts +24 -0
- package/src/api/project/exists.ts +1 -20
- package/src/api/project/get.ts +36 -0
- package/src/api/project/index.ts +3 -0
- package/src/api/project/list.ts +37 -0
package/dist/api/api.d.ts
CHANGED
|
@@ -11,7 +11,11 @@ import { z } from 'zod';
|
|
|
11
11
|
export interface APIErrorResponse {
|
|
12
12
|
success: boolean;
|
|
13
13
|
code?: string;
|
|
14
|
-
message
|
|
14
|
+
message?: string;
|
|
15
|
+
error?: {
|
|
16
|
+
name?: string;
|
|
17
|
+
issues?: z.ZodIssue[];
|
|
18
|
+
};
|
|
15
19
|
details?: Record<string, unknown>;
|
|
16
20
|
}
|
|
17
21
|
export interface APIClientConfig {
|
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;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;KACtB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,eAAgB,SAAQ,KAAK;IAGjC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;gBAD3B,OAAO,EAAE,MAAM,EACR,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAK5B;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI3B;AAED,qBAAa,QAAS,SAAQ,KAAK;IAG1B,MAAM,EAAE,MAAM;IACd,IAAI,CAAC,EAAE,MAAM;gBAFpB,OAAO,EAAE,MAAM,EACR,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,YAAA;CAKrB;AAED,qBAAa,SAAS;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,MAAM,CAAC,CAAkB;gBAErB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe;gBACzC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe;IAkB/D,OAAO,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,EACvC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EACpC,IAAI,CAAC,EAAE,KAAK,EACZ,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAC3B,OAAO,CAAC,SAAS,CAAC;YAyCP,WAAW;CA2FzB;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;;;;iBAKjE,CAAC"}
|
package/dist/api/api.js
CHANGED
|
@@ -139,6 +139,10 @@ export class APIClient {
|
|
|
139
139
|
}
|
|
140
140
|
throw new UpgradeRequiredError(errorData.message || 'Please upgrade to the latest version');
|
|
141
141
|
}
|
|
142
|
+
// Handle Zod validation errors from the API
|
|
143
|
+
if (errorData?.error?.name === 'ZodError' && errorData.error.issues) {
|
|
144
|
+
throw new ValidationError('API validation failed', errorData.error.issues);
|
|
145
|
+
}
|
|
142
146
|
// Throw with message from API if available
|
|
143
147
|
if (errorData?.message) {
|
|
144
148
|
throw new APIError(errorData.message, response.status, errorData.code);
|
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;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,6 @@ export type CreateProjectResponse = z.infer<typeof CreateProjectResponseSchema>;
|
|
|
23
23
|
* @param body
|
|
24
24
|
* @returns
|
|
25
25
|
*/
|
|
26
|
-
export declare function
|
|
26
|
+
export declare function projectCreate(client: APIClient, body: CreateProjectRequest): Promise<Omit<CreateProjectResponse, 'projectKey'>>;
|
|
27
27
|
export {};
|
|
28
28
|
//# sourceMappingURL=create.d.ts.map
|
|
@@ -21,7 +21,7 @@ const CreateProjectResponseSchema = APIResponseSchema(z.object({
|
|
|
21
21
|
* @param body
|
|
22
22
|
* @returns
|
|
23
23
|
*/
|
|
24
|
-
export async function
|
|
24
|
+
export async function projectCreate(client, body) {
|
|
25
25
|
return client.request('POST', '/cli/project', CreateProjectResponseSchema, body, CreateProjectRequestSchema);
|
|
26
26
|
}
|
|
27
27
|
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/api/project/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAqB,MAAM,QAAQ,CAAC;AAQtD,wBAAsB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,qBActE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIResponseSchema } from '../api';
|
|
3
|
+
const ProjectDeleteRequestSchema = z.object({ ids: z.array(z.string()) });
|
|
4
|
+
const ProjectDeleteResponseSchema = APIResponseSchema(z.array(z.string()));
|
|
5
|
+
export async function projectDelete(client, ...ids) {
|
|
6
|
+
const resp = await client.request('DELETE', '/cli/project', ProjectDeleteResponseSchema, { ids }, ProjectDeleteRequestSchema);
|
|
7
|
+
if (resp.data) {
|
|
8
|
+
return resp.data;
|
|
9
|
+
}
|
|
10
|
+
throw new Error(resp.message ?? 'failed to delete project');
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/api/project/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAa,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEtD,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1E,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAK3E,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAiB,EAAE,GAAG,GAAa;IACtE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAChC,QAAQ,EACR,cAAc,EACd,2BAA2B,EAC3B,EAAE,GAAG,EAAE,EACP,0BAA0B,CAC1B,CAAC;IAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,0BAA0B,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -12,7 +12,7 @@ declare const ProjectExistsResponseSchema: z.ZodObject<{
|
|
|
12
12
|
export type ProjectExistsRequest = z.infer<typeof _ProjectExistsRequestSchema>;
|
|
13
13
|
export type ProjectExistsResponse = z.infer<typeof ProjectExistsResponseSchema>;
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* Check if a project exists by name within an organization
|
|
16
16
|
*
|
|
17
17
|
* @param client
|
|
18
18
|
* @param body
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exists.d.ts","sourceRoot":"","sources":["../../../src/api/project/exists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAA+B,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"exists.d.ts","sourceRoot":"","sources":["../../../src/api/project/exists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAA+B,MAAM,QAAQ,CAAC;AAEhE,QAAA,MAAM,2BAA2B;;;iBAO/B,CAAC;AAEH,QAAA,MAAM,2BAA2B;;;;iBAAiC,CAAC;AAEnE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAC/E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;;;;GAMG;AACH,wBAAsB,aAAa,CAClC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,oBAAoB,GACxB,OAAO,CAAC,OAAO,CAAC,CA6BlB"}
|
|
@@ -1,22 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { APIResponseSchema } from '../api';
|
|
3
|
-
// func ProjectWithNameExists(ctx context.Context, logger logger.Logger, baseUrl string, token string, orgId string, name string) (bool, error) {
|
|
4
|
-
// client := util.NewAPIClient(ctx, logger, baseUrl, token)
|
|
5
|
-
// var resp Response[bool]
|
|
6
|
-
// if err := client.Do("GET", fmt.Sprintf("/cli/project/exists/%s?orgId=%s", url.PathEscape(name), url.PathEscape(orgId)), nil, &resp); err != nil {
|
|
7
|
-
// var apiErr *util.APIError
|
|
8
|
-
// if errors.As(err, &apiErr) {
|
|
9
|
-
// if apiErr.Status == http.StatusConflict {
|
|
10
|
-
// return true, nil
|
|
11
|
-
// }
|
|
12
|
-
// if apiErr.Status == http.StatusUnprocessableEntity {
|
|
13
|
-
// return false, apiErr
|
|
14
|
-
// }
|
|
15
|
-
// }
|
|
16
|
-
// return false, fmt.Errorf("error validating project name: %w", err)
|
|
17
|
-
// }
|
|
18
|
-
// return resp.Data, nil
|
|
19
|
-
// }
|
|
20
3
|
const _ProjectExistsRequestSchema = z.object({
|
|
21
4
|
name: z.string().max(255).min(1).describe('the name of the new project'),
|
|
22
5
|
organization_id: z
|
|
@@ -27,7 +10,7 @@ const _ProjectExistsRequestSchema = z.object({
|
|
|
27
10
|
});
|
|
28
11
|
const ProjectExistsResponseSchema = APIResponseSchema(z.boolean());
|
|
29
12
|
/**
|
|
30
|
-
*
|
|
13
|
+
* Check if a project exists by name within an organization
|
|
31
14
|
*
|
|
32
15
|
* @param client
|
|
33
16
|
* @param body
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exists.js","sourceRoot":"","sources":["../../../src/api/project/exists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAa,iBAAiB,EAAY,MAAM,QAAQ,CAAC;AAEhE,
|
|
1
|
+
{"version":3,"file":"exists.js","sourceRoot":"","sources":["../../../src/api/project/exists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAa,iBAAiB,EAAY,MAAM,QAAQ,CAAC;AAEhE,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACxE,eAAe,EAAE,CAAC;SAChB,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,8CAA8C,CAAC;CAC1D,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAKnE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,MAAiB,EACjB,IAA0B;IAE1B,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;IACjC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACtC,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAChC,KAAK,EACL,uBAAuB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,EACvE,2BAA2B,CAC3B,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,IAAI,CAAC;QAClB,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,EAAW,CAAC;QACxB,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,GAAe,CAAC;YACjC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACzB,KAAK,GAAG;oBACP,OAAO,IAAI,CAAC;gBACb,KAAK,GAAG;oBACP,OAAO,KAAK,CAAC;gBACd,QAAQ;YACT,CAAC;QACF,CAAC;QACD,MAAM,EAAE,CAAC;IACV,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIClient } from '../api';
|
|
3
|
+
declare const _ProjectGetRequestSchema: z.ZodObject<{
|
|
4
|
+
id: z.ZodString;
|
|
5
|
+
mask: z.ZodDefault<z.ZodBoolean>;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
declare const ProjectGetResponseSchema: z.ZodObject<{
|
|
8
|
+
success: z.ZodBoolean;
|
|
9
|
+
message: z.ZodOptional<z.ZodString>;
|
|
10
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
11
|
+
id: z.ZodString;
|
|
12
|
+
orgId: z.ZodString;
|
|
13
|
+
api_key: z.ZodOptional<z.ZodString>;
|
|
14
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
15
|
+
secrets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
16
|
+
}, z.core.$strip>>;
|
|
17
|
+
}, z.core.$strip>;
|
|
18
|
+
type ProjectGetRequest = z.infer<typeof _ProjectGetRequestSchema>;
|
|
19
|
+
type ProjectGetResponse = z.infer<typeof ProjectGetResponseSchema>;
|
|
20
|
+
export type Project = NonNullable<ProjectGetResponse['data']>;
|
|
21
|
+
export declare function projectGet(client: APIClient, request: ProjectGetRequest): Promise<Project>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=get.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/api/project/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAqB,MAAM,QAAQ,CAAC;AAEtD,QAAA,MAAM,wBAAwB;;;iBAG5B,CAAC;AAEH,QAAA,MAAM,wBAAwB;;;;;;;;;;iBAQ7B,CAAC;AAEF,KAAK,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAClE,KAAK,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEnE,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;AAE9D,wBAAsB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAYhG"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIResponseSchema } from '../api';
|
|
3
|
+
const _ProjectGetRequestSchema = z.object({
|
|
4
|
+
id: z.string().describe('the project id'),
|
|
5
|
+
mask: z.boolean().default(true).describe('if the secrets should be returned masked'),
|
|
6
|
+
});
|
|
7
|
+
const ProjectGetResponseSchema = APIResponseSchema(z.object({
|
|
8
|
+
id: z.string().describe('the project id'),
|
|
9
|
+
orgId: z.string().describe('the organization id'),
|
|
10
|
+
api_key: z.string().optional().describe('the SDK api key for the project'),
|
|
11
|
+
env: z.record(z.string(), z.string()).optional().describe('the environment key/values'),
|
|
12
|
+
secrets: z.record(z.string(), z.string()).optional().describe('the secrets key/values'),
|
|
13
|
+
}));
|
|
14
|
+
export async function projectGet(client, request) {
|
|
15
|
+
const resp = await client.request('GET', `/cli/project/${request.id}?mask=${request.mask ?? true}`, ProjectGetResponseSchema);
|
|
16
|
+
if (resp.data) {
|
|
17
|
+
return resp.data;
|
|
18
|
+
}
|
|
19
|
+
throw new Error(resp.message ?? 'failed to get project');
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/api/project/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAa,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEtD,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CACpF,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,iBAAiB,CACjD,CAAC,CAAC,MAAM,CAAC;IACR,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC1E,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACvF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CACvF,CAAC,CACF,CAAC;AAOF,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAiB,EAAE,OAA0B;IAC7E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAChC,KAAK,EACL,gBAAgB,OAAO,CAAC,EAAE,SAAS,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,EACzD,wBAAwB,CACxB,CAAC;IAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,uBAAuB,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/project/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/project/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/project/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/project/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIClient } from '../api';
|
|
3
|
+
declare const ProjectListResponseSchema: z.ZodObject<{
|
|
4
|
+
success: z.ZodBoolean;
|
|
5
|
+
message: z.ZodOptional<z.ZodString>;
|
|
6
|
+
data: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
7
|
+
id: z.ZodString;
|
|
8
|
+
name: z.ZodString;
|
|
9
|
+
description: z.ZodOptional<z.ZodString>;
|
|
10
|
+
orgId: z.ZodString;
|
|
11
|
+
orgName: z.ZodString;
|
|
12
|
+
}, z.core.$strip>>>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export type ProjectListResponse = z.infer<typeof ProjectListResponseSchema>;
|
|
15
|
+
export type ProjectList = NonNullable<ProjectListResponse['data']>;
|
|
16
|
+
/**
|
|
17
|
+
* List all projects
|
|
18
|
+
*
|
|
19
|
+
* @param client
|
|
20
|
+
* @returns
|
|
21
|
+
*/
|
|
22
|
+
export declare function projectList(client: APIClient): Promise<ProjectList>;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/api/project/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAqB,MAAM,QAAQ,CAAC;AAEtD,QAAA,MAAM,yBAAyB;;;;;;;;;;iBAU9B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;AAEnE;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAYzE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIResponseSchema } from '../api';
|
|
3
|
+
const ProjectListResponseSchema = APIResponseSchema(z.array(z.object({
|
|
4
|
+
id: z.string().describe('the project id'),
|
|
5
|
+
name: z.string().describe('the project name'),
|
|
6
|
+
description: z.string().optional().describe('the project description'),
|
|
7
|
+
orgId: z.string().describe('the organization id that this project is registered with'),
|
|
8
|
+
orgName: z.string().describe('the organization name'),
|
|
9
|
+
})));
|
|
10
|
+
/**
|
|
11
|
+
* List all projects
|
|
12
|
+
*
|
|
13
|
+
* @param client
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
export async function projectList(client) {
|
|
17
|
+
const resp = await client.request('GET', '/cli/project', ProjectListResponseSchema);
|
|
18
|
+
if (resp.data) {
|
|
19
|
+
return resp.data;
|
|
20
|
+
}
|
|
21
|
+
throw new Error(resp.message ?? 'failed to list projects');
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/api/project/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAa,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEtD,MAAM,yBAAyB,GAAG,iBAAiB,CAClD,CAAC,CAAC,KAAK,CACN,CAAC,CAAC,MAAM,CAAC;IACR,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACtE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;IACtF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;CACrD,CAAC,CACF,CACD,CAAC;AAKF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAiB;IAClD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAChC,KAAK,EACL,cAAc,EACd,yBAAyB,CACzB,CAAC;IAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,yBAAyB,CAAC,CAAC;AAC5D,CAAC"}
|
package/package.json
CHANGED
package/src/api/api.ts
CHANGED
|
@@ -13,7 +13,11 @@ import { z } from 'zod';
|
|
|
13
13
|
export interface APIErrorResponse {
|
|
14
14
|
success: boolean;
|
|
15
15
|
code?: string;
|
|
16
|
-
message
|
|
16
|
+
message?: string;
|
|
17
|
+
error?: {
|
|
18
|
+
name?: string;
|
|
19
|
+
issues?: z.ZodIssue[];
|
|
20
|
+
};
|
|
17
21
|
details?: Record<string, unknown>;
|
|
18
22
|
}
|
|
19
23
|
|
|
@@ -189,6 +193,11 @@ export class APIClient {
|
|
|
189
193
|
);
|
|
190
194
|
}
|
|
191
195
|
|
|
196
|
+
// Handle Zod validation errors from the API
|
|
197
|
+
if (errorData?.error?.name === 'ZodError' && errorData.error.issues) {
|
|
198
|
+
throw new ValidationError('API validation failed', errorData.error.issues);
|
|
199
|
+
}
|
|
200
|
+
|
|
192
201
|
// Throw with message from API if available
|
|
193
202
|
if (errorData?.message) {
|
|
194
203
|
throw new APIError(errorData.message, response.status, errorData.code);
|
|
@@ -29,7 +29,7 @@ export type CreateProjectResponse = z.infer<typeof CreateProjectResponseSchema>;
|
|
|
29
29
|
* @param body
|
|
30
30
|
* @returns
|
|
31
31
|
*/
|
|
32
|
-
export async function
|
|
32
|
+
export async function projectCreate(
|
|
33
33
|
client: APIClient,
|
|
34
34
|
body: CreateProjectRequest
|
|
35
35
|
): Promise<Omit<CreateProjectResponse, 'projectKey'>> {
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIClient, APIResponseSchema } from '../api';
|
|
3
|
+
|
|
4
|
+
const ProjectDeleteRequestSchema = z.object({ ids: z.array(z.string()) });
|
|
5
|
+
const ProjectDeleteResponseSchema = APIResponseSchema(z.array(z.string()));
|
|
6
|
+
|
|
7
|
+
type ProjectDeleteRequest = z.infer<typeof ProjectDeleteRequestSchema>;
|
|
8
|
+
type ProjectDeleteResponse = z.infer<typeof ProjectDeleteResponseSchema>;
|
|
9
|
+
|
|
10
|
+
export async function projectDelete(client: APIClient, ...ids: string[]) {
|
|
11
|
+
const resp = await client.request<ProjectDeleteResponse, ProjectDeleteRequest>(
|
|
12
|
+
'DELETE',
|
|
13
|
+
'/cli/project',
|
|
14
|
+
ProjectDeleteResponseSchema,
|
|
15
|
+
{ ids },
|
|
16
|
+
ProjectDeleteRequestSchema
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
if (resp.data) {
|
|
20
|
+
return resp.data;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
throw new Error(resp.message ?? 'failed to delete project');
|
|
24
|
+
}
|
|
@@ -1,25 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { APIClient, APIResponseSchema, APIError } from '../api';
|
|
3
3
|
|
|
4
|
-
// func ProjectWithNameExists(ctx context.Context, logger logger.Logger, baseUrl string, token string, orgId string, name string) (bool, error) {
|
|
5
|
-
// client := util.NewAPIClient(ctx, logger, baseUrl, token)
|
|
6
|
-
|
|
7
|
-
// var resp Response[bool]
|
|
8
|
-
// if err := client.Do("GET", fmt.Sprintf("/cli/project/exists/%s?orgId=%s", url.PathEscape(name), url.PathEscape(orgId)), nil, &resp); err != nil {
|
|
9
|
-
// var apiErr *util.APIError
|
|
10
|
-
// if errors.As(err, &apiErr) {
|
|
11
|
-
// if apiErr.Status == http.StatusConflict {
|
|
12
|
-
// return true, nil
|
|
13
|
-
// }
|
|
14
|
-
// if apiErr.Status == http.StatusUnprocessableEntity {
|
|
15
|
-
// return false, apiErr
|
|
16
|
-
// }
|
|
17
|
-
// }
|
|
18
|
-
// return false, fmt.Errorf("error validating project name: %w", err)
|
|
19
|
-
// }
|
|
20
|
-
// return resp.Data, nil
|
|
21
|
-
// }
|
|
22
|
-
|
|
23
4
|
const _ProjectExistsRequestSchema = z.object({
|
|
24
5
|
name: z.string().max(255).min(1).describe('the name of the new project'),
|
|
25
6
|
organization_id: z
|
|
@@ -35,7 +16,7 @@ export type ProjectExistsRequest = z.infer<typeof _ProjectExistsRequestSchema>;
|
|
|
35
16
|
export type ProjectExistsResponse = z.infer<typeof ProjectExistsResponseSchema>;
|
|
36
17
|
|
|
37
18
|
/**
|
|
38
|
-
*
|
|
19
|
+
* Check if a project exists by name within an organization
|
|
39
20
|
*
|
|
40
21
|
* @param client
|
|
41
22
|
* @param body
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIClient, APIResponseSchema } from '../api';
|
|
3
|
+
|
|
4
|
+
const _ProjectGetRequestSchema = z.object({
|
|
5
|
+
id: z.string().describe('the project id'),
|
|
6
|
+
mask: z.boolean().default(true).describe('if the secrets should be returned masked'),
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
const ProjectGetResponseSchema = APIResponseSchema(
|
|
10
|
+
z.object({
|
|
11
|
+
id: z.string().describe('the project id'),
|
|
12
|
+
orgId: z.string().describe('the organization id'),
|
|
13
|
+
api_key: z.string().optional().describe('the SDK api key for the project'),
|
|
14
|
+
env: z.record(z.string(), z.string()).optional().describe('the environment key/values'),
|
|
15
|
+
secrets: z.record(z.string(), z.string()).optional().describe('the secrets key/values'),
|
|
16
|
+
})
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
type ProjectGetRequest = z.infer<typeof _ProjectGetRequestSchema>;
|
|
20
|
+
type ProjectGetResponse = z.infer<typeof ProjectGetResponseSchema>;
|
|
21
|
+
|
|
22
|
+
export type Project = NonNullable<ProjectGetResponse['data']>;
|
|
23
|
+
|
|
24
|
+
export async function projectGet(client: APIClient, request: ProjectGetRequest): Promise<Project> {
|
|
25
|
+
const resp = await client.request<ProjectGetResponse, ProjectGetRequest>(
|
|
26
|
+
'GET',
|
|
27
|
+
`/cli/project/${request.id}?mask=${request.mask ?? true}`,
|
|
28
|
+
ProjectGetResponseSchema
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
if (resp.data) {
|
|
32
|
+
return resp.data;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
throw new Error(resp.message ?? 'failed to get project');
|
|
36
|
+
}
|
package/src/api/project/index.ts
CHANGED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIClient, APIResponseSchema } from '../api';
|
|
3
|
+
|
|
4
|
+
const ProjectListResponseSchema = APIResponseSchema(
|
|
5
|
+
z.array(
|
|
6
|
+
z.object({
|
|
7
|
+
id: z.string().describe('the project id'),
|
|
8
|
+
name: z.string().describe('the project name'),
|
|
9
|
+
description: z.string().optional().describe('the project description'),
|
|
10
|
+
orgId: z.string().describe('the organization id that this project is registered with'),
|
|
11
|
+
orgName: z.string().describe('the organization name'),
|
|
12
|
+
})
|
|
13
|
+
)
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
export type ProjectListResponse = z.infer<typeof ProjectListResponseSchema>;
|
|
17
|
+
export type ProjectList = NonNullable<ProjectListResponse['data']>;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* List all projects
|
|
21
|
+
*
|
|
22
|
+
* @param client
|
|
23
|
+
* @returns
|
|
24
|
+
*/
|
|
25
|
+
export async function projectList(client: APIClient): Promise<ProjectList> {
|
|
26
|
+
const resp = await client.request<ProjectListResponse>(
|
|
27
|
+
'GET',
|
|
28
|
+
'/cli/project',
|
|
29
|
+
ProjectListResponseSchema
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
if (resp.data) {
|
|
33
|
+
return resp.data;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
throw new Error(resp.message ?? 'failed to list projects');
|
|
37
|
+
}
|