@tiducto/spider-sdk-typescript 0.1.0 → 0.7.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.
Files changed (58) hide show
  1. package/LICENSE +202 -21
  2. package/README.md +16 -79
  3. package/dist/client.d.ts +14 -0
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +19 -0
  6. package/dist/client.js.map +1 -1
  7. package/dist/contract/routing/Leg.d.ts +1 -0
  8. package/dist/contract/routing/Leg.d.ts.map +1 -1
  9. package/dist/contract/routing/PlanConnectionStreamData.d.ts +5 -0
  10. package/dist/contract/routing/PlanConnectionStreamData.d.ts.map +1 -0
  11. package/dist/contract/routing/PlanConnectionStreamData.js +2 -0
  12. package/dist/contract/routing/PlanConnectionStreamData.js.map +1 -0
  13. package/dist/contract/routing/PlanConnectionStreamResponse.d.ts +7 -0
  14. package/dist/contract/routing/PlanConnectionStreamResponse.d.ts.map +1 -0
  15. package/dist/contract/routing/PlanConnectionStreamResponse.js +2 -0
  16. package/dist/contract/routing/PlanConnectionStreamResponse.js.map +1 -0
  17. package/dist/contract/routing/PlanConnectionStreamVariables.d.ts +18 -0
  18. package/dist/contract/routing/PlanConnectionStreamVariables.d.ts.map +1 -0
  19. package/dist/contract/routing/PlanConnectionStreamVariables.js +2 -0
  20. package/dist/contract/routing/PlanConnectionStreamVariables.js.map +1 -0
  21. package/dist/contract/routing/PlanConnectionVariables.d.ts +1 -3
  22. package/dist/contract/routing/PlanConnectionVariables.d.ts.map +1 -1
  23. package/dist/contract/routing/index.d.ts +3 -0
  24. package/dist/contract/routing/index.d.ts.map +1 -1
  25. package/dist/contractVersion.d.ts +1 -1
  26. package/dist/contractVersion.js +1 -1
  27. package/dist/errors.d.ts +9 -3
  28. package/dist/errors.d.ts.map +1 -1
  29. package/dist/errors.js +5 -1
  30. package/dist/errors.js.map +1 -1
  31. package/dist/http.d.ts +25 -1
  32. package/dist/http.d.ts.map +1 -1
  33. package/dist/http.js +69 -6
  34. package/dist/http.js.map +1 -1
  35. package/dist/index.d.ts +3 -3
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +1 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/persistedQueries.d.ts +1 -0
  40. package/dist/persistedQueries.d.ts.map +1 -1
  41. package/dist/persistedQueries.js +2 -1
  42. package/dist/persistedQueries.js.map +1 -1
  43. package/dist/polling.d.ts +2 -1
  44. package/dist/polling.d.ts.map +1 -1
  45. package/dist/polling.js +5 -2
  46. package/dist/polling.js.map +1 -1
  47. package/dist/realtime.d.ts +19 -2
  48. package/dist/realtime.d.ts.map +1 -1
  49. package/dist/realtime.js +22 -8
  50. package/dist/realtime.js.map +1 -1
  51. package/dist/routing.d.ts +86 -4
  52. package/dist/routing.d.ts.map +1 -1
  53. package/dist/routing.js +235 -22
  54. package/dist/routing.js.map +1 -1
  55. package/dist/sdk.d.ts +1 -1
  56. package/dist/sdkVersion.d.ts +1 -1
  57. package/dist/sdkVersion.js +1 -1
  58. package/package.json +3 -3
package/dist/routing.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { Transport } from './http.ts';
2
2
  import type { SpiderResult } from './result.ts';
3
+ import type { SpiderError } from './errors.ts';
3
4
  import type { BikesAllowed, TransitMode, WheelchairBoarding } from './enums.ts';
4
5
  import type { Location, ViaLocation } from './location.ts';
5
6
  import type { RoutingErrorCode, InputField, RealtimeState } from './contract/routing/index.ts';
