{"id":"@lssm-tech/integration.lssm-os-provider-gcp","slug":"integration.lssm-os-provider-gcp","name":"@lssm-tech/integration.lssm-os-provider-gcp","version":"0.2.4","path":"packages/integrations/lssm-os-provider-gcp","manifestPath":"packages/integrations/lssm-os-provider-gcp/package.json","manifestBlobSha":"bf4f1de3b62d26c78d401e7d1827cc7931c992d1","layer":"integrations","physicalArea":null,"primaryArea":"delivery-and-infrastructure","classification":{"privateDeclared":null,"catalogFamily":"integrations","catalogKind":"integration","catalogStatus":"active","adoptionMode":"adoptable","stability":"experimental"},"description":"Scoped Cloud Run transport for governed LSSM OS hosting lifecycle composition.","descriptionOrigin":"package.json","catalog":{"family":"integrations","kind":"integration","status":"active","adoptionMode":"adoptable","stability":"experimental","platforms":["server"],"runtimes":["node","bun"],"entrypoints":[".","./cloud-run"],"documentation":[{"title":"Cloud Run transport","url":"https://github.com/lssm-tech/contractspec/tree/tboutron/adaptive-delivery-platform/packages/integrations/lssm-os-provider-gcp","kind":"readme"}],"capabilities":[{"id":"gcp.cloud-run.transport","title":"Scoped Cloud Run service transport","description":"Discover, create, inspect, update and delete Cloud Run services with pinned artifacts, explicit operation handles and guarded resource versions. Runtime Node authorization and hosting qualification remain separate.","status":"active","useCases":["Implement a GCP Cloud Run hosting driver"],"canonicalImports":[{"from":"@lssm-tech/integration.lssm-os-provider-gcp/cloud-run","symbols":["CloudRunClient"]}],"constraints":{"platforms":["server"],"runtimes":["node","bun"],"avoidWhen":["GKE, VM, job, secret-management or full GCP lifecycle qualification is required."],"requires":["An authorized token provider and operation journal in the execution host."]},"aliases":["GCP Cloud Run","managed containers","Cloud Run service lifecycle"]}]},"canonicalImports":[{"capabilityId":"gcp.cloud-run.transport","from":"@lssm-tech/integration.lssm-os-provider-gcp/cloud-run","symbols":["CloudRunClient"]}],"scripts":{"build":"contractspec-bun-build build","build:bundle":"contractspec-bun-build transpile","build:types":"contractspec-bun-build types","test":"bun test","typecheck":"tsgo --noEmit","lint:check":"node ../../../scripts/biome.cjs check .","test:pack":"bun scripts/test-packed-exports.ts","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose"},"scriptStatus":"complete pinned manifest","dependencies":{},"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","./cloud-run":"./src/cloud-run.ts","./http":"./src/http.ts","./observation":"./src/observation.ts","./payload":"./src/payload.ts","./types":"./src/types.ts","./update":"./src/update.ts","./validation":"./src/validation.ts"},"publishExports":{".":{"types":"./dist/index.d.ts","browser":"./dist/browser/index.js","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./cloud-run":{"types":"./dist/cloud-run.d.ts","browser":"./dist/browser/cloud-run.js","bun":"./dist/cloud-run.js","node":"./dist/node/cloud-run.js","default":"./dist/cloud-run.js"},"./http":{"types":"./dist/http.d.ts","browser":"./dist/browser/http.js","bun":"./dist/http.js","node":"./dist/node/http.js","default":"./dist/http.js"},"./observation":{"types":"./dist/observation.d.ts","browser":"./dist/browser/observation.js","bun":"./dist/observation.js","node":"./dist/node/observation.js","default":"./dist/observation.js"},"./payload":{"types":"./dist/payload.d.ts","browser":"./dist/browser/payload.js","bun":"./dist/payload.js","node":"./dist/node/payload.js","default":"./dist/payload.js"},"./types":{"types":"./dist/types.d.ts","browser":"./dist/browser/types.js","bun":"./dist/types.js","node":"./dist/node/types.js","default":"./dist/types.js"},"./update":{"types":"./dist/update.d.ts","browser":"./dist/browser/update.js","bun":"./dist/update.js","node":"./dist/node/update.js","default":"./dist/update.js"},"./validation":{"types":"./dist/validation.d.ts","browser":"./dist/browser/validation.js","bun":"./dist/validation.js","node":"./dist/node/validation.js","default":"./dist/validation.js"}},"types":"./dist/index.d.ts","files":["dist","!dist/**/*.test.*","README.md"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/integration.lssm-os-provider-gcp","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/integrations/lssm-os-provider-gcp/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/lssm-os-provider-gcp/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./cloud-run","importPath":"@lssm-tech/integration.lssm-os-provider-gcp/cloud-run","target":"./src/cloud-run.ts","targets":[{"conditions":[],"target":"./src/cloud-run.ts","sourcePath":"packages/integrations/lssm-os-provider-gcp/src/cloud-run.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/lssm-os-provider-gcp/src/cloud-run.ts","sourceStatus":"verified source file"}]},{"subpath":"./http","importPath":"@lssm-tech/integration.lssm-os-provider-gcp/http","target":"./src/http.ts","targets":[{"conditions":[],"target":"./src/http.ts","sourcePath":"packages/integrations/lssm-os-provider-gcp/src/http.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/lssm-os-provider-gcp/src/http.ts","sourceStatus":"verified source file"}]},{"subpath":"./observation","importPath":"@lssm-tech/integration.lssm-os-provider-gcp/observation","target":"./src/observation.ts","targets":[{"conditions":[],"target":"./src/observation.ts","sourcePath":"packages/integrations/lssm-os-provider-gcp/src/observation.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/lssm-os-provider-gcp/src/observation.ts","sourceStatus":"verified source file"}]},{"subpath":"./payload","importPath":"@lssm-tech/integration.lssm-os-provider-gcp/payload","target":"./src/payload.ts","targets":[{"conditions":[],"target":"./src/payload.ts","sourcePath":"packages/integrations/lssm-os-provider-gcp/src/payload.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/lssm-os-provider-gcp/src/payload.ts","sourceStatus":"verified source file"}]},{"subpath":"./types","importPath":"@lssm-tech/integration.lssm-os-provider-gcp/types","target":"./src/types.ts","targets":[{"conditions":[],"target":"./src/types.ts","sourcePath":"packages/integrations/lssm-os-provider-gcp/src/types.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/lssm-os-provider-gcp/src/types.ts","sourceStatus":"verified source file"}]},{"subpath":"./update","importPath":"@lssm-tech/integration.lssm-os-provider-gcp/update","target":"./src/update.ts","targets":[{"conditions":[],"target":"./src/update.ts","sourcePath":"packages/integrations/lssm-os-provider-gcp/src/update.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/lssm-os-provider-gcp/src/update.ts","sourceStatus":"verified source file"}]},{"subpath":"./validation","importPath":"@lssm-tech/integration.lssm-os-provider-gcp/validation","target":"./src/validation.ts","targets":[{"conditions":[],"target":"./src/validation.ts","sourcePath":"packages/integrations/lssm-os-provider-gcp/src/validation.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/lssm-os-provider-gcp/src/validation.ts","sourceStatus":"verified source file"}]}],"entryCount":8,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Cloud Run transport","url":"https://github.com/lssm-tech/contractspec/tree/tboutron/adaptive-delivery-platform/packages/integrations/lssm-os-provider-gcp","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/lssm-os-provider-gcp","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/lssm-os-provider-gcp/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/lssm-os-provider-gcp/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/integration.lssm-os-provider-gcp.txt"},"readme":{"status":"available","body":"# GCP hosting transport for LSSM OS\n\n`CloudRunClient` implements scoped Cloud Run v2 service discovery, creation,\ninspection, guarded update/deletion and asynchronous operation readback. It uses\nnative fetch and an injected token provider, with no mandatory cloud SDK or\nKubernetes component.\n\n## Boundary and ownership\n\nThis is a server transport for composition behind the existing Runtime Node\n`ProviderLifecyclePortV1`. It does not issue execution authority, journal effects,\nreserve budgets, or introduce another agent/task store. The execution host must\nload current Connect authority, record the effect intent before mutation, persist\nreturned operation handles and reconcile unknown outcomes before another effect.\nA returned operation handle means accepted, not deployed or deleted.\n\nThe initial transport targets single-container, request-driven services with one\nCPU and 256/512 MiB memory. Scope fixes the project, region, service account and\nmaximum scaling ceiling. Plans require image digests and a parent plan digest; the host must bind that\ndigest to the authorized plan, since syntax validation is not attestation verification.\nNew services scale to zero with IAM invocation checks enabled. The client does\nnot grant `allUsers` or change IAM policies; enabling IAM checks alone does not\nremove preexisting IAM grants on adopted services.\n\nUpdates require a current resource UID/etag and an explicitly adopted target.\nThey preserve existing environment/secret references, probes, protocol, warm\ncapacity, request timeout and unrelated network configuration. Changes to service\nidentity, port, GPU/multi-container/always-allocated-CPU topology require a\nseparate reviewed migration. An update never creates a missing service.\n\nDeletion checks UID/etag again and sends an etag precondition. A same-named\nreplacement cannot be silently deleted. The host must verify operation completion\nand resource absence before marking cleanup complete.\n\n## Usage\n\nImport `CloudRunClient` from\n`@lssm-tech/integration.lssm-os-provider-gcp/cloud-run`.\n\n```ts\nconst client = new CloudRunClient({\n  scope: {\n    projectId: 'example-project',\n    region: 'europe-west1',\n    serviceAccount: 'example-worker@example-project.iam.gserviceaccount.com',\n    maximumInstances: 1,\n  },\n  accessToken: (signal) => credentialProvider.getAccessToken(signal),\n});\nconst services = await client.listServices();\n```\n\nProvide a trusted token source from the host connection service. Do not pass\ncredentials in plans, observations, browser UI or logs. Calls stay on Google's\nfixed API origin, refuse redirects, bound token acquisition and response reads,\nand never automatically retry mutations. `CloudRunRequestError.indeterminate`\ndistinguishes an uncertain external effect from an admission/authentication failure\nbefore dispatch. Caller abort signals bound composed operations.\n\nDiscovery fails on unreachable regions, repeated pagination tokens or conflicting\nresource identities instead of returning a partial inventory. Observations omit\ncontainer environment values and provider error messages. Readiness requires a\nsuccessful terminal condition and matching observed generation/revision.\n\n## Qualification status\n\nImplementation and local transport regression tests are available. Live Cloud Run\nqualification requires an active, separately budgeted test environment. No Cloud Run workload, GKE, VM, jobs, full cloud\nlifecycle or production Runtime Node authority qualification is claimed here.\n\nRun `bun test`, `bun run typecheck`, `bun run build`, and `bun run test:pack`.\nThe package test installs its actual tarball without network access and imports\nboth public subpaths using Node and Bun. That does not prove npm publication.\n","sourcePath":"packages/integrations/lssm-os-provider-gcp/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/lssm-os-provider-gcp/README.md","blobSha":"a168630ac9f01a23c9f597d6206463ac494c1834","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":"delivery-and-infrastructure","areaTitle":"Delivery, infrastructure and runtime operations","displayName":"integration.lssm-os-provider-gcp","runtimes":["node","bun"],"platforms":["server"],"kind":"integration","scope":"Package manifest","canonicalRoute":"/docs/packages/integration.lssm-os-provider-gcp/","contextUrl":"/docs/packages/integration.lssm-os-provider-gcp.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}