@devhelm/sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/client.d.ts +49 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +64 -0
- package/dist/client.js.map +1 -0
- package/dist/errors.d.ts +12 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +45 -0
- package/dist/errors.js.map +1 -0
- package/dist/generated/api.d.ts +12010 -0
- package/dist/generated/api.d.ts.map +1 -0
- package/dist/generated/api.js +6 -0
- package/dist/generated/api.js.map +1 -0
- package/dist/http.d.ts +40 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +115 -0
- package/dist/http.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/resources/alert-channels.d.ts +23 -0
- package/dist/resources/alert-channels.d.ts.map +1 -0
- package/dist/resources/alert-channels.js +40 -0
- package/dist/resources/alert-channels.js.map +1 -0
- package/dist/resources/api-keys.d.ts +17 -0
- package/dist/resources/api-keys.d.ts.map +1 -0
- package/dist/resources/api-keys.js +29 -0
- package/dist/resources/api-keys.js.map +1 -0
- package/dist/resources/dependencies.d.ts +15 -0
- package/dist/resources/dependencies.d.ts.map +1 -0
- package/dist/resources/dependencies.js +25 -0
- package/dist/resources/dependencies.js.map +1 -0
- package/dist/resources/deploy-lock.d.ts +15 -0
- package/dist/resources/deploy-lock.d.ts.map +1 -0
- package/dist/resources/deploy-lock.js +26 -0
- package/dist/resources/deploy-lock.js.map +1 -0
- package/dist/resources/environments.d.ts +19 -0
- package/dist/resources/environments.d.ts.map +1 -0
- package/dist/resources/environments.js +35 -0
- package/dist/resources/environments.js.map +1 -0
- package/dist/resources/incidents.d.ts +19 -0
- package/dist/resources/incidents.d.ts.map +1 -0
- package/dist/resources/incidents.js +36 -0
- package/dist/resources/incidents.js.map +1 -0
- package/dist/resources/monitors.d.ts +35 -0
- package/dist/resources/monitors.d.ts.map +1 -0
- package/dist/resources/monitors.js +58 -0
- package/dist/resources/monitors.js.map +1 -0
- package/dist/resources/notification-policies.d.ts +21 -0
- package/dist/resources/notification-policies.d.ts.map +1 -0
- package/dist/resources/notification-policies.js +39 -0
- package/dist/resources/notification-policies.js.map +1 -0
- package/dist/resources/resource-groups.d.ts +23 -0
- package/dist/resources/resource-groups.d.ts.map +1 -0
- package/dist/resources/resource-groups.js +43 -0
- package/dist/resources/resource-groups.js.map +1 -0
- package/dist/resources/secrets.d.ts +17 -0
- package/dist/resources/secrets.d.ts.map +1 -0
- package/dist/resources/secrets.js +30 -0
- package/dist/resources/secrets.js.map +1 -0
- package/dist/resources/status.d.ts +9 -0
- package/dist/resources/status.d.ts.map +1 -0
- package/dist/resources/status.js +13 -0
- package/dist/resources/status.js.map +1 -0
- package/dist/resources/tags.d.ts +19 -0
- package/dist/resources/tags.d.ts.map +1 -0
- package/dist/resources/tags.js +35 -0
- package/dist/resources/tags.js.map +1 -0
- package/dist/resources/webhooks.d.ts +23 -0
- package/dist/resources/webhooks.d.ts.map +1 -0
- package/dist/resources/webhooks.js +40 -0
- package/dist/resources/webhooks.js.map +1 -0
- package/dist/types.d.ts +60 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/generated/api.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
package/dist/http.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import createClient from 'openapi-fetch';
|
|
2
|
+
import type { paths } from './generated/api.js';
|
|
3
|
+
import type { DevhelmConfig, Page, CursorPage } from './types.js';
|
|
4
|
+
export type ApiClient = ReturnType<typeof createClient<paths>>;
|
|
5
|
+
export declare function buildClient(config: DevhelmConfig): ApiClient;
|
|
6
|
+
/**
|
|
7
|
+
* Unwraps an openapi-fetch response, throwing a typed DevhelmError on failure.
|
|
8
|
+
*/
|
|
9
|
+
export declare function checkedFetch<T>(promise: Promise<{
|
|
10
|
+
data?: T;
|
|
11
|
+
error?: unknown;
|
|
12
|
+
response: Response;
|
|
13
|
+
}>): Promise<T>;
|
|
14
|
+
/**
|
|
15
|
+
* Unwrap a SingleValueResponse envelope: { data: T } -> T
|
|
16
|
+
*/
|
|
17
|
+
export declare function unwrapSingle<T>(resp: {
|
|
18
|
+
data?: T;
|
|
19
|
+
} | T): T;
|
|
20
|
+
export declare function apiGet<T>(client: ApiClient, path: string, query?: Record<string, unknown>): Promise<T>;
|
|
21
|
+
export declare function apiPost<T>(client: ApiClient, path: string, body?: unknown, pathParams?: Record<string, unknown>): Promise<T>;
|
|
22
|
+
export declare function apiPut<T>(client: ApiClient, path: string, body: unknown, pathParams?: Record<string, unknown>): Promise<T>;
|
|
23
|
+
export declare function apiDelete(client: ApiClient, path: string, pathParams?: Record<string, unknown>): Promise<void>;
|
|
24
|
+
export declare function apiPatch<T>(client: ApiClient, path: string, body: unknown, pathParams?: Record<string, unknown>): Promise<T>;
|
|
25
|
+
/**
|
|
26
|
+
* Fetches all pages from an offset-paginated (Spring Pageable) endpoint.
|
|
27
|
+
*/
|
|
28
|
+
export declare function fetchAllPages<T>(client: ApiClient, path: string, pageSize?: number): Promise<T[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Fetches a single page from an offset-paginated endpoint.
|
|
31
|
+
*/
|
|
32
|
+
export declare function fetchPage<T>(client: ApiClient, path: string, page: number, size: number): Promise<Page<T>>;
|
|
33
|
+
/**
|
|
34
|
+
* Fetches a single page from a cursor-paginated endpoint.
|
|
35
|
+
*/
|
|
36
|
+
export declare function fetchCursorPage<T>(client: ApiClient, path: string, options?: {
|
|
37
|
+
cursor?: string;
|
|
38
|
+
limit?: number;
|
|
39
|
+
}): Promise<CursorPage<T>>;
|
|
40
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,EAAC,aAAa,EAAE,IAAI,EAAE,UAAU,EAAC,MAAM,YAAY,CAAA;AAM/D,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;AAE9D,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CAc5D;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAC,CAAC,GAChE,OAAO,CAAC,CAAC,CAAC,CAOZ;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE;IAAC,IAAI,CAAC,EAAE,CAAC,CAAA;CAAC,GAAG,CAAC,GAAG,CAAC,CAKvD;AAID,wBAAsB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAG5G;AAED,wBAAsB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAKlI;AAED,wBAAsB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAKhI;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAKpH;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAKlI;AAUD;;GAEG;AACH,wBAAsB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAoB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAalH;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAOlB;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACrC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAM,GAC9C,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAWxB"}
|
package/dist/http.js
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import createClient from 'openapi-fetch';
|
|
2
|
+
import { errorFromResponse } from './errors.js';
|
|
3
|
+
const DEFAULT_BASE_URL = 'https://api.devhelm.io';
|
|
4
|
+
const DEFAULT_PAGE_SIZE = 200;
|
|
5
|
+
export function buildClient(config) {
|
|
6
|
+
const baseUrl = (config.baseUrl ?? DEFAULT_BASE_URL).replace(/\/+$/, '');
|
|
7
|
+
const orgId = config.orgId ?? process.env['DEVHELM_ORG_ID'] ?? '1';
|
|
8
|
+
const workspaceId = config.workspaceId ?? process.env['DEVHELM_WORKSPACE_ID'] ?? '1';
|
|
9
|
+
return createClient({
|
|
10
|
+
baseUrl,
|
|
11
|
+
headers: {
|
|
12
|
+
Authorization: `Bearer ${config.token}`,
|
|
13
|
+
'Content-Type': 'application/json',
|
|
14
|
+
'x-phelm-org-id': orgId,
|
|
15
|
+
'x-phelm-workspace-id': workspaceId,
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Unwraps an openapi-fetch response, throwing a typed DevhelmError on failure.
|
|
21
|
+
*/
|
|
22
|
+
export async function checkedFetch(promise) {
|
|
23
|
+
const { data, error, response } = await promise;
|
|
24
|
+
if (error || !response.ok) {
|
|
25
|
+
const body = typeof error === 'string' ? error : await response.text().catch(() => '');
|
|
26
|
+
throw errorFromResponse(response.status, body);
|
|
27
|
+
}
|
|
28
|
+
return data;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Unwrap a SingleValueResponse envelope: { data: T } -> T
|
|
32
|
+
*/
|
|
33
|
+
export function unwrapSingle(resp) {
|
|
34
|
+
if (resp && typeof resp === 'object' && 'data' in resp) {
|
|
35
|
+
return resp.data;
|
|
36
|
+
}
|
|
37
|
+
return resp;
|
|
38
|
+
}
|
|
39
|
+
// ── Typed dynamic-path helpers ─────────────────────────────────────────
|
|
40
|
+
export async function apiGet(client, path, query) {
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
42
|
+
return checkedFetch(client.GET(path, query ? { params: { query } } : undefined));
|
|
43
|
+
}
|
|
44
|
+
export async function apiPost(client, path, body, pathParams) {
|
|
45
|
+
const params = {};
|
|
46
|
+
if (pathParams)
|
|
47
|
+
params['path'] = pathParams;
|
|
48
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
49
|
+
return checkedFetch(client.POST(path, { body, params }));
|
|
50
|
+
}
|
|
51
|
+
export async function apiPut(client, path, body, pathParams) {
|
|
52
|
+
const params = {};
|
|
53
|
+
if (pathParams)
|
|
54
|
+
params['path'] = pathParams;
|
|
55
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
56
|
+
return checkedFetch(client.PUT(path, { body, params }));
|
|
57
|
+
}
|
|
58
|
+
export async function apiDelete(client, path, pathParams) {
|
|
59
|
+
const params = {};
|
|
60
|
+
if (pathParams)
|
|
61
|
+
params['path'] = pathParams;
|
|
62
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
63
|
+
await checkedFetch(client.DELETE(path, { params }));
|
|
64
|
+
}
|
|
65
|
+
export async function apiPatch(client, path, body, pathParams) {
|
|
66
|
+
const params = {};
|
|
67
|
+
if (pathParams)
|
|
68
|
+
params['path'] = pathParams;
|
|
69
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
70
|
+
return checkedFetch(client.PATCH(path, { body, params }));
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Fetches all pages from an offset-paginated (Spring Pageable) endpoint.
|
|
74
|
+
*/
|
|
75
|
+
export async function fetchAllPages(client, path, pageSize = DEFAULT_PAGE_SIZE) {
|
|
76
|
+
const all = [];
|
|
77
|
+
let page = 0;
|
|
78
|
+
while (true) {
|
|
79
|
+
const resp = await apiGet(client, path, { page, size: pageSize });
|
|
80
|
+
const items = resp.data ?? [];
|
|
81
|
+
all.push(...items);
|
|
82
|
+
if (!resp.hasNext)
|
|
83
|
+
break;
|
|
84
|
+
page++;
|
|
85
|
+
}
|
|
86
|
+
return all;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Fetches a single page from an offset-paginated endpoint.
|
|
90
|
+
*/
|
|
91
|
+
export async function fetchPage(client, path, page, size) {
|
|
92
|
+
const resp = await apiGet(client, path, { page, size });
|
|
93
|
+
return {
|
|
94
|
+
data: resp.data ?? [],
|
|
95
|
+
hasNext: resp.hasNext ?? false,
|
|
96
|
+
hasPrev: resp.hasPrev ?? false,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Fetches a single page from a cursor-paginated endpoint.
|
|
101
|
+
*/
|
|
102
|
+
export async function fetchCursorPage(client, path, options = {}) {
|
|
103
|
+
const query = {};
|
|
104
|
+
if (options.limit)
|
|
105
|
+
query['limit'] = options.limit;
|
|
106
|
+
if (options.cursor)
|
|
107
|
+
query['cursor'] = options.cursor;
|
|
108
|
+
const resp = await apiGet(client, path, query);
|
|
109
|
+
return {
|
|
110
|
+
data: resp.data ?? [],
|
|
111
|
+
nextCursor: resp.nextCursor ?? null,
|
|
112
|
+
hasMore: resp.hasMore ?? false,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=http.js.map
|
package/dist/http.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export { Devhelm } from './client.js';
|
|
2
|
+
export type { DevhelmConfig, Page, CursorPage } from './types.js';
|
|
3
|
+
export { DevhelmError, AuthError } from './errors.js';
|
|
4
|
+
export type { DevhelmErrorCode } from './errors.js';
|
|
5
|
+
export type { MonitorDto, IncidentDto, IncidentDetailDto, AlertChannelDto, NotificationPolicyDto, EnvironmentDto, SecretDto, TagDto, ResourceGroupDto, WebhookEndpointDto, ApiKeyDto, ApiKeyCreateResponse, ServiceSubscriptionDto, MonitorVersionDto, CheckResultDto, DashboardOverviewDto, DeployLockDto, AssertionTestResultDto, CreateMonitorRequest, UpdateMonitorRequest, CreateManualIncidentRequest, CreateAlertChannelRequest, UpdateAlertChannelRequest, CreateNotificationPolicyRequest, UpdateNotificationPolicyRequest, CreateEnvironmentRequest, UpdateEnvironmentRequest, CreateSecretRequest, UpdateSecretRequest, CreateTagRequest, UpdateTagRequest, CreateResourceGroupRequest, UpdateResourceGroupRequest, CreateWebhookEndpointRequest, UpdateWebhookEndpointRequest, CreateApiKeyRequest, AcquireDeployLockRequest, } from './types.js';
|
|
6
|
+
export { Monitors } from './resources/monitors.js';
|
|
7
|
+
export { Incidents } from './resources/incidents.js';
|
|
8
|
+
export { AlertChannels } from './resources/alert-channels.js';
|
|
9
|
+
export { NotificationPolicies } from './resources/notification-policies.js';
|
|
10
|
+
export { Environments } from './resources/environments.js';
|
|
11
|
+
export { Secrets } from './resources/secrets.js';
|
|
12
|
+
export { Tags } from './resources/tags.js';
|
|
13
|
+
export { ResourceGroups } from './resources/resource-groups.js';
|
|
14
|
+
export { Webhooks } from './resources/webhooks.js';
|
|
15
|
+
export { ApiKeys } from './resources/api-keys.js';
|
|
16
|
+
export { Dependencies } from './resources/dependencies.js';
|
|
17
|
+
export { DeployLock } from './resources/deploy-lock.js';
|
|
18
|
+
export { Status } from './resources/status.js';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAA;AACnC,YAAY,EAAC,aAAa,EAAE,IAAI,EAAE,UAAU,EAAC,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,aAAa,CAAA;AACnD,YAAY,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAA;AAGjD,YAAY,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,MAAM,EACN,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,+BAA+B,EAC/B,+BAA+B,EAC/B,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAC,aAAa,EAAC,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAC,oBAAoB,EAAC,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAA;AACxC,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAC,OAAO,EAAC,MAAM,yBAAyB,CAAA;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { Devhelm } from './client.js';
|
|
2
|
+
export { DevhelmError, AuthError } from './errors.js';
|
|
3
|
+
// Re-export resource classes for advanced usage (custom composition)
|
|
4
|
+
export { Monitors } from './resources/monitors.js';
|
|
5
|
+
export { Incidents } from './resources/incidents.js';
|
|
6
|
+
export { AlertChannels } from './resources/alert-channels.js';
|
|
7
|
+
export { NotificationPolicies } from './resources/notification-policies.js';
|
|
8
|
+
export { Environments } from './resources/environments.js';
|
|
9
|
+
export { Secrets } from './resources/secrets.js';
|
|
10
|
+
export { Tags } from './resources/tags.js';
|
|
11
|
+
export { ResourceGroups } from './resources/resource-groups.js';
|
|
12
|
+
export { Webhooks } from './resources/webhooks.js';
|
|
13
|
+
export { ApiKeys } from './resources/api-keys.js';
|
|
14
|
+
export { Dependencies } from './resources/dependencies.js';
|
|
15
|
+
export { DeployLock } from './resources/deploy-lock.js';
|
|
16
|
+
export { Status } from './resources/status.js';
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAA;AAEnC,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,aAAa,CAAA;AA4CnD,qEAAqE;AACrE,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAC,aAAa,EAAC,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAC,oBAAoB,EAAC,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAA;AACxC,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAC,OAAO,EAAC,MAAM,yBAAyB,CAAA;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ApiClient } from '../http.js';
|
|
2
|
+
import type { AlertChannelDto, CreateAlertChannelRequest, UpdateAlertChannelRequest, Page } from '../types.js';
|
|
3
|
+
export declare class AlertChannels {
|
|
4
|
+
private readonly client;
|
|
5
|
+
constructor(client: ApiClient);
|
|
6
|
+
/** List all alert channels (auto-paginates). */
|
|
7
|
+
list(): Promise<AlertChannelDto[]>;
|
|
8
|
+
/** List alert channels with manual page control. */
|
|
9
|
+
listPage(page: number, size: number): Promise<Page<AlertChannelDto>>;
|
|
10
|
+
/** Get a single alert channel by ID. */
|
|
11
|
+
get(id: string | number): Promise<AlertChannelDto>;
|
|
12
|
+
/** Create a new alert channel. */
|
|
13
|
+
create(body: CreateAlertChannelRequest): Promise<AlertChannelDto>;
|
|
14
|
+
/** Update an existing alert channel. */
|
|
15
|
+
update(id: string | number, body: UpdateAlertChannelRequest): Promise<AlertChannelDto>;
|
|
16
|
+
/** Delete an alert channel. */
|
|
17
|
+
delete(id: string | number): Promise<void>;
|
|
18
|
+
/** Send a test notification to this channel. */
|
|
19
|
+
test(id: string | number): Promise<{
|
|
20
|
+
success: boolean;
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=alert-channels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-channels.d.ts","sourceRoot":"","sources":["../../src/resources/alert-channels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAC,eAAe,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,IAAI,EAAC,MAAM,aAAa,CAAA;AAG5G,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,SAAS;IAE9C,gDAAgD;IAC1C,IAAI,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAIxC,oDAAoD;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAI1E,wCAAwC;IAClC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAKxD,kCAAkC;IAC5B,MAAM,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC;IAKvE,wCAAwC;IAClC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC;IAK5F,+BAA+B;IACzB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,gDAAgD;IAC1C,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAC,CAAC;CAI7D"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { apiGet, apiPost, apiPut, apiDelete, fetchAllPages, fetchPage, unwrapSingle } from '../http.js';
|
|
2
|
+
export class AlertChannels {
|
|
3
|
+
client;
|
|
4
|
+
constructor(client) {
|
|
5
|
+
this.client = client;
|
|
6
|
+
}
|
|
7
|
+
/** List all alert channels (auto-paginates). */
|
|
8
|
+
async list() {
|
|
9
|
+
return fetchAllPages(this.client, '/api/v1/alert-channels');
|
|
10
|
+
}
|
|
11
|
+
/** List alert channels with manual page control. */
|
|
12
|
+
async listPage(page, size) {
|
|
13
|
+
return fetchPage(this.client, '/api/v1/alert-channels', page, size);
|
|
14
|
+
}
|
|
15
|
+
/** Get a single alert channel by ID. */
|
|
16
|
+
async get(id) {
|
|
17
|
+
const resp = await apiGet(this.client, `/api/v1/alert-channels/${id}`);
|
|
18
|
+
return unwrapSingle(resp);
|
|
19
|
+
}
|
|
20
|
+
/** Create a new alert channel. */
|
|
21
|
+
async create(body) {
|
|
22
|
+
const resp = await apiPost(this.client, '/api/v1/alert-channels', body);
|
|
23
|
+
return unwrapSingle(resp);
|
|
24
|
+
}
|
|
25
|
+
/** Update an existing alert channel. */
|
|
26
|
+
async update(id, body) {
|
|
27
|
+
const resp = await apiPut(this.client, `/api/v1/alert-channels/${id}`, body);
|
|
28
|
+
return unwrapSingle(resp);
|
|
29
|
+
}
|
|
30
|
+
/** Delete an alert channel. */
|
|
31
|
+
async delete(id) {
|
|
32
|
+
await apiDelete(this.client, `/api/v1/alert-channels/${id}`);
|
|
33
|
+
}
|
|
34
|
+
/** Send a test notification to this channel. */
|
|
35
|
+
async test(id) {
|
|
36
|
+
const resp = await apiPost(this.client, `/api/v1/alert-channels/${id}/test`);
|
|
37
|
+
return unwrapSingle(resp);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=alert-channels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-channels.js","sourceRoot":"","sources":["../../src/resources/alert-channels.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,YAAY,CAAA;AAErG,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAElD,gDAAgD;IAChD,KAAK,CAAC,IAAI;QACR,OAAO,aAAa,CAAkB,IAAI,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAA;IAC9E,CAAC;IAED,oDAAoD;IACpD,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAAY;QACvC,OAAO,SAAS,CAAkB,IAAI,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACtF,CAAC;IAED,wCAAwC;IACxC,KAAK,CAAC,GAAG,CAAC,EAAmB;QAC3B,MAAM,IAAI,GAAG,MAAM,MAAM,CAA2B,IAAI,CAAC,MAAM,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAA;QAChG,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,MAAM,CAAC,IAA+B;QAC1C,MAAM,IAAI,GAAG,MAAM,OAAO,CAA2B,IAAI,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,CAAC,CAAA;QACjG,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,wCAAwC;IACxC,KAAK,CAAC,MAAM,CAAC,EAAmB,EAAE,IAA+B;QAC/D,MAAM,IAAI,GAAG,MAAM,MAAM,CAA2B,IAAI,CAAC,MAAM,EAAE,0BAA0B,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;QACtG,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,+BAA+B;IAC/B,KAAK,CAAC,MAAM,CAAC,EAAmB;QAC9B,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,IAAI,CAAC,EAAmB;QAC5B,MAAM,IAAI,GAAG,MAAM,OAAO,CAA8B,IAAI,CAAC,MAAM,EAAE,0BAA0B,EAAE,OAAO,CAAC,CAAA;QACzG,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ApiClient } from '../http.js';
|
|
2
|
+
import type { ApiKeyDto, ApiKeyCreateResponse, CreateApiKeyRequest, Page } from '../types.js';
|
|
3
|
+
export declare class ApiKeys {
|
|
4
|
+
private readonly client;
|
|
5
|
+
constructor(client: ApiClient);
|
|
6
|
+
/** List all API keys (auto-paginates). */
|
|
7
|
+
list(): Promise<ApiKeyDto[]>;
|
|
8
|
+
/** List API keys with manual page control. */
|
|
9
|
+
listPage(page: number, size: number): Promise<Page<ApiKeyDto>>;
|
|
10
|
+
/** Create a new API key. Returns the full key value (only available at creation time). */
|
|
11
|
+
create(body: CreateApiKeyRequest): Promise<ApiKeyCreateResponse>;
|
|
12
|
+
/** Revoke an API key (disables it without deleting). */
|
|
13
|
+
revoke(id: string | number): Promise<void>;
|
|
14
|
+
/** Delete an API key permanently. */
|
|
15
|
+
delete(id: string | number): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=api-keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-keys.d.ts","sourceRoot":"","sources":["../../src/resources/api-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAC,SAAS,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,IAAI,EAAC,MAAM,aAAa,CAAA;AAG3F,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,SAAS;IAE9C,0CAA0C;IACpC,IAAI,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAIlC,8CAA8C;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAIpE,0FAA0F;IACpF,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAKtE,wDAAwD;IAClD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,qCAAqC;IAC/B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGjD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { apiPost, apiDelete, fetchAllPages, fetchPage, unwrapSingle } from '../http.js';
|
|
2
|
+
export class ApiKeys {
|
|
3
|
+
client;
|
|
4
|
+
constructor(client) {
|
|
5
|
+
this.client = client;
|
|
6
|
+
}
|
|
7
|
+
/** List all API keys (auto-paginates). */
|
|
8
|
+
async list() {
|
|
9
|
+
return fetchAllPages(this.client, '/api/v1/api-keys');
|
|
10
|
+
}
|
|
11
|
+
/** List API keys with manual page control. */
|
|
12
|
+
async listPage(page, size) {
|
|
13
|
+
return fetchPage(this.client, '/api/v1/api-keys', page, size);
|
|
14
|
+
}
|
|
15
|
+
/** Create a new API key. Returns the full key value (only available at creation time). */
|
|
16
|
+
async create(body) {
|
|
17
|
+
const resp = await apiPost(this.client, '/api/v1/api-keys', body);
|
|
18
|
+
return unwrapSingle(resp);
|
|
19
|
+
}
|
|
20
|
+
/** Revoke an API key (disables it without deleting). */
|
|
21
|
+
async revoke(id) {
|
|
22
|
+
await apiPost(this.client, `/api/v1/api-keys/${id}/revoke`);
|
|
23
|
+
}
|
|
24
|
+
/** Delete an API key permanently. */
|
|
25
|
+
async delete(id) {
|
|
26
|
+
await apiDelete(this.client, `/api/v1/api-keys/${id}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=api-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-keys.js","sourceRoot":"","sources":["../../src/resources/api-keys.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,YAAY,CAAA;AAErF,MAAM,OAAO,OAAO;IACW;IAA7B,YAA6B,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAElD,0CAA0C;IAC1C,KAAK,CAAC,IAAI;QACR,OAAO,aAAa,CAAY,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAClE,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAAY;QACvC,OAAO,SAAS,CAAY,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC1E,CAAC;IAED,0FAA0F;IAC1F,KAAK,CAAC,MAAM,CAAC,IAAyB;QACpC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAgC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAA;QAChG,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,MAAM,CAAC,EAAmB;QAC9B,MAAM,OAAO,CAAU,IAAI,CAAC,MAAM,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAA;IACtE,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,MAAM,CAAC,EAAmB;QAC9B,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAA;IACxD,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ApiClient } from '../http.js';
|
|
2
|
+
import type { ServiceSubscriptionDto, Page } from '../types.js';
|
|
3
|
+
export declare class Dependencies {
|
|
4
|
+
private readonly client;
|
|
5
|
+
constructor(client: ApiClient);
|
|
6
|
+
/** List all service subscriptions (auto-paginates). */
|
|
7
|
+
list(): Promise<ServiceSubscriptionDto[]>;
|
|
8
|
+
/** List service subscriptions with manual page control. */
|
|
9
|
+
listPage(page: number, size: number): Promise<Page<ServiceSubscriptionDto>>;
|
|
10
|
+
/** Track (subscribe to) a service from the catalog by its slug. */
|
|
11
|
+
track(slug: string): Promise<ServiceSubscriptionDto>;
|
|
12
|
+
/** Untrack (unsubscribe from) a service subscription. */
|
|
13
|
+
delete(subscriptionId: string | number): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=dependencies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/resources/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAC,sBAAsB,EAAE,IAAI,EAAC,MAAM,aAAa,CAAA;AAG7D,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,SAAS;IAE9C,uDAAuD;IACjD,IAAI,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAI/C,2DAA2D;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAIjF,mEAAmE;IAC7D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAK1D,yDAAyD;IACnD,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG7D"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { apiPost, apiDelete, fetchAllPages, fetchPage, unwrapSingle } from '../http.js';
|
|
2
|
+
export class Dependencies {
|
|
3
|
+
client;
|
|
4
|
+
constructor(client) {
|
|
5
|
+
this.client = client;
|
|
6
|
+
}
|
|
7
|
+
/** List all service subscriptions (auto-paginates). */
|
|
8
|
+
async list() {
|
|
9
|
+
return fetchAllPages(this.client, '/api/v1/service-subscriptions');
|
|
10
|
+
}
|
|
11
|
+
/** List service subscriptions with manual page control. */
|
|
12
|
+
async listPage(page, size) {
|
|
13
|
+
return fetchPage(this.client, '/api/v1/service-subscriptions', page, size);
|
|
14
|
+
}
|
|
15
|
+
/** Track (subscribe to) a service from the catalog by its slug. */
|
|
16
|
+
async track(slug) {
|
|
17
|
+
const resp = await apiPost(this.client, `/api/v1/service-subscriptions/${slug}`);
|
|
18
|
+
return unwrapSingle(resp);
|
|
19
|
+
}
|
|
20
|
+
/** Untrack (unsubscribe from) a service subscription. */
|
|
21
|
+
async delete(subscriptionId) {
|
|
22
|
+
await apiDelete(this.client, `/api/v1/service-subscriptions/${subscriptionId}`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=dependencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/resources/dependencies.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,YAAY,CAAA;AAErF,MAAM,OAAO,YAAY;IACM;IAA7B,YAA6B,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAElD,uDAAuD;IACvD,KAAK,CAAC,IAAI;QACR,OAAO,aAAa,CAAyB,IAAI,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAA;IAC5F,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAAY;QACvC,OAAO,SAAS,CAAyB,IAAI,CAAC,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACpG,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAkC,IAAI,CAAC,MAAM,EAAE,iCAAiC,IAAI,EAAE,CAAC,CAAA;QACjH,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,MAAM,CAAC,cAA+B;QAC1C,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,iCAAiC,cAAc,EAAE,CAAC,CAAA;IACjF,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ApiClient } from '../http.js';
|
|
2
|
+
import type { DeployLockDto, AcquireDeployLockRequest } from '../types.js';
|
|
3
|
+
export declare class DeployLock {
|
|
4
|
+
private readonly client;
|
|
5
|
+
constructor(client: ApiClient);
|
|
6
|
+
/** Acquire an exclusive deploy lock for the current workspace. Throws CONFLICT (409) if already held. */
|
|
7
|
+
acquire(body: AcquireDeployLockRequest): Promise<DeployLockDto>;
|
|
8
|
+
/** Get the current deploy lock status (returns null if no lock is held). */
|
|
9
|
+
current(): Promise<DeployLockDto | null>;
|
|
10
|
+
/** Release a deploy lock by its ID. */
|
|
11
|
+
release(lockId: string): Promise<void>;
|
|
12
|
+
/** Force-release any deploy lock on the current workspace. */
|
|
13
|
+
forceRelease(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=deploy-lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-lock.d.ts","sourceRoot":"","sources":["../../src/resources/deploy-lock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAC,aAAa,EAAE,wBAAwB,EAAC,MAAM,aAAa,CAAA;AAGxE,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,SAAS;IAE9C,yGAAyG;IACnG,OAAO,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC;IAKrE,4EAA4E;IACtE,OAAO,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAK9C,uCAAuC;IACjC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,8DAA8D;IACxD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAGpC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { apiGet, apiPost, apiDelete, unwrapSingle } from '../http.js';
|
|
2
|
+
export class DeployLock {
|
|
3
|
+
client;
|
|
4
|
+
constructor(client) {
|
|
5
|
+
this.client = client;
|
|
6
|
+
}
|
|
7
|
+
/** Acquire an exclusive deploy lock for the current workspace. Throws CONFLICT (409) if already held. */
|
|
8
|
+
async acquire(body) {
|
|
9
|
+
const resp = await apiPost(this.client, '/api/v1/deploy/lock', body);
|
|
10
|
+
return unwrapSingle(resp);
|
|
11
|
+
}
|
|
12
|
+
/** Get the current deploy lock status (returns null if no lock is held). */
|
|
13
|
+
async current() {
|
|
14
|
+
const resp = await apiGet(this.client, '/api/v1/deploy/lock');
|
|
15
|
+
return resp.data ?? null;
|
|
16
|
+
}
|
|
17
|
+
/** Release a deploy lock by its ID. */
|
|
18
|
+
async release(lockId) {
|
|
19
|
+
await apiDelete(this.client, `/api/v1/deploy/lock/${lockId}`);
|
|
20
|
+
}
|
|
21
|
+
/** Force-release any deploy lock on the current workspace. */
|
|
22
|
+
async forceRelease() {
|
|
23
|
+
await apiDelete(this.client, '/api/v1/deploy/lock/force');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=deploy-lock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-lock.js","sourceRoot":"","sources":["../../src/resources/deploy-lock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,YAAY,CAAA;AAEnE,MAAM,OAAO,UAAU;IACQ;IAA7B,YAA6B,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAElD,yGAAyG;IACzG,KAAK,CAAC,OAAO,CAAC,IAA8B;QAC1C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAyB,IAAI,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAA;QAC5F,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,GAAG,MAAM,MAAM,CAAgC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;QAC5F,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAA;IAC1B,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,MAAM,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,YAAY;QAChB,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAA;IAC3D,CAAC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ApiClient } from '../http.js';
|
|
2
|
+
import type { EnvironmentDto, CreateEnvironmentRequest, UpdateEnvironmentRequest, Page } from '../types.js';
|
|
3
|
+
export declare class Environments {
|
|
4
|
+
private readonly client;
|
|
5
|
+
constructor(client: ApiClient);
|
|
6
|
+
/** List all environments (auto-paginates). */
|
|
7
|
+
list(): Promise<EnvironmentDto[]>;
|
|
8
|
+
/** List environments with manual page control. */
|
|
9
|
+
listPage(page: number, size: number): Promise<Page<EnvironmentDto>>;
|
|
10
|
+
/** Get a single environment by slug. */
|
|
11
|
+
get(slug: string): Promise<EnvironmentDto>;
|
|
12
|
+
/** Create a new environment. */
|
|
13
|
+
create(body: CreateEnvironmentRequest): Promise<EnvironmentDto>;
|
|
14
|
+
/** Update an existing environment. */
|
|
15
|
+
update(slug: string, body: UpdateEnvironmentRequest): Promise<EnvironmentDto>;
|
|
16
|
+
/** Delete an environment. */
|
|
17
|
+
delete(slug: string): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=environments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../../src/resources/environments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAC,cAAc,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,IAAI,EAAC,MAAM,aAAa,CAAA;AAGzG,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,SAAS;IAE9C,8CAA8C;IACxC,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAIvC,kDAAkD;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAIzE,wCAAwC;IAClC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAKhD,gCAAgC;IAC1B,MAAM,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC;IAKrE,sCAAsC;IAChC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC;IAKnF,6BAA6B;IACvB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { apiGet, apiPost, apiPut, apiDelete, fetchAllPages, fetchPage, unwrapSingle } from '../http.js';
|
|
2
|
+
export class Environments {
|
|
3
|
+
client;
|
|
4
|
+
constructor(client) {
|
|
5
|
+
this.client = client;
|
|
6
|
+
}
|
|
7
|
+
/** List all environments (auto-paginates). */
|
|
8
|
+
async list() {
|
|
9
|
+
return fetchAllPages(this.client, '/api/v1/environments');
|
|
10
|
+
}
|
|
11
|
+
/** List environments with manual page control. */
|
|
12
|
+
async listPage(page, size) {
|
|
13
|
+
return fetchPage(this.client, '/api/v1/environments', page, size);
|
|
14
|
+
}
|
|
15
|
+
/** Get a single environment by slug. */
|
|
16
|
+
async get(slug) {
|
|
17
|
+
const resp = await apiGet(this.client, `/api/v1/environments/${slug}`);
|
|
18
|
+
return unwrapSingle(resp);
|
|
19
|
+
}
|
|
20
|
+
/** Create a new environment. */
|
|
21
|
+
async create(body) {
|
|
22
|
+
const resp = await apiPost(this.client, '/api/v1/environments', body);
|
|
23
|
+
return unwrapSingle(resp);
|
|
24
|
+
}
|
|
25
|
+
/** Update an existing environment. */
|
|
26
|
+
async update(slug, body) {
|
|
27
|
+
const resp = await apiPut(this.client, `/api/v1/environments/${slug}`, body);
|
|
28
|
+
return unwrapSingle(resp);
|
|
29
|
+
}
|
|
30
|
+
/** Delete an environment. */
|
|
31
|
+
async delete(slug) {
|
|
32
|
+
await apiDelete(this.client, `/api/v1/environments/${slug}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=environments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environments.js","sourceRoot":"","sources":["../../src/resources/environments.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,YAAY,CAAA;AAErG,MAAM,OAAO,YAAY;IACM;IAA7B,YAA6B,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAElD,8CAA8C;IAC9C,KAAK,CAAC,IAAI;QACR,OAAO,aAAa,CAAiB,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;IAC3E,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAAY;QACvC,OAAO,SAAS,CAAiB,IAAI,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACnF,CAAC;IAED,wCAAwC;IACxC,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,MAAM,IAAI,GAAG,MAAM,MAAM,CAA0B,IAAI,CAAC,MAAM,EAAE,wBAAwB,IAAI,EAAE,CAAC,CAAA;QAC/F,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,MAAM,CAAC,IAA8B;QACzC,MAAM,IAAI,GAAG,MAAM,OAAO,CAA0B,IAAI,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAA;QAC9F,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,IAA8B;QACvD,MAAM,IAAI,GAAG,MAAM,MAAM,CAA0B,IAAI,CAAC,MAAM,EAAE,wBAAwB,IAAI,EAAE,EAAE,IAAI,CAAC,CAAA;QACrG,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,6BAA6B;IAC7B,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,wBAAwB,IAAI,EAAE,CAAC,CAAA;IAC9D,CAAC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ApiClient } from '../http.js';
|
|
2
|
+
import type { IncidentDto, IncidentDetailDto, CreateManualIncidentRequest, Page } from '../types.js';
|
|
3
|
+
export declare class Incidents {
|
|
4
|
+
private readonly client;
|
|
5
|
+
constructor(client: ApiClient);
|
|
6
|
+
/** List all incidents (auto-paginates). */
|
|
7
|
+
list(): Promise<IncidentDto[]>;
|
|
8
|
+
/** List incidents with manual page control. */
|
|
9
|
+
listPage(page: number, size: number): Promise<Page<IncidentDto>>;
|
|
10
|
+
/** Get a single incident by ID. */
|
|
11
|
+
get(id: string | number): Promise<IncidentDetailDto>;
|
|
12
|
+
/** Create a manual incident. */
|
|
13
|
+
create(body: CreateManualIncidentRequest): Promise<IncidentDto>;
|
|
14
|
+
/** Resolve an incident. */
|
|
15
|
+
resolve(id: string | number, message?: string): Promise<IncidentDetailDto>;
|
|
16
|
+
/** Delete an incident. */
|
|
17
|
+
delete(id: string | number): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=incidents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incidents.d.ts","sourceRoot":"","sources":["../../src/resources/incidents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAC,WAAW,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,IAAI,EAAC,MAAM,aAAa,CAAA;AAGlG,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,SAAS;IAE9C,2CAA2C;IACrC,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAIpC,+CAA+C;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAItE,mCAAmC;IAC7B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAK1D,gCAAgC;IAC1B,MAAM,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,WAAW,CAAC;IAKrE,2BAA2B;IACrB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMhF,0BAA0B;IACpB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGjD"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { apiGet, apiPost, apiDelete, fetchAllPages, fetchPage, unwrapSingle } from '../http.js';
|
|
2
|
+
export class Incidents {
|
|
3
|
+
client;
|
|
4
|
+
constructor(client) {
|
|
5
|
+
this.client = client;
|
|
6
|
+
}
|
|
7
|
+
/** List all incidents (auto-paginates). */
|
|
8
|
+
async list() {
|
|
9
|
+
return fetchAllPages(this.client, '/api/v1/incidents');
|
|
10
|
+
}
|
|
11
|
+
/** List incidents with manual page control. */
|
|
12
|
+
async listPage(page, size) {
|
|
13
|
+
return fetchPage(this.client, '/api/v1/incidents', page, size);
|
|
14
|
+
}
|
|
15
|
+
/** Get a single incident by ID. */
|
|
16
|
+
async get(id) {
|
|
17
|
+
const resp = await apiGet(this.client, `/api/v1/incidents/${id}`);
|
|
18
|
+
return unwrapSingle(resp);
|
|
19
|
+
}
|
|
20
|
+
/** Create a manual incident. */
|
|
21
|
+
async create(body) {
|
|
22
|
+
const resp = await apiPost(this.client, '/api/v1/incidents', body);
|
|
23
|
+
return unwrapSingle(resp);
|
|
24
|
+
}
|
|
25
|
+
/** Resolve an incident. */
|
|
26
|
+
async resolve(id, message) {
|
|
27
|
+
const body = message ? { message } : {};
|
|
28
|
+
const resp = await apiPost(this.client, `/api/v1/incidents/${id}/resolve`, body);
|
|
29
|
+
return unwrapSingle(resp);
|
|
30
|
+
}
|
|
31
|
+
/** Delete an incident. */
|
|
32
|
+
async delete(id) {
|
|
33
|
+
await apiDelete(this.client, `/api/v1/incidents/${id}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=incidents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incidents.js","sourceRoot":"","sources":["../../src/resources/incidents.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,YAAY,CAAA;AAE7F,MAAM,OAAO,SAAS;IACS;IAA7B,YAA6B,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAElD,2CAA2C;IAC3C,KAAK,CAAC,IAAI;QACR,OAAO,aAAa,CAAc,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IACrE,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAAY;QACvC,OAAO,SAAS,CAAc,IAAI,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC7E,CAAC;IAED,mCAAmC;IACnC,KAAK,CAAC,GAAG,CAAC,EAAmB;QAC3B,MAAM,IAAI,GAAG,MAAM,MAAM,CAA6B,IAAI,CAAC,MAAM,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAA;QAC7F,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,MAAM,CAAC,IAAiC;QAC5C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAuB,IAAI,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAA;QACxF,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,OAAO,CAAC,EAAmB,EAAE,OAAgB;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACrC,MAAM,IAAI,GAAG,MAAM,OAAO,CAA6B,IAAI,CAAC,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;QAC5G,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,MAAM,CAAC,EAAmB;QAC9B,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAA;IACzD,CAAC;CACF"}
|