@varity-labs/sdk 2.0.0-alpha.1

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 (295) hide show
  1. package/LICENSE +31 -0
  2. package/README.md +253 -0
  3. package/dist/analytics/index.d.ts +7 -0
  4. package/dist/analytics/index.d.ts.map +1 -0
  5. package/dist/analytics/index.js +6 -0
  6. package/dist/analytics/tracker.d.ts +128 -0
  7. package/dist/analytics/tracker.d.ts.map +1 -0
  8. package/dist/analytics/tracker.js +203 -0
  9. package/dist/blockchain/BlockchainService.d.ts +100 -0
  10. package/dist/blockchain/BlockchainService.d.ts.map +1 -0
  11. package/dist/blockchain/BlockchainService.js +188 -0
  12. package/dist/blockchain/NFTLicensingService.d.ts +69 -0
  13. package/dist/blockchain/NFTLicensingService.d.ts.map +1 -0
  14. package/dist/blockchain/NFTLicensingService.js +136 -0
  15. package/dist/blockchain/RevenueSplitService.d.ts +71 -0
  16. package/dist/blockchain/RevenueSplitService.d.ts.map +1 -0
  17. package/dist/blockchain/RevenueSplitService.js +111 -0
  18. package/dist/blockchain/index.d.ts +48 -0
  19. package/dist/blockchain/index.d.ts.map +1 -0
  20. package/dist/blockchain/index.js +46 -0
  21. package/dist/blockchain/types.d.ts +63 -0
  22. package/dist/blockchain/types.d.ts.map +1 -0
  23. package/dist/blockchain/types.js +6 -0
  24. package/dist/chains/arbitrum.d.ts +89 -0
  25. package/dist/chains/arbitrum.d.ts.map +1 -0
  26. package/dist/chains/arbitrum.js +134 -0
  27. package/dist/chains/base.d.ts +84 -0
  28. package/dist/chains/base.d.ts.map +1 -0
  29. package/dist/chains/base.js +131 -0
  30. package/dist/chains/index.d.ts +36 -0
  31. package/dist/chains/index.d.ts.map +1 -0
  32. package/dist/chains/index.js +32 -0
  33. package/dist/chains/registry.d.ts +113 -0
  34. package/dist/chains/registry.d.ts.map +1 -0
  35. package/dist/chains/registry.js +201 -0
  36. package/dist/chains/varityL3.d.ts +81 -0
  37. package/dist/chains/varityL3.d.ts.map +1 -0
  38. package/dist/chains/varityL3.js +125 -0
  39. package/dist/cli/commands/clone.d.ts +8 -0
  40. package/dist/cli/commands/clone.d.ts.map +1 -0
  41. package/dist/cli/commands/clone.js +391 -0
  42. package/dist/cli/commands/dev.d.ts +8 -0
  43. package/dist/cli/commands/dev.d.ts.map +1 -0
  44. package/dist/cli/commands/dev.js +40 -0
  45. package/dist/cli/commands/generate.d.ts +8 -0
  46. package/dist/cli/commands/generate.d.ts.map +1 -0
  47. package/dist/cli/commands/generate.js +303 -0
  48. package/dist/cli/commands/init.d.ts +8 -0
  49. package/dist/cli/commands/init.d.ts.map +1 -0
  50. package/dist/cli/commands/init.js +317 -0
  51. package/dist/cli/commands/validate.d.ts +8 -0
  52. package/dist/cli/commands/validate.d.ts.map +1 -0
  53. package/dist/cli/commands/validate.js +69 -0
  54. package/dist/cli/index.d.ts +8 -0
  55. package/dist/cli/index.d.ts.map +1 -0
  56. package/dist/cli/index.js +33 -0
  57. package/dist/cli/utils/logger.d.ts +17 -0
  58. package/dist/cli/utils/logger.d.ts.map +1 -0
  59. package/dist/cli/utils/logger.js +35 -0
  60. package/dist/cli/utils/prompts.d.ts +21 -0
  61. package/dist/cli/utils/prompts.d.ts.map +1 -0
  62. package/dist/cli/utils/prompts.js +103 -0
  63. package/dist/contracts/abis/iso/AccessControlRegistry.json +1468 -0
  64. package/dist/contracts/abis/iso/DataProofRegistry.json +797 -0
  65. package/dist/contracts/abis/iso/MerchantRegistry.json +1237 -0
  66. package/dist/contracts/abis/iso/RepPerformance.json +1351 -0
  67. package/dist/contracts/abis/iso/ResidualCalculator.json +1118 -0
  68. package/dist/contracts/abis/iso/TransactionVault.json +1588 -0
  69. package/dist/contracts/abis/iso/VarityWalletFactory.json +475 -0
  70. package/dist/contracts/addresses.d.ts +88 -0
  71. package/dist/contracts/addresses.d.ts.map +1 -0
  72. package/dist/contracts/addresses.js +94 -0
  73. package/dist/contracts/index.d.ts +7 -0
  74. package/dist/contracts/index.d.ts.map +1 -0
  75. package/dist/contracts/index.js +6 -0
  76. package/dist/core/VaritySDK.d.ts +177 -0
  77. package/dist/core/VaritySDK.d.ts.map +1 -0
  78. package/dist/core/VaritySDK.js +325 -0
  79. package/dist/core/config.d.ts +120 -0
  80. package/dist/core/config.d.ts.map +1 -0
  81. package/dist/core/config.js +187 -0
  82. package/dist/core/credentials-proxy.d.ts +157 -0
  83. package/dist/core/credentials-proxy.d.ts.map +1 -0
  84. package/dist/core/credentials-proxy.js +345 -0
  85. package/dist/core/credentials.d.ts +219 -0
  86. package/dist/core/credentials.d.ts.map +1 -0
  87. package/dist/core/credentials.js +345 -0
  88. package/dist/core/template-loader.d.ts +15 -0
  89. package/dist/core/template-loader.d.ts.map +1 -0
  90. package/dist/core/template-loader.js +380 -0
  91. package/dist/core/template.d.ts +321 -0
  92. package/dist/core/template.d.ts.map +1 -0
  93. package/dist/core/template.js +189 -0
  94. package/dist/core/types.d.ts +572 -0
  95. package/dist/core/types.d.ts.map +1 -0
  96. package/dist/core/types.js +52 -0
  97. package/dist/dev/dev-server.d.ts +16 -0
  98. package/dist/dev/dev-server.d.ts.map +1 -0
  99. package/dist/dev/dev-server.js +119 -0
  100. package/dist/generators/contracts/generator.d.ts +21 -0
  101. package/dist/generators/contracts/generator.d.ts.map +1 -0
  102. package/dist/generators/contracts/generator.js +252 -0
  103. package/dist/generators/tests/generator.d.ts +20 -0
  104. package/dist/generators/tests/generator.d.ts.map +1 -0
  105. package/dist/generators/tests/generator.js +375 -0
  106. package/dist/generators/types/generator.d.ts +19 -0
  107. package/dist/generators/types/generator.d.ts.map +1 -0
  108. package/dist/generators/types/generator.js +165 -0
  109. package/dist/generators/ui/component-generator.d.ts +20 -0
  110. package/dist/generators/ui/component-generator.d.ts.map +1 -0
  111. package/dist/generators/ui/component-generator.js +749 -0
  112. package/dist/generators/ui/dashboard-generator.d.ts +20 -0
  113. package/dist/generators/ui/dashboard-generator.d.ts.map +1 -0
  114. package/dist/generators/ui/dashboard-generator.js +349 -0
  115. package/dist/index.d.ts +61 -0
  116. package/dist/index.d.ts.map +1 -0
  117. package/dist/index.js +74 -0
  118. package/dist/modules/analytics/AnalyticsModule.d.ts +349 -0
  119. package/dist/modules/analytics/AnalyticsModule.d.ts.map +1 -0
  120. package/dist/modules/analytics/AnalyticsModule.js +274 -0
  121. package/dist/modules/analytics/index.d.ts +3 -0
  122. package/dist/modules/analytics/index.d.ts.map +1 -0
  123. package/dist/modules/analytics/index.js +1 -0
  124. package/dist/modules/auth/AccessKeyModule.d.ts +189 -0
  125. package/dist/modules/auth/AccessKeyModule.d.ts.map +1 -0
  126. package/dist/modules/auth/AccessKeyModule.js +322 -0
  127. package/dist/modules/auth/AuthModule.d.ts +133 -0
  128. package/dist/modules/auth/AuthModule.d.ts.map +1 -0
  129. package/dist/modules/auth/AuthModule.js +214 -0
  130. package/dist/modules/auth/index.d.ts +8 -0
  131. package/dist/modules/auth/index.d.ts.map +1 -0
  132. package/dist/modules/auth/index.js +6 -0
  133. package/dist/modules/cache/CacheModule.d.ts +279 -0
  134. package/dist/modules/cache/CacheModule.d.ts.map +1 -0
  135. package/dist/modules/cache/CacheModule.js +493 -0
  136. package/dist/modules/cache/index.d.ts +3 -0
  137. package/dist/modules/cache/index.d.ts.map +1 -0
  138. package/dist/modules/cache/index.js +1 -0
  139. package/dist/modules/compute/ComputeModule.d.ts +226 -0
  140. package/dist/modules/compute/ComputeModule.d.ts.map +1 -0
  141. package/dist/modules/compute/ComputeModule.js +379 -0
  142. package/dist/modules/compute/index.d.ts +6 -0
  143. package/dist/modules/compute/index.d.ts.map +1 -0
  144. package/dist/modules/compute/index.js +4 -0
  145. package/dist/modules/contracts/ContractsModule.d.ts +164 -0
  146. package/dist/modules/contracts/ContractsModule.d.ts.map +1 -0
  147. package/dist/modules/contracts/ContractsModule.js +242 -0
  148. package/dist/modules/contracts/index.d.ts +6 -0
  149. package/dist/modules/contracts/index.d.ts.map +1 -0
  150. package/dist/modules/contracts/index.js +4 -0
  151. package/dist/modules/export/ExportModule.d.ts +346 -0
  152. package/dist/modules/export/ExportModule.d.ts.map +1 -0
  153. package/dist/modules/export/ExportModule.js +432 -0
  154. package/dist/modules/export/index.d.ts +3 -0
  155. package/dist/modules/export/index.d.ts.map +1 -0
  156. package/dist/modules/export/index.js +1 -0
  157. package/dist/modules/forecasting/ForecastingModule.d.ts +579 -0
  158. package/dist/modules/forecasting/ForecastingModule.d.ts.map +1 -0
  159. package/dist/modules/forecasting/ForecastingModule.js +310 -0
  160. package/dist/modules/forecasting/index.d.ts +3 -0
  161. package/dist/modules/forecasting/index.d.ts.map +1 -0
  162. package/dist/modules/forecasting/index.js +1 -0
  163. package/dist/modules/monitoring/MonitoringModule.d.ts +359 -0
  164. package/dist/modules/monitoring/MonitoringModule.d.ts.map +1 -0
  165. package/dist/modules/monitoring/MonitoringModule.js +483 -0
  166. package/dist/modules/monitoring/index.d.ts +3 -0
  167. package/dist/modules/monitoring/index.d.ts.map +1 -0
  168. package/dist/modules/monitoring/index.js +1 -0
  169. package/dist/modules/notifications/NotificationsModule.d.ts +336 -0
  170. package/dist/modules/notifications/NotificationsModule.d.ts.map +1 -0
  171. package/dist/modules/notifications/NotificationsModule.js +418 -0
  172. package/dist/modules/notifications/index.d.ts +3 -0
  173. package/dist/modules/notifications/index.d.ts.map +1 -0
  174. package/dist/modules/notifications/index.js +1 -0
  175. package/dist/modules/oracle/OracleModule.d.ts +110 -0
  176. package/dist/modules/oracle/OracleModule.d.ts.map +1 -0
  177. package/dist/modules/oracle/OracleModule.js +151 -0
  178. package/dist/modules/oracle/index.d.ts +6 -0
  179. package/dist/modules/oracle/index.d.ts.map +1 -0
  180. package/dist/modules/oracle/index.js +4 -0
  181. package/dist/modules/storage/S3Module.d.ts +377 -0
  182. package/dist/modules/storage/S3Module.d.ts.map +1 -0
  183. package/dist/modules/storage/S3Module.js +680 -0
  184. package/dist/modules/storage/StorageModule.d.ts +157 -0
  185. package/dist/modules/storage/StorageModule.d.ts.map +1 -0
  186. package/dist/modules/storage/StorageModule.js +302 -0
  187. package/dist/modules/storage/adapters/AdapterFactory.d.ts +100 -0
  188. package/dist/modules/storage/adapters/AdapterFactory.d.ts.map +1 -0
  189. package/dist/modules/storage/adapters/AdapterFactory.js +209 -0
  190. package/dist/modules/storage/adapters/FilecoinAdapter.d.ts +94 -0
  191. package/dist/modules/storage/adapters/FilecoinAdapter.d.ts.map +1 -0
  192. package/dist/modules/storage/adapters/FilecoinAdapter.js +263 -0
  193. package/dist/modules/storage/adapters/IStorageAdapter.d.ts +287 -0
  194. package/dist/modules/storage/adapters/IStorageAdapter.d.ts.map +1 -0
  195. package/dist/modules/storage/adapters/IStorageAdapter.js +81 -0
  196. package/dist/modules/storage/adapters/MultiTierAdapter.d.ts +187 -0
  197. package/dist/modules/storage/adapters/MultiTierAdapter.d.ts.map +1 -0
  198. package/dist/modules/storage/adapters/MultiTierAdapter.js +430 -0
  199. package/dist/modules/storage/adapters/index.d.ts +12 -0
  200. package/dist/modules/storage/adapters/index.d.ts.map +1 -0
  201. package/dist/modules/storage/adapters/index.js +12 -0
  202. package/dist/modules/storage/index.d.ts +16 -0
  203. package/dist/modules/storage/index.d.ts.map +1 -0
  204. package/dist/modules/storage/index.js +15 -0
  205. package/dist/modules/storage/tiering/AccessAnalyzer.d.ts +227 -0
  206. package/dist/modules/storage/tiering/AccessAnalyzer.d.ts.map +1 -0
  207. package/dist/modules/storage/tiering/AccessAnalyzer.js +367 -0
  208. package/dist/modules/storage/tiering/CostOptimizer.d.ts +248 -0
  209. package/dist/modules/storage/tiering/CostOptimizer.d.ts.map +1 -0
  210. package/dist/modules/storage/tiering/CostOptimizer.js +356 -0
  211. package/dist/modules/storage/tiering/MetadataStore.d.ts +287 -0
  212. package/dist/modules/storage/tiering/MetadataStore.d.ts.map +1 -0
  213. package/dist/modules/storage/tiering/MetadataStore.js +535 -0
  214. package/dist/modules/storage/tiering/TieringEngine.d.ts +237 -0
  215. package/dist/modules/storage/tiering/TieringEngine.d.ts.map +1 -0
  216. package/dist/modules/storage/tiering/TieringEngine.js +419 -0
  217. package/dist/modules/storage/tiering/example.d.ts +8 -0
  218. package/dist/modules/storage/tiering/example.d.ts.map +1 -0
  219. package/dist/modules/storage/tiering/example.js +250 -0
  220. package/dist/modules/storage/tiering/index.d.ts +17 -0
  221. package/dist/modules/storage/tiering/index.d.ts.map +1 -0
  222. package/dist/modules/storage/tiering/index.js +13 -0
  223. package/dist/modules/webhooks/WebhooksModule.d.ts +476 -0
  224. package/dist/modules/webhooks/WebhooksModule.d.ts.map +1 -0
  225. package/dist/modules/webhooks/WebhooksModule.js +359 -0
  226. package/dist/modules/webhooks/index.d.ts +3 -0
  227. package/dist/modules/webhooks/index.d.ts.map +1 -0
  228. package/dist/modules/webhooks/index.js +1 -0
  229. package/dist/modules/zk/ZKModule.d.ts +153 -0
  230. package/dist/modules/zk/ZKModule.d.ts.map +1 -0
  231. package/dist/modules/zk/ZKModule.js +262 -0
  232. package/dist/modules/zk/index.d.ts +7 -0
  233. package/dist/modules/zk/index.d.ts.map +1 -0
  234. package/dist/modules/zk/index.js +4 -0
  235. package/dist/thirdweb/BridgeClient.d.ts +228 -0
  236. package/dist/thirdweb/BridgeClient.d.ts.map +1 -0
  237. package/dist/thirdweb/BridgeClient.js +160 -0
  238. package/dist/thirdweb/EngineClient.d.ts +396 -0
  239. package/dist/thirdweb/EngineClient.d.ts.map +1 -0
  240. package/dist/thirdweb/EngineClient.js +386 -0
  241. package/dist/thirdweb/GatewayClient.d.ts +190 -0
  242. package/dist/thirdweb/GatewayClient.d.ts.map +1 -0
  243. package/dist/thirdweb/GatewayClient.js +257 -0
  244. package/dist/thirdweb/NebulaClient.d.ts +292 -0
  245. package/dist/thirdweb/NebulaClient.d.ts.map +1 -0
  246. package/dist/thirdweb/NebulaClient.js +180 -0
  247. package/dist/thirdweb/StorageClient.d.ts +445 -0
  248. package/dist/thirdweb/StorageClient.d.ts.map +1 -0
  249. package/dist/thirdweb/StorageClient.js +405 -0
  250. package/dist/thirdweb/ThirdwebWrapper.d.ts +236 -0
  251. package/dist/thirdweb/ThirdwebWrapper.d.ts.map +1 -0
  252. package/dist/thirdweb/ThirdwebWrapper.js +332 -0
  253. package/dist/thirdweb/index.d.ts +21 -0
  254. package/dist/thirdweb/index.d.ts.map +1 -0
  255. package/dist/thirdweb/index.js +28 -0
  256. package/dist/thirdweb/varity-chain.d.ts +48 -0
  257. package/dist/thirdweb/varity-chain.d.ts.map +1 -0
  258. package/dist/thirdweb/varity-chain.js +64 -0
  259. package/dist/thirdweb/x402Client.d.ts +319 -0
  260. package/dist/thirdweb/x402Client.d.ts.map +1 -0
  261. package/dist/thirdweb/x402Client.js +223 -0
  262. package/dist/tracking/gasTracker.d.ts +158 -0
  263. package/dist/tracking/gasTracker.d.ts.map +1 -0
  264. package/dist/tracking/gasTracker.js +227 -0
  265. package/dist/tracking/index.d.ts +10 -0
  266. package/dist/tracking/index.d.ts.map +1 -0
  267. package/dist/tracking/index.js +8 -0
  268. package/dist/tracking/types.d.ts +327 -0
  269. package/dist/tracking/types.d.ts.map +1 -0
  270. package/dist/tracking/types.js +8 -0
  271. package/dist/ui/components/ChartWidget.d.ts +36 -0
  272. package/dist/ui/components/ChartWidget.d.ts.map +1 -0
  273. package/dist/ui/components/ChartWidget.js +82 -0
  274. package/dist/ui/components/DashboardLayout.d.ts +41 -0
  275. package/dist/ui/components/DashboardLayout.d.ts.map +1 -0
  276. package/dist/ui/components/DashboardLayout.js +102 -0
  277. package/dist/ui/components/DataTable.d.ts +49 -0
  278. package/dist/ui/components/DataTable.d.ts.map +1 -0
  279. package/dist/ui/components/DataTable.js +96 -0
  280. package/dist/ui/components/EntityForm.d.ts +60 -0
  281. package/dist/ui/components/EntityForm.d.ts.map +1 -0
  282. package/dist/ui/components/EntityForm.js +182 -0
  283. package/dist/ui/components/KPICard.d.ts +29 -0
  284. package/dist/ui/components/KPICard.d.ts.map +1 -0
  285. package/dist/ui/components/KPICard.js +61 -0
  286. package/dist/ui/components/Modal.d.ts +34 -0
  287. package/dist/ui/components/Modal.d.ts.map +1 -0
  288. package/dist/ui/components/Modal.js +30 -0
  289. package/dist/ui/components/index.d.ts +18 -0
  290. package/dist/ui/components/index.d.ts.map +1 -0
  291. package/dist/ui/components/index.js +11 -0
  292. package/dist/validation/template-validator.d.ts +25 -0
  293. package/dist/validation/template-validator.d.ts.map +1 -0
  294. package/dist/validation/template-validator.js +305 -0
  295. package/package.json +102 -0
