@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.
Files changed (139) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1647 -0
  3. package/dist/client.d.ts +191 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +168 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/config/constants.d.ts +27 -0
  8. package/dist/config/constants.d.ts.map +1 -0
  9. package/dist/config/constants.js +35 -0
  10. package/dist/config/constants.js.map +1 -0
  11. package/dist/config/index.d.ts +4 -0
  12. package/dist/config/index.d.ts.map +1 -0
  13. package/dist/config/index.js +4 -0
  14. package/dist/config/index.js.map +1 -0
  15. package/dist/config/loaders.d.ts +41 -0
  16. package/dist/config/loaders.d.ts.map +1 -0
  17. package/dist/config/loaders.js +43 -0
  18. package/dist/config/loaders.js.map +1 -0
  19. package/dist/config/validators.d.ts +163 -0
  20. package/dist/config/validators.d.ts.map +1 -0
  21. package/dist/config/validators.js +126 -0
  22. package/dist/config/validators.js.map +1 -0
  23. package/dist/errors/errors.d.ts +7 -0
  24. package/dist/errors/errors.d.ts.map +1 -0
  25. package/dist/errors/errors.js +7 -0
  26. package/dist/errors/errors.js.map +1 -0
  27. package/dist/errors/index.d.ts +2 -0
  28. package/dist/errors/index.d.ts.map +1 -0
  29. package/dist/errors/index.js +2 -0
  30. package/dist/errors/index.js.map +1 -0
  31. package/dist/http/auth-strategy.d.ts +5 -0
  32. package/dist/http/auth-strategy.d.ts.map +1 -0
  33. package/dist/http/auth-strategy.js +5 -0
  34. package/dist/http/auth-strategy.js.map +1 -0
  35. package/dist/http/fetch-adapter.d.ts +5 -0
  36. package/dist/http/fetch-adapter.d.ts.map +1 -0
  37. package/dist/http/fetch-adapter.js +2 -0
  38. package/dist/http/fetch-adapter.js.map +1 -0
  39. package/dist/http/http-client.d.ts +29 -0
  40. package/dist/http/http-client.d.ts.map +1 -0
  41. package/dist/http/http-client.js +25 -0
  42. package/dist/http/http-client.js.map +1 -0
  43. package/dist/http/index.d.ts +6 -0
  44. package/dist/http/index.d.ts.map +1 -0
  45. package/dist/http/index.js +3 -0
  46. package/dist/http/index.js.map +1 -0
  47. package/dist/index.d.ts +8 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +13 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/operations/admin.d.ts +89 -0
  52. package/dist/operations/admin.d.ts.map +1 -0
  53. package/dist/operations/admin.js +134 -0
  54. package/dist/operations/admin.js.map +1 -0
  55. package/dist/operations/analytics.d.ts +81 -0
  56. package/dist/operations/analytics.d.ts.map +1 -0
  57. package/dist/operations/analytics.js +111 -0
  58. package/dist/operations/analytics.js.map +1 -0
  59. package/dist/operations/auth.d.ts +81 -0
  60. package/dist/operations/auth.d.ts.map +1 -0
  61. package/dist/operations/auth.js +115 -0
  62. package/dist/operations/auth.js.map +1 -0
  63. package/dist/operations/index.d.ts +8 -0
  64. package/dist/operations/index.d.ts.map +1 -0
  65. package/dist/operations/index.js +8 -0
  66. package/dist/operations/index.js.map +1 -0
  67. package/dist/operations/issues.d.ts +59 -0
  68. package/dist/operations/issues.d.ts.map +1 -0
  69. package/dist/operations/issues.js +141 -0
  70. package/dist/operations/issues.js.map +1 -0
  71. package/dist/operations/projects.d.ts +56 -0
  72. package/dist/operations/projects.d.ts.map +1 -0
  73. package/dist/operations/projects.js +99 -0
  74. package/dist/operations/projects.js.map +1 -0
  75. package/dist/operations/query-utils.d.ts +20 -0
  76. package/dist/operations/query-utils.d.ts.map +1 -0
  77. package/dist/operations/query-utils.js +22 -0
  78. package/dist/operations/query-utils.js.map +1 -0
  79. package/dist/operations/runs.d.ts +53 -0
  80. package/dist/operations/runs.d.ts.map +1 -0
  81. package/dist/operations/runs.js +118 -0
  82. package/dist/operations/runs.js.map +1 -0
  83. package/dist/operations/taxonomy.d.ts +7 -0
  84. package/dist/operations/taxonomy.d.ts.map +1 -0
  85. package/dist/operations/taxonomy.js +7 -0
  86. package/dist/operations/taxonomy.js.map +1 -0
  87. package/dist/types/analytics.d.ts +338 -0
  88. package/dist/types/analytics.d.ts.map +1 -0
  89. package/dist/types/analytics.js +2 -0
  90. package/dist/types/analytics.js.map +1 -0
  91. package/dist/types/auth.d.ts +303 -0
  92. package/dist/types/auth.d.ts.map +1 -0
  93. package/dist/types/auth.js +2 -0
  94. package/dist/types/auth.js.map +1 -0
  95. package/dist/types/enums.d.ts +200 -0
  96. package/dist/types/enums.d.ts.map +1 -0
  97. package/dist/types/enums.js +222 -0
  98. package/dist/types/enums.js.map +1 -0
  99. package/dist/types/index.d.ts +10 -0
  100. package/dist/types/index.d.ts.map +1 -0
  101. package/dist/types/index.js +16 -0
  102. package/dist/types/index.js.map +1 -0
  103. package/dist/types/issues.d.ts +182 -0
  104. package/dist/types/issues.d.ts.map +1 -0
  105. package/dist/types/issues.js +2 -0
  106. package/dist/types/issues.js.map +1 -0
  107. package/dist/types/projects.d.ts +123 -0
  108. package/dist/types/projects.d.ts.map +1 -0
  109. package/dist/types/projects.js +2 -0
  110. package/dist/types/projects.js.map +1 -0
  111. package/dist/types/response-schemas.d.ts +3441 -0
  112. package/dist/types/response-schemas.d.ts.map +1 -0
  113. package/dist/types/response-schemas.js +388 -0
  114. package/dist/types/response-schemas.js.map +1 -0
  115. package/dist/types/responses.d.ts +84 -0
  116. package/dist/types/responses.d.ts.map +1 -0
  117. package/dist/types/responses.js +2 -0
  118. package/dist/types/responses.js.map +1 -0
  119. package/dist/types/runs.d.ts +232 -0
  120. package/dist/types/runs.d.ts.map +1 -0
  121. package/dist/types/runs.js +2 -0
  122. package/dist/types/runs.js.map +1 -0
  123. package/dist/types/schemas.d.ts +914 -0
  124. package/dist/types/schemas.d.ts.map +1 -0
  125. package/dist/types/schemas.js +280 -0
  126. package/dist/types/schemas.js.map +1 -0
  127. package/dist/utils/helpers.d.ts +64 -0
  128. package/dist/utils/helpers.d.ts.map +1 -0
  129. package/dist/utils/helpers.js +127 -0
  130. package/dist/utils/helpers.js.map +1 -0
  131. package/dist/utils/index.d.ts +3 -0
  132. package/dist/utils/index.d.ts.map +1 -0
  133. package/dist/utils/index.js +3 -0
  134. package/dist/utils/index.js.map +1 -0
  135. package/dist/utils/logger.d.ts +5 -0
  136. package/dist/utils/logger.d.ts.map +1 -0
  137. package/dist/utils/logger.js +5 -0
  138. package/dist/utils/logger.js.map +1 -0
  139. 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,2 @@
