@crvouga/mockingbird-service-google-maps 1.8.1 → 2.0.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/CHANGELOG.md CHANGED
@@ -1,5 +1,42 @@
1
1
  # Changelog — @crvouga/mockingbird-service-google-maps
2
2
 
3
+ ## 2.0.0 (2026-10-04)
4
+
5
+ ### ⚠️ Breaking changes
6
+
7
+ - isolate internal routes ([5e19b21](https://github.com/crvouga/mockingbird/commit/5e19b21d403acc74b04778a8b545e80bcbdf8d51))
8
+
9
+ ### Features
10
+
11
+ - add route filtering ([4e59b1d](https://github.com/crvouga/mockingbird/commit/4e59b1d42a76550f844b744f8431a637433a0781))
12
+ - publish agent package indexes ([eca61d3](https://github.com/crvouga/mockingbird/commit/eca61d358b86982cf0b777ae8bd7feaa3663aaa6))
13
+
14
+ ### Fixes and improvements
15
+
16
+ - honor configured prefixes ([4f569d7](https://github.com/crvouga/mockingbird/commit/4f569d74ca8089f2ed5e33a1abf32b90973f41dd))
17
+ - explain configurable internal paths ([21b47ae](https://github.com/crvouga/mockingbird/commit/21b47ae4d4a096cdf63189aaeaf721ccb369bcf3))
18
+ - parse ISO journal timestamps ([20b39a2](https://github.com/crvouga/mockingbird/commit/20b39a2c738e278533d610dfc91f1cb3ae9b3f1e))
19
+ - harden shared controls ([7822614](https://github.com/crvouga/mockingbird/commit/7822614f6cba0387aeb60ba7320b0379aa1ef690))
20
+
21
+ ### Dependencies
22
+
23
+ - `@crvouga/mockingbird-service-sqlite`
24
+
25
+ ## 1.9.0 (2026-10-01)
26
+
27
+ ### Features
28
+
29
+ - coordinate HTTP and protocol mocks ([3168653](https://github.com/crvouga/mockingbird/commit/31686534c55a9823fdaa92afc9cc456cf741b809))
30
+
31
+ ### Fixes and improvements
32
+
33
+ - decouple smoke types from built packages ([a4b31c6](https://github.com/crvouga/mockingbird/commit/a4b31c6205d92aa0c6f7c9de3518d5ae44d38829))
34
+ - protect child admin endpoints ([5410b94](https://github.com/crvouga/mockingbird/commit/5410b948a30dcedc21e9a70e44fd415c1ea25394))
35
+ - harden protocol startup and state ([6f5b557](https://github.com/crvouga/mockingbird/commit/6f5b557e87b48b31985949e04f3b5ef58f51d295))
36
+ - preserve checkpoints and lifecycle ([50e8c32](https://github.com/crvouga/mockingbird/commit/50e8c322feded2f7f45afce9d8cdef43c37ab9ab))
37
+ - clean branch state on reset ([3b714d4](https://github.com/crvouga/mockingbird/commit/3b714d4a5df8e75fee0bb31e98d7c7566e164381))
38
+ - type signal listener cleanup ([5279852](https://github.com/crvouga/mockingbird/commit/5279852e56ea60262ccf17aa6e46b3c31091a34a))
39
+
3
40
  ## 1.8.1 (2026-10-01)
4
41
 
5
42
  ### Fixes and improvements
package/DISCOVERY.md ADDED
@@ -0,0 +1,55 @@
1
+ # @crvouga/mockingbird-service-google-maps discovery
2
+
3
+ This is the installed-package index for coding agents and tooling. All relative links resolve
4
+ inside `node_modules/@crvouga/mockingbird-service-google-maps/`; no repository checkout is needed to discover the mock's
5
+ supported surface or documented behavior.
6
+
7
+ ## Capability and behavior sources
8
+
9
+ | Question | Authoritative file | What it contains |
10
+ | --- | --- | --- |
11
+ | Behaviour and integration | [`README.md`](README.md) | Routes, state transitions, auth, webhooks, controls, presets and deliberate omissions. |
12
+ | Exact capabilities | [`SUPPORT.md`](SUPPORT.md) | Supported, unsupported and parity-covered operations or commands, including reasons for gaps. |
13
+ | Wire contract | [`openapi.yaml`](openapi.yaml) | Machine-readable paths, methods, schemas, responses and parity annotations. |
14
+ | Public API | [`dist/index.d.ts`](dist/index.d.ts) | The installed package's exact TypeScript exports and signatures. |
15
+ | Package metadata | [`package.json`](package.json) | Runtime/entry-point claims, vendor links, parity scope/tier and `mockingbird.discovery`. |
16
+
17
+ Read these together: the contract/capability matrix says *what* is available, while the README
18
+ defines stateful behavior, lifecycle rules, test controls, and intentional oracle differences.
19
+ If prose and an executable surface disagree, report a parity mismatch instead of adding a
20
+ consumer-side workaround.
21
+
22
+ ## Parity and oracle
23
+
24
+ - Declared parity surface: **Places, geocoding, and address validation**.
25
+ - Parity tier: **cold** (the repository controls when live checks run).
26
+ - Oracle: **Live vendor API or sandbox**.
27
+ - Repository command: `bun run parity:service -- google-maps`.
28
+ - Evidence model: Run from a Mockingbird checkout; credentials come only from .env.local or GitHub Actions secrets. Missing credentials exit 2.
29
+
30
+ The npm package contains evidence summaries and the exact contract, not credentials or the
31
+ repository-only parity harness. Self-parity/property and acceptance tests run in the Mockingbird
32
+ repository; live parity is an additional oracle check, not a substitute for the packaged matrix.
33
+
34
+ ## Runtime introspection
35
+
36
+ - `GET /__admin/health`
37
+ - `GET /__admin`
38
+ - `GET /__admin/state`
39
+ - `GET /__admin/requests`
40
+ - `GET /__admin/metrics`
41
+ - `GET /__admin/faults/presets`
42
+ - `GET /__admin/ui`
43
+
44
+ For HTTP services, use `x-mockingbird-namespace` (or the documented credential/path carrier) so
45
+ parallel tests do not share state. Admin state, journal, metrics and fault-preset endpoints are
46
+ designed for assertions and diagnosis by consuming test suites.
47
+
48
+ ## Report a mismatch or missing capability
49
+
50
+ Follow the [agent reporting contract](https://github.com/crvouga/mockingbird/blob/main/docs/REPORTING_ISSUES.md). Include package version,
51
+ operation/command, a minimal redacted request, actual mock result, expected oracle result or vendor
52
+ documentation, and whether the mismatch appears in the matrix. Never include keys, tokens,
53
+ customer data, prompts, PHI, card data, or unredacted recordings.
54
+
55
+ Service key: `google-maps`.
package/README.md CHANGED
@@ -63,7 +63,7 @@ maps.applyPreset("autocomplete_over_query_limit", "default", { count: 2 })
63
63
 
64
64
  Google serves it from a different host, `https://addressvalidation.googleapis.com`; the paths do
65
65
  not collide, so one mock serves both. Point the server-side client's Address Validation base URL
66
- at the mock (or at `<mock>/ns/<namespace>`), with the key as `?key=` (or `X-Goog-Api-Key`).
66
+ at the mock (or at `<mock>/__admin/ns/<namespace>`), with the key as `?key=` (or `X-Goog-Api-Key`).
67
67
 
68
68
  ```ts
69
69
  import { createRuntime } from "@crvouga/mockingbird-service-google-maps"
@@ -146,7 +146,7 @@ has a `responseId`. Send a componentized address (line 1 + optional unit line 2,
146
146
  `packages/app/src/test-addresses` members, plus `ADDRESS_AT_HOME_PHLEBOTOMY_2` (501 N 5th St).
147
147
  Each has its real county and the city's coordinates. Place ids are stable (`ChIJ…` for rows;
148
148
  synthesized addresses get an `Ei…` id carrying the address, as Google's own address ids do, so
149
- Details needs no stored state). `GET /health` reports the corpus.
149
+ Details needs no stored state). `GET /__admin/health` reports the corpus.
150
150
 
151
151
  ### Admin (beyond the standard contract)
152
152
 
@@ -171,7 +171,7 @@ counts `ValidateAddress` on its own.
171
171
 
172
172
  ### Namespaces
173
173
 
174
- `x-mockingbird-namespace`, a `/ns/<name>` prefix on the base URL (the JS shim served under a
174
+ `x-mockingbird-namespace`, a `/__admin/ns/<name>` prefix on the base URL (the JS shim served under a
175
175
  prefix calls back through it), or by API key:
176
176
  `PUT /__admin/credentials {"credentials": {"<PLACES_KEY>": "<namespace>"}}` (the `key` query
177
177
  parameter, or `X-Goog-Api-Key` for Address Validation, is the credential). The request journal
package/SUPPORT.md ADDED
@@ -0,0 +1,16 @@
1
+ # Google Places, Geocoding and Maps JavaScript API (Mockingbird subset) — operation support
2
+
3
+ Generated from `openapi.yaml`; do not edit by hand.
4
+
5
+ - operations in spec: **6**
6
+ - supported by the mock: **6**
7
+ - parity enabled: **5**
8
+
9
+ | operationId | route | mock | parity | notes |
10
+ | --- | --- | --- | --- | --- |
11
+ | `PlaceAutocomplete` | `GET /maps/api/place/autocomplete/json` | ✅ supported | ✅ | |
12
+ | `PlaceDetails` | `GET /maps/api/place/details/json` | ✅ supported | ✅ | |
13
+ | `Geocode` | `GET /maps/api/geocode/json` | ✅ supported | ✅ | |
14
+ | `FindPlaceFromText` | `GET /maps/api/place/findplacefromtext/json` | ✅ supported | ✅ | |
15
+ | `MapsJavaScriptApi` | `GET /maps/api/js` | ✅ supported | ❌ disabled | A JavaScript program, not data: it is exercised by evaluating it in a fake window and driving our web client through it (google-maps.acceptance.test.ts). |
16
+ | `ValidateAddress` | `POST /v1:validateAddress` | ✅ supported | ✅ | |