@omnizoek/sdk 0.1.1 → 0.1.2

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/index.cjs CHANGED
@@ -228,7 +228,7 @@ var GeoModule = class {
228
228
  * const result = await omni.geo.enrichAddress({ postcode: "1012LG", houseNumber: 1 });
229
229
  */
230
230
  async enrichAddress(params) {
231
- return this.http.get("/v1/geo/enrich-address", {
231
+ return this.http.get("/v1/geo/address-enrich", {
232
232
  postcode: params.postcode,
233
233
  house_number: params.houseNumber
234
234
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/errors.ts","../src/client.ts","../src/geo.ts","../src/finance.ts","../src/compliance.ts","../src/hr.ts","../src/realEstate.ts","../src/logistics.ts","../src/energy.ts","../src/webhooks.ts","../src/OmniClient.ts","../src/index.ts"],"names":["OmniAuthError","OmniError","OmniNetworkError","OmniNotFoundError","OmniRateLimitError","OmniUpstreamError","OmniValidationError"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * errors.ts — Typed error classes for the OmniZoek SDK.\n */\n\nexport class OmniError extends Error {\n constructor(\n message: string,\n public readonly status: number,\n public readonly code: string,\n public readonly detail: string,\n ) {\n super(message);\n this.name = \"OmniError\";\n }\n}\n\n/** 401 — API key missing or invalid. */\nexport class OmniAuthError extends OmniError {\n constructor(detail: string) {\n super(`Authentication failed: ${detail}`, 401, \"auth_error\", detail);\n this.name = \"OmniAuthError\";\n }\n}\n\n/** 404 — Requested resource not found (address, label, etc.). */\nexport class OmniNotFoundError extends OmniError {\n constructor(detail: string) {\n super(`Not found: ${detail}`, 404, \"not_found\", detail);\n this.name = \"OmniNotFoundError\";\n }\n}\n\n/** 422 — Request parameters failed validation. */\nexport class OmniValidationError extends OmniError {\n constructor(detail: string) {\n super(`Validation error: ${detail}`, 422, \"validation_error\", detail);\n this.name = \"OmniValidationError\";\n }\n}\n\n/** 429 — Rate limit exceeded. Retried automatically by the client. */\nexport class OmniRateLimitError extends OmniError {\n constructor(public readonly retryAfterMs: number) {\n super(\n `Rate limit exceeded. Retry after ${retryAfterMs}ms.`,\n 429,\n \"rate_limit\",\n `Retry after ${retryAfterMs}ms`,\n );\n this.name = \"OmniRateLimitError\";\n }\n}\n\n/** 503 — Upstream data source unavailable (BAG, EP-Online, RDW, etc.). */\nexport class OmniUpstreamError extends OmniError {\n constructor(detail: string) {\n super(`Upstream error: ${detail}`, 503, \"upstream_error\", detail);\n this.name = \"OmniUpstreamError\";\n }\n}\n\n/** Network-level failure (DNS, timeout, no internet). */\nexport class OmniNetworkError extends Error {\n readonly cause?: Error;\n\n constructor(cause: unknown) {\n super(`Network error: ${cause instanceof Error ? cause.message : String(cause)}`);\n this.name = \"OmniNetworkError\";\n if (cause instanceof Error) this.cause = cause;\n }\n}\n","/**\n * client.ts — Core HTTP client with automatic retry and error mapping.\n */\n\nimport {\n OmniAuthError,\n OmniNetworkError,\n OmniNotFoundError,\n OmniRateLimitError,\n OmniUpstreamError,\n OmniValidationError,\n} from \"./errors.js\";\n\nexport interface OmniClientOptions {\n /** Your OmniZoek API key (omni_live_… or omni_test_…) */\n apiKey: string;\n /** Override the base URL — useful for testing. Default: https://api.omnizoek.nl */\n baseUrl?: string;\n /** Max retries on 429 rate-limit responses. Default: 3 */\n maxRetries?: number;\n /** Base delay in ms for exponential backoff. Default: 500 */\n retryDelayMs?: number;\n /** Request timeout in ms. Default: 20000 */\n timeoutMs?: number;\n}\n\nconst DEFAULT_BASE_URL = \"https://api.omnizoek.nl\";\nconst DEFAULT_MAX_RETRIES = 3;\nconst DEFAULT_RETRY_DELAY_MS = 500;\nconst DEFAULT_TIMEOUT_MS = 20_000;\n\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport class HttpClient {\n private readonly apiKey: string;\n private readonly baseUrl: string;\n private readonly maxRetries: number;\n private readonly retryDelayMs: number;\n private readonly timeoutMs: number;\n\n constructor(options: OmniClientOptions) {\n this.apiKey = options.apiKey;\n this.baseUrl = (options.baseUrl ?? DEFAULT_BASE_URL).replace(/\\/$/, \"\");\n this.maxRetries = options.maxRetries ?? DEFAULT_MAX_RETRIES;\n this.retryDelayMs = options.retryDelayMs ?? DEFAULT_RETRY_DELAY_MS;\n this.timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n }\n\n async get<T>(path: string, params?: Record<string, string | number | boolean | undefined>): Promise<T> {\n const url = new URL(this.baseUrl + path);\n\n if (params) {\n for (const [key, value] of Object.entries(params)) {\n if (value !== undefined) {\n url.searchParams.set(key, String(value));\n }\n }\n }\n\n let attempt = 0;\n\n while (true) {\n let response: Response;\n\n try {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.timeoutMs);\n\n response = await fetch(url.toString(), {\n method: \"GET\",\n headers: {\n \"X-API-Key\": this.apiKey,\n \"Accept\": \"application/json\",\n \"User-Agent\": \"@omnizoek/sdk/0.1.0\",\n },\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n } catch (err) {\n throw new OmniNetworkError(err);\n }\n\n // 429 — retry with exponential backoff\n if (response.status === 429 && attempt < this.maxRetries) {\n const retryAfter = Number(response.headers.get(\"Retry-After\") ?? 0);\n const delay = retryAfter > 0\n ? retryAfter * 1000\n : this.retryDelayMs * Math.pow(2, attempt);\n\n attempt++;\n await sleep(delay);\n continue;\n }\n\n if (!response.ok) {\n await this._throwFromResponse(response);\n }\n\n return response.json() as Promise<T>;\n }\n }\n\n async post<T>(path: string, body?: unknown): Promise<T> {\n let response: Response;\n\n try {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.timeoutMs);\n\n response = await fetch(this.baseUrl + path, {\n method: \"POST\",\n headers: {\n \"X-API-Key\": this.apiKey,\n \"Accept\": \"application/json\",\n \"Content-Type\": \"application/json\",\n \"User-Agent\": \"@omnizoek/sdk/0.1.0\",\n },\n body: body !== undefined ? JSON.stringify(body) : undefined,\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n } catch (err) {\n throw new OmniNetworkError(err);\n }\n\n if (!response.ok) {\n await this._throwFromResponse(response);\n }\n\n return response.json() as Promise<T>;\n }\n\n async delete(path: string): Promise<void> {\n let response: Response;\n\n try {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.timeoutMs);\n\n response = await fetch(this.baseUrl + path, {\n method: \"DELETE\",\n headers: {\n \"X-API-Key\": this.apiKey,\n \"User-Agent\": \"@omnizoek/sdk/0.1.0\",\n },\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n } catch (err) {\n throw new OmniNetworkError(err);\n }\n\n if (!response.ok) {\n await this._throwFromResponse(response);\n }\n }\n\n private async _throwFromResponse(response: Response): Promise<never> {\n let detail = response.statusText;\n try {\n const body = await response.json() as { detail?: unknown; error?: unknown };\n const raw = body.detail ?? body.error ?? detail;\n // FastAPI 422 returns detail as an array of validation objects; others are strings.\n detail = typeof raw === \"string\"\n ? raw\n : JSON.stringify(raw);\n } catch {\n // non-JSON body — keep statusText\n }\n\n switch (response.status) {\n case 401: throw new OmniAuthError(detail);\n case 404: throw new OmniNotFoundError(detail);\n case 422: throw new OmniValidationError(detail);\n case 429: throw new OmniRateLimitError(0);\n case 503: throw new OmniUpstreamError(detail);\n default: {\n const { OmniError } = await import(\"./errors.js\");\n throw new OmniError(\n `API error ${response.status}: ${detail}`,\n response.status,\n \"api_error\",\n detail,\n );\n }\n }\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type { AddressEnrichParams, AddressEnrichResponse } from \"./types.js\";\n\nexport class GeoModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Enrich a Dutch address with BAG data, coordinates, neighbourhood\n * statistics, energy labels and more.\n *\n * @example\n * const result = await omni.geo.enrichAddress({ postcode: \"1012LG\", houseNumber: 1 });\n */\n async enrichAddress(params: AddressEnrichParams): Promise<AddressEnrichResponse> {\n return this.http.get<AddressEnrichResponse>(\"/v1/geo/enrich-address\", {\n postcode: params.postcode,\n house_number: params.houseNumber,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type {\n IbanToBicParams,\n IbanToBicResponse,\n VatVerifyParams,\n VatVerifyResponse,\n} from \"./types.js\";\n\nexport class FinanceModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Resolve an IBAN to its BIC/SWIFT code and bank name.\n *\n * @example\n * const result = await omni.finance.ibanToBic({ iban: \"NL91ABNA0417164300\" });\n */\n async ibanToBic(params: IbanToBicParams): Promise<IbanToBicResponse> {\n return this.http.get<IbanToBicResponse>(\"/v1/finance/iban-to-bic\", {\n iban: params.iban,\n });\n }\n\n /**\n * Verify a Dutch BTW (VAT) number via the EU VIES service and return\n * company metadata.\n *\n * @example\n * const result = await omni.finance.vatVerify({ vatNumber: \"NL123456782B01\" });\n */\n async vatVerify(params: VatVerifyParams): Promise<VatVerifyResponse> {\n return this.http.get<VatVerifyResponse>(\"/v1/finance/vat-verify\", {\n vat_number: params.vatNumber,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type { ValidateFinanceParams, FinanceValidationResponse } from \"./types.js\";\n\nexport class ComplianceModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Validate a Dutch BSN or IBAN number using checksum algorithms.\n *\n * @example\n * const result = await omni.compliance.validateFinance({ type: \"iban\", number: \"NL91ABNA0417164300\" });\n */\n async validateFinance(params: ValidateFinanceParams): Promise<FinanceValidationResponse> {\n return this.http.get<FinanceValidationResponse>(\"/v1/compliance/validate-finance\", {\n type: params.type,\n number: params.number,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type {\n MinimumWageParams,\n MinimumWageResponse,\n HolidaySurchargeParams,\n HolidaySurchargeResponse,\n} from \"./types.js\";\n\nexport class HrModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Look up the current Dutch statutory minimum wage for a given age.\n *\n * @example\n * const result = await omni.hr.minimumWage({ age: 21 });\n */\n async minimumWage(params: MinimumWageParams): Promise<MinimumWageResponse> {\n return this.http.get<MinimumWageResponse>(\"/v1/hr/minimum-wage\", {\n age: params.age,\n });\n }\n\n /**\n * Check whether a given date is a public holiday (and get the applicable\n * surcharge multiplier for a given industry).\n *\n * @example\n * const result = await omni.hr.holidaySurcharge({ date: \"2024-12-25\", industry: \"retail\" });\n */\n async holidaySurcharge(params: HolidaySurchargeParams): Promise<HolidaySurchargeResponse> {\n return this.http.get<HolidaySurchargeResponse>(\"/v1/hr/holiday-surcharge\", {\n date: params.date,\n industry: params.industry,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type { EnergyLabelParams, EnergyLabelResponse } from \"./types.js\";\n\nexport class RealEstateModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Retrieve the official EP-Online energy label for a Dutch address.\n *\n * @example\n * const result = await omni.realEstate.energyLabel({ postcode: \"1012LG\", houseNumber: 1 });\n */\n async energyLabel(params: EnergyLabelParams): Promise<EnergyLabelResponse> {\n return this.http.get<EnergyLabelResponse>(\"/v1/real-estate/energy-label\", {\n postcode: params.postcode,\n house_number: params.houseNumber,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type {\n EmissionZoneParams,\n EmissionZoneResponse,\n TransitDisruptionsParams,\n TransitDisruptionsResponse,\n} from \"./types.js\";\n\nexport class LogisticsModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Check whether a vehicle (by Dutch licence plate / kenteken) is allowed\n * in a zero-emission zone (ZE-zone).\n *\n * @example\n * const result = await omni.logistics.emissionZone({ kenteken: \"AB123C\" });\n */\n async emissionZone(params: EmissionZoneParams): Promise<EmissionZoneResponse> {\n return this.http.get<EmissionZoneResponse>(\"/v1/logistics/emission-zone\", {\n kenteken: params.kenteken,\n });\n }\n\n /**\n * Retrieve current and upcoming NS train disruptions, optionally filtered\n * by station code.\n *\n * @example\n * const result = await omni.logistics.transitDisruptions({ stationCode: \"ASD\" });\n */\n async transitDisruptions(params?: TransitDisruptionsParams): Promise<TransitDisruptionsResponse> {\n return this.http.get<TransitDisruptionsResponse>(\"/v1/logistics/transit-disruptions\", {\n station_code: params?.stationCode,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type { GridTriggerParams, GridTriggerResponse } from \"./types.js\";\n\nexport class EnergyModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Retrieve the current Dutch electricity grid congestion status for a\n * given postal code / province.\n *\n * @example\n * const result = await omni.energy.gridTrigger();\n * const result = await omni.energy.gridTrigger({ countryCode: \"NL\" });\n */\n async gridTrigger(params?: GridTriggerParams): Promise<GridTriggerResponse> {\n return this.http.get<GridTriggerResponse>(\"/v1/energy/grid-trigger\", {\n country_code: params?.countryCode,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type {\n RegisterWebhookParams,\n WebhookCreatedResponse,\n WebhookListResponse,\n} from \"./types.js\";\n\nexport class WebhooksModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Register a new outbound webhook. OmniZoek will POST to `url` whenever\n * any of the specified `events` fire.\n *\n * @example\n * const wh = await omni.webhooks.register({\n * url: \"https://example.com/hook\",\n * events: [\"quota.warning\"],\n * });\n */\n async register(params: RegisterWebhookParams): Promise<WebhookCreatedResponse> {\n return this.http.post<WebhookCreatedResponse>(\"/v1/webhooks\", {\n url: params.url,\n events: params.events,\n });\n }\n\n /**\n * List all registered webhooks for this API key.\n *\n * @example\n * const { webhooks } = await omni.webhooks.list();\n */\n async list(): Promise<WebhookListResponse> {\n return this.http.get<WebhookListResponse>(\"/v1/webhooks\");\n }\n\n /**\n * Delete a webhook by its ID.\n *\n * @example\n * await omni.webhooks.delete(\"wh_abc123\");\n */\n async delete(webhookId: string): Promise<void> {\n return this.http.delete(`/v1/webhooks/${encodeURIComponent(webhookId)}`);\n }\n}\n","import { HttpClient, type OmniClientOptions } from \"./client.js\";\nimport { GeoModule } from \"./geo.js\";\nimport { FinanceModule } from \"./finance.js\";\nimport { ComplianceModule } from \"./compliance.js\";\nimport { HrModule } from \"./hr.js\";\nimport { RealEstateModule } from \"./realEstate.js\";\nimport { LogisticsModule } from \"./logistics.js\";\nimport { EnergyModule } from \"./energy.js\";\nimport { WebhooksModule } from \"./webhooks.js\";\n\nexport { type OmniClientOptions };\n\n/**\n * The main entry point for the OmniZoek SDK.\n *\n * @example\n * ```ts\n * import { OmniClient } from \"@omnizoek/sdk\";\n *\n * const omni = new OmniClient({ apiKey: \"omni_live_…\" });\n *\n * const address = await omni.geo.enrichAddress({ postcode: \"1012LG\", houseNumber: 1 });\n * const wage = await omni.hr.minimumWage({ age: 21 });\n * ```\n */\nexport class OmniClient {\n /** Geographic address enrichment (BAG, CBS, energy labels) */\n readonly geo: GeoModule;\n /** Financial utilities (IBAN → BIC, VAT verification) */\n readonly finance: FinanceModule;\n /** Compliance checks (financial institution registers) */\n readonly compliance: ComplianceModule;\n /** HR calculations (minimum wage, holiday surcharge) */\n readonly hr: HrModule;\n /** Real-estate data (EP-Online energy labels) */\n readonly realEstate: RealEstateModule;\n /** Logistics (ZE-zones, NS disruptions) */\n readonly logistics: LogisticsModule;\n /** Energy (grid congestion triggers) */\n readonly energy: EnergyModule;\n /** Outbound webhooks (register, list, delete) */\n readonly webhooks: WebhooksModule;\n\n constructor(options: OmniClientOptions) {\n const http = new HttpClient(options);\n this.geo = new GeoModule(http);\n this.finance = new FinanceModule(http);\n this.compliance = new ComplianceModule(http);\n this.hr = new HrModule(http);\n this.realEstate = new RealEstateModule(http);\n this.logistics = new LogisticsModule(http);\n this.energy = new EnergyModule(http);\n this.webhooks = new WebhooksModule(http);\n }\n}\n","// Main entry point\nexport { OmniClient } from \"./OmniClient.js\";\nexport type { OmniClientOptions } from \"./OmniClient.js\";\n\n// Typed error classes\nexport {\n OmniError,\n OmniAuthError,\n OmniNotFoundError,\n OmniValidationError,\n OmniRateLimitError,\n OmniUpstreamError,\n OmniNetworkError,\n} from \"./errors.js\";\n\n// All request/response types\nexport type {\n AddressEnrichParams,\n AddressEnrichResponse,\n IbanToBicParams,\n IbanToBicResponse,\n VatVerifyParams,\n VatVerifyResponse,\n ValidateFinanceParams,\n FinanceValidationResponse,\n MinimumWageParams,\n MinimumWageResponse,\n HolidaySurchargeParams,\n HolidaySurchargeResponse,\n EnergyLabelParams,\n EnergyLabelResponse,\n EmissionZoneParams,\n EmissionZoneResponse,\n TransitDisruptionsParams,\n TransitDisruptionsResponse,\n GridTriggerParams,\n GridTriggerResponse,\n RegisterWebhookParams,\n WebhookCreatedResponse,\n WebhookSummary,\n WebhookListResponse,\n} from \"./types.js\";\n"]}
1
+ {"version":3,"sources":["../src/errors.ts","../src/client.ts","../src/geo.ts","../src/finance.ts","../src/compliance.ts","../src/hr.ts","../src/realEstate.ts","../src/logistics.ts","../src/energy.ts","../src/webhooks.ts","../src/OmniClient.ts","../src/index.ts"],"names":["OmniAuthError","OmniError","OmniNetworkError","OmniNotFoundError","OmniRateLimitError","OmniUpstreamError","OmniValidationError"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * errors.ts — Typed error classes for the OmniZoek SDK.\n */\n\nexport class OmniError extends Error {\n constructor(\n message: string,\n public readonly status: number,\n public readonly code: string,\n public readonly detail: string,\n ) {\n super(message);\n this.name = \"OmniError\";\n }\n}\n\n/** 401 — API key missing or invalid. */\nexport class OmniAuthError extends OmniError {\n constructor(detail: string) {\n super(`Authentication failed: ${detail}`, 401, \"auth_error\", detail);\n this.name = \"OmniAuthError\";\n }\n}\n\n/** 404 — Requested resource not found (address, label, etc.). */\nexport class OmniNotFoundError extends OmniError {\n constructor(detail: string) {\n super(`Not found: ${detail}`, 404, \"not_found\", detail);\n this.name = \"OmniNotFoundError\";\n }\n}\n\n/** 422 — Request parameters failed validation. */\nexport class OmniValidationError extends OmniError {\n constructor(detail: string) {\n super(`Validation error: ${detail}`, 422, \"validation_error\", detail);\n this.name = \"OmniValidationError\";\n }\n}\n\n/** 429 — Rate limit exceeded. Retried automatically by the client. */\nexport class OmniRateLimitError extends OmniError {\n constructor(public readonly retryAfterMs: number) {\n super(\n `Rate limit exceeded. Retry after ${retryAfterMs}ms.`,\n 429,\n \"rate_limit\",\n `Retry after ${retryAfterMs}ms`,\n );\n this.name = \"OmniRateLimitError\";\n }\n}\n\n/** 503 — Upstream data source unavailable (BAG, EP-Online, RDW, etc.). */\nexport class OmniUpstreamError extends OmniError {\n constructor(detail: string) {\n super(`Upstream error: ${detail}`, 503, \"upstream_error\", detail);\n this.name = \"OmniUpstreamError\";\n }\n}\n\n/** Network-level failure (DNS, timeout, no internet). */\nexport class OmniNetworkError extends Error {\n readonly cause?: Error;\n\n constructor(cause: unknown) {\n super(`Network error: ${cause instanceof Error ? cause.message : String(cause)}`);\n this.name = \"OmniNetworkError\";\n if (cause instanceof Error) this.cause = cause;\n }\n}\n","/**\n * client.ts — Core HTTP client with automatic retry and error mapping.\n */\n\nimport {\n OmniAuthError,\n OmniNetworkError,\n OmniNotFoundError,\n OmniRateLimitError,\n OmniUpstreamError,\n OmniValidationError,\n} from \"./errors.js\";\n\nexport interface OmniClientOptions {\n /** Your OmniZoek API key (omni_live_… or omni_test_…) */\n apiKey: string;\n /** Override the base URL — useful for testing. Default: https://api.omnizoek.nl */\n baseUrl?: string;\n /** Max retries on 429 rate-limit responses. Default: 3 */\n maxRetries?: number;\n /** Base delay in ms for exponential backoff. Default: 500 */\n retryDelayMs?: number;\n /** Request timeout in ms. Default: 20000 */\n timeoutMs?: number;\n}\n\nconst DEFAULT_BASE_URL = \"https://api.omnizoek.nl\";\nconst DEFAULT_MAX_RETRIES = 3;\nconst DEFAULT_RETRY_DELAY_MS = 500;\nconst DEFAULT_TIMEOUT_MS = 20_000;\n\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport class HttpClient {\n private readonly apiKey: string;\n private readonly baseUrl: string;\n private readonly maxRetries: number;\n private readonly retryDelayMs: number;\n private readonly timeoutMs: number;\n\n constructor(options: OmniClientOptions) {\n this.apiKey = options.apiKey;\n this.baseUrl = (options.baseUrl ?? DEFAULT_BASE_URL).replace(/\\/$/, \"\");\n this.maxRetries = options.maxRetries ?? DEFAULT_MAX_RETRIES;\n this.retryDelayMs = options.retryDelayMs ?? DEFAULT_RETRY_DELAY_MS;\n this.timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n }\n\n async get<T>(path: string, params?: Record<string, string | number | boolean | undefined>): Promise<T> {\n const url = new URL(this.baseUrl + path);\n\n if (params) {\n for (const [key, value] of Object.entries(params)) {\n if (value !== undefined) {\n url.searchParams.set(key, String(value));\n }\n }\n }\n\n let attempt = 0;\n\n while (true) {\n let response: Response;\n\n try {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.timeoutMs);\n\n response = await fetch(url.toString(), {\n method: \"GET\",\n headers: {\n \"X-API-Key\": this.apiKey,\n \"Accept\": \"application/json\",\n \"User-Agent\": \"@omnizoek/sdk/0.1.0\",\n },\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n } catch (err) {\n throw new OmniNetworkError(err);\n }\n\n // 429 — retry with exponential backoff\n if (response.status === 429 && attempt < this.maxRetries) {\n const retryAfter = Number(response.headers.get(\"Retry-After\") ?? 0);\n const delay = retryAfter > 0\n ? retryAfter * 1000\n : this.retryDelayMs * Math.pow(2, attempt);\n\n attempt++;\n await sleep(delay);\n continue;\n }\n\n if (!response.ok) {\n await this._throwFromResponse(response);\n }\n\n return response.json() as Promise<T>;\n }\n }\n\n async post<T>(path: string, body?: unknown): Promise<T> {\n let response: Response;\n\n try {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.timeoutMs);\n\n response = await fetch(this.baseUrl + path, {\n method: \"POST\",\n headers: {\n \"X-API-Key\": this.apiKey,\n \"Accept\": \"application/json\",\n \"Content-Type\": \"application/json\",\n \"User-Agent\": \"@omnizoek/sdk/0.1.0\",\n },\n body: body !== undefined ? JSON.stringify(body) : undefined,\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n } catch (err) {\n throw new OmniNetworkError(err);\n }\n\n if (!response.ok) {\n await this._throwFromResponse(response);\n }\n\n return response.json() as Promise<T>;\n }\n\n async delete(path: string): Promise<void> {\n let response: Response;\n\n try {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.timeoutMs);\n\n response = await fetch(this.baseUrl + path, {\n method: \"DELETE\",\n headers: {\n \"X-API-Key\": this.apiKey,\n \"User-Agent\": \"@omnizoek/sdk/0.1.0\",\n },\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n } catch (err) {\n throw new OmniNetworkError(err);\n }\n\n if (!response.ok) {\n await this._throwFromResponse(response);\n }\n }\n\n private async _throwFromResponse(response: Response): Promise<never> {\n let detail = response.statusText;\n try {\n const body = await response.json() as { detail?: unknown; error?: unknown };\n const raw = body.detail ?? body.error ?? detail;\n // FastAPI 422 returns detail as an array of validation objects; others are strings.\n detail = typeof raw === \"string\"\n ? raw\n : JSON.stringify(raw);\n } catch {\n // non-JSON body — keep statusText\n }\n\n switch (response.status) {\n case 401: throw new OmniAuthError(detail);\n case 404: throw new OmniNotFoundError(detail);\n case 422: throw new OmniValidationError(detail);\n case 429: throw new OmniRateLimitError(0);\n case 503: throw new OmniUpstreamError(detail);\n default: {\n const { OmniError } = await import(\"./errors.js\");\n throw new OmniError(\n `API error ${response.status}: ${detail}`,\n response.status,\n \"api_error\",\n detail,\n );\n }\n }\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type { AddressEnrichParams, AddressEnrichResponse } from \"./types.js\";\n\nexport class GeoModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Enrich a Dutch address with BAG data, coordinates, neighbourhood\n * statistics, energy labels and more.\n *\n * @example\n * const result = await omni.geo.enrichAddress({ postcode: \"1012LG\", houseNumber: 1 });\n */\n async enrichAddress(params: AddressEnrichParams): Promise<AddressEnrichResponse> {\n return this.http.get<AddressEnrichResponse>(\"/v1/geo/address-enrich\", {\n postcode: params.postcode,\n house_number: params.houseNumber,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type {\n IbanToBicParams,\n IbanToBicResponse,\n VatVerifyParams,\n VatVerifyResponse,\n} from \"./types.js\";\n\nexport class FinanceModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Resolve an IBAN to its BIC/SWIFT code and bank name.\n *\n * @example\n * const result = await omni.finance.ibanToBic({ iban: \"NL91ABNA0417164300\" });\n */\n async ibanToBic(params: IbanToBicParams): Promise<IbanToBicResponse> {\n return this.http.get<IbanToBicResponse>(\"/v1/finance/iban-to-bic\", {\n iban: params.iban,\n });\n }\n\n /**\n * Verify a Dutch BTW (VAT) number via the EU VIES service and return\n * company metadata.\n *\n * @example\n * const result = await omni.finance.vatVerify({ vatNumber: \"NL123456782B01\" });\n */\n async vatVerify(params: VatVerifyParams): Promise<VatVerifyResponse> {\n return this.http.get<VatVerifyResponse>(\"/v1/finance/vat-verify\", {\n vat_number: params.vatNumber,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type { ValidateFinanceParams, FinanceValidationResponse } from \"./types.js\";\n\nexport class ComplianceModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Validate a Dutch BSN or IBAN number using checksum algorithms.\n *\n * @example\n * const result = await omni.compliance.validateFinance({ type: \"iban\", number: \"NL91ABNA0417164300\" });\n */\n async validateFinance(params: ValidateFinanceParams): Promise<FinanceValidationResponse> {\n return this.http.get<FinanceValidationResponse>(\"/v1/compliance/validate-finance\", {\n type: params.type,\n number: params.number,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type {\n MinimumWageParams,\n MinimumWageResponse,\n HolidaySurchargeParams,\n HolidaySurchargeResponse,\n} from \"./types.js\";\n\nexport class HrModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Look up the current Dutch statutory minimum wage for a given age.\n *\n * @example\n * const result = await omni.hr.minimumWage({ age: 21 });\n */\n async minimumWage(params: MinimumWageParams): Promise<MinimumWageResponse> {\n return this.http.get<MinimumWageResponse>(\"/v1/hr/minimum-wage\", {\n age: params.age,\n });\n }\n\n /**\n * Check whether a given date is a public holiday (and get the applicable\n * surcharge multiplier for a given industry).\n *\n * @example\n * const result = await omni.hr.holidaySurcharge({ date: \"2024-12-25\", industry: \"retail\" });\n */\n async holidaySurcharge(params: HolidaySurchargeParams): Promise<HolidaySurchargeResponse> {\n return this.http.get<HolidaySurchargeResponse>(\"/v1/hr/holiday-surcharge\", {\n date: params.date,\n industry: params.industry,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type { EnergyLabelParams, EnergyLabelResponse } from \"./types.js\";\n\nexport class RealEstateModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Retrieve the official EP-Online energy label for a Dutch address.\n *\n * @example\n * const result = await omni.realEstate.energyLabel({ postcode: \"1012LG\", houseNumber: 1 });\n */\n async energyLabel(params: EnergyLabelParams): Promise<EnergyLabelResponse> {\n return this.http.get<EnergyLabelResponse>(\"/v1/real-estate/energy-label\", {\n postcode: params.postcode,\n house_number: params.houseNumber,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type {\n EmissionZoneParams,\n EmissionZoneResponse,\n TransitDisruptionsParams,\n TransitDisruptionsResponse,\n} from \"./types.js\";\n\nexport class LogisticsModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Check whether a vehicle (by Dutch licence plate / kenteken) is allowed\n * in a zero-emission zone (ZE-zone).\n *\n * @example\n * const result = await omni.logistics.emissionZone({ kenteken: \"AB123C\" });\n */\n async emissionZone(params: EmissionZoneParams): Promise<EmissionZoneResponse> {\n return this.http.get<EmissionZoneResponse>(\"/v1/logistics/emission-zone\", {\n kenteken: params.kenteken,\n });\n }\n\n /**\n * Retrieve current and upcoming NS train disruptions, optionally filtered\n * by station code.\n *\n * @example\n * const result = await omni.logistics.transitDisruptions({ stationCode: \"ASD\" });\n */\n async transitDisruptions(params?: TransitDisruptionsParams): Promise<TransitDisruptionsResponse> {\n return this.http.get<TransitDisruptionsResponse>(\"/v1/logistics/transit-disruptions\", {\n station_code: params?.stationCode,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type { GridTriggerParams, GridTriggerResponse } from \"./types.js\";\n\nexport class EnergyModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Retrieve the current Dutch electricity grid congestion status for a\n * given postal code / province.\n *\n * @example\n * const result = await omni.energy.gridTrigger();\n * const result = await omni.energy.gridTrigger({ countryCode: \"NL\" });\n */\n async gridTrigger(params?: GridTriggerParams): Promise<GridTriggerResponse> {\n return this.http.get<GridTriggerResponse>(\"/v1/energy/grid-trigger\", {\n country_code: params?.countryCode,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type {\n RegisterWebhookParams,\n WebhookCreatedResponse,\n WebhookListResponse,\n} from \"./types.js\";\n\nexport class WebhooksModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Register a new outbound webhook. OmniZoek will POST to `url` whenever\n * any of the specified `events` fire.\n *\n * @example\n * const wh = await omni.webhooks.register({\n * url: \"https://example.com/hook\",\n * events: [\"quota.warning\"],\n * });\n */\n async register(params: RegisterWebhookParams): Promise<WebhookCreatedResponse> {\n return this.http.post<WebhookCreatedResponse>(\"/v1/webhooks\", {\n url: params.url,\n events: params.events,\n });\n }\n\n /**\n * List all registered webhooks for this API key.\n *\n * @example\n * const { webhooks } = await omni.webhooks.list();\n */\n async list(): Promise<WebhookListResponse> {\n return this.http.get<WebhookListResponse>(\"/v1/webhooks\");\n }\n\n /**\n * Delete a webhook by its ID.\n *\n * @example\n * await omni.webhooks.delete(\"wh_abc123\");\n */\n async delete(webhookId: string): Promise<void> {\n return this.http.delete(`/v1/webhooks/${encodeURIComponent(webhookId)}`);\n }\n}\n","import { HttpClient, type OmniClientOptions } from \"./client.js\";\nimport { GeoModule } from \"./geo.js\";\nimport { FinanceModule } from \"./finance.js\";\nimport { ComplianceModule } from \"./compliance.js\";\nimport { HrModule } from \"./hr.js\";\nimport { RealEstateModule } from \"./realEstate.js\";\nimport { LogisticsModule } from \"./logistics.js\";\nimport { EnergyModule } from \"./energy.js\";\nimport { WebhooksModule } from \"./webhooks.js\";\n\nexport { type OmniClientOptions };\n\n/**\n * The main entry point for the OmniZoek SDK.\n *\n * @example\n * ```ts\n * import { OmniClient } from \"@omnizoek/sdk\";\n *\n * const omni = new OmniClient({ apiKey: \"omni_live_…\" });\n *\n * const address = await omni.geo.enrichAddress({ postcode: \"1012LG\", houseNumber: 1 });\n * const wage = await omni.hr.minimumWage({ age: 21 });\n * ```\n */\nexport class OmniClient {\n /** Geographic address enrichment (BAG, CBS, energy labels) */\n readonly geo: GeoModule;\n /** Financial utilities (IBAN → BIC, VAT verification) */\n readonly finance: FinanceModule;\n /** Compliance checks (financial institution registers) */\n readonly compliance: ComplianceModule;\n /** HR calculations (minimum wage, holiday surcharge) */\n readonly hr: HrModule;\n /** Real-estate data (EP-Online energy labels) */\n readonly realEstate: RealEstateModule;\n /** Logistics (ZE-zones, NS disruptions) */\n readonly logistics: LogisticsModule;\n /** Energy (grid congestion triggers) */\n readonly energy: EnergyModule;\n /** Outbound webhooks (register, list, delete) */\n readonly webhooks: WebhooksModule;\n\n constructor(options: OmniClientOptions) {\n const http = new HttpClient(options);\n this.geo = new GeoModule(http);\n this.finance = new FinanceModule(http);\n this.compliance = new ComplianceModule(http);\n this.hr = new HrModule(http);\n this.realEstate = new RealEstateModule(http);\n this.logistics = new LogisticsModule(http);\n this.energy = new EnergyModule(http);\n this.webhooks = new WebhooksModule(http);\n }\n}\n","// Main entry point\nexport { OmniClient } from \"./OmniClient.js\";\nexport type { OmniClientOptions } from \"./OmniClient.js\";\n\n// Typed error classes\nexport {\n OmniError,\n OmniAuthError,\n OmniNotFoundError,\n OmniValidationError,\n OmniRateLimitError,\n OmniUpstreamError,\n OmniNetworkError,\n} from \"./errors.js\";\n\n// All request/response types\nexport type {\n AddressEnrichParams,\n AddressEnrichResponse,\n IbanToBicParams,\n IbanToBicResponse,\n VatVerifyParams,\n VatVerifyResponse,\n ValidateFinanceParams,\n FinanceValidationResponse,\n MinimumWageParams,\n MinimumWageResponse,\n HolidaySurchargeParams,\n HolidaySurchargeResponse,\n EnergyLabelParams,\n EnergyLabelResponse,\n EmissionZoneParams,\n EmissionZoneResponse,\n TransitDisruptionsParams,\n TransitDisruptionsResponse,\n GridTriggerParams,\n GridTriggerResponse,\n RegisterWebhookParams,\n WebhookCreatedResponse,\n WebhookSummary,\n WebhookListResponse,\n} from \"./types.js\";\n"]}
package/dist/index.js CHANGED
@@ -226,7 +226,7 @@ var GeoModule = class {
226
226
  * const result = await omni.geo.enrichAddress({ postcode: "1012LG", houseNumber: 1 });
227
227
  */
228
228
  async enrichAddress(params) {
229
- return this.http.get("/v1/geo/enrich-address", {
229
+ return this.http.get("/v1/geo/address-enrich", {
230
230
  postcode: params.postcode,
231
231
  house_number: params.houseNumber
232
232
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/errors.ts","../src/client.ts","../src/geo.ts","../src/finance.ts","../src/compliance.ts","../src/hr.ts","../src/realEstate.ts","../src/logistics.ts","../src/energy.ts","../src/webhooks.ts","../src/OmniClient.ts","../src/index.ts"],"names":["OmniError"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * errors.ts — Typed error classes for the OmniZoek SDK.\n */\n\nexport class OmniError extends Error {\n constructor(\n message: string,\n public readonly status: number,\n public readonly code: string,\n public readonly detail: string,\n ) {\n super(message);\n this.name = \"OmniError\";\n }\n}\n\n/** 401 — API key missing or invalid. */\nexport class OmniAuthError extends OmniError {\n constructor(detail: string) {\n super(`Authentication failed: ${detail}`, 401, \"auth_error\", detail);\n this.name = \"OmniAuthError\";\n }\n}\n\n/** 404 — Requested resource not found (address, label, etc.). */\nexport class OmniNotFoundError extends OmniError {\n constructor(detail: string) {\n super(`Not found: ${detail}`, 404, \"not_found\", detail);\n this.name = \"OmniNotFoundError\";\n }\n}\n\n/** 422 — Request parameters failed validation. */\nexport class OmniValidationError extends OmniError {\n constructor(detail: string) {\n super(`Validation error: ${detail}`, 422, \"validation_error\", detail);\n this.name = \"OmniValidationError\";\n }\n}\n\n/** 429 — Rate limit exceeded. Retried automatically by the client. */\nexport class OmniRateLimitError extends OmniError {\n constructor(public readonly retryAfterMs: number) {\n super(\n `Rate limit exceeded. Retry after ${retryAfterMs}ms.`,\n 429,\n \"rate_limit\",\n `Retry after ${retryAfterMs}ms`,\n );\n this.name = \"OmniRateLimitError\";\n }\n}\n\n/** 503 — Upstream data source unavailable (BAG, EP-Online, RDW, etc.). */\nexport class OmniUpstreamError extends OmniError {\n constructor(detail: string) {\n super(`Upstream error: ${detail}`, 503, \"upstream_error\", detail);\n this.name = \"OmniUpstreamError\";\n }\n}\n\n/** Network-level failure (DNS, timeout, no internet). */\nexport class OmniNetworkError extends Error {\n readonly cause?: Error;\n\n constructor(cause: unknown) {\n super(`Network error: ${cause instanceof Error ? cause.message : String(cause)}`);\n this.name = \"OmniNetworkError\";\n if (cause instanceof Error) this.cause = cause;\n }\n}\n","/**\n * client.ts — Core HTTP client with automatic retry and error mapping.\n */\n\nimport {\n OmniAuthError,\n OmniNetworkError,\n OmniNotFoundError,\n OmniRateLimitError,\n OmniUpstreamError,\n OmniValidationError,\n} from \"./errors.js\";\n\nexport interface OmniClientOptions {\n /** Your OmniZoek API key (omni_live_… or omni_test_…) */\n apiKey: string;\n /** Override the base URL — useful for testing. Default: https://api.omnizoek.nl */\n baseUrl?: string;\n /** Max retries on 429 rate-limit responses. Default: 3 */\n maxRetries?: number;\n /** Base delay in ms for exponential backoff. Default: 500 */\n retryDelayMs?: number;\n /** Request timeout in ms. Default: 20000 */\n timeoutMs?: number;\n}\n\nconst DEFAULT_BASE_URL = \"https://api.omnizoek.nl\";\nconst DEFAULT_MAX_RETRIES = 3;\nconst DEFAULT_RETRY_DELAY_MS = 500;\nconst DEFAULT_TIMEOUT_MS = 20_000;\n\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport class HttpClient {\n private readonly apiKey: string;\n private readonly baseUrl: string;\n private readonly maxRetries: number;\n private readonly retryDelayMs: number;\n private readonly timeoutMs: number;\n\n constructor(options: OmniClientOptions) {\n this.apiKey = options.apiKey;\n this.baseUrl = (options.baseUrl ?? DEFAULT_BASE_URL).replace(/\\/$/, \"\");\n this.maxRetries = options.maxRetries ?? DEFAULT_MAX_RETRIES;\n this.retryDelayMs = options.retryDelayMs ?? DEFAULT_RETRY_DELAY_MS;\n this.timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n }\n\n async get<T>(path: string, params?: Record<string, string | number | boolean | undefined>): Promise<T> {\n const url = new URL(this.baseUrl + path);\n\n if (params) {\n for (const [key, value] of Object.entries(params)) {\n if (value !== undefined) {\n url.searchParams.set(key, String(value));\n }\n }\n }\n\n let attempt = 0;\n\n while (true) {\n let response: Response;\n\n try {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.timeoutMs);\n\n response = await fetch(url.toString(), {\n method: \"GET\",\n headers: {\n \"X-API-Key\": this.apiKey,\n \"Accept\": \"application/json\",\n \"User-Agent\": \"@omnizoek/sdk/0.1.0\",\n },\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n } catch (err) {\n throw new OmniNetworkError(err);\n }\n\n // 429 — retry with exponential backoff\n if (response.status === 429 && attempt < this.maxRetries) {\n const retryAfter = Number(response.headers.get(\"Retry-After\") ?? 0);\n const delay = retryAfter > 0\n ? retryAfter * 1000\n : this.retryDelayMs * Math.pow(2, attempt);\n\n attempt++;\n await sleep(delay);\n continue;\n }\n\n if (!response.ok) {\n await this._throwFromResponse(response);\n }\n\n return response.json() as Promise<T>;\n }\n }\n\n async post<T>(path: string, body?: unknown): Promise<T> {\n let response: Response;\n\n try {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.timeoutMs);\n\n response = await fetch(this.baseUrl + path, {\n method: \"POST\",\n headers: {\n \"X-API-Key\": this.apiKey,\n \"Accept\": \"application/json\",\n \"Content-Type\": \"application/json\",\n \"User-Agent\": \"@omnizoek/sdk/0.1.0\",\n },\n body: body !== undefined ? JSON.stringify(body) : undefined,\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n } catch (err) {\n throw new OmniNetworkError(err);\n }\n\n if (!response.ok) {\n await this._throwFromResponse(response);\n }\n\n return response.json() as Promise<T>;\n }\n\n async delete(path: string): Promise<void> {\n let response: Response;\n\n try {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.timeoutMs);\n\n response = await fetch(this.baseUrl + path, {\n method: \"DELETE\",\n headers: {\n \"X-API-Key\": this.apiKey,\n \"User-Agent\": \"@omnizoek/sdk/0.1.0\",\n },\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n } catch (err) {\n throw new OmniNetworkError(err);\n }\n\n if (!response.ok) {\n await this._throwFromResponse(response);\n }\n }\n\n private async _throwFromResponse(response: Response): Promise<never> {\n let detail = response.statusText;\n try {\n const body = await response.json() as { detail?: unknown; error?: unknown };\n const raw = body.detail ?? body.error ?? detail;\n // FastAPI 422 returns detail as an array of validation objects; others are strings.\n detail = typeof raw === \"string\"\n ? raw\n : JSON.stringify(raw);\n } catch {\n // non-JSON body — keep statusText\n }\n\n switch (response.status) {\n case 401: throw new OmniAuthError(detail);\n case 404: throw new OmniNotFoundError(detail);\n case 422: throw new OmniValidationError(detail);\n case 429: throw new OmniRateLimitError(0);\n case 503: throw new OmniUpstreamError(detail);\n default: {\n const { OmniError } = await import(\"./errors.js\");\n throw new OmniError(\n `API error ${response.status}: ${detail}`,\n response.status,\n \"api_error\",\n detail,\n );\n }\n }\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type { AddressEnrichParams, AddressEnrichResponse } from \"./types.js\";\n\nexport class GeoModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Enrich a Dutch address with BAG data, coordinates, neighbourhood\n * statistics, energy labels and more.\n *\n * @example\n * const result = await omni.geo.enrichAddress({ postcode: \"1012LG\", houseNumber: 1 });\n */\n async enrichAddress(params: AddressEnrichParams): Promise<AddressEnrichResponse> {\n return this.http.get<AddressEnrichResponse>(\"/v1/geo/enrich-address\", {\n postcode: params.postcode,\n house_number: params.houseNumber,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type {\n IbanToBicParams,\n IbanToBicResponse,\n VatVerifyParams,\n VatVerifyResponse,\n} from \"./types.js\";\n\nexport class FinanceModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Resolve an IBAN to its BIC/SWIFT code and bank name.\n *\n * @example\n * const result = await omni.finance.ibanToBic({ iban: \"NL91ABNA0417164300\" });\n */\n async ibanToBic(params: IbanToBicParams): Promise<IbanToBicResponse> {\n return this.http.get<IbanToBicResponse>(\"/v1/finance/iban-to-bic\", {\n iban: params.iban,\n });\n }\n\n /**\n * Verify a Dutch BTW (VAT) number via the EU VIES service and return\n * company metadata.\n *\n * @example\n * const result = await omni.finance.vatVerify({ vatNumber: \"NL123456782B01\" });\n */\n async vatVerify(params: VatVerifyParams): Promise<VatVerifyResponse> {\n return this.http.get<VatVerifyResponse>(\"/v1/finance/vat-verify\", {\n vat_number: params.vatNumber,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type { ValidateFinanceParams, FinanceValidationResponse } from \"./types.js\";\n\nexport class ComplianceModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Validate a Dutch BSN or IBAN number using checksum algorithms.\n *\n * @example\n * const result = await omni.compliance.validateFinance({ type: \"iban\", number: \"NL91ABNA0417164300\" });\n */\n async validateFinance(params: ValidateFinanceParams): Promise<FinanceValidationResponse> {\n return this.http.get<FinanceValidationResponse>(\"/v1/compliance/validate-finance\", {\n type: params.type,\n number: params.number,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type {\n MinimumWageParams,\n MinimumWageResponse,\n HolidaySurchargeParams,\n HolidaySurchargeResponse,\n} from \"./types.js\";\n\nexport class HrModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Look up the current Dutch statutory minimum wage for a given age.\n *\n * @example\n * const result = await omni.hr.minimumWage({ age: 21 });\n */\n async minimumWage(params: MinimumWageParams): Promise<MinimumWageResponse> {\n return this.http.get<MinimumWageResponse>(\"/v1/hr/minimum-wage\", {\n age: params.age,\n });\n }\n\n /**\n * Check whether a given date is a public holiday (and get the applicable\n * surcharge multiplier for a given industry).\n *\n * @example\n * const result = await omni.hr.holidaySurcharge({ date: \"2024-12-25\", industry: \"retail\" });\n */\n async holidaySurcharge(params: HolidaySurchargeParams): Promise<HolidaySurchargeResponse> {\n return this.http.get<HolidaySurchargeResponse>(\"/v1/hr/holiday-surcharge\", {\n date: params.date,\n industry: params.industry,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type { EnergyLabelParams, EnergyLabelResponse } from \"./types.js\";\n\nexport class RealEstateModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Retrieve the official EP-Online energy label for a Dutch address.\n *\n * @example\n * const result = await omni.realEstate.energyLabel({ postcode: \"1012LG\", houseNumber: 1 });\n */\n async energyLabel(params: EnergyLabelParams): Promise<EnergyLabelResponse> {\n return this.http.get<EnergyLabelResponse>(\"/v1/real-estate/energy-label\", {\n postcode: params.postcode,\n house_number: params.houseNumber,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type {\n EmissionZoneParams,\n EmissionZoneResponse,\n TransitDisruptionsParams,\n TransitDisruptionsResponse,\n} from \"./types.js\";\n\nexport class LogisticsModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Check whether a vehicle (by Dutch licence plate / kenteken) is allowed\n * in a zero-emission zone (ZE-zone).\n *\n * @example\n * const result = await omni.logistics.emissionZone({ kenteken: \"AB123C\" });\n */\n async emissionZone(params: EmissionZoneParams): Promise<EmissionZoneResponse> {\n return this.http.get<EmissionZoneResponse>(\"/v1/logistics/emission-zone\", {\n kenteken: params.kenteken,\n });\n }\n\n /**\n * Retrieve current and upcoming NS train disruptions, optionally filtered\n * by station code.\n *\n * @example\n * const result = await omni.logistics.transitDisruptions({ stationCode: \"ASD\" });\n */\n async transitDisruptions(params?: TransitDisruptionsParams): Promise<TransitDisruptionsResponse> {\n return this.http.get<TransitDisruptionsResponse>(\"/v1/logistics/transit-disruptions\", {\n station_code: params?.stationCode,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type { GridTriggerParams, GridTriggerResponse } from \"./types.js\";\n\nexport class EnergyModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Retrieve the current Dutch electricity grid congestion status for a\n * given postal code / province.\n *\n * @example\n * const result = await omni.energy.gridTrigger();\n * const result = await omni.energy.gridTrigger({ countryCode: \"NL\" });\n */\n async gridTrigger(params?: GridTriggerParams): Promise<GridTriggerResponse> {\n return this.http.get<GridTriggerResponse>(\"/v1/energy/grid-trigger\", {\n country_code: params?.countryCode,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type {\n RegisterWebhookParams,\n WebhookCreatedResponse,\n WebhookListResponse,\n} from \"./types.js\";\n\nexport class WebhooksModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Register a new outbound webhook. OmniZoek will POST to `url` whenever\n * any of the specified `events` fire.\n *\n * @example\n * const wh = await omni.webhooks.register({\n * url: \"https://example.com/hook\",\n * events: [\"quota.warning\"],\n * });\n */\n async register(params: RegisterWebhookParams): Promise<WebhookCreatedResponse> {\n return this.http.post<WebhookCreatedResponse>(\"/v1/webhooks\", {\n url: params.url,\n events: params.events,\n });\n }\n\n /**\n * List all registered webhooks for this API key.\n *\n * @example\n * const { webhooks } = await omni.webhooks.list();\n */\n async list(): Promise<WebhookListResponse> {\n return this.http.get<WebhookListResponse>(\"/v1/webhooks\");\n }\n\n /**\n * Delete a webhook by its ID.\n *\n * @example\n * await omni.webhooks.delete(\"wh_abc123\");\n */\n async delete(webhookId: string): Promise<void> {\n return this.http.delete(`/v1/webhooks/${encodeURIComponent(webhookId)}`);\n }\n}\n","import { HttpClient, type OmniClientOptions } from \"./client.js\";\nimport { GeoModule } from \"./geo.js\";\nimport { FinanceModule } from \"./finance.js\";\nimport { ComplianceModule } from \"./compliance.js\";\nimport { HrModule } from \"./hr.js\";\nimport { RealEstateModule } from \"./realEstate.js\";\nimport { LogisticsModule } from \"./logistics.js\";\nimport { EnergyModule } from \"./energy.js\";\nimport { WebhooksModule } from \"./webhooks.js\";\n\nexport { type OmniClientOptions };\n\n/**\n * The main entry point for the OmniZoek SDK.\n *\n * @example\n * ```ts\n * import { OmniClient } from \"@omnizoek/sdk\";\n *\n * const omni = new OmniClient({ apiKey: \"omni_live_…\" });\n *\n * const address = await omni.geo.enrichAddress({ postcode: \"1012LG\", houseNumber: 1 });\n * const wage = await omni.hr.minimumWage({ age: 21 });\n * ```\n */\nexport class OmniClient {\n /** Geographic address enrichment (BAG, CBS, energy labels) */\n readonly geo: GeoModule;\n /** Financial utilities (IBAN → BIC, VAT verification) */\n readonly finance: FinanceModule;\n /** Compliance checks (financial institution registers) */\n readonly compliance: ComplianceModule;\n /** HR calculations (minimum wage, holiday surcharge) */\n readonly hr: HrModule;\n /** Real-estate data (EP-Online energy labels) */\n readonly realEstate: RealEstateModule;\n /** Logistics (ZE-zones, NS disruptions) */\n readonly logistics: LogisticsModule;\n /** Energy (grid congestion triggers) */\n readonly energy: EnergyModule;\n /** Outbound webhooks (register, list, delete) */\n readonly webhooks: WebhooksModule;\n\n constructor(options: OmniClientOptions) {\n const http = new HttpClient(options);\n this.geo = new GeoModule(http);\n this.finance = new FinanceModule(http);\n this.compliance = new ComplianceModule(http);\n this.hr = new HrModule(http);\n this.realEstate = new RealEstateModule(http);\n this.logistics = new LogisticsModule(http);\n this.energy = new EnergyModule(http);\n this.webhooks = new WebhooksModule(http);\n }\n}\n","// Main entry point\nexport { OmniClient } from \"./OmniClient.js\";\nexport type { OmniClientOptions } from \"./OmniClient.js\";\n\n// Typed error classes\nexport {\n OmniError,\n OmniAuthError,\n OmniNotFoundError,\n OmniValidationError,\n OmniRateLimitError,\n OmniUpstreamError,\n OmniNetworkError,\n} from \"./errors.js\";\n\n// All request/response types\nexport type {\n AddressEnrichParams,\n AddressEnrichResponse,\n IbanToBicParams,\n IbanToBicResponse,\n VatVerifyParams,\n VatVerifyResponse,\n ValidateFinanceParams,\n FinanceValidationResponse,\n MinimumWageParams,\n MinimumWageResponse,\n HolidaySurchargeParams,\n HolidaySurchargeResponse,\n EnergyLabelParams,\n EnergyLabelResponse,\n EmissionZoneParams,\n EmissionZoneResponse,\n TransitDisruptionsParams,\n TransitDisruptionsResponse,\n GridTriggerParams,\n GridTriggerResponse,\n RegisterWebhookParams,\n WebhookCreatedResponse,\n WebhookSummary,\n WebhookListResponse,\n} from \"./types.js\";\n"]}
1
+ {"version":3,"sources":["../src/errors.ts","../src/client.ts","../src/geo.ts","../src/finance.ts","../src/compliance.ts","../src/hr.ts","../src/realEstate.ts","../src/logistics.ts","../src/energy.ts","../src/webhooks.ts","../src/OmniClient.ts","../src/index.ts"],"names":["OmniError"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * errors.ts — Typed error classes for the OmniZoek SDK.\n */\n\nexport class OmniError extends Error {\n constructor(\n message: string,\n public readonly status: number,\n public readonly code: string,\n public readonly detail: string,\n ) {\n super(message);\n this.name = \"OmniError\";\n }\n}\n\n/** 401 — API key missing or invalid. */\nexport class OmniAuthError extends OmniError {\n constructor(detail: string) {\n super(`Authentication failed: ${detail}`, 401, \"auth_error\", detail);\n this.name = \"OmniAuthError\";\n }\n}\n\n/** 404 — Requested resource not found (address, label, etc.). */\nexport class OmniNotFoundError extends OmniError {\n constructor(detail: string) {\n super(`Not found: ${detail}`, 404, \"not_found\", detail);\n this.name = \"OmniNotFoundError\";\n }\n}\n\n/** 422 — Request parameters failed validation. */\nexport class OmniValidationError extends OmniError {\n constructor(detail: string) {\n super(`Validation error: ${detail}`, 422, \"validation_error\", detail);\n this.name = \"OmniValidationError\";\n }\n}\n\n/** 429 — Rate limit exceeded. Retried automatically by the client. */\nexport class OmniRateLimitError extends OmniError {\n constructor(public readonly retryAfterMs: number) {\n super(\n `Rate limit exceeded. Retry after ${retryAfterMs}ms.`,\n 429,\n \"rate_limit\",\n `Retry after ${retryAfterMs}ms`,\n );\n this.name = \"OmniRateLimitError\";\n }\n}\n\n/** 503 — Upstream data source unavailable (BAG, EP-Online, RDW, etc.). */\nexport class OmniUpstreamError extends OmniError {\n constructor(detail: string) {\n super(`Upstream error: ${detail}`, 503, \"upstream_error\", detail);\n this.name = \"OmniUpstreamError\";\n }\n}\n\n/** Network-level failure (DNS, timeout, no internet). */\nexport class OmniNetworkError extends Error {\n readonly cause?: Error;\n\n constructor(cause: unknown) {\n super(`Network error: ${cause instanceof Error ? cause.message : String(cause)}`);\n this.name = \"OmniNetworkError\";\n if (cause instanceof Error) this.cause = cause;\n }\n}\n","/**\n * client.ts — Core HTTP client with automatic retry and error mapping.\n */\n\nimport {\n OmniAuthError,\n OmniNetworkError,\n OmniNotFoundError,\n OmniRateLimitError,\n OmniUpstreamError,\n OmniValidationError,\n} from \"./errors.js\";\n\nexport interface OmniClientOptions {\n /** Your OmniZoek API key (omni_live_… or omni_test_…) */\n apiKey: string;\n /** Override the base URL — useful for testing. Default: https://api.omnizoek.nl */\n baseUrl?: string;\n /** Max retries on 429 rate-limit responses. Default: 3 */\n maxRetries?: number;\n /** Base delay in ms for exponential backoff. Default: 500 */\n retryDelayMs?: number;\n /** Request timeout in ms. Default: 20000 */\n timeoutMs?: number;\n}\n\nconst DEFAULT_BASE_URL = \"https://api.omnizoek.nl\";\nconst DEFAULT_MAX_RETRIES = 3;\nconst DEFAULT_RETRY_DELAY_MS = 500;\nconst DEFAULT_TIMEOUT_MS = 20_000;\n\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport class HttpClient {\n private readonly apiKey: string;\n private readonly baseUrl: string;\n private readonly maxRetries: number;\n private readonly retryDelayMs: number;\n private readonly timeoutMs: number;\n\n constructor(options: OmniClientOptions) {\n this.apiKey = options.apiKey;\n this.baseUrl = (options.baseUrl ?? DEFAULT_BASE_URL).replace(/\\/$/, \"\");\n this.maxRetries = options.maxRetries ?? DEFAULT_MAX_RETRIES;\n this.retryDelayMs = options.retryDelayMs ?? DEFAULT_RETRY_DELAY_MS;\n this.timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n }\n\n async get<T>(path: string, params?: Record<string, string | number | boolean | undefined>): Promise<T> {\n const url = new URL(this.baseUrl + path);\n\n if (params) {\n for (const [key, value] of Object.entries(params)) {\n if (value !== undefined) {\n url.searchParams.set(key, String(value));\n }\n }\n }\n\n let attempt = 0;\n\n while (true) {\n let response: Response;\n\n try {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.timeoutMs);\n\n response = await fetch(url.toString(), {\n method: \"GET\",\n headers: {\n \"X-API-Key\": this.apiKey,\n \"Accept\": \"application/json\",\n \"User-Agent\": \"@omnizoek/sdk/0.1.0\",\n },\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n } catch (err) {\n throw new OmniNetworkError(err);\n }\n\n // 429 — retry with exponential backoff\n if (response.status === 429 && attempt < this.maxRetries) {\n const retryAfter = Number(response.headers.get(\"Retry-After\") ?? 0);\n const delay = retryAfter > 0\n ? retryAfter * 1000\n : this.retryDelayMs * Math.pow(2, attempt);\n\n attempt++;\n await sleep(delay);\n continue;\n }\n\n if (!response.ok) {\n await this._throwFromResponse(response);\n }\n\n return response.json() as Promise<T>;\n }\n }\n\n async post<T>(path: string, body?: unknown): Promise<T> {\n let response: Response;\n\n try {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.timeoutMs);\n\n response = await fetch(this.baseUrl + path, {\n method: \"POST\",\n headers: {\n \"X-API-Key\": this.apiKey,\n \"Accept\": \"application/json\",\n \"Content-Type\": \"application/json\",\n \"User-Agent\": \"@omnizoek/sdk/0.1.0\",\n },\n body: body !== undefined ? JSON.stringify(body) : undefined,\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n } catch (err) {\n throw new OmniNetworkError(err);\n }\n\n if (!response.ok) {\n await this._throwFromResponse(response);\n }\n\n return response.json() as Promise<T>;\n }\n\n async delete(path: string): Promise<void> {\n let response: Response;\n\n try {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.timeoutMs);\n\n response = await fetch(this.baseUrl + path, {\n method: \"DELETE\",\n headers: {\n \"X-API-Key\": this.apiKey,\n \"User-Agent\": \"@omnizoek/sdk/0.1.0\",\n },\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n } catch (err) {\n throw new OmniNetworkError(err);\n }\n\n if (!response.ok) {\n await this._throwFromResponse(response);\n }\n }\n\n private async _throwFromResponse(response: Response): Promise<never> {\n let detail = response.statusText;\n try {\n const body = await response.json() as { detail?: unknown; error?: unknown };\n const raw = body.detail ?? body.error ?? detail;\n // FastAPI 422 returns detail as an array of validation objects; others are strings.\n detail = typeof raw === \"string\"\n ? raw\n : JSON.stringify(raw);\n } catch {\n // non-JSON body — keep statusText\n }\n\n switch (response.status) {\n case 401: throw new OmniAuthError(detail);\n case 404: throw new OmniNotFoundError(detail);\n case 422: throw new OmniValidationError(detail);\n case 429: throw new OmniRateLimitError(0);\n case 503: throw new OmniUpstreamError(detail);\n default: {\n const { OmniError } = await import(\"./errors.js\");\n throw new OmniError(\n `API error ${response.status}: ${detail}`,\n response.status,\n \"api_error\",\n detail,\n );\n }\n }\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type { AddressEnrichParams, AddressEnrichResponse } from \"./types.js\";\n\nexport class GeoModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Enrich a Dutch address with BAG data, coordinates, neighbourhood\n * statistics, energy labels and more.\n *\n * @example\n * const result = await omni.geo.enrichAddress({ postcode: \"1012LG\", houseNumber: 1 });\n */\n async enrichAddress(params: AddressEnrichParams): Promise<AddressEnrichResponse> {\n return this.http.get<AddressEnrichResponse>(\"/v1/geo/address-enrich\", {\n postcode: params.postcode,\n house_number: params.houseNumber,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type {\n IbanToBicParams,\n IbanToBicResponse,\n VatVerifyParams,\n VatVerifyResponse,\n} from \"./types.js\";\n\nexport class FinanceModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Resolve an IBAN to its BIC/SWIFT code and bank name.\n *\n * @example\n * const result = await omni.finance.ibanToBic({ iban: \"NL91ABNA0417164300\" });\n */\n async ibanToBic(params: IbanToBicParams): Promise<IbanToBicResponse> {\n return this.http.get<IbanToBicResponse>(\"/v1/finance/iban-to-bic\", {\n iban: params.iban,\n });\n }\n\n /**\n * Verify a Dutch BTW (VAT) number via the EU VIES service and return\n * company metadata.\n *\n * @example\n * const result = await omni.finance.vatVerify({ vatNumber: \"NL123456782B01\" });\n */\n async vatVerify(params: VatVerifyParams): Promise<VatVerifyResponse> {\n return this.http.get<VatVerifyResponse>(\"/v1/finance/vat-verify\", {\n vat_number: params.vatNumber,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type { ValidateFinanceParams, FinanceValidationResponse } from \"./types.js\";\n\nexport class ComplianceModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Validate a Dutch BSN or IBAN number using checksum algorithms.\n *\n * @example\n * const result = await omni.compliance.validateFinance({ type: \"iban\", number: \"NL91ABNA0417164300\" });\n */\n async validateFinance(params: ValidateFinanceParams): Promise<FinanceValidationResponse> {\n return this.http.get<FinanceValidationResponse>(\"/v1/compliance/validate-finance\", {\n type: params.type,\n number: params.number,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type {\n MinimumWageParams,\n MinimumWageResponse,\n HolidaySurchargeParams,\n HolidaySurchargeResponse,\n} from \"./types.js\";\n\nexport class HrModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Look up the current Dutch statutory minimum wage for a given age.\n *\n * @example\n * const result = await omni.hr.minimumWage({ age: 21 });\n */\n async minimumWage(params: MinimumWageParams): Promise<MinimumWageResponse> {\n return this.http.get<MinimumWageResponse>(\"/v1/hr/minimum-wage\", {\n age: params.age,\n });\n }\n\n /**\n * Check whether a given date is a public holiday (and get the applicable\n * surcharge multiplier for a given industry).\n *\n * @example\n * const result = await omni.hr.holidaySurcharge({ date: \"2024-12-25\", industry: \"retail\" });\n */\n async holidaySurcharge(params: HolidaySurchargeParams): Promise<HolidaySurchargeResponse> {\n return this.http.get<HolidaySurchargeResponse>(\"/v1/hr/holiday-surcharge\", {\n date: params.date,\n industry: params.industry,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type { EnergyLabelParams, EnergyLabelResponse } from \"./types.js\";\n\nexport class RealEstateModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Retrieve the official EP-Online energy label for a Dutch address.\n *\n * @example\n * const result = await omni.realEstate.energyLabel({ postcode: \"1012LG\", houseNumber: 1 });\n */\n async energyLabel(params: EnergyLabelParams): Promise<EnergyLabelResponse> {\n return this.http.get<EnergyLabelResponse>(\"/v1/real-estate/energy-label\", {\n postcode: params.postcode,\n house_number: params.houseNumber,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type {\n EmissionZoneParams,\n EmissionZoneResponse,\n TransitDisruptionsParams,\n TransitDisruptionsResponse,\n} from \"./types.js\";\n\nexport class LogisticsModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Check whether a vehicle (by Dutch licence plate / kenteken) is allowed\n * in a zero-emission zone (ZE-zone).\n *\n * @example\n * const result = await omni.logistics.emissionZone({ kenteken: \"AB123C\" });\n */\n async emissionZone(params: EmissionZoneParams): Promise<EmissionZoneResponse> {\n return this.http.get<EmissionZoneResponse>(\"/v1/logistics/emission-zone\", {\n kenteken: params.kenteken,\n });\n }\n\n /**\n * Retrieve current and upcoming NS train disruptions, optionally filtered\n * by station code.\n *\n * @example\n * const result = await omni.logistics.transitDisruptions({ stationCode: \"ASD\" });\n */\n async transitDisruptions(params?: TransitDisruptionsParams): Promise<TransitDisruptionsResponse> {\n return this.http.get<TransitDisruptionsResponse>(\"/v1/logistics/transit-disruptions\", {\n station_code: params?.stationCode,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type { GridTriggerParams, GridTriggerResponse } from \"./types.js\";\n\nexport class EnergyModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Retrieve the current Dutch electricity grid congestion status for a\n * given postal code / province.\n *\n * @example\n * const result = await omni.energy.gridTrigger();\n * const result = await omni.energy.gridTrigger({ countryCode: \"NL\" });\n */\n async gridTrigger(params?: GridTriggerParams): Promise<GridTriggerResponse> {\n return this.http.get<GridTriggerResponse>(\"/v1/energy/grid-trigger\", {\n country_code: params?.countryCode,\n });\n }\n}\n","import type { HttpClient } from \"./client.js\";\nimport type {\n RegisterWebhookParams,\n WebhookCreatedResponse,\n WebhookListResponse,\n} from \"./types.js\";\n\nexport class WebhooksModule {\n constructor(private readonly http: HttpClient) {}\n\n /**\n * Register a new outbound webhook. OmniZoek will POST to `url` whenever\n * any of the specified `events` fire.\n *\n * @example\n * const wh = await omni.webhooks.register({\n * url: \"https://example.com/hook\",\n * events: [\"quota.warning\"],\n * });\n */\n async register(params: RegisterWebhookParams): Promise<WebhookCreatedResponse> {\n return this.http.post<WebhookCreatedResponse>(\"/v1/webhooks\", {\n url: params.url,\n events: params.events,\n });\n }\n\n /**\n * List all registered webhooks for this API key.\n *\n * @example\n * const { webhooks } = await omni.webhooks.list();\n */\n async list(): Promise<WebhookListResponse> {\n return this.http.get<WebhookListResponse>(\"/v1/webhooks\");\n }\n\n /**\n * Delete a webhook by its ID.\n *\n * @example\n * await omni.webhooks.delete(\"wh_abc123\");\n */\n async delete(webhookId: string): Promise<void> {\n return this.http.delete(`/v1/webhooks/${encodeURIComponent(webhookId)}`);\n }\n}\n","import { HttpClient, type OmniClientOptions } from \"./client.js\";\nimport { GeoModule } from \"./geo.js\";\nimport { FinanceModule } from \"./finance.js\";\nimport { ComplianceModule } from \"./compliance.js\";\nimport { HrModule } from \"./hr.js\";\nimport { RealEstateModule } from \"./realEstate.js\";\nimport { LogisticsModule } from \"./logistics.js\";\nimport { EnergyModule } from \"./energy.js\";\nimport { WebhooksModule } from \"./webhooks.js\";\n\nexport { type OmniClientOptions };\n\n/**\n * The main entry point for the OmniZoek SDK.\n *\n * @example\n * ```ts\n * import { OmniClient } from \"@omnizoek/sdk\";\n *\n * const omni = new OmniClient({ apiKey: \"omni_live_…\" });\n *\n * const address = await omni.geo.enrichAddress({ postcode: \"1012LG\", houseNumber: 1 });\n * const wage = await omni.hr.minimumWage({ age: 21 });\n * ```\n */\nexport class OmniClient {\n /** Geographic address enrichment (BAG, CBS, energy labels) */\n readonly geo: GeoModule;\n /** Financial utilities (IBAN → BIC, VAT verification) */\n readonly finance: FinanceModule;\n /** Compliance checks (financial institution registers) */\n readonly compliance: ComplianceModule;\n /** HR calculations (minimum wage, holiday surcharge) */\n readonly hr: HrModule;\n /** Real-estate data (EP-Online energy labels) */\n readonly realEstate: RealEstateModule;\n /** Logistics (ZE-zones, NS disruptions) */\n readonly logistics: LogisticsModule;\n /** Energy (grid congestion triggers) */\n readonly energy: EnergyModule;\n /** Outbound webhooks (register, list, delete) */\n readonly webhooks: WebhooksModule;\n\n constructor(options: OmniClientOptions) {\n const http = new HttpClient(options);\n this.geo = new GeoModule(http);\n this.finance = new FinanceModule(http);\n this.compliance = new ComplianceModule(http);\n this.hr = new HrModule(http);\n this.realEstate = new RealEstateModule(http);\n this.logistics = new LogisticsModule(http);\n this.energy = new EnergyModule(http);\n this.webhooks = new WebhooksModule(http);\n }\n}\n","// Main entry point\nexport { OmniClient } from \"./OmniClient.js\";\nexport type { OmniClientOptions } from \"./OmniClient.js\";\n\n// Typed error classes\nexport {\n OmniError,\n OmniAuthError,\n OmniNotFoundError,\n OmniValidationError,\n OmniRateLimitError,\n OmniUpstreamError,\n OmniNetworkError,\n} from \"./errors.js\";\n\n// All request/response types\nexport type {\n AddressEnrichParams,\n AddressEnrichResponse,\n IbanToBicParams,\n IbanToBicResponse,\n VatVerifyParams,\n VatVerifyResponse,\n ValidateFinanceParams,\n FinanceValidationResponse,\n MinimumWageParams,\n MinimumWageResponse,\n HolidaySurchargeParams,\n HolidaySurchargeResponse,\n EnergyLabelParams,\n EnergyLabelResponse,\n EmissionZoneParams,\n EmissionZoneResponse,\n TransitDisruptionsParams,\n TransitDisruptionsResponse,\n GridTriggerParams,\n GridTriggerResponse,\n RegisterWebhookParams,\n WebhookCreatedResponse,\n WebhookSummary,\n WebhookListResponse,\n} from \"./types.js\";\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omnizoek/sdk",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Official TypeScript/JavaScript SDK for the OmniZoek API — Dutch government data APIs (BAG, EP-Online, RDW, VIES, NS, WML, ENTSO-E).",
5
5
  "author": "OmniZoek <support@omnizoek.nl>",
6
6
  "license": "MIT",