@kadi.build/deploy-ability 0.0.2 → 0.0.4

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 (103) hide show
  1. package/dist/targets/akash/bids.d.ts +183 -0
  2. package/dist/targets/akash/bids.d.ts.map +1 -0
  3. package/dist/targets/akash/bids.js +247 -0
  4. package/dist/targets/akash/bids.js.map +1 -0
  5. package/dist/targets/akash/certificate-manager.d.ts +89 -167
  6. package/dist/targets/akash/certificate-manager.d.ts.map +1 -1
  7. package/dist/targets/akash/certificate-manager.js +193 -301
  8. package/dist/targets/akash/certificate-manager.js.map +1 -1
  9. package/dist/targets/akash/client.d.ts +644 -0
  10. package/dist/targets/akash/client.d.ts.map +1 -0
  11. package/dist/targets/akash/client.js +972 -0
  12. package/dist/targets/akash/client.js.map +1 -0
  13. package/dist/targets/akash/constants.d.ts +12 -149
  14. package/dist/targets/akash/constants.d.ts.map +1 -1
  15. package/dist/targets/akash/constants.js +14 -136
  16. package/dist/targets/akash/constants.js.map +1 -1
  17. package/dist/targets/akash/deployer.d.ts +3 -82
  18. package/dist/targets/akash/deployer.d.ts.map +1 -1
  19. package/dist/targets/akash/deployer.js +122 -160
  20. package/dist/targets/akash/deployer.js.map +1 -1
  21. package/dist/targets/akash/environment.d.ts +16 -214
  22. package/dist/targets/akash/environment.d.ts.map +1 -1
  23. package/dist/targets/akash/environment.js +20 -210
  24. package/dist/targets/akash/environment.js.map +1 -1
  25. package/dist/targets/akash/index.d.ts +95 -189
  26. package/dist/targets/akash/index.d.ts.map +1 -1
  27. package/dist/targets/akash/index.js +69 -197
  28. package/dist/targets/akash/index.js.map +1 -1
  29. package/dist/targets/akash/lease-monitor.d.ts +3 -21
  30. package/dist/targets/akash/lease-monitor.d.ts.map +1 -1
  31. package/dist/targets/akash/lease-monitor.js +39 -56
  32. package/dist/targets/akash/lease-monitor.js.map +1 -1
  33. package/dist/targets/akash/logs.d.ts +103 -4
  34. package/dist/targets/akash/logs.d.ts.map +1 -1
  35. package/dist/targets/akash/logs.js +12 -3
  36. package/dist/targets/akash/logs.js.map +1 -1
  37. package/dist/targets/akash/pricing.d.ts +12 -191
  38. package/dist/targets/akash/pricing.d.ts.map +1 -1
  39. package/dist/targets/akash/pricing.js +12 -188
  40. package/dist/targets/akash/pricing.js.map +1 -1
  41. package/dist/targets/akash/provider-manager.d.ts +120 -0
  42. package/dist/targets/akash/provider-manager.d.ts.map +1 -0
  43. package/dist/targets/akash/provider-manager.js +574 -0
  44. package/dist/targets/akash/provider-manager.js.map +1 -0
  45. package/dist/targets/akash/sdl-generator.d.ts +2 -2
  46. package/dist/targets/akash/sdl-generator.d.ts.map +1 -1
  47. package/dist/targets/akash/sdl-generator.js +6 -39
  48. package/dist/targets/akash/sdl-generator.js.map +1 -1
  49. package/dist/targets/akash/types.d.ts +66 -243
  50. package/dist/targets/akash/types.d.ts.map +1 -1
  51. package/dist/targets/akash/types.js +4 -41
  52. package/dist/targets/akash/types.js.map +1 -1
  53. package/dist/targets/akash/wallet-manager.d.ts +35 -352
  54. package/dist/targets/akash/wallet-manager.d.ts.map +1 -1
  55. package/dist/targets/akash/wallet-manager.js +37 -439
  56. package/dist/targets/akash/wallet-manager.js.map +1 -1
  57. package/dist/targets/local/deployer.js +4 -4
  58. package/dist/targets/local/deployer.js.map +1 -1
  59. package/dist/types/index.d.ts +1 -1
  60. package/dist/types/index.d.ts.map +1 -1
  61. package/dist/types/index.js.map +1 -1
  62. package/dist/types/options.d.ts +45 -4
  63. package/dist/types/options.d.ts.map +1 -1
  64. package/dist/utils/registry/manager.js +6 -6
  65. package/dist/utils/registry/manager.js.map +1 -1
  66. package/dist/utils/registry/setup.js +4 -4
  67. package/dist/utils/registry/setup.js.map +1 -1
  68. package/package.json +8 -11
  69. package/dist/targets/akash/bid-selectors.d.ts +0 -251
  70. package/dist/targets/akash/bid-selectors.d.ts.map +0 -1
  71. package/dist/targets/akash/bid-selectors.js +0 -322
  72. package/dist/targets/akash/bid-selectors.js.map +0 -1
  73. package/dist/targets/akash/bid-types.d.ts +0 -297
  74. package/dist/targets/akash/bid-types.d.ts.map +0 -1
  75. package/dist/targets/akash/bid-types.js +0 -89
  76. package/dist/targets/akash/bid-types.js.map +0 -1
  77. package/dist/targets/akash/blockchain-client.d.ts +0 -577
  78. package/dist/targets/akash/blockchain-client.d.ts.map +0 -1
  79. package/dist/targets/akash/blockchain-client.js +0 -803
  80. package/dist/targets/akash/blockchain-client.js.map +0 -1
  81. package/dist/targets/akash/logs.types.d.ts +0 -102
  82. package/dist/targets/akash/logs.types.d.ts.map +0 -1
  83. package/dist/targets/akash/logs.types.js +0 -9
  84. package/dist/targets/akash/logs.types.js.map +0 -1
  85. package/dist/targets/akash/provider-client.d.ts +0 -114
  86. package/dist/targets/akash/provider-client.d.ts.map +0 -1
  87. package/dist/targets/akash/provider-client.js +0 -318
  88. package/dist/targets/akash/provider-client.js.map +0 -1
  89. package/dist/targets/akash/provider-metadata.d.ts +0 -228
  90. package/dist/targets/akash/provider-metadata.d.ts.map +0 -1
  91. package/dist/targets/akash/provider-metadata.js +0 -14
  92. package/dist/targets/akash/provider-metadata.js.map +0 -1
  93. package/dist/targets/akash/provider-service.d.ts +0 -133
  94. package/dist/targets/akash/provider-service.d.ts.map +0 -1
  95. package/dist/targets/akash/provider-service.js +0 -391
  96. package/dist/targets/akash/provider-service.js.map +0 -1
  97. package/dist/targets/akash/query-client.d.ts +0 -125
  98. package/dist/targets/akash/query-client.d.ts.map +0 -1
  99. package/dist/targets/akash/query-client.js +0 -332
  100. package/dist/targets/akash/query-client.js.map +0 -1
  101. package/docs/EXAMPLES.md +0 -293
  102. package/docs/PLACEMENT.md +0 -433
  103. package/docs/STORAGE.md +0 -318
