@zincapp/znvault-cli 2.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 (122) hide show
  1. package/README.md +310 -0
  2. package/dist/commands/agent.d.ts +3 -0
  3. package/dist/commands/agent.d.ts.map +1 -0
  4. package/dist/commands/agent.js +660 -0
  5. package/dist/commands/agent.js.map +1 -0
  6. package/dist/commands/apikey.d.ts +3 -0
  7. package/dist/commands/apikey.d.ts.map +1 -0
  8. package/dist/commands/apikey.js +767 -0
  9. package/dist/commands/apikey.js.map +1 -0
  10. package/dist/commands/audit.d.ts +3 -0
  11. package/dist/commands/audit.d.ts.map +1 -0
  12. package/dist/commands/audit.js +147 -0
  13. package/dist/commands/audit.js.map +1 -0
  14. package/dist/commands/auth.d.ts +3 -0
  15. package/dist/commands/auth.d.ts.map +1 -0
  16. package/dist/commands/auth.js +426 -0
  17. package/dist/commands/auth.js.map +1 -0
  18. package/dist/commands/cert.d.ts +3 -0
  19. package/dist/commands/cert.d.ts.map +1 -0
  20. package/dist/commands/cert.js +398 -0
  21. package/dist/commands/cert.js.map +1 -0
  22. package/dist/commands/cluster.d.ts +3 -0
  23. package/dist/commands/cluster.d.ts.map +1 -0
  24. package/dist/commands/cluster.js +228 -0
  25. package/dist/commands/cluster.js.map +1 -0
  26. package/dist/commands/emergency.d.ts +3 -0
  27. package/dist/commands/emergency.d.ts.map +1 -0
  28. package/dist/commands/emergency.js +223 -0
  29. package/dist/commands/emergency.js.map +1 -0
  30. package/dist/commands/health.d.ts +3 -0
  31. package/dist/commands/health.d.ts.map +1 -0
  32. package/dist/commands/health.js +188 -0
  33. package/dist/commands/health.js.map +1 -0
  34. package/dist/commands/lockdown.d.ts +3 -0
  35. package/dist/commands/lockdown.d.ts.map +1 -0
  36. package/dist/commands/lockdown.js +232 -0
  37. package/dist/commands/lockdown.js.map +1 -0
  38. package/dist/commands/permissions.d.ts +3 -0
  39. package/dist/commands/permissions.d.ts.map +1 -0
  40. package/dist/commands/permissions.js +168 -0
  41. package/dist/commands/permissions.js.map +1 -0
  42. package/dist/commands/policy.d.ts +3 -0
  43. package/dist/commands/policy.d.ts.map +1 -0
  44. package/dist/commands/policy.js +660 -0
  45. package/dist/commands/policy.js.map +1 -0
  46. package/dist/commands/superadmin.d.ts +3 -0
  47. package/dist/commands/superadmin.d.ts.map +1 -0
  48. package/dist/commands/superadmin.js +203 -0
  49. package/dist/commands/superadmin.js.map +1 -0
  50. package/dist/commands/tenant.d.ts +3 -0
  51. package/dist/commands/tenant.d.ts.map +1 -0
  52. package/dist/commands/tenant.js +277 -0
  53. package/dist/commands/tenant.js.map +1 -0
  54. package/dist/commands/update.d.ts +9 -0
  55. package/dist/commands/update.d.ts.map +1 -0
  56. package/dist/commands/update.js +359 -0
  57. package/dist/commands/update.js.map +1 -0
  58. package/dist/commands/user.d.ts +3 -0
  59. package/dist/commands/user.d.ts.map +1 -0
  60. package/dist/commands/user.js +363 -0
  61. package/dist/commands/user.js.map +1 -0
  62. package/dist/index.d.ts +3 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +82 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/lib/client.d.ts +246 -0
  67. package/dist/lib/client.d.ts.map +1 -0
  68. package/dist/lib/client.js +734 -0
  69. package/dist/lib/client.js.map +1 -0
  70. package/dist/lib/config.d.ts +130 -0
  71. package/dist/lib/config.d.ts.map +1 -0
  72. package/dist/lib/config.js +342 -0
  73. package/dist/lib/config.js.map +1 -0
  74. package/dist/lib/db.d.ts +111 -0
  75. package/dist/lib/db.d.ts.map +1 -0
  76. package/dist/lib/db.js +698 -0
  77. package/dist/lib/db.js.map +1 -0
  78. package/dist/lib/local.d.ts +41 -0
  79. package/dist/lib/local.d.ts.map +1 -0
  80. package/dist/lib/local.js +236 -0
  81. package/dist/lib/local.js.map +1 -0
  82. package/dist/lib/mode.d.ts +210 -0
  83. package/dist/lib/mode.d.ts.map +1 -0
  84. package/dist/lib/mode.js +389 -0
  85. package/dist/lib/mode.js.map +1 -0
  86. package/dist/lib/output.d.ts +61 -0
  87. package/dist/lib/output.d.ts.map +1 -0
  88. package/dist/lib/output.js +190 -0
  89. package/dist/lib/output.js.map +1 -0
  90. package/dist/lib/prompts.d.ts +32 -0
  91. package/dist/lib/prompts.d.ts.map +1 -0
  92. package/dist/lib/prompts.js +96 -0
  93. package/dist/lib/prompts.js.map +1 -0
  94. package/dist/services/auto-update-daemon.d.ts +48 -0
  95. package/dist/services/auto-update-daemon.d.ts.map +1 -0
  96. package/dist/services/auto-update-daemon.js +296 -0
  97. package/dist/services/auto-update-daemon.js.map +1 -0
  98. package/dist/services/signature-verifier.d.ts +38 -0
  99. package/dist/services/signature-verifier.d.ts.map +1 -0
  100. package/dist/services/signature-verifier.js +209 -0
  101. package/dist/services/signature-verifier.js.map +1 -0
  102. package/dist/services/update-checker.d.ts +39 -0
  103. package/dist/services/update-checker.d.ts.map +1 -0
  104. package/dist/services/update-checker.js +198 -0
  105. package/dist/services/update-checker.js.map +1 -0
  106. package/dist/services/update-installer.d.ts +54 -0
  107. package/dist/services/update-installer.d.ts.map +1 -0
  108. package/dist/services/update-installer.js +360 -0
  109. package/dist/services/update-installer.js.map +1 -0
  110. package/dist/types/index.d.ts +411 -0
  111. package/dist/types/index.d.ts.map +1 -0
  112. package/dist/types/index.js +2 -0
  113. package/dist/types/index.js.map +1 -0
  114. package/dist/types/update.d.ts +137 -0
  115. package/dist/types/update.d.ts.map +1 -0
  116. package/dist/types/update.js +27 -0
  117. package/dist/types/update.js.map +1 -0
  118. package/dist/utils/platform.d.ts +35 -0
  119. package/dist/utils/platform.d.ts.map +1 -0
  120. package/dist/utils/platform.js +115 -0
  121. package/dist/utils/platform.js.map +1 -0
  122. package/package.json +59 -0