@@ -0,0 +1,349 @@
1
+ import type { VaritySDK } from '../../core/VaritySDK';
2
+ /**
3
+ * Analytics Module
4
+ *
5
+ * Universal analytics, reporting, KPIs, and metrics across all templates.
6
+ * Works identically for ISO, Healthcare, Finance, Retail, etc.
7
+ * Template configuration determines data sources and entities.
8
+ */
9
+ export interface KPIOptions {
10
+ period?: 'current_month' | 'current_quarter' | 'current_year' | 'custom';
11
+ startDate?: string;
12
+ endDate?: string;
13
+ granularity?: 'day' | 'week' | 'month' | 'quarter' | 'year';
14
+ entities?: string[];
15
+ }
16
+ export interface KPIResult {
17
+ name: string;
18
+ value: number;
19
+ change?: number;
20
+ changeDirection?: 'up' | 'down' | 'stable';
21
+ unit?: string;
22
+ metadata?: Record<string, any>;
23
+ }
24
+ export interface KPISummary {
25
+ period: {
26
+ start: string;
27
+ end: string;
28
+ type: string;
29
+ };
30
+ kpis: KPIResult[];
31
+ summary: {
32
+ totalEntities: number;
33
+ totalVolume: number;
34
+ totalRevenue?: number;
35
+ growthRate?: number;
36
+ };
37
+ timestamp: string;
38
+ }
39
+ export interface TrendOptions {
40
+ metric: string;
41
+ period: string;
42
+ granularity?: 'hour' | 'day' | 'week' | 'month';
43
+ comparison?: 'mom' | 'yoy' | 'qoq';
44
+ entity?: string;
45
+ }
46
+ export interface TrendDataPoint {
47
+ timestamp: string;
48
+ value: number;
49
+ label?: string;
50
+ metadata?: Record<string, any>;
51
+ }
52
+ export interface TrendResult {
53
+ metric: string;
54
+ period: string;
55
+ data: TrendDataPoint[];
56
+ statistics: {
57
+ min: number;
58
+ max: number;
59
+ avg: number;
60
+ median: number;
61
+ total: number;
62
+ };
63
+ trend: 'increasing' | 'decreasing' | 'stable';
64
+ growthRate?: number;
65
+ comparison?: {
66
+ current: number;
67
+ previous: number;
68
+ change: number;
69
+ changePercent: number;
70
+ };
71
+ }
72
+ export interface LeaderboardOptions {
73
+ metric: string;
74
+ limit?: number;
75
+ period?: string;
76
+ entity?: string;
77
+ startDate?: string;
78
+ endDate?: string;
79
+ sortOrder?: 'asc' | 'desc';
80
+ }
81
+ export interface LeaderboardEntry {
82
+ rank: number;
83
+ entityId: string;
84
+ entityName?: string;
85
+ value: number;
86
+ change?: number;
87
+ changePercent?: number;
88
+ metadata?: Record<string, any>;
89
+ }
90
+ export interface LeaderboardResult {
91
+ metric: string;
92
+ period: string;
93
+ entity: string;
94
+ entries: LeaderboardEntry[];
95
+ totalEntries: number;
96
+ timestamp: string;
97
+ }
98
+ export interface GrowthMetricsOptions {
99
+ metrics?: string[];
100
+ period?: string;
101
+ comparison?: 'mom' | 'yoy' | 'qoq' | 'wow';
102
+ entities?: string[];
103
+ }
104
+ export interface GrowthMetric {
105
+ metric: string;
106
+ current: number;
107
+ previous: number;
108
+ change: number;
109
+ changePercent: number;
110
+ trend: 'increasing' | 'decreasing' | 'stable';
111
+ cagr?: number;
112
+ }
113
+ export interface GrowthMetricsResult {
114
+ period: {
115
+ current: {
116
+ start: string;
117
+ end: string;
118
+ };
119
+ previous: {
120
+ start: string;
121
+ end: string;
122
+ };
123
+ };
124
+ metrics: GrowthMetric[];
125
+ overallGrowth: number;
126
+ timestamp: string;
127
+ }
128
+ export interface TimeSeriesOptions {
129
+ metric: string;
130
+ startDate: string;
131
+ endDate: string;
132
+ granularity: 'hour' | 'day' | 'week' | 'month';
133
+ aggregation?: 'sum' | 'avg' | 'count' | 'min' | 'max';
134
+ filters?: Record<string, any>;
135
+ entity?: string;
136
+ }
137
+ export interface TimeSeriesResult {
138
+ metric: string;
139
+ granularity: string;
140
+ aggregation: string;
141
+ data: TrendDataPoint[];
142
+ statistics: {
143
+ min: number;
144
+ max: number;
145
+ avg: number;
146
+ median: number;
147
+ total: number;
148
+ stdDev?: number;
149
+ };
150
+ }
151
+ export interface ComparativeAnalysisOptions {
152
+ metrics: string[];
153
+ periods: Array<{
154
+ start: string;
155
+ end: string;
156
+ label?: string;
157
+ }>;
158
+ entities?: string[];
159
+ breakdownBy?: string;
160
+ }
161
+ export interface ComparativeResult {
162
+ metric: string;
163
+ periods: Array<{
164
+ label: string;
165
+ value: number;
166
+ breakdown?: Record<string, number>;
167
+ }>;
168
+ comparison: {
169
+ maxPeriod: string;
170
+ minPeriod: string;
171
+ maxValue: number;
172
+ minValue: number;
173
+ variance: number;
174
+ };
175
+ }
176
+ /**
177
+ * AnalyticsModule - Universal analytics and reporting
178
+ *
179
+ * Provides KPIs, trends, leaderboards, growth metrics, and time-series analysis.
180
+ * Works across all templates (ISO, Healthcare, Finance, Retail, etc.)
181
+ * by reading template configuration to determine data sources.
182
+ */
183
+ export declare class AnalyticsModule {
184
+ private sdk;
185
+ constructor(sdk: VaritySDK);
186
+ /**
187
+ * Get KPI summary for a given period
188
+ *
189
+ * Universal method - works for any template.
190
+ * Template configuration determines which KPIs to calculate.
191
+ *
192
+ * @example ISO Dashboard
193
+ * ```typescript
194
+ * const kpis = await sdk.analytics.getKPIs({ period: 'current_month' })
195
+ * // Returns: total_volume, active_merchants, gross_residuals, etc.
196
+ * ```
197
+ *
198
+ * @example Healthcare Dashboard
199
+ * ```typescript
200
+ * const kpis = await sdk.analytics.getKPIs({ period: 'current_month' })
201
+ * // Returns: total_patients, active_appointments, provider_utilization, etc.
202
+ * ```
203
+ */
204
+ getKPIs(options?: KPIOptions): Promise<KPISummary>;
205
+ /**
206
+ * Get trend data for a specific metric
207
+ *
208
+ * Universal method - analyzes trends for any metric across any template.
209
+ *
210
+ * @example ISO Dashboard
211
+ * ```typescript
212
+ * const trends = await sdk.analytics.getTrends({
213
+ * metric: 'residuals',
214
+ * period: '30d',
215
+ * comparison: 'mom'
216
+ * })
217
+ * ```
218
+ *
219
+ * @example Healthcare Dashboard
220
+ * ```typescript
221
+ * const trends = await sdk.analytics.getTrends({
222
+ * metric: 'appointments',
223
+ * period: '90d',
224
+ * granularity: 'week'
225
+ * })
226
+ * ```
227
+ */
228
+ getTrends(options: TrendOptions): Promise<TrendResult>;
229
+ /**
230
+ * Get leaderboard for a specific metric
231
+ *
232
+ * Universal method - ranks entities by any performance metric.
233
+ *
234
+ * @example ISO Dashboard
235
+ * ```typescript
236
+ * const leaderboard = await sdk.analytics.getLeaderboard({
237
+ * metric: 'residuals',
238
+ * entity: 'reps',
239
+ * limit: 10,
240
+ * period: 'month'
241
+ * })
242
+ * // Returns: top 10 reps by residuals
243
+ * ```
244
+ *
245
+ * @example Healthcare Dashboard
246
+ * ```typescript
247
+ * const leaderboard = await sdk.analytics.getLeaderboard({
248
+ * metric: 'patient_satisfaction',
249
+ * entity: 'providers',
250
+ * limit: 20
251
+ * })
252
+ * // Returns: top 20 providers by patient satisfaction
253
+ * ```
254
+ */
255
+ getLeaderboard(options: LeaderboardOptions): Promise<LeaderboardResult>;
256
+ /**
257
+ * Get growth metrics comparing current vs previous periods
258
+ *
259
+ * Universal method - calculates growth across any metrics and periods.
260
+ *
261
+ * @example ISO Dashboard
262
+ * ```typescript
263
+ * const growth = await sdk.analytics.getGrowthMetrics({
264
+ * metrics: ['volume', 'residuals', 'active_merchants'],
265
+ * comparison: 'mom'
266
+ * })
267
+ * ```
268
+ *
269
+ * @example Finance Dashboard
270
+ * ```typescript
271
+ * const growth = await sdk.analytics.getGrowthMetrics({
272
+ * metrics: ['aum', 'trades', 'revenue'],
273
+ * comparison: 'qoq',
274
+ * period: 'quarter'
275
+ * })
276
+ * ```
277
+ */
278
+ getGrowthMetrics(options?: GrowthMetricsOptions): Promise<GrowthMetricsResult>;
279
+ /**
280
+ * Query time-series data for a metric
281
+ *
282
+ * Universal method - retrieves granular time-series data for any metric.
283
+ * Supports flexible aggregation and filtering.
284
+ *
285
+ * @example ISO Dashboard
286
+ * ```typescript
287
+ * const timeSeries = await sdk.analytics.queryTimeSeries({
288
+ * metric: 'daily_volume',
289
+ * startDate: '2025-01-01',
290
+ * endDate: '2025-01-31',
291
+ * granularity: 'day',
292
+ * aggregation: 'sum'
293
+ * })
294
+ * ```
295
+ *
296
+ * @example Healthcare Dashboard
297
+ * ```typescript
298
+ * const timeSeries = await sdk.analytics.queryTimeSeries({
299
+ * metric: 'patient_visits',
300
+ * startDate: '2025-01-01',
301
+ * endDate: '2025-03-31',
302
+ * granularity: 'week',
303
+ * aggregation: 'count',
304
+ * filters: { department: 'cardiology' }
305
+ * })
306
+ * ```
307
+ */
308
+ queryTimeSeries(options: TimeSeriesOptions): Promise<TimeSeriesResult>;
309
+ /**
310
+ * Perform comparative analysis across multiple metrics and periods
311
+ *
312
+ * Universal method - compares any metrics across any time periods.
313
+ * Useful for period-over-period analysis and identifying patterns.
314
+ *
315
+ * @example ISO Dashboard
316
+ * ```typescript
317
+ * const comparison = await sdk.analytics.compareMetrics({
318
+ * metrics: ['volume', 'residuals'],
319
+ * periods: [
320
+ * { start: '2024-01-01', end: '2024-03-31', label: 'Q1 2024' },
321
+ * { start: '2024-04-01', end: '2024-06-30', label: 'Q2 2024' },
322
+ * { start: '2024-07-01', end: '2024-09-30', label: 'Q3 2024' }
323
+ * ],
324
+ * breakdownBy: 'merchant_status'
325
+ * })
326
+ * ```
327
+ */
328
+ compareMetrics(options: ComparativeAnalysisOptions): Promise<ComparativeResult[]>;
329
+ /**
330
+ * Get real-time analytics snapshot
331
+ *
332
+ * Universal method - provides current real-time metrics.
333
+ * Useful for live dashboards and monitoring.
334
+ *
335
+ * @example
336
+ * ```typescript
337
+ * const snapshot = await sdk.analytics.getRealTimeSnapshot({
338
+ * metrics: ['active_users', 'pending_transactions', 'system_load']
339
+ * })
340
+ * ```
341
+ */
342
+ getRealTimeSnapshot(options?: {
343
+ metrics?: string[];
344
+ }): Promise<{
345
+ metrics: KPIResult[];
346
+ timestamp: string;
347
+ }>;
348
+ }
349
+ //# sourceMappingURL=AnalyticsModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnalyticsModule.d.ts","sourceRoot":"","sources":["../../../src/modules/analytics/AnalyticsModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,274 @@
1
+ /**
2
+ * AnalyticsModule - Universal analytics and reporting
3
+ *
4
+ * Provides KPIs, trends, leaderboards, growth metrics, and time-series analysis.
5
+ * Works across all templates (ISO, Healthcare, Finance, Retail, etc.)
6
+ * by reading template configuration to determine data sources.
7
+ */
8
+ export class AnalyticsModule {
9
+ constructor(sdk) {
10
+ this.sdk = sdk;
11
+ }
12
+ /**
13
+ * Get KPI summary for a given period
14
+ *
15
+ * Universal method - works for any template.
16
+ * Template configuration determines which KPIs to calculate.
17
+ *
18
+ * @example ISO Dashboard
19
+ * ```typescript
20
+ * const kpis = await sdk.analytics.getKPIs({ period: 'current_month' })
21
+ * // Returns: total_volume, active_merchants, gross_residuals, etc.
22
+ * ```
23
+ *
24
+ * @example Healthcare Dashboard
25
+ * ```typescript
26
+ * const kpis = await sdk.analytics.getKPIs({ period: 'current_month' })
27
+ * // Returns: total_patients, active_appointments, provider_utilization, etc.
28
+ * ```
29
+ */
30
+ async getKPIs(options = {}) {
31
+ const apiEndpoint = this.sdk.getAPIEndpoint();
32
+ const apiKey = this.sdk.getAPIKey();
33
+ const response = await fetch(`${apiEndpoint}/api/v1/analytics/kpis`, {
34
+ method: 'POST',
35
+ headers: {
36
+ 'Content-Type': 'application/json',
37
+ ...(apiKey && { 'Authorization': `Bearer ${apiKey}` })
38
+ },
39
+ body: JSON.stringify(options)
40
+ });
41
+ if (!response.ok) {
42
+ throw new Error(`Failed to fetch KPIs: ${response.statusText}`);
43
+ }
44
+ return await response.json();
45
+ }
46
+ /**
47
+ * Get trend data for a specific metric
48
+ *
49
+ * Universal method - analyzes trends for any metric across any template.
50
+ *
51
+ * @example ISO Dashboard
52
+ * ```typescript
53
+ * const trends = await sdk.analytics.getTrends({
54
+ * metric: 'residuals',
55
+ * period: '30d',
56
+ * comparison: 'mom'
57
+ * })
58
+ * ```
59
+ *
60
+ * @example Healthcare Dashboard
61
+ * ```typescript
62
+ * const trends = await sdk.analytics.getTrends({
63
+ * metric: 'appointments',
64
+ * period: '90d',
65
+ * granularity: 'week'
66
+ * })
67
+ * ```
68
+ */
69
+ async getTrends(options) {
70
+ const apiEndpoint = this.sdk.getAPIEndpoint();
71
+ const apiKey = this.sdk.getAPIKey();
72
+ const response = await fetch(`${apiEndpoint}/api/v1/analytics/trends`, {
73
+ method: 'POST',
74
+ headers: {
75
+ 'Content-Type': 'application/json',
76
+ ...(apiKey && { 'Authorization': `Bearer ${apiKey}` })
77
+ },
78
+ body: JSON.stringify(options)
79
+ });
80
+ if (!response.ok) {
81
+ throw new Error(`Failed to fetch trends: ${response.statusText}`);
82
+ }
83
+ return await response.json();
84
+ }
85
+ /**
86
+ * Get leaderboard for a specific metric
87
+ *
88
+ * Universal method - ranks entities by any performance metric.
89
+ *
90
+ * @example ISO Dashboard
91
+ * ```typescript
92
+ * const leaderboard = await sdk.analytics.getLeaderboard({
93
+ * metric: 'residuals',
94
+ * entity: 'reps',
95
+ * limit: 10,
96
+ * period: 'month'
97
+ * })
98
+ * // Returns: top 10 reps by residuals
99
+ * ```
100
+ *
101
+ * @example Healthcare Dashboard
102
+ * ```typescript
103
+ * const leaderboard = await sdk.analytics.getLeaderboard({
104
+ * metric: 'patient_satisfaction',
105
+ * entity: 'providers',
106
+ * limit: 20
107
+ * })
108
+ * // Returns: top 20 providers by patient satisfaction
109
+ * ```
110
+ */
111
+ async getLeaderboard(options) {
112
+ const apiEndpoint = this.sdk.getAPIEndpoint();
113
+ const apiKey = this.sdk.getAPIKey();
114
+ const response = await fetch(`${apiEndpoint}/api/v1/analytics/leaderboard`, {
115
+ method: 'POST',
116
+ headers: {
117
+ 'Content-Type': 'application/json',
118
+ ...(apiKey && { 'Authorization': `Bearer ${apiKey}` })
119
+ },
120
+ body: JSON.stringify(options)
121
+ });
122
+ if (!response.ok) {
123
+ throw new Error(`Failed to fetch leaderboard: ${response.statusText}`);
124
+ }
125
+ return await response.json();
126
+ }
127
+ /**
128
+ * Get growth metrics comparing current vs previous periods
129
+ *
130
+ * Universal method - calculates growth across any metrics and periods.
131
+ *
132
+ * @example ISO Dashboard
133
+ * ```typescript
134
+ * const growth = await sdk.analytics.getGrowthMetrics({
135
+ * metrics: ['volume', 'residuals', 'active_merchants'],
136
+ * comparison: 'mom'
137
+ * })
138
+ * ```
139
+ *
140
+ * @example Finance Dashboard
141
+ * ```typescript
142
+ * const growth = await sdk.analytics.getGrowthMetrics({
143
+ * metrics: ['aum', 'trades', 'revenue'],
144
+ * comparison: 'qoq',
145
+ * period: 'quarter'
146
+ * })
147
+ * ```
148
+ */
149
+ async getGrowthMetrics(options = {}) {
150
+ const apiEndpoint = this.sdk.getAPIEndpoint();
151
+ const apiKey = this.sdk.getAPIKey();
152
+ const response = await fetch(`${apiEndpoint}/api/v1/analytics/growth-metrics`, {
153
+ method: 'POST',
154
+ headers: {
155
+ 'Content-Type': 'application/json',
156
+ ...(apiKey && { 'Authorization': `Bearer ${apiKey}` })
157
+ },
158
+ body: JSON.stringify(options)
159
+ });
160
+ if (!response.ok) {
161
+ throw new Error(`Failed to fetch growth metrics: ${response.statusText}`);
162
+ }
163
+ return await response.json();
164
+ }
165
+ /**
166
+ * Query time-series data for a metric
167
+ *
168
+ * Universal method - retrieves granular time-series data for any metric.
169
+ * Supports flexible aggregation and filtering.
170
+ *
171
+ * @example ISO Dashboard
172
+ * ```typescript
173
+ * const timeSeries = await sdk.analytics.queryTimeSeries({
174
+ * metric: 'daily_volume',
175
+ * startDate: '2025-01-01',
176
+ * endDate: '2025-01-31',
177
+ * granularity: 'day',
178
+ * aggregation: 'sum'
179
+ * })
180
+ * ```
181
+ *
182
+ * @example Healthcare Dashboard
183
+ * ```typescript
184
+ * const timeSeries = await sdk.analytics.queryTimeSeries({
185
+ * metric: 'patient_visits',
186
+ * startDate: '2025-01-01',
187
+ * endDate: '2025-03-31',
188
+ * granularity: 'week',
189
+ * aggregation: 'count',
190
+ * filters: { department: 'cardiology' }
191
+ * })
192
+ * ```
193
+ */
194
+ async queryTimeSeries(options) {
195
+ const apiEndpoint = this.sdk.getAPIEndpoint();
196
+ const apiKey = this.sdk.getAPIKey();
197
+ const response = await fetch(`${apiEndpoint}/api/v1/analytics/time-series`, {
198
+ method: 'POST',
199
+ headers: {
200
+ 'Content-Type': 'application/json',
201
+ ...(apiKey && { 'Authorization': `Bearer ${apiKey}` })
202
+ },
203
+ body: JSON.stringify(options)
204
+ });
205
+ if (!response.ok) {
206
+ throw new Error(`Failed to query time-series: ${response.statusText}`);
207
+ }
208
+ return await response.json();
209
+ }
210
+ /**
211
+ * Perform comparative analysis across multiple metrics and periods
212
+ *
213
+ * Universal method - compares any metrics across any time periods.
214
+ * Useful for period-over-period analysis and identifying patterns.
215
+ *
216
+ * @example ISO Dashboard
217
+ * ```typescript
218
+ * const comparison = await sdk.analytics.compareMetrics({
219
+ * metrics: ['volume', 'residuals'],
220
+ * periods: [
221
+ * { start: '2024-01-01', end: '2024-03-31', label: 'Q1 2024' },
222
+ * { start: '2024-04-01', end: '2024-06-30', label: 'Q2 2024' },
223
+ * { start: '2024-07-01', end: '2024-09-30', label: 'Q3 2024' }
224
+ * ],
225
+ * breakdownBy: 'merchant_status'
226
+ * })
227
+ * ```
228
+ */
229
+ async compareMetrics(options) {
230
+ const apiEndpoint = this.sdk.getAPIEndpoint();
231
+ const apiKey = this.sdk.getAPIKey();
232
+ const response = await fetch(`${apiEndpoint}/api/v1/analytics/comparative`, {
233
+ method: 'POST',
234
+ headers: {
235
+ 'Content-Type': 'application/json',
236
+ ...(apiKey && { 'Authorization': `Bearer ${apiKey}` })
237
+ },
238
+ body: JSON.stringify(options)
239
+ });
240
+ if (!response.ok) {
241
+ throw new Error(`Failed to perform comparative analysis: ${response.statusText}`);
242
+ }
243
+ return await response.json();
244
+ }
245
+ /**
246
+ * Get real-time analytics snapshot
247
+ *
248
+ * Universal method - provides current real-time metrics.
249
+ * Useful for live dashboards and monitoring.
250
+ *
251
+ * @example
252
+ * ```typescript
253
+ * const snapshot = await sdk.analytics.getRealTimeSnapshot({
254
+ * metrics: ['active_users', 'pending_transactions', 'system_load']
255
+ * })
256
+ * ```
257
+ */
258
+ async getRealTimeSnapshot(options = {}) {
259
+ const apiEndpoint = this.sdk.getAPIEndpoint();
260
+ const apiKey = this.sdk.getAPIKey();
261
+ const response = await fetch(`${apiEndpoint}/api/v1/analytics/realtime`, {
262
+ method: 'POST',
263
+ headers: {
264
+ 'Content-Type': 'application/json',
265
+ ...(apiKey && { 'Authorization': `Bearer ${apiKey}` })
266
+ },
267
+ body: JSON.stringify(options)
268
+ });
269
+ if (!response.ok) {
270
+ throw new Error(`Failed to fetch real-time snapshot: ${response.statusText}`);
271
+ }
272
+ return await response.json();
273
+ }
274
+ }
@@ -0,0 +1,3 @@
1
+ export { AnalyticsModule } from './AnalyticsModule';
2
+ export type { KPIOptions, KPIResult, KPISummary, TrendOptions, TrendDataPoint, TrendResult, LeaderboardOptions, LeaderboardEntry, LeaderboardResult, GrowthMetricsOptions, GrowthMetric, GrowthMetricsResult, TimeSeriesOptions, TimeSeriesResult, ComparativeAnalysisOptions, ComparativeResult } from './AnalyticsModule';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/analytics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,YAAY,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EAClB,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1 @@
1
+ export { AnalyticsModule } from './AnalyticsModule';