@solvice/routing 0.17.9-beta.0 → 0.18.1-beta.0

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/runs.d.ts CHANGED
@@ -697,10 +697,11 @@ export interface components {
697
697
  time_windows?: components["schemas"]["TimeWindow"][] | null;
698
698
  };
699
699
  /**
700
- * @description Which road-network data prices travel times and distances.
700
+ * @description Which data prices travel times and distances. Omitted, it follows
701
+ * `travel.departure_time`: `osm` without one, `tomtom` with one.
701
702
  *
702
- * - `tomtom` (default): TomTom historical-typical traffic at the departure
703
- * time.
703
+ * - `tomtom`: TomTom historical-typical traffic at the departure time, or at
704
+ * the moment of the request without one.
704
705
  * - `osm`: OpenStreetMap free-flow times. No traffic, so
705
706
  * `travel.departure_time` is rejected with 400.
706
707
  * - `tomtom_real_time`: TomTom live traffic at the moment of the request.
@@ -708,10 +709,13 @@ export interface components {
708
709
  * `travel.departure_time` is rejected; every vehicle must use the `car`
709
710
  * profile; at most 100 distinct locations; up to ~25 s of matrix fetch at
710
711
  * 100 locations.
712
+ * - `straight_line`: great-circle distance at `travel.speed_kmh`, no road
713
+ * network. `travel.departure_time`, `options.polyline` and any vehicle
714
+ * `profile` other than `car` are rejected with 400.
711
715
  * @example osm
712
716
  * @enum {string}
713
717
  */
714
- MatrixEngine: "tomtom" | "osm" | "tomtom_real_time";
718
+ MatrixEngine: "tomtom" | "osm" | "tomtom_real_time" | "straight_line";
715
719
  /**
716
720
  * @description Top-level objective configuration.
717
721
  *
@@ -1983,7 +1987,7 @@ export interface components {
1983
1987
  seed?: number | null;
1984
1988
  /**
1985
1989
  * Format: double
1986
- * @description Search time budget in seconds, fractions allowed. Default when omitted:
1990
+ * @description Upper bound on the search time in seconds, fractions allowed. Default when omitted:
1987
1991
  * 150 ms plus 4 ms per task (jobs and shipments combined), so 100 tasks
1988
1992
  * search for 0.55 s. Maximum 3600: a larger value is rejected with HTTP 400.
1989
1993
  * A value below 0.1 is raised to a 100 ms floor. Pure search time:
@@ -1997,6 +2001,7 @@ export interface components {
1997
2001
  * `estimate` (the default) solves on estimated travel and sets
1998
2002
  * `summary.travel_estimated`; `fail` returns the 502/503 instead.
1999
2003
  * Locations that Maps rejects for spanning more than one region are a 400.
2004
+ * No effect with `travel.engine: "straight_line"`, which fetches nothing.
2000
2005
  * @default estimate
2001
2006
  */
2002
2007
  travel_fallback?: null | components["schemas"]["TravelFallback"];