@@ -36,8 +36,8 @@
36
36
  * });
37
37
  *
38
38
  * if (result.success) {
39
- * console.log(`🚀 Deployed! DSEQ: ${result.data.dseq}`);
40
- * console.log(`🌐 Endpoints:`, result.data.endpoints);
39
+ * console.log(`Deployed! DSEQ: ${result.data.dseq}`);
40
+ * console.log(`Endpoints:`, result.data.endpoints);
41
41
  * }
42
42
  * ```
43
43
  *
@@ -81,7 +81,45 @@
81
81
  * @module akash
82
82
  */
83
83
  // ========================================
84
- // 🚀 High-Level Deployment API
84
+ // Core Client API
85
+ // ========================================
86
+ /**
87
+ * Akash blockchain client
88
+ *
89
+ * Single SDK instance manager for all Akash blockchain operations.
90
+ * Creates one SDK instance (vs 7+ in old implementation) for 85% reduction in overhead.
91
+ *
92
+ * **Usage Pattern:**
93
+ * ```typescript
94
+ * // Create client (read-only or with signer)
95
+ * const client = new AkashClient({ network: 'mainnet', signer });
96
+ *
97
+ * // Perform operations
98
+ * const bids = await client.getBids(wallet, dseq);
99
+ * const lease = await client.acceptBid(bids.data[0].bid);
100
+ *
101
+ * // Cleanup when done
102
+ * await client.disconnect();
103
+ * ```
104
+ */
105
+ export { AkashClient } from './client.js';
106
+ /**
107
+ * Certificate manager for Akash Network
108
+ *
109
+ * Handles certificate operations using AkashClient's SDK instance.
110
+ * Provides methods for querying, broadcasting, and ensuring certificates exist.
111
+ */
112
+ export { CertificateManager } from './certificate-manager.js';
113
+ /**
114
+ * Certificate utility functions
115
+ *
116
+ * Standalone utilities that don't require SDK access:
117
+ * - generateCertificate: Create new X.509 certificate
118
+ * - parseCertificate: Validate and parse certificate JSON
119
+ */
120
+ export { generateCertificate, parseCertificate } from './certificate-manager.js';
121
+ // ========================================
122
+ // High-Level Deployment API
85
123
  // ========================================
86
124
  /**
87
125
  * Main deployment orchestration function
@@ -96,7 +134,7 @@
96
134
  */
97
135
  export { deployToAkash } from './deployer.js';
98
136
  // ========================================
99
- // 👛 Wallet Management
137
+ // Wallet Management
100
138
  // ========================================
101
139
  /**
102
140
  * Connect wallet (Keplr browser extension or WalletConnect)
@@ -180,12 +218,12 @@ export { createWalletContextFromSigner } from './wallet-manager.js';
180
218
  /**
181
219
  * Create wallet context from mnemonic (for agent-controlled wallets)
182
220
  *
183
- * ⚠️ **SECURITY WARNING**: Only use this for wallets YOU control!
221
+ * WARNING: Only use this for wallets YOU control!
184
222
  *
185
223
  * Use this for:
186
- * - Your own CI/CD automation
187
- * - Your own agents (running on your infrastructure)
188
- * - Custodial services you operate
224
+ * - Your own CI/CD automation
225
+ * - Your own agents (running on your infrastructure)
226
+ * - Custodial services you operate
189
227
  *
190
228
  * **NEVER** give your mnemonic to third-party agents!
191
229
  * For third-party services, use `connectWallet()` with WalletConnect instead.
@@ -211,145 +249,6 @@ export { createWalletFromMnemonic } from './wallet-manager.js';
211
249
  * Safely disconnects wallet and cleans up WalletConnect sessions if applicable.
212
250
  */
213
251
  export { disconnectWallet } from './wallet-manager.js';
214
- // ========================================
215
- // 📜 Certificate Management
216
- // ========================================
217
- /**
218
- * Generate a new Akash certificate
219
- *
220
- * Creates fresh X.509 certificate for mTLS authentication with providers.
221
- * Certificate must be broadcast to blockchain before use.
222
- *
223
- * @example
224
- * ```typescript
225
- * const cert = generateCertificate(wallet.address);
226
- * if (cert.success) {
227
- * // Now broadcast to blockchain
228
- * await broadcastCertificate(wallet, cert.data, client);
229
- * }
230
- * ```
231
- */
232
- export { generateCertificate } from './certificate-manager.js';
233
- /**
234
- * Parse and validate certificate from JSON
235
- *
236
- * Validates certificate structure and PEM format before use.
237
- */
238
- export { parseCertificate } from './certificate-manager.js';
239
- /**
240
- * Broadcast certificate to blockchain
241
- *
242
- * Submits certificate transaction, making it available for provider authentication.
243
- */
244
- export { broadcastCertificate } from './certificate-manager.js';
245
- /**
246
- * Query certificate from blockchain
247
- *
248
- * Checks if valid certificate exists on-chain for wallet address.
249
- */
250
- export { queryCertificate } from './certificate-manager.js';
251
- /**
252
- * Ensure certificate exists (convenience)
253
- *
254
- * High-level helper that handles complete certificate workflow:
255
- * - Use existing certificate if provided
256
- * - Query blockchain for existing certificate
257
- * - Generate and broadcast new certificate if needed
258
- *
259
- * @example
260
- * ```typescript
261
- * const cert = await ensureCertificate(wallet, 'mainnet', client);
262
- * // Certificate is guaranteed ready to use
263
- * ```
264
- */
265
- export { ensureCertificate } from './certificate-manager.js';
266
- // ========================================
267
- // ⛓️ Blockchain Operations
268
- // ========================================
269
- /**
270
- * Create signing client for Akash blockchain
271
- *
272
- * Creates SigningStargateClient configured with Akash-specific message types.
273
- * Required for all blockchain transactions.
274
- *
275
- * @example
276
- * ```typescript
277
- * const result = await createSigningClient(wallet, 'mainnet');
278
- * if (result.success) {
279
- * const { client, account } = result.data;
280
- * // Use client for transactions
281
- * }
282
- * ```
283
- */
284
- export { createSigningClient } from './blockchain-client.js';
285
- /**
286
- * Create deployment on Akash blockchain
287
- *
288
- * Submits deployment transaction with SDL manifest.
289
- * Returns deployment sequence number (dseq) for tracking.
290
- */
291
- export { createDeployment } from './blockchain-client.js';
292
- /**
293
- * Query provider bids for deployment
294
- *
295
- * Fetches current bids from providers willing to host your deployment.
296
- * Supports provider blacklisting.
297
- */
298
- export { queryBids } from './blockchain-client.js';
299
- /**
300
- * Wait for provider bids (polling)
301
- *
302
- * Continuously polls for bids until timeout.
303
- * Useful when bids don't appear immediately.
304
- */
305
- export { waitForBids } from './blockchain-client.js';
306
- /**
307
- * Create lease with selected provider
308
- *
309
- * Accepts provider bid and creates lease on blockchain.
310
- * After this, you can send manifest to provider.
311
- */
312
- export { createLease } from './blockchain-client.js';
313
- /**
314
- * Close/terminate a deployment
315
- *
316
- * Closes an active deployment on the blockchain, terminating the lease
317
- * and stopping all containers on the provider. The provider will release
318
- * resources and stop billing.
319
- *
320
- * **Important Notes:**
321
- * - Closing a deployment is permanent and cannot be undone
322
- * - You'll lose access to all data in ephemeral storage
323
- * - Persistent storage may be retained by provider for a limited time
324
- * - You can redeploy using the same SDL if needed
325
- *
326
- * **When to Use:**
327
- * - Gracefully shut down deployments you no longer need
328
- * - Stop billing for inactive services
329
- * - Clean up test/development deployments
330
- * - Migrate to a different provider
331
- *
332
- * @example Close a deployment
333
- * ```typescript
334
- * import { createSigningClient, closeDeployment } from '@kadi.build/deploy-ability/akash';
335
- *
336
- * const clientResult = await createSigningClient(wallet, 'mainnet');
337
- * if (!clientResult.success) throw clientResult.error;
338
- *
339
- * const result = await closeDeployment(
340
- * clientResult.data,
341
- * wallet,
342
- * '12345' // DSEQ from deployment
343
- * );
344
- *
345
- * if (result.success) {
346
- * console.log('Deployment closed:', result.data.transactionHash);
347
- * }
348
- * ```
349
- *
350
- * @see DeploymentCloseResult for details on the response structure
351
- */
352
- export { closeDeployment } from './blockchain-client.js';
353
252
  /**
354
253
  * Create BidPricing from raw blockchain price
355
254
  *
@@ -366,7 +265,7 @@ export { closeDeployment } from './blockchain-client.js';
366
265
  * console.log(pricing.akt.perMonth); // Monthly cost in AKT
367
266
  * ```
