@plyaz/api 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. package/README.md +632 -542
  2. package/dist/api/cache/index.d.ts +183 -0
  3. package/dist/api/cache/index.d.ts.map +1 -0
  4. package/dist/api/cache/patterns.d.ts +174 -0
  5. package/dist/api/cache/patterns.d.ts.map +1 -0
  6. package/dist/api/cache/strategies.d.ts +47 -0
  7. package/dist/api/cache/strategies.d.ts.map +1 -0
  8. package/dist/api/client/clientEventManager.d.ts +238 -0
  9. package/dist/api/client/clientEventManager.d.ts.map +1 -0
  10. package/dist/api/client/createApiClient.d.ts +5 -0
  11. package/dist/api/client/createApiClient.d.ts.map +1 -0
  12. package/dist/api/client/helpers/headers.d.ts +11 -0
  13. package/dist/api/client/helpers/headers.d.ts.map +1 -0
  14. package/dist/api/client/helpers/index.d.ts +9 -0
  15. package/dist/api/client/helpers/index.d.ts.map +1 -0
  16. package/dist/api/client/helpers/interceptors.d.ts +29 -0
  17. package/dist/api/client/helpers/interceptors.d.ts.map +1 -0
  18. package/dist/api/client/helpers/network.d.ts +21 -0
  19. package/dist/api/client/helpers/network.d.ts.map +1 -0
  20. package/dist/api/client/helpers/strategies.d.ts +30 -0
  21. package/dist/api/client/helpers/strategies.d.ts.map +1 -0
  22. package/dist/api/client/helpers/tracking.d.ts +15 -0
  23. package/dist/api/client/helpers/tracking.d.ts.map +1 -0
  24. package/dist/api/client/index.d.ts +7 -0
  25. package/dist/api/client/index.d.ts.map +1 -0
  26. package/dist/api/config/adapter.d.ts +25 -0
  27. package/dist/api/config/adapter.d.ts.map +1 -0
  28. package/dist/api/config/configBuilder.d.ts +62 -0
  29. package/dist/api/config/configBuilder.d.ts.map +1 -0
  30. package/dist/api/config/configManager.d.ts +67 -0
  31. package/dist/api/config/configManager.d.ts.map +1 -0
  32. package/dist/api/config/global.d.ts +106 -0
  33. package/dist/api/config/global.d.ts.map +1 -0
  34. package/dist/api/config/index.d.ts +11 -0
  35. package/dist/api/config/index.d.ts.map +1 -0
  36. package/dist/api/debugger/DebugReport.d.ts +71 -0
  37. package/dist/api/debugger/DebugReport.d.ts.map +1 -0
  38. package/dist/api/debugger/UnifiedDebugger.d.ts +444 -0
  39. package/dist/api/debugger/UnifiedDebugger.d.ts.map +1 -0
  40. package/dist/api/debugger/factories/conflict.d.ts +58 -0
  41. package/dist/api/debugger/factories/conflict.d.ts.map +1 -0
  42. package/dist/api/debugger/factories/eventTracking.d.ts +126 -0
  43. package/dist/api/debugger/factories/eventTracking.d.ts.map +1 -0
  44. package/dist/api/debugger/factories/history.d.ts +97 -0
  45. package/dist/api/debugger/factories/history.d.ts.map +1 -0
  46. package/dist/api/debugger/factories/index.d.ts +15 -0
  47. package/dist/api/debugger/factories/index.d.ts.map +1 -0
  48. package/dist/api/debugger/factories/issueAnalysis.d.ts +52 -0
  49. package/dist/api/debugger/factories/issueAnalysis.d.ts.map +1 -0
  50. package/dist/api/debugger/factories/performance.d.ts +53 -0
  51. package/dist/api/debugger/factories/performance.d.ts.map +1 -0
  52. package/dist/api/debugger/factories/report.d.ts +43 -0
  53. package/dist/api/debugger/factories/report.d.ts.map +1 -0
  54. package/dist/api/debugger/index.d.ts +99 -0
  55. package/dist/api/debugger/index.d.ts.map +1 -0
  56. package/dist/api/debugger/queue/DebuggerQueueManager.d.ts +61 -0
  57. package/dist/api/debugger/queue/DebuggerQueueManager.d.ts.map +1 -0
  58. package/dist/api/debugger/queue/OperationTracker.d.ts +86 -0
  59. package/dist/api/debugger/queue/OperationTracker.d.ts.map +1 -0
  60. package/dist/api/debugger/queue/index.d.ts +9 -0
  61. package/dist/api/debugger/queue/index.d.ts.map +1 -0
  62. package/dist/api/endpoints/builders.d.ts +109 -0
  63. package/dist/api/endpoints/builders.d.ts.map +1 -0
  64. package/dist/api/endpoints/campaigns.d.ts +43 -0
  65. package/dist/api/endpoints/campaigns.d.ts.map +1 -0
  66. package/dist/api/endpoints/index.d.ts +100 -0
  67. package/dist/api/endpoints/index.d.ts.map +1 -0
  68. package/dist/api/endpoints/polling.d.ts +83 -0
  69. package/dist/api/endpoints/polling.d.ts.map +1 -0
  70. package/dist/api/endpoints/utils.d.ts +128 -0
  71. package/dist/api/endpoints/utils.d.ts.map +1 -0
  72. package/dist/api/errors/ApiPackageError.d.ts +101 -0
  73. package/dist/api/errors/ApiPackageError.d.ts.map +1 -0
  74. package/dist/api/errors/definitions.d.ts +24 -0
  75. package/dist/api/errors/definitions.d.ts.map +1 -0
  76. package/dist/api/errors/error-codes.d.ts +116 -0
  77. package/dist/api/errors/error-codes.d.ts.map +1 -0
  78. package/dist/api/errors/error-events.d.ts +63 -0
  79. package/dist/api/errors/error-events.d.ts.map +1 -0
  80. package/dist/api/errors/index.d.ts +18 -0
  81. package/dist/api/errors/index.d.ts.map +1 -0
  82. package/dist/api/errors/types-constants.d.ts +64 -0
  83. package/dist/api/errors/types-constants.d.ts.map +1 -0
  84. package/dist/api/events/EventManager.d.ts +230 -0
  85. package/dist/api/events/EventManager.d.ts.map +1 -0
  86. package/dist/api/events/factories/base.d.ts +269 -0
  87. package/dist/api/events/factories/base.d.ts.map +1 -0
  88. package/dist/api/events/factories/cache.d.ts +31 -0
  89. package/dist/api/events/factories/cache.d.ts.map +1 -0
  90. package/dist/api/events/factories/client.d.ts +43 -0
  91. package/dist/api/events/factories/client.d.ts.map +1 -0
  92. package/dist/api/events/factories/config.d.ts +34 -0
  93. package/dist/api/events/factories/config.d.ts.map +1 -0
  94. package/dist/api/events/factories/debug.d.ts +74 -0
  95. package/dist/api/events/factories/debug.d.ts.map +1 -0
  96. package/dist/api/events/factories/errors.d.ts +91 -0
  97. package/dist/api/events/factories/errors.d.ts.map +1 -0
  98. package/dist/api/events/factories/headers.d.ts +54 -0
  99. package/dist/api/events/factories/headers.d.ts.map +1 -0
  100. package/dist/api/events/factories/index.d.ts +46 -0
  101. package/dist/api/events/factories/index.d.ts.map +1 -0
  102. package/dist/api/events/factories/network.d.ts +54 -0
  103. package/dist/api/events/factories/network.d.ts.map +1 -0
  104. package/dist/api/events/factories/performance.d.ts +43 -0
  105. package/dist/api/events/factories/performance.d.ts.map +1 -0
  106. package/dist/api/events/index.d.ts +34 -0
  107. package/dist/api/events/index.d.ts.map +1 -0
  108. package/dist/api/events/namespaces.d.ts +464 -0
  109. package/dist/api/events/namespaces.d.ts.map +1 -0
  110. package/dist/api/events/queue/ConfigUpdateQueueManager.d.ts +53 -0
  111. package/dist/api/events/queue/ConfigUpdateQueueManager.d.ts.map +1 -0
  112. package/dist/api/events/queue/EventQueueManager.d.ts +69 -0
  113. package/dist/api/events/queue/EventQueueManager.d.ts.map +1 -0
  114. package/dist/api/events/queue/index.d.ts +12 -0
  115. package/dist/api/events/queue/index.d.ts.map +1 -0
  116. package/dist/api/events/shared-emitter.d.ts +14 -0
  117. package/dist/api/events/shared-emitter.d.ts.map +1 -0
  118. package/dist/api/headers/cache.d.ts +17 -0
  119. package/dist/api/headers/cache.d.ts.map +1 -0
  120. package/dist/api/headers/enriched.d.ts +18 -0
  121. package/dist/api/headers/enriched.d.ts.map +1 -0
  122. package/dist/api/headers/events.d.ts +17 -0
  123. package/dist/api/headers/events.d.ts.map +1 -0
  124. package/dist/api/headers/extract.d.ts +73 -0
  125. package/dist/api/headers/extract.d.ts.map +1 -0
  126. package/dist/api/headers/headerBuilder.d.ts +308 -0
  127. package/dist/api/headers/headerBuilder.d.ts.map +1 -0
  128. package/dist/api/headers/index.d.ts +37 -0
  129. package/dist/api/headers/index.d.ts.map +1 -0
  130. package/dist/api/headers/merge.d.ts +32 -0
  131. package/dist/api/headers/merge.d.ts.map +1 -0
  132. package/dist/api/headers/presets.d.ts +24 -0
  133. package/dist/api/headers/presets.d.ts.map +1 -0
  134. package/dist/api/headers/utils.d.ts +38 -0
  135. package/dist/api/headers/utils.d.ts.map +1 -0
  136. package/dist/api/hooks/factories/createApiMutation.d.ts +57 -0
  137. package/dist/api/hooks/factories/createApiMutation.d.ts.map +1 -0
  138. package/dist/api/hooks/factories/createApiQuery.d.ts +55 -0
  139. package/dist/api/hooks/factories/createApiQuery.d.ts.map +1 -0
  140. package/dist/api/hooks/factories/defaults.d.ts +15 -0
  141. package/dist/api/hooks/factories/defaults.d.ts.map +1 -0
  142. package/dist/api/hooks/factories/index.d.ts +8 -0
  143. package/dist/api/hooks/factories/index.d.ts.map +1 -0
  144. package/dist/api/hooks/index.d.ts +11 -0
  145. package/dist/api/hooks/index.d.ts.map +1 -0
  146. package/dist/api/hooks/types.d.ts +82 -0
  147. package/dist/api/hooks/types.d.ts.map +1 -0
  148. package/dist/api/hooks/useApiConfigConflicts.d.ts +24 -0
  149. package/dist/api/hooks/useApiConfigConflicts.d.ts.map +1 -0
  150. package/dist/api/hooks/useApiDebugInfo.d.ts +24 -0
  151. package/dist/api/hooks/useApiDebugInfo.d.ts.map +1 -0
  152. package/dist/api/hooks/useApiMonitor.d.ts +25 -0
  153. package/dist/api/hooks/useApiMonitor.d.ts.map +1 -0
  154. package/dist/api/hooks/useApiNetworkQuality.d.ts +21 -0
  155. package/dist/api/hooks/useApiNetworkQuality.d.ts.map +1 -0
  156. package/dist/api/index.d.ts +26 -0
  157. package/dist/api/index.d.ts.map +1 -0
  158. package/dist/api/network/adaptive.d.ts +56 -0
  159. package/dist/api/network/adaptive.d.ts.map +1 -0
  160. package/dist/api/network/client-hints.d.ts +25 -0
  161. package/dist/api/network/client-hints.d.ts.map +1 -0
  162. package/dist/api/network/connection.d.ts +60 -0
  163. package/dist/api/network/connection.d.ts.map +1 -0
  164. package/dist/api/network/core.d.ts +26 -0
  165. package/dist/api/network/core.d.ts.map +1 -0
  166. package/dist/api/network/events.d.ts +18 -0
  167. package/dist/api/network/events.d.ts.map +1 -0
  168. package/dist/api/network/frameworks/express.d.ts +110 -0
  169. package/dist/api/network/frameworks/express.d.ts.map +1 -0
  170. package/dist/api/network/frameworks/index.d.ts +13 -0
  171. package/dist/api/network/frameworks/index.d.ts.map +1 -0
  172. package/dist/api/network/frameworks/nestjs/clientHintsInterceptor.d.ts +29 -0
  173. package/dist/api/network/frameworks/nestjs/clientHintsInterceptor.d.ts.map +1 -0
  174. package/dist/api/network/frameworks/nestjs/decorators.d.ts +48 -0
  175. package/dist/api/network/frameworks/nestjs/decorators.d.ts.map +1 -0
  176. package/dist/api/network/frameworks/nestjs/enrichedHeadersGuard.d.ts +80 -0
  177. package/dist/api/network/frameworks/nestjs/enrichedHeadersGuard.d.ts.map +1 -0
  178. package/dist/api/network/frameworks/nestjs/enrichedHeadersInterceptor.d.ts +83 -0
  179. package/dist/api/network/frameworks/nestjs/enrichedHeadersInterceptor.d.ts.map +1 -0
  180. package/dist/api/network/frameworks/nestjs/index.d.ts +13 -0
  181. package/dist/api/network/frameworks/nestjs/index.d.ts.map +1 -0
  182. package/dist/api/network/frameworks/nestjs/minimumConnectionGuard.d.ts +27 -0
  183. package/dist/api/network/frameworks/nestjs/minimumConnectionGuard.d.ts.map +1 -0
  184. package/dist/api/network/frameworks/nestjs/networkDetectionMiddleware.d.ts +31 -0
  185. package/dist/api/network/frameworks/nestjs/networkDetectionMiddleware.d.ts.map +1 -0
  186. package/dist/api/network/frameworks/nestjs/networkGuard.d.ts +33 -0
  187. package/dist/api/network/frameworks/nestjs/networkGuard.d.ts.map +1 -0
  188. package/dist/api/network/frameworks/nestjs/noDataSaverGuard.d.ts +25 -0
  189. package/dist/api/network/frameworks/nestjs/noDataSaverGuard.d.ts.map +1 -0
  190. package/dist/api/network/frameworks/nextjs.d.ts +86 -0
  191. package/dist/api/network/frameworks/nextjs.d.ts.map +1 -0
  192. package/dist/api/network/frameworks/shared.d.ts +45 -0
  193. package/dist/api/network/frameworks/shared.d.ts.map +1 -0
  194. package/dist/api/network/headers.d.ts +112 -0
  195. package/dist/api/network/headers.d.ts.map +1 -0
  196. package/dist/api/network/index.d.ts +17 -0
  197. package/dist/api/network/index.d.ts.map +1 -0
  198. package/dist/api/network/networkConfigurationManager.d.ts +225 -0
  199. package/dist/api/network/networkConfigurationManager.d.ts.map +1 -0
  200. package/dist/api/network/platform.d.ts +171 -0
  201. package/dist/api/network/platform.d.ts.map +1 -0
  202. package/dist/api/network/presets.d.ts +55 -0
  203. package/dist/api/network/presets.d.ts.map +1 -0
  204. package/dist/api/network/quality.d.ts +28 -0
  205. package/dist/api/network/quality.d.ts.map +1 -0
  206. package/dist/api/network/status.d.ts +74 -0
  207. package/dist/api/network/status.d.ts.map +1 -0
  208. package/dist/api/performance/adaptive.d.ts +35 -0
  209. package/dist/api/performance/adaptive.d.ts.map +1 -0
  210. package/dist/api/performance/index.d.ts +133 -0
  211. package/dist/api/performance/index.d.ts.map +1 -0
  212. package/dist/api/performance/patterns.d.ts +20 -0
  213. package/dist/api/performance/patterns.d.ts.map +1 -0
  214. package/dist/api/performance/performanceMonitor.d.ts +85 -0
  215. package/dist/api/performance/performanceMonitor.d.ts.map +1 -0
  216. package/dist/api/performance/presets.d.ts +18 -0
  217. package/dist/api/performance/presets.d.ts.map +1 -0
  218. package/dist/api/performance/utils.d.ts +98 -0
  219. package/dist/api/performance/utils.d.ts.map +1 -0
  220. package/dist/api/polling/index.d.ts +10 -0
  221. package/dist/api/polling/index.d.ts.map +1 -0
  222. package/dist/api/polling/strategies.d.ts +128 -0
  223. package/dist/api/polling/strategies.d.ts.map +1 -0
  224. package/dist/api/polling/utils.d.ts +133 -0
  225. package/dist/api/polling/utils.d.ts.map +1 -0
  226. package/dist/api/pubsub/index.d.ts +147 -0
  227. package/dist/api/pubsub/index.d.ts.map +1 -0
  228. package/dist/api/pubsub/react.d.ts +214 -0
  229. package/dist/api/pubsub/react.d.ts.map +1 -0
  230. package/dist/api/queue/BaseOperationTracker.d.ts +86 -0
  231. package/dist/api/queue/BaseOperationTracker.d.ts.map +1 -0
  232. package/dist/api/queue/BaseQueueManager.d.ts +54 -0
  233. package/dist/api/queue/BaseQueueManager.d.ts.map +1 -0
  234. package/dist/api/queue/BatchProcessor.d.ts +42 -0
  235. package/dist/api/queue/BatchProcessor.d.ts.map +1 -0
  236. package/dist/api/queue/EventQueueManager.d.ts +128 -0
  237. package/dist/api/queue/EventQueueManager.d.ts.map +1 -0
  238. package/dist/api/queue/PriorityQueue.d.ts +58 -0
  239. package/dist/api/queue/PriorityQueue.d.ts.map +1 -0
  240. package/dist/api/queue/QueueFactory.d.ts +57 -0
  241. package/dist/api/queue/QueueFactory.d.ts.map +1 -0
  242. package/dist/api/queue/QueueOrchestrator.d.ts +90 -0
  243. package/dist/api/queue/QueueOrchestrator.d.ts.map +1 -0
  244. package/dist/api/queue/QueueSystem.d.ts +102 -0
  245. package/dist/api/queue/QueueSystem.d.ts.map +1 -0
  246. package/dist/api/queue/index.d.ts +22 -0
  247. package/dist/api/queue/index.d.ts.map +1 -0
  248. package/dist/api/regional/constants.d.ts +76 -0
  249. package/dist/api/regional/constants.d.ts.map +1 -0
  250. package/dist/api/regional/core.d.ts +56 -0
  251. package/dist/api/regional/core.d.ts.map +1 -0
  252. package/dist/api/regional/helpers.d.ts +49 -0
  253. package/dist/api/regional/helpers.d.ts.map +1 -0
  254. package/dist/api/regional/index.d.ts +10 -0
  255. package/dist/api/regional/index.d.ts.map +1 -0
  256. package/dist/api/regional/presets.d.ts +16 -0
  257. package/dist/api/regional/presets.d.ts.map +1 -0
  258. package/dist/api/request/index.d.ts +18 -0
  259. package/dist/api/request/index.d.ts.map +1 -0
  260. package/dist/api/request/management.d.ts +46 -0
  261. package/dist/api/request/management.d.ts.map +1 -0
  262. package/dist/api/request/prepare.d.ts +34 -0
  263. package/dist/api/request/prepare.d.ts.map +1 -0
  264. package/dist/api/request/react.d.ts +98 -0
  265. package/dist/api/request/react.d.ts.map +1 -0
  266. package/dist/api/request/routing.d.ts +74 -0
  267. package/dist/api/request/routing.d.ts.map +1 -0
  268. package/dist/api/request/tracker.d.ts +76 -0
  269. package/dist/api/request/tracker.d.ts.map +1 -0
  270. package/dist/api/request/utils.d.ts +129 -0
  271. package/dist/api/request/utils.d.ts.map +1 -0
  272. package/dist/api/retry/conditions.d.ts +140 -0
  273. package/dist/api/retry/conditions.d.ts.map +1 -0
  274. package/dist/api/retry/index.d.ts +10 -0
  275. package/dist/api/retry/index.d.ts.map +1 -0
  276. package/dist/api/retry/strategies.d.ts +56 -0
  277. package/dist/api/retry/strategies.d.ts.map +1 -0
  278. package/dist/api/revalidation/index.d.ts +29 -0
  279. package/dist/api/revalidation/index.d.ts.map +1 -0
  280. package/dist/api/revalidation/presets.d.ts +71 -0
  281. package/dist/api/revalidation/presets.d.ts.map +1 -0
  282. package/dist/api/revalidation/strategies.d.ts +116 -0
  283. package/dist/api/revalidation/strategies.d.ts.map +1 -0
  284. package/dist/api/revalidation/utils.d.ts +78 -0
  285. package/dist/api/revalidation/utils.d.ts.map +1 -0
  286. package/dist/api/services/campaigns/DELETE/deleteCampaign.d.ts +30 -0
  287. package/dist/api/services/campaigns/DELETE/deleteCampaign.d.ts.map +1 -0
  288. package/dist/api/services/campaigns/DELETE/index.d.ts +7 -0
  289. package/dist/api/services/campaigns/DELETE/index.d.ts.map +1 -0
  290. package/dist/api/services/campaigns/DELETE/useDeleteCampaign.d.ts +24 -0
  291. package/dist/api/services/campaigns/DELETE/useDeleteCampaign.d.ts.map +1 -0
  292. package/dist/api/services/campaigns/GET/fetchCampaign.d.ts +36 -0
  293. package/dist/api/services/campaigns/GET/fetchCampaign.d.ts.map +1 -0
  294. package/dist/api/services/campaigns/GET/fetchCampaignParticipants.d.ts +40 -0
  295. package/dist/api/services/campaigns/GET/fetchCampaignParticipants.d.ts.map +1 -0
  296. package/dist/api/services/campaigns/GET/fetchCampaignStats.d.ts +31 -0
  297. package/dist/api/services/campaigns/GET/fetchCampaignStats.d.ts.map +1 -0
  298. package/dist/api/services/campaigns/GET/fetchCampaigns.d.ts +39 -0
  299. package/dist/api/services/campaigns/GET/fetchCampaigns.d.ts.map +1 -0
  300. package/dist/api/services/campaigns/GET/index.d.ts +13 -0
  301. package/dist/api/services/campaigns/GET/index.d.ts.map +1 -0
  302. package/dist/api/services/campaigns/GET/useCampaign.d.ts +47 -0
  303. package/dist/api/services/campaigns/GET/useCampaign.d.ts.map +1 -0
  304. package/dist/api/services/campaigns/GET/useCampaignParticipants.d.ts +43 -0
  305. package/dist/api/services/campaigns/GET/useCampaignParticipants.d.ts.map +1 -0
  306. package/dist/api/services/campaigns/GET/useCampaignStats.d.ts +33 -0
  307. package/dist/api/services/campaigns/GET/useCampaignStats.d.ts.map +1 -0
  308. package/dist/api/services/campaigns/GET/useCampaigns.d.ts +43 -0
  309. package/dist/api/services/campaigns/GET/useCampaigns.d.ts.map +1 -0
  310. package/dist/api/services/campaigns/POST/createCampaign.d.ts +37 -0
  311. package/dist/api/services/campaigns/POST/createCampaign.d.ts.map +1 -0
  312. package/dist/api/services/campaigns/POST/index.d.ts +11 -0
  313. package/dist/api/services/campaigns/POST/index.d.ts.map +1 -0
  314. package/dist/api/services/campaigns/POST/joinCampaign.d.ts +31 -0
  315. package/dist/api/services/campaigns/POST/joinCampaign.d.ts.map +1 -0
  316. package/dist/api/services/campaigns/POST/leaveCampaign.d.ts +31 -0
  317. package/dist/api/services/campaigns/POST/leaveCampaign.d.ts.map +1 -0
  318. package/dist/api/services/campaigns/POST/useCreateCampaign.d.ts +36 -0
  319. package/dist/api/services/campaigns/POST/useCreateCampaign.d.ts.map +1 -0
  320. package/dist/api/services/campaigns/POST/useJoinCampaign.d.ts +23 -0
  321. package/dist/api/services/campaigns/POST/useJoinCampaign.d.ts.map +1 -0
  322. package/dist/api/services/campaigns/POST/useLeaveCampaign.d.ts +23 -0
  323. package/dist/api/services/campaigns/POST/useLeaveCampaign.d.ts.map +1 -0
  324. package/dist/api/services/campaigns/PUT/index.d.ts +7 -0
  325. package/dist/api/services/campaigns/PUT/index.d.ts.map +1 -0
  326. package/dist/api/services/campaigns/PUT/updateCampaign.d.ts +37 -0
  327. package/dist/api/services/campaigns/PUT/updateCampaign.d.ts.map +1 -0
  328. package/dist/api/services/campaigns/PUT/useUpdateCampaign.d.ts +38 -0
  329. package/dist/api/services/campaigns/PUT/useUpdateCampaign.d.ts.map +1 -0
  330. package/dist/api/services/campaigns/index.d.ts +9 -0
  331. package/dist/api/services/campaigns/index.d.ts.map +1 -0
  332. package/dist/api/services/clients.d.ts +58 -0
  333. package/dist/api/services/clients.d.ts.map +1 -0
  334. package/dist/api/services/index.d.ts +8 -0
  335. package/dist/api/services/index.d.ts.map +1 -0
  336. package/dist/api/services/types.d.ts +65 -0
  337. package/dist/api/services/types.d.ts.map +1 -0
  338. package/dist/api/strategies/index.d.ts +8 -0
  339. package/dist/api/strategies/index.d.ts.map +1 -0
  340. package/dist/api/strategies/tracked.d.ts +15 -0
  341. package/dist/api/strategies/tracked.d.ts.map +1 -0
  342. package/dist/api/strategies/unified.d.ts +87 -0
  343. package/dist/api/strategies/unified.d.ts.map +1 -0
  344. package/dist/api/utils/async-control.d.ts +96 -0
  345. package/dist/api/utils/async-control.d.ts.map +1 -0
  346. package/dist/api/utils/colors.d.ts +88 -0
  347. package/dist/api/utils/colors.d.ts.map +1 -0
  348. package/dist/api/utils/environment.d.ts +595 -0
  349. package/dist/api/utils/environment.d.ts.map +1 -0
  350. package/dist/api/utils/generation/correlation-id.d.ts +206 -0
  351. package/dist/api/utils/generation/correlation-id.d.ts.map +1 -0
  352. package/dist/api/utils/generation/id-generator.d.ts +133 -0
  353. package/dist/api/utils/generation/id-generator.d.ts.map +1 -0
  354. package/dist/api/utils/generation/request-id.d.ts +106 -0
  355. package/dist/api/utils/generation/request-id.d.ts.map +1 -0
  356. package/dist/api/utils/index.d.ts +19 -0
  357. package/dist/api/utils/index.d.ts.map +1 -0
  358. package/dist/api/utils/interval-manager.d.ts +94 -0
  359. package/dist/api/utils/interval-manager.d.ts.map +1 -0
  360. package/dist/api/utils/json.d.ts +98 -0
  361. package/dist/api/utils/json.d.ts.map +1 -0
  362. package/dist/api/utils/math.d.ts +168 -0
  363. package/dist/api/utils/math.d.ts.map +1 -0
  364. package/dist/api/utils/object-merge.d.ts +34 -0
  365. package/dist/api/utils/object-merge.d.ts.map +1 -0
  366. package/dist/api/utils/object.d.ts +101 -0
  367. package/dist/api/utils/object.d.ts.map +1 -0
  368. package/dist/api/utils/string.d.ts +41 -0
  369. package/dist/api/utils/string.d.ts.map +1 -0
  370. package/dist/api/utils/time.d.ts +233 -0
  371. package/dist/api/utils/time.d.ts.map +1 -0
  372. package/dist/api/utils/type-guards.d.ts +59 -0
  373. package/dist/api/utils/type-guards.d.ts.map +1 -0
  374. package/dist/api/utils/validation.d.ts +21 -0
  375. package/dist/api/utils/validation.d.ts.map +1 -0
  376. package/dist/index.cjs +25594 -3
  377. package/dist/index.cjs.map +1 -1
  378. package/dist/index.d.ts +5 -1
  379. package/dist/index.d.ts.map +1 -1
  380. package/dist/index.mjs +25068 -3
  381. package/dist/index.mjs.map +1 -1
  382. package/package.json +15 -6
