@solvice/routing 0.17.2-beta.0 → 0.17.4-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.js ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export {};
package/dist/v3.d.ts CHANGED
@@ -731,6 +731,17 @@ export interface components {
731
731
  * Not applied by decomposition: a problem that sets it solves monolithically.
732
732
  */
733
733
  assignment_costs?: components["schemas"]["AssignmentCost"][] | null;
734
+ /**
735
+ * @description Whether a break may pause this job's service. With `true`, a `fixed`
736
+ * break, a `windowed` break or a duty-`triggered` break that falls
737
+ * inside the service pauses it: the work resumes when the break ends,
738
+ * the job departs the break's length later, and the stop reports the
739
+ * paused seconds in `break_s`. A drive-`triggered` break never pauses a
740
+ * job (it counts driving time only). Default `false`: the whole service
741
+ * moves after the break, or the break is taken before the job starts.
742
+ * @example true
743
+ */
744
+ break_interruptible?: boolean | null;
734
745
  /**
735
746
  * @description Quantity delivered at this visit: comes off the vehicle here, having
736
747
  * been loaded at a depot. Direction is carried by the field itself, never
@@ -757,7 +768,9 @@ export interface components {
757
768
  * On a shipment the drop cost applies to the pair, charged once.
758
769
  *
759
770
  * Must be finite, `>= 0` and at most `1e9`; combined with `priority` it
760
- * is rejected with HTTP 400 (`conflicting_fields`).
771
+ * is rejected with HTTP 400 (`conflicting_fields`). Also rejected with
772
+ * HTTP 400 (`not_supported`) while a positive `objective.per_delay_workday` is set,
773
+ * since a droppable task could be dropped to avoid its delay charge.
761
774
  * @example 25
762
775
  */
763
776
  drop_cost?: number | null;
@@ -918,6 +931,22 @@ export interface components {
918
931
  currency?: string | null;
919
932
  /** @description Job-proximity cluster cohesion. See the `Grouping` schema. */
920
933
  grouping?: null | components["schemas"]["Grouping"];
934
+ /**
935
+ * Format: double
936
+ * @description ASAP scheduling: money charged for each served task per workday its
937
+ * shift lies after the earliest workday in the request, in the request's
938
+ * currency. A workday is a distinct calendar date, in the shift's own UTC
939
+ * offset, on which at least one shift starts; shifts on one date share a
940
+ * rank, and a date with no shift adds none. Unserved tasks pay nothing;
941
+ * the charge never outranks `priority` and cannot be combined with
942
+ * `drop_cost`. Absent or `0` = off; a single-date request is charged
943
+ * nothing. A problem that sets it, even on one date, solves without
944
+ * decomposition, like `assignment_costs`. Reported as `score.components.delay`. A positive
945
+ * rate below `0.00001` is rejected, as is a rate whose total over the
946
+ * later workdays exceeds `21474.83647` (`out_of_range`).
947
+ * @example 5
948
+ */
949
+ per_delay_workday?: number | null;
921
950
  /**
922
951
  * Format: double
923
952
  * @description Cost per hour of lateness: the default rate for every task window
@@ -1875,6 +1904,19 @@ export interface components {
1875
1904
  * @example 2026-07-01T08:10:00+02:00
1876
1905
  */
1877
1906
  arrival: string;
1907
+ /**
1908
+ * Format: int32
1909
+ * @description Seconds of driver break taken inside this stop's service, pausing it:
1910
+ * a `fixed`, `windowed` or `triggered` break that fell mid-service on a
1911
+ * job with `break_interruptible: true`. Such a break gets no `break`
1912
+ * stop of its own; its time is counted here and in the route's
1913
+ * `time.break_s`. The stop reconciles as
1914
+ * `departure - service_start == service_s + setup + break_s`, where
1915
+ * setup is the unscaled `setup_duration_s` when paid, else 0. Present on
1916
+ * `job` stops only, when non-zero.
1917
+ * @example 3600
1918
+ */
1919
+ break_s?: number | null;
1878
1920
  /**
1879
1921
  * Format: date-time
1880
1922
  * @description Departure. On `end` when the route finishes, after any depot
@@ -1951,10 +1993,10 @@ export interface components {
1951
1993
  * On task stops, the **effective** on-site service time, not the
1952
1994
  * nominal `service_duration_s` from the request: it already has the
1953
1995
  * serving vehicle's `service_factor` applied. `departure -
1954
- * service_start - service_s` is the stop's setup time: the request's
1955
- * `setup_duration_s` (unscaled) for the first stop of a run at the same
1956
- * location (setup is charged when the previous stop is elsewhere), and 0
1957
- * for a co-located successor.
1996
+ * service_start - service_s - break_s` is the stop's setup time: the
1997
+ * request's `setup_duration_s` (unscaled) for the first stop of a run at
1998
+ * the same location (setup is charged when the previous stop is
1999
+ * elsewhere), and 0 for a co-located successor.
1958
2000
  *
1959
2001
  * On `reload`, the depot's handling time (`departure - service_start
1960
2002
  * == service_s`). On `start`/`end`, the depot handling time applied
@@ -1969,7 +2011,9 @@ export interface components {
1969
2011
  /**
1970
2012
  * Format: date-time
1971
2013
  * @description When service starts: `arrival + wait_s` plus the duration of any
1972
- * windowed break taken on arrival here. On task and `reload` stops only.
2014
+ * break taken on arrival here (a `windowed` one; on a
2015
+ * `break_interruptible` job also a `fixed` or duty-`triggered` one that
2016
+ * falls in the wait). On task and `reload` stops only.
1973
2017
  * @example 2026-07-01T09:00:00+02:00
1974
2018
  */
1975
2019
  service_start?: string | null;
@@ -2023,6 +2067,7 @@ export interface components {
2023
2067
  * @example {
2024
2068
  * "components": {
2025
2069
  * "assignment": 0,
2070
+ * "delay": 0,
2026
2071
  * "distance": 1.69,
2027
2072
  * "drop_costs": 0,
2028
2073
  * "grouping": 0,
@@ -2080,6 +2125,7 @@ export interface components {
2080
2125
  * charges lands in exactly one of them.
2081
2126
  * @example {
2082
2127
  * "assignment": 0,
2128
+ * "delay": 0,
2083
2129
  * "distance": 1.69,
2084
2130
  * "drop_costs": 0,
2085
2131
  * "grouping": 0,
@@ -2104,6 +2150,13 @@ export interface components {
2104
2150
  * default assignment cost), in currency units.
2105
2151
  */
2106
2152
  assignment: number;
2153
+ /**
2154
+ * Format: double
2155
+ * @description Cost of delay, in currency units (`objective.per_delay_workday`): each
2156
+ * served task pays the rate once per workday its shift lies after the
2157
+ * earliest workday in the request.
2158
+ */
2159
+ delay: number;
2107
2160
  /**
2108
2161
  * Format: double
2109
2162
  * @description Distance cost, in currency units: each route's distance priced at
@@ -2610,7 +2663,9 @@ export interface components {
2610
2663
  * On a shipment the drop cost applies to the pair, charged once.
2611
2664
  *
2612
2665
  * Must be finite, `>= 0` and at most `1e9`; combined with `priority` it
2613
- * is rejected with HTTP 400 (`conflicting_fields`).
2666
+ * is rejected with HTTP 400 (`conflicting_fields`). Also rejected with
2667
+ * HTTP 400 (`not_supported`) while a positive `objective.per_delay_workday` is set,
2668
+ * since a droppable task could be dropped to avoid its delay charge.
2614
2669
  * @example 25
2615
2670
  */
2616
2671
  drop_cost?: number | null;
@@ -3028,6 +3083,7 @@ export interface components {
3028
3083
  * "score": {
3029
3084
  * "components": {
3030
3085
  * "assignment": 0,
3086
+ * "delay": 0,
3031
3087
  * "distance": 1.69,
3032
3088
  * "drop_costs": 0,
3033
3089
  * "grouping": 0,
@@ -3362,6 +3418,7 @@ export interface components {
3362
3418
  * "score": {
3363
3419
  * "components": {
3364
3420
  * "assignment": 0,
3421
+ * "delay": 0,
3365
3422
  * "distance": 1.69,
3366
3423
  * "drop_costs": 0,
3367
3424
  * "grouping": 0,
@@ -3645,7 +3702,8 @@ export interface components {
3645
3702
  TimeTotals: {
3646
3703
  /**
3647
3704
  * Format: int64
3648
- * @description Time on driver breaks.
3705
+ * @description Time on driver breaks: the `break` stops plus the breaks that paused
3706
+ * a job's service (the job stops' `break_s`).
3649
3707
  */
3650
3708
  break_s: number;
3651
3709
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solvice/routing",
3
- "version": "0.17.2-beta.0",
3
+ "version": "0.17.4-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",
@@ -28,7 +28,7 @@
28
28
  "node": ">=20"
29
29
  },
30
30
  "scripts": {
31
- "generate": "openapi-typescript ../../mintlify/openapi.json -o src/v3.ts --default-non-nullable false",
31
+ "generate": "openapi-typescript ../../mintlify/openapi.json -o src/v3.ts --default-non-nullable false && openapi-typescript ../../mintlify/openapi-runs.json -o src/runs.ts --default-non-nullable false",
32
32
  "build": "tsc",
33
33
  "prepack": "npm run build",
34
34
  "publish:beta": "npm test && npm publish --tag beta",