368
267
  */
369
- export { createBidPricing } from './bid-types.js';
268
+ export { createBidPricing } from './bids.js';
370
269
  /**
371
270
  * Select cheapest bid
372
271
  *
@@ -408,7 +307,7 @@ export { createBidPricing } from './bid-types.js';
408
307
  * });
409
308
  * ```
410
309
  */
411
- export { selectCheapestBid } from './bid-selectors.js';
310
+ export { selectCheapestBid } from './bids.js';
412
311
  /**
413
312
  * Select most reliable bid
414
313
  *
@@ -445,7 +344,7 @@ export { selectCheapestBid } from './bid-selectors.js';
445
344
  * });
446
345
  * ```
447
346
  */
448
- export { selectMostReliableBid } from './bid-selectors.js';
347
+ export { selectMostReliableBid } from './bids.js';
449
348
  /**
450
349
  * Select balanced bid (price + reliability)
451
350
  *
@@ -499,7 +398,7 @@ export { selectMostReliableBid } from './bid-selectors.js';
499
398
  * });
500
399
  * ```
501
400
  */
502
- export { selectBalancedBid } from './bid-selectors.js';
401
+ export { selectBalancedBid } from './bids.js';
503
402
  /**
504
403
  * Filter bids by criteria
505
404
  *
@@ -542,7 +441,7 @@ export { selectBalancedBid } from './bid-selectors.js';
542
441
  * });
543
442
  * ```
544
443
  */