@@ -0,0 +1,183 @@
1
+ /**
2
+ * Cache Management Utilities
3
+ * Direct pass-through to fetchff's cache management system
4
+ * Maintains vendor abstraction while providing full cache control
5
+ *
6
+ * @module cache
7
+ */
8
+ import { mutate as fetchffMutate, getCache as fetchffGetCache, setCache as fetchffSetCache, deleteCache as fetchffDeleteCache, revalidate as fetchffRevalidate, revalidateAll as fetchffRevalidateAll, subscribe as fetchffSubscribe } from 'fetchff';
9
+ export * from './strategies';
10
+ export * from './patterns';
11
+ /**
12
+ * Update cached data for a specific key
13
+ * Supports optimistic updates and background revalidation
14
+ *
15
+ * @param cacheKey - The cache key or URL pattern
16
+ * @param data - New data to set in cache
17
+ * @param revalidate - Whether to revalidate after mutation
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * // Update specific cache entry
22
+ * await mutate('/api/users/123', updatedUser);
23
+ *
24
+ * // Update with revalidation
25
+ * await mutate('/api/users/123', updatedUser, true);
26
+ *
27
+ * // Update multiple entries with pattern
28
+ * await mutate('/api/users/*', null, true); // Invalidate all users
29
+ * ```
30
+ */
31
+ export declare const mutate: typeof fetchffMutate;
32
+ /**
33
+ * Get cached data for a specific key
34
+ * Returns null if not in cache or expired
35
+ *
36
+ * @param cacheKey - The cache key or URL
37
+ * @returns Cached data or null
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * const cachedUser = getCache('/api/users/123');
42
+ * if (cachedUser) {
43
+ * console.log('Using cached data:', cachedUser);
44
+ * }
45
+ * ```
46
+ */
47
+ export declare const getCache: typeof fetchffGetCache;
48
+ /**
49
+ * Set cache data directly
50
+ * Useful for pre-populating cache or manual cache management
51
+ *
52
+ * @param cacheKey - The cache key or URL
53
+ * @param data - Data to cache
54
+ * @param options - Cache options (ttl, etc.)
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * // Pre-populate cache
59
+ * setCache('/api/users/123', userData, { ttl: 300 });
60
+ *
61
+ * // Cache with custom expiry
62
+ * setCache('/api/config', config, { ttl: 3600 });
63
+ * ```
64
+ */
65
+ export declare const setCache: typeof fetchffSetCache;
66
+ /**
67
+ * Delete cached data for a specific key or pattern
68
+ * Supports wildcard patterns for bulk deletion
69
+ *
70
+ * @param cacheKey - The cache key, URL, or pattern
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * // Delete specific entry
75
+ * deleteCache('/api/users/123');
76
+ *
77
+ * // Delete all user cache entries
78
+ * deleteCache('/api/users/*');
79
+ *
80
+ * // Clear all cache
81
+ * deleteCache('*');
82
+ * ```
83
+ */
84
+ export declare const deleteCache: typeof fetchffDeleteCache;
85
+ /**
86
+ * Revalidate cached data by fetching fresh data
87
+ * Triggers background fetch to update cache
88
+ *
89
+ * @param cacheKey - The cache key or URL to revalidate
90
+ * @returns Promise that resolves when revalidation completes
91
+ *
92
+ * @example
93
+ * ```typescript
94
+ * // Revalidate specific endpoint
95
+ * await revalidate('/api/users/123');
96
+ *
97
+ * // Revalidate pattern
98
+ * await revalidate('/api/users/*');
99
+ * ```
100
+ */
101
+ export declare const revalidate: typeof fetchffRevalidate;
102
+ /**
103
+ * Revalidate all cached data
104
+ * Useful for global refresh or after authentication changes
105
+ *
106
+ * @returns Promise that resolves when all revalidations complete
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * // After login, refresh all cached data
111
+ * await revalidateAll();
112
+ * ```
113
+ */
114
+ export declare const revalidateAll: typeof fetchffRevalidateAll;
115
+ /**
116
+ * Subscribe to cache updates for real-time synchronization
117
+ * Useful for keeping UI in sync across components/tabs
118
+ *
119
+ * @param cacheKey - The cache key or pattern to watch
120
+ * @param callback - Function called when cache updates
121
+ * @returns Unsubscribe function
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * // Subscribe to user updates
126
+ * const unsubscribe = subscribe('/api/users/123', (data) => {
127
+ * console.log('User data updated:', data);
128
+ * updateUI(data);
129
+ * });
130
+ *
131
+ * // Later: cleanup
132
+ * unsubscribe();
133
+ * ```
134
+ */
135
+ export declare const subscribe: typeof fetchffSubscribe;
136
+ /**
137
+ * Cache utilities grouped for convenient access
138
+ *
139
+ * @example
140
+ * ```typescript
141
+ * import { cache } from '@plyaz/api';
142
+ *
143
+ * // Use utilities
144
+ * cache.mutate('/api/data', newData);
145
+ * cache.deleteCache('/api/old/*');
146
+ * cache.revalidateAll();
147
+ * ```
148
+ */
149
+ export declare const cache: {
150
+ readonly mutate: typeof fetchffMutate;
151
+ readonly getCache: typeof fetchffGetCache;
152
+ readonly setCache: typeof fetchffSetCache;
153
+ readonly deleteCache: typeof fetchffDeleteCache;
154
+ readonly revalidate: typeof fetchffRevalidate;
155
+ readonly revalidateAll: typeof fetchffRevalidateAll;
156
+ readonly subscribe: typeof fetchffSubscribe;
157
+ };
158
+ /**
159
+ * Helper function to clear cache by pattern
160
+ * Convenience wrapper around deleteCache
161
+ *
162
+ * @example
163
+ * ```typescript
164
+ * // Clear all user-related cache
165
+ * clearCachePattern('/api/users');
166
+ *
167
+ * // Clear everything
168
+ * clearCachePattern('*');
169
+ * ```
170
+ */
171
+ export declare function clearCachePattern(pattern: string): void;
172
+ /**
173
+ * Helper function to invalidate and refetch
174
+ * Combines deletion and revalidation
175
+ *
176
+ * @example
177
+ * ```typescript
178
+ * // Force fresh fetch
179
+ * await invalidateAndRefetch('/api/users/123');
180
+ * ```
181
+ */
182
+ export declare function invalidateAndRefetch(cacheKey: string): Promise<void>;
183
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/cache/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,MAAM,IAAI,aAAa,EACvB,QAAQ,IAAI,eAAe,EAC3B,QAAQ,IAAI,eAAe,EAC3B,WAAW,IAAI,kBAAkB,EACjC,UAAU,IAAI,iBAAiB,EAC/B,aAAa,IAAI,oBAAoB,EACrC,SAAS,IAAI,gBAAgB,EAC9B,MAAM,SAAS,CAAC;AAGjB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,sBAAgB,CAAC;AAEpC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,QAAQ,wBAAkB,CAAC;AAExC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,QAAQ,wBAAkB,CAAC;AAExC;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,WAAW,2BAAqB,CAAC;AAE9C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,UAAU,0BAAoB,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,6BAAuB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,SAAS,yBAAmB,CAAC;AAE1C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,KAAK;;;;;;;;CAQR,CAAC;AAEX;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEvD;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1E"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Cache Key Patterns
3
+ * Functions to generate consistent cache keys for selective invalidation
4
+ *
5
+ * @module cache/patterns
6
+ */
7
+ import type { TimeInterval } from '@plyaz/types/api';
8
+ /**
9
+ * Cache key patterns for organizing cache entries
10
+ * These generate namespaced keys for better cache organization
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { cacheKeyPatterns, setCache } from '@plyaz/api';
15
+ *
16
+ * // Create user-specific cache key
17
+ * const cacheKey = cacheKeyPatterns.byUser('123', 'profile');
18
+ * // Returns: "user:123:profile"
19
+ *
20
+ * // Use with cache utilities
21
+ * setCache(cacheKey, userData, { ttl: 300 });
22
+ * ```
23
+ */
24
+ export declare const cacheKeyPatterns: {
25
+ /**
26
+ * User-specific cache key
27
+ * Creates keys like "user:123:endpoint"
28
+ */
29
+ readonly byUser: (userId: string, endpoint: string) => string;
30
+ /**
31
+ * Organization-specific cache key
32
+ * Creates keys like "org:456:endpoint"
33
+ */
34
+ readonly byOrg: (orgId: string, endpoint: string) => string;
35
+ /**
36
+ * Generic namespace-based cache key for any resource type
37
+ * Creates keys like:
38
+ * - "campaigns:789:stats"
39
+ * - "nfts:123:metadata"
40
+ * - "transactions:abc:details"
41
+ * - "collections:456:items"
42
+ *
43
+ * @example
44
+ * cacheKeyPatterns.byNamespace('campaigns', '789', 'stats')
45
+ * cacheKeyPatterns.byNamespace('nfts', '123', 'metadata')
46
+ */
47
+ readonly byNamespace: (namespace: string, id: string, endpoint: string) => string;
48
+ /**
49
+ * Time-based cache key (for time-series data)
50
+ * Creates keys like "stats:hour:2024-0-15-14" or "stats:day:2024-0-15"
51
+ * Uses the time utility for consistent time-based key generation
52
+ *
53
+ * @example
54
+ * cacheKeyPatterns.byTime('analytics', 'hour')
55
+ * cacheKeyPatterns.byTime('reports', 'week')
56
+ */
57
+ readonly byTime: (endpoint: string, interval: TimeInterval) => string;
58
+ /**
59
+ * Version-based cache key
60
+ * Creates keys like "v2:api:users"
61
+ */
62
+ readonly byVersion: (version: string, endpoint: string) => string;
63
+ /**
64
+ * Role-based cache key
65
+ * Creates keys like "role:admin:dashboard"
66
+ */
67
+ readonly byRole: (role: string, endpoint: string) => string;
68
+ /**
69
+ * Session-based cache key
70
+ * Creates keys like "session:abc123:preferences"
71
+ */
72
+ readonly bySession: (sessionId: string, endpoint: string) => string;
73
+ /**
74
+ * Locale-based cache key
75
+ * Creates keys like "locale:en-US:translations"
76
+ */
77
+ readonly byLocale: (locale: string, endpoint: string) => string;
78
+ /**
79
+ * Feature flag cache key
80
+ * Creates keys like "feature:dark-mode:config"
81
+ */
82
+ readonly byFeature: (feature: string, endpoint: string) => string;
83
+ /**
84
+ * Composite cache key with multiple dimensions
85
+ * Creates keys like "user:123:org:456:project:789"
86
+ */
87
+ readonly composite: (dimensions: Record<string, string>) => string;
88
+ /**
89
+ * Wildcard pattern for bulk operations
90
+ * Creates patterns like "user:123:*" for deleteCache
91
+ */
92
+ readonly withWildcard: (prefix: string) => string;
93
+ /**
94
+ * Global namespace
95
+ */
96
+ readonly global: (endpoint: string) => string;
97
+ };
98
+ /**
99
+ * Common invalidation scenarios using cache keys
100
+ * These use cache key patterns for targeted invalidation
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * import { invalidationScenarios } from '@plyaz/api';
105
+ *
106
+ * // After any resource update
107
+ * await invalidationScenarios.afterResourceUpdate('campaigns', 'campaign-789');
108
+ * await invalidationScenarios.afterResourceUpdate('user', 'user-123', ['profile', 'settings']);
109
+ * ```
110
+ *
111
+ * Note: For auth-specific scenarios like login/logout, you can:
112
+ * - Use afterResourceUpdate('session', sessionId) for session updates
113
+ * - Use afterResourceUpdate('user', userId) for user cache
114
+ * - Combine with deleteCache(cacheKeyPatterns.withWildcard('role')) for role changes
115
+ * - Use forceRefreshAll() for complete cache reset on logout
116
+ */
117
+ export declare const invalidationScenarios: {
118
+ /**
119
+ * Generic invalidation after any resource update
120
+ * Works for campaigns, NFTs, collections, users, sessions, etc.
121
+ *
122
+ * @example
123
+ * afterResourceUpdate('campaigns', 'campaign-123')
124
+ * afterResourceUpdate('nfts', 'nft-456')
125
+ * afterResourceUpdate('user', 'user-789', ['profile', 'permissions'])
126
+ * afterResourceUpdate('session', 'session-abc')
127
+ */
128
+ readonly afterResourceUpdate: (namespace: string, resourceId: string, endpoints?: string[]) => Promise<void>;
129
+ /**
130
+ * Invalidate time-based caches (e.g., for stats refresh)
131
+ *
132
+ * @param endpoint - The endpoint to refresh
133
+ * @param intervals - Optional specific intervals to clear (defaults to all common intervals)
134
+ *
135
+ * @example
136
+ * refreshTimeBasedCache('analytics') // Clears all intervals
137
+ * refreshTimeBasedCache('stats', ['hour', 'day']) // Clears only hour and day
138
+ */
139
+ readonly refreshTimeBasedCache: (endpoint: string, intervals?: TimeInterval[]) => Promise<void>;
140
+ /**
141
+ * Force refresh all data
142
+ * Use sparingly - this is expensive
143
+ *
144
+ * Note: Could be enhanced to:
145
+ * - Accept namespace filters (e.g., only clear 'user:*')
146
+ * - Support dry-run mode to see what would be cleared
147
+ * - Add progress callbacks for large cache clears
148
+ * - Implement staged clearing (clear in chunks)
149
+ */
150
+ readonly forceRefreshAll: () => Promise<void>;
151
+ };
152
+ /**
153
+ * Create custom cache pattern
154
+ * Helper for creating type-safe cache patterns
155
+ *
156
+ * @example
157
+ * ```typescript
158
+ * const customPattern = createCachePattern('/api/custom/:id');
159
+ * const key = customPattern({ id: '123' }); // '/api/custom/123'
160
+ * ```
161
+ */
162
+ export declare function createCachePattern<T extends Record<string, string>>(pattern: string): (params: T) => string;
163
+ /**
164
+ * Build cache key from parts
165
+ * Ensures consistent cache key format
166
+ *
167
+ * @example
168
+ * ```typescript
169
+ * const key = buildCacheKey('users', '123', 'profile');
170
+ * // Returns: '/users/123/profile'
171
+ * ```
172
+ */
173
+ export declare function buildCacheKey(...parts: string[]): string;
174
+ //# sourceMappingURL=patterns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../../src/api/cache/patterns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;;OAGG;8BACc,MAAM,YAAY,MAAM;IAEzC;;;OAGG;4BACY,MAAM,YAAY,MAAM;IAEvC;;;;;;;;;;;OAWG;sCACsB,MAAM,MAAM,MAAM,YAAY,MAAM;IAG7D;;;;;;;;OAQG;gCACgB,MAAM,YAAY,YAAY;IAKjD;;;OAGG;kCACkB,MAAM,YAAY,MAAM;IAE7C;;;OAGG;4BACY,MAAM,YAAY,MAAM;IAEvC;;;OAGG;oCACoB,MAAM,YAAY,MAAM;IAE/C;;;OAGG;gCACgB,MAAM,YAAY,MAAM;IAE3C;;;OAGG;kCACkB,MAAM,YAAY,MAAM;IAE7C;;;OAGG;qCACqB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAM9C;;;OAGG;oCACoB,MAAM;IAE7B;;OAEG;gCACgB,MAAM;CACjB,CAAC;AAEX;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,qBAAqB;IAChC;;;;;;;;;OASG;8CAEU,MAAM,cACL,MAAM,cACN,MAAM,EAAE,KACnB,OAAO,CAAC,IAAI,CAAC;IAehB;;;;;;;;;OASG;+CAES,MAAM,cACL,YAAY,EAAE,KACxB,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;;;;;;OASG;oCACsB,OAAO,CAAC,IAAI,CAAC;CAO9B,CAAC;AAEX;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjE,OAAO,EAAE,MAAM,GACd,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAQvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAExD"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Cache Management Strategies
3
+ * Pre-configured cache strategies for common use cases
4
+ *
5
+ * @module cache/strategies
6
+ */
7
+ import type { CacheStrategyConfig, CacheStrategyName } from '@plyaz/types/api';
8
+ /**
9
+ * Pre-configured cache strategies for common use cases
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * import { cacheStrategies } from '@plyaz/api';
14
+ *
15
+ * // Use in service function
16
+ * const config = {
17
+ * cache: cacheStrategies.standard
18
+ * };
19
+ *
20
+ * // Use in hook
21
+ * const { data } = useFetcher('/api/data', {
22
+ * ...cacheStrategies.shortLived
23
+ * });
24
+ * ```
25
+ */
26
+ export declare const cacheStrategies: Readonly<Record<CacheStrategyName, CacheStrategyConfig>>;
27
+ /**
28
+ * Helper to create custom cache strategy
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const customCache = createCacheStrategy({
33
+ * ttl: 120,
34
+ * stale: 240
35
+ * });
36
+ * ```
37
+ */
38
+ export declare function createCacheStrategy(config: CacheStrategyConfig): CacheStrategyConfig;
39
+ /**
40
+ * Get cache strategy by name with runtime validation
41
+ */
42
+ export declare function getCacheStrategy(name: CacheStrategyName): CacheStrategyConfig;
43
+ /**
44
+ * Merge multiple cache strategies (last wins)
45
+ */
46
+ export declare function mergeCacheStrategies(...configs: (CacheStrategyConfig | undefined)[]): CacheStrategyConfig;
47
+ //# sourceMappingURL=strategies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategies.d.ts","sourceRoot":"","sources":["../../../src/api/cache/strategies.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAoB,MAAM,kBAAkB,CAAC;AAGjG;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAoE3E,CAAC;AAEX;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,CAMpF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,mBAAmB,CAiC7E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,OAAO,EAAE,CAAC,mBAAmB,GAAG,SAAS,CAAC,EAAE,GAC9C,mBAAmB,CAiBrB"}
@@ -0,0 +1,238 @@
1
+ /**
2
+ * Unified Client Event Management System
3
+ *
4
+ * Centralizes all event handling for API clients using the shared event emitter.
5
+ * Handles internal events, external events, and configuration-based events.
6
+ */
7
+ import type { RequestConfig, FetchResponse, ResponseError } from 'fetchff';
8
+ import { getEventManager } from '../events';
9
+ import type { ApiPackageError } from '../errors/ApiPackageError';
10
+ import type { ConfigConflict, DebugInfo, ApiClientInstance, ApiClientOptions, ApiConfig, UpdateConfigOptions, HandlerOptions, ApiClientWithEvents, ClientEventManagerLike, EventScopeWithTemporary } from '@plyaz/types/api';
11
+ import type { EndpointsList } from '../endpoints';
12
+ /**
13
+ * Client Event Manager
14
+ * Manages all event handling for a client instance using the shared emitter
15
+ */
16
+ export declare class ClientEventManager implements ClientEventManagerLike<ReturnType<typeof getEventManager>> {
17
+ private readonly client;
18
+ private config;
19
+ private readonly eventManager;
20
+ readonly emitter: import("@plyaz/types").EventEmitter<unknown>;
21
+ private readonly monitoringState;
22
+ private readonly handlerRegistry;
23
+ private readonly eventStats;
24
+ private static readonly MAX_RECENT_EVENTS;
25
+ private static readonly DEFAULT_MAX_RETRY_ATTEMPTS;
26
+ private static readonly DEFAULT_RETRY_DELAY;
27
+ /**
28
+ * Track an event for statistics
29
+ * @private
30
+ */
31
+ private trackEvent;
32
+ /**
33
+ * Setup universal event tracking for all events
34
+ * @private
35
+ */
36
+ private setupEventTracking;
37
+ constructor(client: ApiClientInstance<EndpointsList>, config: Partial<ApiConfig>);
38
+ /**
39
+ * Register all namespace handlers from config
40
+ */
41
+ private setupNamespaceHandlers;
42
+ /**
43
+ * Setup monitoring if enabled
44
+ */
45
+ private setupMonitoringIfNeeded;
46
+ /**
47
+ * Setup temporary override handlers for network
48
+ */
49
+ private setupTemporaryOverrideHandlers;
50
+ /**
51
+ * Setup all event handlers based on configuration
52
+ */
53
+ private setupEventHandlers;
54
+ /**
55
+ * Register handlers for a specific namespace with proper scope
56
+ * Maps handler names to the actual event names emitted by factories
57
+ */
58
+ private registerHandlers;
59
+ /**
60
+ * Clear all handlers for a specific scope
61
+ */
62
+ private clearHandlersForScope;
63
+ /**
64
+ * Get the proper handler namespace for an event type and scope
65
+ * Delegates to the centralized function in namespaces.ts
66
+ */
67
+ private getHandlerNamespace;
68
+ /**
69
+ * Add event handler with strategy
70
+ */
71
+ addHandler(event: string, handler: Function | Function[], options?: HandlerOptions): () => void;
72
+ /**
73
+ * Get handlers for an event
74
+ */
75
+ private getHandlers;
76
+ /**
77
+ * Clear handlers for an event
78
+ */
79
+ private clearHandlers;
80
+ /**
81
+ * Try to find exact event name match from namespace events
82
+ */
83
+ private findExactEventMatch;
84
+ /**
85
+ * Remove namespace-specific suffixes from handler name
86
+ */
87
+ private removeNamespaceSuffixes;
88
+ /**
89
+ * Convert handler name to kebab-case event name
90
+ */
91
+ private toKebabCaseEventName;
92
+ /**
93
+ * Map handler name to the actual event name emitted by factories
94
+ * e.g., 'onNetworkError' -> 'errors:network'
95
+ */
96
+ private mapHandlerNameToEventName;
97
+ /**
98
+ * Get the events object for a namespace using EVENT_NAMESPACES
99
+ */
100
+ private getNamespaceEvents;
101
+ /**
102
+ * Type guard for NetworkQualityEvent
103
+ */
104
+ private isNetworkQualityEvent;
105
+ /**
106
+ * Setup network event forwarding and listeners
107
+ */
108
+ private setupNetworkEventForwarding;
109
+ /**
110
+ * Track ClientEventManager operations using the operation queue to avoid circular dependency
111
+ */
112
+ private trackClientEventManagerOperation;
113
+ /**
114
+ * Setup event scopes based on strategy
115
+ */
116
+ private setupEventScopes;
117
+ /**
118
+ * Apply config update based on strategy
119
+ */
120
+ private applyConfigStrategy;
121
+ /**
122
+ * Register standard namespace handlers from updates
123
+ */
124
+ private registerStandardHandlers;
125
+ /**
126
+ * Register network override handler if present
127
+ */
128
+ private registerNetworkOverrideHandler;
129
+ /**
130
+ * Handle debug events and monitoring updates
131
+ */
132
+ private handleDebugEventsUpdate;
133
+ /**
134
+ * Register all event handlers from updates
135
+ */
136
+ private registerEventHandlers;
137
+ /**
138
+ * Update configuration and re-setup handlers
139
+ */
140
+ updateConfig(updates: Partial<ApiConfig>, options?: UpdateConfigOptions): void;
141
+ /**
142
+ * Clear all temporary configuration overrides
143
+ * Clears handlers at REQUEST/TEMPORARY scope
144
+ */
145
+ clearTemporaryOverrides(): void;
146
+ /**
147
+ * Check for conflicts
148
+ */
149
+ checkConflicts(): ConfigConflict[];
150
+ /**
151
+ * Generate debug info
152
+ */
153
+ getDebugInfo(): DebugInfo;
154
+ /**
155
+ * Calculate impact level
156
+ */
157
+ private calculateImpactLevel;
158
+ /**
159
+ * Start monitoring
160
+ */
161
+ startMonitoring(): void;
162
+ /**
163
+ * Stop monitoring
164
+ */
165
+ stopMonitoring(): void;
166
+ /**
167
+ * Check if monitoring
168
+ */
169
+ isMonitoring(): boolean;
170
+ /**
171
+ * Get event statistics for monitoring and debugging
172
+ */
173
+ getEventStats(): {
174
+ totalEvents: number;
175
+ totalListeners: number;
176
+ listenerCount: number;
177
+ recentEvents: Array<{
178
+ type: string;
179
+ timestamp: number;
180
+ data?: unknown;
181
+ }>;
182
+ overrideCount: number;
183
+ eventCountsByType: Record<string, number>;
184
+ };
185
+ /**
186
+ * Get the active event scopes from the EventManager
187
+ */
188
+ getActiveScopes(): EventScopeWithTemporary[];
189
+ /**
190
+ * Emit error event (delegates to emitErrorEvent for consistency)
191
+ */
192
+ emitError(error: ApiPackageError): void;
193
+ /**
194
+ * Emit request start event
195
+ * Called by fetchff onRequest interceptor
196
+ */
197
+ emitRequestStart(config: RequestConfig): void;
198
+ /**
199
+ * Emit response received event
200
+ * Called by fetchff onResponse interceptor
201
+ */
202
+ emitResponseReceived<TData = unknown>(response: FetchResponse<TData>): void;
203
+ /**
204
+ * Emit retry attempt event
205
+ * Called by fetchff onRetry interceptor
206
+ */
207
+ emitRetryAttempt<TResponse = unknown>(error: ResponseError<TResponse>, attemptNumber: number, config?: RequestConfig): void;
208
+ /**
209
+ * Dispose of all resources
210
+ */
211
+ dispose(): void;
212
+ }
213
+ /**
214
+ * Setup client events for an API client instance
215
+ * Centralizes all event configuration and management
216
+ */
217
+ export declare function setupClientEvents(client: ApiClientInstance<EndpointsList>, globalConfig: ApiConfig, clientConfig: ApiClientOptions): ApiClientWithEvents<ClientEventManager, EndpointsList>;
218
+ /**
219
+ * Check if there's meaningful configuration to apply
220
+ * Returns false if config is empty and updateOptions only has default values
221
+ *
222
+ * @param config - The merged API configuration
223
+ * @param updateOptions - The update configuration options
224
+ * @returns True if updateConfig should be called, false otherwise
225
+ *
226
+ * @example
227
+ * ```typescript
228
+ * const mergedConfig = mergeConfigs(serviceDefaults, options?.apiConfig ?? {});
229
+ * const updateOptions = { strategy: 'temporary', ...options?.updateConfigOptions };
230
+ *
231
+ * if (shouldApplyConfig(mergedConfig, updateOptions)) {
232
+ * client.updateConfig(mergedConfig, updateOptions);
233
+ * }
234
+ * ```
235
+ */
236
+ export declare function shouldApplyConfig(config: Partial<ApiConfig>, updateOptions: UpdateConfigOptions): boolean;
237
+ export declare function mergeEventConfigs(global?: Partial<ApiConfig>, client?: Partial<ApiConfig>, request?: Partial<ApiConfig>): Partial<ApiConfig>;
238
+ //# sourceMappingURL=clientEventManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientEventManager.d.ts","sourceRoot":"","sources":["../../../src/api/client/clientEventManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { EndpointsList } from '../endpoints';
2
+ import type { ApiClientOptions, ApiClientWithEvents } from '@plyaz/types/api';
3
+ import type { ClientEventManager } from './clientEventManager';
4
+ export declare function createApiClient(options?: ApiClientOptions): Promise<ApiClientWithEvents<ClientEventManager, EndpointsList>>;
5
+ //# sourceMappingURL=createApiClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createApiClient.d.ts","sourceRoot":"","sources":["../../../src/api/client/createApiClient.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAEV,gBAAgB,EAOhB,mBAAmB,EAMpB,MAAM,kBAAkB,CAAC;AA+B1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAqkB/D,wBAAsB,eAAe,CACnC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAkHjE"}
@@ -0,0 +1,11 @@
1
+ import type { ApiHeaders, ApiClientOptions } from '@plyaz/types/api';
2
+ /**
3
+ * Apply header presets to existing headers
4
+ */
5
+ export declare function applyHeaderPresets(headers: ApiHeaders, presets: string[]): ApiHeaders;
6
+ /**
7
+ * Process header configuration from options
8
+ * Handles both simple and advanced header configurations
9
+ */
10
+ export declare function processHeaders(options: ApiClientOptions, baseHeaders?: ApiHeaders): Promise<ApiHeaders>;
11
+ //# sourceMappingURL=headers.d.ts.map