@agirails/sdk 2.6.0 → 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 (267) hide show
  1. package/README.md +1 -1
  2. package/bin/agirails +10 -0
  3. package/dist/ACTPClient.d.ts +9 -4
  4. package/dist/ACTPClient.d.ts.map +1 -1
  5. package/dist/ACTPClient.js +12 -8
  6. package/dist/ACTPClient.js.map +1 -1
  7. package/dist/abi/ACTPKernel.json +87 -6
  8. package/dist/adapters/BaseAdapter.d.ts +3 -3
  9. package/dist/adapters/BaseAdapter.js +3 -3
  10. package/dist/adapters/BasicAdapter.d.ts +1 -1
  11. package/dist/adapters/BasicAdapter.js +2 -2
  12. package/dist/adapters/BasicAdapter.js.map +1 -1
  13. package/dist/adapters/StandardAdapter.d.ts +30 -8
  14. package/dist/adapters/StandardAdapter.d.ts.map +1 -1
  15. package/dist/adapters/StandardAdapter.js +34 -9
  16. package/dist/adapters/StandardAdapter.js.map +1 -1
  17. package/dist/adapters/X402Adapter.d.ts.map +1 -1
  18. package/dist/adapters/X402Adapter.js +14 -12
  19. package/dist/adapters/X402Adapter.js.map +1 -1
  20. package/dist/api/agirailsApp.d.ts +197 -0
  21. package/dist/api/agirailsApp.d.ts.map +1 -0
  22. package/dist/api/agirailsApp.js +175 -0
  23. package/dist/api/agirailsApp.js.map +1 -0
  24. package/dist/cli/agirails.d.ts +10 -0
  25. package/dist/cli/agirails.d.ts.map +1 -0
  26. package/dist/cli/agirails.js +187 -0
  27. package/dist/cli/agirails.js.map +1 -0
  28. package/dist/cli/commands/autopublish.d.ts +13 -0
  29. package/dist/cli/commands/autopublish.d.ts.map +1 -0
  30. package/dist/cli/commands/autopublish.js +156 -0
  31. package/dist/cli/commands/autopublish.js.map +1 -0
  32. package/dist/cli/commands/batch.js +1 -1
  33. package/dist/cli/commands/claim-code.d.ts +11 -0
  34. package/dist/cli/commands/claim-code.d.ts.map +1 -0
  35. package/dist/cli/commands/claim-code.js +160 -0
  36. package/dist/cli/commands/claim-code.js.map +1 -0
  37. package/dist/cli/commands/claim.d.ts +17 -0
  38. package/dist/cli/commands/claim.d.ts.map +1 -0
  39. package/dist/cli/commands/claim.js +104 -0
  40. package/dist/cli/commands/claim.js.map +1 -0
  41. package/dist/cli/commands/config.js +1 -1
  42. package/dist/cli/commands/config.js.map +1 -1
  43. package/dist/cli/commands/find.d.ts +23 -0
  44. package/dist/cli/commands/find.d.ts.map +1 -0
  45. package/dist/cli/commands/find.js +230 -0
  46. package/dist/cli/commands/find.js.map +1 -0
  47. package/dist/cli/commands/health.d.ts +16 -0
  48. package/dist/cli/commands/health.d.ts.map +1 -0
  49. package/dist/cli/commands/health.js +287 -0
  50. package/dist/cli/commands/health.js.map +1 -0
  51. package/dist/cli/commands/init.d.ts.map +1 -1
  52. package/dist/cli/commands/init.js +42 -13
  53. package/dist/cli/commands/init.js.map +1 -1
  54. package/dist/cli/commands/negotiate.d.ts +11 -0
  55. package/dist/cli/commands/negotiate.d.ts.map +1 -0
  56. package/dist/cli/commands/negotiate.js +192 -0
  57. package/dist/cli/commands/negotiate.js.map +1 -0
  58. package/dist/cli/commands/publish.d.ts.map +1 -1
  59. package/dist/cli/commands/publish.js +310 -17
  60. package/dist/cli/commands/publish.js.map +1 -1
  61. package/dist/cli/commands/pull.d.ts +7 -3
  62. package/dist/cli/commands/pull.d.ts.map +1 -1
  63. package/dist/cli/commands/pull.js +105 -13
  64. package/dist/cli/commands/pull.js.map +1 -1
  65. package/dist/cli/commands/receipt.d.ts +31 -0
  66. package/dist/cli/commands/receipt.d.ts.map +1 -0
  67. package/dist/cli/commands/receipt.js +92 -0
  68. package/dist/cli/commands/receipt.js.map +1 -0
  69. package/dist/cli/commands/test.d.ts +15 -0
  70. package/dist/cli/commands/test.d.ts.map +1 -0
  71. package/dist/cli/commands/test.js +176 -0
  72. package/dist/cli/commands/test.js.map +1 -0
  73. package/dist/cli/index.js +19 -0
  74. package/dist/cli/index.js.map +1 -1
  75. package/dist/cli/testjobs/index.d.ts +18 -0
  76. package/dist/cli/testjobs/index.d.ts.map +1 -0
  77. package/dist/cli/testjobs/index.js +45 -0
  78. package/dist/cli/testjobs/index.js.map +1 -0
  79. package/dist/cli/testjobs/templates/automation.d.ts +3 -0
  80. package/dist/cli/testjobs/templates/automation.d.ts.map +1 -0
  81. package/dist/cli/testjobs/templates/automation.js +32 -0
  82. package/dist/cli/testjobs/templates/automation.js.map +1 -0
  83. package/dist/cli/testjobs/templates/code-review.d.ts +3 -0
  84. package/dist/cli/testjobs/templates/code-review.d.ts.map +1 -0
  85. package/dist/cli/testjobs/templates/code-review.js +27 -0
  86. package/dist/cli/testjobs/templates/code-review.js.map +1 -0
  87. package/dist/cli/testjobs/templates/content-writing.d.ts +3 -0
  88. package/dist/cli/testjobs/templates/content-writing.d.ts.map +1 -0
  89. package/dist/cli/testjobs/templates/content-writing.js +20 -0
  90. package/dist/cli/testjobs/templates/content-writing.js.map +1 -0
  91. package/dist/cli/testjobs/templates/data-analysis.d.ts +3 -0
  92. package/dist/cli/testjobs/templates/data-analysis.d.ts.map +1 -0
  93. package/dist/cli/testjobs/templates/data-analysis.js +34 -0
  94. package/dist/cli/testjobs/templates/data-analysis.js.map +1 -0
  95. package/dist/cli/testjobs/templates/generic.d.ts +3 -0
  96. package/dist/cli/testjobs/templates/generic.d.ts.map +1 -0
  97. package/dist/cli/testjobs/templates/generic.js +17 -0
  98. package/dist/cli/testjobs/templates/generic.js.map +1 -0
  99. package/dist/cli/testjobs/templates/security-audit.d.ts +3 -0
  100. package/dist/cli/testjobs/templates/security-audit.d.ts.map +1 -0
  101. package/dist/cli/testjobs/templates/security-audit.js +30 -0
  102. package/dist/cli/testjobs/templates/security-audit.js.map +1 -0
  103. package/dist/cli/testjobs/templates/testing.d.ts +3 -0
  104. package/dist/cli/testjobs/templates/testing.d.ts.map +1 -0
  105. package/dist/cli/testjobs/templates/testing.js +29 -0
  106. package/dist/cli/testjobs/templates/testing.js.map +1 -0
  107. package/dist/cli/testjobs/templates/translation.d.ts +3 -0
  108. package/dist/cli/testjobs/templates/translation.d.ts.map +1 -0
  109. package/dist/cli/testjobs/templates/translation.js +16 -0
  110. package/dist/cli/testjobs/templates/translation.js.map +1 -0
  111. package/dist/cli/testjobs/types.d.ts +16 -0
  112. package/dist/cli/testjobs/types.d.ts.map +1 -0
  113. package/dist/cli/testjobs/types.js +8 -0
  114. package/dist/cli/testjobs/types.js.map +1 -0
  115. package/dist/cli/utils/client.js +1 -1
  116. package/dist/cli/utils/client.js.map +1 -1
  117. package/dist/cli/utils/config.d.ts +12 -0
  118. package/dist/cli/utils/config.d.ts.map +1 -1
  119. package/dist/cli/utils/config.js +29 -2
  120. package/dist/cli/utils/config.js.map +1 -1
  121. package/dist/config/agirailsmd.d.ts +1 -1
  122. package/dist/config/agirailsmd.d.ts.map +1 -1
  123. package/dist/config/agirailsmd.js +3 -0
  124. package/dist/config/agirailsmd.js.map +1 -1
  125. package/dist/config/agirailsmdV4.d.ts +82 -0
  126. package/dist/config/agirailsmdV4.d.ts.map +1 -0
  127. package/dist/config/agirailsmdV4.js +254 -0
  128. package/dist/config/agirailsmdV4.js.map +1 -0
  129. package/dist/config/defaults.d.ts +50 -0
  130. package/dist/config/defaults.d.ts.map +1 -0
  131. package/dist/config/defaults.js +77 -0
  132. package/dist/config/defaults.js.map +1 -0
  133. package/dist/config/networks.d.ts +1 -0
  134. package/dist/config/networks.d.ts.map +1 -1
  135. package/dist/config/networks.js +16 -13
  136. package/dist/config/networks.js.map +1 -1
  137. package/dist/config/publishPipeline.d.ts.map +1 -1
  138. package/dist/config/publishPipeline.js +4 -0
  139. package/dist/config/publishPipeline.js.map +1 -1
  140. package/dist/config/slugUtils.d.ts +28 -0
  141. package/dist/config/slugUtils.d.ts.map +1 -0
  142. package/dist/config/slugUtils.js +51 -0
  143. package/dist/config/slugUtils.js.map +1 -0
  144. package/dist/level0/ServiceDirectory.d.ts +6 -6
  145. package/dist/level0/ServiceDirectory.js +11 -11
  146. package/dist/level0/ServiceDirectory.js.map +1 -1
  147. package/dist/level1/Agent.d.ts +10 -10
  148. package/dist/level1/Agent.d.ts.map +1 -1
  149. package/dist/level1/Agent.js +45 -29
  150. package/dist/level1/Agent.js.map +1 -1
  151. package/dist/level1/pricing/PriceCalculator.js +2 -2
  152. package/dist/level1/pricing/PriceCalculator.js.map +1 -1
  153. package/dist/negotiation/BuyerOrchestrator.d.ts +108 -0
  154. package/dist/negotiation/BuyerOrchestrator.d.ts.map +1 -0
  155. package/dist/negotiation/BuyerOrchestrator.js +377 -0
  156. package/dist/negotiation/BuyerOrchestrator.js.map +1 -0
  157. package/dist/negotiation/DecisionEngine.d.ts +44 -0
  158. package/dist/negotiation/DecisionEngine.d.ts.map +1 -0
  159. package/dist/negotiation/DecisionEngine.js +116 -0
  160. package/dist/negotiation/DecisionEngine.js.map +1 -0
  161. package/dist/negotiation/PolicyEngine.d.ts +126 -0
  162. package/dist/negotiation/PolicyEngine.d.ts.map +1 -0
  163. package/dist/negotiation/PolicyEngine.js +265 -0
  164. package/dist/negotiation/PolicyEngine.js.map +1 -0
  165. package/dist/negotiation/SessionStore.d.ts +57 -0
  166. package/dist/negotiation/SessionStore.d.ts.map +1 -0
  167. package/dist/negotiation/SessionStore.js +179 -0
  168. package/dist/negotiation/SessionStore.js.map +1 -0
  169. package/dist/negotiation/index.d.ts +9 -0
  170. package/dist/negotiation/index.d.ts.map +1 -0
  171. package/dist/negotiation/index.js +12 -0
  172. package/dist/negotiation/index.js.map +1 -0
  173. package/dist/protocol/ACTPKernel.d.ts +32 -4
  174. package/dist/protocol/ACTPKernel.d.ts.map +1 -1
  175. package/dist/protocol/ACTPKernel.js +70 -16
  176. package/dist/protocol/ACTPKernel.js.map +1 -1
  177. package/dist/protocol/AgentRegistry.js +2 -2
  178. package/dist/protocol/AgentRegistry.js.map +1 -1
  179. package/dist/protocol/DIDResolver.js +2 -2
  180. package/dist/protocol/DIDResolver.js.map +1 -1
  181. package/dist/protocol/EASHelper.d.ts +2 -2
  182. package/dist/protocol/EASHelper.js +5 -5
  183. package/dist/protocol/EASHelper.js.map +1 -1
  184. package/dist/protocol/EscrowVault.d.ts +2 -2
  185. package/dist/protocol/EscrowVault.js +4 -4
  186. package/dist/protocol/EscrowVault.js.map +1 -1
  187. package/dist/protocol/EventMonitor.d.ts +4 -4
  188. package/dist/protocol/EventMonitor.js +5 -5
  189. package/dist/protocol/EventMonitor.js.map +1 -1
  190. package/dist/protocol/MessageSigner.d.ts +5 -5
  191. package/dist/protocol/MessageSigner.js +8 -8
  192. package/dist/protocol/MessageSigner.js.map +1 -1
  193. package/dist/protocol/ProofGenerator.d.ts +4 -4
  194. package/dist/protocol/ProofGenerator.js +6 -6
  195. package/dist/protocol/ProofGenerator.js.map +1 -1
  196. package/dist/runtime/BlockchainRuntime.d.ts +24 -14
  197. package/dist/runtime/BlockchainRuntime.d.ts.map +1 -1
  198. package/dist/runtime/BlockchainRuntime.js +60 -45
  199. package/dist/runtime/BlockchainRuntime.js.map +1 -1
  200. package/dist/runtime/IACTPRuntime.d.ts +12 -1
  201. package/dist/runtime/IACTPRuntime.d.ts.map +1 -1
  202. package/dist/runtime/MockRuntime.d.ts +22 -9
  203. package/dist/runtime/MockRuntime.d.ts.map +1 -1
  204. package/dist/runtime/MockRuntime.js +76 -24
  205. package/dist/runtime/MockRuntime.js.map +1 -1
  206. package/dist/runtime/MockStateManager.js +2 -2
  207. package/dist/runtime/MockStateManager.js.map +1 -1
  208. package/dist/runtime/types/MockState.d.ts +1 -1
  209. package/dist/types/erc8004.d.ts +2 -2
  210. package/dist/types/erc8004.d.ts.map +1 -1
  211. package/dist/types/erc8004.js +4 -1
  212. package/dist/types/erc8004.js.map +1 -1
  213. package/dist/types/state.d.ts +1 -1
  214. package/dist/types/state.js +1 -1
  215. package/dist/types/transaction.d.ts +4 -0
  216. package/dist/types/transaction.d.ts.map +1 -1
  217. package/dist/types/x402.d.ts +17 -9
  218. package/dist/types/x402.d.ts.map +1 -1
  219. package/dist/types/x402.js +9 -9
  220. package/dist/types/x402.js.map +1 -1
  221. package/dist/utils/ErrorRecoveryGuide.d.ts +1 -1
  222. package/dist/utils/ErrorRecoveryGuide.js +1 -1
  223. package/dist/utils/Helpers.d.ts +6 -6
  224. package/dist/utils/Helpers.js +7 -7
  225. package/dist/utils/Helpers.js.map +1 -1
  226. package/dist/utils/IPFSClient.d.ts +7 -7
  227. package/dist/utils/IPFSClient.js +9 -9
  228. package/dist/utils/IPFSClient.js.map +1 -1
  229. package/dist/utils/Logger.d.ts +4 -4
  230. package/dist/utils/Logger.js +8 -8
  231. package/dist/utils/Logger.js.map +1 -1
  232. package/dist/utils/NonceManager.d.ts +9 -9
  233. package/dist/utils/NonceManager.js +19 -19
  234. package/dist/utils/NonceManager.js.map +1 -1
  235. package/dist/utils/RateLimiter.d.ts +10 -10
  236. package/dist/utils/RateLimiter.d.ts.map +1 -1
  237. package/dist/utils/RateLimiter.js +22 -22
  238. package/dist/utils/RateLimiter.js.map +1 -1
  239. package/dist/utils/ReceivedNonceTracker.d.ts +10 -10
  240. package/dist/utils/ReceivedNonceTracker.js +20 -20
  241. package/dist/utils/ReceivedNonceTracker.js.map +1 -1
  242. package/dist/utils/SDKLifecycle.d.ts +3 -3
  243. package/dist/utils/SDKLifecycle.js +7 -7
  244. package/dist/utils/SDKLifecycle.js.map +1 -1
  245. package/dist/utils/SecureNonce.d.ts +1 -1
  246. package/dist/utils/SecureNonce.js +1 -1
  247. package/dist/utils/Semaphore.d.ts +2 -2
  248. package/dist/utils/Semaphore.js +2 -2
  249. package/dist/utils/UsedAttestationTracker.d.ts +13 -13
  250. package/dist/utils/UsedAttestationTracker.js +20 -20
  251. package/dist/utils/UsedAttestationTracker.js.map +1 -1
  252. package/dist/utils/security.d.ts +3 -3
  253. package/dist/utils/security.js +4 -4
  254. package/dist/utils/security.js.map +1 -1
  255. package/dist/utils/validation.d.ts +4 -4
  256. package/dist/utils/validation.js +9 -9
  257. package/dist/utils/validation.js.map +1 -1
  258. package/dist/wallet/AutoWalletProvider.d.ts.map +1 -1
  259. package/dist/wallet/AutoWalletProvider.js +2 -1
  260. package/dist/wallet/AutoWalletProvider.js.map +1 -1
  261. package/dist/wallet/IWalletProvider.d.ts +2 -0
  262. package/dist/wallet/IWalletProvider.d.ts.map +1 -1
  263. package/dist/wallet/aa/TransactionBatcher.d.ts +22 -2
  264. package/dist/wallet/aa/TransactionBatcher.d.ts.map +1 -1
  265. package/dist/wallet/aa/TransactionBatcher.js +51 -9
  266. package/dist/wallet/aa/TransactionBatcher.js.map +1 -1
  267. package/package.json +6 -12
