@uluops/ops-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/README.md +1647 -0
- package/dist/client.d.ts +191 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +168 -0
- package/dist/client.js.map +1 -0
- package/dist/config/constants.d.ts +27 -0
- package/dist/config/constants.d.ts.map +1 -0
- package/dist/config/constants.js +35 -0
- package/dist/config/constants.js.map +1 -0
- package/dist/config/index.d.ts +4 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +4 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loaders.d.ts +41 -0
- package/dist/config/loaders.d.ts.map +1 -0
- package/dist/config/loaders.js +43 -0
- package/dist/config/loaders.js.map +1 -0
- package/dist/config/validators.d.ts +163 -0
- package/dist/config/validators.d.ts.map +1 -0
- package/dist/config/validators.js +126 -0
- package/dist/config/validators.js.map +1 -0
- package/dist/errors/errors.d.ts +7 -0
- package/dist/errors/errors.d.ts.map +1 -0
- package/dist/errors/errors.js +7 -0
- package/dist/errors/errors.js.map +1 -0
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +2 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/http/auth-strategy.d.ts +5 -0
- package/dist/http/auth-strategy.d.ts.map +1 -0
- package/dist/http/auth-strategy.js +5 -0
- package/dist/http/auth-strategy.js.map +1 -0
- package/dist/http/fetch-adapter.d.ts +5 -0
- package/dist/http/fetch-adapter.d.ts.map +1 -0
- package/dist/http/fetch-adapter.js +2 -0
- package/dist/http/fetch-adapter.js.map +1 -0
- package/dist/http/http-client.d.ts +29 -0
- package/dist/http/http-client.d.ts.map +1 -0
- package/dist/http/http-client.js +25 -0
- package/dist/http/http-client.js.map +1 -0
- package/dist/http/index.d.ts +6 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +3 -0
- package/dist/http/index.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/operations/admin.d.ts +89 -0
- package/dist/operations/admin.d.ts.map +1 -0
- package/dist/operations/admin.js +134 -0
- package/dist/operations/admin.js.map +1 -0
- package/dist/operations/analytics.d.ts +81 -0
- package/dist/operations/analytics.d.ts.map +1 -0
- package/dist/operations/analytics.js +111 -0
- package/dist/operations/analytics.js.map +1 -0
- package/dist/operations/auth.d.ts +81 -0
- package/dist/operations/auth.d.ts.map +1 -0
- package/dist/operations/auth.js +115 -0
- package/dist/operations/auth.js.map +1 -0
- package/dist/operations/index.d.ts +8 -0
- package/dist/operations/index.d.ts.map +1 -0
- package/dist/operations/index.js +8 -0
- package/dist/operations/index.js.map +1 -0
- package/dist/operations/issues.d.ts +59 -0
- package/dist/operations/issues.d.ts.map +1 -0
- package/dist/operations/issues.js +141 -0
- package/dist/operations/issues.js.map +1 -0
- package/dist/operations/projects.d.ts +56 -0
- package/dist/operations/projects.d.ts.map +1 -0
- package/dist/operations/projects.js +99 -0
- package/dist/operations/projects.js.map +1 -0
- package/dist/operations/query-utils.d.ts +20 -0
- package/dist/operations/query-utils.d.ts.map +1 -0
- package/dist/operations/query-utils.js +22 -0
- package/dist/operations/query-utils.js.map +1 -0
- package/dist/operations/runs.d.ts +53 -0
- package/dist/operations/runs.d.ts.map +1 -0
- package/dist/operations/runs.js +118 -0
- package/dist/operations/runs.js.map +1 -0
- package/dist/operations/taxonomy.d.ts +7 -0
- package/dist/operations/taxonomy.d.ts.map +1 -0
- package/dist/operations/taxonomy.js +7 -0
- package/dist/operations/taxonomy.js.map +1 -0
- package/dist/types/analytics.d.ts +338 -0
- package/dist/types/analytics.d.ts.map +1 -0
- package/dist/types/analytics.js +2 -0
- package/dist/types/analytics.js.map +1 -0
- package/dist/types/auth.d.ts +303 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +2 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/enums.d.ts +200 -0
- package/dist/types/enums.d.ts.map +1 -0
- package/dist/types/enums.js +222 -0
- package/dist/types/enums.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +16 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/issues.d.ts +182 -0
- package/dist/types/issues.d.ts.map +1 -0
- package/dist/types/issues.js +2 -0
- package/dist/types/issues.js.map +1 -0
- package/dist/types/projects.d.ts +123 -0
- package/dist/types/projects.d.ts.map +1 -0
- package/dist/types/projects.js +2 -0
- package/dist/types/projects.js.map +1 -0
- package/dist/types/response-schemas.d.ts +3441 -0
- package/dist/types/response-schemas.d.ts.map +1 -0
- package/dist/types/response-schemas.js +388 -0
- package/dist/types/response-schemas.js.map +1 -0
- package/dist/types/responses.d.ts +84 -0
- package/dist/types/responses.d.ts.map +1 -0
- package/dist/types/responses.js +2 -0
- package/dist/types/responses.js.map +1 -0
- package/dist/types/runs.d.ts +232 -0
- package/dist/types/runs.d.ts.map +1 -0
- package/dist/types/runs.js +2 -0
- package/dist/types/runs.js.map +1 -0
- package/dist/types/schemas.d.ts +914 -0
- package/dist/types/schemas.d.ts.map +1 -0
- package/dist/types/schemas.js +280 -0
- package/dist/types/schemas.js.map +1 -0
- package/dist/utils/helpers.d.ts +64 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +127 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +5 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +5 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +103 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Validation error with details
|
|
4
|
+
*/
|
|
5
|
+
export declare class InputValidationError extends Error {
|
|
6
|
+
readonly errors: z.ZodError['errors'];
|
|
7
|
+
constructor(message: string, errors: z.ZodError['errors']);
|
|
8
|
+
}
|
|
9
|
+
export declare function validateRegisterInput(data: unknown): {
|
|
10
|
+
email: string;
|
|
11
|
+
password: string;
|
|
12
|
+
};
|
|
13
|
+
export declare function validateLoginInput(data: unknown): {
|
|
14
|
+
email: string;
|
|
15
|
+
password: string;
|
|
16
|
+
};
|
|
17
|
+
export declare function validateUpdateProfileInput(data: unknown): {
|
|
18
|
+
username?: string | null | undefined;
|
|
19
|
+
name?: string | null | undefined;
|
|
20
|
+
bio?: string | null | undefined;
|
|
21
|
+
timezone?: string | null | undefined;
|
|
22
|
+
websiteUrl?: string | null | undefined;
|
|
23
|
+
avatar?: string | null | undefined;
|
|
24
|
+
avatarMimeType?: "image/png" | "image/jpeg" | "image/gif" | "image/webp" | null | undefined;
|
|
25
|
+
};
|
|
26
|
+
export declare function validateChangePasswordInput(data: unknown): {
|
|
27
|
+
currentPassword: string;
|
|
28
|
+
newPassword: string;
|
|
29
|
+
};
|
|
30
|
+
export declare function validateResetPasswordInput(data: unknown): {
|
|
31
|
+
password: string;
|
|
32
|
+
token: string;
|
|
33
|
+
};
|
|
34
|
+
export declare function validateCreateApiKeyInput(data: unknown): {
|
|
35
|
+
expiresAt?: string | undefined;
|
|
36
|
+
name?: string | undefined;
|
|
37
|
+
};
|
|
38
|
+
export declare function validateCreateProjectInput(data: unknown): {
|
|
39
|
+
name: string;
|
|
40
|
+
};
|
|
41
|
+
export declare function validateDeleteProjectInput(data: unknown): {
|
|
42
|
+
confirm: true;
|
|
43
|
+
confirmationPhrase: string;
|
|
44
|
+
};
|
|
45
|
+
export declare function validateRenameProjectInput(data: unknown): {
|
|
46
|
+
oldName: string;
|
|
47
|
+
newName: string;
|
|
48
|
+
};
|
|
49
|
+
export declare function validateSaveFeaturesListInput(data: unknown): {
|
|
50
|
+
project: string;
|
|
51
|
+
workflowType: string;
|
|
52
|
+
validators: {
|
|
53
|
+
status: string;
|
|
54
|
+
name: string;
|
|
55
|
+
score: number;
|
|
56
|
+
maxScore?: number | undefined;
|
|
57
|
+
model?: string | undefined;
|
|
58
|
+
tokens?: {
|
|
59
|
+
inputTokens: number;
|
|
60
|
+
outputTokens: number;
|
|
61
|
+
cacheCreationTokens?: number | undefined;
|
|
62
|
+
cacheReadTokens?: number | undefined;
|
|
63
|
+
totalEffectiveTokens?: number | undefined;
|
|
64
|
+
} | undefined;
|
|
65
|
+
durationMs?: number | undefined;
|
|
66
|
+
}[];
|
|
67
|
+
recommendations: {
|
|
68
|
+
validator: string;
|
|
69
|
+
title: string;
|
|
70
|
+
priority: "critical" | "suggested" | "backlog";
|
|
71
|
+
type?: "feature" | "bug" | "refactor" | "config" | "docs" | "infra" | "security" | "test" | undefined;
|
|
72
|
+
severity?: "critical" | "high" | "medium" | "low" | "info" | undefined;
|
|
73
|
+
failureCode?: string | undefined;
|
|
74
|
+
failureDomain?: "STR" | "SEM" | "PRA" | "EPI" | undefined;
|
|
75
|
+
failureMode?: string | undefined;
|
|
76
|
+
category?: string | undefined;
|
|
77
|
+
filePath?: string | undefined;
|
|
78
|
+
lineNumber?: number | undefined;
|
|
79
|
+
description?: string | undefined;
|
|
80
|
+
classificationConfidence?: "high" | "medium" | "low" | undefined;
|
|
81
|
+
classifiedBy?: "validator" | "classifier" | "human" | undefined;
|
|
82
|
+
secondaryFailureCodes?: string[] | undefined;
|
|
83
|
+
taxonomyVersion?: string | undefined;
|
|
84
|
+
}[];
|
|
85
|
+
timestamp?: string | undefined;
|
|
86
|
+
rawMarkdown?: string | undefined;
|
|
87
|
+
summary?: {
|
|
88
|
+
allGatesPassed?: boolean | undefined;
|
|
89
|
+
averageScore?: number | undefined;
|
|
90
|
+
} | undefined;
|
|
91
|
+
idempotencyKey?: string | undefined;
|
|
92
|
+
};
|
|
93
|
+
export declare function validateArchiveRunsInput(data: unknown): {
|
|
94
|
+
project: string;
|
|
95
|
+
beforeRunNumber?: number | undefined;
|
|
96
|
+
beforeDate?: string | undefined;
|
|
97
|
+
keepLast?: number | undefined;
|
|
98
|
+
reason?: string | undefined;
|
|
99
|
+
};
|
|
100
|
+
export declare function validateCreateUserIssueInput(data: unknown): {
|
|
101
|
+
title: string;
|
|
102
|
+
priority: "critical" | "suggested" | "backlog";
|
|
103
|
+
project: string;
|
|
104
|
+
validator?: string | undefined;
|
|
105
|
+
type?: "feature" | "bug" | "refactor" | "config" | "docs" | "infra" | "security" | "test" | undefined;
|
|
106
|
+
severity?: "critical" | "high" | "medium" | "low" | "info" | undefined;
|
|
107
|
+
failureCode?: string | undefined;
|
|
108
|
+
failureDomain?: "STR" | "SEM" | "PRA" | "EPI" | undefined;
|
|
109
|
+
failureMode?: string | undefined;
|
|
110
|
+
category?: string | undefined;
|
|
111
|
+
filePath?: string | undefined;
|
|
112
|
+
lineNumber?: number | undefined;
|
|
113
|
+
description?: string | undefined;
|
|
114
|
+
};
|
|
115
|
+
export declare function validateUpdateIssueInput(data: unknown): {
|
|
116
|
+
type?: "feature" | "bug" | "refactor" | "config" | "docs" | "infra" | "security" | "test" | null | undefined;
|
|
117
|
+
status?: "open" | "completed" | "deferred" | "wontfix" | "merged" | "false-positive" | undefined;
|
|
118
|
+
title?: string | undefined;
|
|
119
|
+
priority?: "critical" | "suggested" | "backlog" | undefined;
|
|
120
|
+
severity?: "critical" | "high" | "medium" | "low" | "info" | null | undefined;
|
|
121
|
+
failureCode?: string | null | undefined;
|
|
122
|
+
failureDomain?: "STR" | "SEM" | "PRA" | "EPI" | null | undefined;
|
|
123
|
+
failureMode?: string | null | undefined;
|
|
124
|
+
category?: string | null | undefined;
|
|
125
|
+
filePath?: string | null | undefined;
|
|
126
|
+
lineNumber?: number | null | undefined;
|
|
127
|
+
};
|
|
128
|
+
export declare function validateUpdateIssueStatusInput(data: unknown): {
|
|
129
|
+
status: "open" | "completed" | "deferred" | "wontfix" | "merged" | "false-positive";
|
|
130
|
+
reason?: string | undefined;
|
|
131
|
+
};
|
|
132
|
+
export declare function validateCreateIssueNoteInput(data: unknown): {
|
|
133
|
+
content: string;
|
|
134
|
+
noteType?: "context" | "resolution" | "blocker" | undefined;
|
|
135
|
+
createdBy?: string | undefined;
|
|
136
|
+
};
|
|
137
|
+
export declare function validateBulkStatusUpdateInput(data: unknown): {
|
|
138
|
+
updates: {
|
|
139
|
+
status: "open" | "completed" | "deferred" | "wontfix" | "merged" | "false-positive";
|
|
140
|
+
reason?: string | undefined;
|
|
141
|
+
issueId?: string | undefined;
|
|
142
|
+
id?: string | undefined;
|
|
143
|
+
}[];
|
|
144
|
+
};
|
|
145
|
+
export declare function validateAdminCreateUserInput(data: unknown): {
|
|
146
|
+
email: string;
|
|
147
|
+
role: "viewer" | "developer" | "publisher" | "admin";
|
|
148
|
+
subscriptionTier: "free" | "pro" | "enterprise";
|
|
149
|
+
password?: string | undefined;
|
|
150
|
+
sendWelcomeEmail?: boolean | undefined;
|
|
151
|
+
};
|
|
152
|
+
export declare function validateAdminUpdateUserInput(data: unknown): {
|
|
153
|
+
email?: string | undefined;
|
|
154
|
+
role?: "viewer" | "developer" | "publisher" | "admin" | undefined;
|
|
155
|
+
subscriptionTier?: "free" | "pro" | "enterprise" | undefined;
|
|
156
|
+
};
|
|
157
|
+
export declare function validateBulkDeactivateInput(data: unknown): {
|
|
158
|
+
userIds: string[];
|
|
159
|
+
};
|
|
160
|
+
export declare function validateUuid(value: string, fieldName: string): void;
|
|
161
|
+
export declare function validateRequiredString(value: unknown, fieldName: string): string;
|
|
162
|
+
export declare function validatePositiveInt(value: unknown, fieldName: string): number;
|
|
163
|
+
//# sourceMappingURL=validators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/config/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuBxB;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;aAG3B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAD5C,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;CAK/C;AA2BD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO;;;EAElD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO;;;EAE/C;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO;;;;;;;;EAEvD;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,OAAO;;;EAExD;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO;;;EAEvD;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO;;;EAEtD;AAMD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO;;EAEvD;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO;;;EAEvD;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO;;;EAEvD;AAMD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE1D;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO;;;;;;EAErD;AAMD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO;;;;;;;;;;;;;;EAEzD;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO;;;;;;;;;;;;EAErD;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO;;;EAE3D;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO;;;;EAEzD;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,OAAO;;;;;;;EAE1D;AAMD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO;;;;;;EAEzD;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO;;;;EAEzD;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,OAAO;;EAExD;AAMD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAKnE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKhF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAM7E"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { CreateProjectInputSchema, SaveFeaturesListInputSchema, CreateUserIssueInputSchema, UpdateIssueStatusInputSchema, CreateIssueNoteInputSchema, ArchiveRunsInputSchema, RegisterInputSchema, LoginInputSchema, UpdateProfileInputSchema, ChangePasswordInputSchema, ResetPasswordInputSchema, CreateApiKeyInputSchema, AdminCreateUserInputSchema, AdminUpdateUserInputSchema, BulkDeactivateInputSchema, BulkStatusUpdateInputSchema, DeleteProjectInputSchema, RenameProjectInputSchema, UpdateIssueInputSchema, } from '../types/schemas.js';
|
|
2
|
+
/**
|
|
3
|
+
* Validation error with details
|
|
4
|
+
*/
|
|
5
|
+
export class InputValidationError extends Error {
|
|
6
|
+
errors;
|
|
7
|
+
constructor(message, errors) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.errors = errors;
|
|
10
|
+
this.name = 'InputValidationError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Generic validation function
|
|
15
|
+
*/
|
|
16
|
+
function formatZodError(e) {
|
|
17
|
+
const field = e.path.join('.') || '(root)';
|
|
18
|
+
if (e.code === 'invalid_enum_value') {
|
|
19
|
+
const opts = e.options.join(', ');
|
|
20
|
+
return `${field} must be one of: ${opts} (got '${e.received}')`;
|
|
21
|
+
}
|
|
22
|
+
return `${field}: ${e.message}`;
|
|
23
|
+
}
|
|
24
|
+
function validate(schema, data, context) {
|
|
25
|
+
const result = schema.safeParse(data);
|
|
26
|
+
if (!result.success) {
|
|
27
|
+
const messages = result.error.errors.map(formatZodError).join(', ');
|
|
28
|
+
throw new InputValidationError(`Invalid ${context}: ${messages}`, result.error.errors);
|
|
29
|
+
}
|
|
30
|
+
return result.data;
|
|
31
|
+
}
|
|
32
|
+
// ============================================
|
|
33
|
+
// AUTH VALIDATORS
|
|
34
|
+
// ============================================
|
|
35
|
+
export function validateRegisterInput(data) {
|
|
36
|
+
return validate(RegisterInputSchema, data, 'register input');
|
|
37
|
+
}
|
|
38
|
+
export function validateLoginInput(data) {
|
|
39
|
+
return validate(LoginInputSchema, data, 'login input');
|
|
40
|
+
}
|
|
41
|
+
export function validateUpdateProfileInput(data) {
|
|
42
|
+
return validate(UpdateProfileInputSchema, data, 'profile update');
|
|
43
|
+
}
|
|
44
|
+
export function validateChangePasswordInput(data) {
|
|
45
|
+
return validate(ChangePasswordInputSchema, data, 'password change');
|
|
46
|
+
}
|
|
47
|
+
export function validateResetPasswordInput(data) {
|
|
48
|
+
return validate(ResetPasswordInputSchema, data, 'password reset');
|
|
49
|
+
}
|
|
50
|
+
export function validateCreateApiKeyInput(data) {
|
|
51
|
+
return validate(CreateApiKeyInputSchema, data, 'API key creation');
|
|
52
|
+
}
|
|
53
|
+
// ============================================
|
|
54
|
+
// PROJECT VALIDATORS
|
|
55
|
+
// ============================================
|
|
56
|
+
export function validateCreateProjectInput(data) {
|
|
57
|
+
return validate(CreateProjectInputSchema, data, 'project creation');
|
|
58
|
+
}
|
|
59
|
+
export function validateDeleteProjectInput(data) {
|
|
60
|
+
return validate(DeleteProjectInputSchema, data, 'project deletion');
|
|
61
|
+
}
|
|
62
|
+
export function validateRenameProjectInput(data) {
|
|
63
|
+
return validate(RenameProjectInputSchema, data, 'project rename');
|
|
64
|
+
}
|
|
65
|
+
// ============================================
|
|
66
|
+
// RUN VALIDATORS
|
|
67
|
+
// ============================================
|
|
68
|
+
export function validateSaveFeaturesListInput(data) {
|
|
69
|
+
return validate(SaveFeaturesListInputSchema, data, 'features list');
|
|
70
|
+
}
|
|
71
|
+
export function validateArchiveRunsInput(data) {
|
|
72
|
+
return validate(ArchiveRunsInputSchema, data, 'archive runs');
|
|
73
|
+
}
|
|
74
|
+
// ============================================
|
|
75
|
+
// ISSUE VALIDATORS
|
|
76
|
+
// ============================================
|
|
77
|
+
export function validateCreateUserIssueInput(data) {
|
|
78
|
+
return validate(CreateUserIssueInputSchema, data, 'issue creation');
|
|
79
|
+
}
|
|
80
|
+
export function validateUpdateIssueInput(data) {
|
|
81
|
+
return validate(UpdateIssueInputSchema, data, 'issue update');
|
|
82
|
+
}
|
|
83
|
+
export function validateUpdateIssueStatusInput(data) {
|
|
84
|
+
return validate(UpdateIssueStatusInputSchema, data, 'status update');
|
|
85
|
+
}
|
|
86
|
+
export function validateCreateIssueNoteInput(data) {
|
|
87
|
+
return validate(CreateIssueNoteInputSchema, data, 'issue note');
|
|
88
|
+
}
|
|
89
|
+
export function validateBulkStatusUpdateInput(data) {
|
|
90
|
+
return validate(BulkStatusUpdateInputSchema, data, 'bulk status update');
|
|
91
|
+
}
|
|
92
|
+
// ============================================
|
|
93
|
+
// ADMIN VALIDATORS
|
|
94
|
+
// ============================================
|
|
95
|
+
export function validateAdminCreateUserInput(data) {
|
|
96
|
+
return validate(AdminCreateUserInputSchema, data, 'admin user creation');
|
|
97
|
+
}
|
|
98
|
+
export function validateAdminUpdateUserInput(data) {
|
|
99
|
+
return validate(AdminUpdateUserInputSchema, data, 'admin user update');
|
|
100
|
+
}
|
|
101
|
+
export function validateBulkDeactivateInput(data) {
|
|
102
|
+
return validate(BulkDeactivateInputSchema, data, 'bulk deactivation');
|
|
103
|
+
}
|
|
104
|
+
// ============================================
|
|
105
|
+
// SIMPLE VALIDATORS
|
|
106
|
+
// ============================================
|
|
107
|
+
export function validateUuid(value, fieldName) {
|
|
108
|
+
const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
109
|
+
if (!uuidRegex.test(value)) {
|
|
110
|
+
throw new InputValidationError(`Invalid ${fieldName}: must be a valid UUID`, []);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
export function validateRequiredString(value, fieldName) {
|
|
114
|
+
if (typeof value !== 'string' || value.trim().length === 0) {
|
|
115
|
+
throw new InputValidationError(`${fieldName} is required`, []);
|
|
116
|
+
}
|
|
117
|
+
return value.trim();
|
|
118
|
+
}
|
|
119
|
+
export function validatePositiveInt(value, fieldName) {
|
|
120
|
+
const num = Number(value);
|
|
121
|
+
if (!Number.isInteger(num) || num <= 0) {
|
|
122
|
+
throw new InputValidationError(`${fieldName} must be a positive integer`, []);
|
|
123
|
+
}
|
|
124
|
+
return num;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/config/validators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error classes re-exported from @uluops/sdk-core
|
|
3
|
+
*
|
|
4
|
+
* OpsApiError is an alias for SdkApiError to preserve the public API.
|
|
5
|
+
*/
|
|
6
|
+
export { SdkApiError as OpsApiError, ValidationError, UnauthorizedError, ForbiddenError, NotFoundError, ConflictError, PayloadTooLargeError, UnprocessableError, RateLimitError, ServiceUnavailableError, NetworkError, TimeoutError, createErrorFromStatus, isSdkApiError as isOpsApiError, isValidationError, isNotFoundError, isConflictError, isUnprocessableError, isRateLimitError, } from '@uluops/sdk-core/errors';
|
|
7
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,WAAW,IAAI,WAAW,EAC1B,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,aAAa,IAAI,aAAa,EAC9B,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error classes re-exported from @uluops/sdk-core
|
|
3
|
+
*
|
|
4
|
+
* OpsApiError is an alias for SdkApiError to preserve the public API.
|
|
5
|
+
*/
|
|
6
|
+
export { SdkApiError as OpsApiError, ValidationError, UnauthorizedError, ForbiddenError, NotFoundError, ConflictError, PayloadTooLargeError, UnprocessableError, RateLimitError, ServiceUnavailableError, NetworkError, TimeoutError, createErrorFromStatus, isSdkApiError as isOpsApiError, isValidationError, isNotFoundError, isConflictError, isUnprocessableError, isRateLimitError, } from '@uluops/sdk-core/errors';
|
|
7
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,WAAW,IAAI,WAAW,EAC1B,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,aAAa,IAAI,aAAa,EAC9B,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-strategy.d.ts","sourceRoot":"","sources":["../../src/http/auth-strategy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-strategy.js","sourceRoot":"","sources":["../../src/http/auth-strategy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,UAAU,EACV,cAAc,EACd,kBAAkB,GAGnB,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-adapter.d.ts","sourceRoot":"","sources":["../../src/http/fetch-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-adapter.js","sourceRoot":"","sources":["../../src/http/fetch-adapter.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpsHttpClient — thin subclass of sdk-core's HttpClient
|
|
3
|
+
*
|
|
4
|
+
* Passes ops-sdk defaults (baseUrl, sdkName, loggerPrefix).
|
|
5
|
+
* Keeps the same public HttpClientConfig interface for consumers.
|
|
6
|
+
*/
|
|
7
|
+
import { HttpClient } from '@uluops/sdk-core/http';
|
|
8
|
+
export { toQuery, type QueryParams, type QueryParamValue } from '@uluops/sdk-core/utils';
|
|
9
|
+
/**
|
|
10
|
+
* HTTP client configuration
|
|
11
|
+
*/
|
|
12
|
+
export interface HttpClientConfig {
|
|
13
|
+
baseUrl?: string;
|
|
14
|
+
timeout?: number;
|
|
15
|
+
retries?: number;
|
|
16
|
+
debug?: boolean;
|
|
17
|
+
apiKey?: string;
|
|
18
|
+
email?: string;
|
|
19
|
+
password?: string;
|
|
20
|
+
sessionToken?: string;
|
|
21
|
+
onTokenRefresh?: (token: string) => void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* HTTP client for ops-uluops-api using native fetch
|
|
25
|
+
*/
|
|
26
|
+
export declare class OpsHttpClient extends HttpClient {
|
|
27
|
+
constructor(config?: HttpClientConfig);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=http-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/http/http-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,UAAU;gBAC/B,MAAM,GAAE,gBAAqB;CAS1C"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpsHttpClient — thin subclass of sdk-core's HttpClient
|
|
3
|
+
*
|
|
4
|
+
* Passes ops-sdk defaults (baseUrl, sdkName, loggerPrefix).
|
|
5
|
+
* Keeps the same public HttpClientConfig interface for consumers.
|
|
6
|
+
*/
|
|
7
|
+
import { HttpClient } from '@uluops/sdk-core/http';
|
|
8
|
+
import { DEFAULT_BASE_URL, SDK_VERSION } from '../config/constants.js';
|
|
9
|
+
// Re-export query utilities so operations can continue to import from here
|
|
10
|
+
export { toQuery } from '@uluops/sdk-core/utils';
|
|
11
|
+
/**
|
|
12
|
+
* HTTP client for ops-uluops-api using native fetch
|
|
13
|
+
*/
|
|
14
|
+
export class OpsHttpClient extends HttpClient {
|
|
15
|
+
constructor(config = {}) {
|
|
16
|
+
super({
|
|
17
|
+
...config,
|
|
18
|
+
baseUrl: config.baseUrl ?? DEFAULT_BASE_URL,
|
|
19
|
+
sdkName: '@uluops/ops-sdk',
|
|
20
|
+
sdkVersion: SDK_VERSION,
|
|
21
|
+
loggerPrefix: '[ops-sdk:http]',
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=http-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/http/http-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEvE,2EAA2E;AAC3E,OAAO,EAAE,OAAO,EAA0C,MAAM,wBAAwB,CAAC;AAiBzF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC3C,YAAY,SAA2B,EAAE;QACvC,KAAK,CAAC;YACJ,GAAG,MAAM;YACT,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,gBAAgB;YAC3C,OAAO,EAAE,iBAAiB;YAC1B,UAAU,EAAE,WAAW;YACvB,YAAY,EAAE,gBAAgB;SAC/B,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { OpsHttpClient, toQuery } from './http-client.js';
|
|
2
|
+
export type { HttpClientConfig, QueryParams, QueryParamValue } from './http-client.js';
|
|
3
|
+
export { ApiKeyAuth, JwtSessionAuth, createAuthStrategy } from './auth-strategy.js';
|
|
4
|
+
export type { AuthStrategy, AuthConfig } from './auth-strategy.js';
|
|
5
|
+
export type { FetchClient } from './fetch-adapter.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC1D,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEvF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACpF,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEnE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { OpsClient, type OpsClientConfig } from './client.js';
|
|
2
|
+
export { OpsHttpClient, type HttpClientConfig, type QueryParams, type QueryParamValue } from './http/http-client.js';
|
|
3
|
+
export { ApiKeyAuth, JwtSessionAuth, createAuthStrategy, type AuthStrategy, type AuthConfig } from './http/auth-strategy.js';
|
|
4
|
+
export * from './errors/errors.js';
|
|
5
|
+
export * from './types/index.js';
|
|
6
|
+
export { loadCredentials, loadConfig, loadEnvFiles, type Credentials, type SdkConfig } from './config/loaders.js';
|
|
7
|
+
export { DEFAULT_BASE_URL, API_KEY_PREFIX, ENV_VARS } from './config/constants.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACrH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG7H,cAAc,oBAAoB,CAAC;AAGnC,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAClH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Main client
|
|
2
|
+
export { OpsClient } from './client.js';
|
|
3
|
+
// HTTP client (for advanced usage)
|
|
4
|
+
export { OpsHttpClient } from './http/http-client.js';
|
|
5
|
+
export { ApiKeyAuth, JwtSessionAuth, createAuthStrategy } from './http/auth-strategy.js';
|
|
6
|
+
// Errors
|
|
7
|
+
export * from './errors/errors.js';
|
|
8
|
+
// All types
|
|
9
|
+
export * from './types/index.js';
|
|
10
|
+
// Config utilities
|
|
11
|
+
export { loadCredentials, loadConfig, loadEnvFiles } from './config/loaders.js';
|
|
12
|
+
export { DEFAULT_BASE_URL, API_KEY_PREFIX, ENV_VARS } from './config/constants.js';
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAC;AAE9D,mCAAmC;AACnC,OAAO,EAAE,aAAa,EAAiE,MAAM,uBAAuB,CAAC;AACrH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAsC,MAAM,yBAAyB,CAAC;AAE7H,SAAS;AACT,cAAc,oBAAoB,CAAC;AAEnC,YAAY;AACZ,cAAc,kBAAkB,CAAC;AAEjC,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAoC,MAAM,qBAAqB,CAAC;AAClH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { OpsHttpClient } from '../http/http-client.js';
|
|
2
|
+
import type { AdminCreateUserInput, AdminUpdateUserInput, AdminSession, AdminApiKey, AdminStats, UserStats, PublicUser, BulkResult, ListUsersQuery, ListSessionsQuery, ListKeysQuery } from '../types/auth.js';
|
|
3
|
+
import type { Pagination } from '../types/responses.js';
|
|
4
|
+
/**
|
|
5
|
+
* Get admin dashboard statistics
|
|
6
|
+
*/
|
|
7
|
+
export declare function getStats(client: OpsHttpClient): Promise<AdminStats>;
|
|
8
|
+
/**
|
|
9
|
+
* List all users with filtering and pagination
|
|
10
|
+
*/
|
|
11
|
+
export declare function listUsers(client: OpsHttpClient, query?: ListUsersQuery): Promise<{
|
|
12
|
+
users: PublicUser[];
|
|
13
|
+
pagination: Pagination;
|
|
14
|
+
}>;
|
|
15
|
+
/**
|
|
16
|
+
* Get a user by ID with stats
|
|
17
|
+
*/
|
|
18
|
+
export declare function getUser(client: OpsHttpClient, userId: string): Promise<{
|
|
19
|
+
user: PublicUser;
|
|
20
|
+
stats: UserStats;
|
|
21
|
+
}>;
|
|
22
|
+
/**
|
|
23
|
+
* Create a new user (admin)
|
|
24
|
+
*/
|
|
25
|
+
export declare function createUser(client: OpsHttpClient, input: AdminCreateUserInput): Promise<{
|
|
26
|
+
user: PublicUser;
|
|
27
|
+
temporaryPassword?: string;
|
|
28
|
+
}>;
|
|
29
|
+
/**
|
|
30
|
+
* Update a user (admin)
|
|
31
|
+
*/
|
|
32
|
+
export declare function updateUser(client: OpsHttpClient, userId: string, input: AdminUpdateUserInput): Promise<{
|
|
33
|
+
user: PublicUser;
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* Deactivate (soft-delete) a user
|
|
37
|
+
*/
|
|
38
|
+
export declare function deactivateUser(client: OpsHttpClient, userId: string): Promise<{
|
|
39
|
+
user: PublicUser;
|
|
40
|
+
}>;
|
|
41
|
+
/**
|
|
42
|
+
* Reactivate a deactivated user
|
|
43
|
+
*/
|
|
44
|
+
export declare function reactivateUser(client: OpsHttpClient, userId: string): Promise<{
|
|
45
|
+
user: PublicUser;
|
|
46
|
+
}>;
|
|
47
|
+
/**
|
|
48
|
+
* Trigger a password reset email for a user
|
|
49
|
+
*/
|
|
50
|
+
export declare function resetUserPassword(client: OpsHttpClient, userId: string): Promise<{
|
|
51
|
+
message: string;
|
|
52
|
+
}>;
|
|
53
|
+
/**
|
|
54
|
+
* Bulk deactivate users
|
|
55
|
+
*/
|
|
56
|
+
export declare function bulkDeactivate(client: OpsHttpClient, userIds: string[]): Promise<BulkResult>;
|
|
57
|
+
/**
|
|
58
|
+
* List all active sessions
|
|
59
|
+
*/
|
|
60
|
+
export declare function listSessions(client: OpsHttpClient, query?: ListSessionsQuery): Promise<{
|
|
61
|
+
sessions: AdminSession[];
|
|
62
|
+
pagination: Pagination;
|
|
63
|
+
}>;
|
|
64
|
+
/**
|
|
65
|
+
* Terminate a specific session
|
|
66
|
+
*/
|
|
67
|
+
export declare function terminateSession(client: OpsHttpClient, sessionId: string): Promise<{
|
|
68
|
+
message: string;
|
|
69
|
+
}>;
|
|
70
|
+
/**
|
|
71
|
+
* Terminate all sessions for a user
|
|
72
|
+
*/
|
|
73
|
+
export declare function terminateUserSessions(client: OpsHttpClient, userId: string): Promise<{
|
|
74
|
+
message: string;
|
|
75
|
+
}>;
|
|
76
|
+
/**
|
|
77
|
+
* List all API keys
|
|
78
|
+
*/
|
|
79
|
+
export declare function listKeys(client: OpsHttpClient, query?: ListKeysQuery): Promise<{
|
|
80
|
+
keys: AdminApiKey[];
|
|
81
|
+
pagination: Pagination;
|
|
82
|
+
}>;
|
|
83
|
+
/**
|
|
84
|
+
* Revoke any API key
|
|
85
|
+
*/
|
|
86
|
+
export declare function revokeKey(client: OpsHttpClient, keyId: string): Promise<{
|
|
87
|
+
message: string;
|
|
88
|
+
}>;
|
|
89
|
+
//# sourceMappingURL=admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/operations/admin.ts"],"names":[],"mappings":"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"}
|