@cyanheads/wsdot-mcp-server 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CLAUDE.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** @cyanheads/wsdot-mcp-server
4
- **Version:** 0.1.1
5
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.7`
4
+ **Version:** 0.1.4
5
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.13`
6
6
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
7
7
  **MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
8
8
  **Zod:** ^4.4.3
@@ -18,6 +18,7 @@
18
18
  - **Use `ctx.state`** for tenant-scoped storage. Never access persistence directly.
19
19
  - **Check `ctx.elicit` / `ctx.sample`** for presence before calling.
20
20
  - **Secrets in env vars only** — never hardcoded.
21
+ - **Close the loop on issues.** When implementing work tracked by a GitHub issue, comment on the issue with what landed and close it. Do both — a comment without a close leaves stale issues open; a close without a comment leaves no record of what shipped. The comment is for future readers — state the concrete changes, not the conversation that produced them.
21
22
 
22
23
  ---
23
24
 
@@ -106,6 +107,8 @@ Handlers throw — the framework catches, classifies, and formats.
106
107
  **Recommended: typed error contract.** Declare `errors: [{ reason, code, when, recovery, retryable? }]` on `tool()` / `resource()` to receive `ctx.fail(reason, …)` typed against the reason union. TypeScript catches typos at compile time, `data.reason` is auto-populated for observability, linter enforces conformance against the handler body. `recovery` is required descriptive metadata for the agent's next move (≥ 5 words, lint-validated); for the wire `data.recovery.hint` (mirrored into `content[]` text), pass explicitly at the throw site when dynamic context matters: `ctx.fail('reason', msg, { recovery: { hint: '...' } })`. Baseline codes (`InternalError`, `ServiceUnavailable`, `Timeout`, `ValidationError`, `SerializationError`) bubble freely and don't need declaring.
107
108
 