545
- export { filterBids } from './bid-selectors.js';
444
+ export { filterBids } from './bids.js';
546
445
  /**
547
446
  * Fetch provider metadata
548
447
  *
@@ -567,7 +466,7 @@ export { filterBids } from './bid-selectors.js';
567
466
  * }
568
467
  * ```
569
468
  */
570
- export { fetchProviderInfo } from './provider-service.js';
469
+ export { fetchProviderInfo } from './provider-manager.js';
571
470
  /**
572
471
  * Fetch multiple providers in parallel
573
472
  *
@@ -586,40 +485,19 @@ export { fetchProviderInfo } from './provider-service.js';
586
485
  * }
587
486
  * ```
588
487
  */
589
- export { fetchProviderInfoBatch } from './provider-service.js';
488
+ export { fetchProviderInfoBatch } from './provider-manager.js';
590
489
  // ========================================
591
- // 🔍 Query & Monitoring
490
+ // Query & Monitoring
592
491
  // ========================================
593
492
  /**
594
- * Fetch lease records from blockchain
595
- *
596
- * Query leases with flexible filtering (owner, provider, dseq, etc.)
597
- */
598
- export { getLeaseRecords } from './query-client.js';
599
- /**
600
- * Fetch single lease by ID
601
- *
602
- * Get detailed lease information for specific deployment.
603
- */
604
- export { getLeaseById } from './query-client.js';
605
- /**
606
- * Fetch deployment details
607
- *
608
- * Get deployment configuration, resource specs, and group information.
609
- */
610
- export { getDeploymentDetails } from './query-client.js';
611
- /**
612
- * Fetch provider metadata
613
- *
614
- * Get provider host URI and attributes for deployment monitoring.
615
- */
616
- export { getProviderMetadata } from './query-client.js';
617
- /**
618
- * Get complete deployment overview
493
+ * Query functions are now AkashClient methods:
494
+ * - client.getLeases() - Query leases with filters
495
+ * - client.getLeaseById() - Get lease details
496
+ * - client.getDeployment() - Get deployment details
497
+ * - client.getProvider() - Get provider metadata
619
498
  *
620
- * Aggregates lease, deployment, and provider info into single object.
499
+ * Types are exported from client.ts and types.ts
621
500
  */
