@render-foundation/utils 0.0.179 → 0.0.180

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 (110) hide show
  1. package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
  2. package/package.json +1 -1
  3. package/lib/cjs/backfiller.js +0 -895
  4. package/lib/cjs/backfiller.js.map +0 -1
  5. package/lib/cjs/client/onchain.js +0 -132
  6. package/lib/cjs/client/onchain.js.map +0 -1
  7. package/lib/cjs/client/pg/base.js +0 -198
  8. package/lib/cjs/client/pg/base.js.map +0 -1
  9. package/lib/cjs/client/pg/v1.js +0 -623
  10. package/lib/cjs/client/pg/v1.js.map +0 -1
  11. package/lib/cjs/client/pg/v2Client.js +0 -1584
  12. package/lib/cjs/client/pg/v2Client.js.map +0 -1
  13. package/lib/cjs/client/pg/viewClient.js +0 -107
  14. package/lib/cjs/client/pg/viewClient.js.map +0 -1
  15. package/lib/cjs/client/price.js +0 -63
  16. package/lib/cjs/client/price.js.map +0 -1
  17. package/lib/cjs/client/render.js +0 -173
  18. package/lib/cjs/client/render.js.map +0 -1
  19. package/lib/cjs/client/squads.js +0 -204
  20. package/lib/cjs/client/squads.js.map +0 -1
  21. package/lib/cjs/client/trade.js +0 -235
  22. package/lib/cjs/client/trade.js.map +0 -1
  23. package/lib/cjs/client/wormhole.js +0 -69
  24. package/lib/cjs/client/wormhole.js.map +0 -1
  25. package/lib/cjs/constants.js +0 -46
  26. package/lib/cjs/constants.js.map +0 -1
  27. package/lib/cjs/dbTypes.js +0 -3
  28. package/lib/cjs/dbTypes.js.map +0 -1
  29. package/lib/cjs/dbTypesV2.js +0 -3
  30. package/lib/cjs/dbTypesV2.js.map +0 -1
  31. package/lib/cjs/dbViewTypes.js +0 -3
  32. package/lib/cjs/dbViewTypes.js.map +0 -1
  33. package/lib/cjs/errorReporter.js +0 -126
  34. package/lib/cjs/errorReporter.js.map +0 -1
  35. package/lib/cjs/index.js +0 -44
  36. package/lib/cjs/index.js.map +0 -1
  37. package/lib/cjs/logger.js +0 -21
  38. package/lib/cjs/logger.js.map +0 -1
  39. package/lib/esm/src/backfiller.js +0 -850
  40. package/lib/esm/src/backfiller.js.map +0 -1
  41. package/lib/esm/src/client/onchain.js +0 -122
  42. package/lib/esm/src/client/onchain.js.map +0 -1
  43. package/lib/esm/src/client/pg/base.js +0 -162
  44. package/lib/esm/src/client/pg/base.js.map +0 -1
  45. package/lib/esm/src/client/pg/v1.js +0 -559
  46. package/lib/esm/src/client/pg/v1.js.map +0 -1
  47. package/lib/esm/src/client/pg/v2Client.js +0 -1465
  48. package/lib/esm/src/client/pg/v2Client.js.map +0 -1
  49. package/lib/esm/src/client/pg/viewClient.js +0 -91
  50. package/lib/esm/src/client/pg/viewClient.js.map +0 -1
  51. package/lib/esm/src/client/price.js +0 -41
  52. package/lib/esm/src/client/price.js.map +0 -1
  53. package/lib/esm/src/client/render.js +0 -147
  54. package/lib/esm/src/client/render.js.map +0 -1
  55. package/lib/esm/src/client/squads.js +0 -163
  56. package/lib/esm/src/client/squads.js.map +0 -1
  57. package/lib/esm/src/client/trade.js +0 -219
  58. package/lib/esm/src/client/trade.js.map +0 -1
  59. package/lib/esm/src/client/wormhole.js +0 -33
  60. package/lib/esm/src/client/wormhole.js.map +0 -1
  61. package/lib/esm/src/constants.js +0 -43
  62. package/lib/esm/src/constants.js.map +0 -1
  63. package/lib/esm/src/dbTypes.js +0 -2
  64. package/lib/esm/src/dbTypes.js.map +0 -1
  65. package/lib/esm/src/dbTypesV2.js +0 -2
  66. package/lib/esm/src/dbTypesV2.js.map +0 -1
  67. package/lib/esm/src/dbViewTypes.js +0 -2
  68. package/lib/esm/src/dbViewTypes.js.map +0 -1
  69. package/lib/esm/src/errorReporter.js +0 -117
  70. package/lib/esm/src/errorReporter.js.map +0 -1
  71. package/lib/esm/src/index.js +0 -15
  72. package/lib/esm/src/index.js.map +0 -1
  73. package/lib/esm/src/logger.js +0 -18
  74. package/lib/esm/src/logger.js.map +0 -1
  75. package/lib/types/src/backfiller.d.ts +0 -62
  76. package/lib/types/src/backfiller.d.ts.map +0 -1
  77. package/lib/types/src/client/onchain.d.ts +0 -24
  78. package/lib/types/src/client/onchain.d.ts.map +0 -1
  79. package/lib/types/src/client/pg/base.d.ts +0 -82
  80. package/lib/types/src/client/pg/base.d.ts.map +0 -1
  81. package/lib/types/src/client/pg/v1.d.ts +0 -137
  82. package/lib/types/src/client/pg/v1.d.ts.map +0 -1
  83. package/lib/types/src/client/pg/v2Client.d.ts +0 -309
  84. package/lib/types/src/client/pg/v2Client.d.ts.map +0 -1
  85. package/lib/types/src/client/pg/viewClient.d.ts +0 -55
  86. package/lib/types/src/client/pg/viewClient.d.ts.map +0 -1
  87. package/lib/types/src/client/price.d.ts +0 -12
  88. package/lib/types/src/client/price.d.ts.map +0 -1
  89. package/lib/types/src/client/render.d.ts +0 -24
  90. package/lib/types/src/client/render.d.ts.map +0 -1
  91. package/lib/types/src/client/squads.d.ts +0 -17
  92. package/lib/types/src/client/squads.d.ts.map +0 -1
  93. package/lib/types/src/client/trade.d.ts +0 -24
  94. package/lib/types/src/client/trade.d.ts.map +0 -1
  95. package/lib/types/src/client/wormhole.d.ts +0 -9
  96. package/lib/types/src/client/wormhole.d.ts.map +0 -1
  97. package/lib/types/src/constants.d.ts +0 -41
  98. package/lib/types/src/constants.d.ts.map +0 -1
  99. package/lib/types/src/dbTypes.d.ts +0 -123
  100. package/lib/types/src/dbTypes.d.ts.map +0 -1
  101. package/lib/types/src/dbTypesV2.d.ts +0 -193
  102. package/lib/types/src/dbTypesV2.d.ts.map +0 -1
  103. package/lib/types/src/dbViewTypes.d.ts +0 -35
  104. package/lib/types/src/dbViewTypes.d.ts.map +0 -1
  105. package/lib/types/src/errorReporter.d.ts +0 -13
  106. package/lib/types/src/errorReporter.d.ts.map +0 -1
  107. package/lib/types/src/index.d.ts +0 -15
  108. package/lib/types/src/index.d.ts.map +0 -1
  109. package/lib/types/src/logger.d.ts +0 -16
  110. package/lib/types/src/logger.d.ts.map +0 -1