108
109
  ```ts
110
+ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
111
+
109
112
  errors: [
110
113
  { reason: 'no_match', code: JsonRpcErrorCode.NotFound,
111
114
  when: 'No item matched the query',
@@ -203,13 +206,18 @@ Available skills:
203
206
  | `add-service` | Scaffold a new service integration |
204
207
  | `add-test` | Scaffold test file for a tool, resource, or service |
205
208
  | `field-test` | Exercise tools/resources/prompts with real inputs, verify behavior, report issues |
209
+ | `tool-defs-analysis` | Read-only audit of MCP definition language across the surface — voice, leaks, defaults, recovery hints, output descriptions |
206
210
  | `security-pass` | Audit server for MCP-flavored security gaps: output injection, scope blast radius, input sinks, tenant isolation |
211
+ | `code-simplifier` | Post-session cleanup against `git diff` — modernize syntax, consolidate duplication, align with the codebase |
207
212
  | `devcheck` | Lint, format, typecheck, audit |
208
213
  | `polish-docs-meta` | Finalize docs, README, metadata, and agent protocol for shipping |
214
+ | `git-wrapup` | Land working-tree changes as a versioned commit + annotated tag — version bump, changelog, verify, tag. Local only. |
215
+ | `release-and-publish` | Push + npm + MCP Registry + GH Release + Docker. Picks up from `git-wrapup` |
209
216
  | `maintenance` | Investigate changelogs, adopt upstream changes, sync skills to agent dirs |
210
217
  | `report-issue-framework` | File a bug or feature request against `@cyanheads/mcp-ts-core` via `gh` CLI |
211
218
  | `report-issue-local` | File a bug or feature request against this server's own repo via `gh` CLI |
212
219
  | `api-auth` | Auth modes, scopes, JWT/OAuth |
220
+ | `api-linter` | Definition linter rule catalog — invoked by `bun run lint:mcp` and `devcheck` |
213
221
  | `api-canvas` | DataCanvas: register tabular data, run SQL, export, plus the `spillover()` helper for big result sets — Tier 3 opt-in |
214
222
  | `api-config` | AppConfig, parseConfig, env vars |
215
223
  | `api-context` | Context interface, logger, state, progress |
@@ -234,7 +242,7 @@ When you complete a skill's checklist, check the boxes and add a completion time
234
242
  | `npm run rebuild` | Clean + build |
235
243
  | `npm run clean` | Remove build artifacts |
236
244
  | `npm run devcheck` | Lint + format + typecheck + security + changelog sync |
237
- | `bun run audit:refresh` | Delete `bun.lock`, reinstall, re-audit. Use when `devcheck` flags a transitive advisory — stale lockfile can mask already-patched deps. If advisory survives, it's real. |
245
+ | `bun run audit:refresh` | Delete `bun.lock`, reinstall, and re-run `bun audit`. Use when `devcheck` flags a transitive advisory — Bun's `update` is sticky on transitive resolutions, so the advisory may be a stale-lockfile false positive. If it survives the refresh, it's real. |
238
246
  | `npm run tree` | Generate directory structure doc |
239
247
  | `npm run format` | Auto-fix formatting |
240
248
  | `npm test` | Run tests |
@@ -252,40 +260,7 @@ When you complete a skill's checklist, check the boxes and add a completion time
252
260
 
253
261
  **Adding an env var requires both files:** `server.json` (registry discovery, `environmentVariables[]`) and `manifest.json` (bundle install UX, `mcp_config.env` + `user_config`). `lint:packaging` (run by `devcheck`) verifies the env var names match.
254
262
 
255
- **README install badges.** Drop these into the project README to give users one-click install paths. Fill in `<OWNER>` / `<REPO>` / `<PACKAGE_NAME>` and encode the per-server config. Cursor + VS Code badges assume the server is published to npm; Claude Desktop downloads the `.mcpb` directly so npm publishing isn't required.
256
-
257
- | Client | Mechanism |
258
- |:-------|:----------|
259
- | Claude Desktop | Browser downloads the `.mcpb` from the latest GitHub Release; OS file handler routes it to Claude Desktop, which opens the install dialog. No deep-link URL scheme yet — this is the canonical path. |
260
- | Cursor | Official `https://cursor.com/en/install-mcp` endpoint with base64 JSON config. |
261
- | VS Code / Insiders | Official `vscode:mcp/install?...` deep link, wrapped in `https://vscode.dev/redirect?url=` so GitHub-rendered markdown doesn't strip the non-HTTP scheme. |
262
- | Claude Code / Codex | CLI only (`claude mcp add` / `codex mcp add`); no URL scheme. |
263
-
264
- ```markdown
265
- [![Install in Claude Desktop](https://img.shields.io/badge/Install_in-Claude_Desktop-D97757?style=for-the-badge&logo=anthropic&logoColor=white)](https://github.com/<OWNER>/<REPO>/releases/latest/download/<PACKAGE_NAME>.mcpb)
266
- [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=<PACKAGE_NAME>&config=<BASE64_CONFIG>)
267
- [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode:mcp/install?<URLENCODED_JSON>)
268
- ```
269
-
270
- Both install links route through HTTPS endpoints (`cursor.com/en/install-mcp` and `vscode.dev/redirect`) — GitHub-rendered markdown strips non-HTTP URL schemes from anchors, so a raw `cursor://` or `vscode:` link won't click through from github.com.
271
-
272
- Generate the encoded configs (replace `<PACKAGE_NAME>` and add env vars for any required API keys):
273
-
274
- ```bash
275
- # Cursor: base64-encoded JSON. Split command/args, add env when keys are needed.
276
- echo -n '{"command":"npx","args":["-y","<PACKAGE_NAME>"],"env":{"API_KEY":"your-api-key"}}' | base64
277
- # Without env (no required keys):
278
- echo -n '{"command":"npx","args":["-y","<PACKAGE_NAME>"]}' | base64
279
-
280
- # VS Code: URL-encoded JSON. Same shape plus a `name` field.
281
- node -p 'encodeURIComponent(JSON.stringify({name:"<SHORT_NAME>",command:"npx",args:["-y","<PACKAGE_NAME>"],env:{API_KEY:"your-api-key"}}))'
282
- # Without env:
283
- node -p 'encodeURIComponent(JSON.stringify({name:"<SHORT_NAME>",command:"npx",args:["-y","<PACKAGE_NAME>"]}))'
284
- ```
285
-
286
- Both clients use the same `{command, args, env}` shape (matching `mcp.json` schema). VS Code adds a top-level `name` field. Omit `env` entirely when no API keys are needed — don't include empty objects or framework-only vars like `MCP_TRANSPORT_TYPE`.
287
-
288
- The Claude Desktop badge requires the bundle to ship with a stable filename — `bun run bundle` outputs `dist/<PACKAGE_NAME>.mcpb`, and `release-and-publish` attaches that file to the GitHub Release. `releases/latest/download/<PACKAGE_NAME>.mcpb` then redirects to the most recent release.
263
+ **README install badges** (Claude Desktop `.mcpb`, Cursor, VS Code) and the `base64` / `encodeURIComponent` config-generation commands are ship-time concerns — run the `polish-docs-meta` skill, which carries the badge format, layout, and generation snippets in `skills/polish-docs-meta/references/readme.md`.
289
264
 