@@ -11,6 +12,18 @@ export interface Leg {
11
12
  readonly mode: TransitMode | null;
12
13
  readonly startScheduled: string;
13
14
  readonly endScheduled: string;
15
+ /** Estimated (realtime-adjusted) departure ISO time, when the feed reported one; otherwise null. */
16
+ readonly startEstimated: string | null;
17
+ /** Estimated (realtime-adjusted) arrival ISO time, when the feed reported one; otherwise null. */
18
+ readonly endEstimated: string | null;
19
+ /** Departure schedule deviation in seconds (positive = late), when known; otherwise null. */
20
+ readonly startDelaySeconds: number | null;
21
+ /** Arrival schedule deviation in seconds (positive = late), when known; otherwise null. */
22
+ readonly endDelaySeconds: number | null;
23
+ readonly isRealtime: boolean;
24
+ readonly realtimeState: RealtimeState | null;
25
+ /** GTFS service date this leg's trip runs on (`YYYYMMDD`) — pass to realtime `delays` lookups. */
26
+ readonly serviceDate: string | null;
14
27
  readonly fromName: string | null;
15
28
  readonly toName: string | null;
16
29
  readonly routeShortName: string | null;
@@ -56,6 +69,38 @@ export interface Route {
56
69
  readonly routingErrors: readonly RoutingError[];
57
70
  readonly searchDateTime: string | null;
58
71
  }
72
+ /**
73
+ * One event from {@link SpiderRouting.planStream}. The router sweeps the search window forward and pushes
74
+ * itineraries as they finalize: zero or more `chunk`s, then a `page` with the continuation cursors, then a
75
+ * terminal `done`. A `failure` is terminal and takes the place of the rest.
76
+ */
77
+ export type PlanStreamEvent = {
78
+ /** A batch of finalized itineraries as the search frontier advances (with realtime delays on their legs). */
79
+ readonly kind: 'chunk';
80
+ /** How far (seconds from the search start) the window has swept. */
81
+ readonly frontierSeconds: number;
82
+ /** Running count of itineraries discovered so far. */
83
+ readonly found: number;
84
+ /** Count of itineraries committed (finalized) so far. */
85
+ readonly finalized: number;
86
+ readonly itineraries: readonly Itinerary[];
87
+ } | {
88
+ /** Continuation cursors for the stream, mirroring {@link Route.pageInfo}. */
89
+ readonly kind: 'page';
90
+ readonly pageInfo: RoutePageInfo;
91
+ } | {
92
+ /** Terminal summary once the sweep stops. */
93
+ readonly kind: 'done';
94
+ readonly iterations: number;
95
+ readonly windowSeconds: number;
96
+ readonly resultCount: number;
97
+ /** Why the sweep stopped (e.g. `targetResults` or `maxWindow`). */
98
+ readonly stoppedBy: string;
99
+ } | {
100
+ /** Terminal failure — a transport/HTTP problem, a decoding error, or a server `error` event. */
101
+ readonly kind: 'failure';
102
+ readonly error: SpiderError;
103
+ };
59
104
  export interface Departure {
60
105
  readonly scheduledTimeEpochMs: number;
61
106
  readonly realtimeTimeEpochMs: number | null;
@@ -93,7 +138,6 @@ export interface TripDetails {
93
138
  export interface PlanOptions {
94
139
  readonly origin: Location;
95
140
  readonly destination: Location;
96
- readonly first?: number;
97
141
  readonly departAt?: number | Date;
98
142
  readonly arriveBy?: number | Date;
99
143
  readonly via?: readonly ViaLocation[];
@@ -110,7 +154,7 @@ export interface PlanOptions {
110
154
  readonly wheelchairAccessible?: boolean;
111
155
  }
112
156
  /** Options for the streaming `planUntil` — the plan filters plus the walk's bounds. `searchWindowMinutes` is the step. */
113
- export interface PlanStreamOptions extends Omit<PlanOptions, 'first'> {
157
+ export interface PlanStreamOptions extends PlanOptions {
114
158
  /** Stop once ~this many itineraries have been collected (soft — the window that reaches it is yielded whole). */
115
159
  readonly targetResults?: number;
116
160
  /** Stop after stepping through this much total time (default 360 = 6h). `searchWindowMinutes` is the step size. */
@@ -121,6 +165,29 @@ export interface PlanStreamPageOptions {
121
165
  readonly targetResults?: number;
122
166
  readonly maxTraversalMinutes?: number;
123
167
  }
168
+ /**
169
+ * Options for {@link SpiderRouting.planStream} — the server-push SSE stream. Distinct from `planUntil`, which
170
+ * window-walks batch calls client-side: `planStream` opens one long-lived Server-Sent Events request and the
171
+ * router pushes itineraries (with realtime delays) as it sweeps the window forward.
172
+ */
173
+ export interface PlanStreamRequestOptions {
174
+ readonly origin: Location;
175
+ readonly destination: Location;
176
+ readonly departAt?: number | Date;
177
+ readonly arriveBy?: number | Date;
178
+ readonly via?: readonly ViaLocation[];
179
+ readonly allowedTransitModes?: readonly TransitMode[];
180
+ readonly maxTransfers?: number;
181
+ readonly wheelchairAccessible?: boolean;
182
+ /** Soft floor: the router keeps sweeping until at least this many itineraries are found (default 5). */
183
+ readonly targetResults?: number;
184
+ /** Cap on how far forward the sweep searches, in minutes (default 360 = 6h). */
185
+ readonly maxWindowMinutes?: number;
186
+ /** Continue a prior stream forward from a `page` event's `endCursor`. */
187
+ readonly after?: string;
188
+ /** Continue a prior stream backward from a `page` event's `startCursor`. */
189
+ readonly before?: string;
190
+ }
124
191
  export interface DeparturesOptions {
125
192
  readonly startTime?: number | Date;
126
193
  readonly timeRangeSeconds?: number;
@@ -129,8 +196,22 @@ export declare class SpiderRouting {
129
196
  private readonly transport;
130
197
  constructor(transport: Transport);
131
198
  plan(options: PlanOptions): Promise<SpiderResult<Route>>;
132
- planNext(route: Route, first?: number): Promise<SpiderResult<Route> | null>;
133
- planPrevious(route: Route, last?: number): Promise<SpiderResult<Route> | null>;
199
+ /**
200
+ * Streams itineraries over Server-Sent Events as the router sweeps the search window forward, emitting them
201
+ * as they finalize instead of one batched page. Lazy and cancellable: iteration opens the request, and
202
+ * `break`ing out of the `for await` cancels the underlying stream. Each `chunk` event carries itineraries
203
+ * with realtime delays already on their legs; a `page` event then carries the continuation cursors and a
204
+ * `done` event closes the stream (or a terminal `failure`). Never throws for transport/HTTP/server errors —
205
+ * they surface as a `failure` event — except a contract-version mismatch, which throws like the batch calls.
206
+ *
207
+ * `targetResults` is a soft floor the sweep aims to reach; `maxWindowMinutes` caps how far forward it
208
+ * searches. To continue, re-call with the same inputs plus `after` = the last `page` event's `endCursor`
209
+ * (or `before` = `startCursor` to walk earlier). For a single batched page instead, use {@link plan}.
210
+ */
211
+ planStream(options: PlanStreamRequestOptions): AsyncGenerator<PlanStreamEvent>;
212
+ private openPlanStream;
213
+ planNext(route: Route): Promise<SpiderResult<Route> | null>;
214
+ planPrevious(route: Route): Promise<SpiderResult<Route> | null>;
134
215
  /**
135
216
  * Streams itineraries by stepping the search forward one search window at a time, until `targetResults`
136
217
  * itineraries have been collected or `maxTraversalMinutes` of time has been traversed. Each step pulls a
@@ -154,4 +235,5 @@ export declare class SpiderRouting {
154
235
  private page;
155
236
  private fetchPlan;
156
237
  }
238
+ export declare function parsePlanStreamRecord(event: string, data: string): PlanStreamEvent | null;
157
239
  //# sourceMappingURL=routing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../src/routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../src/routing.ts"],"names":[],"mappings":"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"}
package/dist/routing.js CHANGED
@@ -1,15 +1,13 @@
1
1
  import { failure, success } from "./result.js";
2
- import { SpiderContractMismatchError, TransportError, toSpiderError } from "./errors.js";
2
+ import { DecodingError, SpiderContractMismatchError, TransportError, parseErrorEnvelope, toSpiderError } from "./errors.js";
3
3
  import { bikesAllowedFromWire, transitModeFromWire, wheelchairFromWire } from "./enums.js";
4
4
  import { decodePolyline } from "./polyline.js";
5
- import { DEPARTURES, PLAN, TRIP } from "./persistedQueries.js";
6
- const DEFAULT_FIRST = 5;
5
+ import { DEPARTURES, PLAN, PLAN_STREAM, TRIP } from "./persistedQueries.js";
7
6
  const DEFAULT_SEARCH_WINDOW_MINUTES = 60;
8
7
  const DEFAULT_MAX_TRAVERSAL_MINUTES = 360;
9
8
  const DEFAULT_TARGET_RESULTS = 10;
10
- // High per-step cap so each step pulls a whole window (OTP's cursor then advances a full window). `first` is
11
- // a per-search cap, not cursor-locked, so it can be high without changing the step size.
12
- const MAX_RESULTS_PER_STEP = 50;
9
+ const DEFAULT_STREAM_TARGET_RESULTS = 5;
10
+ const DEFAULT_MAX_WINDOW_MINUTES = 360;
13
11
  const DEFAULT_TIME_RANGE_SECONDS = 24 * 60 * 60;
14
12
  const INT_MAX = 2_147_483_647;
15
13
  // The OTP transit modes valid in a modes filter — the public TransitMode union also carries street/leg
@@ -38,19 +36,115 @@ export class SpiderRouting {
38
36
  searchWindowMinutes: options.searchWindowMinutes ?? DEFAULT_SEARCH_WINDOW_MINUTES,
39
37
  wheelchairAccessible: options.wheelchairAccessible ?? false,
40
38
  };
41
- return this.page(request, options.first ?? DEFAULT_FIRST);
39
+ return this.page(request);
42
40
  }
43
- async planNext(route, first = DEFAULT_FIRST) {
41
+ /**
42
+ * Streams itineraries over Server-Sent Events as the router sweeps the search window forward, emitting them
43
+ * as they finalize instead of one batched page. Lazy and cancellable: iteration opens the request, and
44
+ * `break`ing out of the `for await` cancels the underlying stream. Each `chunk` event carries itineraries
45
+ * with realtime delays already on their legs; a `page` event then carries the continuation cursors and a
46
+ * `done` event closes the stream (or a terminal `failure`). Never throws for transport/HTTP/server errors —
47
+ * they surface as a `failure` event — except a contract-version mismatch, which throws like the batch calls.
48
+ *
49
+ * `targetResults` is a soft floor the sweep aims to reach; `maxWindowMinutes` caps how far forward it
50
+ * searches. To continue, re-call with the same inputs plus `after` = the last `page` event's `endCursor`
51
+ * (or `before` = `startCursor` to walk earlier). For a single batched page instead, use {@link plan}.
52
+ */
53
+ async *planStream(options) {
54
+ const time = options.arriveBy != null
55
+ ? { kind: 'arriveBy', epochMs: toEpochMs(options.arriveBy) }
56
+ : { kind: 'departAt', epochMs: toEpochMs(options.departAt ?? Date.now()) };
57
+ const iso = new Date(time.epochMs).toISOString();
58
+ const via = options.via ?? [];
59
+ const maxWindowMinutes = Math.max(1, Math.floor(options.maxWindowMinutes ?? DEFAULT_MAX_WINDOW_MINUTES));
60
+ const variables = {
61
+ dateTime: time.kind === 'departAt' ? { earliestDeparture: iso } : { latestArrival: iso },
62
+ origin: locationToInput(options.origin),
63
+ destination: locationToInput(options.destination),
64
+ via: via.length > 0 ? via.map(viaToInput) : undefined,
65
+ modes: modesInput(options.allowedTransitModes ?? []),
66
+ preferences: preferencesInput({
67
+ maxTransfers: options.maxTransfers,
68
+ wheelchairAccessible: options.wheelchairAccessible ?? false,
69
+ }),
70
+ targetResults: options.targetResults ?? DEFAULT_STREAM_TARGET_RESULTS,
71
+ maxWindow: `PT${maxWindowMinutes}M`,
72
+ before: options.before,
73
+ after: options.after,
74
+ };
75
+ yield* this.openPlanStream(variables);
76
+ }
77
+ // Opens the SSE `plan-stream` request and turns its `chunk`/`pageInfo`/`done`/`error` records into a
78
+ // PlanStreamEvent stream. A non-2xx response, a transport error, or a decoding slip becomes a terminal
79
+ // `failure` event rather than a throw (a contract mismatch still throws). Reading stops when the server
80
+ // closes the stream or the consumer stops iterating (which cancels the reader → aborts the request).
81
+ async *openPlanStream(variables) {
82
+ let response;
83
+ try {
84
+ response = await this.transport.stream(PLAN_STREAM, variables);
85
+ }
86
+ catch (e) {
87
+ if (e instanceof SpiderContractMismatchError)
88
+ throw e;
89
+ yield { kind: 'failure', error: toSpiderError(e) };
90
+ return;
91
+ }
92
+ if (!response.ok) {
93
+ const text = await drainText(response);
94
+ const env = parseErrorEnvelope(text);
95
+ const detail = env.message ?? text.slice(0, 300);
96
+ const err = new TransportError('http', `routing plan-stream -> ${response.status}: ${detail}`, response.status, env.code);
97
+ yield { kind: 'failure', error: toSpiderError(err) };
98
+ return;
99
+ }
100
+ const body = response.body;
101
+ if (body == null) {
102
+ yield { kind: 'failure', error: toSpiderError(new TransportError('no_data', 'routing plan-stream returned no body')) };
103
+ return;
104
+ }
105
+ const reader = body.getReader();
106
+ const decoder = new TextDecoder();
107
+ let buffer = '';
108
+ try {
109
+ for (;;) {
110
+ const { value, done } = await reader.read();
111
+ if (done)
112
+ break;
113
+ buffer = (buffer + decoder.decode(value, { stream: true })).replace(/\r\n/g, '\n');
114
+ // SSE records are separated by a blank line; parse every complete one and keep the remainder buffered.
115
+ let boundary;
116
+ while ((boundary = buffer.indexOf('\n\n')) !== -1) {
117
+ const record = parseSseFrame(buffer.slice(0, boundary));
118
+ buffer = buffer.slice(boundary + 2);
119
+ const event = parsePlanStreamRecord(record.event, record.data);
120
+ if (event != null)
121
+ yield event;
122
+ }
123
+ }
124
+ // A trailing record the server didn't terminate with a blank line before closing.
125
+ const record = parseSseFrame(buffer);
126
+ const event = parsePlanStreamRecord(record.event, record.data);
127
+ if (event != null)
128
+ yield event;
129
+ }
130
+ catch (e) {
131
+ yield { kind: 'failure', error: toSpiderError(e) };
132
+ }
133
+ finally {
134
+ await reader.cancel().catch(() => { });
135
+ }
136
+ }
137
+ async planNext(route) {
44
138
  if (!route.pageInfo.hasNextPage)
45
139
  return null;
46
- // Forward paging = first + after.
47
- return this.page(requestOf(route), first, undefined, undefined, route.pageInfo.endCursor ?? undefined);
140
+ // Forward paging = after (no count; the server returns a whole window per page).
141
+ return this.page(requestOf(route), undefined, route.pageInfo.endCursor ?? undefined);
48
142
  }
49
- async planPrevious(route, last = DEFAULT_FIRST) {
143
+ async planPrevious(route) {
50
144
  if (!route.pageInfo.hasPreviousPage)
51
145
  return null;
52
- // Backward paging = last + before (Relay-correct), not first + before.
53
- return this.page(requestOf(route), undefined, last, route.pageInfo.startCursor ?? undefined, undefined);
146
+ // Backward paging = before (no count; the server returns a whole window per page).
147
+ return this.page(requestOf(route), route.pageInfo.startCursor ?? undefined, undefined);
54
148
  }
55
149
  /**
56
150
  * Streams itineraries by stepping the search forward one search window at a time, until `targetResults`
@@ -68,7 +162,7 @@ export class SpiderRouting {
68
162
  const { targetResults, maxTraversalMinutes, ...planOptions } = options;
69
163
  const target = targetResults ?? DEFAULT_TARGET_RESULTS;
70
164
  const steps = stepCount(maxTraversalMinutes ?? DEFAULT_MAX_TRAVERSAL_MINUTES, options.searchWindowMinutes ?? DEFAULT_SEARCH_WINDOW_MINUTES);
71
- const first = await this.plan({ ...planOptions, first: MAX_RESULTS_PER_STEP });
165
+ const first = await this.plan(planOptions);
72
166
  yield first;
73
167
  if (!first.isSuccess)
74
168
  return;
@@ -93,8 +187,8 @@ export class SpiderRouting {
93
187
  let collected = collectedSoFar;
94
188
  for (let i = 0; i < Math.max(0, remainingSteps); i++) {
95
189
  const res = direction === 'forward'
96
- ? await this.planNext(prev, MAX_RESULTS_PER_STEP)
97
- : await this.planPrevious(prev, MAX_RESULTS_PER_STEP);
190
+ ? await this.planNext(prev)
191
+ : await this.planPrevious(prev);
98
192
  if (res === null)
99
193
  return;
100
194
  yield res;
@@ -143,9 +237,9 @@ export class SpiderRouting {
143
237
  return failure(toSpiderError(e));
144
238
  }
145
239
  }
146
- async page(request, first, last, before, after) {
240
+ async page(request, before, after) {
147
241
  try {
148
- return success(await this.fetchPlan(request, first, last, before, after));
242
+ return success(await this.fetchPlan(request, before, after));
149
243
  }
150
244
  catch (e) {
151
245
  if (e instanceof SpiderContractMismatchError)
@@ -153,7 +247,7 @@ export class SpiderRouting {
153
247
  return failure(toSpiderError(e));
154
248
  }
155
249
  }
156
- async fetchPlan(request, first, last, before, after) {
250
+ async fetchPlan(request, before, after) {
157
251
  const iso = new Date(request.time.epochMs).toISOString();
158
252
  const dateTime = request.time.kind === 'departAt'
159
253
  ? { earliestDeparture: iso }
@@ -167,8 +261,6 @@ export class SpiderRouting {
167
261
  preferences: preferencesInput(request),
168
262
  // Floor to a whole minute, min 1 — a sub-minute window returns almost nothing on OTP.
169
263
  searchWindow: `PT${Math.max(1, Math.floor(request.searchWindowMinutes))}M`,
170
- first,
171
- last,
172
264
  before,
173
265
  after,
174
266
  };
@@ -240,14 +332,128 @@ function modesInput(modes) {
240
332
  return transit.length > 0 ? { transit: { transit } } : undefined;
241
333
  }
242
334
  function preferencesInput(request) {
335
+ // The router indexes legs with leg 0 = the initial access (walk, or nothing), so its wire
336
+ // `maximumTransfers` counts boardings = transfers + 1 (wire 0 = walk-only, not exposed here).
337
+ // `maxTransfers` is a transfer count, so map it to boardings: 0 transfers = 1 boarding (direct).
243
338
  const transit = request.maxTransfers != null
244
- ? { transfer: { maximumTransfers: request.maxTransfers } }
339
+ ? { transfer: { maximumTransfers: request.maxTransfers + 1 } }
245
340
  : undefined;
246
341
  const accessibility = request.wheelchairAccessible ? { wheelchair: { enabled: true } } : undefined;
247
342
  if (transit === undefined && accessibility === undefined)
248
343
  return undefined;
249
344
  return { transit, accessibility };
250
345
  }
346
+ // ISO-8601 time-only duration (e.g. "PT1M30S", "PT-90S") → seconds, with a plain-integer-seconds fallback;
347
+ // mirrors the batch plan's realtime-delay handling. Returns null for absent or unparseable values.
348
+ function durationSecondsFromWire(raw) {
349
+ if (raw == null)
350
+ return null;
351
+ const iso = /^(-)?PT(?:(-?\d+)H)?(?:(-?\d+)M)?(?:(-?\d+(?:\.\d+)?)S)?$/i.exec(raw);
352
+ if (iso != null && (iso[2] != null || iso[3] != null || iso[4] != null)) {
353
+ const sign = iso[1] === '-' ? -1 : 1;
354
+ return sign * (Number(iso[2] ?? 0) * 3600 + Number(iso[3] ?? 0) * 60 + Number(iso[4] ?? 0));
355
+ }
356
+ const plain = Number(raw);
357
+ return Number.isFinite(plain) ? plain : null;
358
+ }
359
+ const SSE_DEFAULT_EVENT = 'message';
360
+ // Parses one finished SSE record (its event name + accumulated data) into a PlanStreamEvent; returns null for
361
+ // records the SDK doesn't surface (heartbeats, unknown events). A malformed payload becomes a terminal
362
+ // `failure` rather than throwing. Exported so the wire-contract test exercises it directly.
363
+ export function parsePlanStreamRecord(event, data) {
364
+ if (data.trim() === '')
365
+ return null;
366
+ switch (event) {
367
+ case 'chunk':
368
+ return decodeStreamRecord('chunk', data, (chunk) => ({
369
+ kind: 'chunk',
370
+ frontierSeconds: chunk.frontier ?? 0,
371
+ found: chunk.found ?? 0,
372
+ finalized: chunk.finalized ?? 0,
373
+ itineraries: (chunk.results ?? []).map(mapItinerary),
374
+ }));
375
+ case 'pageInfo':
376
+ return decodeStreamRecord('pageInfo', data, (page) => ({
377
+ kind: 'page',
378
+ pageInfo: {
379
+ startCursor: page.startCursor ?? null,
380
+ endCursor: page.endCursor ?? null,
381
+ hasNextPage: page.hasNextPage ?? false,
382
+ hasPreviousPage: page.hasPreviousPage ?? false,
383
+ searchWindowUsed: page.searchWindowUsed ?? null,
384
+ },
385
+ }));
386
+ case 'done':
387
+ return decodeStreamRecord('done', data, (done) => ({
388
+ kind: 'done',
389
+ iterations: done.iterations ?? 0,
390
+ windowSeconds: done.windowSeconds ?? 0,
391
+ resultCount: done.resultCount ?? 0,
392
+ stoppedBy: done.stoppedBy ?? 'unknown',
393
+ }));
394
+ case 'error':
395
+ return { kind: 'failure', error: streamErrorToSpiderError(data) };
396
+ default:
397
+ return null;
398
+ }
399
+ }
400
+ function decodeStreamRecord(kind, data, map) {
401
+ try {
402
+ return map(JSON.parse(data));
403
+ }
404
+ catch (e) {
405
+ return { kind: 'failure', error: toSpiderError(new DecodingError(`failed to decode plan-stream ${kind}`, e)) };
406
+ }
407
+ }
408
+ // Splits one raw SSE record into its event name (default "message") and data (multiple `data:` lines joined
409
+ // with "\n"), per the SSE line format: `field: value`, a leading space after the colon stripped, `:` comments
410
+ // and blank lines ignored.
411
+ function parseSseFrame(record) {
412
+ let event = SSE_DEFAULT_EVENT;
413
+ const data = [];
414
+ for (const line of record.split('\n')) {
415
+ if (line === '' || line.startsWith(':'))
416
+ continue;
417
+ const colon = line.indexOf(':');
418
+ const field = colon === -1 ? line : line.slice(0, colon);
419
+ let value = colon === -1 ? '' : line.slice(colon + 1);
420
+ if (value.startsWith(' '))
421
+ value = value.slice(1);
422
+ if (field === 'event')
423
+ event = value;
424
+ else if (field === 'data')
425
+ data.push(value);
426
+ }
427
+ return { event, data: data.join('\n') };
428
+ }
429
+ // A stream `error` record is the same GraphQL error envelope the batch path returns, so it maps through the
430
+ // same taxonomy — a top-level BAD_REQUEST becomes a typed bad_request (with its field), anything else server.
431
+ function streamErrorToSpiderError(data) {
432
+ let env;
433
+ try {
434
+ env = JSON.parse(data);
435
+ }
436
+ catch {
437
+ return toSpiderError(new TransportError('upstream', `plan-stream error: ${data.slice(0, 300)}`));
438
+ }
439
+ const errors = env.errors;
440
+ if (errors != null && errors.length > 0) {
441
+ const bad = errors.find((e) => e.extensions?.code === 'BAD_REQUEST');
442
+ if (bad != null) {
443
+ return toSpiderError(new TransportError('bad_request', bad.message, undefined, undefined, bad.extensions?.field));
444
+ }
445
+ return toSpiderError(new TransportError('upstream', `plan-stream errors: ${errors.map((e) => e.message).join(', ')}`));
446
+ }
447
+ return toSpiderError(new TransportError('upstream', `plan-stream error: ${env.message ?? data.slice(0, 300)}`));
448
+ }
449
+ async function drainText(response) {
450
+ try {
451
+ return await response.text();
452
+ }
453
+ catch {
454
+ return '';
455
+ }
456
+ }
251
457
  function mapItinerary(node) {
252
458
  return {
253
459
  start: node.start ?? null,
@@ -264,6 +470,13 @@ function mapLeg(leg) {
264
470
  mode: transitModeFromWire(leg.mode),
265
471
  startScheduled: leg.start.scheduledTime,
266
472
  endScheduled: leg.end.scheduledTime,
473
+ startEstimated: leg.start.estimated?.time ?? null,
474
+ endEstimated: leg.end.estimated?.time ?? null,
475
+ startDelaySeconds: durationSecondsFromWire(leg.start.estimated?.delay),
476
+ endDelaySeconds: durationSecondsFromWire(leg.end.estimated?.delay),
477
+ isRealtime: leg.realTime ?? false,
478
+ realtimeState: leg.realtimeState ?? null,
479
+ serviceDate: leg.serviceDate ?? null,
267
480
  fromName: leg.from.name ?? null,
268
481
  toName: leg.to.name ?? null,
269
482
  routeShortName: leg.route?.shortName ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"routing.js","sourceRoot":"","sources":["../src/routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../src/routing.ts"],"names":[],"mappings":"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"}
package/dist/sdk.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { SDK_VERSION } from './sdkVersion.ts';
2
2
  export { SDK_VERSION };
3
3
  export declare const SDK_HEADER = "x-spider-sdk";
4
- export declare const SDK_IDENTITY = "typescript/0.1.0";
4
+ export declare const SDK_IDENTITY = "typescript/0.7.0";
5
5
  //# sourceMappingURL=sdk.d.ts.map
@@ -1,2 +1,2 @@
1
- export declare const SDK_VERSION = "0.1.0";
1
+ export declare const SDK_VERSION = "0.7.0";
2
2
  //# sourceMappingURL=sdkVersion.d.ts.map
@@ -1,2 +1,2 @@
1
- export const SDK_VERSION = '0.1.0';
1
+ export const SDK_VERSION = '0.7.0';
2
2
  //# sourceMappingURL=sdkVersion.js.map
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@tiducto/spider-sdk-typescript",
3
- "version": "0.1.0",
3
+ "version": "0.7.0",
4
4
  "description": "TypeScript SDK for the Spider transit API: trip planning, stop search, and live realtime data.",
5
- "author": "Tiducto",
5
+ "author": "Tiducto Mobility s.r.o.",
6
6
  "type": "module",
7
7
  "exports": {
8
8
  ".": {
@@ -40,7 +40,7 @@
40
40
  "sdk",
41
41
  "typescript"
42
42
  ],
43
- "license": "MIT",
43
+ "license": "Apache-2.0",
44
44
  "homepage": "https://docs.tiducto.eu",
45
45
  "repository": {
46
46
  "type": "git",