@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,310 @@
1
+ /**
2
+ * Forecasting Module
3
+ *
4
+ * Universal time-series forecasting, anomaly detection, and predictive analytics
5
+ * Works across ALL templates (ISO, Healthcare, Finance, Retail)
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * // Time-series forecast
10
+ * const forecast = await sdk.forecasting.predict({
11
+ * metric: 'revenue',
12
+ * periods: 12,
13
+ * interval: 'month'
14
+ * })
15
+ *
16
+ * // Anomaly detection
17
+ * const anomalies = await sdk.forecasting.detectAnomalies({
18
+ * metric: 'transactions',
19
+ * sensitivity: 'high'
20
+ * })
21
+ *
22
+ * // What-if scenario
23
+ * const scenario = await sdk.forecasting.simulateScenario({
24
+ * changes: { marketing_spend: 1.5 },
25
+ * target_metric: 'revenue'
26
+ * })
27
+ * ```
28
+ */
29
+ // ============================================================================
30
+ // FORECASTING MODULE CLASS
31
+ // ============================================================================
32
+ /**
33
+ * Forecasting Module
34
+ *
35
+ * Provides time-series forecasting, anomaly detection, and predictive analytics
36
+ * Works universally across all templates with template-specific configurations
37
+ */
38
+ export class ForecastingModule {
39
+ constructor(sdk) {
40
+ this.sdk = sdk;
41
+ }
42
+ /**
43
+ * Predict future values for a metric
44
+ *
45
+ * @param options - Prediction options
46
+ * @returns Forecast result with predicted values and confidence intervals
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * // Forecast next 12 months of revenue
51
+ * const forecast = await sdk.forecasting.predict({
52
+ * metric: 'revenue',
53
+ * periods: 12,
54
+ * interval: 'month',
55
+ * include_confidence: true
56
+ * })
57
+ * ```
58
+ */
59
+ async predict(options) {
60
+ const response = await fetch(`${this.sdk.getAPIEndpoint()}/api/v1/forecasting/predict`, {
61
+ method: 'POST',
62
+ headers: {
63
+ 'Content-Type': 'application/json',
64
+ ...(this.sdk.getAPIKey() && { 'X-API-Key': this.sdk.getAPIKey() })
65
+ },
66
+ body: JSON.stringify(options)
67
+ });
68
+ if (!response.ok) {
69
+ throw new Error(`Prediction failed: ${response.statusText}`);
70
+ }
71
+ return await response.json();
72
+ }
73
+ /**
74
+ * Detect anomalies in time-series data
75
+ *
76
+ * @param options - Anomaly detection options
77
+ * @returns Detected anomalies with explanations
78
+ *
79
+ * @example
80
+ * ```typescript
81
+ * const anomalies = await sdk.forecasting.detectAnomalies({
82
+ * metric: 'transactions',
83
+ * time_range: 'last_90_days',
84
+ * sensitivity: 'high',
85
+ * include_explanations: true
86
+ * })
87
+ * ```
88
+ */
89
+ async detectAnomalies(options) {
90
+ const response = await fetch(`${this.sdk.getAPIEndpoint()}/api/v1/forecasting/anomalies`, {
91
+ method: 'POST',
92
+ headers: {
93
+ 'Content-Type': 'application/json',
94
+ ...(this.sdk.getAPIKey() && { 'X-API-Key': this.sdk.getAPIKey() })
95
+ },
96
+ body: JSON.stringify(options)
97
+ });
98
+ if (!response.ok) {
99
+ throw new Error(`Anomaly detection failed: ${response.statusText}`);
100
+ }
101
+ return await response.json();
102
+ }
103
+ /**
104
+ * Analyze trends in time-series data
105
+ *
106
+ * @param options - Trend analysis options
107
+ * @returns Trend analysis with seasonality and cycle detection
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * const trends = await sdk.forecasting.analyzeTrends({
112
+ * metric: 'users',
113
+ * time_range: 'last_12_months',
114
+ * detect_seasonality: true
115
+ * })
116
+ * ```
117
+ */
118
+ async analyzeTrends(options) {
119
+ const response = await fetch(`${this.sdk.getAPIEndpoint()}/api/v1/forecasting/trends`, {
120
+ method: 'POST',
121
+ headers: {
122
+ 'Content-Type': 'application/json',
123
+ ...(this.sdk.getAPIKey() && { 'X-API-Key': this.sdk.getAPIKey() })
124
+ },
125
+ body: JSON.stringify(options)
126
+ });
127
+ if (!response.ok) {
128
+ throw new Error(`Trend analysis failed: ${response.statusText}`);
129
+ }
130
+ return await response.json();
131
+ }
132
+ /**
133
+ * Simulate what-if scenarios
134
+ *
135
+ * @param options - Scenario simulation options
136
+ * @returns Forecasted impact of changes
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * // What if we increase marketing spend by 50%?
141
+ * const scenario = await sdk.forecasting.simulateScenario({
142
+ * changes: { marketing_spend: 1.5 },
143
+ * target_metric: 'revenue',
144
+ * periods: 6,
145
+ * scenario_name: 'Increased Marketing'
146
+ * })
147
+ * ```
148
+ */
149
+ async simulateScenario(options) {
150
+ const response = await fetch(`${this.sdk.getAPIEndpoint()}/api/v1/forecasting/scenarios`, {
151
+ method: 'POST',
152
+ headers: {
153
+ 'Content-Type': 'application/json',
154
+ ...(this.sdk.getAPIKey() && { 'X-API-Key': this.sdk.getAPIKey() })
155
+ },
156
+ body: JSON.stringify(options)
157
+ });
158
+ if (!response.ok) {
159
+ throw new Error(`Scenario simulation failed: ${response.statusText}`);
160
+ }
161
+ return await response.json();
162
+ }
163
+ /**
164
+ * Train a custom forecasting model
165
+ *
166
+ * @param options - Model training options
167
+ * @returns Trained model information
168
+ *
169
+ * @example
170
+ * ```typescript
171
+ * const model = await sdk.forecasting.trainModel({
172
+ * target: 'revenue',
173
+ * features: ['marketing_spend', 'season', 'users'],
174
+ * model: 'neural_network',
175
+ * model_name: 'revenue_predictor_v1'
176
+ * })
177
+ * ```
178
+ */
179
+ async trainModel(options) {
180
+ const response = await fetch(`${this.sdk.getAPIEndpoint()}/api/v1/forecasting/models/train`, {
181
+ method: 'POST',
182
+ headers: {
183
+ 'Content-Type': 'application/json',
184
+ ...(this.sdk.getAPIKey() && { 'X-API-Key': this.sdk.getAPIKey() })
185
+ },
186
+ body: JSON.stringify(options)
187
+ });
188
+ if (!response.ok) {
189
+ throw new Error(`Model training failed: ${response.statusText}`);
190
+ }
191
+ return await response.json();
192
+ }
193
+ /**
194
+ * Evaluate a trained model's performance
195
+ *
196
+ * @param options - Evaluation options
197
+ * @returns Model evaluation results with metrics
198
+ *
199
+ * @example
200
+ * ```typescript
201
+ * const evaluation = await sdk.forecasting.evaluateModel({
202
+ * model_id: 'model-123',
203
+ * test_range: 'last_30_days',
204
+ * metrics: ['mae', 'rmse', 'mape'],
205
+ * include_comparison: true
206
+ * })
207
+ * ```
208
+ */
209
+ async evaluateModel(options) {
210
+ const response = await fetch(`${this.sdk.getAPIEndpoint()}/api/v1/forecasting/models/evaluate`, {
211
+ method: 'POST',
212
+ headers: {
213
+ 'Content-Type': 'application/json',
214
+ ...(this.sdk.getAPIKey() && { 'X-API-Key': this.sdk.getAPIKey() })
215
+ },
216
+ body: JSON.stringify(options)
217
+ });
218
+ if (!response.ok) {
219
+ throw new Error(`Model evaluation failed: ${response.statusText}`);
220
+ }
221
+ return await response.json();
222
+ }
223
+ /**
224
+ * Get trained model by ID
225
+ *
226
+ * @param modelId - Model ID
227
+ * @returns Trained model information
228
+ */
229
+ async getModel(modelId) {
230
+ const response = await fetch(`${this.sdk.getAPIEndpoint()}/api/v1/forecasting/models/${modelId}`, {
231
+ headers: {
232
+ ...(this.sdk.getAPIKey() && { 'X-API-Key': this.sdk.getAPIKey() })
233
+ }
234
+ });
235
+ if (!response.ok) {
236
+ throw new Error(`Failed to get model: ${response.statusText}`);
237
+ }
238
+ return await response.json();
239
+ }
240
+ /**
241
+ * List all trained models
242
+ *
243
+ * @param filters - Optional filters
244
+ * @returns List of trained models
245
+ */
246
+ async listModels(filters) {
247
+ const params = new URLSearchParams();
248
+ if (filters) {
249
+ Object.entries(filters).forEach(([key, value]) => {
250
+ if (value)
251
+ params.append(key, value);
252
+ });
253
+ }
254
+ const response = await fetch(`${this.sdk.getAPIEndpoint()}/api/v1/forecasting/models?${params.toString()}`, {
255
+ headers: {
256
+ ...(this.sdk.getAPIKey() && { 'X-API-Key': this.sdk.getAPIKey() })
257
+ }
258
+ });
259
+ if (!response.ok) {
260
+ throw new Error(`Failed to list models: ${response.statusText}`);
261
+ }
262
+ return await response.json();
263
+ }
264
+ /**
265
+ * Delete a trained model
266
+ *
267
+ * @param modelId - Model ID to delete
268
+ * @returns Success status
269
+ */
270
+ async deleteModel(modelId) {
271
+ const response = await fetch(`${this.sdk.getAPIEndpoint()}/api/v1/forecasting/models/${modelId}`, {
272
+ method: 'DELETE',
273
+ headers: {
274
+ ...(this.sdk.getAPIKey() && { 'X-API-Key': this.sdk.getAPIKey() })
275
+ }
276
+ });
277
+ if (!response.ok) {
278
+ throw new Error(`Failed to delete model: ${response.statusText}`);
279
+ }
280
+ return await response.json();
281
+ }
282
+ /**
283
+ * Get historical forecast accuracy
284
+ *
285
+ * @param options - Options for accuracy check
286
+ * @returns Historical accuracy metrics
287
+ *
288
+ * @example
289
+ * ```typescript
290
+ * const accuracy = await sdk.forecasting.getAccuracy({
291
+ * metric: 'revenue',
292
+ * time_range: 'last_6_months'
293
+ * })
294
+ * ```
295
+ */
296
+ async getAccuracy(options) {
297
+ const response = await fetch(`${this.sdk.getAPIEndpoint()}/api/v1/forecasting/accuracy`, {
298
+ method: 'POST',
299
+ headers: {
300
+ 'Content-Type': 'application/json',
301
+ ...(this.sdk.getAPIKey() && { 'X-API-Key': this.sdk.getAPIKey() })
302
+ },
303
+ body: JSON.stringify(options)
304
+ });
305
+ if (!response.ok) {
306
+ throw new Error(`Failed to get accuracy: ${response.statusText}`);
307
+ }
308
+ return await response.json();
309
+ }
310
+ }
@@ -0,0 +1,3 @@
1
+ export { ForecastingModule } from './ForecastingModule';
2
+ export type { TimeInterval, ForecastModel, AnomalySensitivity, AnomalyType, EvaluationMetric, PredictOptions, AnomalyDetectionOptions, TrendAnalysisOptions, ScenarioSimulationOptions, TrainModelOptions, EvaluateModelOptions, ForecastPoint, ForecastResult, Anomaly, AnomalyDetectionResult, TrendComponent, TrendAnalysisResult, ScenarioResult, TrainedModel, EvaluationResult } from './ForecastingModule';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/forecasting/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,YAAY,EACV,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,OAAO,EACP,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,gBAAgB,EACjB,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1 @@
1
+ export { ForecastingModule } from './ForecastingModule';
@@ -0,0 +1,359 @@
1
+ import type { VaritySDK } from '../../core/VaritySDK';
2
+ /**
3
+ * Monitoring Module
4
+ *
5
+ * Universal health checks, metrics, tracing, and observability across all templates.
6
+ * Provides production-ready monitoring capabilities.
7
+ * Works identically for ISO, Healthcare, Finance, Retail, etc.
8
+ */
9
+ export type HealthStatus = 'healthy' | 'degraded' | 'unhealthy' | 'unknown';
10
+ export type MetricType = 'counter' | 'gauge' | 'histogram' | 'summary';
11
+ export interface HealthCheckResult {
12
+ status: HealthStatus;
13
+ timestamp: string;
14
+ checks: {
15
+ [component: string]: {
16
+ status: HealthStatus;
17
+ message?: string;
18
+ responseTime?: number;
19
+ lastCheck?: string;
20
+ };
21
+ };
22
+ uptime: number;
23
+ version: string;
24
+ }
25
+ export interface Metric {
26
+ name: string;
27
+ type: MetricType;
28
+ value: number;
29
+ timestamp?: string;
30
+ tags?: Record<string, string>;
31
+ unit?: string;
32
+ }
33
+ export interface RecordMetricOptions {
34
+ name: string;
35
+ value: number;
36
+ type?: MetricType;
37
+ tags?: Record<string, string>;
38
+ unit?: string;
39
+ timestamp?: string;
40
+ }
41
+ export interface QueryMetricsOptions {
42
+ name: string;
43
+ startTime?: string;
44
+ endTime?: string;
45
+ aggregation?: 'avg' | 'sum' | 'min' | 'max' | 'count' | 'p50' | 'p95' | 'p99';
46
+ interval?: string;
47
+ tags?: Record<string, string>;
48
+ }
49
+ export interface MetricSeries {
50
+ name: string;
51
+ dataPoints: Array<{
52
+ timestamp: string;
53
+ value: number;
54
+ }>;
55
+ aggregation?: string;
56
+ tags?: Record<string, string>;
57
+ }
58
+ export interface Trace {
59
+ id: string;
60
+ name: string;
61
+ startTime: string;
62
+ endTime?: string;
63
+ duration?: number;
64
+ status: 'running' | 'completed' | 'error';
65
+ spans: Span[];
66
+ tags?: Record<string, string>;
67
+ error?: string;
68
+ }
69
+ export interface Span {
70
+ id: string;
71
+ traceId: string;
72
+ name: string;
73
+ startTime: string;
74
+ endTime?: string;
75
+ duration?: number;
76
+ parentSpanId?: string;
77
+ status: 'running' | 'completed' | 'error';
78
+ tags?: Record<string, string>;
79
+ logs?: LogEntry[];
80
+ error?: string;
81
+ }
82
+ export interface LogEntry {
83
+ timestamp: string;
84
+ level: 'debug' | 'info' | 'warn' | 'error';
85
+ message: string;
86
+ metadata?: Record<string, any>;
87
+ }
88
+ export interface ErrorReport {
89
+ id: string;
90
+ error: string;
91
+ stackTrace?: string;
92
+ context?: Record<string, any>;
93
+ timestamp: string;
94
+ count: number;
95
+ firstSeen: string;
96
+ lastSeen: string;
97
+ tags?: Record<string, string>;
98
+ }
99
+ export interface PerformanceMetrics {
100
+ apiLatency: {
101
+ avg: number;
102
+ p50: number;
103
+ p95: number;
104
+ p99: number;
105
+ };
106
+ throughput: {
107
+ requestsPerSecond: number;
108
+ requestsPerMinute: number;
109
+ };
110
+ errorRate: number;
111
+ uptime: number;
112
+ resourceUsage: {
113
+ cpu?: number;
114
+ memory?: number;
115
+ storage?: number;
116
+ };
117
+ }
118
+ export interface Alert {
119
+ id: string;
120
+ name: string;
121
+ condition: string;
122
+ status: 'active' | 'resolved';
123
+ severity: 'low' | 'medium' | 'high' | 'critical';
124
+ triggeredAt: string;
125
+ resolvedAt?: string;
126
+ message: string;
127
+ metadata?: Record<string, any>;
128
+ }
129
+ /**
130
+ * MonitoringModule - Universal monitoring and observability
131
+ *
132
+ * Provides comprehensive monitoring capabilities including health checks,
133
+ * metrics collection, distributed tracing, and error tracking.
134
+ * Works across all templates for production observability.
135
+ */
136
+ export declare class MonitoringModule {
137
+ private sdk;
138
+ constructor(sdk: VaritySDK);
139
+ /**
140
+ * Get system health status
141
+ *
142
+ * Universal method - checks health of all system components.
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * const health = await sdk.monitoring.getHealthStatus()
147
+ * if (health.status !== 'healthy') {
148
+ * console.error('System unhealthy:', health.checks)
149
+ * }
150
+ * ```
151
+ */
152
+ getHealthStatus(): Promise<HealthCheckResult>;
153
+ /**
154
+ * Record metric
155
+ *
156
+ * Universal method - records a metric value for monitoring.
157
+ *
158
+ * @example ISO Dashboard
159
+ * ```typescript
160
+ * await sdk.monitoring.recordMetric({
161
+ * name: 'merchant.registration.duration',
162
+ * value: 245,
163
+ * type: 'histogram',
164
+ * unit: 'ms',
165
+ * tags: { status: 'success' }
166
+ * })
167
+ * ```
168
+ *
169
+ * @example Healthcare Dashboard
170
+ * ```typescript
171
+ * await sdk.monitoring.recordMetric({
172
+ * name: 'appointment.booking.duration',
173
+ * value: 320,
174
+ * type: 'histogram',
175
+ * unit: 'ms',
176
+ * tags: { department: 'cardiology' }
177
+ * })
178
+ * ```
179
+ */
180
+ recordMetric(options: RecordMetricOptions): Promise<void>;
181
+ /**
182
+ * Query metrics
183
+ *
184
+ * Universal method - retrieves metric data with aggregation.
185
+ *
186
+ * @example
187
+ * ```typescript
188
+ * const latency = await sdk.monitoring.queryMetrics({
189
+ * name: 'api.latency',
190
+ * startTime: '2025-01-01T00:00:00Z',
191
+ * endTime: '2025-01-31T23:59:59Z',
192
+ * aggregation: 'p95',
193
+ * interval: '1h'
194
+ * })
195
+ * ```
196
+ */
197
+ queryMetrics(options: QueryMetricsOptions): Promise<MetricSeries>;
198
+ /**
199
+ * Start distributed trace
200
+ *
201
+ * Universal method - begins a new distributed trace.
202
+ *
203
+ * @example
204
+ * ```typescript
205
+ * const trace = await sdk.monitoring.startTrace('merchant.registration', {
206
+ * userId: '123',
207
+ * merchantId: 'M456'
208
+ * })
209
+ *
210
+ * try {
211
+ * // ... perform operations ...
212
+ * await trace.end()
213
+ * } catch (error) {
214
+ * await trace.error(error)
215
+ * }
216
+ * ```
217
+ */
218
+ startTrace(name: string, tags?: Record<string, string>): Promise<TraceContext>;
219
+ /**
220
+ * Get trace by ID
221
+ *
222
+ * Universal method - retrieves trace details.
223
+ */
224
+ getTrace(traceId: string): Promise<Trace>;
225
+ /**
226
+ * Report error
227
+ *
228
+ * Universal method - reports an error for tracking.
229
+ *
230
+ * @example
231
+ * ```typescript
232
+ * try {
233
+ * await somethingRisky()
234
+ * } catch (error) {
235
+ * await sdk.monitoring.reportError(error, {
236
+ * context: { userId: '123', action: 'registration' },
237
+ * tags: { severity: 'high' }
238
+ * })
239
+ * }
240
+ * ```
241
+ */
242
+ reportError(error: Error | string, options?: {
243
+ context?: Record<string, any>;
244
+ tags?: Record<string, string>;
245
+ }): Promise<ErrorReport>;
246
+ /**
247
+ * Get error reports
248
+ *
249
+ * Universal method - retrieves error tracking data.
250
+ */
251
+ getErrors(options?: {
252
+ startTime?: string;
253
+ endTime?: string;
254
+ tags?: Record<string, string>;
255
+ limit?: number;
256
+ }): Promise<ErrorReport[]>;
257
+ /**
258
+ * Get performance metrics
259
+ *
260
+ * Universal method - retrieves system performance metrics.
261
+ *
262
+ * @example
263
+ * ```typescript
264
+ * const perf = await sdk.monitoring.getPerformanceMetrics()
265
+ * console.log(`API p95 latency: ${perf.apiLatency.p95}ms`)
266
+ * console.log(`Error rate: ${perf.errorRate}%`)
267
+ * ```
268
+ */
269
+ getPerformanceMetrics(): Promise<PerformanceMetrics>;
270
+ /**
271
+ * Get active alerts
272
+ *
273
+ * Universal method - retrieves currently active alerts.
274
+ */
275
+ getActiveAlerts(): Promise<Alert[]>;
276
+ /**
277
+ * Get system uptime
278
+ *
279
+ * Universal method - retrieves system uptime in seconds.
280
+ */
281
+ getUptime(): Promise<number>;
282
+ /**
283
+ * Record custom event
284
+ *
285
+ * Universal method - records a custom event for tracking.
286
+ *
287
+ * @example
288
+ * ```typescript
289
+ * await sdk.monitoring.recordEvent('merchant.tier.upgraded', {
290
+ * merchantId: 'M123',
291
+ * oldTier: 'silver',
292
+ * newTier: 'gold'
293
+ * })
294
+ * ```
295
+ */
296
+ recordEvent(name: string, data?: Record<string, any>): Promise<void>;
297
+ /**
298
+ * Create custom dashboard
299
+ *
300
+ * Universal method - creates a custom monitoring dashboard.
301
+ */
302
+ createDashboard(dashboard: {
303
+ name: string;
304
+ description?: string;
305
+ metrics: string[];
306
+ layout?: any;
307
+ }): Promise<{
308
+ id: string;
309
+ url: string;
310
+ }>;
311
+ }
312
+ /**
313
+ * TraceContext - Helper class for managing distributed traces
314
+ */
315
+ export declare class TraceContext {
316
+ readonly id: string;
317
+ readonly name: string;
318
+ private sdk;
319
+ private apiEndpoint;
320
+ private apiKey?;
321
+ private spans;
322
+ constructor(id: string, name: string, sdk: VaritySDK, apiEndpoint: string, apiKey?: string | undefined);
323
+ /**
324
+ * Start a new span within this trace
325
+ */
326
+ startSpan(name: string, tags?: Record<string, string>): Promise<SpanContext>;
327
+ /**
328
+ * End the trace successfully
329
+ */
330
+ end(): Promise<void>;
331
+ /**
332
+ * End the trace with an error
333
+ */
334
+ error(error: Error | string): Promise<void>;
335
+ }
336
+ /**
337
+ * SpanContext - Helper class for managing trace spans
338
+ */
339
+ export declare class SpanContext {
340
+ readonly id: string;
341
+ readonly traceId: string;
342
+ readonly name: string;
343
+ private apiEndpoint;
344
+ private apiKey?;
345
+ constructor(id: string, traceId: string, name: string, apiEndpoint: string, apiKey?: string | undefined);
346
+ /**
347
+ * Add log entry to span
348
+ */
349
+ log(level: 'debug' | 'info' | 'warn' | 'error', message: string, metadata?: Record<string, any>): Promise<void>;
350
+ /**
351
+ * End the span successfully
352
+ */
353
+ end(): Promise<void>;
354
+ /**
355
+ * End the span with an error
356
+ */
357
+ error(error: Error | string): Promise<void>;
358
+ }
359
+ //# sourceMappingURL=MonitoringModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonitoringModule.d.ts","sourceRoot":"","sources":["../../../src/modules/monitoring/MonitoringModule.ts"],"names":[],"mappings":"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"}