@primuslabs/por-client-sdk 0.1.22 → 0.1.24

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 (42) hide show
  1. package/README.md +1 -1
  2. package/dist/client/data_service_client.d.ts +5 -0
  3. package/dist/client/data_service_client.js +1 -0
  4. package/dist/client/data_service_client.js.map +1 -1
  5. package/dist/client/por_client.d.ts +3 -2
  6. package/dist/client/por_client.js +27 -5
  7. package/dist/client/por_client.js.map +1 -1
  8. package/dist/client/zktls_client.js +9 -0
  9. package/dist/client/zktls_client.js.map +1 -1
  10. package/dist/config_schema.d.ts +505 -3
  11. package/dist/config_schema.js +35 -6
  12. package/dist/config_schema.js.map +1 -1
  13. package/dist/datasource/aster.d.ts +4 -0
  14. package/dist/datasource/binance.d.ts +12 -0
  15. package/dist/datasource/bybit.d.ts +2 -0
  16. package/dist/datasource/datasource_manager.d.ts +4 -0
  17. package/dist/datasource/datasource_manager.js +8 -0
  18. package/dist/datasource/datasource_manager.js.map +1 -1
  19. package/dist/datasource/extended.d.ts +2 -0
  20. package/dist/datasource/grvt.d.ts +2 -0
  21. package/dist/datasource/helper.d.ts +3 -2
  22. package/dist/datasource/helper.js +48 -0
  23. package/dist/datasource/helper.js.map +1 -1
  24. package/dist/datasource/hyperliquid.d.ts +2 -0
  25. package/dist/datasource/lighter.d.ts +2 -0
  26. package/dist/datasource/moomoo.d.ts +22 -0
  27. package/dist/datasource/moomoo.js +28 -0
  28. package/dist/datasource/moomoo.js.map +1 -0
  29. package/dist/datasource/okx.d.ts +21 -4
  30. package/dist/datasource/okx.js +27 -13
  31. package/dist/datasource/okx.js.map +1 -1
  32. package/dist/datasource/pacifica.d.ts +2 -0
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.js +1 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/paths.d.ts +22 -0
  37. package/dist/paths.js +63 -0
  38. package/dist/paths.js.map +1 -0
  39. package/dist/scheduler.d.ts +5 -3
  40. package/dist/scheduler.js +18 -9
  41. package/dist/scheduler.js.map +1 -1
  42. package/package.json +3 -2
