@mxpicture/tesla-superchargers-mate 0.1.20 → 0.1.22

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.
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/store/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE9C,oFAAoF;AACpF,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;AAIlC;;;;;;GAMG;AACH,eAAO,MAAM,GAAG,QAAO,GAUlB,CAAC;AAEN,+EAA+E;AAC/E,eAAO,MAAM,MAAM,QAAa,OAAO,CAAC,IAAI,CAG3C,CAAC"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/store/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE9C,oFAAoF;AACpF,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;AAIlC;;;;;;GAMG;AACH,eAAO,MAAM,GAAG,QAAO,GAelB,CAAC;AAEN,+EAA+E;AAC/E,eAAO,MAAM,MAAM,QAAa,OAAO,CAAC,IAAI,CAG3C,CAAC"}
package/dist/store/db.js CHANGED
@@ -16,6 +16,11 @@ export const sql = () => (_sql ??= postgres({
16
16
  max: 10, // pool size
17
17
  idle_timeout: 20,
18
18
  connect_timeout: 10,
19
+ // TIME columns (pricebook start/end) are inserted from JS Dates, which
20
+ // postgres.js sends as timestamptz; the implicit timestamptz->time cast
21
+ // uses the session zone, so a non-UTC session (e.g. prod's Europe/Berlin)
22
+ // shifts them. Pin UTC so wall-clock times round-trip unchanged.
23
+ connection: { TimeZone: "UTC" },
19
24
  }));
20
25
  /** Close the pool if it was ever created, so the process can exit promptly. */
21
26
  export const endSql = async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/store/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAOhC,IAAI,IAAI,GAAe,IAAI,CAAC;AAE5B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,GAAQ,EAAE,CAC3B,CAAC,IAAI,KAAK,QAAQ,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM;IACxB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI;IACxC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;IAChC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM;IAC5B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;IAChC,GAAG,EAAE,EAAE,EAAE,YAAY;IACrB,YAAY,EAAE,EAAE;IAChB,eAAe,EAAE,EAAE;CACpB,CAAC,CAAC,CAAC;AAEN,+EAA+E;AAC/E,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;IAC9C,IAAI,IAAI;QAAE,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,GAAG,IAAI,CAAC;AACd,CAAC,CAAC"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/store/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAOhC,IAAI,IAAI,GAAe,IAAI,CAAC;AAE5B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,GAAQ,EAAE,CAC3B,CAAC,IAAI,KAAK,QAAQ,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM;IACxB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI;IACxC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;IAChC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM;IAC5B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;IAChC,GAAG,EAAE,EAAE,EAAE,YAAY;IACrB,YAAY,EAAE,EAAE;IAChB,eAAe,EAAE,EAAE;IACnB,uEAAuE;IACvE,wEAAwE;IACxE,0EAA0E;IAC1E,iEAAiE;IACjE,UAAU,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;CAChC,CAAC,CAAC,CAAC;AAEN,+EAA+E;AAC/E,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;IAC9C,IAAI,IAAI;QAAE,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,GAAG,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -8,9 +8,10 @@ export declare const pricebookToInitializer: (p: {
8
8
  }) => PicPricebooksInitializer;
9
9
  /**
10
10
  * Assigns `sort_order` across one pricebook group (the initializers sharing a
11
- * `last_fetch_uuid`): TOU rows get a 0-based rank by `start_time`, everything
12
- * else stays `null`. Mirrors the DB backfill so history and new inserts agree;
13
- * ties keep feed order (stable sort).
11
+ * `last_fetch_uuid`): TOU rows get a 0-based dense rank by `start_time` (rows
12
+ * that share a `start_time` share one rank), everything else stays `null`.
13
+ * Mirrors the DB backfill (`DENSE_RANK() OVER (... ORDER BY start_time)`) so
14
+ * history and new inserts agree.
14
15
  */
15
16
  export declare const assignSortOrder: (group: PicPricebooksInitializer[]) => PicPricebooksInitializer[];
16
17
  //# sourceMappingURL=pricebooks.transform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pricebooks.transform.d.ts","sourceRoot":"","sources":["../../src/transform/pricebooks.transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,aAAa,EACd,MAAM,iDAAiD,CAAC;AAOzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD,eAAO,MAAM,sBAAsB,GAAI,GAAG;IACxC,SAAS,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,UAAU,EAAE,aAAa,CAAC;CAC3B,KAAG,wBAsBH,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAC1B,OAAO,wBAAwB,EAAE,KAChC,wBAAwB,EAQ1B,CAAC"}
