iobroker.parcelapp 0.2.2 → 0.2.4

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/io-package.json CHANGED
@@ -1,8 +1,34 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "parcelapp",
4
- "version": "0.2.2",
4
+ "version": "0.2.4",
5
5
  "news": {
6
+ "0.2.4": {
7
+ "en": "Modernize dev tooling (esbuild, TypeScript 5.9 pin, testing-action-check v2)",
8
+ "de": "Dev-Tooling modernisiert (esbuild, TypeScript 5.9 Pin, testing-action-check v2)",
9
+ "ru": "Модернизация инструментов разработки (esbuild, TypeScript 5.9, testing-action-check v2)",
10
+ "pt": "Modernização das ferramentas de desenvolvimento (esbuild, TypeScript 5.9, testing-action-check v2)",
11
+ "nl": "Ontwikkeltools gemoderniseerd (esbuild, TypeScript 5.9 pin, testing-action-check v2)",
12
+ "fr": "Modernisation des outils de développement (esbuild, TypeScript 5.9, testing-action-check v2)",
13
+ "it": "Modernizzazione degli strumenti di sviluppo (esbuild, TypeScript 5.9, testing-action-check v2)",
14
+ "es": "Modernización de herramientas de desarrollo (esbuild, TypeScript 5.9, testing-action-check v2)",
15
+ "pl": "Modernizacja narzędzi programistycznych (esbuild, TypeScript 5.9, testing-action-check v2)",
16
+ "uk": "Модернізація інструментів розробки (esbuild, TypeScript 5.9, testing-action-check v2)",
17
+ "zh-cn": "开发工具现代化(esbuild、TypeScript 5.9 固定、testing-action-check v2)"
18
+ },
19
+ "0.2.3": {
20
+ "en": "Fix carrier name cache not retrying after initial failure",
21
+ "de": "Fix: Carrier-Namen-Cache versucht nach initialem Fehler erneut zu laden",
22
+ "ru": "Исправление: кэш имен перевозчиков повторяет попытку после начального сбоя",
23
+ "pt": "Correção: cache de nomes de transportadoras tenta novamente após falha inicial",
24
+ "nl": "Fix: carrier naam cache probeert opnieuw na initiële fout",
25
+ "fr": "Correction: le cache des noms de transporteurs réessaie après un échec initial",
26
+ "it": "Fix: la cache dei nomi dei corrieri riprova dopo un errore iniziale",
27
+ "es": "Corrección: la caché de nombres de transportistas reintenta tras fallo inicial",
28
+ "pl": "Poprawka: pamięć podręczna nazw przewoźników ponawia próbę po początkowym błędzie",
29
+ "uk": "Виправлення: кеш назв перевізників повторює спробу після початкової помилки",
30
+ "zh-cn": "修复:运营商名称缓存在初次失败后重新尝试加载"
31
+ },
6
32
  "0.2.2": {
7
33
  "en": "Adapter-managed timers, CI on Windows/macOS, consistent admin UI i18n keys, full MIT license in README",
8
34
  "de": "Adapter-verwaltete Timer, CI auf Windows/macOS, konsistente Admin-UI i18n-Keys, vollständige MIT-Lizenz in README",
@@ -67,32 +93,6 @@
67
93
  "pl": "Ulepszony README z jaśniejszym opisem adaptera ioBroker",
68
94
  "uk": "Покращено README з чіткішим описом адаптера ioBroker",
69
95
  "zh-cn": "改进 README,更清楚地描述 ioBroker 适配器"
70
- },
71
- "0.1.3": {
72
- "en": "Added Dependabot automerge workflow, randomized schedule",
73
- "de": "Dependabot-Automerge-Workflow hinzugefügt, Zeitplan randomisiert",
74
- "ru": "Добавлен рабочий процесс автослияния Dependabot, рандомизированное расписание",
75
- "pt": "Adicionado workflow de automerge do Dependabot, agendamento randomizado",
76
- "nl": "Dependabot automerge-workflow toegevoegd, schema gerandomiseerd",
77
- "fr": "Ajout du workflow automerge Dependabot, planification aléatoire",
78
- "it": "Aggiunto workflow automerge Dependabot, pianificazione randomizzata",
79
- "es": "Añadido workflow de automerge de Dependabot, programación aleatorizada",
80
- "pl": "Dodano workflow automerge Dependabot, losowy harmonogram",
81
- "uk": "Додано робочий процес автозлиття Dependabot, рандомізований розклад",
82
- "zh-cn": "添加 Dependabot 自动合并工作流,随机化调度"
83
- },
84
- "0.1.2": {
85
- "en": "Updated devDependencies",
86
- "de": "Entwicklungsabhängigkeiten aktualisiert",
87
- "ru": "Обновлены зависимости разработки",
88
- "pt": "Dependências de desenvolvimento atualizadas",
89
- "nl": "Ontwikkelingsafhankelijkheden bijgewerkt",
90
- "fr": "Dépendances de développement mises à jour",
91
- "it": "Dipendenze di sviluppo aggiornate",
92
- "es": "Dependencias de desarrollo actualizadas",
93
- "pl": "Zaktualizowano zależności deweloperskie",
94
- "uk": "Оновлено залежності розробки",
95
- "zh-cn": "更新开发依赖"
96
96
  }
97
97
  },
