@mxpicture/tesla-superchargers-cli 0.1.25 → 0.1.27
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/dist/cli.d.ts +8 -7
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +26 -21
- package/dist/cli.js.map +1 -1
- package/dist/cli.parse.d.ts +1 -1
- package/dist/cli.parse.d.ts.map +1 -1
- package/dist/cli.parse.js +1 -1
- package/dist/cli.parse.js.map +1 -1
- package/dist/cli.run.d.ts +7 -6
- package/dist/cli.run.d.ts.map +1 -1
- package/dist/cli.run.js +15 -10
- package/dist/cli.run.js.map +1 -1
- package/package.json +3 -3
package/dist/cli.d.ts
CHANGED
|
@@ -6,19 +6,20 @@
|
|
|
6
6
|
* database (the `pic_*` tables, see `setup.sql`), fed from the public
|
|
7
7
|
* tesla.com endpoints via `@mxpicture/tesla-superchargers-api`.
|
|
8
8
|
*
|
|
9
|
+
* setup create/upgrade the pic_* tables (idempotent, keeps data)
|
|
9
10
|
* init-slugs wipe + refill pic_slugs from the live map feed
|
|
10
11
|
* init-slugs-file wipe + refill pic_slugs from a json dump
|
|
11
12
|
* sync-slugs snapshot-sync pic_slugs against the live map feed
|
|
12
13
|
* sync-slugs-file snapshot-sync pic_slugs against a json dump
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
14
|
+
* query-slugs list the slug rows near a coordinate
|
|
15
|
+
* fetch-charger resolve the charger at a coordinate (fetches on demand)
|
|
16
|
+
* fetch-prices the prices valid at a coordinate + timestamp
|
|
17
|
+
* query-unpriced-charges list TeslaMate charges without a cost
|
|
18
|
+
* run-unpriced-charges backfill costs from the stored price history
|
|
19
|
+
* query-failures list failing rows across the failure-tracked sources
|
|
19
20
|
* reset-failures clear failure state for a row or a whole source
|
|
20
21
|
* notify-failures Pushover-alert about not-yet-notified failures
|
|
21
|
-
*
|
|
22
|
+
* query-unmatched-invoices list Supercharger charges without an invoice
|
|
22
23
|
* notify-unmatched-invoices Pushover-alert about those charges (once each)
|
|
23
24
|
* schedule daemon: daily pricing + notify (optional slug sync)
|
|
24
25
|
*
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG"}
|
package/dist/cli.js
CHANGED
|
@@ -6,19 +6,20 @@
|
|
|
6
6
|
* database (the `pic_*` tables, see `setup.sql`), fed from the public
|
|
7
7
|
* tesla.com endpoints via `@mxpicture/tesla-superchargers-api`.
|
|
8
8
|
*
|
|
9
|
+
* setup create/upgrade the pic_* tables (idempotent, keeps data)
|
|
9
10
|
* init-slugs wipe + refill pic_slugs from the live map feed
|
|
10
11
|
* init-slugs-file wipe + refill pic_slugs from a json dump
|
|
11
12
|
* sync-slugs snapshot-sync pic_slugs against the live map feed
|
|
12
13
|
* sync-slugs-file snapshot-sync pic_slugs against a json dump
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
14
|
+
* query-slugs list the slug rows near a coordinate
|
|
15
|
+
* fetch-charger resolve the charger at a coordinate (fetches on demand)
|
|
16
|
+
* fetch-prices the prices valid at a coordinate + timestamp
|
|
17
|
+
* query-unpriced-charges list TeslaMate charges without a cost
|
|
18
|
+
* run-unpriced-charges backfill costs from the stored price history
|
|
19
|
+
* query-failures list failing rows across the failure-tracked sources
|
|
19
20
|
* reset-failures clear failure state for a row or a whole source
|
|
20
21
|
* notify-failures Pushover-alert about not-yet-notified failures
|
|
21
|
-
*
|
|
22
|
+
* query-unmatched-invoices list Supercharger charges without an invoice
|
|
22
23
|
* notify-unmatched-invoices Pushover-alert about those charges (once each)
|
|
23
24
|
* schedule daemon: daily pricing + notify (optional slug sync)
|
|
24
25
|
*
|
|
@@ -30,12 +31,16 @@ import { program } from "@commander-js/extra-typings";
|
|
|
30
31
|
import { argv, exit } from "node:process";
|
|
31
32
|
import { endSql } from "@mxpicture/tesla-superchargers-mate/store";
|
|
32
33
|
import { readVersion } from "./cli.common.js";
|
|
33
|
-
import { runInitSlugs, runInitSlugsFile, runSyncSlugs, runSyncSlugsFile,
|
|
34
|
+
import { runSetup, runInitSlugs, runInitSlugsFile, runSyncSlugs, runSyncSlugsFile, runQuerySlugs, runFetchCharger, runFetchPrices, runQueryUnpricedCharges, runProcessUnpricedCharges, runQueryFailures, runResetFailures, runNotifyFailures, runSchedule, runSyncInvoicesByFile, runSyncInvoicesDropbox, runQueryUnmatchedInvoices, runNotifyUnmatchedInvoices, } from "./cli.run.js";
|
|
34
35
|
import { slugsJsonOption, latitudeOption, longitudeOption, timestampOption, sourceOption, thresholdOption, idOption, allOption, cronOption, syncCronOption, runOnStartOption, invoicesCsvOption, localeOption, radiusKmOption, } from "./cli.option.js";
|
|
35
36
|
program
|
|
36
37
|
.name("teslamate-superchargers")
|
|
37
38
|
.version(readVersion())
|
|
38
39
|
.description("Fetch + store Tesla Supercharger locations and pricing");
|
|
40
|
+
program
|
|
41
|
+
.command("setup")
|
|
42
|
+
.description("Create/upgrade the pic_* tables (idempotent; keeps existing data)")
|
|
43
|
+
.action(runSetup);
|
|
39
44
|
program
|
|
40
45
|
.command("init-slugs")
|
|
41
46
|
.description("Delete slugs before fetching it again")
|
|
@@ -64,42 +69,42 @@ program
|
|
|
64
69
|
.description("Sync loaded invoices from dropbox")
|
|
65
70
|
.action(runSyncInvoicesDropbox);
|
|
66
71
|
program
|
|
67
|
-
.command("
|
|
72
|
+
.command("query-slugs")
|
|
68
73
|
.description("Find slugs by coordinates")
|
|
69
74
|
.addOption(latitudeOption())
|
|
70
75
|
.addOption(longitudeOption())
|
|
71
76
|
.addOption(radiusKmOption())
|
|
72
|
-
.action((o) =>
|
|
77
|
+
.action((o) => runQuerySlugs(o));
|
|
73
78
|
program
|
|
74
|
-
.command("
|
|
79
|
+
.command("fetch-charger")
|
|
75
80
|
.description("Find charger by coordinates")
|
|
76
81
|
.addOption(latitudeOption())
|
|
77
82
|
.addOption(longitudeOption())
|
|
78
83
|
.addOption(localeOption())
|
|
79
84
|
.addOption(radiusKmOption())
|
|
80
|
-
.action((o) =>
|
|
85
|
+
.action((o) => runFetchCharger(o));
|
|
81
86
|
program
|
|
82
|
-
.command("
|
|
87
|
+
.command("fetch-prices")
|
|
83
88
|
.description("Find charger by coordinates and date/time")
|
|
84
89
|
.addOption(latitudeOption())
|
|
85
90
|
.addOption(longitudeOption())
|
|
86
91
|
.addOption(timestampOption())
|
|
87
92
|
.addOption(radiusKmOption())
|
|
88
|
-
.action((o) =>
|
|
93
|
+
.action((o) => runFetchPrices(o));
|
|
89
94
|
program
|
|
90
|
-
.command("
|
|
95
|
+
.command("query-unpriced-charges")
|
|
91
96
|
.description("Find unpriced charges")
|
|
92
|
-
.action(
|
|
97
|
+
.action(runQueryUnpricedCharges);
|
|
93
98
|
program
|
|
94
|
-
.command("
|
|
99
|
+
.command("run-unpriced-charges")
|
|
95
100
|
.description("Process unpriced charges")
|
|
96
101
|
.action(runProcessUnpricedCharges);
|
|
97
102
|
program
|
|
98
|
-
.command("
|
|
103
|
+
.command("query-failures")
|
|
99
104
|
.description("List failing rows across the failure-tracked sources")
|
|
100
105
|
.addOption(sourceOption())
|
|
101
106
|
.addOption(thresholdOption())
|
|
102
|
-
.action((o) =>
|
|
107
|
+
.action((o) => runQueryFailures(o));
|
|
103
108
|
program
|
|
104
109
|
.command("reset-failures")
|
|
105
110
|
.description("Reset failure state for a row (--id) or a whole source (--all)")
|
|
@@ -113,9 +118,9 @@ program
|
|
|
113
118
|
.addOption(thresholdOption())
|
|
114
119
|
.action((o) => runNotifyFailures(o));
|
|
115
120
|
program
|
|
116
|
-
.command("
|
|
121
|
+
.command("query-unmatched-invoices")
|
|
117
122
|
.description("List Supercharger charges without a matched invoice")
|
|
118
|
-
.action(
|
|
123
|
+
.action(runQueryUnmatchedInvoices);
|
|
119
124
|
program
|
|
120
125
|
.command("notify-unmatched-invoices")
|
|
121
126
|
.description("Send a Pushover alert for Supercharger charges without a matched invoice")
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.parse.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export declare const parseIntArg: (v: string) => number;
|
|
|
6
6
|
export declare const parseDaysArg: (v: string) => number;
|
|
7
7
|
/** Validates an HH:MM (24h) time string (e.g. --at). */
|
|
8
8
|
export declare const parseTime: (v: string) => string;
|
|
9
|
-
/** Parses an ISO 8601 timestamp (e.g. --at on
|
|
9
|
+
/** Parses an ISO 8601 timestamp (e.g. --at on fetch-prices). */
|
|
10
10
|
export declare const parseTimestamp: (v: string) => Date;
|
|
11
11
|
export declare const parsePath: (path: string) => string;
|
|
12
12
|
//# sourceMappingURL=cli.parse.d.ts.map
|
package/dist/cli.parse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.parse.d.ts","sourceRoot":"","sources":["../src/cli.parse.ts"],"names":[],"mappings":"AAMA,4DAA4D;AAC5D,eAAO,MAAM,aAAa,GAAI,GAAG,MAAM,KAAG,MAKzC,CAAC;AAEF,oDAAoD;AACpD,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,KAAG,MAKvC,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,YAAY,GAAI,GAAG,MAAM,KAAG,MAKxC,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,KAAG,MAIrC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"cli.parse.d.ts","sourceRoot":"","sources":["../src/cli.parse.ts"],"names":[],"mappings":"AAMA,4DAA4D;AAC5D,eAAO,MAAM,aAAa,GAAI,GAAG,MAAM,KAAG,MAKzC,CAAC;AAEF,oDAAoD;AACpD,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,KAAG,MAKvC,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,YAAY,GAAI,GAAG,MAAM,KAAG,MAKxC,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,KAAG,MAIrC,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,cAAc,GAAI,GAAG,MAAM,KAAG,IAK1C,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MACO,CAAC"}
|
package/dist/cli.parse.js
CHANGED
|
@@ -29,7 +29,7 @@ export const parseTime = (v) => {
|
|
|
29
29
|
throw new InvalidArgumentError("expected HH:MM (24h)");
|
|
30
30
|
return v;
|
|
31
31
|
};
|
|
32
|
-
/** Parses an ISO 8601 timestamp (e.g. --at on
|
|
32
|
+
/** Parses an ISO 8601 timestamp (e.g. --at on fetch-prices). */
|
|
33
33
|
export const parseTimestamp = (v) => {
|
|
34
34
|
const d = new Date(v);
|
|
35
35
|
if (isNaN(d.getTime()))
|
package/dist/cli.parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.parse.js","sourceRoot":"","sources":["../src/cli.parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,yCAAyC;AAEzC,4DAA4D;AAC5D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAS,EAAU,EAAE;IACjD,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9B,MAAM,IAAI,oBAAoB,CAAC,+BAA+B,CAAC,CAAC;IAClE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,oDAAoD;AACpD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAU,EAAE;IAC/C,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1B,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACnB,MAAM,IAAI,oBAAoB,CAAC,gCAAgC,CAAC,CAAC;IACnE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,iFAAiF;AACjF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAU,EAAE;IAChD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/B,MAAM,IAAI,oBAAoB,CAAC,mCAAmC,CAAC,CAAC;IACtE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,wDAAwD;AACxD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE;IAC7C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,MAAM,IAAI,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;IACzD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"cli.parse.js","sourceRoot":"","sources":["../src/cli.parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,yCAAyC;AAEzC,4DAA4D;AAC5D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAS,EAAU,EAAE;IACjD,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9B,MAAM,IAAI,oBAAoB,CAAC,+BAA+B,CAAC,CAAC;IAClE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,oDAAoD;AACpD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAU,EAAE;IAC/C,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1B,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACnB,MAAM,IAAI,oBAAoB,CAAC,gCAAgC,CAAC,CAAC;IACnE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,iFAAiF;AACjF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAU,EAAE;IAChD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/B,MAAM,IAAI,oBAAoB,CAAC,mCAAmC,CAAC,CAAC;IACtE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,wDAAwD;AACxD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE;IAC7C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,MAAM,IAAI,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;IACzD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,gEAAgE;AAChE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAS,EAAQ,EAAE;IAChD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,oBAAoB,CAAC,gCAAgC,CAAC,CAAC;IACnE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAChD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC"}
|
package/dist/cli.run.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
type FailureSourceArg = "charges" | "chargers" | "slugs" | "all";
|
|
2
|
+
export declare const runSetup: () => Promise<void>;
|
|
2
3
|
export declare const runInitSlugs: () => Promise<void>;
|
|
3
4
|
export declare const runInitSlugsFile: (o: {
|
|
4
5
|
slugs: string | true;
|
|
@@ -11,26 +12,26 @@ export declare const runSyncInvoicesByFile: (o: {
|
|
|
11
12
|
invoices: string;
|
|
12
13
|
}) => Promise<void>;
|
|
13
14
|
export declare const runSyncInvoicesDropbox: () => Promise<void>;
|
|
14
|
-
export declare const
|
|
15
|
+
export declare const runQueryUnmatchedInvoices: () => Promise<void>;
|
|
15
16
|
export declare const runNotifyUnmatchedInvoices: () => Promise<void>;
|
|
16
|
-
export declare const
|
|
17
|
+
export declare const runQuerySlugs: (o: {
|
|
17
18
|
lat: string;
|
|
18
19
|
lon: string;
|
|
19
20
|
radiusKm?: number;
|
|
20
21
|
}) => Promise<void>;
|
|
21
|
-
export declare const
|
|
22
|
+
export declare const runFetchCharger: (o: {
|
|
22
23
|
lat: string;
|
|
23
24
|
lon: string;
|
|
24
25
|
locale?: string;
|
|
25
26
|
radiusKm?: number;
|
|
26
27
|
}) => Promise<void>;
|
|
27
|
-
export declare const
|
|
28
|
+
export declare const runFetchPrices: (o: {
|
|
28
29
|
lat: string;
|
|
29
30
|
lon: string;
|
|
30
31
|
at?: Date;
|
|
31
32
|
radiusKm?: number;
|
|
32
33
|
}) => Promise<void>;
|
|
33
|
-
export declare const
|
|
34
|
+
export declare const runQueryUnpricedCharges: () => Promise<void>;
|
|
34
35
|
/**
|
|
35
36
|
* Backfill `cost` on unpriced charges: for each charge the Supercharger
|
|
36
37
|
* prices valid at the charge's start are looked up by coordinate, and the
|
|
@@ -42,7 +43,7 @@ export declare const runFindUnpricedCharges: () => Promise<void>;
|
|
|
42
43
|
* spanning into the next window keeps the starting rate.
|
|
43
44
|
*/
|
|
44
45
|
export declare const runProcessUnpricedCharges: () => Promise<void>;
|
|
45
|
-
export declare const
|
|
46
|
+
export declare const runQueryFailures: (o: {
|
|
46
47
|
source: FailureSourceArg;
|
|
47
48
|
threshold: number;
|
|
48
49
|
}) => Promise<void>;
|
package/dist/cli.run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.run.d.ts","sourceRoot":"","sources":["../src/cli.run.ts"],"names":[],"mappings":"AAmBA,KAAK,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,KAAK,CAAC;AAEjE,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,IAAI,CAIjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAU,GAAG;IACxC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,KAAG,OAAO,CAAC,IAAI,CAQf,CAAC;AAEF,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,IAAI,CAIjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAU,GAAG;IACxC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,KAAG,OAAO,CAAC,IAAI,CAQf,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAU,GAAG;IAC7C,QAAQ,EAAE,MAAM,CAAC;CAClB,KAAG,OAAO,CAAC,IAAI,CAIf,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAa,OAAO,CAAC,IAAI,CAI3D,CAAC;AAEF,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"cli.run.d.ts","sourceRoot":"","sources":["../src/cli.run.ts"],"names":[],"mappings":"AAmBA,KAAK,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,KAAK,CAAC;AAEjE,eAAO,MAAM,QAAQ,QAAa,OAAO,CAAC,IAAI,CAI7C,CAAC;AAEF,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,IAAI,CAIjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAU,GAAG;IACxC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,KAAG,OAAO,CAAC,IAAI,CAQf,CAAC;AAEF,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,IAAI,CAIjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAU,GAAG;IACxC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,KAAG,OAAO,CAAC,IAAI,CAQf,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAU,GAAG;IAC7C,QAAQ,EAAE,MAAM,CAAC;CAClB,KAAG,OAAO,CAAC,IAAI,CAIf,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAa,OAAO,CAAC,IAAI,CAI3D,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAa,OAAO,CAAC,IAAI,CAU9D,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAAa,OAAO,CAAC,IAAI,CAO/D,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,GAAG;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,KAAG,OAAO,CAAC,IAAI,CAcf,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,GAAG;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,KAAG,OAAO,CAAC,IAAI,CAiBf,CAAC;AAEF,eAAO,MAAM,cAAc,GAAU,GAAG;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,KAAG,OAAO,CAAC,IAAI,CAef,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAa,OAAO,CAAC,IAAI,CAI5D,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,QAAa,OAAO,CAAC,IAAI,CA+B9D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAU,GAAG;IACxC,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,KAAG,OAAO,CAAC,IAAI,CAef,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAU,GAAG;IACxC,MAAM,EAAE,gBAAgB,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,KAAG,OAAO,CAAC,IAAI,CAkBf,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,GAAG;IACzC,SAAS,EAAE,MAAM,CAAC;CACnB,KAAG,OAAO,CAAC,IAAI,CAOf,CAAC;AAuBF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAU,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,KAAG,OAAO,CAAC,KAAK,CA4BhB,CAAC"}
|
package/dist/cli.run.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { slugsApi, chargersApi, chargingProcessesApi, failuresApi, invoicesApi, } from "@mxpicture/tesla-superchargers-api/api";
|
|
2
2
|
import { pushoverConfigFromEnv, sendPushover, } from "@mxpicture/tesla-superchargers-api/common";
|
|
3
|
-
import { endSql } from "@mxpicture/tesla-superchargers-mate/store";
|
|
3
|
+
import { applySchema, endSql } from "@mxpicture/tesla-superchargers-mate/store";
|
|
4
4
|
import { Cron } from "croner";
|
|
5
5
|
import { dirname, resolve } from "node:path";
|
|
6
6
|
import { exit } from "node:process";
|
|
7
7
|
import { fileURLToPath } from "node:url";
|
|
8
8
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
9
|
+
export const runSetup = async () => {
|
|
10
|
+
console.log("----- apply pic_* schema ------------------");
|
|
11
|
+
await applySchema();
|
|
12
|
+
console.log("schema applied");
|
|
13
|
+
};
|
|
9
14
|
export const runInitSlugs = async () => {
|
|
10
15
|
console.log("----- init load slugs ------------------");
|
|
11
16
|
const summary = await slugsApi().initialLoad();
|
|
@@ -40,8 +45,8 @@ export const runSyncInvoicesDropbox = async () => {
|
|
|
40
45
|
const summary = await invoicesApi().syncDropbox();
|
|
41
46
|
console.log(summary);
|
|
42
47
|
};
|
|
43
|
-
export const
|
|
44
|
-
const charges = await invoicesApi().
|
|
48
|
+
export const runQueryUnmatchedInvoices = async () => {
|
|
49
|
+
const charges = await invoicesApi().queryUnmatched();
|
|
45
50
|
console.log(`${charges.length} supercharger charges without matched invoice:`);
|
|
46
51
|
for (const c of charges)
|
|
47
52
|
console.log(`- charge #${c.id} (${c.start_date.toISOString()}): ` +
|
|
@@ -53,7 +58,7 @@ export const runNotifyUnmatchedInvoices = async () => {
|
|
|
53
58
|
if (!summary.configured)
|
|
54
59
|
console.log("pushover not configured: set PUSHOVER_API_TOKEN and PUSHOVER_USER_KEY to enable alerts");
|
|
55
60
|
};
|
|
56
|
-
export const
|
|
61
|
+
export const runQuerySlugs = async (o) => {
|
|
57
62
|
const slugs = await slugsApi().query({
|
|
58
63
|
latitude: o.lat,
|
|
59
64
|
longitude: o.lon,
|
|
@@ -62,8 +67,8 @@ export const runFindSlugs = async (o) => {
|
|
|
62
67
|
for (const slug of slugs)
|
|
63
68
|
console.log(`- ${slug.location_url_slug} (${slug.tesla_uuid}): ${Math.round(slug.distance_km * 1000)} m`);
|
|
64
69
|
};
|
|
65
|
-
export const
|
|
66
|
-
const charger = await chargersApi().
|
|
70
|
+
export const runFetchCharger = async (o) => {
|
|
71
|
+
const charger = await chargersApi().fetchSingle({
|
|
67
72
|
latitude: o.lat,
|
|
68
73
|
longitude: o.lon,
|
|
69
74
|
}, o.locale, o.radiusKm);
|
|
@@ -74,9 +79,9 @@ export const runFindCharger = async (o) => {
|
|
|
74
79
|
console.log(`charger found:`);
|
|
75
80
|
console.log(charger);
|
|
76
81
|
};
|
|
77
|
-
export const
|
|
82
|
+
export const runFetchPrices = async (o) => {
|
|
78
83
|
const at = o.at ?? new Date();
|
|
79
|
-
const pricebooks = await chargersApi().
|
|
84
|
+
const pricebooks = await chargersApi().fetchPrices({ latitude: o.lat, longitude: o.lon }, at, o.radiusKm);
|
|
80
85
|
if (!pricebooks.length) {
|
|
81
86
|
console.log(`no prices found for ${o.lat} ${o.lon} at ${at.toISOString()}`);
|
|
82
87
|
return;
|
|
@@ -84,7 +89,7 @@ export const runFindPrices = async (o) => {
|
|
|
84
89
|
console.log(`prices found:`);
|
|
85
90
|
console.log(pricebooks);
|
|
86
91
|
};
|
|
87
|
-
export const
|
|
92
|
+
export const runQueryUnpricedCharges = async () => {
|
|
88
93
|
const charges = await chargingProcessesApi().getUnpricedCharges();
|
|
89
94
|
console.log(`${charges.length} charges found:`);
|
|
90
95
|
console.log(charges);
|
|
@@ -122,7 +127,7 @@ export const runProcessUnpricedCharges = async () => {
|
|
|
122
127
|
}
|
|
123
128
|
console.log(`${priced} of ${summary.unpricedCharges} charges priced`);
|
|
124
129
|
};
|
|
125
|
-
export const
|
|
130
|
+
export const runQueryFailures = async (o) => {
|
|
126
131
|
const failed = await failuresApi().getFailed(o.source, o.threshold);
|
|
127
132
|
console.log(`failures (>= ${o.threshold}): ${failed.charges.length} charges, ` +
|
|
128
133
|
`${failed.chargers.length} chargers, ${failed.slugs.length} slugs`);
|
package/dist/cli.run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.run.js","sourceRoot":"","sources":["../src/cli.run.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,WAAW,GACZ,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,qBAAqB,EACrB,YAAY,GACb,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.run.js","sourceRoot":"","sources":["../src/cli.run.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mxpicture/tesla-superchargers-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.27",
|
|
4
4
|
"description": "CLI to fetch + store Tesla Supercharger locations and pricing",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "MXPicture",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@commander-js/extra-typings": "^14.0.0",
|
|
39
|
-
"@mxpicture/tesla-superchargers-api": "^0.1.
|
|
40
|
-
"@mxpicture/tesla-superchargers-mate": "^0.1.
|
|
39
|
+
"@mxpicture/tesla-superchargers-api": "^0.1.27",
|
|
40
|
+
"@mxpicture/tesla-superchargers-mate": "^0.1.27",
|
|
41
41
|
"commander": "^14.0.3",
|
|
42
42
|
"croner": "^10.0.1"
|
|
43
43
|
},
|