@@ -86,14 +86,14 @@ class Agent extends events_1.EventEmitter {
86
86
  /**
87
87
  * Active jobs
88
88
  *
89
- * SECURITY FIX (C-2): Changed from Map to LRUCache to prevent unbounded growth
89
+ *Security: Changed from Map to LRUCache to prevent unbounded growth
90
90
  * Maximum 1000 active jobs with LRU eviction
91
91
  */
92
92
  this.activeJobs = new security_1.LRUCache(1000);
93
93
  /**
94
94
  * Processed job IDs (for deduplication)
95
95
  *
96
- * SECURITY FIX (C-1): Track jobs we've attempted to process
96
+ *Security: Track jobs we've attempted to process
97
97
  * This prevents race conditions where the same job is processed multiple times
98
98
  * before the state transition completes
99
99
  */
@@ -101,7 +101,7 @@ class Agent extends events_1.EventEmitter {
101
101
  /**
102
102
  * Processing locks (for atomic locking)
103
103
  *
104
- * SECURITY FIX (C-1): Mutex for job processing.
104
+ *Security: Mutex for job processing.
105
105
  * When we see a job, we IMMEDIATELY add to this set (atomic in single-threaded JS).
106
106
  * This prevents race conditions where two poll cycles both pass the processedJobs.has()
107
107
  * check before either calls processedJobs.set().
@@ -131,7 +131,7 @@ class Agent extends events_1.EventEmitter {
131
131
  if (!config.name) {
132
132
  throw new errors_1.ServiceConfigError('name', 'Agent name is required');
133
133
  }
134
- // SECURITY FIX (H-6): Use dedicated AGIRAILS directory as base
134
+ // Security: Use dedicated AGIRAILS directory as base
135
135
  // This prevents writes anywhere in the project directory
136
136
  const AGIRAILS_BASE = path.join(os.homedir(), '.agirails');
137
137
  // Ensure base directory exists
@@ -156,7 +156,7 @@ class Agent extends events_1.EventEmitter {
156
156
  source: `Agent:${config.name}`,
157
157
  minLevel: config.logging?.level || 'info',
158
158
  });
159
- // SECURITY FIX (MEDIUM-4): Initialize concurrency semaphore
159
+ // Security: Initialize concurrency semaphore
160
160
  // Default to 10 concurrent jobs if not specified
161
161
  const maxConcurrency = config.behavior?.concurrency || 10;
162
162
  this.concurrencySemaphore = new Semaphore_1.Semaphore(maxConcurrency);
@@ -289,7 +289,7 @@ class Agent extends events_1.EventEmitter {
289
289
  if (!config.name) {
290
290
  throw new errors_1.ServiceConfigError('name', 'Service name is required');
291
291
  }
292
- // SECURITY FIX (H-2): Validate service name to prevent injection
292
+ // Security: Validate service name to prevent injection
293
293
  try {
294
294
  config.name = (0, security_1.validateServiceName)(config.name);
295
295
  }
@@ -350,7 +350,7 @@ class Agent extends events_1.EventEmitter {
350
350
  /**
351
351
  * Active jobs
352
352
  *
353
- * SECURITY FIX (N-2): Now uses LRUCache.values() iterator.
353
+ *Security: Now uses LRUCache.values() iterator.
354
354
  * Returns a snapshot of currently active jobs.
355
355
  */
356
356
  get jobs() {
@@ -460,7 +460,7 @@ class Agent extends events_1.EventEmitter {
460
460
  /**
461
461
  * Poll for new jobs
462
462
  *
463
- * SECURITY FIXES:
463
+ * Security notes:
464
464
  * - C-1: Race condition prevention using processedJobs deduplication
465
465
  * - C-2: Memory leak prevention using LRUCache
466
466
  * - H-1: DoS prevention by filtering transactions before loading all
@@ -476,7 +476,7 @@ class Agent extends events_1.EventEmitter {
476
476
  return; // Agent not started yet
477
477
  }
478
478
  try {
479
- // SECURITY FIX (H-1): Use filtered query instead of getAllTransactions
479
+ // Security: Use filtered query instead of getAllTransactions
480
480
  // This prevents DoS via memory exhaustion by only fetching relevant transactions
481
481
  let pendingJobs = [];
482
482
  // Check if runtime has the filtered query method
@@ -495,7 +495,7 @@ class Agent extends events_1.EventEmitter {
495
495
  // Process each pending job
496
496
  for (const tx of pendingJobs) {
497
497
  try {
498
- // SECURITY FIX (C-1): Check processingLocks first (atomic check)
498
+ // Security: Check processingLocks first (atomic check)
499
499
  // This prevents race conditions where two poll cycles both try to process
500
500
  // the same job before either transitions the state
501
501
  if (this.processingLocks.has(tx.id) || this.processedJobs.has(tx.id)) {
@@ -503,12 +503,12 @@ class Agent extends events_1.EventEmitter {
503
503
  }
504
504
  // IMMEDIATELY acquire lock (atomic in single-threaded JS)
505
505
  this.processingLocks.add(tx.id);
506
- // SECURITY FIX (C-2): Check if already in active jobs (LRUCache handles size limit)
506
+ // Security: Check if already in active jobs (LRUCache handles size limit)
507
507
  if (this.activeJobs.has(tx.id)) {
508
508
  this.processingLocks.delete(tx.id);
509
509
  continue;
510
510
  }
511
- // SECURITY FIX (H-4): Verify this agent is authorized to accept this transaction
511
+ // Security: Verify this agent is authorized to accept this transaction
512
512
  // Check that tx.provider matches our address (prevents unauthorized state transitions)
513
513
  if (tx.provider !== this.address) {
514
514
  this.logger.warn('Unauthorized transaction detected', {
@@ -536,7 +536,7 @@ class Agent extends events_1.EventEmitter {
536
536
  }
537
537
  // Create Job object from transaction
538
538
  const job = this.createJobFromTransaction(tx);
539
- // SECURITY FIX (C-2): Add to active jobs (LRUCache prevents unbounded growth)
539
+ // Security: Add to active jobs (LRUCache prevents unbounded growth)
540
540
  this.activeJobs.set(job.id, job);
541
541
  // Link escrow immediately to transition out of INITIATED state
542
542
  // This prevents polling from picking up this job again
@@ -587,7 +587,7 @@ class Agent extends events_1.EventEmitter {
587
587
  /**
588
588
  * Find service handler for a transaction
589
589
  *
590
- * SECURITY FIX (MEDIUM): Use exact field matching instead of substring search
590
+ *Security: Use exact field matching instead of substring search
591
591
  * to prevent service routing spoofing attacks.
592
592
  *
593
593
  * Supports multiple formats (in priority order):
@@ -649,7 +649,7 @@ class Agent extends events_1.EventEmitter {
649
649
  /**
650
650
  * Check if job should be auto-accepted
651
651
  *
652
- * SECURITY FIX (MVP): Added pricing strategy evaluation
652
+ *Security: Added pricing strategy evaluation
653
653
  * - Checks service-level filters (budget constraints)
654
654
  * - Evaluates pricing strategy if configured
655
655
  * - Only accepts jobs that meet pricing requirements
@@ -724,14 +724,30 @@ class Agent extends events_1.EventEmitter {
724
724
  });
725
725
  return false;
726
726
  }
727
- // If decision is 'counter-offer', we could implement QUOTED state here
728
- // For MVP, we treat 'counter-offer' as reject (no automatic negotiation)
727
+ // Counter-offer: provider accepts at reduced margin (budget >= cost but < ideal price).
728
+ // ACTP invariant: tx.amount is immutable escrow is always at buyer's original offer.
729
+ // The QUOTED proof documents the provider's ideal price for audit trail / transparency,
730
+ // but does NOT change the on-chain escrow amount.
729
731
  if (calculation.decision === 'counter-offer') {
730
- this.logger.info('Job requires counter-offer (not implemented in MVP)', {
731
- txId: tx.id,
732
- reason: calculation.reason,
733
- });
734
- return false;
732
+ try {
733
+ const { keccak256, toUtf8Bytes, AbiCoder } = await Promise.resolve().then(() => __importStar(require('ethers')));
734
+ const providerIdealPrice = String(Math.round(calculation.price * 1000000)); // USDC base units
735
+ const quoteHash = keccak256(toUtf8Bytes(JSON.stringify({ txId: tx.id, providerIdealPrice, actualEscrow: tx.amount, provider: this.address })));
736
+ const proof = AbiCoder.defaultAbiCoder().encode(['bytes32'], [quoteHash]);
737
+ await this._client.runtime.transitionState(tx.id, 'QUOTED', proof);
738
+ this.logger.info('Counter-offer quoted (accepting at reduced margin)', {
739
+ txId: tx.id,
740
+ providerIdealPrice,
741
+ actualEscrow: tx.amount,
742
+ reason: calculation.reason,
743
+ });
744
+ // Don't auto-accept — buyer must linkEscrow after reviewing quote
745
+ return false;
746
+ }
747
+ catch (quoteError) {
748
+ this.logger.error('Counter-offer submission failed', { txId: tx.id }, quoteError);
749
+ return false;
750
+ }
735
751
  }
736
752
  }
737
753
  catch (error) {
@@ -855,12 +871,12 @@ class Agent extends events_1.EventEmitter {
855
871
  /**
856
872
  * Process a job by invoking the handler
857
873
  *
858
- * SECURITY FIX (C-2): Always cleanup activeJobs on completion/failure
859
- * SECURITY FIX (MEDIUM-4): Uses semaphore to limit concurrent execution
874
+ *Security: Always cleanup activeJobs on completion/failure
875
+ *Security: Uses semaphore to limit concurrent execution
860
876
  */
861
877
  async processJob(job, handler) {
862
878
  const startTime = Date.now();
863
- // SECURITY FIX (MEDIUM-4): Check concurrency limit before processing
879
+ // Security: Check concurrency limit before processing
864
880
  // If semaphore is full, wait up to 30 seconds for a slot
865
881
  const CONCURRENCY_TIMEOUT_MS = 30000;
866
882
  try {
@@ -887,7 +903,7 @@ class Agent extends events_1.EventEmitter {
887
903
  const context = this.createJobContext(job);
888
904
  // Invoke handler
889
905
  const result = await handler(job, context);
890
- // SECURITY FIX (CRITICAL-2): Use ProofGenerator to create authenticated delivery proof
906
+ // Security: Use ProofGenerator to create authenticated delivery proof
891
907
  // This ensures the proof has proper structure with txId, contentHash, and timestamp
892
908
  const proofGenerator = new ProofGenerator_1.ProofGenerator();
893
909
  const deliverable = typeof result === 'string' ? result : JSON.stringify(result);
@@ -928,7 +944,7 @@ class Agent extends events_1.EventEmitter {
928
944
  // Transition to DELIVERED with dispute window proof
929
945
  await this._client.runtime.transitionState(job.id, 'DELIVERED', disputeWindowProof);
930
946
  }
931
- // SECURITY FIX (C-2): Remove from active jobs on SUCCESS
947
+ // Security: Remove from active jobs on SUCCESS
932
948
  this.activeJobs.delete(job.id);
933
949
  // Update stats
934
950
  this._stats.jobsCompleted++;
@@ -949,7 +965,7 @@ class Agent extends events_1.EventEmitter {
949
965
  this.emit('payment:received', job.budget);
950
966
  }
951
967
  catch (error) {
952
- // SECURITY FIX (C-2): Remove from active jobs on FAILURE
968
+ // Security: Remove from active jobs on FAILURE
953
969
  this.activeJobs.delete(job.id);
954
970
  this._stats.jobsFailed++;
955
971
  this._stats.successRate =
@@ -958,7 +974,7 @@ class Agent extends events_1.EventEmitter {
958
974
  this.emit('job:failed', job, error);
959
975
  }
960
976
  finally {
961
- // SECURITY FIX (MEDIUM-4): Always release semaphore permit
977
+ // Security: Always release semaphore permit
962
978
  this.concurrencySemaphore.release();
963
979
  }
964
980
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/level1/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/level1/Agent.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,mCAAsC;AACtC,2CAA6B;AAC7B,uCAAyB;AACzB,uCAAyB;AACzB,mCAAgC;AAChC,8CAA2C;AAC3C,iDAAuD;AAIvD,sCAAqF;AACrF,gDAAgF;AAChF,4CAAoD;AACpD,8CAA+C;AAC/C,kDAA+C;AAC/C,+DAA4D;AAyK5D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,KAAM,SAAQ,qBAAY;IAwGrC;;;;OAIG;IACH,YAAY,MAAmB;QAC7B,KAAK,EAAE,CAAC;QA9FV;;WAEG;QACK,YAAO,GAAgB,MAAM,CAAC;QAOtC;;WAEG;QACK,aAAQ,GAAG,IAAI,GAAG,EAA0D,CAAC;QAErF;;;;;WAKG;QACK,eAAU,GAAG,IAAI,mBAAQ,CAAc,IAAI,CAAC,CAAC;QAErD;;;;;;WAMG;QACK,kBAAa,GAAG,IAAI,mBAAQ,CAAkB,KAAK,CAAC,CAAC;QAE7D;;;;;;;WAOG;QACK,oBAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAU5C;;WAEG;QACK,WAAM,GAAe;YAC3B,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,CAAC;YACb,cAAc,EAAE,CAAC;YACjB,WAAW,EAAE,CAAC;SACf,CAAC;QAEF;;WAEG;QACK,aAAQ,GAAiB;YAC/B,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,GAAG;SACb,CAAC;QAyBA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,2BAAkB,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QACjE,CAAC;QAED,qDAAqD;QACrD,yDAAyD;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;QAE3D,+BAA+B;QAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,4CAA4C;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,iEAAiE;gBACjE,MAAM,CAAC,cAAc,GAAG,IAAA,uBAAY,EAAC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;YAC7E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,2BAAkB,CAC1B,gBAAgB,EAChB,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACrF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC;YACvB,MAAM,EAAE,SAAS,MAAM,CAAC,IAAI,EAAE;YAC9B,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,MAAM;SAC1C,CAAC,CAAC;QAEH,6CAA6C;QAC7C,iDAAiD;QACjD,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,oBAAoB,GAAG,IAAI,qBAAS,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;;;;;OAMG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1D,MAAM,IAAI,4BAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtB,IAAI,CAAC;YACH,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAChC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,EAAE,CAAC;gBAC1E,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,oBAAoB,GAAC,CAAC;gBAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;gBACjF,MAAM,aAAa,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;gBAC9C,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,WAAW,KAAK,MAAM,EAAE,CAAC,CAAC;YAC1E,CAAC;YAED,IAAI,CAAC,OAAO,GAAG,MAAM,uBAAU,CAAC,MAAM,CAAC;gBACrC,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;gBAC9F,gBAAgB,EAAE,IAAI,CAAC,OAAO,IAAI,MAAM,IAAI,CAAC,eAAe,EAAE;gBAC9D,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;gBAC1C,UAAU,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE;gBACtC,MAAM;aACP,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC1B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtB,eAAe;QACf,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,kDAAkD;QAClD,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc;QAEnD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,4BAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,4BAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,4EAA4E;IAC5E,uBAAuB;IACvB,4EAA4E;IAE5E;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,OAAO,CACL,eAAuC,EACvC,OAAmB,EACnB,OAAgC;QAEhC,MAAM,MAAM,GACV,OAAO,eAAe,KAAK,QAAQ;YACjC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,OAAO,EAAE;YACvC,CAAC,CAAC,eAAe,CAAC;QAEtB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,2BAAkB,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QACnE,CAAC;QAED,uDAAuD;QACvD,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,GAAG,IAAA,8BAAmB,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,2BAAkB,CAC1B,MAAM,EACN,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClF,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,2BAAkB,CAAC,MAAM,EAAE,YAAY,MAAM,CAAC,IAAI,sBAAsB,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,OAAwC;QACrE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,4BAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC;QAC7E,CAAC;QAED,oCAAoC;QACpC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;QAEpE,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE;YACzC,GAAG,OAAO;YACV,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QAEH,eAAe;QACf,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;QAEzC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,4EAA4E;IAC5E,aAAa;IACb,4EAA4E;IAE5E;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;;;;;OAMG;IACH,IAAI,OAAO;QACT,8DAA8D;QAC9D,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YAC3B,OAAO;gBACL,GAAG,EAAE,GAAG;gBACR,IAAI,EAAE,GAAG;gBACT,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,GAAG;aACb,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,4CAA4C;YAC5C,IAAI,IAAI,GAAG,GAAG,CAAC;YACf,IAAI,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACzC,IAAI,GAAG,MAAO,IAAI,CAAC,OAAO,CAAC,OAAe,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtE,CAAC;YAED,gDAAgD;YAChD,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAExB,IAAI,2BAA2B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACxD,gDAAgD;gBAChD,MAAM,KAAK,GAAG,MAAO,IAAI,CAAC,OAAO,CAAC,OAAe,CAAC,yBAAyB,CACzE,IAAI,CAAC,OAAO,EACZ,SAAS,EAAE,aAAa;gBACxB,IAAI,CACL,CAAC;gBAEF,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;oBACvB,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;oBAExC,8EAA8E;oBAC9E,IAAI,EAAE,CAAC,KAAK,KAAK,WAAW,IAAI,EAAE,CAAC,KAAK,KAAK,aAAa,IAAI,EAAE,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;wBACvF,MAAM,IAAI,MAAM,CAAC;oBACnB,CAAC;oBAED,yEAAyE;oBACzE,IAAI,EAAE,CAAC,KAAK,KAAK,WAAW,IAAI,EAAE,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACtD,OAAO,IAAI,MAAM,CAAC;oBACpB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG;gBACd,GAAG,EAAE,GAAG,EAAE,8CAA8C;gBACxD,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACzB,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;aAC5B,CAAC;YAEF,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACvD,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,4EAA4E;IAC5E,kBAAkB;IAClB,4EAA4E;IAE5E;;OAEG;IACK,YAAY;QAClB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO,CAAC,kBAAkB;QAC5B,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,YAAY;QAC1C,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,eAAe,CAAC,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACtC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,KAAK,CAAC,WAAW;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,wBAAwB;QAClC,CAAC;QAED,IAAI,CAAC;YACH,6DAA6D;YAC7D,iFAAiF;YACjF,IAAI,WAAW,GAAU,EAAE,CAAC;YAE5B,iDAAiD;YACjD,IAAI,2BAA2B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACxD,uDAAuD;gBACvD,WAAW,GAAG,MAAO,IAAI,CAAC,OAAO,CAAC,OAAe,CAAC,yBAAyB,CACzE,IAAI,CAAC,OAAO,EACZ,WAAW,EACX,GAAG,CACJ,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,8DAA8D;gBAC9D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBACxE,WAAW,GAAG,eAAe,CAAC,MAAM,CAClC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,KAAK,KAAK,WAAW,CACjE,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBACpC,WAAW,EAAE,WAAW,CAAC,MAAM;aAChC,CAAC,CAAC;YAEH,2BAA2B;YAC3B,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,uDAAuD;oBACvD,0EAA0E;oBAC1E,mDAAmD;oBACnD,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;wBACrE,SAAS;oBACX,CAAC;oBAED,0DAA0D;oBAC1D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAEhC,0EAA0E;oBAC1E,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC/B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBACnC,SAAS;oBACX,CAAC;oBAED,uEAAuE;oBACvE,uFAAuF;oBACvF,IAAI,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;wBACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;4BACpD,IAAI,EAAE,EAAE,CAAC,EAAE;4BACX,gBAAgB,EAAE,IAAI,CAAC,OAAO;4BAC9B,cAAc,EAAE,EAAE,CAAC,QAAQ;yBAC5B,CAAC,CAAC;wBACH,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBACnC,SAAS;oBACX,CAAC;oBAED,gCAAgC;oBAChC,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBACnD,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpB,8CAA8C;wBAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;wBACjE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBACnC,SAAS;oBACX,CAAC;oBAED,6BAA6B;oBAC7B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBACrD,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC3D,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBACnC,SAAS;oBACX,CAAC;oBAED,qCAAqC;oBACrC,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;oBAE9C,oEAAoE;oBACpE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBAEjC,+DAA+D;oBAC/D,uDAAuD;oBACvD,IAAI,CAAC;wBACH,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;4BAC7C,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;wBAC1D,CAAC;wBAED,8DAA8D;wBAC9D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBACvC,CAAC;oBAAC,OAAO,WAAW,EAAE,CAAC;wBACrB,kFAAkF;wBAClF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,WAAoB,CAAC,CAAC;wBAClF,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBACnC,SAAS;oBACX,CAAC;4BAAS,CAAC;wBACT,0BAA0B;wBAC1B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACrC,CAAC;oBAED,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;oBAC3B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBAE1E,wEAAwE;oBACxE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;wBAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,KAAc,CAAC,CAAC;wBAC9E,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAC5B,CAAC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,+CAA+C;oBAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAc,CAAC,CAAC;oBACnF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,oDAAoD;YACpD,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBAChC,uDAAuD;YACzD,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,8CAA8C;YAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,EAAE,KAAc,CAAC,CAAC;YACvD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACK,kBAAkB,CACxB,EAAO;QAEP,MAAM,WAAW,GAAG,EAAE,CAAC,kBAAkB,CAAC;QAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,aAAiC,CAAC;QAEtC,kEAAkE;QAClE,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,YAAY,IAAI,OAAO,YAAY,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC7D,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC;YACvC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,cAAc,GAAG,qBAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC3D,IAAI,cAAc,EAAE,CAAC;gBACnB,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC;YACzC,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACjD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,sEAAsE;QACtE,8EAA8E;QAC9E,IAAI,qBAAW,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6DAA6D,EAAE;gBAC/E,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;aACvC,CAAC,CAAC;YACH,4CAA4C;YAC5C,6DAA6D;YAC7D,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,gEAAgE;QAChE,KAAK,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7D,gDAAgD;YAChD,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;gBAChC,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,gBAAgB,CAAC,EAAO;QACpC,8CAA8C;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAEnD,yDAAyD;QACzD,IAAI,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YAErD,gEAAgE;YAChE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,kBAAkB;gBAClB,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;oBAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;wBACtD,IAAI,EAAE,EAAE,CAAC,EAAE;wBACX,MAAM;wBACN,SAAS,EAAE,MAAM,CAAC,SAAS;qBAC5B,CAAC,CAAC;oBACH,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,kBAAkB;gBAClB,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;oBAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;wBACtD,IAAI,EAAE,EAAE,CAAC,EAAE;wBACX,MAAM;wBACN,SAAS,EAAE,MAAM,CAAC,SAAS;qBAC5B,CAAC,CAAC;oBACH,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,+BAA+B;gBAC/B,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBACzD,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;oBAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACxC,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC3E,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;YACD,2CAA2C;iBACtC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;gBAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7E,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,IAAI,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,2BAA2B,GAAC,CAAC;YACrE,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;YAE9C,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAEvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE;oBACvC,IAAI,EAAE,EAAE,CAAC,EAAE;oBACX,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,MAAM,EAAE,WAAW,CAAC,aAAa;oBACjC,QAAQ,EAAE,WAAW,CAAC,QAAQ;oBAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;iBAC3B,CAAC,CAAC;gBAEH,8CAA8C;gBAC9C,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;wBACnD,IAAI,EAAE,EAAE,CAAC,EAAE;wBACX,MAAM,EAAE,WAAW,CAAC,MAAM;qBAC3B,CAAC,CAAC;oBACH,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,wFAAwF;gBACxF,uFAAuF;gBACvF,wFAAwF;gBACxF,kDAAkD;gBAClD,IAAI,WAAW,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;oBAC7C,IAAI,CAAC;wBACH,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,wDAAa,QAAQ,GAAC,CAAC;wBACpE,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,GAAG,OAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB;wBAChG,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CACrC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,kBAAkB,EAAE,YAAY,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CACrG,CAAC,CAAC;wBACH,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;wBAC1E,MAAM,IAAI,CAAC,OAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;wBAEpE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE;4BACrE,IAAI,EAAE,EAAE,CAAC,EAAE;4BACX,kBAAkB;4BAClB,YAAY,EAAE,EAAE,CAAC,MAAM;4BACvB,MAAM,EAAE,WAAW,CAAC,MAAM;yBAC3B,CAAC,CAAC;wBACH,kEAAkE;wBAClE,OAAO,KAAK,CAAC;oBACf,CAAC;oBAAC,OAAO,UAAU,EAAE,CAAC;wBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,UAAmB,CAAC,CAAC;wBAC3F,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,0DAA0D;gBAC1D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAc,CAAC,CAAC;gBAChG,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC;QAEpD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,gCAAgC;QAChC,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;YAC9C,OAAO,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,EAAO;QACtC,OAAO;YACL,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACpC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAC/B,MAAM,EAAE,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,MAAM,CAAC;YAC7C,QAAQ,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,iCAAiC;YACzE,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;SACnC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,kBAAkB,CAAC,EAAO;QAChC,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;YACjD,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACjD,OAAO,MAAM,CAAC,OAAO,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;QAED,qDAAqD;QACrD,MAAM,WAAW,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACpE,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QAED,gDAAgD;QAChD,IAAI,OAAO,EAAE,CAAC,kBAAkB,KAAK,QAAQ,IAAI,EAAE,CAAC,kBAAkB,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACnF,OAAO,EAAE,CAAC,kBAAkB,CAAC;QAC/B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACK,eAAe,CAAC,EAAO;QAC7B,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;YACjD,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzC,OAAO,MAAM,CAAC,KAAK,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;QAED,sDAAsD;QACtD,MAAM,WAAW,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAChE,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,qCAAqC;YAC9D,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,EAAO;QAC7B,OAAO;YACL,aAAa,EAAE,EAAE,CAAC,EAAE;YACpB,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,aAAa,EAAE,EAAE,CAAC,aAAa;SAChC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,MAAc;QAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,OAAS,CAAC,CAAC,gCAAgC;IAC3E,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,UAAU,CAAC,GAAQ,EAAE,OAAmB;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,sDAAsD;QACtD,yDAAyD;QACzD,MAAM,sBAAsB,GAAG,KAAK,CAAC;QAErC,IAAI,CAAC;YACH,qDAAqD;YACrD,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,uCAAuC;YACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;gBACxD,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB;gBACxF,cAAc,EAAE,IAAI,CAAC,oBAAoB,CAAC,KAAK;gBAC/C,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,WAAW;aACnD,CAAC,CAAC;YAEH,uDAAuD;YACvD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAElC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,OAAO,GAAG,CAAC,EAAE,yCAAyC,IAAI,CAAC,oBAAoB,CAAC,KAAK,yBAAyB;gBAC9G,mDAAmD,CACpD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,qBAAqB;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAE3C,iBAAiB;YACjB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAE3C,sEAAsE;YACtE,oFAAoF;YACpF,MAAM,cAAc,GAAG,IAAI,+BAAc,EAAE,CAAC;YAC5C,MAAM,WAAW,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACjF,MAAM,aAAa,GAAG,cAAc,CAAC,qBAAqB,CAAC;gBACzD,IAAI,EAAE,GAAG,CAAC,EAAE;gBACZ,WAAW;gBACX,QAAQ,EAAE;oBACR,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;iBACxB;aACF,CAAC,CAAC;YAEH,kDAAkD;YAClD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;gBACvC,GAAG,aAAa;gBAChB,MAAM,EAAE,0CAA0C;aACnD,CAAC,CAAC;YAEH,gEAAgE;YAChE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,iEAAiE;gBACjE,iEAAiE;gBACjE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAc,CAAC;gBAC5C,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;oBACzB,MAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAU,EAAE,EAAE;wBACvD,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACtC,IAAI,EAAE,EAAE,CAAC;4BACP,EAAE,CAAC,aAAa,GAAG,iBAAiB,CAAC;wBACvC,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,4EAA4E;gBAC5E,2DAA2D;gBAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;gBAElE,uDAAuD;gBACvD,qGAAqG;gBACrG,MAAM,oBAAoB,GAAG,GAAG,CAAC,QAAQ,EAAE,aAAa,IAAI,MAAM,CAAC;gBACnE,MAAM,QAAQ,GAAG,eAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;gBACnD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAEhF,oDAAoD;gBACpD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;YACtF,CAAC;YAED,+CAA+C;YAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAE/B,eAAe;YACf,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,cAAc;gBACxB,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;oBACzE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,WAAW;gBACrB,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACnF,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,GAAG,CAAC,MAAM,CAAC;YAEtC,cAAc;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;gBAChC,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,QAAQ;gBACR,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+CAA+C;YAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,WAAW;gBACrB,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAEnF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,KAAc,CAAC,CAAC;YACnE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;gBAAS,CAAC;YACT,4CAA4C;YAC5C,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,GAAQ;QAC/B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAe,CAAC;QACrC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,cAAc,GAAsB,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,qCAAqC;QAEzD,OAAO;YACL,KAAK,EAAE,KAAK;YAEZ,QAAQ,CAAC,OAAe,EAAE,OAAgB;gBACxC,sBAAsB;gBACtB,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC;YAED,GAAG,EAAE;gBACH,KAAK,EAAE,CAAC,OAAe,EAAE,IAAU,EAAE,EAAE;oBACrC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,KAAK,OAAO,EAAE,CAAC;wBAC5C,kBAAS,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;gBACD,IAAI,EAAE,CAAC,OAAe,EAAE,IAAU,EAAE,EAAE;oBACpC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC;wBACtE,kBAAS,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;gBACD,IAAI,EAAE,CAAC,OAAe,EAAE,IAAU,EAAE,EAAE;oBACpC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC;wBAC9E,kBAAS,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;gBACD,KAAK,EAAE,CAAC,OAAe,EAAE,IAAU,EAAE,EAAE;oBACrC,kBAAS,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;gBAClD,CAAC;aACF;YAED,KAAK,EAAE;gBACL,GAAG,CAAI,GAAW;oBAChB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;gBACD,GAAG,CAAI,GAAW,EAAE,KAAQ;oBAC1B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACxB,CAAC;aACF;YAED,IAAI,SAAS;gBACX,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,QAAQ,CAAC,OAAmB;gBAC1B,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE;oBAC1D,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;iBACjC,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACtC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,wBAAe,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC7D,MAAM,IAAI,wBAAe,CACvB,QAAQ,EACR,GAAG,IAAI,CAAC,OAAO,0EAA0E;gBACzF,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACpF,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACzD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC7D,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAClF,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC3C,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC;oBACH,IAAI,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACtC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC5B,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,wBAAe,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,IAAI,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACjD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;YACvC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,wBAAe,CAAC,mBAAmB,EAAE,4BAA4B,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AA5sCD,sBA4sCC"}
@@ -200,7 +200,7 @@ function estimateUnits(job, unit) {
200
200
  */
201
201
  function estimateApiCost(_api, _job) {
202
202
  // MVP: Returns 0 (API costs tracked externally by agent)
203
- // V2: Integrate with OpenAI/Anthropic pricing APIs
203
+ // TODO: Integrate with LLM provider pricing APIs
204
204
  // Example V2 implementation:
205
205
  // const [provider, model] = api.split(':');
206
206
  // if (provider === 'openai') {
@@ -231,7 +231,7 @@ exports.DEFAULT_PRICING_STRATEGY = {
231
231
  behavior: {
232
232
  belowPrice: 'counter-offer',
233
233
  belowCost: 'reject',
234
- maxNegotiationRounds: 3,
234
+ maxNegotiationRounds: 10,
235
235
  },
236
236
  };
237
237
  //# sourceMappingURL=PriceCalculator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PriceCalculator.js","sourceRoot":"","sources":["../../../src/level1/pricing/PriceCalculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PriceCalculator.js","sourceRoot":"","sources":["../../../src/level1/pricing/PriceCalculator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * BuyerOrchestrator — Autonomous buyer-side negotiation orchestrator.
3
+ *
4
+ * Flow:
5
+ * 1. Discover candidates (via agirails.app API)
6
+ * 2. Score with DecisionEngine (weighted ranking)
7
+ * 3. Validate with PolicyEngine (5 guardrails)
8
+ * 4. For each candidate (up to rounds_max):
9
+ * a. createTransaction → INITIATED
10
+ * b. Poll for QUOTED state (within quote_ttl)
11
+ * c. Validate quote against policy
12
+ * d. Accept → linkEscrow → COMMITTED
13
+ * e. OR reject → try next candidate
14
+ * 5. Track everything via SessionStore
15
+ *
16
+ * Accepts ACTPClient for on-chain operations. Caller manages lifecycle.
17
+ */
18
+ import { DiscoverParams } from '../api/agirailsApp';
19
+ import { BuyerPolicy } from './PolicyEngine';
20
+ import { IACTPRuntime } from '../runtime/IACTPRuntime';
21
+ export interface NegotiationResult {
22
+ success: boolean;
23
+ commerce_session_id: string;
24
+ actp_tx_id?: string;
25
+ selected_provider?: string;
26
+ rounds_used: number;
27
+ /** Why negotiation ended (settled, exhausted, budget_exceeded, etc.) */
28
+ reason: string;
29
+ /** Per-round details for traceability */
30
+ rounds: RoundResult[];
31
+ /** True if repeated identical prices were detected across rounds (price deadlock) */
32
+ deadlock_detected?: boolean;
33
+ }
34
+ export interface RoundResult {
35
+ round: number;
36
+ provider_slug: string;
37
+ provider_address: string;
38
+ action: 'accepted' | 'rejected' | 'timeout' | 'error';
39
+ reason: string;
40
+ tx_id?: string;
41
+ /** Actual quoted price from on-chain (USDC float), if quote was received */
42
+ quoted_price?: number;
43
+ }
44
+ export interface OrchestratorConfig {
45
+ /** Override discover params (search, capability, etc.) */
46
+ discover?: Partial<DiscoverParams>;
47
+ /** Poll interval for checking quote state (ms). Default: 3000 */
48
+ pollIntervalMs?: number;
49
+ /** If true, run discovery + scoring but don't create transactions */
50
+ dryRun?: boolean;
51
+ /** Callback for progress events */
52
+ onProgress?: (event: ProgressEvent) => void;
53
+ }
54
+ export type ProgressEvent = {
55
+ type: 'discovery';
56
+ candidates: number;
57
+ } | {
58
+ type: 'scoring';
59
+ ranked: number;
60
+ } | {
61
+ type: 'round_start';
62
+ round: number;
63
+ provider: string;
64
+ } | {
65
+ type: 'waiting_quote';
66
+ txId: string;
67
+ ttlSeconds: number;
68
+ } | {
69
+ type: 'quote_received';
70
+ txId: string;
71
+ } | {
72
+ type: 'round_end';
73
+ round: number;
74
+ action: string;
75
+ reason: string;
76
+ } | {
77
+ type: 'complete';
78
+ success: boolean;
79
+ reason: string;
80
+ };
81
+ export declare class BuyerOrchestrator {
82
+ private policy;
83
+ private policyEngine;
84
+ private decisionEngine;
85
+ private sessionStore;
86
+ private runtime;
87
+ private requesterAddress;
88
+ constructor(policy: BuyerPolicy, runtime: IACTPRuntime, requesterAddress: string, actpDir?: string);
89
+ /**
90
+ * Execute the full negotiation flow.
91
+ */
92
+ negotiate(config?: OrchestratorConfig): Promise<NegotiationResult>;
93
+ private _negotiate;
94
+ /**
95
+ * Poll until tx reaches one of the target states.
96
+ * Returns the reached state, or null on timeout/cancelled.
97
+ * Resilient to transient RPC errors (retries until deadline).
98
+ */
99
+ private waitForState;
100
+ private sleep;
101
+ private mapToCandidateStats;
102
+ private findAgentAddress;
103
+ private findAgentPrice;
104
+ private findAgentReputation;
105
+ /** Convert a USDC amount (e.g. 0.80) to base units string (e.g. "800000") */
106
+ private toBaseUnits;
107
+ }
108
+ //# sourceMappingURL=BuyerOrchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuyerOrchestrator.d.ts","sourceRoot":"","sources":["../../src/negotiation/BuyerOrchestrator.ts"],"names":[],"mappings":"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"}