290
265
  ---
291
266
 
@@ -308,6 +283,8 @@ security: false # optional — true flags security fi
308
283
 
309
284
  `breaking: true` renders a `· ⚠️ Breaking` badge — use it when consumers must update code on upgrade (signature changes, removed APIs, config renames). `security: true` renders a `· 🛡️ Security` badge and pairs with a `## Security` body section. When both are set, badges render `· ⚠️ Breaking · 🛡️ Security`.
310
285
 
286
+ `agent-notes` is an optional free-form field for maintenance agents processing the release downstream. Content here won't appear in the rendered CHANGELOG — it's consumed by agents running the `maintenance` skill. Use it for adoption instructions that don't fit the human-facing sections: new files to create, fields to populate, one-time migration steps. Omit entirely when there's nothing to say.
287
+
311
288
  **Section order** (Keep a Changelog): Added, Changed, Deprecated, Removed, Fixed, Security. Include only sections with entries — don't ship empty headers.
312
289
 
313
290
  **Tag annotations** render as GitHub Release bodies via `--notes-from-tag`. They must be structured markdown — never a flat comma-separated string. Subject omits the version number (GitHub prepends it). See `changelog/template.md` for the full format reference.
@@ -340,4 +317,7 @@ import { getMyService } from '@/services/my-domain/my-service.js';
340
317
  - [ ] If wrapping external API: tests include at least one sparse payload case with omitted upstream fields
341
318
  - [ ] Registered in `createApp()` arrays (directly or via barrel exports)
342
319
  - [ ] Tests use `createMockContext()` from `@cyanheads/mcp-ts-core/testing`