1
+ export * from './errors.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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,2 @@
1
+ export * from './errors.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Auth strategies re-exported from @uluops/sdk-core
3
+ */
4
+ export { ApiKeyAuth, JwtSessionAuth, createAuthStrategy, type AuthStrategy, type AuthConfig, } from '@uluops/sdk-core/http';
5
+ //# sourceMappingURL=auth-strategy.d.ts.map
@@ -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,5 @@
1
+ /**
2
+ * Auth strategies re-exported from @uluops/sdk-core
3
+ */
4
+ export { ApiKeyAuth, JwtSessionAuth, createAuthStrategy, } from '@uluops/sdk-core/http';
5
+ //# sourceMappingURL=auth-strategy.js.map
@@ -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,5 @@
1
+ /**
2
+ * FetchClient interface re-exported from @uluops/sdk-core
3
+ */
4
+ export type { FetchClient } from '@uluops/sdk-core/http';
5
+ //# sourceMappingURL=fetch-adapter.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fetch-adapter.js.map
@@ -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,3 @@
1
+ export { OpsHttpClient, toQuery } from './http-client.js';
2
+ export { ApiKeyAuth, JwtSessionAuth, createAuthStrategy } from './auth-strategy.js';
3
+ //# sourceMappingURL=index.js.map
@@ -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"}
@@ -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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"}