622
- export { getDeploymentOverview } from './query-client.js';
623
501
  /**
624
502
  * Wait for containers to reach running state
625
503
  *
@@ -631,15 +509,15 @@ export { waitForContainersRunning } from './lease-monitor.js';
631
509
  *
632
510
  * Delivers deployment manifest to provider via HTTPS with mTLS authentication.
633
511
  */
634
- export { sendManifestToProvider } from './provider-client.js';
512
+ export { sendManifestToProvider } from './provider-manager.js';
635
513
  /**
636
514
  * Fetch lease status from provider
637
515
  *
638
516
  * Query provider for current lease status and service URIs.
639
517
  */
640
- export { fetchProviderLeaseStatus } from './provider-client.js';
518
+ export { fetchProviderLeaseStatus } from './provider-manager.js';
641
519
  // ========================================
642
- // 📜 Log Streaming
520
+ // Log Streaming
643
521
  // ========================================
644
522
  /**
645
523
  * Stream container logs from Akash deployment in real-time
@@ -671,7 +549,7 @@ export { fetchProviderLeaseStatus } from './provider-client.js';
671
549
  *
672
550
  * // Watch for specific events
673
551
  * if (log.message.includes('Model ready!')) {
674
- * console.log('Model is ready!');
552
+ * console.log('Model is ready!');
675
553
  * stream.close();
676
554
  * }
677
555
  * });
@@ -696,7 +574,7 @@ export { fetchProviderLeaseStatus } from './provider-client.js';
696
574
  * console.log('📦 Downloading model weights...');
697
575
  * }
698
576
  * if (log.message.includes('100%')) {
699
- * console.log('Download complete!');
577
+ * console.log('Download complete!');
700
578
  * }
701
579
  * });
702
580
  * ```
@@ -752,7 +630,7 @@ export { generateAkashSdl } from './sdl-generator.js';
752
630
  */
