@rollupdate/hctl 0.0.0-stage → 3.0.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 (143) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1066 -2
  3. package/dist/auction/cache.d.ts +6 -0
  4. package/dist/auction/cache.js +55 -0
  5. package/dist/auction/client.d.ts +24 -0
  6. package/dist/auction/client.js +236 -0
  7. package/dist/auction/commands.d.ts +2 -0
  8. package/dist/auction/commands.js +440 -0
  9. package/dist/auction/diff-formatter.d.ts +3 -0
  10. package/dist/auction/diff-formatter.js +61 -0
  11. package/dist/auction/diff.d.ts +11 -0
  12. package/dist/auction/diff.js +28 -0
  13. package/dist/auction/formatter.d.ts +21 -0
  14. package/dist/auction/formatter.js +182 -0
  15. package/dist/auction/store.d.ts +24 -0
  16. package/dist/auction/store.js +177 -0
  17. package/dist/auction/types.d.ts +74 -0
  18. package/dist/auction/types.js +5 -0
  19. package/dist/cli.d.ts +2 -0
  20. package/dist/cli.js +74 -0
  21. package/dist/client.d.ts +2 -0
  22. package/dist/client.js +4 -0
  23. package/dist/cloud/browser-bootstrap.d.ts +16 -0
  24. package/dist/cloud/browser-bootstrap.js +438 -0
  25. package/dist/cloud/client.d.ts +520 -0
  26. package/dist/cloud/client.js +755 -0
  27. package/dist/cloud/commands/certificate.d.ts +2 -0
  28. package/dist/cloud/commands/certificate.js +108 -0
  29. package/dist/cloud/commands/context.d.ts +2 -0
  30. package/dist/cloud/commands/context.js +133 -0
  31. package/dist/cloud/commands/datacenter.d.ts +2 -0
  32. package/dist/cloud/commands/datacenter.js +24 -0
  33. package/dist/cloud/commands/firewall.d.ts +2 -0
  34. package/dist/cloud/commands/firewall.js +142 -0
  35. package/dist/cloud/commands/floating-ip.d.ts +2 -0
  36. package/dist/cloud/commands/floating-ip.js +138 -0
  37. package/dist/cloud/commands/image.d.ts +2 -0
  38. package/dist/cloud/commands/image.js +98 -0
  39. package/dist/cloud/commands/index.d.ts +2 -0
  40. package/dist/cloud/commands/index.js +47 -0
  41. package/dist/cloud/commands/inventory.d.ts +2 -0
  42. package/dist/cloud/commands/inventory.js +13 -0
  43. package/dist/cloud/commands/iso.d.ts +2 -0
  44. package/dist/cloud/commands/iso.js +27 -0
  45. package/dist/cloud/commands/load-balancer-type.d.ts +2 -0
  46. package/dist/cloud/commands/load-balancer-type.js +24 -0
  47. package/dist/cloud/commands/load-balancer.d.ts +2 -0
  48. package/dist/cloud/commands/load-balancer.js +269 -0
  49. package/dist/cloud/commands/location.d.ts +2 -0
  50. package/dist/cloud/commands/location.js +24 -0
  51. package/dist/cloud/commands/network.d.ts +2 -0
  52. package/dist/cloud/commands/network.js +157 -0
  53. package/dist/cloud/commands/placement-group.d.ts +2 -0
  54. package/dist/cloud/commands/placement-group.js +79 -0
  55. package/dist/cloud/commands/pricing.d.ts +2 -0
  56. package/dist/cloud/commands/pricing.js +15 -0
  57. package/dist/cloud/commands/primary-ip.d.ts +2 -0
  58. package/dist/cloud/commands/primary-ip.js +139 -0
  59. package/dist/cloud/commands/server-type.d.ts +2 -0
  60. package/dist/cloud/commands/server-type.js +24 -0
  61. package/dist/cloud/commands/server.d.ts +2 -0
  62. package/dist/cloud/commands/server.js +346 -0
  63. package/dist/cloud/commands/ssh-key.d.ts +2 -0
  64. package/dist/cloud/commands/ssh-key.js +94 -0
  65. package/dist/cloud/commands/volume.d.ts +2 -0
  66. package/dist/cloud/commands/volume.js +138 -0
  67. package/dist/cloud/context.d.ts +34 -0
  68. package/dist/cloud/context.js +215 -0
  69. package/dist/cloud/formatter.d.ts +40 -0
  70. package/dist/cloud/formatter.js +824 -0
  71. package/dist/cloud/helpers.d.ts +27 -0
  72. package/dist/cloud/helpers.js +67 -0
  73. package/dist/cloud/inventory.d.ts +100 -0
  74. package/dist/cloud/inventory.js +229 -0
  75. package/dist/cloud/pricing.d.ts +27 -0
  76. package/dist/cloud/pricing.js +103 -0
  77. package/dist/cloud/token-instructions.d.ts +2 -0
  78. package/dist/cloud/token-instructions.js +21 -0
  79. package/dist/cloud/types.d.ts +437 -0
  80. package/dist/cloud/types.js +5 -0
  81. package/dist/config.d.ts +1 -0
  82. package/dist/config.js +2 -0
  83. package/dist/formatter.d.ts +3 -0
  84. package/dist/formatter.js +6 -0
  85. package/dist/index.d.ts +12 -0
  86. package/dist/index.js +21 -0
  87. package/dist/robot/client.d.ts +246 -0
  88. package/dist/robot/client.js +719 -0
  89. package/dist/robot/commands/auth.d.ts +2 -0
  90. package/dist/robot/commands/auth.js +54 -0
  91. package/dist/robot/commands/boot.d.ts +2 -0
  92. package/dist/robot/commands/boot.js +76 -0
  93. package/dist/robot/commands/cancel.d.ts +2 -0
  94. package/dist/robot/commands/cancel.js +37 -0
  95. package/dist/robot/commands/failover.d.ts +2 -0
  96. package/dist/robot/commands/failover.js +46 -0
  97. package/dist/robot/commands/firewall.d.ts +2 -0
  98. package/dist/robot/commands/firewall.js +72 -0
  99. package/dist/robot/commands/index.d.ts +2 -0
  100. package/dist/robot/commands/index.js +36 -0
  101. package/dist/robot/commands/interactive.d.ts +2 -0
  102. package/dist/robot/commands/interactive.js +152 -0
  103. package/dist/robot/commands/ip.d.ts +2 -0
  104. package/dist/robot/commands/ip.js +55 -0
  105. package/dist/robot/commands/key.d.ts +2 -0
  106. package/dist/robot/commands/key.js +68 -0
  107. package/dist/robot/commands/order.d.ts +2 -0
  108. package/dist/robot/commands/order.js +33 -0
  109. package/dist/robot/commands/rdns.d.ts +2 -0
  110. package/dist/robot/commands/rdns.js +41 -0
  111. package/dist/robot/commands/reset.d.ts +2 -0
  112. package/dist/robot/commands/reset.js +77 -0
  113. package/dist/robot/commands/server.d.ts +2 -0
  114. package/dist/robot/commands/server.js +32 -0
  115. package/dist/robot/commands/storagebox.d.ts +2 -0
  116. package/dist/robot/commands/storagebox.js +126 -0
  117. package/dist/robot/commands/subnet.d.ts +2 -0
  118. package/dist/robot/commands/subnet.js +24 -0
  119. package/dist/robot/commands/traffic.d.ts +2 -0
  120. package/dist/robot/commands/traffic.js +23 -0
  121. package/dist/robot/commands/vswitch.d.ts +2 -0
  122. package/dist/robot/commands/vswitch.js +65 -0
  123. package/dist/robot/commands/wol.d.ts +2 -0
  124. package/dist/robot/commands/wol.js +20 -0
  125. package/dist/robot/formatter.d.ts +56 -0
  126. package/dist/robot/formatter.js +546 -0
  127. package/dist/robot/types.d.ts +353 -0
  128. package/dist/robot/types.js +5 -0
  129. package/dist/shared/config.d.ts +86 -0
  130. package/dist/shared/config.js +289 -0
  131. package/dist/shared/formatter.d.ts +29 -0
  132. package/dist/shared/formatter.js +121 -0
  133. package/dist/shared/helpers.d.ts +39 -0
  134. package/dist/shared/helpers.js +86 -0
  135. package/dist/shared/init.d.ts +2 -0
  136. package/dist/shared/init.js +107 -0
  137. package/dist/shared/reference.d.ts +5 -0
  138. package/dist/shared/reference.js +688 -0
  139. package/dist/shared/schemas.d.ts +1 -0
  140. package/dist/shared/schemas.js +1022 -0
  141. package/dist/types.d.ts +2 -0
  142. package/dist/types.js +2 -0
  143. package/package.json +131 -4
