{"id":"@lssm-tech/integration.google-play-developer","slug":"integration.google-play-developer","name":"@lssm-tech/integration.google-play-developer","version":"2.0.4","path":"packages/integrations/google-play-developer","manifestPath":"packages/integrations/google-play-developer/package.json","manifestBlobSha":"87931d47a7ae37672d7c62fe856e658621fa517d","layer":"integrations","physicalArea":null,"primaryArea":"integrations-and-providers","classification":{"privateDeclared":null,"catalogFamily":"integrations","catalogKind":"integration","catalogStatus":"active","adoptionMode":"adoptable","stability":"experimental"},"description":"Read-first Google Play Android Publisher API integration for ReviewReady app submission readiness, with deterministic mocks and secret-ref-only credentials.","descriptionOrigin":"package.json","catalog":{"family":"integrations","kind":"integration","status":"active","adoptionMode":"adoptable","stability":"experimental","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./auth","./impls","./impls/android-publisher","./impls/live","./impls/live-support","./impls/mock","./impls/oauth","./impls/transport","./logging","./port"],"documentation":[{"title":"Integration Google Play Developer documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fintegration.google-play-developer","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"package.lssm.tech.integration.google.play.developer","title":"Integration Google Play Developer","description":"Read-first Google Play Android Publisher API integration for ReviewReady app submission readiness, with deterministic mocks and secret-ref-only credentials.","status":"active","useCases":["Adopt read-first google play android publisher api integration for reviewready app submission readiness, with deterministic mocks and secret-ref-only credentials"],"aliases":["integration","google","play","developer"],"pythonEquivalents":[],"canonicalImports":[{"from":"@lssm-tech/integration.google-play-developer","symbols":[]},{"from":"@lssm-tech/integration.google-play-developer/auth","symbols":[]},{"from":"@lssm-tech/integration.google-play-developer/impls","symbols":[]},{"from":"@lssm-tech/integration.google-play-developer/impls/android-publisher","symbols":[]},{"from":"@lssm-tech/integration.google-play-developer/impls/live","symbols":[]},{"from":"@lssm-tech/integration.google-play-developer/impls/live-support","symbols":[]},{"from":"@lssm-tech/integration.google-play-developer/impls/mock","symbols":[]},{"from":"@lssm-tech/integration.google-play-developer/impls/oauth","symbols":[]},{"from":"@lssm-tech/integration.google-play-developer/impls/transport","symbols":[]},{"from":"@lssm-tech/integration.google-play-developer/logging","symbols":[]},{"from":"@lssm-tech/integration.google-play-developer/port","symbols":[]}],"constraints":{"platforms":["server"],"runtimes":["node"],"avoidWhen":["The @lssm-tech/integration.google-play-developer package constraints do not match the target runtime or platform."],"requires":["TypeScript"]},"alternatives":[],"relationships":[],"resolutionPriority":50}]},"canonicalImports":[{"capabilityId":"package.lssm.tech.integration.google.play.developer","from":"@lssm-tech/integration.google-play-developer","symbols":[]},{"capabilityId":"package.lssm.tech.integration.google.play.developer","from":"@lssm-tech/integration.google-play-developer/auth","symbols":[]},{"capabilityId":"package.lssm.tech.integration.google.play.developer","from":"@lssm-tech/integration.google-play-developer/impls","symbols":[]},{"capabilityId":"package.lssm.tech.integration.google.play.developer","from":"@lssm-tech/integration.google-play-developer/impls/android-publisher","symbols":[]},{"capabilityId":"package.lssm.tech.integration.google.play.developer","from":"@lssm-tech/integration.google-play-developer/impls/live","symbols":[]},{"capabilityId":"package.lssm.tech.integration.google.play.developer","from":"@lssm-tech/integration.google-play-developer/impls/live-support","symbols":[]},{"capabilityId":"package.lssm.tech.integration.google.play.developer","from":"@lssm-tech/integration.google-play-developer/impls/mock","symbols":[]},{"capabilityId":"package.lssm.tech.integration.google.play.developer","from":"@lssm-tech/integration.google-play-developer/impls/oauth","symbols":[]},{"capabilityId":"package.lssm.tech.integration.google.play.developer","from":"@lssm-tech/integration.google-play-developer/impls/transport","symbols":[]},{"capabilityId":"package.lssm.tech.integration.google.play.developer","from":"@lssm-tech/integration.google-play-developer/logging","symbols":[]},{"capabilityId":"package.lssm.tech.integration.google.play.developer","from":"@lssm-tech/integration.google-play-developer/port","symbols":[]}],"scripts":{"build":"contractspec-bun-build build","build:bundle":"contractspec-bun-build transpile","build:types":"contractspec-bun-build types","dev":"contractspec-bun-build dev","clean":"rimraf dist .turbo","lint:check":"node ../../../scripts/biome.cjs check .","lint:fix":"node ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .","test":"bun test","prebuild":"contractspec-bun-build prebuild","typecheck":"tsgo --noEmit"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/lib.app-submission-readiness-runtime":"workspace:^"},"devDependencies":{"@lssm-tech/tool.bun":"workspace:*","@lssm-tech/tool.typescript":"workspace:*","@types/bun":"catalog:types","typescript":"catalog:"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts","./auth":"./src/auth.ts","./impls":"./src/impls/index.ts","./impls/android-publisher":"./src/impls/android-publisher.ts","./impls/live":"./src/impls/live.ts","./impls/live-support":"./src/impls/live-support.ts","./impls/mock":"./src/impls/mock.ts","./impls/oauth":"./src/impls/oauth.ts","./impls/transport":"./src/impls/transport.ts","./logging":"./src/logging.ts","./port":"./src/port.ts"},"publishExports":{".":{"types":"./dist/index.d.ts","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./auth":{"types":"./dist/auth.d.ts","bun":"./dist/auth.js","node":"./dist/node/auth.js","default":"./dist/auth.js"},"./impls":{"types":"./dist/impls/index.d.ts","bun":"./dist/impls/index.js","node":"./dist/node/impls/index.js","default":"./dist/impls/index.js"},"./impls/android-publisher":{"types":"./dist/impls/android-publisher.d.ts","bun":"./dist/impls/android-publisher.js","node":"./dist/node/impls/android-publisher.js","default":"./dist/impls/android-publisher.js"},"./impls/live":{"types":"./dist/impls/live.d.ts","bun":"./dist/impls/live.js","node":"./dist/node/impls/live.js","default":"./dist/impls/live.js"},"./impls/live-support":{"types":"./dist/impls/live-support.d.ts","bun":"./dist/impls/live-support.js","node":"./dist/node/impls/live-support.js","default":"./dist/impls/live-support.js"},"./impls/mock":{"types":"./dist/impls/mock.d.ts","bun":"./dist/impls/mock.js","node":"./dist/node/impls/mock.js","default":"./dist/impls/mock.js"},"./impls/oauth":{"types":"./dist/impls/oauth.d.ts","bun":"./dist/impls/oauth.js","node":"./dist/node/impls/oauth.js","default":"./dist/impls/oauth.js"},"./impls/transport":{"types":"./dist/impls/transport.d.ts","bun":"./dist/impls/transport.js","node":"./dist/node/impls/transport.js","default":"./dist/impls/transport.js"},"./logging":{"types":"./dist/logging.d.ts","bun":"./dist/logging.js","node":"./dist/node/logging.js","default":"./dist/logging.js"},"./port":{"types":"./dist/port.d.ts","bun":"./dist/port.js","node":"./dist/node/port.js","default":"./dist/port.js"}},"types":"./dist/index.d.ts","files":["dist","README.md"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/integration.google-play-developer","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/integrations/google-play-developer/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/google-play-developer/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./auth","importPath":"@lssm-tech/integration.google-play-developer/auth","target":"./src/auth.ts","targets":[{"conditions":[],"target":"./src/auth.ts","sourcePath":"packages/integrations/google-play-developer/src/auth.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/google-play-developer/src/auth.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls","importPath":"@lssm-tech/integration.google-play-developer/impls","target":"./src/impls/index.ts","targets":[{"conditions":[],"target":"./src/impls/index.ts","sourcePath":"packages/integrations/google-play-developer/src/impls/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/google-play-developer/src/impls/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/android-publisher","importPath":"@lssm-tech/integration.google-play-developer/impls/android-publisher","target":"./src/impls/android-publisher.ts","targets":[{"conditions":[],"target":"./src/impls/android-publisher.ts","sourcePath":"packages/integrations/google-play-developer/src/impls/android-publisher.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/google-play-developer/src/impls/android-publisher.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/live","importPath":"@lssm-tech/integration.google-play-developer/impls/live","target":"./src/impls/live.ts","targets":[{"conditions":[],"target":"./src/impls/live.ts","sourcePath":"packages/integrations/google-play-developer/src/impls/live.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/google-play-developer/src/impls/live.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/live-support","importPath":"@lssm-tech/integration.google-play-developer/impls/live-support","target":"./src/impls/live-support.ts","targets":[{"conditions":[],"target":"./src/impls/live-support.ts","sourcePath":"packages/integrations/google-play-developer/src/impls/live-support.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/google-play-developer/src/impls/live-support.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/mock","importPath":"@lssm-tech/integration.google-play-developer/impls/mock","target":"./src/impls/mock.ts","targets":[{"conditions":[],"target":"./src/impls/mock.ts","sourcePath":"packages/integrations/google-play-developer/src/impls/mock.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/google-play-developer/src/impls/mock.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/oauth","importPath":"@lssm-tech/integration.google-play-developer/impls/oauth","target":"./src/impls/oauth.ts","targets":[{"conditions":[],"target":"./src/impls/oauth.ts","sourcePath":"packages/integrations/google-play-developer/src/impls/oauth.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/google-play-developer/src/impls/oauth.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/transport","importPath":"@lssm-tech/integration.google-play-developer/impls/transport","target":"./src/impls/transport.ts","targets":[{"conditions":[],"target":"./src/impls/transport.ts","sourcePath":"packages/integrations/google-play-developer/src/impls/transport.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/google-play-developer/src/impls/transport.ts","sourceStatus":"verified source file"}]},{"subpath":"./logging","importPath":"@lssm-tech/integration.google-play-developer/logging","target":"./src/logging.ts","targets":[{"conditions":[],"target":"./src/logging.ts","sourcePath":"packages/integrations/google-play-developer/src/logging.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/google-play-developer/src/logging.ts","sourceStatus":"verified source file"}]},{"subpath":"./port","importPath":"@lssm-tech/integration.google-play-developer/port","target":"./src/port.ts","targets":[{"conditions":[],"target":"./src/port.ts","sourcePath":"packages/integrations/google-play-developer/src/port.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/google-play-developer/src/port.ts","sourceStatus":"verified source file"}]}],"entryCount":11,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Integration Google Play Developer documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fintegration.google-play-developer","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/google-play-developer","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/google-play-developer/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/google-play-developer/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/integration.google-play-developer.txt"},"readme":{"status":"available","body":"# @lssm-tech/integration.google-play-developer\n\nRead-first Google Play Android Publisher API integration for ReviewReady app\nsubmission readiness.\n\n## Safety posture\n\n- **Secret-ref only.** Auth config carries `clientEmail` and\n  `serviceAccountSecretRefId` — never raw service-account JSON or private keys.\n  Secrets are resolved at call time by a host-provided\n  `GooglePlayDeveloperSecretResolver`.\n- **Read-first.** No write/commit/track-promotion operations are exposed.\n- **Honest capabilities.** Fields the public API cannot supply (Data Safety\n  console answers) return a typed `CapabilityResult` (`manual-required` /\n  `unsupported` / `degraded`), never fake data. Results map to\n  `appSubmissionProviderCapabilities` in `@lssm-tech/lib.contracts-spec`.\n- **Mock-by-default.** `createMockGooglePlayDeveloperClient` returns\n  deterministic snapshots for tests/CI. `createGooglePlayDeveloperClient` is\n  live-capable but live calls are opt-in; enabling them without resolved\n  credentials throws.\n- **Redacted logging.** Log entries hold only provider, operation, status,\n  correlationId, capabilityId.\n\n## Sources\n\n- Android Publisher Edits: <https://developers.google.com/android-publisher/edits>\n- Google Play Data Safety: <https://support.google.com/googleplay/android-developer/answer/10787469>\n","sourcePath":"packages/integrations/google-play-developer/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/google-play-developer/README.md","blobSha":"a3f04b1c4a98aecd4a6dff55730641df3a97b2ab","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","origin":"README recovered byte-for-byte from pinned aggregate guide","integrity":"exact Git blob match","executionStatus":"not executed"},"provenance":{"repository":"lssm-tech/contractspec","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","manifestOrigin":"pinned GitHub manifest fetch","manifestComplete":true,"publicationPolicyApplied":false},"areaSlug":"integrations-and-providers","areaTitle":"Integrations and provider selection","displayName":"integration.google-play-developer","runtimes":["node"],"platforms":["server"],"kind":"integration","scope":"Package manifest","canonicalRoute":"/docs/packages/integration.google-play-developer/","contextUrl":"/docs/packages/integration.google-play-developer.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}