{"id":"@lssm-tech/module.content-generation","slug":"module.content-generation","name":"@lssm-tech/module.content-generation","version":"2.1.4","path":"packages/domains/content/module","manifestPath":"packages/domains/content/module/package.json","manifestBlobSha":"d67f2e03caba1cd7b1f2e0fa63924110071e77bb","layer":"domains","physicalArea":"content","primaryArea":"content-and-growth","classification":{"privateDeclared":null,"catalogFamily":"solutions","catalogKind":"module","catalogStatus":"active","adoptionMode":"adoptable","stability":"experimental"},"description":"Thin provider-agnostic facade for unified content generation workflows with deterministic demo stubs.","descriptionOrigin":"package.json","catalog":{"family":"solutions","kind":"module","status":"active","adoptionMode":"adoptable","stability":"experimental","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./content-generation.feature","./demo","./demo/provider","./demo/stubs","./facade","./orchestrator","./ports","./types"],"documentation":[{"title":"Module Content Generation documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fmodule.content-generation","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"package.lssm.tech.module.content.generation","title":"Module Content Generation","description":"Thin provider-agnostic facade for unified content generation workflows with deterministic demo stubs.","status":"active","useCases":["Adopt thin provider-agnostic facade for unified content generation workflows with deterministic demo stubs"],"aliases":["contractspec","content-generation","image","video","voice","typescript","module","content","generation"],"pythonEquivalents":[],"canonicalImports":[{"from":"@lssm-tech/module.content-generation","symbols":[]},{"from":"@lssm-tech/module.content-generation/content-generation.feature","symbols":[]},{"from":"@lssm-tech/module.content-generation/demo","symbols":[]},{"from":"@lssm-tech/module.content-generation/demo/provider","symbols":[]},{"from":"@lssm-tech/module.content-generation/demo/stubs","symbols":[]},{"from":"@lssm-tech/module.content-generation/facade","symbols":[]},{"from":"@lssm-tech/module.content-generation/orchestrator","symbols":[]},{"from":"@lssm-tech/module.content-generation/ports","symbols":[]},{"from":"@lssm-tech/module.content-generation/types","symbols":[]}],"constraints":{"platforms":["server"],"runtimes":["node"],"avoidWhen":["The @lssm-tech/module.content-generation package constraints do not match the target runtime or platform."],"requires":["TypeScript"]},"alternatives":[],"relationships":[],"resolutionPriority":50}]},"canonicalImports":[{"capabilityId":"package.lssm.tech.module.content.generation","from":"@lssm-tech/module.content-generation","symbols":[]},{"capabilityId":"package.lssm.tech.module.content.generation","from":"@lssm-tech/module.content-generation/content-generation.feature","symbols":[]},{"capabilityId":"package.lssm.tech.module.content.generation","from":"@lssm-tech/module.content-generation/demo","symbols":[]},{"capabilityId":"package.lssm.tech.module.content.generation","from":"@lssm-tech/module.content-generation/demo/provider","symbols":[]},{"capabilityId":"package.lssm.tech.module.content.generation","from":"@lssm-tech/module.content-generation/demo/stubs","symbols":[]},{"capabilityId":"package.lssm.tech.module.content.generation","from":"@lssm-tech/module.content-generation/facade","symbols":[]},{"capabilityId":"package.lssm.tech.module.content.generation","from":"@lssm-tech/module.content-generation/orchestrator","symbols":[]},{"capabilityId":"package.lssm.tech.module.content.generation","from":"@lssm-tech/module.content-generation/ports","symbols":[]},{"capabilityId":"package.lssm.tech.module.content.generation","from":"@lssm-tech/module.content-generation/types","symbols":[]}],"scripts":{"publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","publish:pkg:canary":"bun publish:pkg --tag canary","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":"bun lint:fix","lint:fix":"node ../../../../scripts/biome.cjs check --write .","lint:check":"node ../../../../scripts/biome.cjs check .","test":"bun test","prebuild":"contractspec-bun-build prebuild","typecheck":"tsgo --noEmit"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/lib.contracts-runtime-core":"workspace:^","@lssm-tech/lib.contracts-spec-core":"workspace:^","@lssm-tech/lib.content-analysis-spec":"workspace:^","@lssm-tech/lib.content-gen":"workspace:^"},"devDependencies":{"@lssm-tech/lib.contracts-spec":"workspace:^","@lssm-tech/tool.bun":"workspace:*","@lssm-tech/tool.typescript":"workspace:*","typescript":"catalog:"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts","./content-generation.feature":"./src/content-generation.feature.ts","./demo":"./src/demo/index.ts","./demo/provider":"./src/demo/provider.ts","./demo/stubs":"./src/demo/stubs.ts","./facade":"./src/facade.ts","./media-status":"./src/media-status.ts","./orchestrator":"./src/orchestrator.ts","./ports":"./src/ports.ts","./rights":"./src/rights.ts","./types":"./src/types.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"},"./content-generation.feature":{"types":"./dist/content-generation.feature.d.ts","browser":"./dist/browser/content-generation.feature.js","bun":"./dist/content-generation.feature.js","node":"./dist/node/content-generation.feature.js","default":"./dist/content-generation.feature.js"},"./demo":{"types":"./dist/demo/index.d.ts","browser":"./dist/browser/demo/index.js","bun":"./dist/demo/index.js","node":"./dist/node/demo/index.js","default":"./dist/demo/index.js"},"./demo/provider":{"types":"./dist/demo/provider.d.ts","browser":"./dist/browser/demo/provider.js","bun":"./dist/demo/provider.js","node":"./dist/node/demo/provider.js","default":"./dist/demo/provider.js"},"./demo/stubs":{"types":"./dist/demo/stubs.d.ts","browser":"./dist/browser/demo/stubs.js","bun":"./dist/demo/stubs.js","node":"./dist/node/demo/stubs.js","default":"./dist/demo/stubs.js"},"./facade":{"types":"./dist/facade.d.ts","browser":"./dist/browser/facade.js","bun":"./dist/facade.js","node":"./dist/node/facade.js","default":"./dist/facade.js"},"./media-status":{"types":"./dist/media-status.d.ts","browser":"./dist/browser/media-status.js","bun":"./dist/media-status.js","node":"./dist/node/media-status.js","default":"./dist/media-status.js"},"./orchestrator":{"types":"./dist/orchestrator.d.ts","browser":"./dist/browser/orchestrator.js","bun":"./dist/orchestrator.js","node":"./dist/node/orchestrator.js","default":"./dist/orchestrator.js"},"./ports":{"types":"./dist/ports.d.ts","browser":"./dist/browser/ports.js","bun":"./dist/ports.js","node":"./dist/node/ports.js","default":"./dist/ports.js"},"./rights":{"types":"./dist/rights.d.ts","browser":"./dist/browser/rights.js","bun":"./dist/rights.js","node":"./dist/node/rights.js","default":"./dist/rights.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"}},"types":"./dist/index.d.ts","files":["dist","README.md"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/module.content-generation","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/domains/content/module/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/content/module/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./content-generation.feature","importPath":"@lssm-tech/module.content-generation/content-generation.feature","target":"./src/content-generation.feature.ts","targets":[{"conditions":[],"target":"./src/content-generation.feature.ts","sourcePath":"packages/domains/content/module/src/content-generation.feature.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/content/module/src/content-generation.feature.ts","sourceStatus":"verified source file"}]},{"subpath":"./demo","importPath":"@lssm-tech/module.content-generation/demo","target":"./src/demo/index.ts","targets":[{"conditions":[],"target":"./src/demo/index.ts","sourcePath":"packages/domains/content/module/src/demo/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/content/module/src/demo/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./demo/provider","importPath":"@lssm-tech/module.content-generation/demo/provider","target":"./src/demo/provider.ts","targets":[{"conditions":[],"target":"./src/demo/provider.ts","sourcePath":"packages/domains/content/module/src/demo/provider.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/content/module/src/demo/provider.ts","sourceStatus":"verified source file"}]},{"subpath":"./demo/stubs","importPath":"@lssm-tech/module.content-generation/demo/stubs","target":"./src/demo/stubs.ts","targets":[{"conditions":[],"target":"./src/demo/stubs.ts","sourcePath":"packages/domains/content/module/src/demo/stubs.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/content/module/src/demo/stubs.ts","sourceStatus":"verified source file"}]},{"subpath":"./facade","importPath":"@lssm-tech/module.content-generation/facade","target":"./src/facade.ts","targets":[{"conditions":[],"target":"./src/facade.ts","sourcePath":"packages/domains/content/module/src/facade.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/content/module/src/facade.ts","sourceStatus":"verified source file"}]},{"subpath":"./media-status","importPath":"@lssm-tech/module.content-generation/media-status","target":"./src/media-status.ts","targets":[{"conditions":[],"target":"./src/media-status.ts","sourcePath":"packages/domains/content/module/src/media-status.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/content/module/src/media-status.ts","sourceStatus":"verified source file"}]},{"subpath":"./orchestrator","importPath":"@lssm-tech/module.content-generation/orchestrator","target":"./src/orchestrator.ts","targets":[{"conditions":[],"target":"./src/orchestrator.ts","sourcePath":"packages/domains/content/module/src/orchestrator.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/content/module/src/orchestrator.ts","sourceStatus":"verified source file"}]},{"subpath":"./ports","importPath":"@lssm-tech/module.content-generation/ports","target":"./src/ports.ts","targets":[{"conditions":[],"target":"./src/ports.ts","sourcePath":"packages/domains/content/module/src/ports.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/content/module/src/ports.ts","sourceStatus":"verified source file"}]},{"subpath":"./rights","importPath":"@lssm-tech/module.content-generation/rights","target":"./src/rights.ts","targets":[{"conditions":[],"target":"./src/rights.ts","sourcePath":"packages/domains/content/module/src/rights.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/content/module/src/rights.ts","sourceStatus":"verified source file"}]},{"subpath":"./types","importPath":"@lssm-tech/module.content-generation/types","target":"./src/types.ts","targets":[{"conditions":[],"target":"./src/types.ts","sourcePath":"packages/domains/content/module/src/types.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/content/module/src/types.ts","sourceStatus":"verified source file"}]}],"entryCount":11,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Module Content Generation documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fmodule.content-generation","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/content/module","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/content/module/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/content/module/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/module.content-generation.txt"},"readme":{"status":"available","body":"# `@lssm-tech/module.content-generation`\n\nThin, provider-agnostic facade for unified content generation workflows across text/content, image, video, TTS, STT, and conversation.\n\n## Boundary\n\nThis package intentionally ships deterministic demo stubs only. Real provider SDKs and integration packages must be injected by callers through the exported provider ports.\n\n## Quick start\n\n```ts\nimport { createContentGenerationFacade } from '@lssm-tech/module.content-generation';\n\nconst contentGeneration = createContentGenerationFacade();\nconst result = await contentGeneration.runDemoWorkflow();\n```\n\nThe default facade does not read credentials or call external services.\n\n\nThe optional `rights` registrar composes ContentRightsService and ContentWithdrawalWorker\nbehind five canonical operations. It checks authenticated scope before service access\nand retains separate operation approvals for grant recording and provider withdrawal.\nThis production port composition is independent of the default demo generation facade.\n\n### Durable media status\n\nThe additive `content-generation.media.status` v1 query exposes persisted generation\nstate, revision, artifact references and expected output count through\n`POST /marketing/media/status` and MCP `media_generation_status`. It never polls\nproviders or dispatches generation. Installations supply an authorized reader;\nthe marketing host mounts it only when configured. Tenant, workspace and generation\nownership are checked before returning progress. Provider URLs, connection keys\nand payment reservation references stay private. Existing draft generation\noperations retain their behavior.\n","sourcePath":"packages/domains/content/module/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/content/module/README.md","blobSha":"ac43d1ab5c24467032a14a9dce1b352227637491","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":"content-and-growth","areaTitle":"Content, growth and creator operations","displayName":"module.content-generation","runtimes":["node"],"platforms":["server"],"kind":"module","scope":"Package manifest","canonicalRoute":"/docs/packages/module.content-generation/","contextUrl":"/docs/packages/module.content-generation.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}