mcp-google-api 0.21.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/.env.example ADDED
@@ -0,0 +1,17 @@
1
+ # Google Maps API key (required)
2
+ # Enable "Places API (New)" and the other services you use on the key:
3
+ # https://console.cloud.google.com/apis/library
4
+ GOOGLE_MAPS_API_KEY=your_google_maps_api_key_here
5
+
6
+ # HTTP transport port (scripts/start-http.sh and default server port)
7
+ MCP_SERVER_PORT=3000
8
+
9
+ # HTTP bind address (default: 127.0.0.1 loopback; use 0.0.0.0 for all interfaces)
10
+ MCP_SERVER_HOST=127.0.0.1
11
+
12
+ # Optional: comma-separated allowlist of exposed tools (omit or "*" = all 18)
13
+ # GOOGLE_MAPS_ENABLED_TOOLS=maps_search_places,maps_place_details,maps_geocode
14
+
15
+ # Automatic update check at server startup (enabled by default).
16
+ # Set to 1, true, or yes to skip the npm registry version check.
17
+ # MCP_AUTO_UPDATE_DISABLED=1
package/CHANGELOG.md ADDED
@@ -0,0 +1,397 @@
1
+ # Changelog
2
+
3
+ ## [0.21.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.20.0..v0.21.0) - 2026-11-06
4
+ ### 🚜 Changes
5
+ - pin release automation compliance to the mcp-google-api npm package [useReq] *(release-npm)*
6
+ - Add PKG-045: publish, pack, and release-asset glob derive from the distribution package name mcp-google-api.
7
+ - Verified automation compliance: release-npm.yml publishes package.json name, npm pack emits mcp-google-api-<ver>.tgz, asset glob mcp-google-api-*.tgz, .galias.conf regex matches the renamed lockfile; version guard name-agnostic; registry confirms mcp-google-api exists on npmjs.
8
+ - Zero superseded-name references in automation paths; REFERENCES.md regenerated unchanged.
9
+ - Verification: typecheck clean, static-check clean, 133/133 unit tests pass (ciContract 6/6), build success.
10
+ - add mcp-google-api.sh local launcher mirroring the installed bin [useReq] *(scripts)*
11
+ - Add scripts/mcp-google-api.sh named after the installed mcp-google-api distribution bin (PRJ-018).
12
+ - Forward every argument unchanged to the local dist/cli.js entry with the full CLI surface; no implicit install/build steps, missing-artifact remediation message instead (PRJ-019, PKG-019).
13
+ - Update SRS scripts/ tree comment and requirements; REFERENCES.md regenerated unchanged.
14
+ - Verification: static-check clean, 133/133 unit tests pass; launcher guard/help/forwarding functionally verified.
15
+ - BREAKING CHANGE: rename project to mcp-google-api and widen scope to all Google APIs [useReq] *(pkg)*
16
+ - Rename package, bin, CLI script name, npm/GitHub probe endpoints, MCP entry, settings (~/.config/mcp-google-api), and idle cache paths (PRJ-016, REQ-082, 114, 115, 121, 125, 127, 162, 163).
17
+ - Widen scope to Google APIs at large with Google Maps as the currently implemented family (PRJ-017, CTN-008, DES-018, DES-021).
18
+ - Reword README Acknowledgments to credit CabLate without the superseded name (PKG-044).
19
+ - Update SRS, WORKFLOW.md, README/docs, CHANGELOG, release workflow glob, skills, and unit-test assertions; regenerate REFERENCES.md.
20
+ - Verification: typecheck clean, static-check clean, 133/133 unit tests pass, build success.
21
+
22
+ ### 📚 Documentation
23
+ - Update TODO.md file.
24
+
25
+ ## [0.20.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.19.0..v0.20.0) - 2026-11-05
26
+ ### 🚜 Changes
27
+ - GitHub version probe targets the Ogekuri repository [useReq] *(upgrade-manager)*
28
+ - Re-point DEFAULT_GITHUB_RELEASES_API_URL (src/utils/autoUpdate.ts) from
29
+ - the upstream cablate/mcp-google-map (latest release v0.0.69) to the
30
+ - distribution repository Ogekuri/mcp-google-map (latest release v0.19.0),
31
+ - fixing the wrong 'GitHub latest:' line of --ver/--version.
32
+ - Update REQ-163 to pin the GitHub probe repository to
33
+ - Ogekuri/mcp-google-map; sync TRACE-L, external boundaries, and EDGE-10
34
+ - in WORKFLOW.md; REFERENCES.md regenerated unchanged.
35
+
36
+ ## [0.19.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.18.0..v0.19.0) - 2026-11-05
37
+ ### 🚜 Changes
38
+ - --ver/--version prints installed, npmjs, and GitHub latest versions [useReq] *(upgrade-manager)*
39
+ - Rewrite runVersionCommand (REQ-120): concurrent npm-registry and
40
+ - GitHub-releases probes bypassing the idle cache gate (REQ-161), printing
41
+ - the three-line stdout report: installed version, 'npmjs latest: <v>'
42
+ - (REQ-162), 'GitHub latest: <v>' with leading v stripped (REQ-163), and
43
+ - 'unknown' placeholders on undeterminable versions (REQ-164).
44
+ - Add probeLatestGitHubVersion, GitHubProbeDeps, GitHubLatestVersionProbe,
45
+ - and DEFAULT_GITHUB_RELEASES_API_URL to autoUpdate.ts.
46
+ - Extract resolveProbeLatestVersion; resolveUpdatedVersion delegates to it.
47
+ - Update SRS (REQ-120, REQ-161..REQ-164), WORKFLOW.md (TRACE-L, EDGE-06,
48
+ - EDGE-07, EDGE-10), and regenerate REFERENCES.md.
49
+ - add Acknowledgments section crediting CabLate's mcp-google-map [useReq] *(readme)*
50
+ - Requirements: add PKG-044 (Acknowledgments as the last README.md section naming CabLate and the project URL).
51
+ - README: append the Acknowledgments section after License, thanking CabLate for the mcp-google-map contribution.
52
+ - Verification: full unit suite 133/133 pass; static analysis clean.
53
+ - publish to npm only for master tags; develop tags release without publish [useReq] *(release-npm)*
54
+ - Requirements: update PKG-008/PKG-009/PKG-026/PKG-028, add PKG-042/PKG-043, update TST-020.
55
+ - Workflow: branch gate resolves origin/master and origin/develop reachability, fails on neither, exports step outputs; npm publish runs only for master-reachable tags.
56
+ - Develop-only version tags now build, pack, and create the GitHub Release with the tarball asset without npm publication.
57
+ - Tests: refactor ciContract suite to the updated contract; targeted suite 6/6, full suite 133/133 pass.
58
+
59
+ ## [0.18.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.17.0..v0.18.0) - 2026-11-05
60
+ ### 📚 Documentation
61
+ - Update README.md file.
62
+
63
+ ## [0.17.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.16.0..v0.17.0) - 2026-11-05
64
+ ### 🚜 Changes
65
+ - BREAKING CHANGE: migrate runtime floor to Node.js 24 and drop Node 22 workarounds [useReq] *(runtime)*
66
+ - package.json engines >=24; @types/node ^24; lockfile refreshed (root identity kept)
67
+ - NODE_ENGINE_FLOOR 22->24: doctor and setup checks, Doxygen docs updated
68
+ - README badge/prerequisites, docs/CONFIGURATION.md floor, scripts/setup.sh gate at >=24
69
+ - tests: doctor/setup floor 24 (22.x now fails); remove transitional Node<=23 --env-file tolerance (exit 9 contract)
70
+ - release workflow already Node24-pinned (24.15.0, checkout@v5/setup-node@v5); requirements CTN-005/REQ-070/PKG-014 updated, PKG-041 added
71
+ - verification: typecheck clean, 132/132 unit tests pass, static-check clean
72
+ - enforce npm publication compliance contract [useReq] *(pkg)*
73
+ - Add PKG-033..PKG-040 and TST-021 codifying npm publication policies
74
+ - Declare SPDX GPL-3.0-only in package.json, package-lock.json, README badge/section
75
+ - Add package.json exports map (dist entry + package.json subpath)
76
+ - Ship CHANGELOG.md via the files allowlist
77
+ - Add tests/npmPublishContract.unit.test.ts: metadata, lockfile identity, private-flag, name policy, npm pack --dry-run tarball allowlist
78
+
79
+ ## [0.16.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.15.0..v0.16.0) - 2026-11-05
80
+ ### 🚜 Changes
81
+ - publish npm via OIDC Trusted Publishing [useReq] *(release)*
82
+ - REQUIREMENTS: PKG-010 switches npm publishing to OIDC Trusted Publishing (no long-lived tokens); add PKG-030 id-token: write permission, PKG-031 no publish-token secret/env, PKG-032 npm >= 11.5.1 floor on the pinned runtime; extend TST-020.
83
+ - release-npm.yml: remove the publish-token secret/environment from the publish step; authentication is minted from the workflow OIDC token. Tag trigger, master gate, single job, build/pack/changelog/GitHub Release mechanics unchanged.
84
+ - tests: ciContract publish test asserts OIDC permission, token absence, and the pinned runtime floor; npm test passes 124/124.
85
+
86
+ ## [0.15.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.14.0..v0.15.0) - 2026-11-04
87
+ ### 🚜 Changes
88
+ - remove CI automation and release-time testing [useReq] *(ci)*
89
+ - Delete .github/workflows/ci.yml and PKG-004: no push/PR automation.
90
+ - Release pipeline keeps gate, build, pack, publish, changelog, release;
91
+ - typecheck, unit tests, and the doctor smoke check are removed
92
+ - (PKG-021 deleted; PKG-005/008/027 updated).
93
+ - package.json prepublishOnly now runs version guard + build only.
94
+ - tests/ciContract.unit.test.ts rewritten per TST-020: asserts ci.yml
95
+ - absence, master-gate ordering, and no test/smoke steps in release-npm.yml.
96
+ - Development-phase minimum verification stays local via npm scripts
97
+ - (PKG-019: typecheck, test, verify).
98
+
99
+ ## [0.14.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.13.0..v0.14.0) - 2026-11-04
100
+ ### 🚜 Changes
101
+ - BREAKING CHANGE: rename npm release workflow file to release-npm.yml [useReq] *(ci)*
102
+ - Rename .github/workflows/release.yml to .github/workflows/release-npm.yml
103
+ - as mandated by new PKG-029; the single master-tag-gated release job
104
+ - (PKG-008/PKG-009/PKG-027/PKG-028) is unchanged in content.
105
+ - Update the ci.yml header comment to reference the new workflow file name.
106
+ - Point tests/ciContract.unit.test.ts at release-npm.yml and extend TST-020
107
+ - to cover PKG-029.
108
+ - REQUIREMENTS.md: add PKG-029, refresh structure tree and TST-020 mapping.
109
+ - collapse release into single master-tag-gated job [useReq] *(ci)*
110
+ - requirements: PKG-009 gates the single release job; add PKG-027 (exactly one integrated release job) and PKG-028 (fail before any install/build/pack/publish when tag not on origin/master, so develop tags never build); update TST-020
111
+ - release.yml: merge check-branch into one release job; master-reachability gate is the first step and exits 1 before npm ci/build/pack/publish; no parallel or separate release jobs remain
112
+ - tests: ciContract gate test verifies the single-job contract and gate-before-build ordering
113
+
114
+ ## [0.13.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.11.0..v0.13.0) - 2026-11-04
115
+ ### 🚜 Changes
116
+ - restrict package build to master version-tag release workflow [useReq] *(ci)*
117
+ - Activate the package build only on a canonical version tag whose commit
118
+ - is reachable from master (PKG-008, PKG-009, PKG-026):
119
+ - ci.yml: drop build/pack/tarball-install/doctor smoke steps from push/PR
120
+ - CI, which now runs lockfile install, typecheck, and unit tests only.
121
+ - release.yml: build, pack, install the tarball into a temporary
122
+ - environment, and run the no-Google doctor smoke check inside the
123
+ - master-gated build-release job before npm publish (PKG-021).
124
+ - tests/ciContract.unit.test.ts: re-target the workflow contract suite to
125
+ - the new trigger/build placement and add release ordering assertions.
126
+ - REQUIREMENTS.md: sharpen PKG-008, retarget PKG-021, add PKG-026/TST-020.
127
+
128
+ ## [0.11.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.10.0..v0.11.0) - 2026-11-04
129
+ ### 🐛 Bug Fixes
130
+ - document geocode payload contract and bounded debug capture [useReq] *(skills)*
131
+ - eatspot-discovery skill v1.2.0 fixes two concrete agent-run failures:
132
+ - Section 13.1 now documents the real flat maps_geocode payload and
133
+ - forbids dereferencing the internal {success,data} envelope (root
134
+ - cause of TypeError on response.data.location during debug-register
135
+ - aggregation).
136
+ - Section D9 adds a mandatory bounded-capture procedure with declared
137
+ - TRUNCATED payloads and register-entry integrity rules (re-execute
138
+ - missing entries; mark NOT_ACCESSIBLE), preventing loss of executed
139
+ - call records on size-limit aborts.
140
+ - manifest.json version synced to 1.2.0; new contract unit test
141
+ - tests/eatspotSkillContract.unit.test.ts guards both rules.
142
+
143
+ ### 🚜 Changes
144
+ - append skill debug overlays only on install --debug-skills [useReq] *(skills)*
145
+ - Move eatspot-discovery debug instructions into DEBUG.md
146
+ - Add optional manifest debug overlay and layout-aware skill sync
147
+ - Append overlay only with install --debug-skills; show accepts both modes
148
+ - Post-upgrade and api-key reinstalls never append the overlay
149
+ - Requirements: REQ-152..REQ-160, REQ-126, DES-020, PRJ-012/013, TST-018/019
150
+ - BREAKING CHANGE: config-file-only settings, human-readable api-key, auto-update [useReq] *(cli)*
151
+ - REQ-083/DES-018/DES-023/DES-024: configuration comes only from
152
+ - ~/.config/mcp-google-map/config.json ({enabled, apiKey, autoUpdate});
153
+ - startup resolves the API key from settings (default empty key) and the
154
+ - auto-update check only runs when the autoUpdate flag is true (default on).
155
+ - New auto-update enable|disable|1|0 command persists the flag. Env-var
156
+ - configuration and connector env/key embedding removed (REQ-114, REQ-142).
157
+ - api-key prints a human-readable operation report (REQ-137..139).
158
+ - install/exec/batch-geocode drop --apikey and read the settings key.
159
+ - Verified: tsc --noEmit clean; eslint clean; npm test 110/110 passing.
160
+ - gate --upgrade on a latest-version necessity check [useReq] *(upgrade)*
161
+ - REQ-144..147: --upgrade first runs a forced registry probe bypassing the idle gate.
162
+ - Already-latest installs print the version on stdout and exit 0 with no child spawn.
163
+ - Newer or undeterminable outcomes proceed with the npm update, post-upgrade install,
164
+ - and stdout summary. Updates REQUIREMENTS.md, WORKFLOW.md (TRACE-L, EDGE-07, external
165
+ - boundaries), and regenerated REFERENCES.md. Verified: tsc --noEmit clean; npm test
166
+ - 110/110 passing (upgradeManager suite exercises the proceed path).
167
+
168
+ ## [0.10.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.9.0..v0.10.0) - 2026-11-03
169
+ ### ⛰️ Features
170
+ - add api-key command, install placeholder, and stdio key guard [useReq] *(api-key)*
171
+ - Add api-key <key> CLI: validate REQ-020 format, persist key in
172
+ - ~/.config/mcp-google-map/config.json (apiKey field), then reinstall
173
+ - every enabled CLI with the new key (REQ-136..REQ-139)
174
+ - install: resolve embedded key as --apikey > persisted settings >
175
+ - GOOGLE_MAPS_API_KEY; embed placeholder naming api-key when unset
176
+ - (REQ-140, REQ-141, DES-023)
177
+ - start/run: effective-key resolution incl. persisted settings and
178
+ - placeholder-as-unset; stdio mode exits 1 with stderr JSON inviting
179
+ - api-key when no key resolves (REQ-142, REQ-143)
180
+ - Docs: REQUIREMENTS/WORKFLOW/REFERENCES updated; README documents the
181
+ - command, key priority, and startup guard (PKG-025)
182
+
183
+ ## [0.9.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.8.0..v0.9.0) - 2026-11-03
184
+ ### 🐛 Bug Fixes
185
+ - spawn post-upgrade install via upgraded package bin [useReq] *(upgrade)*
186
+ - The --upgrade post-upgrade child spawned 'npx -y mcp-google-map install',
187
+ - an unversioned npx spec resolved from the npx cache/registry instead of the
188
+ - package just upgraded by 'npm install -g'. A stale cached CLI copy could run
189
+ - its default command (pre-v0.7.0 releases start the MCP HTTP server there),
190
+ - never exit, and block the parent spawnSync forever: the user observed the
191
+ - MCP server running instead of the 'install' command (REQ-126 violation).
192
+ - POST_UPGRADE_INSTALL_COMMAND is now ['mcp-google-map', 'install']: the
193
+ - globally installed bin of the just-upgraded package, already on PATH in
194
+ - the exact --upgrade scenario; captured stdout and stderr-inherited spawn
195
+ - mechanics unchanged (REQ-125, REQ-126, REQ-128).
196
+ - Add tests/upgradeManager.unit.test.ts reproducer: post-upgrade child must
197
+ - be the upgraded package bin with captured stdout; upgrade-child failure
198
+ - propagation; no-CLI no-op; spawn-failure manual hint; uninstall child;
199
+ - parseManagementCommand exact-match dispatch (PRJ-003, REQ-125, REQ-127).
200
+ - Update WORKFLOW.md TRACE-L, External Boundaries and EDGE-09; regenerate
201
+ - REFERENCES.md. Full suite: 110 tests passing; typecheck and static
202
+ - checks clean.
203
+
204
+ ## [0.8.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.7.0..v0.8.0) - 2026-11-03
205
+ ### 🚜 Changes
206
+ - BREAKING CHANGE: rename venue-discovery skill to eatspot-discovery [useReq] *(skills)*
207
+ - Rename the bundled agent skill identifier venue-discovery to eatspot-discovery (display name EatSpot Discovery). Updates src/resources/skills/{venue-discovery => eatspot-discovery}/SKILL.md, manifest.json id/name/path, REQUIREMENTS.md PRJ-014/REQ-027/REQ-030/REQ-033/REQ-100..REQ-109, and README.md plus docs/CONFIGURATION.md cross-references.
208
+ - replace echoed install JSON with human-readable upgrade summary [useReq] *(upgrade)*
209
+ - REQUIREMENTS: REQ-126 now mandates captured child install stdout; new
210
+ - REQ-132..135 define the stdout summary (starting/updated versions,
211
+ - install outcome, per-CLI results, unknown-version and fallback rules).
212
+ - upgradeManager: runPostUpgradeSkillInstall captures child stdout and
213
+ - parses per-CLI outcomes; runUpgradeCommand prints the summary on
214
+ - stdout after a successful npm upgrade and returns the install code.
215
+ - WORKFLOW/REFERENCES: TRACE-L, EDGE-06, EDGE-09 and symbol index
216
+ - updated for the new post-upgrade rendering path.
217
+
218
+ ## [0.7.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.6.0..v0.7.0) - 2026-11-03
219
+ ### 🚜 Changes
220
+ - gate server start on start/run, no-command help, silent version check [useReq] *(cli)*
221
+ - REQUIREMENTS: PRJ-003/REQ-079/REQ-080/REQ-114/REQ-124 updated; REQ-129/130/131 and TST-017 added.
222
+ - cli.ts: server runs only via start/run; bare invocation prints help with mcp-google-map v<version> header and --upgrade/--uninstall/--ver/--version epilog.
223
+ - upgradeManager: no stderr output when no newer version exists (not an error).
224
+ - clientSnippets/cliInstaller: stdio registrations launch 'mcp-google-map start --stdio'.
225
+ - Scripts, README, CONFIGURATION docs, and spawn/snippet tests aligned; npm test 103 pass, tsc/eslint clean.
226
+
227
+ ## [0.6.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.5.0..v0.6.0) - 2026-11-02
228
+ ### ⛰️ Features
229
+ - add --upgrade/--uninstall/--ver/--version with idle-gated version check [useReq] *(upgradeManager)*
230
+ - Add src/utils/upgradeManager.ts: idle cache (~/.cache/mcp-google-map/), forced --ver/--version check, npm-based --upgrade with post-upgrade skill install, --uninstall (REQ-120..REQ-128)
231
+ - Extract logging-free probeLatestVersion in autoUpdate.ts; startup check now idle-gated (REQ-082, REQ-121)
232
+ - Fix registry accept header (406 -> application/json) so online version verification works
233
+ - Update REQUIREMENTS (PRJ-003, CTN-008, DES-022, REQ-120..128), WORKFLOW (TRACE-L, EDGE-07/09), REFERENCES
234
+
235
+ ## [0.5.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.4.0..v0.5.0) - 2026-11-02
236
+ ### ⛰️ Features
237
+ - add enable/disable/install/uninstall/show CLI configuration commands [useReq] *(cli)*
238
+ - Add enable/disable/install/uninstall/show commands managing MCP-server
239
+ - registration and packaged skills for pi, openclaw, codex, antigravity,
240
+ - claude (REQ-110..REQ-119, PRJ-015, DES-017..DES-020)
241
+ - Add cliSettings/cliTargets/cliInstaller/cliShow utils with atomic
242
+ - read-modify-write preserving unrelated config entries (JSON mcpServers
243
+ - and codex TOML mcp_servers)
244
+ - Fix malformed skills manifest.json; ship src/resources/skills in the
245
+ - npm package (PKG-024); document commands in README (PKG-023)
246
+ - Update REQUIREMENTS/WORKFLOW/REFERENCES
247
+
248
+ ### 🐛 Bug Fixes
249
+ - Fix .gitignore file.
250
+ - drop deprecated glob@10 via @googlemaps/places ^3.1.0 [useReq] *(deps)*
251
+ - Install-time deprecation warnings traced to the production dependency tree: @googlemaps/places@2.x -> google-gax@5 -> rimraf@5 -> glob@10.5.0 (npm deprecation cites publicized security vulnerabilities).
252
+ - Bump @googlemaps/places ^2.1.0 -> ^3.1.0: google-gax@^6 removes rimraf/glob from the tree; engines node >= 22 preserved; PlacesClient surface unchanged (tsc clean, 57 unit tests pass).
253
+ - Add tests/dependencyTree.unit.test.ts reproducer: lockfile tree must contain no glob package and must lock @googlemaps/places at major 3. Remaining crypto-js and node-domexception deprecations plus the protobufjs install-scripts notice are upstream or npm-client-side.
254
+
255
+ ### 🚜 Changes
256
+ - derive settings dir from program name, forbid generic skills dir [useReq] *(cli-settings)*
257
+ - Add DES-021: settings directory MUST equal the distribution program
258
+ - name mcp-google-map; shared/generic dirs like ~/.config/skills/ are
259
+ - forbidden
260
+ - Introduce SETTINGS_PROGRAM_NAME constant as single source of truth
261
+ - for CLI_SETTINGS_RELATIVE in src/utils/cliSettings.ts
262
+ - Drop the reference skills settings-path mention from documentation;
263
+ - runtime path stays ~/.config/mcp-google-map/config.json (DES-018)
264
+ - Regenerate REFERENCES.md
265
+ - drop GeoScout 6.2 lineage and bind filters to venue-discovery skill [useReq] *(skills)*
266
+ - Remove all GeoScout 6.2 references: PRJ-014 rewritten, docs/GEOSCOUT.md deleted, README/docs/package.json/manifest/SKILL/NewPlacesService cleaned
267
+ - Bind filters and raw-payload implementations to the in-project venue-discovery skill and vice-versa (REQ-027, REQ-030, REQ-033, new REQ-109)
268
+ - Rename tests/geoscoutFilters.unit.test.ts to placesFilters.unit.test.ts (titles only; TST-003 updated); npm test 102/102 green
269
+ - add venue-discovery skill and skills resource framework [useReq] *(skills)*
270
+ - Add src/resources/skills: manifest.json registry + README.md authoring guide (PRJ-012..014, REQ-097..108)
271
+ - Add venue-discovery SKILL.md: GeoScout 6.2 translated to English and bound to mcp-google-map; all 18 tools mapped; budget/priceLevels/priceRange rules, grades A-E, categories, hours, geo modes, progressive search, output A-D + DEBUG
272
+ - REQUIREMENTS.md: skills section; WORKFLOW.md: inert-resources note
273
+ - add setup+snippet commands, typed config, doctor probes, loopback *(cli)*
274
+ - Requirements: PRJ-003/006/009-011, CTN-005/007-009, DES-014-016, REQ-008/009/070/079/087-096, PKG-003-005/018-022, TST-002/012-016; LIM-003 removed (doctor now enforces engines >= 22).
275
+ - New: non-interactive setup onboarding, snippet generator, tool/API profiles, typed config resolver with --env-file and secret masking.
276
+ - Doctor: engines floor 22, masked config diagnostics, per-tool API profiles, selectable --probes (legacy --live preserved).
277
+ - HTTP: loopback default 127.0.0.1 (migration documented), non-zero exit on failed startup, SIGINT/SIGTERM orderly shutdown; stdio from ready artifact.
278
+ - Tooling: no implicit script chains, npm run verify pipeline, CI 3-OS matrix with tarball install + no-Google-API smoke; docs aligned with supported CLI/headers.
279
+ - Tests: 6 new unit suites; 93 unit tests pass; typecheck and build clean.
280
+
281
+ ### 🎯 Cover Requirements
282
+ - add spawn-level env-file/HTTP/shutdown and CI-contract tests *(tests)*
283
+ - Close verification-coverage gaps of the new contracts without SRS changes:
284
+ - tests/cliSpawn.unit.test.ts: process-level --env-file tests (missing file non-zero exit with JSON error on the exit-1 path, Node>=24 exit-9 tolerated; existing file loads for both argv forms before doctor), HTTP server startup from an env-file port with loopback endpoint and SIGTERM orderly shutdown (exit 0, 'HTTP server stopped'), and the start-mcp.sh missing-artifact remediation guard (non-win32).
285
+ - tests/ciContract.unit.test.ts: static regression guard for the CI contract (3-OS matrix, lockfile install, typecheck/test/build, tarball install, doctor smoke with placeholder key, e2e excluded).
286
+ - src/cli.ts: export extractEnvFileOption for direct unit testing; no behavior change.
287
+ - WORKFLOW.md unchanged (no runtime-model impact); REFERENCES.md regenerated.
288
+ - Verification: 102/102 unit tests pass; typecheck and static-check clean.
289
+
290
+ ## [0.4.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.3.0..v0.4.0) - 2026-10-30
291
+ ### 🚜 Changes
292
+ - enable startup update check by default with opt-out [useReq] *(auto-update)*
293
+ - Add auto-update check at MCP server startup (stdio + HTTP), enabled by
294
+ - default (REQ-082), comparing running version vs npm registry latest.
295
+ - Add inverse-polarity disable variable MCP_AUTO_UPDATE_DISABLED
296
+ - (1/true/yes case-insensitive) skipping all registry calls (REQ-083).
297
+ - Report newer versions on stderr only with upgrade command (REQ-084);
298
+ - fire-and-forget execution tolerates all failures without blocking
299
+ - startup (REQ-085).
300
+ - New src/utils/autoUpdate.ts with injectable fetch/logger/env; new
301
+ - tests/autoUpdate.unit.test.ts covering TST-011 (55/55 pass).
302
+ - Document variable in .env.example and docs/CONFIGURATION.md (REQ-086);
303
+ - update REQUIREMENTS.md, WORKFLOW.md, REFERENCES.md.
304
+ - enforce publish version guard via prepublishOnly [useReq] *(packaging)*
305
+ - Add PKG-017 to SRS 2.3: npm publish MUST fail when package.json version is 0.0.0-based or carries a prerelease/build suffix (stray 0.0.0-stage incident).
306
+ - Add scripts/check-publish-version.mjs (Doxygen-documented): strict X.Y.Z pattern plus 0.0.0 placeholder prefix check; wired as first stage of prepublishOnly, preserving PKG-005 chain (typecheck, tests, build).
307
+ - Verified: tsc --noEmit clean, 41/41 unit tests, npm publish --dry-run full chain, refusal cases 0.0.0-stage and 1.2.3-rc.1 exit 1.
308
+ - Ops: unpublished mcp-google-map@0.0.0-stage from the npm registry.
309
+
310
+ ## [0.3.0](https://github.com/Ogekuri/mcp-google-api/compare/v0.2.0..v0.3.0) - 2026-10-29
311
+ ### 🚜 Changes
312
+ - document pi CLI and OpenClaw MCP registration and Google API prerequisites [useReq] *(docs)*
313
+ - Add PKG-015/PKG-016: MCP client registration docs and configuration
314
+ - prerequisites for pi CLI and OpenClaw in README and CONFIGURATION
315
+ - README: fix stale 'From npm (once published)', add pi CLI, OpenClaw
316
+ - and configuration-prerequisites sections linked to the Google API table
317
+ - docs/CONFIGURATION.md: add 'Registrazione nei client MCP' section
318
+ - No source or test changes; typecheck and 41 unit tests pass
319
+
320
+ ## [0.2.0](https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.2.0) - 2026-10-29
321
+ ### ⛰️ Features
322
+ - Initial Commit.
323
+
324
+ ### 🐛 Bug Fixes
325
+ - Bug fix.
326
+ - Fix version number.
327
+
328
+ ### 🚜 Changes
329
+ - migrate tag pipeline with master gate, npm publish and commit changelog *(release)*
330
+ - Rewrite .github/workflows/release.yml from /tmp/release-npm.yml desiderata
331
+ - Trigger only canonical tags v[0-9]+.[0-9]+.[0-9]+ gated on origin/master
332
+ - Publish to npm with provenance (OIDC) and --access public via NPM_TOKEN
333
+ - Changelog via mikepenz/release-changelog-builder v6 (COMMIT mode)
334
+ - Release asset: npm tarball instead of raw sources (fail on unmatched)
335
+ - SRS: PKG-008 modified, PKG-009..PKG-014 added [useReq]
336
+ - add publication readiness with CI, release workflow and README fixes *(packaging)*
337
+ - Add PKG-001..008 packaging/publication requirements (SRS section 2.3)
338
+ - Fix README: Node/TS badges, remove TODOs, working anchors, Feature Highlights and Install/Uninstall sections (npm, npx, cross-platform)
339
+ - Add .github/workflows/ci.yml (node 22: npm ci, typecheck, unit tests; e2e excluded)
340
+ - Add .github/workflows/release.yml (tag: verify, build, npm pack, GitHub Release)
341
+ - Add prepublishOnly script; rename doctor package label; bump 0.0.0 -> 0.1.0 [useReq]
342
+ - align SRS and workflow with places pagination fix [useReq] *(docs)*
343
+ - Analyze commit ab2a65c and update canonical docs to the true state.
344
+ - REQ-029 rewritten: pageSize/maxResultCount translated to a single
345
+ - maxResultCount field clamped 1-20 (SDK proto lacks pageSize)
346
+ - REQ-081 added: nextPageToken surfaced when the API returns one
347
+ - LIM-007 added: pageToken forwarded but dropped by @googlemaps/places
348
+ - protos (<= v3.1.0), so pagination has no server-side effect
349
+ - TST-003 extended to the pageSize-to-maxResultCount translation test
350
+ - WORKFLOW.md searchTextFull trace node updated; REFERENCES.md regenerated
351
+ - No source changes: commit ab2a65c already implemented the fix (41/41 tests pass)
352
+
353
+ ### 📚 Documentation
354
+ - Update REFERENCES.md document. [useReq] *(references)*
355
+
356
+
357
+ # History
358
+
359
+ - \[0.2.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.2.0
360
+ - \[0.3.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.3.0
361
+ - \[0.4.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.4.0
362
+ - \[0.5.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.5.0
363
+ - \[0.6.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.6.0
364
+ - \[0.7.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.7.0
365
+ - \[0.8.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.8.0
366
+ - \[0.9.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.9.0
367
+ - \[0.10.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.10.0
368
+ - \[0.11.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.11.0
369
+ - \[0.13.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.13.0
370
+ - \[0.14.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.14.0
371
+ - \[0.15.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.15.0
372
+ - \[0.16.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.16.0
373
+ - \[0.17.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.17.0
374
+ - \[0.18.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.18.0
375
+ - \[0.19.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.19.0
376
+ - \[0.20.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.20.0
377
+ - \[0.21.0\]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.21.0
378
+
379
+ [0.2.0]: https://github.com/Ogekuri/mcp-google-api/releases/tag/v0.2.0
380
+ [0.3.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.2.0..v0.3.0
381
+ [0.4.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.3.0..v0.4.0
382
+ [0.5.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.4.0..v0.5.0
383
+ [0.6.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.5.0..v0.6.0
384
+ [0.7.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.6.0..v0.7.0
385
+ [0.8.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.7.0..v0.8.0
386
+ [0.9.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.8.0..v0.9.0
387
+ [0.10.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.9.0..v0.10.0
388
+ [0.11.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.10.0..v0.11.0
389
+ [0.13.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.11.0..v0.13.0
390
+ [0.14.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.13.0..v0.14.0
391
+ [0.15.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.14.0..v0.15.0
392
+ [0.16.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.15.0..v0.16.0
393
+ [0.17.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.16.0..v0.17.0
394
+ [0.18.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.17.0..v0.18.0
395
+ [0.19.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.18.0..v0.19.0
396
+ [0.20.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.19.0..v0.20.0
397
+ [0.21.0]: https://github.com/Ogekuri/mcp-google-api/compare/v0.20.0..v0.21.0