package/dist/paths.js ADDED
@@ -0,0 +1,63 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import isDocker from 'is-docker';
4
+ export const getRootDir = () => {
5
+ return isDocker() ? '/app' : ".";
6
+ };
7
+ export const getConfigFilePath = () => {
8
+ if (process.env.CONFIG_FILE_PATH) {
9
+ return process.env.CONFIG_FILE_PATH;
10
+ }
11
+ return path.join(getRootDir(), '.config.yml');
12
+ };
13
+ export const getCacheDir = () => {
14
+ if (process.env.CACHE_DIR) {
15
+ return process.env.CACHE_DIR;
16
+ }
17
+ return isDocker() ? '/app/.cache' : './.cache';
18
+ };
19
+ export const getStateFilePath = () => {
20
+ if (process.env.STATE_FILE_PATH) {
21
+ return process.env.STATE_FILE_PATH;
22
+ }
23
+ return path.join(getCacheDir(), 'state.json');
24
+ };
25
+ export const getRequestDataDir = () => {
26
+ if (process.env.REQUEST_DATA_DIR) {
27
+ return process.env.REQUEST_DATA_DIR;
28
+ }
29
+ return isDocker() ? '/app/request_data' : './request_data';
30
+ };
31
+ export const ensureDirectory = (dirPath) => {
32
+ if (!fs.existsSync(dirPath)) {
33
+ fs.mkdirSync(dirPath, { recursive: true });
34
+ }
35
+ return dirPath;
36
+ };
37
+ export const ensureFile = (filePath) => {
38
+ const dir = path.dirname(filePath);
39
+ ensureDirectory(dir);
40
+ if (!fs.existsSync(filePath)) {
41
+ fs.writeFileSync(filePath, '');
42
+ }
43
+ return filePath;
44
+ };
45
+ export const initializePaths = () => {
46
+ const paths = {
47
+ configFilePath: getConfigFilePath(),
48
+ cacheDir: getCacheDir(),
49
+ stateFilePath: getStateFilePath(),
50
+ requestDataDir: getRequestDataDir(),
51
+ isDocker: isDocker()
52
+ };
53
+ ensureDirectory(paths.cacheDir);
54
+ ensureFile(paths.stateFilePath);
55
+ console.log(` Is Docker: ${paths.isDocker}`);
56
+ console.log(` Config File: ${paths.configFilePath}`);
57
+ console.log(` State File: ${paths.stateFilePath}`);
58
+ console.log(` Request Data Dir: ${paths.requestDataDir}`);
59
+ return paths;
60
+ };
61
+ export const paths = initializePaths();
62
+ export default paths;
63
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- type JobFn = () => Promise<void>;
1
+ type JobFn = (scheduler: Scheduler) => Promise<void>;
2
2
  interface SchedulerOptions {
3
3
  intervalMs: number;
4
4
  shouldStop?: (err: any) => boolean;
@@ -6,13 +6,15 @@ interface SchedulerOptions {
6
6
  stateFile?: string;
7
7
  }
8
8
  export declare class Scheduler {
9
- private job;
9
+ private jobFn;
10
10
  private opts;
11
11
  private stopped;
12
12
  private lastSigintTime;
13
13
  private sigintCount;
14
+ private intervalMs;
14
15
  private stateFile?;
15
- constructor(job: JobFn, opts: SchedulerOptions);
16
+ constructor(jobFn: JobFn, opts: SchedulerOptions);
17
+ updateInterval(newInterval: number): void;
16
18
  stop(signal?: string): void;
17
19
  start(): Promise<void>;
18
20
  }
package/dist/scheduler.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { sleepMs } from "./utils.js";
2
2
  import fs from "fs";
3
3
  import path from "path";
4
+ import paths from "./paths.js";
4
5
  function readState(file) {
5
6
  try {
6
7
  if (!fs.existsSync(file))
@@ -23,21 +24,29 @@ function writeState(file, state) {
23
24
  }
24
25
  }
25
26
  export class Scheduler {
26
- job;
27
+ jobFn;
27
28
  opts;
28
29
  stopped = false;
29
30
  lastSigintTime = 0;
30
31
  sigintCount = 0;
32
+ intervalMs; // ms
31
33
  stateFile;
32
- constructor(job, opts) {
33
- this.job = job;
34
+ constructor(jobFn, opts) {
35
+ this.jobFn = jobFn;
34
36
  this.opts = opts;
35
37
  if (!this.opts.stopMode)
36
38
  this.opts.stopMode = "delayed";
37
- this.stateFile = opts.stateFile;
39
+ this.stateFile = opts.stateFile ?? paths.stateFilePath;
40
+ this.intervalMs = opts.intervalMs;
38
41
  process.on("SIGTERM", () => this.stop("SIGTERM"));
39
42
  process.on("SIGINT", () => this.stop("SIGINT"));
40
43
  }
44
+ updateInterval(newInterval) {
45
+ if (newInterval !== this.intervalMs) {
46
+ this.intervalMs = newInterval;
47
+ console.log(`Interval updated to ${this.intervalMs} ms`);
48
+ }
49
+ }
41
50
  stop(signal) {
42
51
  if (signal && signal !== "SIGINT") {
43
52
  console.log(`🛑 Received ${signal}.`);
@@ -56,13 +65,12 @@ export class Scheduler {
56
65
  this.stopped = true;
57
66
  }
58
67
  async start() {
59
- const { intervalMs } = this.opts;
60
- console.log(`Start Scheduler at ${new Date().toISOString()} with job interval: ${intervalMs} (ms)`);
68
+ console.log(`Start Scheduler at ${new Date().toISOString()} with job interval: ${this.intervalMs} ms`);
61
69
  if (this.stateFile) {
62
70
  const state = readState(this.stateFile);
63
71
  if (state?.lastStartedAt) {
64
72
  const elapsed = Date.now() - state.lastStartedAt;
65
- const delay = intervalMs - elapsed;
73
+ const delay = this.intervalMs - elapsed;
66
74
  if (delay > 0) {
67
75
  console.log(`⏳ Recovering schedule, wait the next in ${delay / 1000.0} s`);
68
76
  await sleepMs(delay);
@@ -77,14 +85,15 @@ export class Scheduler {
77
85
  console.log("🚀 job start", new Date(startedAt).toISOString());
78
86
  let shouldStop = false;
79
87
  try {
80
- await this.job();
88
+ await this.jobFn(this);
81
89
  }
82
90
  catch (err) {
91
+ console.log("job error:", err);
83
92
  shouldStop = this.opts.shouldStop?.(err) ?? false;
84
93
  }
85
94
  console.log("✅ job done", new Date().toISOString());
86
95
  const elapsedMs = Date.now() - startedAt;
87
- const delayMs = Math.max(0, intervalMs - elapsedMs);
96
+ const delayMs = Math.max(0, this.intervalMs - elapsedMs);
88
97
  if (shouldStop && this.opts.stopMode === "immediate") {
89
98
  console.log("🔁 stop immediately due to error");
90
99
  this.stopped = true;
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primuslabs/por-client-sdk",
3
- "version": "0.1.22",
3
+ "version": "0.1.24",
4
4
  "author": "Primus Labs <dev@primuslabs.org>",
5
5
  "description": "Primus PoR client sdk",
6
6
  "license": "ISC",
@@ -33,6 +33,7 @@
33
33
  "dotenv": "^16.3.1",
34
34
  "ethers": "^5.7.2",
35
35
  "form-data": "^4.0.4",
36
+ "is-docker": "^4.0.0",
36
37
  "js-yaml": "^4.1.1",
37
38
  "undici": "^7.16.0",
38
39
  "uuid": "^13.0.0",
@@ -42,9 +43,9 @@
42
43
  "@types/jest": "^30.0.0",
43
44
  "@types/js-yaml": "^4.0.9",
44
45
  "@types/node": "^24.10.2",
45
- "tsx": "^4.21.0",
46
46
  "ts-jest": "^29.4.6",
47
47
  "ts-node": "^10.9.2",
48
+ "tsx": "^4.21.0",
48
49
  "typescript": "^5.9.3"
49
50
  }
50
51
  }