@@ -3219,7 +3224,8 @@ export interface components {
3219
3224
  * `score.violation_count` hold only against it, and no `routes[].polyline`
3220
3225
  * is returned. Solve again once Maps is back if the plan must hold on the
3221
3226
  * road; on a solve, `options.travel_fallback: "fail"` returns the error
3222
- * instead. Absent when travel is road-routed.
3227
+ * instead. Absent when travel came from the requested engine,
3228
+ * `straight_line` included.
3223
3229
  */
3224
3230
  travel_estimated?: boolean;
3225
3231
  /**
@@ -3245,7 +3251,8 @@ export interface components {
3245
3251
  /**
3246
3252
  * Format: double
3247
3253
  * @description Cost, in the objective's currency, incurred when a task without this
3248
- * tag is served. Must be finite and `>= 0`.
3254
+ * tag is served. Must be finite and `>= 0`, and one vehicle's entries
3255
+ * must sum to at most 21474.83647 (a task lacking every tag pays them all).
3249
3256
  * @example 25
3250
3257
  */
3251
3258
  violation_cost: number;
@@ -3487,11 +3494,13 @@ export interface components {
3487
3494
  /**
3488
3495
  * @description Where travel times and distances come from.
3489
3496
  *
3490
- * Matrices are traffic-aware (historical-typical traffic); by default travel
3491
- * times reflect traffic at the moment the request is processed. Set
3492
- * `departure_time` to plan against another instant — e.g. tomorrow's 08:00
3493
- * routes with morning-rush travel times, or a replay of a past run under its
3494
- * original conditions.
3497
+ * Omitted altogether, travel times are free-flow (`osm`): the same request
3498
+ * prices the same at any hour. Set `departure_time` to plan against an
3499
+ * instant's traffic — e.g. tomorrow's 08:00 routes with morning-rush travel
3500
+ * times, or a replay of a past run under its original conditions; the engine
3501
+ * is then `tomtom`. Set `engine: tomtom` alone for traffic at the moment the
3502
+ * request is processed. `engine: "straight_line"` skips the road network for
3503
+ * great-circle travel at `speed_kmh`.
3495
3504
  * @example {
3496
3505
  * "departure_time": "2026-07-01T08:00:00+02:00",
3497
3506
  * "engine": "tomtom"
@@ -3501,16 +3510,27 @@ export interface components {
3501
3510
  /**
3502
3511
  * Format: date-time
3503
3512
  * @description Departure time for the traffic lookup (RFC 3339 instant, any offset).
3504
- * Omitted → traffic at solve time. An explicit departure time bypasses
3505
- * the server-side matrix cache.
3513
+ * Omitted → free-flow times, or traffic at solve time with `engine:
3514
+ * tomtom`. An explicit departure time bypasses the server-side matrix
3515
+ * cache.
3506
3516
  * @example 2026-07-01T08:00:00+02:00
3507
3517
  */
3508
3518
  departure_time?: string | null;
3509
3519
  /**
3510
- * @description Road-network data behind travel times and distances. Omitted →
3511
- * `tomtom`.
3520
+ * @description Data behind travel times and distances. Omitted → `osm`, or `tomtom`
3521
+ * when `departure_time` is set.
3512
3522
  */
3513
3523
  engine?: null | components["schemas"]["MatrixEngine"];
3524
+ /**
3525
+ * Format: double
3526
+ * @description Travel speed for `engine: "straight_line"`, in km/h: each leg takes its
3527
+ * great-circle distance at this speed, rounded to the whole second. `1` to
3528
+ * `1000`, default `50`; `vehicles[].speed_factor` still scales it per
3529
+ * vehicle. Any other engine rejects it (HTTP 400 `conflicting_fields`).
3530
+ * @default 50
3531
+ * @example 50
3532
+ */
3533
+ speed_kmh?: number | null;
3514
3534
  };
3515
3535
  /**
3516
3536
  * @description `options.travel_fallback`: what a solve does when travel times cannot be
package/dist/v3.d.ts CHANGED
@@ -34,7 +34,7 @@ export interface paths {
34
34
  put?: never;
35
35
  /**
36
36
  * Solve a vehicle routing problem
37
- * @description Assigns the jobs and shipments in `problem` to the vehicles' shifts and returns the routes, the `plan` they follow and any tasks left unassigned, each with the reasons. The request is validated first: an invalid one is rejected with a 400 whose `errors[]` says what to fix. Travel times and distances for the request's locations are then looked up, and the search runs for `options.time_limit_s` seconds (default 150 ms plus 4 ms per task; maximum 60). Send a previous result's `plan` to re-optimize starting from it. `POST /v3/routing/evaluate` and `POST /v3/routing/suggest` take the same `problem`.
37
+ * @description Assigns the jobs and shipments in `problem` to the vehicles' shifts and returns the routes, the `plan` they follow and any tasks left unassigned, each with the reasons. The request is validated first: an invalid one is rejected with a 400 whose `errors[]` says what to fix. Travel times and distances for the request's locations are then looked up, and the search runs for up to `options.time_limit_s` seconds (default 150 ms plus 4 ms per task; maximum 60). Send a previous result's `plan` to re-optimize starting from it. `POST /v3/routing/evaluate` and `POST /v3/routing/suggest` take the same `problem`.
38
38
  */
39
39
  post: operations["solve"];
40
40
  delete?: never;
@@ -883,10 +883,11 @@ export interface components {
883
883
  time_windows?: components["schemas"]["TimeWindow"][] | null;
884
884
  };
885
885
  /**
886
- * @description Which road-network data prices travel times and distances.
886
+ * @description Which data prices travel times and distances. Omitted, it follows
887
+ * `travel.departure_time`: `osm` without one, `tomtom` with one.
887
888
  *
888
- * - `tomtom` (default): TomTom historical-typical traffic at the departure
889
- * time.
889
+ * - `tomtom`: TomTom historical-typical traffic at the departure time, or at
890
+ * the moment of the request without one.
890
891
  * - `osm`: OpenStreetMap free-flow times. No traffic, so
891
892
  * `travel.departure_time` is rejected with 400.
892
893
  * - `tomtom_real_time`: TomTom live traffic at the moment of the request.
@@ -894,10 +895,13 @@ export interface components {
894
895
  * `travel.departure_time` is rejected; every vehicle must use the `car`
895
896
  * profile; at most 100 distinct locations; up to ~25 s of matrix fetch at
896
897
  * 100 locations.
898
+ * - `straight_line`: great-circle distance at `travel.speed_kmh`, no road
899
+ * network. `travel.departure_time`, `options.polyline` and any vehicle
900
+ * `profile` other than `car` are rejected with 400.
897
901
  * @example osm
898
902
  * @enum {string}
899
903
  */
900
- MatrixEngine: "tomtom" | "osm" | "tomtom_real_time";
904
+ MatrixEngine: "tomtom" | "osm" | "tomtom_real_time" | "straight_line";
901
905
  /**
902
906
  * @description Top-level objective configuration.
903
907
  *
@@ -2864,7 +2868,7 @@ export interface components {
2864
2868
  seed?: number | null;
2865
2869
  /**
2866
2870
  * Format: double
2867
- * @description Search time budget in seconds, fractions allowed. Default when omitted:
2871
+ * @description Upper bound on the search time in seconds, fractions allowed. Default when omitted:
2868
2872
  * 150 ms plus 4 ms per task (jobs and shipments combined), so 100 tasks
2869
2873
  * search for 0.55 s. Maximum 60: a larger value is rejected with HTTP 400.
2870
2874
  * A value below 0.1 is raised to a 100 ms floor. Pure search time:
@@ -2878,6 +2882,7 @@ export interface components {
2878
2882
  * `estimate` (the default) solves on estimated travel and sets
2879
2883
  * `summary.travel_estimated`; `fail` returns the 502/503 instead.
2880
2884
  * Locations that Maps rejects for spanning more than one region are a 400.
2885
+ * No effect with `travel.engine: "straight_line"`, which fetches nothing.
2881
2886
  * @default estimate
2882
2887
  */
2883
2888
  travel_fallback?: null | components["schemas"]["TravelFallback"];
@@ -3523,7 +3528,8 @@ export interface components {
3523
3528
  * `score.violation_count` hold only against it, and no `routes[].polyline`
3524
3529
  * is returned. Solve again once Maps is back if the plan must hold on the
3525
3530
  * road; on a solve, `options.travel_fallback: "fail"` returns the error
3526
- * instead. Absent when travel is road-routed.
3531
+ * instead. Absent when travel came from the requested engine,
3532
+ * `straight_line` included.
3527
3533
  */
3528
3534
  travel_estimated?: boolean;
3529
3535
  /**
@@ -3549,7 +3555,8 @@ export interface components {
3549
3555
  /**
3550
3556
  * Format: double
3551
3557
  * @description Cost, in the objective's currency, incurred when a task without this
3552
- * tag is served. Must be finite and `>= 0`.
3558
+ * tag is served. Must be finite and `>= 0`, and one vehicle's entries
3559
+ * must sum to at most 21474.83647 (a task lacking every tag pays them all).
3553
3560
  * @example 25
3554
3561
  */
3555
3562
  violation_cost: number;
@@ -3850,11 +3857,13 @@ export interface components {
3850
3857
  /**
3851
3858
  * @description Where travel times and distances come from.
3852
3859
  *
3853
- * Matrices are traffic-aware (historical-typical traffic); by default travel
3854
- * times reflect traffic at the moment the request is processed. Set
3855
- * `departure_time` to plan against another instant — e.g. tomorrow's 08:00
3856
- * routes with morning-rush travel times, or a replay of a past run under its
3857
- * original conditions.
3860
+ * Omitted altogether, travel times are free-flow (`osm`): the same request
3861
+ * prices the same at any hour. Set `departure_time` to plan against an
3862
+ * instant's traffic — e.g. tomorrow's 08:00 routes with morning-rush travel
3863
+ * times, or a replay of a past run under its original conditions; the engine
3864
+ * is then `tomtom`. Set `engine: tomtom` alone for traffic at the moment the
3865
+ * request is processed. `engine: "straight_line"` skips the road network for
3866
+ * great-circle travel at `speed_kmh`.
3858
3867
  * @example {
3859
3868
  * "departure_time": "2026-07-01T08:00:00+02:00",
3860
3869
  * "engine": "tomtom"
@@ -3864,16 +3873,27 @@ export interface components {
3864
3873
  /**
3865
3874
  * Format: date-time
3866
3875
  * @description Departure time for the traffic lookup (RFC 3339 instant, any offset).
3867
- * Omitted → traffic at solve time. An explicit departure time bypasses
3868
- * the server-side matrix cache.
3876
+ * Omitted → free-flow times, or traffic at solve time with `engine:
3877
+ * tomtom`. An explicit departure time bypasses the server-side matrix
3878
+ * cache.
3869
3879
  * @example 2026-07-01T08:00:00+02:00
3870
3880
  */
3871
3881
  departure_time?: string | null;
3872
3882
  /**
3873
- * @description Road-network data behind travel times and distances. Omitted →
3874
- * `tomtom`.
3883
+ * @description Data behind travel times and distances. Omitted → `osm`, or `tomtom`
3884
+ * when `departure_time` is set.
3875
3885
  */
3876
3886
  engine?: null | components["schemas"]["MatrixEngine"];
3887
+ /**
3888
+ * Format: double
3889
+ * @description Travel speed for `engine: "straight_line"`, in km/h: each leg takes its
3890
+ * great-circle distance at this speed, rounded to the whole second. `1` to
3891
+ * `1000`, default `50`; `vehicles[].speed_factor` still scales it per
3892
+ * vehicle. Any other engine rejects it (HTTP 400 `conflicting_fields`).
3893
+ * @default 50
3894
+ * @example 50
3895
+ */
3896
+ speed_kmh?: number | null;
3877
3897
  };
3878
3898
  /**
3879
3899
  * @description `options.travel_fallback`: what a solve does when travel times cannot be
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solvice/routing",
3
- "version": "0.17.9-beta.0",
3
+ "version": "0.18.1-beta.0",
4
4
  "description": "TypeScript client for the Solvice V3 routing API, generated from its OpenAPI spec.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://docs.solvice.io/guides/platform/sdks/typescript",