753
631
  export { createSdlObject } from './sdl-generator.js';
754
632
  // ========================================
755
- // 💰 Pricing Utilities
633
+ // Pricing Utilities
756
634
  // ========================================
757
635
  /**
758
636
  * Lease price calculator with multi-format support
@@ -788,8 +666,8 @@ export { createSdlObject } from './sdl-generator.js';
788
666
  * const result = await deployToAkash({ ... });
789
667
  * if (result.success) {
790
668
  * const usd = result.data.leasePrice.toUSD(aktPrice);
791
- * console.log(`💰 Cost: $${usd.perMonth.toFixed(2)}/month`);
792
- * console.log(`💰 Cost: $${usd.perHour.toFixed(4)}/hour`);
669
+ * console.log(`Cost: $${usd.perMonth.toFixed(2)}/month`);
670
+ * console.log(`Cost: $${usd.perHour.toFixed(4)}/hour`);
793
671
  * }
794
672
  * ```
795
673
  *
@@ -804,7 +682,7 @@ export { LeasePrice } from './pricing.js';
804
682
  */
805
683
  export { AVERAGE_BLOCK_TIME_SECONDS, AVERAGE_DAYS_IN_MONTH, UAKT_PER_AKT, } from './pricing.js';
806
684
  // ========================================
807
- // 🌐 Environment & Configuration
685
+ // Environment & Configuration
808
686
  // ========================================
809
687
  /**
810
688
  * Get network configuration
@@ -822,12 +700,6 @@ export { getNetworkConfig } from './environment.js';
822
700
  * Network configurations for mainnet and testnet
823
701
  */
824
702
  export { AKASH_NETWORKS } from './environment.js';
825
- /**
826
- * Check if provider is blacklisted
827
- *
828
- * Verifies provider against known problematic providers.
829
- */
830
- export { isProviderBlacklisted } from './environment.js';
831
703
  /**
832
704
  * Placement attribute constants
833
705
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/targets/akash/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/targets/akash/index.ts"],"names":[],"mappings":"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"}
@@ -11,35 +11,17 @@
11
11
  import type { Result } from '../../types/index.js';
12
12
  import type { DeploymentLogger } from '../../types/common.js';
13
13
  import { ProviderError } from '../../errors/index.js';
14
- import type { AkashProviderTlsCertificate } from './types.js';
14
+ import type { AkashProviderTlsCertificate, LeaseDetails } from './types.js';
15
15
  import type { AkashNetwork } from './environment.js';
16
- import { type LeaseDetails } from './query-client.js';
17
- import { type ProviderLeaseStatus } from './provider-client.js';
18
- /**
19
- * Options for waiting until provider containers are running
20
- */
16
+ import { type ProviderLeaseStatus } from './provider-manager.js';
17
+ /** Options for waiting until provider containers are running */
21
18
  export interface LeaseMonitorOptions {
22
- /** Akash network in which the lease exists */
23
19
  readonly network: AkashNetwork;
24
- /** Lease identifiers (owner/provider/dseq/gseq/oseq) */
25
20
  readonly lease: LeaseDetails;
26
- /** Provider URI returned during deployment */
27
21
  readonly providerUri: string;
28
- /** TLS certificate bundle for mTLS authentication */
29
22
  readonly certificate: AkashProviderTlsCertificate;
30
- /**
31
- * Poll interval in milliseconds
32
- *
33
- * @default 10000 (10 seconds)
34
- */
35
23
  readonly pollIntervalMs?: number;
36
- /**
37
- * Maximum time to wait before timing out (milliseconds)
38
- *
39
- * @default 600000 (10 minutes)
40
- */
41
24
  readonly maxWaitMs?: number;
42
- /** Logger for human-friendly progress output */
43
25
  readonly logger?: DeploymentLogger;
44
26
  }
