dexbot 1.6.1 → 1.6.3
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.
- package/CHANGELOG.md +34 -0
- package/analysis/README.md +2 -2
- package/analysis/ama_fitting/package.json +1 -1
- package/analysis/grid_correction_check.ts +80 -7
- package/analysis/results/ama_sweep_results_lp_pool_133_1h.json +2455 -0
- package/analysis/results/bot_fitting_results_lp_pool_133_1h.json +218 -0
- package/analysis/tradingview/h-bts_tradingview.html +1570 -0
- package/analysis/tradingview/t-bts_tradingview.html +1570 -0
- package/analysis/tradingview/tradingview_uplot_chart_generator.ts +19 -5
- package/analysis/trend_detection/package.json +1 -1
- package/claw/package.json +1 -1
- package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
- package/claw/runtimes/openclaw-plugin/package.json +1 -1
- package/claw/tests/test_claw_mcp_transport.ts +2 -2
- package/dist/analysis/grid_correction_check.d.ts +5 -1
- package/dist/analysis/grid_correction_check.d.ts.map +1 -1
- package/dist/analysis/grid_correction_check.js +81 -7
- package/dist/analysis/grid_correction_check.js.map +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts.map +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js +19 -5
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js.map +1 -1
- package/dist/market_adapter/inputs/fetch_book_data.js +2 -2
- package/dist/market_adapter/inputs/fetch_book_data.js.map +1 -1
- package/dist/market_adapter/inputs/fetch_lp_data.d.ts +22 -3
- package/dist/market_adapter/inputs/fetch_lp_data.d.ts.map +1 -1
- package/dist/market_adapter/inputs/fetch_lp_data.js +15 -15
- package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -1
- package/dist/market_adapter/inputs/kibana_feed_source.js +2 -2
- package/dist/market_adapter/inputs/kibana_feed_source.js.map +1 -1
- package/dist/market_adapter/inputs/window_cache.d.ts +54 -8
- package/dist/market_adapter/inputs/window_cache.d.ts.map +1 -1
- package/dist/market_adapter/inputs/window_cache.js +328 -87
- package/dist/market_adapter/inputs/window_cache.js.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.d.ts +1 -1
- package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.js +18 -4
- package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
- package/dist/modules/bitshares_client.d.ts.map +1 -1
- package/dist/modules/bitshares_client.js +10 -0
- package/dist/modules/bitshares_client.js.map +1 -1
- package/dist/modules/constants.d.ts +7 -3
- package/dist/modules/constants.d.ts.map +1 -1
- package/dist/modules/constants.js +44 -20
- package/dist/modules/constants.js.map +1 -1
- package/dist/modules/credit_runtime.d.ts.map +1 -1
- package/dist/modules/credit_runtime.js +24 -6
- package/dist/modules/credit_runtime.js.map +1 -1
- package/dist/modules/dexbot_class.d.ts +32 -7
- package/dist/modules/dexbot_class.d.ts.map +1 -1
- package/dist/modules/dexbot_class.js +55 -11
- package/dist/modules/dexbot_class.js.map +1 -1
- package/dist/modules/dexbot_cow_runtime.d.ts +137 -7
- package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_cow_runtime.js +955 -45
- package/dist/modules/dexbot_cow_runtime.js.map +1 -1
- package/dist/modules/dexbot_fill_runtime.d.ts +28 -1
- package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_fill_runtime.js +116 -3
- package/dist/modules/dexbot_fill_runtime.js.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.d.ts +46 -0
- package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.js +193 -6
- package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
- package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_startup_runtime.js +6 -1
- package/dist/modules/dexbot_startup_runtime.js.map +1 -1
- package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
- package/dist/modules/dexbot_state_recovery.js +16 -3
- package/dist/modules/dexbot_state_recovery.js.map +1 -1
- package/dist/modules/order/grid.d.ts +3 -1
- package/dist/modules/order/grid.d.ts.map +1 -1
- package/dist/modules/order/grid.js +47 -6
- package/dist/modules/order/grid.js.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.js +39 -4
- package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
- package/dist/modules/order/manager.d.ts.map +1 -1
- package/dist/modules/order/manager.js +3 -1
- package/dist/modules/order/manager.js.map +1 -1
- package/dist/modules/order/sync_engine.d.ts.map +1 -1
- package/dist/modules/order/sync_engine.js +200 -15
- package/dist/modules/order/sync_engine.js.map +1 -1
- package/dist/modules/order/utils/math.d.ts +60 -14
- package/dist/modules/order/utils/math.d.ts.map +1 -1
- package/dist/modules/order/utils/math.js +87 -20
- package/dist/modules/order/utils/math.js.map +1 -1
- package/dist/modules/order/utils/order.d.ts +95 -7
- package/dist/modules/order/utils/order.d.ts.map +1 -1
- package/dist/modules/order/utils/order.js +277 -15
- package/dist/modules/order/utils/order.js.map +1 -1
- package/dist/modules/utils/errors.d.ts +22 -0
- package/dist/modules/utils/errors.d.ts.map +1 -1
- package/dist/modules/utils/errors.js +30 -0
- package/dist/modules/utils/errors.js.map +1 -1
- package/docs/COPY_ON_WRITE_MASTER_PLAN.md +1 -1
- package/docs/DEXBOT_COMPARISON.md +3 -7
- package/docs/EVOLUTION.md +9 -7
- package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +4 -9
- package/docs/LIFECYCLE.md +2 -2
- package/docs/README.md +9 -1
- package/docs/architecture.md +7 -7
- package/docs/developer_guide.md +4 -4
- package/market_adapter/README.md +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
declare const TAIL_REFRESH_HOURS = 48;
|
|
2
2
|
declare const IMMUTABLE_WINDOW_AGE_MS: number;
|
|
3
|
-
declare function
|
|
4
|
-
declare function
|
|
3
|
+
declare function shardKeyForTimestamp(tsMs: any): string;
|
|
4
|
+
declare function shardBoundsForKey(key: any): {
|
|
5
|
+
start: number;
|
|
6
|
+
end: number;
|
|
7
|
+
};
|
|
8
|
+
declare function shardKeysForRange(gteMs: any, lteMs: any): string[];
|
|
9
|
+
declare function shardPathFor(outPath: any, shardKey: any): string;
|
|
5
10
|
declare function readCacheChunk(chunkFile: any, requestKey: any, isMatch: (meta: any, requestKey: any) => boolean): {
|
|
6
11
|
candles: any;
|
|
7
12
|
fetchedAt: any;
|
|
@@ -10,8 +15,10 @@ declare function readCacheChunk(chunkFile: any, requestKey: any, isMatch: (meta:
|
|
|
10
15
|
rangeLte: number | null;
|
|
11
16
|
queried: any;
|
|
12
17
|
} | null;
|
|
13
|
-
declare function
|
|
14
|
-
|
|
18
|
+
declare function loadBucketCache(outPath: any, requestKey: any, isMatch: (meta: any, requestKey: any) => boolean, range?: {
|
|
19
|
+
gte: number;
|
|
20
|
+
lte: number;
|
|
21
|
+
} | null): {
|
|
15
22
|
byTs: Map<any, any>;
|
|
16
23
|
files: number;
|
|
17
24
|
fileCover: {
|
|
@@ -23,8 +30,39 @@ declare function loadBucketCache(outPath: any, requestKey: any, isMatch: (meta:
|
|
|
23
30
|
lte: number;
|
|
24
31
|
}[];
|
|
25
32
|
}[];
|
|
33
|
+
legacy: {
|
|
34
|
+
file: string;
|
|
35
|
+
candles: any[];
|
|
36
|
+
queried: {
|
|
37
|
+
gte: number;
|
|
38
|
+
lte: number;
|
|
39
|
+
}[];
|
|
40
|
+
}[];
|
|
41
|
+
shards: {
|
|
42
|
+
file: string;
|
|
43
|
+
shardKey: string;
|
|
44
|
+
candles: any[];
|
|
45
|
+
queried: {
|
|
46
|
+
gte: number;
|
|
47
|
+
lte: number;
|
|
48
|
+
}[];
|
|
49
|
+
}[];
|
|
26
50
|
};
|
|
27
51
|
declare function cachedCandlesInRange(localCache: any, gteMs: number, lteMs: number): any[];
|
|
52
|
+
declare function unionQueriedRanges(ranges: {
|
|
53
|
+
gte: number;
|
|
54
|
+
lte: number;
|
|
55
|
+
}[], bucketMs: number): {
|
|
56
|
+
gte: number;
|
|
57
|
+
lte: number;
|
|
58
|
+
}[];
|
|
59
|
+
declare function rangesCoveredBy(have: {
|
|
60
|
+
gte: number;
|
|
61
|
+
lte: number;
|
|
62
|
+
}[], want: {
|
|
63
|
+
gte: number;
|
|
64
|
+
lte: number;
|
|
65
|
+
}[]): boolean;
|
|
28
66
|
declare function addUtcMonths(date: any, months: any): Date;
|
|
29
67
|
declare function normalizeDateInput(raw: any, label: any): Date;
|
|
30
68
|
declare function buildFetchWindowsFromRange(timeRange: any, chunkMonths: any): any[];
|
|
@@ -51,7 +89,6 @@ declare function pruneImmutableGaps(missing: {
|
|
|
51
89
|
hours: number;
|
|
52
90
|
}[];
|
|
53
91
|
declare function persistCacheChunk(chunkFile: any, meta: any, candles: any): void;
|
|
54
|
-
declare function cleanupOrphanCacheChunks(outPath: any, requestKey: any, isMatch: (meta: any, requestKey: any) => boolean, activeFiles: Set<string>): string[];
|
|
55
92
|
/**
|
|
56
93
|
* Reuse plan for one window: buckets already on disk + the ranges that still
|
|
57
94
|
* need querying. When `allowSubFetch` is false (data with cross-range state
|
|
@@ -126,8 +163,10 @@ declare function fetchRangeLogged(fetchRange: (gteIso: string, lteIso: string, w
|
|
|
126
163
|
complete: boolean;
|
|
127
164
|
}>;
|
|
128
165
|
/**
|
|
129
|
-
* Run windows with bucket-level reuse. `windows`
|
|
130
|
-
* `{ index, gte, lte
|
|
166
|
+
* Run windows with bucket-level reuse against month-shard storage. `windows`
|
|
167
|
+
* entries are `{ index, gte, lte }` (1-based index, fetch-planning splits —
|
|
168
|
+
* `chunkMonths` controls query batching only, never file layout). Returns
|
|
169
|
+
* merged candles clipped to the requested windows.
|
|
131
170
|
*
|
|
132
171
|
* Fetch policy per window: exact reuse when nothing is missing, sub-range
|
|
133
172
|
* queries merged over local when gaps are small (and `allowSubFetch`), else
|
|
@@ -136,6 +175,13 @@ declare function fetchRangeLogged(fetchRange: (gteIso: string, lteIso: string, w
|
|
|
136
175
|
* fetch reports partial (`{ candles, complete: false }`) is merged into
|
|
137
176
|
* this run's output but NOT persisted, so the missing side is re-queried
|
|
138
177
|
* on the next run instead of being baked in as gap-filled zeros.
|
|
178
|
+
*
|
|
179
|
+
* Persistence is per shard and write-on-change only: a shard file is
|
|
180
|
+
* rewritten solely when it gains buckets or query coverage. Reuse-only runs
|
|
181
|
+
* touch nothing on disk. Legacy `*.chunk_*` files overlapping the run are
|
|
182
|
+
* absorbed (buckets + coverage folded into the shards) and deleted once
|
|
183
|
+
* every one of their buckets provably lives in a shard; disjoint legacy
|
|
184
|
+
* files are never loaded and never deleted.
|
|
139
185
|
*/
|
|
140
186
|
declare function runCachedWindows(opts: {
|
|
141
187
|
windows: any[];
|
|
@@ -162,5 +208,5 @@ declare function runCachedWindows(opts: {
|
|
|
162
208
|
lte: string;
|
|
163
209
|
}) => void;
|
|
164
210
|
}): Promise<any[]>;
|
|
165
|
-
export { TAIL_REFRESH_HOURS, IMMUTABLE_WINDOW_AGE_MS,
|
|
211
|
+
export { TAIL_REFRESH_HOURS, IMMUTABLE_WINDOW_AGE_MS, shardKeyForTimestamp, shardBoundsForKey, shardKeysForRange, shardPathFor, readCacheChunk, loadBucketCache, cachedCandlesInRange, unionQueriedRanges, rangesCoveredBy, addUtcMonths, normalizeDateInput, buildFetchWindowsFromRange, findMissingBucketRanges, pruneImmutableGaps, persistCacheChunk, planWindowReuse, formatWindowLine, fetchRangeLogged, fetchRangeWithRetry, runCachedWindows, };
|
|
166
212
|
//# sourceMappingURL=window_cache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window_cache.d.ts","sourceRoot":"","sources":["../../../market_adapter/inputs/window_cache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"window_cache.d.ts","sourceRoot":"","sources":["../../../market_adapter/inputs/window_cache.ts"],"names":[],"mappings":"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"}
|