@@ -0,0 +1,437 @@
1
+ export type Labels = Record<string, string>;
2
+ export interface CloudAction {
3
+ command: string;
4
+ error: {
5
+ code: string;
6
+ message: string;
7
+ } | null;
8
+ finished: string | null;
9
+ id: number;
10
+ progress: number;
11
+ resources: {
12
+ id: number;
13
+ type: string;
14
+ }[];
15
+ started: string;
16
+ status: "running" | "success" | "error";
17
+ }
18
+ export interface PaginationMeta {
19
+ pagination: {
20
+ page: number;
21
+ per_page: number;
22
+ previous_page: number | null;
23
+ next_page: number | null;
24
+ last_page: number;
25
+ total_entries: number;
26
+ };
27
+ }
28
+ export interface CloudApiError {
29
+ error: {
30
+ code: string;
31
+ message: string;
32
+ details?: unknown;
33
+ };
34
+ }
35
+ export interface Protection {
36
+ delete: boolean;
37
+ rebuild?: boolean;
38
+ }
39
+ export interface Datacenter {
40
+ description: string;
41
+ id: number;
42
+ location: Location;
43
+ name: string;
44
+ server_types: {
45
+ supported: number[];
46
+ available: number[];
47
+ available_for_migration: number[];
48
+ };
49
+ }
50
+ export interface Location {
51
+ city: string;
52
+ country: string;
53
+ description: string;
54
+ id: number;
55
+ latitude: number;
56
+ longitude: number;
57
+ name: string;
58
+ network_zone: string;
59
+ }
60
+ export interface ServerType {
61
+ architecture: "x86" | "arm";
62
+ cores: number;
63
+ cpu_type: "shared" | "dedicated";
64
+ deprecated: boolean;
65
+ deprecation?: {
66
+ announced: string;
67
+ unavailable_after: string;
68
+ } | null;
69
+ description: string;
70
+ disk: number;
71
+ id: number;
72
+ memory: number;
73
+ name: string;
74
+ prices: ServerTypePrice[];
75
+ storage_type: "local" | "network";
76
+ }
77
+ export interface ServerTypePrice {
78
+ included_traffic: number;
79
+ location: string;
80
+ price_hourly: {
81
+ net: string;
82
+ gross: string;
83
+ };
84
+ price_monthly: {
85
+ net: string;
86
+ gross: string;
87
+ };
88
+ }
89
+ export interface ISO {
90
+ architecture: "x86" | "arm" | null;
91
+ deprecation?: {
92
+ announced: string;
93
+ unavailable_after: string;
94
+ } | null;
95
+ description: string;
96
+ id: number;
97
+ name: string;
98
+ type: "public" | "private";
99
+ }
100
+ export interface Image {
101
+ architecture: "x86" | "arm";
102
+ bound_to: number | null;
103
+ created: string;
104
+ created_from: {
105
+ id: number;
106
+ name: string;
107
+ } | null;
108
+ deleted: string | null;
109
+ deprecated: string | null;
110
+ description: string;
111
+ disk_size: number;
112
+ id: number;
113
+ image_size: number | null;
114
+ labels: Labels;
115
+ name: string | null;
116
+ os_flavor: string;
117
+ os_version: string | null;
118
+ protection: Protection;
119
+ rapid_deploy: boolean;
120
+ status: "available" | "creating" | "unavailable";
121
+ type: "system" | "snapshot" | "backup" | "app";
122
+ }
123
+ export interface CloudSshKey {
124
+ created: string;
125
+ fingerprint: string;
126
+ id: number;
127
+ labels: Labels;
128
+ name: string;
129
+ public_key: string;
130
+ }
131
+ export interface CloudServer {
132
+ backup_window: string | null;
133
+ created: string;
134
+ datacenter?: Datacenter;
135
+ id: number;
136
+ image: Image | null;
137
+ included_traffic: number;
138
+ ingoing_traffic: number | null;
139
+ iso: ISO | null;
140
+ labels: Labels;
141
+ load_balancers: number[];
142
+ location: Location;
143
+ locked: boolean;
144
+ name: string;
145
+ outgoing_traffic: number | null;
146
+ placement_group?: {
147
+ id: number;
148
+ name: string;
149
+ type: string;
150
+ } | null;
151
+ primary_disk_size: number;
152
+ private_net: {
153
+ network: number;
154
+ ip: string;
155
+ alias_ips: string[];
156
+ mac_address: string;
157
+ }[];
158
+ protection: Protection;
159
+ public_net: {
160
+ ipv4: {
161
+ ip: string;
162
+ dns_ptr: string;
163
+ blocked: boolean;
164
+ } | null;
165
+ ipv6: {
166
+ ip: string;
167
+ dns_ptr: {
168
+ ip: string;
169
+ dns_ptr: string;
170
+ }[];
171
+ blocked: boolean;
172
+ } | null;
173
+ floating_ips: number[];
174
+ firewalls: {
175
+ id: number;
176
+ status: "applied" | "pending";
177
+ }[];
178
+ };
179
+ rescue_enabled: boolean;
180
+ server_type?: ServerType;
181
+ status: "running" | "initializing" | "starting" | "stopping" | "off" | "deleting" | "migrating" | "rebuilding" | "unknown";
182
+ volumes: number[];
183
+ }
184
+ export interface Network {
185
+ created: string;
186
+ expose_routes_to_vswitch: boolean;
187
+ id: number;
188
+ ip_range: string;
189
+ labels: Labels;
190
+ load_balancers: number[];
191
+ name: string;
192
+ protection: Protection;
193
+ routes: NetworkRoute[];
194
+ servers: number[];
195
+ subnets: NetworkSubnet[];
196
+ }
197
+ export interface NetworkSubnet {
198
+ gateway: string;
199
+ ip_range: string;
200
+ network_zone: string;
201
+ type: "cloud" | "server" | "vswitch";
202
+ vswitch_id?: number | null;
203
+ }
204
+ export interface NetworkRoute {
205
+ destination: string;
206
+ gateway: string;
207
+ }
208
+ export interface CloudFirewall {
209
+ applied_to: CloudFirewallAppliedTo[];
210
+ created: string;
211
+ id: number;
212
+ labels: Labels;
213
+ name: string;
214
+ rules: CloudFirewallRule[];
215
+ }
216
+ export interface CloudFirewallRule {
217
+ description: string | null;
218
+ destination_ips: string[];
219
+ direction: "in" | "out";
220
+ port: string | null;
221
+ protocol: "tcp" | "udp" | "icmp" | "esp" | "gre";
222
+ source_ips: string[];
223
+ }
224
+ export interface CloudFirewallAppliedTo {
225
+ label_selector?: {
226
+ selector: string;
227
+ };
228
+ server?: {
229
+ id: number;
230
+ };
231
+ type: "server" | "label_selector";
232
+ }
233
+ export interface FloatingIp {
234
+ blocked: boolean;
235
+ created: string;
236
+ description: string;
237
+ dns_ptr: {
238
+ ip: string;
239
+ dns_ptr: string;
240
+ }[];
241
+ home_location: Location;
242
+ id: number;
243
+ ip: string;
244
+ labels: Labels;
245
+ name: string;
246
+ protection: Protection;
247
+ server: number | null;
248
+ type: "ipv4" | "ipv6";
249
+ }
250
+ export interface PrimaryIp {
251
+ assignee_id: number | null;
252
+ assignee_type: "server" | "load_balancer" | "unassigned";
253
+ auto_delete: boolean;
254
+ blocked: boolean;
255
+ created: string;
256
+ dns_ptr: {
257
+ ip: string;
258
+ dns_ptr: string;
259
+ }[];
260
+ id: number;
261
+ ip: string;
262
+ labels: Labels;
263
+ location: Location;
264
+ name: string;
265
+ protection: Protection;
266
+ type: "ipv4" | "ipv6";
267
+ }
268
+ export interface Volume {
269
+ created: string;
270
+ format: string | null;
271
+ id: number;
272
+ labels: Labels;
273
+ linux_device: string | null;
274
+ location: Location;
275
+ name: string;
276
+ protection: Protection;
277
+ server: number | null;
278
+ size: number;
279
+ status: "creating" | "available" | "attached";
280
+ }
281
+ export interface LoadBalancer {
282
+ algorithm: {
283
+ type: "round_robin" | "least_connections";
284
+ };
285
+ created: string;
286
+ id: number;
287
+ included_traffic: number;
288
+ ingoing_traffic: number | null;
289
+ labels: Labels;
290
+ load_balancer_type: LoadBalancerType;
291
+ location: Location;
292
+ name: string;
293
+ outgoing_traffic: number | null;
294
+ private_net: {
295
+ network: number;
296
+ ip: string;
297
+ }[];
298
+ protection: Protection;
299
+ public_net: {
300
+ enabled: boolean;
301
+ ipv4: {
302
+ ip: string;
303
+ dns_ptr: string;
304
+ };
305
+ ipv6: {
306
+ ip: string;
307
+ dns_ptr: string;
308
+ };
309
+ };
310
+ services: LoadBalancerService[];
311
+ targets: LoadBalancerTarget[];
312
+ }
313
+ export interface LoadBalancerType {
314
+ deprecated: string | null;
315
+ description: string;
316
+ id: number;
317
+ max_assigned_certificates: number;
318
+ max_connections: number;
319
+ max_services: number;
320
+ max_targets: number;
321
+ name: string;
322
+ prices: ServerTypePrice[];
323
+ }
324
+ export interface LoadBalancerTarget {
325
+ health_status: {
326
+ listen_port: number;
327
+ status: "healthy" | "unhealthy" | "unknown";
328
+ }[];
329
+ ip?: {
330
+ ip: string;
331
+ };
332
+ label_selector?: {
333
+ selector: string;
334
+ };
335
+ server?: {
336
+ id: number;
337
+ };
338
+ type: "server" | "label_selector" | "ip";
339
+ use_private_ip: boolean;
340
+ }
341
+ export interface LoadBalancerService {
342
+ destination_port: number;
343
+ health_check: {
344
+ protocol: "tcp" | "http" | "https";
345
+ port: number;
346
+ interval: number;
347
+ timeout: number;
348
+ retries: number;
349
+ http?: {
350
+ domain: string | null;
351
+ path: string;
352
+ response: string | null;
353
+ status_codes: string[];
354
+ tls: boolean;
355
+ };
356
+ };
357
+ http?: {
358
+ cookie_name: string;
359
+ cookie_lifetime: number;
360
+ certificates: number[];
361
+ redirect_http: boolean;
362
+ sticky_sessions: boolean;
363
+ };
364
+ listen_port: number;
365
+ protocol: "tcp" | "http" | "https";
366
+ proxyprotocol: boolean;
367
+ }
368
+ export interface Certificate {
369
+ certificate: string | null;
370
+ created: string;
371
+ domain_names: string[];
372
+ fingerprint: string | null;
373
+ id: number;
374
+ labels: Labels;
375
+ name: string;
376
+ not_valid_after: string;
377
+ not_valid_before: string;
378
+ status: {
379
+ issuance: "pending" | "completed" | "failed";
380
+ renewal: "scheduled" | "pending" | "failed" | "unavailable";
381
+ error?: {
382
+ code: string;
383
+ message: string;
384
+ } | null;
385
+ } | null;
386
+ type: "uploaded" | "managed";
387
+ used_by: {
388
+ id: number;
389
+ type: string;
390
+ }[];
391
+ }
392
+ export interface PlacementGroup {
393
+ created: string;
394
+ id: number;
395
+ labels: Labels;
396
+ name: string;
397
+ servers: number[];
398
+ type: "spread";
399
+ }
400
+ export interface PriceAmount {
401
+ gross: string;
402
+ net: string;
403
+ }
404
+ /** Location-bound price entry; hourly is absent on floating IPs. */
405
+ export interface IpPrice {
406
+ location: string;
407
+ price_hourly?: PriceAmount;
408
+ price_monthly: PriceAmount;
409
+ }
410
+ export interface PricingServerTypePrice extends ServerTypePrice {
411
+ price_per_tb_traffic?: PriceAmount;
412
+ }
413
+ export interface NamedTypePricing {
414
+ name: string;
415
+ prices: PricingServerTypePrice[];
416
+ }
417
+ export interface IpTypePricing {
418
+ prices: IpPrice[];
419
+ type: "ipv4" | "ipv6";
420
+ }
421
+ export interface CloudPricing {
422
+ currency: string;
423
+ floating_ips: IpTypePricing[];
424
+ image: {
425
+ price_per_gb_month: PriceAmount;
426
+ };
427
+ load_balancer_types: NamedTypePricing[];
428
+ primary_ips: IpTypePricing[];
429
+ server_backup: {
430
+ percentage: string;
431
+ };
432
+ server_types: NamedTypePricing[];
433
+ vat_rate: string;
434
+ volume: {
435
+ price_per_gb_month: PriceAmount;
436
+ };
437
+ }
@@ -0,0 +1,5 @@
1
+ // ============================================================================
2
+ // Hetzner Cloud API Types
3
+ // Based on: https://docs.hetzner.cloud/
4
+ // ============================================================================
5
+ export {};
@@ -0,0 +1 @@
1
+ export { type Config, type CredentialSource, clearConfig, clearConfigFile, clearKeychain, getCredentials, getCredentialsFromEnv, getCredentialsFromFile, getKeychainCredentials, hasCredentials, hasCredentialsSync, hasKeychainSupport, loadConfig, promptLogin, requireCredentials, saveConfig, saveToKeychain, } from "./shared/config.js";
package/dist/config.js ADDED
@@ -0,0 +1,2 @@
1
+ // Re-export from new location for backward compatibility
2
+ export { clearConfig, clearConfigFile, clearKeychain, getCredentials, getCredentialsFromEnv, getCredentialsFromFile, getKeychainCredentials, hasCredentials, hasCredentialsSync, hasKeychainSupport, loadConfig, promptLogin, requireCredentials, saveConfig, saveToKeychain, } from "./shared/config.js";
@@ -0,0 +1,3 @@
1
+ export { formatAuctionDetails, formatAuctionList, } from "./auction/formatter.js";
2
+ export { formatBootConfig, formatCancellation, formatFailoverList, formatFailoverSwitch, formatFirewall, formatFirewallTemplateList, formatIpDetails, formatIpList, formatLinuxActivation, formatRdnsList, formatRescueActivation, formatResetOptions, formatResetResult, formatServerDetails, formatServerList, formatServerMarketProductList, formatServerProductList, formatSshKeyDetails, formatSshKeyList, formatStorageBoxDetails, formatStorageBoxList, formatStorageBoxSnapshots, formatStorageBoxSubaccounts, formatSubnetList, formatTraffic, formatTransactionList, formatVSwitchDetails, formatVSwitchList, formatWolResult, } from "./robot/formatter.js";
3
+ export { colorize, colors, createTable, error, formatBytes, formatDate, formatDateTime, formatJson, formatStatus, heading, info, success, warning, } from "./shared/formatter.js";
@@ -0,0 +1,6 @@
1
+ // Re-export shared formatter utilities
2
+ // Auction formatters
3
+ export { formatAuctionDetails, formatAuctionList, } from "./auction/formatter.js";
4
+ // Re-export robot-specific formatters for backward compatibility
5
+ export { formatBootConfig, formatCancellation, formatFailoverList, formatFailoverSwitch, formatFirewall, formatFirewallTemplateList, formatIpDetails, formatIpList, formatLinuxActivation, formatRdnsList, formatRescueActivation, formatResetOptions, formatResetResult, formatServerDetails, formatServerList, formatServerMarketProductList, formatServerProductList, formatSshKeyDetails, formatSshKeyList, formatStorageBoxDetails, formatStorageBoxList, formatStorageBoxSnapshots, formatStorageBoxSubaccounts, formatSubnetList, formatTraffic, formatTransactionList, formatVSwitchDetails, formatVSwitchList, formatWolResult, } from "./robot/formatter.js";
6
+ export { colorize, colors, createTable, error, formatBytes, formatDate, formatDateTime, formatJson, formatStatus, heading, info, success, warning, } from "./shared/formatter.js";
@@ -0,0 +1,12 @@
1
+ export { type AuctionFetchMetadata, type AuctionFetchOptions, type AuctionFetchResult, type AuctionSource, DEFAULT_AUCTION_CACHE_BASE_URL, fetchAuctionData, fetchAuctionServers, filterAuctionServers, getAuctionDataUrl, sortAuctionServers, } from "./auction/client.js";
2
+ export { computeDiff, type DiffResult, type PriceChange, } from "./auction/diff.js";
3
+ export { getLatestSnapshot, getSnapshotServers, openDatabase, pruneSnapshots, type StoredSnapshot, saveSnapshot, } from "./auction/store.js";
4
+ export type { AuctionDiskData, AuctionFilterOptions, AuctionIpPrice, AuctionResponse, AuctionServer, } from "./auction/types.js";
5
+ export { HetznerCloudClient } from "./cloud/client.js";
6
+ export { createContext, deleteContext, getActiveContext, listContexts, resolveToken, useContext, validateCloudToken, } from "./cloud/context.js";
7
+ export type { Certificate, CloudAction, CloudApiError, CloudFirewall, CloudFirewallAppliedTo, CloudFirewallRule, CloudServer, CloudSshKey, Datacenter, FloatingIp, Image, ISO, Labels, LoadBalancer, LoadBalancerService, LoadBalancerTarget, LoadBalancerType, Location, Network, NetworkRoute, NetworkSubnet, PaginationMeta, PlacementGroup, PrimaryIp, Protection, ServerType, ServerTypePrice, Volume, } from "./cloud/types.js";
8
+ export { HetznerRobotClient } from "./robot/client.js";
9
+ export type { ApiError, ApiResponse, BootConfig, Cancellation, CpanelConfig, Failover, Firewall, FirewallRule, FirewallTemplate, IP, LinuxConfig, Mac, PleskConfig, ProductPrice, Rdns, RescueConfig, Reset, ResetType, Server, ServerDetails, ServerMarketProduct, ServerProduct, ServerSubnet, ServerTransaction, ServerTransactionProduct, SshKey, StorageBox, StorageBoxSnapshot, StorageBoxSnapshotPlan, StorageBoxSubaccount, Subnet, Traffic, TrafficData, VncConfig, VSwitch, VSwitchCloudNetwork, VSwitchServer, VSwitchSubnet, VSwitchSummary, WindowsConfig, Wol, } from "./robot/types.js";
10
+ export { type Config, clearConfig, getCredentials, hasCredentials, loadConfig, promptLogin, requireCredentials, saveConfig, } from "./shared/config.js";
11
+ export { colorize, colors, error, formatBytes, formatDate, formatDateTime, formatJson, formatStatus, heading, info, success, warning, } from "./shared/formatter.js";
12
+ export { generateReference } from "./shared/reference.js";
package/dist/index.js ADDED
@@ -0,0 +1,21 @@
1
+ // ============================================================================
2
+ // hctl - Main Library Export
3
+ // ============================================================================
4
+ // Auction Client
5
+ export { DEFAULT_AUCTION_CACHE_BASE_URL, fetchAuctionData, fetchAuctionServers, filterAuctionServers, getAuctionDataUrl, sortAuctionServers, } from "./auction/client.js";
6
+ // Auction Diff
7
+ export { computeDiff, } from "./auction/diff.js";
8
+ // Auction Store
9
+ export { getLatestSnapshot, getSnapshotServers, openDatabase, pruneSnapshots, saveSnapshot, } from "./auction/store.js";
10
+ // Cloud Client
11
+ export { HetznerCloudClient } from "./cloud/client.js";
12
+ // Cloud Context
13
+ export { createContext, deleteContext, getActiveContext, listContexts, resolveToken, useContext, validateCloudToken, } from "./cloud/context.js";
14
+ // Robot Client
15
+ export { HetznerRobotClient } from "./robot/client.js";
16
+ // Configuration utilities (for CLI integration)
17
+ export { clearConfig, getCredentials, hasCredentials, loadConfig, promptLogin, requireCredentials, saveConfig, } from "./shared/config.js";
18
+ // Formatter utilities (for custom output)
19
+ export { colorize, colors, error, formatBytes, formatDate, formatDateTime, formatJson, formatStatus, heading, info, success, warning, } from "./shared/formatter.js";
20
+ // Reference documentation (for LLM context)
21
+ export { generateReference } from "./shared/reference.js";