@glowlabs-org/utils 0.0.9 → 0.1.2

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 (130) hide show
  1. package/.github/workflows/publish.yml +14 -4
  2. package/dist/cjs/constants/regex.d.ts +1 -0
  3. package/dist/cjs/constants/urls.d.ts +2 -0
  4. package/dist/cjs/constants/weights.d.ts +12 -0
  5. package/dist/cjs/index.d.ts +1 -1
  6. package/dist/cjs/index.js +18988 -89
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/lib/create-weekly-report/index.d.ts +73 -0
  9. package/dist/cjs/lib/create-weekly-report/types/Audit.d.ts +40 -0
  10. package/dist/cjs/lib/create-weekly-report/types/index.d.ts +7 -0
  11. package/dist/cjs/lib/create-weekly-report/types/merkle.d.ts +10 -0
  12. package/dist/cjs/lib/create-weekly-report/utils/accumulate-leaf-weights.d.ts +2 -0
  13. package/dist/cjs/lib/create-weekly-report/utils/custom-to-fixed.d.ts +1 -0
  14. package/dist/cjs/lib/create-weekly-report/utils/fetch-farms-for-week.d.ts +12 -0
  15. package/dist/cjs/lib/create-weekly-report/utils/from-bigint.d.ts +7 -0
  16. package/dist/cjs/lib/create-weekly-report/utils/greater-than-max-deviation.d.ts +1 -0
  17. package/dist/cjs/lib/create-weekly-report/utils/hashLeaf.d.ts +7 -0
  18. package/dist/cjs/lib/create-weekly-report/utils/multiply-bigInt-by-decimal-percentage.d.ts +1 -0
  19. package/dist/cjs/lib/create-weekly-report/utils/to-bigint.d.ts +7 -0
  20. package/dist/cjs/utils/custom-to-fixed.d.ts +1 -0
  21. package/dist/cjs/utils/greater-than-max-deviation.d.ts +1 -0
  22. package/dist/cjs/utils/hash-leaf.d.ts +7 -0
  23. package/dist/esm/constants/regex.d.ts +1 -0
  24. package/dist/esm/constants/urls.d.ts +2 -0
  25. package/dist/esm/constants/weights.d.ts +12 -0
  26. package/dist/esm/index.d.ts +1 -1
  27. package/dist/esm/index.js +18988 -89
  28. package/dist/esm/index.js.map +1 -1
  29. package/dist/esm/lib/create-weekly-report/index.d.ts +73 -0
  30. package/dist/esm/lib/create-weekly-report/types/Audit.d.ts +40 -0
  31. package/dist/esm/lib/create-weekly-report/types/RewardSplit copy.d.ts +5 -0
  32. package/dist/esm/lib/create-weekly-report/types/RewardSplit.d.ts +5 -0
  33. package/dist/esm/lib/create-weekly-report/types/RewardSplits copy.d.ts +2 -0
  34. package/dist/esm/lib/create-weekly-report/types/RewardSplits.d.ts +2 -0
  35. package/dist/esm/lib/create-weekly-report/types/index.d.ts +7 -0
  36. package/dist/esm/lib/create-weekly-report/types/merkle.d.ts +10 -0
  37. package/dist/esm/lib/create-weekly-report/utils/accumulate-leaf-weights.d.ts +2 -0
  38. package/dist/esm/lib/create-weekly-report/utils/custom-to-fixed.d.ts +1 -0
  39. package/dist/esm/lib/create-weekly-report/utils/fetch-farms-for-week.d.ts +12 -0
  40. package/dist/esm/lib/create-weekly-report/utils/from-bigint.d.ts +7 -0
  41. package/dist/esm/lib/create-weekly-report/utils/greater-than-max-deviation.d.ts +1 -0
  42. package/dist/esm/lib/create-weekly-report/utils/hashLeaf.d.ts +7 -0
  43. package/dist/esm/lib/create-weekly-report/utils/multiply-bigInt-by-decimal-percentage.d.ts +1 -0
  44. package/dist/esm/lib/create-weekly-report/utils/to-bigint.d.ts +7 -0
  45. package/dist/esm/utils/custom-to-fixed.d.ts +1 -0
  46. package/dist/esm/utils/greater-than-max-deviation.d.ts +1 -0
  47. package/dist/esm/utils/hash-leaf.d.ts +7 -0
  48. package/package.json +13 -9
  49. package/rollup.config.js +2 -0
  50. package/src/constants/regex.ts +2 -0
  51. package/src/constants/urls.ts +3 -0
  52. package/src/constants/weights.ts +15 -0
  53. package/src/index.ts +1 -1
  54. package/src/lib/create-weekly-report/index.ts +693 -0
  55. package/src/lib/create-weekly-report/types/Audit.ts +41 -0
  56. package/src/{types → lib/create-weekly-report/types}/AuditCompleted.ts +3 -1
  57. package/src/lib/create-weekly-report/types/AuditInherited.ts +8 -0
  58. package/src/lib/create-weekly-report/types/Device.ts +7 -0
  59. package/src/lib/create-weekly-report/types/DuplicatedButPastAuditCompleted.ts +10 -0
  60. package/src/lib/create-weekly-report/types/Farm.ts +22 -0
  61. package/src/{types → lib/create-weekly-report/types}/FarmStatus.ts +6 -6
  62. package/src/{types → lib/create-weekly-report/types}/GCAServerResponse.ts +5 -1
  63. package/src/lib/create-weekly-report/types/GetEquipmentDataHandlerParams.ts +7 -0
  64. package/src/lib/create-weekly-report/types/PayoutWalletAndSplit.ts +25 -0
  65. package/src/lib/create-weekly-report/types/PayoutWalletAndSplitWithRewardSplits.ts +23 -0
  66. package/src/lib/create-weekly-report/types/RewardSplit copy.ts +7 -0
  67. package/src/lib/create-weekly-report/types/RewardSplit.ts +7 -0
  68. package/src/{types/RewardSplit.ts → lib/create-weekly-report/types/RewardSplits copy.ts } +2 -1
  69. package/src/{types → lib/create-weekly-report/types}/RewardSplits.ts +1 -1
  70. package/src/{types → lib/create-weekly-report/types}/SlotRange.ts +4 -1
  71. package/src/{types → lib/create-weekly-report/types}/WeekAndSlotRange.ts +4 -1
  72. package/src/lib/create-weekly-report/types/index.ts +7 -0
  73. package/src/lib/create-weekly-report/types/merkle.ts +11 -0
  74. package/src/lib/create-weekly-report/types/stashed-Farm.ts +22 -0
  75. package/src/lib/create-weekly-report/utils/accumulate-leaf-weights.ts +17 -0
  76. package/src/lib/create-weekly-report/utils/custom-to-fixed.ts +9 -0
  77. package/src/lib/create-weekly-report/utils/fetch-farms-for-week.ts +30 -0
  78. package/src/lib/create-weekly-report/utils/from-bigint.ts +12 -0
  79. package/src/lib/create-weekly-report/utils/greater-than-max-deviation.ts +9 -0
  80. package/src/lib/create-weekly-report/utils/hashLeaf.ts +20 -0
  81. package/src/lib/create-weekly-report/utils/multiply-bigInt-by-decimal-percentage.ts +15 -0
  82. package/src/lib/create-weekly-report/utils/to-bigint.ts +16 -0
  83. package/src/utils/custom-to-fixed.ts +9 -0
  84. package/src/utils/greater-than-max-deviation.ts +9 -0
  85. package/src/utils/hash-leaf.ts +22 -0
  86. package/tsconfig.json +2 -2
  87. package/dist/cjs/types/GCAAndServerUrl.d.ts +0 -5
  88. package/dist/cjs/types/index.d.ts +0 -14
  89. package/dist/esm/types/GCAAndServerUrl.d.ts +0 -5
  90. package/dist/esm/types/index.d.ts +0 -14
  91. package/src/types/AuditInherited.ts +0 -3
  92. package/src/types/Device.ts +0 -3
  93. package/src/types/DuplicatedButPastAuditCompleted.ts +0 -4
  94. package/src/types/Farm.ts +0 -22
  95. package/src/types/GCAAndServerUrl.ts +0 -5
  96. package/src/types/GetEquipmentDataHandlerParams.ts +0 -3
  97. package/src/types/PayoutWalletAndSplit.ts +0 -5
  98. package/src/types/PayoutWalletAndSplitWithRewardSplits.ts +0 -6
  99. package/src/types/index.ts +0 -14
  100. package/src/types/stashed-Farm.ts +0 -22
  101. /package/dist/cjs/{types → lib/create-weekly-report/types}/AuditCompleted.d.ts +0 -0
  102. /package/dist/cjs/{types → lib/create-weekly-report/types}/AuditInherited.d.ts +0 -0
  103. /package/dist/cjs/{types → lib/create-weekly-report/types}/Device.d.ts +0 -0
  104. /package/dist/cjs/{types → lib/create-weekly-report/types}/DuplicatedButPastAuditCompleted.d.ts +0 -0
  105. /package/dist/cjs/{types → lib/create-weekly-report/types}/Farm.d.ts +0 -0
  106. /package/dist/cjs/{types → lib/create-weekly-report/types}/FarmStatus.d.ts +0 -0
  107. /package/dist/cjs/{types → lib/create-weekly-report/types}/GCAServerResponse.d.ts +0 -0
  108. /package/dist/cjs/{types → lib/create-weekly-report/types}/GetEquipmentDataHandlerParams.d.ts +0 -0
  109. /package/dist/cjs/{types → lib/create-weekly-report/types}/PayoutWalletAndSplit.d.ts +0 -0
  110. /package/dist/cjs/{types → lib/create-weekly-report/types}/PayoutWalletAndSplitWithRewardSplits.d.ts +0 -0
  111. /package/dist/cjs/{types/RewardSplit.d.ts → lib/create-weekly-report/types/RewardSplit copy.d.ts} +0 -0
  112. /package/dist/{esm → cjs/lib/create-weekly-report}/types/RewardSplit.d.ts +0 -0
  113. /package/dist/cjs/{types/RewardSplits.d.ts → lib/create-weekly-report/types/RewardSplits copy.d.ts} +0 -0
  114. /package/dist/{esm → cjs/lib/create-weekly-report}/types/RewardSplits.d.ts +0 -0
  115. /package/dist/cjs/{types → lib/create-weekly-report/types}/SlotRange.d.ts +0 -0
  116. /package/dist/cjs/{types → lib/create-weekly-report/types}/WeekAndSlotRange.d.ts +0 -0
  117. /package/dist/cjs/{types → lib/create-weekly-report/types}/stashed-Farm.d.ts +0 -0
  118. /package/dist/esm/{types → lib/create-weekly-report/types}/AuditCompleted.d.ts +0 -0
  119. /package/dist/esm/{types → lib/create-weekly-report/types}/AuditInherited.d.ts +0 -0
  120. /package/dist/esm/{types → lib/create-weekly-report/types}/Device.d.ts +0 -0
  121. /package/dist/esm/{types → lib/create-weekly-report/types}/DuplicatedButPastAuditCompleted.d.ts +0 -0
  122. /package/dist/esm/{types → lib/create-weekly-report/types}/Farm.d.ts +0 -0
  123. /package/dist/esm/{types → lib/create-weekly-report/types}/FarmStatus.d.ts +0 -0
  124. /package/dist/esm/{types → lib/create-weekly-report/types}/GCAServerResponse.d.ts +0 -0
  125. /package/dist/esm/{types → lib/create-weekly-report/types}/GetEquipmentDataHandlerParams.d.ts +0 -0
  126. /package/dist/esm/{types → lib/create-weekly-report/types}/PayoutWalletAndSplit.d.ts +0 -0
  127. /package/dist/esm/{types → lib/create-weekly-report/types}/PayoutWalletAndSplitWithRewardSplits.d.ts +0 -0
  128. /package/dist/esm/{types → lib/create-weekly-report/types}/SlotRange.d.ts +0 -0
  129. /package/dist/esm/{types → lib/create-weekly-report/types}/WeekAndSlotRange.d.ts +0 -0
  130. /package/dist/esm/{types → lib/create-weekly-report/types}/stashed-Farm.d.ts +0 -0