98
98
  "titleLang": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.parcelapp",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "ioBroker adapter for parcel.app — track packages from 300+ carriers",
5
5
  "author": {
6
6
  "name": "krobi",
@@ -33,14 +33,15 @@
33
33
  "@alcalzone/release-script-plugin-license": "^5.1.1",
34
34
  "@alcalzone/release-script-plugin-manual-review": "^5.1.1",
35
35
  "@iobroker/adapter-dev": "^1.5.0",
36
- "@iobroker/build-tools": "^3.0.1",
37
36
  "@iobroker/eslint-config": "^2.2.0",
38
37
  "@iobroker/testing": "^5.2.2",
38
+ "@tsconfig/node20": "^20.1.9",
39
+ "@types/iobroker": "npm:@iobroker/types@^7.1.0",
39
40
  "@types/node": "^25.5.0",
40
- "eslint": "^9.25.0",
41
+ "rimraf": "^6.1.3",
41
42
  "source-map-support": "^0.5.21",
42
43
  "ts-node": "^10.9.2",
43
- "typescript": "^5.8.3"
44
+ "typescript": "~5.9.3"
44
45
  },
45
46
  "files": [
46
47
  "admin",
@@ -51,12 +52,12 @@
51
52
  ],
52
53
  "scripts": {
53
54
  "prepare": "test -d build || npm run build",
54
- "prebuild": "rm -rf ./build",
55
- "build:ts": "tsc -p tsconfig.build.json",
56
- "build": "npm run build:ts",
55
+ "prebuild": "rimraf build",
56
+ "build:ts": "build-adapter ts",
57
+ "build": "build-adapter ts",
57
58
  "build:test": "tsc -p tsconfig.test.json",
58
- "watch": "tsc -p tsconfig.build.json --watch",
59
- "check": "tsc -p tsconfig.build.json --noEmit",
59
+ "watch": "build-adapter ts --watch",
60
+ "check": "tsc --noEmit",
60
61
  "test:package": "npm run build:test && mocha --exit \"build/test/testPackageFiles.js\"",
61
62
  "test:integration": "npm run build:test && mocha --exit \"build/test/**/*.js\"",
62
63
  "test": "npm run build:test && mocha --exit \"build/test/**/*.js\"",
@@ -1,43 +0,0 @@
1
- import type { ParcelDelivery, AddDeliveryRequest, AddDeliveryResponse, CarrierMap } from "./types";
2
- /** HTTP client for the parcel.app API */
3
- export declare class ParcelClient {
4
- private apiKey;
5
- private carrierCache;
6
- /** @param apiKey The parcel.app API key */
7
- constructor(apiKey: string);
8
- /**
9
- * Fetch deliveries from parcel.app.
10
- *
11
- * @param filterMode Filter active or recent deliveries
12
- */
13
- getDeliveries(filterMode?: "active" | "recent"): Promise<ParcelDelivery[]>;
14
- /**
15
- * Add a new delivery to parcel.app.
16
- *
17
- * @param delivery The delivery to add
18
- */
19
- addDelivery(delivery: AddDeliveryRequest): Promise<AddDeliveryResponse>;
20
- /** Get carrier names (cached after first call) */
21
- getCarrierNames(): Promise<CarrierMap>;
22
- /**
23
- * Resolve a carrier code to a display name.
24
- *
25
- * @param carrierCode The carrier code from API
26
- */
27
- getCarrierName(carrierCode: string): Promise<string>;
28
- /** Test if the API key is valid */
29
- testConnection(): Promise<{
30
- success: boolean;
31
- message: string;
32
- }>;
33
- /**
34
- * Execute an HTTP request against the parcel.app API.
35
- *
36
- * @param method HTTP method
37
- * @param path API path
38
- * @param authenticated Whether to send the API key
39
- * @param body Optional request body
40
- */
41
- private request;
42
- }
43
- //# sourceMappingURL=parcel-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parcel-client.d.ts","sourceRoot":"","sources":["../../src/lib/parcel-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACX,MAAM,SAAS,CAAC;AAKjB,yCAAyC;AACzC,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAA2B;IAE/C,2CAA2C;gBAC/B,MAAM,EAAE,MAAM;IAI1B;;;;OAIG;IACG,aAAa,CACjB,UAAU,GAAE,QAAQ,GAAG,QAAmB,GACzC,OAAO,CAAC,cAAc,EAAE,CAAC;IAqB5B;;;;OAIG;IACG,WAAW,CACf,QAAQ,EAAE,kBAAkB,GAC3B,OAAO,CAAC,mBAAmB,CAAC;IAS/B,kDAAkD;IAC5C,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC;IAkB5C;;;;OAIG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1D,mCAAmC;IAC7B,cAAc,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAatE;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO;CAiFhB"}
@@ -1,82 +0,0 @@
1
- import type { AdapterInstance } from "@iobroker/adapter-core";
2
- import type { ParcelDelivery } from "./types";
3
- /** Manages ioBroker states for parcel deliveries */
4
- export declare class StateManager {
5
- private adapter;
6
- /** @param adapter The ioBroker adapter instance */
7
- constructor(adapter: AdapterInstance);
8
- /**
9
- * Sanitize a string for use as ioBroker object ID.
10
- *
11
- * @param name Raw string to sanitize
12
- */
13
- sanitize(name: string): string;
14
- /**
15
- * Build a unique package ID from a delivery.
16
- *
17
- * @param delivery The delivery to build an ID for
18
- */
19
- packageId(delivery: ParcelDelivery): string;
20
- /**
21
- * Update or create all states for a delivery.
22
- *
23
- * @param delivery The delivery data from API
24
- * @param carrierName Resolved carrier display name
25
- */
26
- updateDelivery(delivery: ParcelDelivery, carrierName: string): Promise<void>;
27
- /**
28
- * Update summary states. Expects already-filtered active deliveries.
29
- *
30
- * @param activeDeliveries Only active (non-delivered) deliveries
31
- */
32
- updateSummary(activeDeliveries: ParcelDelivery[]): Promise<void>;
33
- /**
34
- * Remove deliveries that are no longer active.
35
- *
36
- * @param activeIds List of currently active package IDs
37
- */
38
- cleanupDeliveries(activeIds: string[]): Promise<void>;
39
- /**
40
- * Calculate delivery time window — only from Unix timestamps.
41
- *
42
- * @param delivery The delivery data
43
- * @param statusCode Pre-parsed status code
44
- */
45
- private calculateDeliveryWindow;
46
- /**
47
- * Calculate human-readable delivery estimate.
48
- *
49
- * @param delivery The delivery data
50
- * @param statusCode Pre-parsed status code
51
- */
52
- private calculateDeliveryEstimate;
53
- /**
54
- * Format the latest tracking event.
55
- *
56
- * @param delivery The delivery data
57
- */
58
- private formatLastEvent;
59
- /**
60
- * Extract location from latest event.
61
- *
62
- * @param delivery The delivery data
63
- */
64
- private extractLastLocation;
65
- /**
66
- * Calculate combined delivery window for today's packages.
67
- *
68
- * @param todayDeliveries Deliveries expected today
69
- */
70
- private calculateCombinedWindow;
71
- /**
72
- * Create/extend a read-only state and set its value.
73
- *
74
- * @param id State ID relative to adapter namespace
75
- * @param name Display name
76
- * @param type Value type
77
- * @param role ioBroker role
78
- * @param val Value to set
79
- */
80
- private createAndSet;
81
- }
82
- //# sourceMappingURL=state-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-manager.d.ts","sourceRoot":"","sources":["../../src/lib/state-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAqB9C,oDAAoD;AACpD,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAkB;IAEjC,mDAAmD;gBACvC,OAAO,EAAE,eAAe;IAIpC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAU9B;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM;IAQ3C;;;;;OAKG;IACG,cAAc,CAClB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAiGhB;;;;OAIG;IACG,aAAa,CAAC,gBAAgB,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCtE;;;;OAIG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3D;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IA2B/B;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAiDjC;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAevB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAkC/B;;;;;;;;OAQG;YACW,YAAY;CAc3B"}
@@ -1,86 +0,0 @@
1
- /** API response from parcel.app deliveries endpoint */
2
- export interface ParcelApiResponse {
3
- /** Whether the request was successful */
4
- success: boolean;
5
- /** Error message if request failed */
6
- error_message?: string;
7
- /** Error code if request failed */
8
- error_code?: string;
9
- /** List of deliveries */
10
- deliveries?: ParcelDelivery[];
11
- }
12
- /** Single delivery from the parcel.app API */
13
- export interface ParcelDelivery {
14
- /** Carrier identifier */
15
- carrier_code: string;
16
- /** User-defined description */
17
- description: string;
18
- /** Status code (0-8 as string) */
19
- status_code: string;
20
- /** Tracking number */
21
- tracking_number: string;
22
- /** Extra info (postal code, email) */
23
- extra_information?: string;
24
- /** Expected delivery date */
25
- date_expected?: string;
26
- /** Expected delivery date end */
27
- date_expected_end?: string;
28
- /** Expected delivery Unix timestamp */
29
- timestamp_expected?: number;
30
- /** Expected delivery end Unix timestamp */
31
- timestamp_expected_end?: number;
32
- /** Tracking events (newest first) */
33
- events?: ParcelEvent[];
34
- }
35
- /** Single tracking event */
36
- export interface ParcelEvent {
37
- /** Event description */
38
- event: string;
39
- /** Event date string */
40
- date: string;
41
- /** Event location */
42
- location?: string;
43
- /** Additional details */
44
- additional?: string;
45
- }
46
- /** Request body for adding a delivery */
47
- export interface AddDeliveryRequest {
48
- /** Tracking number to add */
49
- tracking_number: string;
50
- /** Carrier code */
51
- carrier_code: string;
52
- /** User description */
53
- description: string;
54
- /** Tracking language */
55
- language?: string;
56
- /** Send push confirmation */
57
- send_push_confirmation?: boolean;
58
- }
59
- /** Add delivery API response */
60
- export interface AddDeliveryResponse {
61
- /** Whether the delivery was added */
62
- success: boolean;
63
- /** Error message if failed */
64
- error_message?: string;
65
- }
66
- /** Carrier names mapping (carrier_code → display name) */
67
- export type CarrierMap = Record<string, string>;
68
- /** Delivery status codes (0-8) in German */
69
- export declare const STATUS_LABELS_DE: Record<number, string>;
70
- /** Delivery status codes (0-8) in English */
71
- export declare const STATUS_LABELS_EN: Record<number, string>;
72
- declare global {
73
- namespace ioBroker {
74
- interface AdapterConfig {
75
- /** parcel.app API key */
76
- apiKey: string;
77
- /** Polling interval in minutes */
78
- pollInterval: number;
79
- /** Language for status labels */
80
- language: "de" | "en";
81
- /** Automatically remove delivered packages from states */
82
- autoRemoveDelivered: boolean;
83
- }
84
- }
85
- }
86
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6BAA6B;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uCAAuC;IACvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qCAAqC;IACrC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,4BAA4B;AAC5B,MAAM,WAAW,WAAW;IAC1B,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,yCAAyC;AACzC,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,gCAAgC;AAChC,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,0DAA0D;AAC1D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhD,4CAA4C;AAC5C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAUnD,CAAC;AAEF,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAUnD,CAAC;AAGF,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,QAAQ,CAAC;QACjB,UAAU,aAAa;YACrB,yBAAyB;YACzB,MAAM,EAAE,MAAM,CAAC;YACf,kCAAkC;YAClC,YAAY,EAAE,MAAM,CAAC;YACrB,iCAAiC;YACjC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;YACtB,0DAA0D;YAC1D,mBAAmB,EAAE,OAAO,CAAC;SAC9B;KACF;CACF"}
package/build/main.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import "./lib/types";
2
- //# sourceMappingURL=main.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAGA,OAAO,aAAa,CAAC"}