45
27
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"lease-monitor.d.ts","sourceRoot":"","sources":["../../../src/targets/akash/lease-monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EACL,aAAa,EAGd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,KAAK,mBAAmB,EAEzB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,qDAAqD;IACrD,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAC;IAClD;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAwFrD"}
1
+ {"version":3,"file":"lease-monitor.d.ts","sourceRoot":"","sources":["../../../src/targets/akash/lease-monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EACL,aAAa,EAGd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAEL,KAAK,mBAAmB,EAEzB,MAAM,uBAAuB,CAAC;AAE/B,gEAAgE;AAChE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAC;IAClD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAwDrD"}
@@ -11,70 +11,57 @@
11
11
  import { setTimeout as delay } from 'node:timers/promises';
12
12
  import { success, failure } from '../../types/index.js';
13
13
  import { defaultLogger } from '../../utils/logger.js';
14
- import { ProviderError, ProviderErrorCodes, containerTimeoutError, } from '../../errors/index.js';
15
- import { getLeaseById, } from './query-client.js';
16
- import { fetchProviderLeaseStatus, } from './provider-client.js';
14
+ import { ProviderErrorCodes, containerTimeoutError, } from '../../errors/index.js';
15
+ import { fetchProviderLeaseStatus, } from './provider-manager.js';
17
16
  /**
18
17
  * Polls both on-chain lease status and the provider status endpoint until all
19
18
  * containers report `ready`. Returns the final provider status snapshot on
20
19
  * success or a ProviderError on failure/timeout.
21
20
  */
22
21
  export async function waitForContainersRunning(options) {
23
- const { network, lease, providerUri, certificate, pollIntervalMs = 10_000, maxWaitMs = 600_000, logger = defaultLogger, } = options;
22
+ const { lease, providerUri, certificate, pollIntervalMs = 10_000, maxWaitMs = 600_000, logger = defaultLogger, } = options;
24
23
  const start = Date.now();
25
24
  let lastStatusSummary = '';
26
- logger.log('🔍 Monitoring provider until containers report ready...');
27
- while (Date.now() - start < maxWaitMs) {
28
- // -----------------------------------------------------------------------
29
- // Step 1: Confirm lease is still active on-chain
30
- // -----------------------------------------------------------------------
31
- const leaseResult = await getLeaseById(network, lease);
32
- if (!leaseResult.success) {
33
- return failure(new ProviderError('Failed to verify lease status on-chain', ProviderErrorCodes.PROVIDER_STATUS_ERROR, { network }, true, 'Retry the request after network connectivity is restored', 'error', leaseResult.error));
34
- }
35
- const currentLease = leaseResult.data;
36
- if (currentLease.state.toLowerCase() === 'closed') {
37
- return failure(new ProviderError('Lease has been closed while waiting for containers to start', ProviderErrorCodes.CONTAINER_START_FAILED, { lease: currentLease }, false, 'Inspect provider logs for failure details before retrying'));
38
- }
39
- // -----------------------------------------------------------------------
40
- // Step 2: Query provider status endpoint via mTLS
41
- // -----------------------------------------------------------------------
42
- const statusResult = await fetchProviderLeaseStatus({
43
- providerUri,
44
- lease: toLeaseReference(lease),
45
- certificate,
46
- });
47
- if (!statusResult.success) {
48
- // Treat unreachable provider separately to surface clear cause
49
- if (statusResult.error.code === ProviderErrorCodes.PROVIDER_UNREACHABLE) {
50
- logger.warn('⚠️ Provider not yet reachable – retrying in a moment...');
25
+ logger.log('Monitoring provider until containers report ready...');
26
+ try {
27
+ while (Date.now() - start < maxWaitMs) {
28
+ // Query provider status endpoint via mTLS to check container readiness
29
+ const statusResult = await fetchProviderLeaseStatus({
30
+ providerUri,
31
+ lease: toLeaseReference(lease),
32
+ certificate,
33
+ });
34
+ if (!statusResult.success) {
35
+ // Treat unreachable provider separately to surface clear cause
36
+ if (statusResult.error.code === ProviderErrorCodes.PROVIDER_UNREACHABLE) {
37
+ logger.warn('Provider not yet reachable – retrying in a moment...');
38
+ }
39
+ else {
40
+ logger.warn(`Provider reported error: ${statusResult.error.message}`);
41
+ }
42
+ await delay(pollIntervalMs);
43
+ continue;
44
+ }
45
+ const providerStatus = statusResult.data;
46
+ const summary = summariseServices(providerStatus);
47
+ if (summary !== lastStatusSummary && summary.length > 0) {
48
+ logger.log(` Service readiness: ${summary}`);
49
+ lastStatusSummary = summary;
51
50
  }
52
- else {
53
- logger.warn(`⚠️ Provider reported error: ${statusResult.error.message}`);
51
+ if (allServicesReady(providerStatus)) {
52
+ logger.log('Containers are reporting ready on the provider.');
53
+ return success(providerStatus);
54
54
  }
55
55
  await delay(pollIntervalMs);
56
- continue;
57
56
  }
58
- const providerStatus = statusResult.data;
59
- const summary = summariseServices(providerStatus);
60
- if (summary !== lastStatusSummary && summary.length > 0) {
61
- logger.log(` 📊 Service readiness: ${summary}`);
62
- lastStatusSummary = summary;
63
- }
64
- if (allServicesReady(providerStatus)) {
65
- logger.log('✅ Containers are reporting ready on the provider.');
66
- return success(providerStatus);
67
- }
68
- await delay(pollIntervalMs);
57
+ // Timeout reached without readiness
58
+ return failure(containerTimeoutError('deployment', maxWaitMs));
59
+ }
60
+ finally {
61
+ // No client cleanup needed - we removed the blockchain query
69
62
  }
70
- // -------------------------------------------------------------------------
71
- // Timeout reached without readiness
72
- // -------------------------------------------------------------------------
73
- return failure(containerTimeoutError('deployment', maxWaitMs));
74
63
  }
75
- /**
76
- * Converts LeaseDetails into LeaseReference required by provider utilities.
77
- */
64
+ /** Converts LeaseDetails into LeaseReference required by provider utilities */
78
65
  function toLeaseReference(lease) {
79
66
  return {
80
67
  dseq: lease.dseq,
@@ -82,9 +69,7 @@ function toLeaseReference(lease) {
82
69
  oseq: lease.oseq,
83
70
  };
84
71
  }
85
- /**
86
- * Generates a human-readable readiness summary for logging.
87
- */
72
+ /** Generates a human-readable readiness summary for logging */
88
73
  function summariseServices(status) {
89
74
  const entries = Object.entries(status.services);
90
75
  if (entries.length === 0) {
@@ -94,9 +79,7 @@ function summariseServices(status) {
94
79
  .map(([name, service]) => `${name}:${service.ready}/${Math.max(service.total, 1)}`)
95
80
  .join(', ');
96
81
  }
97
- /**
98
- * Determines if all services meet their requested replica counts.
99
- */
82
+ /** Determines if all services meet their requested replica counts */
100
83
  function allServicesReady(status) {
101
84
  const services = Object.values(status.services);
102
85
  if (services.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"lease-monitor.js","sourceRoot":"","sources":["../../../src/targets/akash/lease-monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lease-monitor.js","sourceRoot":"","sources":["../../../src/targets/akash/lease-monitor.ts"],"names":[],"mappings":"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"}