@@ -0,0 +1,73 @@
1
+ import { FinalizedLeaf } from "./types/merkle";
2
+ export type MerkleLeafIntermediary = {
3
+ wallet: string;
4
+ glowWeight: bigint;
5
+ usdgWeight: bigint;
6
+ };
7
+ export type FinalLeaf = {
8
+ wallet: string;
9
+ glowWeight: string;
10
+ usdgWeight: string;
11
+ };
12
+ export type CreateWeeklyReportArgs = {
13
+ week: number;
14
+ gcaUrls: string[];
15
+ apiUrl: string;
16
+ };
17
+ export declare function createWeeklyReport({ week, gcaUrls, apiUrl, }: CreateWeeklyReportArgs): Promise<{
18
+ headlineStats: {
19
+ weekNumber: number;
20
+ totalCreditsProduced: string;
21
+ totalCreditsProducedBN: string;
22
+ totalGlowWeightInFinalized: string;
23
+ totalGlowWeightHuman: string;
24
+ totalUSDGWeightInFinalized: string;
25
+ totalUSDGWeightHuman: string;
26
+ root: string;
27
+ glowWeightDecimals: number;
28
+ usdgWeightDecimals: number;
29
+ };
30
+ finalLeaves: FinalLeaf[];
31
+ farmsWithMerkleProofs: {
32
+ proof: string[];
33
+ wallet: string;
34
+ glowWeight: string;
35
+ usdgWeight: string;
36
+ }[];
37
+ farms: import("./types").Farm[];
38
+ rawData: import("./types").GCAServerResponse;
39
+ } | {
40
+ headlineStats: {
41
+ weekNumber: number;
42
+ totalCreditsProduced: string;
43
+ totalCreditsProducedBN: string;
44
+ totalGlowWeightInFinalized: string;
45
+ totalGlowWeightHuman: string;
46
+ totalUSDGWeightInFinalized: string;
47
+ totalUSDGWeightHuman: string;
48
+ root: string;
49
+ glowWeightDecimals: number;
50
+ usdgWeightDecimals: number;
51
+ };
52
+ finalizedLeaves: FinalizedLeaf[];
53
+ leavesWithProofs: {
54
+ proof: string[];
55
+ wallet: string;
56
+ glowWeight: string;
57
+ usdgWeight: string;
58
+ }[];
59
+ farms: import("./types").Farm[];
60
+ rawData: import("./types").GCAServerResponse;
61
+ shortIdAdjustedList: {
62
+ shortId: string;
63
+ adjustedCredit: string;
64
+ }[];
65
+ creditsDeviationList: {
66
+ shortId: string;
67
+ carbonCreditsProduced: number;
68
+ adjustedWeeklyCarbonCredit: number;
69
+ deviation: number;
70
+ absDeviation: number;
71
+ deviationPercent: number;
72
+ }[];
73
+ }>;
@@ -0,0 +1,40 @@
1
+ export interface AuditSummary {
2
+ address: {
3
+ location: string;
4
+ coordinates: string;
5
+ };
6
+ solarPanels: {
7
+ quantity: number;
8
+ brandAndModel: string;
9
+ warranty: string;
10
+ };
11
+ installationAndOperations: {
12
+ installationDate: string;
13
+ ptoDate: string;
14
+ electricityPrice: string;
15
+ };
16
+ carbonFootprintAndProduction: {
17
+ averageSunlightPerDay: string;
18
+ adjustedWeeklyCarbonCredit: string;
19
+ weeklyTotalCarbonDebt: string;
20
+ netCarbonCreditEarningWeekly: string;
21
+ protocolFees: string;
22
+ systemWattageOutput: string;
23
+ };
24
+ }
25
+ export interface Audit {
26
+ orderIndex: number;
27
+ id: string;
28
+ farmName: string;
29
+ image: string;
30
+ auditDate: string;
31
+ auditorName: string;
32
+ auditorDesc: string;
33
+ auditorImage: string;
34
+ previousShortIds: number[];
35
+ activeShortIds: number[];
36
+ auditDocuments: unknown[];
37
+ preInstallPictures: unknown[];
38
+ afterInstallPictures: unknown[];
39
+ summary: AuditSummary;
40
+ }
@@ -0,0 +1,5 @@
1
+ export interface RewardSplit {
2
+ walletAddress: string;
3
+ glowSplitPercent: number;
4
+ usdgSplitPercent: number;
5
+ }
@@ -0,0 +1,5 @@
1
+ export interface RewardSplit {
2
+ walletAddress: string;
3
+ glowSplitPercent: number;
4
+ usdgSplitPercent: number;
5
+ }
@@ -0,0 +1,2 @@
1
+ import type { RewardSplit } from "./RewardSplit";
2
+ export type RewardSplits = Array<RewardSplit>;
@@ -0,0 +1,2 @@
1
+ import type { RewardSplit } from "./RewardSplit";
2
+ export type RewardSplits = Array<RewardSplit>;
@@ -0,0 +1,7 @@
1
+ export * from "./Audit";
2
+ export * from "./Farm";
3
+ export * from "./GCAServerResponse";
4
+ export * from "./merkle";
5
+ export * from "./RewardSplits";
6
+ export * from "./SlotRange";
7
+ export * from "./FarmStatus";
@@ -0,0 +1,10 @@
1
+ export interface MerkleLeaf {
2
+ wallet: string;
3
+ glowWeight: bigint;
4
+ usdgWeight: bigint;
5
+ }
6
+ export interface FinalizedLeaf {
7
+ wallet: string;
8
+ glowWeight: string;
9
+ usdgWeight: string;
10
+ }
@@ -0,0 +1,2 @@
1
+ import { MerkleLeaf } from "../types/merkle";
2
+ export declare function accumulateLeafWeights(key: string, value: MerkleLeaf, map: Map<string, MerkleLeaf>): void;
@@ -0,0 +1 @@
1
+ export declare function customToFixed(num: number, precision: number): string;
@@ -0,0 +1,12 @@
1
+ import { GCAServerResponse } from "../types/GCAServerResponse";
2
+ import { Farm } from "../types/Farm";
3
+ export interface ApiResponse {
4
+ filteredFarms: Farm[];
5
+ rawData: GCAServerResponse;
6
+ multiplier: number;
7
+ }
8
+ /**
9
+ * Fetches farm data for a given protocol week from the GCA API.
10
+ * @param weekNumber - The protocol week number
11
+ */
12
+ export declare function fetchFarmsForWeek(weekNumber: number, gcaUrls: string[], apiUrl: string): Promise<ApiResponse>;
@@ -0,0 +1,7 @@
1
+ import Decimal from "decimal.js";
2
+ /**
3
+ * Converts a bigint with the specified decimal precision back to a Decimal.
4
+ * @param value - The bigint value
5
+ * @param decimals - Number of decimal places (default: 8)
6
+ */
7
+ export declare function fromBigInt(value: bigint, decimals?: number): Decimal;
@@ -0,0 +1 @@
1
+ export declare function greaterThanMaxDeviation(valA: number, valB: number, maxDeviationPercent: number): boolean;
@@ -0,0 +1,7 @@
1
+ type HashLeafArgs = {
2
+ address: string;
3
+ glowWeight: string;
4
+ usdcWeight: string;
5
+ };
6
+ export declare function hashLeaf({ address, glowWeight, usdcWeight, }: HashLeafArgs): string;
7
+ export {};
@@ -0,0 +1 @@
1
+ export declare function multiplyBigIntByDecimalPercentage(bigInt: bigint, numberOfDecimals: number, percentage: number): bigint;
@@ -0,0 +1,7 @@
1
+ import Decimal from "decimal.js";
2
+ /**
3
+ * Converts a Decimal-like value to bigint with the specified decimal precision, rounding down.
4
+ * @param value - The value to convert (string, number, or Decimal)
5
+ * @param decimals - Number of decimal places (default: 8)
6
+ */
7
+ export declare function toBigInt(value: string | number | Decimal, decimals?: number): bigint;
@@ -0,0 +1 @@
1
+ export declare function customToFixed(num: number, precision: number): string;
@@ -0,0 +1 @@
1
+ export declare function greaterThanMaxDeviation(valA: number, valB: number, maxDeviationPercent: number): boolean;
@@ -0,0 +1,7 @@
1
+ type HashLeafArgs = {
2
+ address: string;
3
+ glowWeight: string;
4
+ usdcWeight: string;
5
+ };
6
+ export declare function hashLeaf({ address, glowWeight, usdcWeight, }: HashLeafArgs): string;
7
+ export {};
package/package.json CHANGED
@@ -1,11 +1,7 @@
1
1
  {
2
2
  "name": "@glowlabs-org/utils",
3
- "version": "0.0.9",
3
+ "version": "0.1.2",
4
4
  "description": "A library containing all typechain types and addresses relating to the glow guarded launch",
5
- "scripts": {
6
- "test": "echo \"Error: no test specified\" && exit 1",
7
- "build": "rollup -c"
8
- },
9
5
  "keywords": [],
10
6
  "author": "",
11
7
  "license": "ISC",
@@ -26,18 +22,26 @@
26
22
  "peerDependencies": {
27
23
  "ethers": "5.x.x",
28
24
  "merkletreejs": "^0.3.11",
29
- "viem": "^2.19.7"
25
+ "viem": "^2.19.7",
26
+ "decimal.js": "^10.4.3"
30
27
  },
31
28
  "devDependencies": {
32
29
  "@rollup/plugin-commonjs": "^26.0.1",
30
+ "@rollup/plugin-json": "^6.1.0",
33
31
  "@rollup/plugin-node-resolve": "^15.2.3",
34
32
  "@types/node": "^20.10.5",
33
+ "axios": "^1.9.0",
34
+ "decimal.js": "^10.4.3",
35
35
  "esbuild": "^0.23.1",
36
- "ethers": "^5.7.2",
36
+ "ethers": "5.7.2",
37
37
  "rollup": "^4.21.0",
38
38
  "rollup-plugin-peer-deps-external": "^2.2.4",
39
39
  "rollup-plugin-typescript2": "^0.36.0",
40
40
  "typescript": "^5.5.4",
41
- "viem": "^2.19.7"
41
+ "viem": "^2.7.16"
42
+ },
43
+ "scripts": {
44
+ "test": "echo \"Error: no test specified\" && exit 1",
45
+ "build": "rollup -c"
42
46
  }
43
- }
47
+ }
package/rollup.config.js CHANGED
@@ -2,6 +2,7 @@ import commonjs from "@rollup/plugin-commonjs";
2
2
  import resolve from "@rollup/plugin-node-resolve";
