{"id":"@lssm-tech/integration.provider-x","slug":"integration.provider-x","name":"@lssm-tech/integration.provider-x","version":"2.1.4","path":"packages/integrations/provider-x","manifestPath":"packages/integrations/provider-x/package.json","manifestBlobSha":"0c4b50358970b76e18d455158de6269b558f14cf","layer":"integrations","physicalArea":null,"primaryArea":"integrations-and-providers","classification":{"privateDeclared":null,"catalogFamily":"integrations","catalogKind":"integration","catalogStatus":"active","adoptionMode":"adoptable","stability":"experimental"},"description":"Official X API read and scoped native publication adapters for ContractSpec.","descriptionOrigin":"package.json","catalog":{"family":"integrations","kind":"integration","status":"active","adoptionMode":"adoptable","stability":"experimental","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./contracts-shim.d","./oauth","./provider","./provider-error","./provider-normalizers","./tracking","./tracking-capabilities","./tracking-client","./tracking-helpers","./tracking-webhook","./webhooks"],"documentation":[{"title":"Integration Provider X documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fintegration.provider-x","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"package.lssm.tech.integration.provider.x","title":"Integration Provider X","description":"Official X API read adapters for ContractSpec.","status":"active","useCases":["Adopt official x api read adapters for contractspec"],"aliases":["integration","provider"],"pythonEquivalents":[],"canonicalImports":[{"from":"@lssm-tech/integration.provider-x","symbols":[]},{"from":"@lssm-tech/integration.provider-x/contracts-shim.d","symbols":[]},{"from":"@lssm-tech/integration.provider-x/oauth","symbols":[]},{"from":"@lssm-tech/integration.provider-x/provider","symbols":[]},{"from":"@lssm-tech/integration.provider-x/provider-error","symbols":[]},{"from":"@lssm-tech/integration.provider-x/provider-normalizers","symbols":[]},{"from":"@lssm-tech/integration.provider-x/tracking","symbols":[]},{"from":"@lssm-tech/integration.provider-x/tracking-capabilities","symbols":[]},{"from":"@lssm-tech/integration.provider-x/tracking-client","symbols":[]},{"from":"@lssm-tech/integration.provider-x/tracking-helpers","symbols":[]},{"from":"@lssm-tech/integration.provider-x/tracking-webhook","symbols":[]},{"from":"@lssm-tech/integration.provider-x/webhooks","symbols":[]}],"constraints":{"platforms":["server"],"runtimes":["node"],"avoidWhen":["The @lssm-tech/integration.provider-x package constraints do not match the target runtime or platform."],"requires":["TypeScript"]},"alternatives":[],"relationships":[],"resolutionPriority":50}]},"canonicalImports":[{"capabilityId":"package.lssm.tech.integration.provider.x","from":"@lssm-tech/integration.provider-x","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.x","from":"@lssm-tech/integration.provider-x/contracts-shim.d","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.x","from":"@lssm-tech/integration.provider-x/oauth","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.x","from":"@lssm-tech/integration.provider-x/provider","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.x","from":"@lssm-tech/integration.provider-x/provider-error","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.x","from":"@lssm-tech/integration.provider-x/provider-normalizers","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.x","from":"@lssm-tech/integration.provider-x/tracking","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.x","from":"@lssm-tech/integration.provider-x/tracking-capabilities","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.x","from":"@lssm-tech/integration.provider-x/tracking-client","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.x","from":"@lssm-tech/integration.provider-x/tracking-helpers","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.x","from":"@lssm-tech/integration.provider-x/tracking-webhook","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.x","from":"@lssm-tech/integration.provider-x/webhooks","symbols":[]}],"scripts":{"build":"contractspec-bun-build build","build:bundle":"contractspec-bun-build transpile","build:types":"contractspec-bun-build types","clean":"rimraf dist .turbo","dev":"contractspec-bun-build dev","lint:check":"node ../../../scripts/biome.cjs check .","lint:fix":"node ../../../scripts/biome.cjs check --write .","prebuild":"contractspec-bun-build prebuild","test":"bun test","typecheck":"tsgo --noEmit"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/lib.contracts-integrations":"workspace:^","@lssm-tech/lib.growth-spec":"workspace:^","@lssm-tech/lib.content-analysis-spec":"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","./api-url":"./src/api-url.ts","./contracts-shim.d":"./src/contracts-shim.d.ts","./native-publication":"./src/native-publication.ts","./native-upload":"./src/native-upload.ts","./native-withdrawal":"./src/native-withdrawal.ts","./oauth":"./src/oauth.ts","./provider":"./src/provider.ts","./provider-error":"./src/provider-error.ts","./provider-normalizers":"./src/provider-normalizers.ts","./publication-execute":"./src/publication-execute.ts","./publication-http":"./src/publication-http.ts","./publication-reconcile":"./src/publication-reconcile.ts","./publication-types":"./src/publication-types.ts","./tracking":"./src/tracking.ts","./tracking-capabilities":"./src/tracking-capabilities.ts","./tracking-client":"./src/tracking-client.ts","./tracking-helpers":"./src/tracking-helpers.ts","./tracking-webhook":"./src/tracking-webhook.ts","./upload-http":"./src/upload-http.ts","./upload-receipt":"./src/upload-receipt.ts","./upload-step":"./src/upload-step.ts","./upload-types":"./src/upload-types.ts","./webhooks":"./src/webhooks.ts"},"publishExports":{".":{"types":"./dist/index.d.ts","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./api-url":{"types":"./dist/api-url.d.ts","bun":"./dist/api-url.js","node":"./dist/node/api-url.js","default":"./dist/api-url.js"},"./contracts-shim.d":{"types":"./dist/contracts-shim.d.ts","bun":"./dist/contracts-shim.d.js","node":"./dist/node/contracts-shim.d.js","default":"./dist/contracts-shim.d.js"},"./native-publication":{"types":"./dist/native-publication.d.ts","bun":"./dist/native-publication.js","node":"./dist/node/native-publication.js","default":"./dist/native-publication.js"},"./native-upload":{"types":"./dist/native-upload.d.ts","bun":"./dist/native-upload.js","node":"./dist/node/native-upload.js","default":"./dist/native-upload.js"},"./native-withdrawal":{"types":"./dist/native-withdrawal.d.ts","bun":"./dist/native-withdrawal.js","node":"./dist/node/native-withdrawal.js","default":"./dist/native-withdrawal.js"},"./oauth":{"types":"./dist/oauth.d.ts","bun":"./dist/oauth.js","node":"./dist/node/oauth.js","default":"./dist/oauth.js"},"./provider":{"types":"./dist/provider.d.ts","bun":"./dist/provider.js","node":"./dist/node/provider.js","default":"./dist/provider.js"},"./provider-error":{"types":"./dist/provider-error.d.ts","bun":"./dist/provider-error.js","node":"./dist/node/provider-error.js","default":"./dist/provider-error.js"},"./provider-normalizers":{"types":"./dist/provider-normalizers.d.ts","bun":"./dist/provider-normalizers.js","node":"./dist/node/provider-normalizers.js","default":"./dist/provider-normalizers.js"},"./publication-execute":{"types":"./dist/publication-execute.d.ts","bun":"./dist/publication-execute.js","node":"./dist/node/publication-execute.js","default":"./dist/publication-execute.js"},"./publication-http":{"types":"./dist/publication-http.d.ts","bun":"./dist/publication-http.js","node":"./dist/node/publication-http.js","default":"./dist/publication-http.js"},"./publication-reconcile":{"types":"./dist/publication-reconcile.d.ts","bun":"./dist/publication-reconcile.js","node":"./dist/node/publication-reconcile.js","default":"./dist/publication-reconcile.js"},"./publication-types":{"types":"./dist/publication-types.d.ts","bun":"./dist/publication-types.js","node":"./dist/node/publication-types.js","default":"./dist/publication-types.js"},"./tracking":{"types":"./dist/tracking.d.ts","bun":"./dist/tracking.js","node":"./dist/node/tracking.js","default":"./dist/tracking.js"},"./tracking-capabilities":{"types":"./dist/tracking-capabilities.d.ts","bun":"./dist/tracking-capabilities.js","node":"./dist/node/tracking-capabilities.js","default":"./dist/tracking-capabilities.js"},"./tracking-client":{"types":"./dist/tracking-client.d.ts","bun":"./dist/tracking-client.js","node":"./dist/node/tracking-client.js","default":"./dist/tracking-client.js"},"./tracking-helpers":{"types":"./dist/tracking-helpers.d.ts","bun":"./dist/tracking-helpers.js","node":"./dist/node/tracking-helpers.js","default":"./dist/tracking-helpers.js"},"./tracking-webhook":{"types":"./dist/tracking-webhook.d.ts","bun":"./dist/tracking-webhook.js","node":"./dist/node/tracking-webhook.js","default":"./dist/tracking-webhook.js"},"./upload-http":{"types":"./dist/upload-http.d.ts","bun":"./dist/upload-http.js","node":"./dist/node/upload-http.js","default":"./dist/upload-http.js"},"./upload-receipt":{"types":"./dist/upload-receipt.d.ts","bun":"./dist/upload-receipt.js","node":"./dist/node/upload-receipt.js","default":"./dist/upload-receipt.js"},"./upload-step":{"types":"./dist/upload-step.d.ts","bun":"./dist/upload-step.js","node":"./dist/node/upload-step.js","default":"./dist/upload-step.js"},"./upload-types":{"types":"./dist/upload-types.d.ts","bun":"./dist/upload-types.js","node":"./dist/node/upload-types.js","default":"./dist/upload-types.js"},"./webhooks":{"types":"./dist/webhooks.d.ts","bun":"./dist/webhooks.js","node":"./dist/node/webhooks.js","default":"./dist/webhooks.js"}},"types":"./dist/index.d.ts","files":["dist"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/integration.provider-x","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/integrations/provider-x/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./api-url","importPath":"@lssm-tech/integration.provider-x/api-url","target":"./src/api-url.ts","targets":[{"conditions":[],"target":"./src/api-url.ts","sourcePath":"packages/integrations/provider-x/src/api-url.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/api-url.ts","sourceStatus":"verified source file"}]},{"subpath":"./contracts-shim.d","importPath":"@lssm-tech/integration.provider-x/contracts-shim.d","target":"./src/contracts-shim.d.ts","targets":[{"conditions":[],"target":"./src/contracts-shim.d.ts","sourcePath":"packages/integrations/provider-x/src/contracts-shim.d.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/contracts-shim.d.ts","sourceStatus":"verified source file"}]},{"subpath":"./native-publication","importPath":"@lssm-tech/integration.provider-x/native-publication","target":"./src/native-publication.ts","targets":[{"conditions":[],"target":"./src/native-publication.ts","sourcePath":"packages/integrations/provider-x/src/native-publication.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/native-publication.ts","sourceStatus":"verified source file"}]},{"subpath":"./native-upload","importPath":"@lssm-tech/integration.provider-x/native-upload","target":"./src/native-upload.ts","targets":[{"conditions":[],"target":"./src/native-upload.ts","sourcePath":"packages/integrations/provider-x/src/native-upload.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/native-upload.ts","sourceStatus":"verified source file"}]},{"subpath":"./native-withdrawal","importPath":"@lssm-tech/integration.provider-x/native-withdrawal","target":"./src/native-withdrawal.ts","targets":[{"conditions":[],"target":"./src/native-withdrawal.ts","sourcePath":"packages/integrations/provider-x/src/native-withdrawal.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/native-withdrawal.ts","sourceStatus":"verified source file"}]},{"subpath":"./oauth","importPath":"@lssm-tech/integration.provider-x/oauth","target":"./src/oauth.ts","targets":[{"conditions":[],"target":"./src/oauth.ts","sourcePath":"packages/integrations/provider-x/src/oauth.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/oauth.ts","sourceStatus":"verified source file"}]},{"subpath":"./provider","importPath":"@lssm-tech/integration.provider-x/provider","target":"./src/provider.ts","targets":[{"conditions":[],"target":"./src/provider.ts","sourcePath":"packages/integrations/provider-x/src/provider.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/provider.ts","sourceStatus":"verified source file"}]},{"subpath":"./provider-error","importPath":"@lssm-tech/integration.provider-x/provider-error","target":"./src/provider-error.ts","targets":[{"conditions":[],"target":"./src/provider-error.ts","sourcePath":"packages/integrations/provider-x/src/provider-error.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/provider-error.ts","sourceStatus":"verified source file"}]},{"subpath":"./provider-normalizers","importPath":"@lssm-tech/integration.provider-x/provider-normalizers","target":"./src/provider-normalizers.ts","targets":[{"conditions":[],"target":"./src/provider-normalizers.ts","sourcePath":"packages/integrations/provider-x/src/provider-normalizers.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/provider-normalizers.ts","sourceStatus":"verified source file"}]},{"subpath":"./publication-execute","importPath":"@lssm-tech/integration.provider-x/publication-execute","target":"./src/publication-execute.ts","targets":[{"conditions":[],"target":"./src/publication-execute.ts","sourcePath":"packages/integrations/provider-x/src/publication-execute.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/publication-execute.ts","sourceStatus":"verified source file"}]},{"subpath":"./publication-http","importPath":"@lssm-tech/integration.provider-x/publication-http","target":"./src/publication-http.ts","targets":[{"conditions":[],"target":"./src/publication-http.ts","sourcePath":"packages/integrations/provider-x/src/publication-http.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/publication-http.ts","sourceStatus":"verified source file"}]},{"subpath":"./publication-reconcile","importPath":"@lssm-tech/integration.provider-x/publication-reconcile","target":"./src/publication-reconcile.ts","targets":[{"conditions":[],"target":"./src/publication-reconcile.ts","sourcePath":"packages/integrations/provider-x/src/publication-reconcile.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/publication-reconcile.ts","sourceStatus":"verified source file"}]},{"subpath":"./publication-types","importPath":"@lssm-tech/integration.provider-x/publication-types","target":"./src/publication-types.ts","targets":[{"conditions":[],"target":"./src/publication-types.ts","sourcePath":"packages/integrations/provider-x/src/publication-types.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/publication-types.ts","sourceStatus":"verified source file"}]},{"subpath":"./tracking","importPath":"@lssm-tech/integration.provider-x/tracking","target":"./src/tracking.ts","targets":[{"conditions":[],"target":"./src/tracking.ts","sourcePath":"packages/integrations/provider-x/src/tracking.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/tracking.ts","sourceStatus":"verified source file"}]},{"subpath":"./tracking-capabilities","importPath":"@lssm-tech/integration.provider-x/tracking-capabilities","target":"./src/tracking-capabilities.ts","targets":[{"conditions":[],"target":"./src/tracking-capabilities.ts","sourcePath":"packages/integrations/provider-x/src/tracking-capabilities.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/tracking-capabilities.ts","sourceStatus":"verified source file"}]},{"subpath":"./tracking-client","importPath":"@lssm-tech/integration.provider-x/tracking-client","target":"./src/tracking-client.ts","targets":[{"conditions":[],"target":"./src/tracking-client.ts","sourcePath":"packages/integrations/provider-x/src/tracking-client.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/tracking-client.ts","sourceStatus":"verified source file"}]},{"subpath":"./tracking-helpers","importPath":"@lssm-tech/integration.provider-x/tracking-helpers","target":"./src/tracking-helpers.ts","targets":[{"conditions":[],"target":"./src/tracking-helpers.ts","sourcePath":"packages/integrations/provider-x/src/tracking-helpers.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/tracking-helpers.ts","sourceStatus":"verified source file"}]},{"subpath":"./tracking-webhook","importPath":"@lssm-tech/integration.provider-x/tracking-webhook","target":"./src/tracking-webhook.ts","targets":[{"conditions":[],"target":"./src/tracking-webhook.ts","sourcePath":"packages/integrations/provider-x/src/tracking-webhook.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/tracking-webhook.ts","sourceStatus":"verified source file"}]},{"subpath":"./upload-http","importPath":"@lssm-tech/integration.provider-x/upload-http","target":"./src/upload-http.ts","targets":[{"conditions":[],"target":"./src/upload-http.ts","sourcePath":"packages/integrations/provider-x/src/upload-http.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/upload-http.ts","sourceStatus":"verified source file"}]},{"subpath":"./upload-receipt","importPath":"@lssm-tech/integration.provider-x/upload-receipt","target":"./src/upload-receipt.ts","targets":[{"conditions":[],"target":"./src/upload-receipt.ts","sourcePath":"packages/integrations/provider-x/src/upload-receipt.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/upload-receipt.ts","sourceStatus":"verified source file"}]},{"subpath":"./upload-step","importPath":"@lssm-tech/integration.provider-x/upload-step","target":"./src/upload-step.ts","targets":[{"conditions":[],"target":"./src/upload-step.ts","sourcePath":"packages/integrations/provider-x/src/upload-step.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/upload-step.ts","sourceStatus":"verified source file"}]},{"subpath":"./upload-types","importPath":"@lssm-tech/integration.provider-x/upload-types","target":"./src/upload-types.ts","targets":[{"conditions":[],"target":"./src/upload-types.ts","sourcePath":"packages/integrations/provider-x/src/upload-types.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/upload-types.ts","sourceStatus":"verified source file"}]},{"subpath":"./webhooks","importPath":"@lssm-tech/integration.provider-x/webhooks","target":"./src/webhooks.ts","targets":[{"conditions":[],"target":"./src/webhooks.ts","sourcePath":"packages/integrations/provider-x/src/webhooks.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/src/webhooks.ts","sourceStatus":"verified source file"}]}],"entryCount":24,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Integration Provider X documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fintegration.provider-x","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/integration.provider-x.txt"},"readme":{"status":"available","body":"# @lssm-tech/integration.provider-x\n\nOfficial X API v2 adapter and `XSocialTrackingSource` for explicitly connected users. It normalizes creator/post counters, timeline sync, and Account Activity webhook events. OAuth tokens are resolved through opaque references and never serialized; historical analytics remain explicitly unavailable.\n\n\nProvider and tracking reads preserve the configured API prefix (including `/2`) for\nresource-relative paths. Origin substitution, path traversal and credential-bearing\nbase URLs are rejected. Reads reject redirects and have a 30-second timeout. These\nrepairs preserve the existing read surface. Native publication uses the separate adapter below.\n\n\n`./native-publication` exposes `XNativePublicationProvider` for the scoped V2 social\nprovider port. It supports one post or a self-reply thread with reviewed text, explicit\nAI/paid-partnership disclosure flags and pre-uploaded image/video/GIF assets. Media\nmaterialization includes both native IDs and media keys; confirmation checks attached\nkeys/types rather than assuming that a successful create attached every asset.\n\nA mandatory durable part store reserves the immutable plan and claims every part before\nPOST. Creation IDs, submission times, scoped request digests, grant/authority references\nand read-confirmation facts remain persisted. Unknown requests are never resent. A\nread-only exact-request evidence loader may resolve an unknown ID; text similarity is\nnot evidence. Explicitly authorized continuation sends only pending parts. The host\nrechecks the named publishing grant, rights, native access, reply eligibility, weighted\ntext limits and per-part metering immediately before each post.\n\nUse `SqlXPublicationStore` and configure this provider under `providersV2.x`. The canonical\nparent intent requires `claimContinuation` for interrupted thread execution. Native\nHTTP callbacks receive a separate immutable trace context; use it to bind recovery\nartifacts without adding internal IDs to API payloads or logging credentials.\n\nAccount-tier qualification and live publication remain installation work. Existing X reads and OAuth defaults are unchanged; no cookie or scraping fallback\nis provided. Native protocol references: [create posts](https://docs.x.com/x-api/posts/create-post)\nand [media expansions](https://docs.x.com/x-api/fundamentals/data-dictionary/reference).\n\n\n`./native-upload` exposes `XNativeUploadProvider` for image, video and GIF uploads.\nSupply an approved immutable asset/chunk manifest, a `SqlXUploadStore`, current rights\nand account authority, scoped asset reads and credentials. Bounded `run(plan, maxSteps)`\ncalls initialize, append verified chunks, finalize and poll native processing. Continue\nfrom the same plan/key; uncertain steps need exact request-bound transport evidence.\nThe store retains references and hashes, not file bytes, bearer tokens or signed URLs.\n\n`xUploadedAsset` in the library-owned `x-upload-state` contract checks scope, readiness\nand native expiry before producing the ID/key consumed by publication materialization.\nHosts recheck rights at publication time and schedule polling from `nextPollAt`. Failed\nor expired uploads are terminal; replacing an asset requires a newly reviewed job key.\nUp to 500 chunks of 5 MB are supported; account/format-specific limits must be qualified\nbefore initialization. Cancellation and automatic retry of uncertain writes are unavailable.\n\nProtocol: [initialize](https://docs.x.com/x-api/media/initialize-media-upload),\n[append](https://docs.x.com/x-api/media/append-media-upload),\n[finalize](https://docs.x.com/x-api/media/finalize-media-upload),\n[status](https://docs.x.com/x-api/media/get-media-upload-status).\n\n\n`./native-withdrawal` implements the content-withdrawal provider port for a single bound\nX post. The host must verify the revoked use, historical account ownership, current\nremoval authority and immutable job-to-post mapping. The adapter rechecks that binding\nafter credential resolution and sends one official DELETE with no redirects/retries.\nRead-only recovery accepts only exact resource-not-found evidence; 401/403 and ambiguous\nresponses remain unknown. Use with ContentWithdrawalWorker for durable dispatch claims.\nOfficial protocol: [delete posts](https://docs.x.com/x-api/posts/delete-post). Live account\nqualification and other-platform withdrawal adapters remain separate requirements.\n\nStandalone declaration exports keep their existing public subpath names. The\nshared builder preserves their original declaration suffix and copies checked\nsource declarations into dist, without overwriting emitted implementation types.\n","sourcePath":"packages/integrations/provider-x/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-x/README.md","blobSha":"d8c83dfdd2beb075f370ee655f6ebab0d6988fdd","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.provider-x","runtimes":["node"],"platforms":["server"],"kind":"integration","scope":"Package manifest","canonicalRoute":"/docs/packages/integration.provider-x/","contextUrl":"/docs/packages/integration.provider-x.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}