@@ -1,126 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.errorReporter = void 0;
13
- const pdjs_1 = require("@pagerduty/pdjs");
14
- const web_api_1 = require("@slack/web-api");
15
- const logger_1 = require("./logger");
16
- const errorReporter = (pdApiKey, slackToken, channel, log = logger_1.consoleLogger) => {
17
- const pd = (0, pdjs_1.api)({ token: pdApiKey });
18
- const client = new web_api_1.WebClient(slackToken);
19
- const sendSlackMessage = (message, channel) => __awaiter(void 0, void 0, void 0, function* () {
20
- return new Promise((resolve, reject) => __awaiter(void 0, void 0, void 0, function* () {
21
- try {
22
- const resp = yield client.chat.postMessage({
23
- //blocks: message,
24
- text: message,
25
- channel,
26
- });
27
- if (resp.errors) {
28
- return reject(new Error(`err sending slack msg: ${resp.errors.join(';')}`));
29
- }
30
- if (resp.error) {
31
- return reject(new Error(`err sending slack msg: ${resp.error}`));
32
- }
33
- log.debug(`sent slack msg ${JSON.stringify(resp.message)}`);
34
- return resolve(true);
35
- }
36
- catch (error) {
37
- log.error(`exc sending slack msg ${JSON.stringify(error)}`);
38
- return resolve(true);
39
- }
40
- }));
41
- });
42
- const getIncidentId = (key) => __awaiter(void 0, void 0, void 0, function* () {
43
- const res = yield pd.get('/incidents', {
44
- headers: {
45
- From: 'alex@renderfoundation.com',
46
- },
47
- queryParameters: { incident_key: key },
48
- });
49
- if (res.data.incidents.length == 0) {
50
- log.error(`no incident with key ${key} found`);
51
- return;
52
- }
53
- if (res.data.incidents.length > 1) {
54
- log.error(`multiple incidents with key ${key} found: ${JSON.stringify(res.data.incidents)}`);
55
- return;
56
- }
57
- return res.data.incidents[0].id;
58
- });
59
- return {
60
- report(f) {
61
- var _a, _b;
62
- return __awaiter(this, void 0, void 0, function* () {
63
- for (const t of f.targets) {
64
- if (t == 'slack') {
65
- yield sendSlackMessage(f.msg, channel);
66
- }
67
- else {
68
- let res;
69
- if (f.id && f.status == 'resolve') {
70
- const id = yield getIncidentId(f.id);
71
- res = yield pd.put(`/incidents/${id}`, {
72
- headers: {
73
- From: 'alex@renderfoundation.com',
74
- },
75
- data: {
76
- incident: {
77
- type: 'incident',
78
- status: 'resolved',
79
- },
80
- },
81
- });
82
- }
83
- else if (f.id && f.status == 'update') {
84
- const id = yield getIncidentId(f.id);
85
- res = yield pd.put(`/incidents/${id}`, {
86
- headers: {
87
- From: 'alex@renderfoundation.com',
88
- },
89
- data: {
90
- incident: {
91
- type: 'incident',
92
- title: f.msg,
93
- },
94
- },
95
- });
96
- }
97
- else {
98
- const opt = f.id ? { incident_key: f.id } : {};
99
- log.debug(`creating incident ${f.id}`);
100
- res = yield pd.post('/incidents', {
101
- headers: {
102
- From: 'alex@renderfoundation.com',
103
- },
104
- data: {
105
- incident: Object.assign(Object.assign({}, opt), { type: 'incident', title: (_a = f.title) !== null && _a !== void 0 ? _a : ``, service: {
106
- id: 'PZPJ8EI',
107
- type: 'service_reference',
108
- }, urgency: 'high', body: {
109
- type: 'incident_body',
110
- details: (_b = f.msg) !== null && _b !== void 0 ? _b : ``,
111
- } }),
112
- },
113
- });
114
- }
115
- log.debug(`pd resp ${JSON.stringify(res.data)}`);
116
- if (res.data.error) {
117
- log.error(`pd err ${JSON.stringify(res.data.error)}`);
118
- }
119
- }
120
- }
121
- });
122
- },
123
- };
124
- };
125
- exports.errorReporter = errorReporter;
126
- //# sourceMappingURL=errorReporter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errorReporter.js","sourceRoot":"","sources":["../../src/errorReporter.ts"],"names":[],"mappings":"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"}
package/lib/cjs/index.js DELETED
@@ -1,44 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
- };
21
- var __importStar = (this && this.__importStar) || function (mod) {
22
- if (mod && mod.__esModule) return mod;
23
- var result = {};
24
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
- __setModuleDefault(result, mod);
26
- return result;
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.v1 = exports.pgv2Client = void 0;
30
- __exportStar(require("./client/wormhole"), exports);
31
- exports.pgv2Client = __importStar(require("./client/pg/v2Client"));
32
- __exportStar(require("./client/pg/viewClient"), exports);
33
- exports.v1 = __importStar(require("./client/pg/v1"));
34
- __exportStar(require("./client/pg/base"), exports);
35
- __exportStar(require("./client/render"), exports);
36
- __exportStar(require("./client/squads"), exports);
37
- __exportStar(require("./logger"), exports);
38
- __exportStar(require("./errorReporter"), exports);
39
- __exportStar(require("./client/price"), exports);
40
- __exportStar(require("./client/trade"), exports);
41
- __exportStar(require("./client/onchain"), exports);
42
- __exportStar(require("./constants"), exports);
43
- __exportStar(require("./backfiller"), exports);
44
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAiC;AACjC,mEAAkD;AAClD,yDAAsC;AACtC,qDAAoC;AACpC,mDAAgC;AAChC,kDAA+B;AAC/B,kDAA+B;AAC/B,2CAAwB;AACxB,kDAA+B;AAC/B,iDAA8B;AAC9B,iDAA8B;AAC9B,mDAAgC;AAChC,8CAA2B;AAC3B,+CAA4B"}
package/lib/cjs/logger.js DELETED
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.consoleLogger = void 0;
4
- class ConsoleLogger {
5
- constructor() {
6
- }
7
- debug(msg) {
8
- console.log(msg);
9
- }
10
- info(msg) {
11
- console.log(msg);
12
- }
13
- error(msg) {
14
- console.error(msg);
15
- }
16
- warn(msg) {
17
- console.warn(msg);
18
- }
19
- }
20
- exports.consoleLogger = new ConsoleLogger();
21
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":";;;AAUA,MAAM,aAAa;IACjB;IACA,CAAC;IAED,KAAK,CAAC,GAAW;QACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC;IAED,IAAI,CAAC,GAAW;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,GAAW;QACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC;IAED,IAAI,CAAC,GAAW;QACd,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC;CACF;AAEY,QAAA,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA"}