@@ -0,0 +1,411 @@
1
+ export interface CLIConfig {
2
+ url: string;
3
+ insecure: boolean;
4
+ timeout: number;
5
+ defaultTenant?: string;
6
+ }
7
+ export interface StoredCredentials {
8
+ accessToken: string;
9
+ refreshToken: string;
10
+ expiresAt: number;
11
+ userId: string;
12
+ username: string;
13
+ role: string;
14
+ tenantId: string | null;
15
+ }
16
+ export interface FullConfig extends CLIConfig {
17
+ credentials?: StoredCredentials;
18
+ }
19
+ export interface HealthResponse {
20
+ status: 'ok' | 'degraded' | 'error';
21
+ version: string;
22
+ uptime: number;
23
+ timestamp: string;
24
+ database?: {
25
+ status: string;
26
+ };
27
+ redis?: {
28
+ status: string;
29
+ };
30
+ ha?: {
31
+ enabled: boolean;
32
+ nodeId: string;
33
+ isLeader: boolean;
34
+ clusterSize: number;
35
+ };
36
+ }
37
+ export interface ClusterNode {
38
+ nodeId: string;
39
+ host: string;
40
+ port: number;
41
+ isLeader: boolean;
42
+ isHealthy: boolean;
43
+ lastHeartbeat: string;
44
+ version?: string;
45
+ uptime?: number;
46
+ }
47
+ export interface ClusterStatus {
48
+ enabled: boolean;
49
+ nodeId: string;
50
+ isLeader: boolean;
51
+ leaderNodeId: string | null;
52
+ nodes: ClusterNode[];
53
+ infrastructure?: {
54
+ postgres?: {
55
+ status: string;
56
+ primary?: string;
57
+ };
58
+ redis?: {
59
+ status: string;
60
+ master?: string;
61
+ };
62
+ etcd?: {
63
+ status: string;
64
+ };
65
+ };
66
+ }
67
+ export interface Tenant {
68
+ id: string;
69
+ name: string;
70
+ status: 'active' | 'suspended' | 'archived';
71
+ maxSecrets?: number;
72
+ maxKmsKeys?: number;
73
+ maxStorageMb?: number;
74
+ planTier?: string;
75
+ contactEmail?: string;
76
+ contactName?: string;
77
+ createdAt: string;
78
+ updatedAt: string;
79
+ }
80
+ export interface TenantUsage {
81
+ secretsCount: number;
82
+ kmsKeysCount: number;
83
+ storageUsedMb: number;
84
+ usersCount: number;
85
+ apiKeysCount: number;
86
+ }
87
+ export interface TenantWithUsage extends Tenant {
88
+ usage?: TenantUsage;
89
+ }
90
+ export interface User {
91
+ id: string;
92
+ username: string;
93
+ email?: string;
94
+ role: 'user' | 'admin' | 'superadmin';
95
+ tenantId?: string;
96
+ status: 'active' | 'disabled' | 'locked';
97
+ totpEnabled: boolean;
98
+ failedAttempts: number;
99
+ lockedUntil?: string;
100
+ lastLogin?: string;
101
+ createdAt: string;
102
+ updatedAt: string;
103
+ }
104
+ export interface Superadmin {
105
+ id: string;
106
+ username: string;
107
+ email?: string;
108
+ status: 'active' | 'disabled' | 'locked';
109
+ totpEnabled: boolean;
110
+ failedAttempts: number;
111
+ lockedUntil?: string;
112
+ lastLogin?: string;
113
+ createdAt: string;
114
+ }
115
+ export interface LockdownStatus {
116
+ scope: 'SYSTEM' | 'TENANT';
117
+ tenantId?: string;
118
+ status: 'NORMAL' | 'ALERT' | 'RESTRICT' | 'LOCKDOWN' | 'PANIC';
119
+ reason?: string;
120
+ triggeredAt?: string;
121
+ triggeredBy?: string;
122
+ escalationCount: number;
123
+ metrics?: {
124
+ authFailures: number;
125
+ apiAbuse: number;
126
+ permissionViolations: number;
127
+ };
128
+ }
129
+ export interface ThreatEvent {
130
+ id: string;
131
+ ts: string;
132
+ tenantId?: string;
133
+ userId?: string;
134
+ ip: string;
135
+ userAgent?: string;
136
+ category: string;
137
+ signal: string;
138
+ suggestedLevel: number;
139
+ endpoint: string;
140
+ method: string;
141
+ statusCode: number;
142
+ escalated: boolean;
143
+ }
144
+ export interface LockdownHistoryEntry {
145
+ id: string;
146
+ previousStatus: string;
147
+ newStatus: string;
148
+ transitionReason: string;
149
+ changedByUserId?: string;
150
+ changedBySystem: boolean;
151
+ ts: string;
152
+ }
153
+ export interface AuditEntry {
154
+ id: number;
155
+ ts: string;
156
+ clientCn: string;
157
+ action: string;
158
+ resource: string;
159
+ statusCode: number;
160
+ tenantId?: string;
161
+ ip?: string;
162
+ requestBody?: string;
163
+ responseBody?: string;
164
+ }
165
+ export interface AuditVerifyResult {
166
+ valid: boolean;
167
+ totalEntries: number;
168
+ verifiedEntries: number;
169
+ firstBrokenEntry?: number;
170
+ message: string;
171
+ }
172
+ export interface LoginResponse {
173
+ accessToken: string;
174
+ refreshToken: string;
175
+ expiresIn: number;
176
+ user: {
177
+ id: string;
178
+ username: string;
179
+ role: string;
180
+ tenantId: string | null;
181
+ };
182
+ }
183
+ export interface PaginatedResponse<T> {
184
+ items: T[];
185
+ total: number;
186
+ page: number;
187
+ pageSize: number;
188
+ }
189
+ export interface ApiError {
190
+ error: string;
191
+ message: string;
192
+ statusCode: number;
193
+ }
194
+ export interface GlobalOptions {
195
+ url?: string;
196
+ insecure?: boolean;
197
+ json?: boolean;
198
+ quiet?: boolean;
199
+ }
200
+ export interface TenantListOptions extends GlobalOptions {
201
+ status?: 'active' | 'suspended' | 'archived';
202
+ withUsage?: boolean;
203
+ }
204
+ export interface UserListOptions extends GlobalOptions {
205
+ tenant?: string;
206
+ role?: 'user' | 'admin' | 'superadmin';
207
+ status?: 'active' | 'disabled' | 'locked';
208
+ }
209
+ export interface AuditListOptions extends GlobalOptions {
210
+ user?: string;
211
+ action?: string;
212
+ days?: number;
213
+ limit?: number;
214
+ }
215
+ export interface ThreatListOptions extends GlobalOptions {
216
+ category?: string;
217
+ since?: string;
218
+ limit?: number;
219
+ }
220
+ export type OutputFormat = 'table' | 'json' | 'yaml';
221
+ export interface CertificateMetadata {
222
+ id: string;
223
+ tenantId: string;
224
+ clientId: string;
225
+ kind: string;
226
+ alias: string;
227
+ certificateType: 'PEM' | 'P12' | 'DER';
228
+ purpose: 'SIGNING' | 'AUTHENTICATION' | 'ENCRYPTION';
229
+ fingerprintSha256: string;
230
+ subjectCn: string;
231
+ issuerCn: string;
232
+ notBefore: string;
233
+ notAfter: string;
234
+ clientName: string;
235
+ organizationId?: string;
236
+ contactEmail?: string;
237
+ status: 'ACTIVE' | 'EXPIRING_SOON' | 'EXPIRED' | 'REVOKED' | 'SUSPENDED';
238
+ version: number;
239
+ createdAt: string;
240
+ createdBy: string;
241
+ updatedAt: string;
242
+ lastAccessedAt?: string;
243
+ accessCount: number;
244
+ tags: string[];
245
+ daysUntilExpiry: number;
246
+ isExpired: boolean;
247
+ hasPrivateKey: boolean;
248
+ }
249
+ export interface CertificateListResponse {
250
+ items: CertificateMetadata[];
251
+ total: number;
252
+ page: number;
253
+ pageSize: number;
254
+ }
255
+ export interface CertificateStats {
256
+ total: number;
257
+ byStatus: Record<string, number>;
258
+ byKind: Record<string, number>;
259
+ expiringIn30Days: number;
260
+ expiringIn7Days: number;
261
+ }
262
+ export interface DecryptedCertificate {
263
+ id: string;
264
+ alias: string;
265
+ certificateData: string;
266
+ privateKeyData?: string;
267
+ chainData?: string;
268
+ certificateType: 'PEM' | 'P12' | 'DER';
269
+ fingerprint: string;
270
+ fingerprintSha256: string;
271
+ version: number;
272
+ }
273
+ export interface APIKey {
274
+ id: string;
275
+ tenant_id: string;
276
+ created_by: string | null;
277
+ name: string;
278
+ description: string | null;
279
+ prefix: string;
280
+ expires_at: string;
281
+ last_used: string | null;
282
+ created_at: string;
283
+ ip_allowlist: string[] | null;
284
+ permissions: string[];
285
+ conditions?: Record<string, unknown>;
286
+ created_by_username?: string;
287
+ enabled: boolean;
288
+ rotation_count: number;
289
+ last_rotation: string | null;
290
+ }
291
+ export interface CreateAPIKeyRequest {
292
+ name: string;
293
+ description?: string;
294
+ expiresInDays?: number;
295
+ permissions: string[];
296
+ tenantId?: string;
297
+ ipAllowlist?: string[];
298
+ }
299
+ export interface CreateAPIKeyResponse {
300
+ key: string;
301
+ apiKey: APIKey;
302
+ message: string;
303
+ }
304
+ export interface ListAPIKeysResponse {
305
+ keys: APIKey[];
306
+ expiringSoon: APIKey[];
307
+ }
308
+ export interface RotateAPIKeyResponse {
309
+ key: string;
310
+ apiKey: APIKey;
311
+ message: string;
312
+ }
313
+ export interface APIKeySelfResponse {
314
+ apiKey: APIKey;
315
+ expiresInDays: number;
316
+ isExpiringSoon: boolean;
317
+ }
318
+ export interface APIKeyPolicyAttachment {
319
+ policyId: string;
320
+ policyName: string;
321
+ apiKeyId: string;
322
+ attachedAt: string;
323
+ }
324
+ export type PolicyEffect = 'allow' | 'deny';
325
+ export interface PolicyCondition {
326
+ type: 'ip' | 'ipAddress' | 'mfaVerified' | 'timeRange' | 'tags' | 'resourceTags' | 'userAttributes';
327
+ operator?: 'in' | 'not_in' | 'equals' | 'contains';
328
+ value: unknown;
329
+ }
330
+ export interface PolicyResource {
331
+ type: 'secret' | 'certificate' | 'kms_key' | 'user' | 'role' | 'tenant' | 'policy' | 'api_key';
332
+ id?: string;
333
+ tenantId?: string;
334
+ tags?: Record<string, string>;
335
+ }
336
+ export interface Policy {
337
+ id: string;
338
+ name: string;
339
+ description?: string;
340
+ effect: PolicyEffect;
341
+ actions: string[];
342
+ resources?: PolicyResource[];
343
+ conditions?: PolicyCondition[];
344
+ priority: number;
345
+ isActive: boolean;
346
+ tenantId?: string;
347
+ createdAt: string;
348
+ updatedAt: string;
349
+ }
350
+ export interface PolicyAttachment {
351
+ policyId: string;
352
+ policyName: string;
353
+ userId?: string;
354
+ roleId?: string;
355
+ username?: string;
356
+ roleName?: string;
357
+ attachedAt: string;
358
+ }
359
+ export interface CreatePolicyInput {
360
+ name: string;
361
+ description?: string;
362
+ effect: PolicyEffect;
363
+ actions: string[];
364
+ resources?: PolicyResource[];
365
+ conditions?: PolicyCondition[];
366
+ priority?: number;
367
+ tenantId?: string;
368
+ }
369
+ export interface UpdatePolicyInput {
370
+ name?: string;
371
+ description?: string;
372
+ effect?: PolicyEffect;
373
+ actions?: string[];
374
+ resources?: PolicyResource[];
375
+ conditions?: PolicyCondition[];
376
+ priority?: number;
377
+ }
378
+ export interface PolicyTestRequest {
379
+ userId: string;
380
+ action: string;
381
+ resource?: {
382
+ type: string;
383
+ id?: string;
384
+ tenantId?: string;
385
+ };
386
+ requestContext?: {
387
+ ip?: string;
388
+ mfaVerified?: boolean;
389
+ };
390
+ }
391
+ export interface PolicyTestResult {
392
+ allowed: boolean;
393
+ effect: 'allow' | 'deny' | 'no_match';
394
+ reason: string;
395
+ matchedPolicies: {
396
+ id: string;
397
+ name: string;
398
+ effect: PolicyEffect;
399
+ priority: number;
400
+ }[];
401
+ evaluatedPolicies: number;
402
+ evaluationTimeMs: number;
403
+ }
404
+ export interface PolicyListResponse {
405
+ data: Policy[];
406
+ page: number;
407
+ pageSize: number;
408
+ total: number;
409
+ totalPages: number;
410
+ }
411
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAGD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,IAAI,GAAG,UAAU,GAAG,OAAO,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,EAAE,CAAC,EAAE;QACH,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE;QACf,QAAQ,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAChD,KAAK,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5C,IAAI,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAgB,SAAQ,MAAM;IAC7C,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IACzC,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IACzC,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,MAAM,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;IACvC,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;CAC3C;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAGrD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IACvC,OAAO,EAAE,SAAS,GAAG,gBAAgB,GAAG,YAAY,CAAC;IACrD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,OAAO,EAAE,OAAO,CAAC;IAEjB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,GAAG,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,MAAM,GAAG,cAAc,GAAG,gBAAgB,CAAC;IACpG,QAAQ,CAAC,EAAE,IAAI,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;IACnD,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC/F,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,cAAc,CAAC,EAAE;QACf,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE;QACf,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,YAAY,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;IACJ,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Agent Auto-Update Types
3
+ *
4
+ * Defines interfaces for the auto-update system including
5
+ * manifests, artifacts, configuration, and progress tracking.
6
+ */
7
+ /**
8
+ * Channel for update releases
9
+ */
10
+ export type UpdateChannel = 'stable' | 'beta' | 'staging';
11
+ /**
12
+ * Platform identifiers for agent binaries
13
+ */
14
+ export type Platform = 'linux_amd64' | 'linux_arm64';
15
+ /**
16
+ * Information about a specific artifact (platform binary)
17
+ */
18
+ export interface ArtifactInfo {
19
+ /** Full URL to download the tarball */
20
+ url: string;
21
+ /** SHA256 checksum of the tarball */
22
+ sha256: string;
23
+ /** File size in bytes */
24
+ size: number;
25
+ /** Base64-encoded GPG signature */
26
+ signature: string;
27
+ }
28
+ /**
29
+ * Release manifest stored in S3
30
+ */
31
+ export interface AgentManifest {
32
+ /** Channel this manifest belongs to */
33
+ channel: UpdateChannel;
34
+ /** Semantic version (e.g., "1.0.0") */
35
+ version: string;
36
+ /** ISO timestamp of release */
37
+ releaseDate: string;
38
+ /** Minimum version required to update (for breaking changes) */
39
+ minVersion?: string;
40
+ /** Release notes / changelog */
41
+ releaseNotes?: string;
42
+ /** Platform-specific artifacts */
43
+ artifacts: {
44
+ linux_amd64: ArtifactInfo;
45
+ linux_arm64: ArtifactInfo;
46
+ };
47
+ /** Signature metadata */
48
+ signature: {
49
+ /** GPG key ID used for signing */
50
+ keyId: string;
51
+ /** Timestamp when signed */
52
+ signedAt: string;
53
+ };
54
+ }
55
+ /**
56
+ * Result of checking for updates
57
+ */
58
+ export interface UpdateCheckResult {
59
+ /** Whether an update is available */
60
+ updateAvailable: boolean;
61
+ /** Currently installed version */
62
+ currentVersion: string;
63
+ /** Latest available version */
64
+ latestVersion: string;
65
+ /** Full manifest if update available */
66
+ manifest?: AgentManifest;
67
+ /** Artifact for current platform if update available */
68
+ artifact?: ArtifactInfo;
69
+ /** Error message if check failed */
70
+ error?: string;
71
+ }
72
+ /**
73
+ * Maintenance window configuration
74
+ */
75
+ export interface MaintenanceWindow {
76
+ /** Start time in HH:MM format */
77
+ start: string;
78
+ /** End time in HH:MM format */
79
+ end: string;
80
+ /** Timezone (e.g., "UTC", "America/New_York") */
81
+ timezone: string;
82
+ }
83
+ /**
84
+ * Auto-update configuration
85
+ */
86
+ export interface UpdateConfig {
87
+ /** Update channel to track */
88
+ channel: UpdateChannel;
89
+ /** Whether auto-update is enabled */
90
+ autoUpdate: boolean;
91
+ /** Maintenance window for auto-updates (optional) */
92
+ maintenanceWindow?: MaintenanceWindow;
93
+ /** Interval between update checks in milliseconds */
94
+ checkInterval: number;
95
+ /** Path where agent is installed */
96
+ installPath: string;
97
+ /** Vault URL for WebSocket notifications (optional) */
98
+ vaultUrl?: string;
99
+ }
100
+ /**
101
+ * Stages of the update process
102
+ */
103
+ export type UpdateStage = 'checking' | 'downloading' | 'verifying' | 'installing' | 'complete' | 'error';
104
+ /**
105
+ * Progress information during update
106
+ */
107
+ export interface UpdateProgress {
108
+ /** Current stage */
109
+ stage: UpdateStage;
110
+ /** Download progress (0-100) */
111
+ progress?: number;
112
+ /** Human-readable message */
113
+ message: string;
114
+ /** Error details if stage is 'error' */
115
+ error?: string;
116
+ }
117
+ /**
118
+ * Callback for progress updates
119
+ */
120
+ export type ProgressCallback = (progress: UpdateProgress) => void;
121
+ /**
122
+ * Default configuration values
123
+ */
124
+ export declare const DEFAULT_UPDATE_CONFIG: UpdateConfig;
125
+ /**
126
+ * S3 base URL for manifests and artifacts
127
+ */
128
+ export declare const S3_BASE_URL = "https://s3.zincapp.com/zn-releases-prod/vault-agent";
129
+ /**
130
+ * Manifest URL for a specific channel
131
+ */
132
+ export declare function getManifestUrl(channel: UpdateChannel): string;
133
+ /**
134
+ * Public key URL for signature verification
135
+ */
136
+ export declare function getPublicKeyUrl(): string;
137
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/types/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ // Path: znvault-cli/src/types/update.ts
2
+ /**
3
+ * Default configuration values
4
+ */
5
+ export const DEFAULT_UPDATE_CONFIG = {
6
+ channel: 'stable',
7
+ autoUpdate: false,
8
+ checkInterval: 3600000, // 1 hour
9
+ installPath: '/usr/local/bin/znvault',
10
+ };
11
+ /**
12
+ * S3 base URL for manifests and artifacts
13
+ */
14
+ export const S3_BASE_URL = 'https://s3.zincapp.com/zn-releases-prod/vault-agent';
15
+ /**
16
+ * Manifest URL for a specific channel
17
+ */
18
+ export function getManifestUrl(channel) {
19
+ return `${S3_BASE_URL}/manifests/${channel}.json`;
20
+ }
21
+ /**
22
+ * Public key URL for signature verification
23
+ */
24
+ export function getPublicKeyUrl() {
25
+ return `${S3_BASE_URL}/keys/public.asc`;
26
+ }
27
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/types/update.ts"],"names":[],"mappings":"AAAA,wCAAwC;AA2IxC;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,OAAO,EAAE,SAAS;IACjC,WAAW,EAAE,wBAAwB;CACtC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,qDAAqD,CAAC;AAEjF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAsB;IACnD,OAAO,GAAG,WAAW,cAAc,OAAO,OAAO,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,GAAG,WAAW,kBAAkB,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { Platform } from '../types/update.js';
2
+ /**
3
+ * Detect the current platform for binary downloads
4
+ * Returns 'unsupported' for non-Linux platforms
5
+ */
6
+ export declare function getPlatform(): Platform | 'unsupported';
7
+ /**
8
+ * Get human-readable platform name
9
+ */
10
+ export declare function getPlatformName(): string;
11
+ /**
12
+ * Get the installation path of the current znvault binary
13
+ */
14
+ export declare function getInstallPath(): string;
15
+ /**
16
+ * Check if the current process has write access to the install path
17
+ */
18
+ export declare function canWriteToInstallPath(installPath?: string): boolean;
19
+ /**
20
+ * Check if running as root (required for system-wide installs)
21
+ */
22
+ export declare function isRoot(): boolean;
23
+ /**
24
+ * Get temporary directory for downloads
25
+ */
26
+ export declare function getTempDir(): string;
27
+ /**
28
+ * Get the home directory for config files
29
+ */
30
+ export declare function getConfigDir(): string;
31
+ /**
32
+ * Ensure config directory exists
33
+ */
34
+ export declare function ensureConfigDir(): string;
35
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/utils/platform.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,WAAW,IAAI,QAAQ,GAAG,aAAa,CAiBtD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAWxC;AAWD;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAkBvC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAWnE;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,OAAO,CAEhC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAMxC"}