1
+ {"version":3,"file":"pricebooks.transform.d.ts","sourceRoot":"","sources":["../../src/transform/pricebooks.transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,aAAa,EACd,MAAM,iDAAiD,CAAC;AAOzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD,eAAO,MAAM,sBAAsB,GAAI,GAAG;IACxC,SAAS,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,UAAU,EAAE,aAAa,CAAC;CAC3B,KAAG,wBAsBH,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC1B,OAAO,wBAAwB,EAAE,KAChC,wBAAwB,EAU1B,CAAC"}
@@ -24,17 +24,18 @@ export const pricebookToInitializer = (p) => {
24
24
  };
25
25
  /**
26
26
  * Assigns `sort_order` across one pricebook group (the initializers sharing a
27
- * `last_fetch_uuid`): TOU rows get a 0-based rank by `start_time`, everything
28
- * else stays `null`. Mirrors the DB backfill so history and new inserts agree;
29
- * ties keep feed order (stable sort).
27
+ * `last_fetch_uuid`): TOU rows get a 0-based dense rank by `start_time` (rows
28
+ * that share a `start_time` share one rank), everything else stays `null`.
29
+ * Mirrors the DB backfill (`DENSE_RANK() OVER (... ORDER BY start_time)`) so
30
+ * history and new inserts agree.
30
31
  */
31
32
  export const assignSortOrder = (group) => {
32
- const ranked = group
33
- .filter((row) => row.is_tou)
34
- .sort((a, b) => a.start_time.getTime() - b.start_time.getTime());
33
+ const starts = [
34
+ ...new Set(group.filter((row) => row.is_tou).map((row) => row.start_time.getTime())),
35
+ ].sort((a, b) => a - b);
35
36
  return group.map((row) => ({
36
37
  ...row,
37
- sort_order: row.is_tou ? ranked.indexOf(row) : null,
38
+ sort_order: row.is_tou ? starts.indexOf(row.start_time.getTime()) : null,
38
39
  }));
39
40
  };
40
41
  //# sourceMappingURL=pricebooks.transform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pricebooks.transform.js","sourceRoot":"","sources":["../../src/transform/pricebooks.transform.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAItC,EAA4B,EAAE;IAC7B,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,6EAA6E;IAC7E,yDAAyD;IACzD,MAAM,MAAM,GAA6B;QACvC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,eAAe,EAAE,CAAC,CAAC,UAAU;QAC7B,aAAa,EAAE,CAAC,CAAC,SAAS,CAAC,YAAY;QACvC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG;QACpB,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QACxC,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC;QACpE,QAAQ,EAAE,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;QAChE,iBAAiB,EAAE,CAAC,CAAC,SAAS,CAAC,eAAe;QAC9C,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO;QAC7B,mBAAmB,EAAE,CAAC,CAAC,SAAS,CAAC,iBAAiB;QAClD,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK;QACzB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAC1C,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE;QAC7C,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE;KAC9C,CAAC;IACF,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAiC,EACL,EAAE;IAC9B,MAAM,MAAM,GAAG,KAAK;SACjB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;SAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzB,GAAG,GAAG;QACN,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;KACpD,CAAC,CAAC,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"pricebooks.transform.js","sourceRoot":"","sources":["../../src/transform/pricebooks.transform.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAItC,EAA4B,EAAE;IAC7B,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,6EAA6E;IAC7E,yDAAyD;IACzD,MAAM,MAAM,GAA6B;QACvC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,eAAe,EAAE,CAAC,CAAC,UAAU;QAC7B,aAAa,EAAE,CAAC,CAAC,SAAS,CAAC,YAAY;QACvC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG;QACpB,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QACxC,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC;QACpE,QAAQ,EAAE,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;QAChE,iBAAiB,EAAE,CAAC,CAAC,SAAS,CAAC,eAAe;QAC9C,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO;QAC7B,mBAAmB,EAAE,CAAC,CAAC,SAAS,CAAC,iBAAiB;QAClD,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK;QACzB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAC1C,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE;QAC7C,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE;KAC9C,CAAC;IACF,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAiC,EACL,EAAE;IAC9B,MAAM,MAAM,GAAG;QACb,GAAG,IAAI,GAAG,CACR,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CACzE;KACF,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzB,GAAG,GAAG;QACN,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;KACzE,CAAC,CAAC,CAAC;AACN,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxpicture/tesla-superchargers-mate",
3
- "version": "0.1.20",
3
+ "version": "0.1.22",
4
4
  "description": "TeslaMate integration",
5
5
  "type": "module",
6
6
  "author": "MXPicture",
@@ -48,7 +48,7 @@
48
48
  "access": "public"
49
49
  },
50
50
  "dependencies": {
51
- "@mxpicture/tesla-superchargers-generated": "^0.1.20",
51
+ "@mxpicture/tesla-superchargers-generated": "^0.1.22",
52
52
  "postgres": "^3.4.9",
53
53
  "short-uuid": "^6.0.3",
54
54
  "zod": "^4.3.6"