3
3
  import typescript from "rollup-plugin-typescript2";
4
4
  import peerDepsExternal from "rollup-plugin-peer-deps-external";
5
+ import json from "@rollup/plugin-json";
5
6
 
6
7
  export default {
7
8
  input: "src/index.ts", // Adjust to your entry point
@@ -21,6 +22,7 @@ export default {
21
22
  peerDepsExternal(), // Automatically externalize peer dependencies
22
23
  resolve(), // Resolves node modules
23
24
  commonjs(), // Converts CommonJS modules to ES6
25
+ json(),
24
26
  typescript({ tsconfig: "./tsconfig.json" }), // Handles TypeScript
25
27
  ],
26
28
  };
@@ -0,0 +1,2 @@
1
+ // Numeric string regex: matches valid numbers (digits, optional single dot, digits after dot)
2
+ export const NUMERIC_REGEX = /^(?:\d+\.?\d*|\.\d+)$/;
@@ -0,0 +1,3 @@
1
+ export const HUB_URL = "https://glow.org";
2
+
3
+ export const GCA_URLS = ["http://95.217.194.59:35015"];
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @dev This is actually not as intuitive as it seems.
3
+ * Glow actually has 18 decimals, but glow weight is based on the amount of protocol fees (USDC) that the farm paid
4
+ * Therefore, the weight is based on the amount of USDC that was paid, which has 8 decimals
5
+ */
6
+ export const GLOW_WEIGHT_DECIMAL_PRECISION = 8;
7
+
8
+ /**
9
+ * @dev This is actually not as intuitive as it seems.
10
+ * USDG weight is based on the amount of carbon credits produced, but the max value of a weight is ((2*64)-1) / 5 so we need to choose sensible precision to make sure that number never overflows
11
+ */
12
+ export const USDG_WEIGHT_DECIMAL_PRECISION = 8;
13
+
14
+ export const MAX_WEIGHT: bigint =
15
+ (BigInt(2) ** BigInt(64) - BigInt(1)) / BigInt(5);
package/src/index.ts CHANGED
@@ -1,3 +1,3 @@
1
- export * from "./types/index";
1
+ export * from "./lib/create-weekly-report/types/index";
2
2
  export * from "./constants/index";
3
3
  export { createWeeklyReport } from "./lib/create-weekly-report/index";