320
+ - [ ] `.codex-plugin/plugin.json` populated — `name`, `version`, `description`, `repository`, `license` from `package.json`; `interface.displayName` = package name; `interface.shortDescription` from `package.json` description
321
+ - [ ] `.codex-plugin/mcp.json` updated — server name key matches `package.json` name; env vars added for any required API keys
322
+ - [ ] `.claude-plugin/plugin.json` populated — `name`, `version`, `description`, `repository`, `license` from `package.json`; inline `mcpServers` entry with server name key, env vars for any required API keys
343
323
  - [ ] `npm run devcheck` passes
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![Version](https://img.shields.io/badge/Version-0.1.3-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/wsdot-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/wsdot-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/wsdot-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^5.9.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.0+-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![Version](https://img.shields.io/badge/Version-0.1.4-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/wsdot-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/wsdot-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/wsdot-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.0+-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -0,0 +1,19 @@
1
+ ---
2
+ summary: "@cyanheads/mcp-ts-core ^0.9.7 → ^0.9.13; dep refresh; error code corrections; landing requireAuth"
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.1.4 — 2026-05-28
8
+
9
+ ## Changed
10
+
11
+ - **`@cyanheads/mcp-ts-core`** ^0.9.7 → ^0.9.13 — picks up HTTP session-init gate (HTTP 400 on missing `Mcp-Session-Id`), configurable request-body cap (`MCP_HTTP_MAX_BODY_BYTES`, default 1 MiB, 413 on oversize), quieter 401/403/400/404 logging (warning level, no stack traces), and `GET /mcp` now surfaces `package.json` `keywords`.
12
+ - **`landing.requireAuth: false`** added to `createApp()` — explicitly opts the hosted server into public catalog inventory (tool list visible without auth), consistent with `MCP_AUTH_MODE=none` deployments.
13
+ - **`invalidParams` → `validationError`** in `ferry-service.ts` and two ferry tool error contracts — aligns with the framework's `ValidationError` code for malformed input.
14
+ - **`@biomejs/biome`** ^2.4.7 → ^2.4.16
15
+ - **`@types/node`** ^25.6.0 → ^25.9.1
16
+ - **`tsc-alias`** ^1.8.16 → ^1.8.17
17
+ - **`typescript`** ^5.9.3 → ^6.0.3
18
+ - **`vitest`** ^4.1.0 → ^4.1.7
19
+ - **Skills synced** — `git-wrapup`, `code-simplifier`, and skill refreshes from the 0.9.8–0.9.13 framework series.
@@ -19,6 +19,14 @@ breaking: false
19
19
  # `## Security` section below. Flagged as `Security` in the rollup so
20
20
  # users can triage upgrade urgency at a glance.
21
21
  security: false
22
+
23
+ # Optional free-form notes for maintenance agents processing this release.
24
+ # Not rendered in CHANGELOG — consumed by agents running `maintenance` on
25
+ # downstream servers. Use for adoption instructions that don't fit the
26
+ # human-facing sections: new files to create, fields to populate, one-time
27
+ # migration steps. Omit the field entirely when there's nothing to say.
28
+ # agent-notes: |
29
+ # <instructions for downstream maintenance agents>
22
30
  ---
23
31
 
24
32
  # <version> — YYYY-MM-DD
package/dist/index.js CHANGED
@@ -25,6 +25,7 @@ await createApp({
25
25
  resources: [],
26
26
  prompts: [],
27
27
  instructions: 'WSDOT Traveler Information server for Washington State. Traffic tools (mountain passes, alerts, travel times, toll rates, border waits, cameras) use the WSDOT Traffic API. Ferry tools use the WSF Ferry API. For ferry schedule and space lookups, first call wsdot_get_ferry_terminals to resolve terminal names to numeric IDs. Ferry route IDs from wsdot_get_ferry_routes correspond to impactedRouteIds in wsdot_get_ferry_alerts.',
28
+ landing: { requireAuth: false },
28
29
  setup(core) {
29
30
  initTrafficApiService(core.config, core.storage);
30
31
  initFerryApiService(core.config, core.storage);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACd,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,MAAM,SAAS,CAAC;IACd,KAAK,EAAE;QACL,iBAAiB;QACjB,YAAY;QACZ,cAAc;QACd,YAAY;QACZ,cAAc;QACd,aAAa;QACb,iBAAiB;QACjB,cAAc;QACd,gBAAgB;QAChB,kBAAkB;QAClB,gBAAgB;QAChB,cAAc;KACf;IACD,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,EAAE;IACX,YAAY,EACV,2aAA2a;IAC7a,KAAK,CAAC,IAAI;QACR,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACd,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,MAAM,SAAS,CAAC;IACd,KAAK,EAAE;QACL,iBAAiB;QACjB,YAAY;QACZ,cAAc;QACd,YAAY;QACZ,cAAc;QACd,aAAa;QACb,iBAAiB;QACjB,cAAc;QACd,gBAAgB;QAChB,kBAAkB;QAClB,gBAAgB;QAChB,cAAc;KACf;IACD,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,EAAE;IACX,YAAY,EACV,2aAA2a;IAC7a,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;IAC/B,KAAK,CAAC,IAAI;QACR,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CACF,CAAC,CAAC"}
@@ -22,7 +22,7 @@ export declare const getFerryRoutes: import("@cyanheads/mcp-ts-core").ToolDefini
22
22
  readonly recovery: "Retry in 30 seconds. If the issue persists, check wsdot.wa.gov/ferries for service status.";
23
23
  }, {
24
24
  readonly reason: "invalid_date";
25
- readonly code: JsonRpcErrorCode.InvalidParams;
25
+ readonly code: JsonRpcErrorCode.ValidationError;
26
26
  readonly when: "The provided tripDate is not a valid ISO 8601 date.";
27
27
  readonly recovery: "Provide a valid date in YYYY-MM-DD format, such as 2026-05-23.";
28
28
  }]>;
@@ -50,7 +50,7 @@ export const getFerryRoutes = tool('wsdot_get_ferry_routes', {
50
50
  },
51
51
  {
52
52
  reason: 'invalid_date',
53
- code: JsonRpcErrorCode.InvalidParams,
53
+ code: JsonRpcErrorCode.ValidationError,
54
54
  when: 'The provided tripDate is not a valid ISO 8601 date.',
55
55
  recovery: 'Provide a valid date in YYYY-MM-DD format, such as 2026-05-23.',
56
56
  },
@@ -1 +1 @@
1
- {"version":3,"file":"get-ferry-routes.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-ferry-routes.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAExF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,EAAE;IAC3D,KAAK,EAAE,kBAAkB;IACzB,WAAW,EACT,0DAA0D;QAC1D,wFAAwF;QACxF,oFAAoF;IACtF,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,kEAAkE;YAChE,+BAA+B,CAClC;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,MAAM,EAAE,CAAC;aACN,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,4EAA4E,CAC7E;YACH,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;YACzD,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;SAC1E,CAAC;aACD,QAAQ,CAAC,oDAAoD,CAAC,CAClE;aACA,QAAQ,CAAC,+CAA+C,CAAC;QAC5D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;QACjF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KACpE,CAAC;IAEF,MAAM,EAAE;QACN;YACE,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,2EAA2E;YACjF,SAAS,EAAE,IAAI;YACf,QAAQ,EACN,4FAA4F;SAC/F;QACD;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,aAAa;YACpC,IAAI,EAAE,qDAAqD;YAC3D,QAAQ,EAAE,gEAAgE;SAC3E;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;YACrC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpD,CAAC,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;QAErC,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACnE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACzE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACzD,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAa;YACtB,yBAAyB,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,UAAU,YAAY;SAC3E,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,IAAI,eAAe,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC1B,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"get-ferry-routes.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-ferry-routes.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAExF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,EAAE;IAC3D,KAAK,EAAE,kBAAkB;IACzB,WAAW,EACT,0DAA0D;QAC1D,wFAAwF;QACxF,oFAAoF;IACtF,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,kEAAkE;YAChE,+BAA+B,CAClC;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,MAAM,EAAE,CAAC;aACN,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,4EAA4E,CAC7E;YACH,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;YACzD,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;SAC1E,CAAC;aACD,QAAQ,CAAC,oDAAoD,CAAC,CAClE;aACA,QAAQ,CAAC,+CAA+C,CAAC;QAC5D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;QACjF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KACpE,CAAC;IAEF,MAAM,EAAE;QACN;YACE,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,2EAA2E;YACjF,SAAS,EAAE,IAAI;YACf,QAAQ,EACN,4FAA4F;SAC/F;QACD;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,qDAAqD;YAC3D,QAAQ,EAAE,gEAAgE;SAC3E;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;YACrC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpD,CAAC,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;QAErC,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACnE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACzE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACzD,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAa;YACtB,yBAAyB,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,UAAU,YAAY;SAC3E,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,IAAI,eAAe,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC1B,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
@@ -29,12 +29,12 @@ export declare const getFerrySchedule: import("@cyanheads/mcp-ts-core").ToolDefi
29
29
  readonly recovery: "Retry in 30 seconds. If the issue persists, check wsdot.wa.gov/ferries for service status.";
30
30
  }, {
31
31
  readonly reason: "invalid_terminal_pair";
32
- readonly code: JsonRpcErrorCode.InvalidParams;
32
+ readonly code: JsonRpcErrorCode.ValidationError;
33
33
  readonly when: "The terminal ID pair is invalid or does not form a valid ferry route.";
34
34
  readonly recovery: "Use wsdot_get_ferry_terminals to list valid terminal IDs and wsdot_get_ferry_routes to find valid pairs.";
35
35
  }, {
36
36
  readonly reason: "invalid_date";
37
- readonly code: JsonRpcErrorCode.InvalidParams;
37
+ readonly code: JsonRpcErrorCode.ValidationError;
38
38
  readonly when: "The provided tripDate is not a valid ISO 8601 date.";
39
39
  readonly recovery: "Provide a valid date in YYYY-MM-DD format, such as 2026-05-23.";
40
40
  }]>;
@@ -53,13 +53,13 @@ export const getFerrySchedule = tool('wsdot_get_ferry_schedule', {
53
53
  },
54
54
  {
55
55
  reason: 'invalid_terminal_pair',
56
- code: JsonRpcErrorCode.InvalidParams,
56
+ code: JsonRpcErrorCode.ValidationError,
57
57
  when: 'The terminal ID pair is invalid or does not form a valid ferry route.',
58
58
  recovery: 'Use wsdot_get_ferry_terminals to list valid terminal IDs and wsdot_get_ferry_routes to find valid pairs.',
59
59
  },
60
60
  {
61
61
  reason: 'invalid_date',
62
- code: JsonRpcErrorCode.InvalidParams,
62
+ code: JsonRpcErrorCode.ValidationError,
63
63
  when: 'The provided tripDate is not a valid ISO 8601 date.',
64
64
  recovery: 'Provide a valid date in YYYY-MM-DD format, such as 2026-05-23.',
65
65
  },
@@ -1 +1 @@
1
- {"version":3,"file":"get-ferry-schedule.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-ferry-schedule.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-ferry-schedule.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-ferry-schedule.tool.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * schedules, vessel locations, terminal space, and alerts.
4
4
  * @module services/ferry/ferry-service
5
5
  */
6
- import { invalidParams, serviceUnavailable } from '@cyanheads/mcp-ts-core/errors';
6
+ import { serviceUnavailable, validationError } from '@cyanheads/mcp-ts-core/errors';
7
7
  import { withRetry } from '@cyanheads/mcp-ts-core/utils';
8
8
  import { getServerConfig } from '../../config/server-config.js';
9
9
  const BASE_URL = 'https://www.wsdot.wa.gov/Ferries/API';
@@ -45,7 +45,7 @@ export class FerryApiService {
45
45
  !Array.isArray(parsed) &&
46
46
  'Message' in parsed) {
47
47
  const msg = parsed.Message;
48
- throw invalidParams(`WSF Ferry API error: ${msg}`, { url });
48
+ throw validationError(`WSF Ferry API error: ${msg}`, { url });
49
49
  }
50
50
  return parsed;
51
51
  }, {
@@ -58,7 +58,7 @@ export class FerryApiService {
58
58
  static toFerryDate(isoDate) {
59
59
  const d = new Date(isoDate);
60
60
  if (Number.isNaN(d.getTime())) {
61
- throw invalidParams(`Invalid date: "${isoDate}". Expected ISO 8601 format (e.g. 2026-05-23).`);
61
+ throw validationError(`Invalid date: "${isoDate}". Expected ISO 8601 format (e.g. 2026-05-23).`);
62
62
  }
63
63
  // Return YYYY-MM-DD — the WSF Schedule API requires ISO 8601
64
64
  return isoDate.trim().slice(0, 10);
@@ -1 +1 @@
1
- {"version":3,"file":"ferry-service.js","sourceRoot":"","sources":["../../../src/services/ferry/ferry-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAgB5D,MAAM,QAAQ,GAAG,sCAAsC,CAAC;AACxD,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B,MAAM,OAAO,eAAe;IAC1B,YAAY,OAAkB,EAAE,QAAwB,IAAG,CAAC;IAEpD,UAAU;QAChB,OAAO,eAAe,EAAE,CAAC,UAAU,CAAC;IACtC,CAAC;IAEO,QAAQ,CAAC,IAAY;QAC3B,OAAO,GAAG,QAAQ,IAAI,IAAI,kBAAkB,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;IAClE,CAAC;IAEO,SAAS,CAAI,IAAY,EAAE,GAAY;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,SAAS,CACd,KAAK,IAAI,EAAE;YACT,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO;gBAC/B,CAAC,CAAC,GAAG,CAAC,MAAM;gBACZ,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,kBAAkB,CAAC,+BAA+B,QAAQ,CAAC,MAAM,GAAG,EAAE;oBAC1E,GAAG;oBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtC,MAAM,kBAAkB,CACtB,mHAAmH,EACnH,EAAE,GAAG,EAAE,CACR,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,MAAM,kBAAkB,CACtB,mGAAmG,EACnG,EAAE,GAAG,EAAE,CACR,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;YACrC,0EAA0E;YAC1E,IACE,MAAM,KAAK,IAAI;gBACf,OAAO,MAAM,KAAK,QAAQ;gBAC1B,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBACtB,SAAS,IAAK,MAAkC,EAChD,CAAC;gBACD,MAAM,GAAG,GAAI,MAAkC,CAAC,OAAiB,CAAC;gBAClE,MAAM,aAAa,CAAC,wBAAwB,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,EACD;YACE,SAAS,EAAE,2BAA2B;YACtC,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CACF,CAAC;IACJ,CAAC;IAED,iFAAiF;IACjF,MAAM,CAAC,WAAW,CAAC,OAAe;QAChC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC9B,MAAM,aAAa,CACjB,kBAAkB,OAAO,gDAAgD,CAC1E,CAAC;QACJ,CAAC;QACD,6DAA6D;QAC7D,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,gDAAgD;IAChD,MAAM,CAAC,cAAc;QACnB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAY;QAC7B,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAqB,+BAA+B,EAAE,GAAG,CAAC,CAAC;QAC3F,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC;YAC7B,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,SAAS;YACzC,GAAG,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC;YACrE,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnD,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;SACvD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,GAAY;QAC5C,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAkB,wBAAwB,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;QAC3F,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YAChD,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5D,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;SAC7D,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,WAAW,CACf,mBAA2B,EAC3B,kBAA0B,EAC1B,QAAgB,EAChB,aAAsB,EACtB,GAAY;QAEZ,IAAI,IAAY,CAAC;QACjB,MAAM,SAAS,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC;QAEnD,IAAI,QAAQ,KAAK,SAAS,IAAI,aAAa,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAC9C,IAAI,GAAG,+BAA+B,mBAAmB,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,0BAA0B,QAAQ,IAAI,mBAAmB,IAAI,kBAAkB,EAAE,CAAC;QAC3F,CAAC;QAED,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACtC,mBAAmB;YACnB,kBAAkB;YAClB,QAAQ;YACR,aAAa;SACd,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAmB,IAAI,EAAE,GAAG,CAAC,CAAC;QAE9D,8DAA8D;QAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO;YACL,GAAG,CAAC,KAAK,EAAE,qBAAqB,IAAI,IAAI,IAAI;gBAC1C,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;aACnD,CAAC;YACF,GAAG,CAAC,KAAK,EAAE,oBAAoB,IAAI,IAAI,IAAI;gBACzC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;aACjD,CAAC;YACF,QAAQ;YACR,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzC,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjF,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7E,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBACzE,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;aAC1D,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAY;QACnC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAsB,8BAA8B,EAAE,GAAG,CAAC,CAAC;QAC3F,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnD,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;YACzD,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;YACnE,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1D,GAAG,CAAC,CAAC,CAAC,mBAAmB,IAAI,IAAI,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC;YACpF,GAAG,CAAC,CAAC,CAAC,qBAAqB,IAAI,IAAI,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC;YAC1F,GAAG,CAAC,CAAC,CAAC,kBAAkB,IAAI,IAAI,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC;YACjF,GAAG,CAAC,CAAC,CAAC,oBAAoB,IAAI,IAAI,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,oBAAoB,EAAE,CAAC;YACvF,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnD,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;YACtD,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAC1C,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YAChD,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,CAAC,CAAC,kBAAkB,IAAI,IAAI,IAAI;gBAClC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC;aACxD,CAAC;YACF,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE;YACpC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;SACtE,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,GAAY;QACxC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAC9B,qCAAqC,EACrC,GAAG,CACJ,CAAC;QACF,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;YACzD,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/D,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvD,4FAA4F;gBAC5F,MAAM,gBAAgB,GAAG,CAAC,CAAC,wBAAwB,IAAI,EAAE,CAAC;gBAC1D,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAClC,iGAAiG;oBACjG,OAAO;wBACL;4BACE,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;4BACrE,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;4BACzE,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;4BACzD,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;yBACnE;qBACF,CAAC;gBACJ,CAAC;gBACD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAClC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;oBACrE,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;oBACzE,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;oBACzD,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;oBACvE,GAAG,CAAC,CAAC,CAAC,iBAAiB,IAAI,IAAI,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC;oBAC9E,GAAG,CAAC,CAAC,CAAC,oBAAoB,IAAI,IAAI,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,oBAAoB,EAAE,CAAC;oBACvF,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;oBAClE,GAAG,CAAC,CAAC,CAAC,oBAAoB,IAAI,IAAI,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,oBAAoB,EAAE,CAAC;iBACxF,CAAC,CAAC,CAAC;YACN,CAAC,CAAC;SACH,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAY;QAC1B,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAkB,sBAAsB,EAAE,GAAG,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;YACtD,4EAA4E;YAC5E,GAAG,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI;gBAC1B,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,cAAc,EAAE;gBACxC,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI;oBACxB,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,cAAc,EAAE;oBACxC,CAAC,CAAC,EAAE,CAAC;YACT,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IAAI,EAAE;YAC1C,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;SAC5E,CAAC,CAAC,CAAC;IACN,CAAC;CACF;AAED,oBAAoB;AAEpB,kGAAkG;AAClG,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,KAAK,GAAG,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAClD,CAAC;AAED,gCAAgC;AAEhC,IAAI,QAAqC,CAAC;AAE1C,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,OAAuB;IAC5E,QAAQ,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"ferry-service.js","sourceRoot":"","sources":["../../../src/services/ferry/ferry-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/wsdot-mcp-server",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Query WA highway conditions, ferry schedules, vessel locations, toll rates, border waits, and alerts via MCP. STDIO or Streamable HTTP.",
5
5
  "mcpName": "io.github.cyanheads/wsdot-mcp-server",
6
6
  "type": "module",
@@ -43,10 +43,7 @@
43
43
  "mcp-server",
44
44
  "model-context-protocol",
45
45
  "ai",
46
- "llm",
47
46
  "bun",
48
- "stdio",
49
- "streamable-http",
50
47
  "wsdot",
51
48
  "traffic",
52
49
  "ferries",
@@ -83,17 +80,17 @@
83
80
  "access": "public"
84
81
  },
85
82
  "dependencies": {
86
- "@cyanheads/mcp-ts-core": "^0.9.7",
83
+ "@cyanheads/mcp-ts-core": "^0.9.13",
87
84
  "pino-pretty": "^13.1.3",
88
85
  "zod": "^4.4.3"
89
86
  },
90
87
  "devDependencies": {
91
- "@biomejs/biome": "^2.4.7",
92
- "@types/node": "^25.6.0",
88
+ "@biomejs/biome": "^2.4.16",
89
+ "@types/node": "^25.9.1",
93
90
  "depcheck": "^1.4.7",
94
91
  "ignore": "^7.0.5",
95
- "tsc-alias": "^1.8.16",
96
- "typescript": "^5.9.3",
97
- "vitest": "^4.1.0"
92
+ "tsc-alias": "^1.8.17",
93
+ "typescript": "^6.0.3",
94
+ "vitest": "^4.1.7"
98
95
  }
99
96
  }
package/server.json CHANGED
@@ -12,14 +12,14 @@
12
12
  "url": "https://wsdot.caseyjhand.com/mcp"
13
13
  }
14
14
  ],
15
- "version": "0.1.3",
15
+ "version": "0.1.4",
16
16
  "packages": [
17
17
  {
18
18
  "registryType": "npm",
19
19
  "registryBaseUrl": "https://registry.npmjs.org",
20
20
  "identifier": "@cyanheads/wsdot-mcp-server",
21
21
  "runtimeHint": "node",
22
- "version": "0.1.3",
22
+ "version": "0.1.4",
23
23
  "packageArguments": [
24
24
  {
25
25
  "type": "positional",
@@ -54,7 +54,7 @@
54
54
  "registryBaseUrl": "https://registry.npmjs.org",
55
55
  "identifier": "@cyanheads/wsdot-mcp-server",
56
56
  "runtimeHint": "node",
57
- "version": "0.1.3",
57
+ "version": "0.1.4",
58
58
  "packageArguments": [
59
59
  {
60
60
  "type": "positional",