{"id":"@lssm-tech/integration.provider-meeting-recorder","slug":"integration.provider-meeting-recorder","name":"@lssm-tech/integration.provider-meeting-recorder","version":"2.1.4","path":"packages/integrations/provider-meeting-recorder","manifestPath":"packages/integrations/provider-meeting-recorder/package.json","manifestBlobSha":"c30d36697c874be68488cbe344f6934f2ece802f","layer":"integrations","physicalArea":null,"primaryArea":"integrations-and-providers","classification":{"privateDeclared":null,"catalogFamily":"integrations","catalogKind":"integration","catalogStatus":"active","adoptionMode":"adoptable","stability":"experimental"},"description":"Meeting recorder provider implementations for ContractSpec.","descriptionOrigin":"package.json","catalog":{"family":"integrations","kind":"integration","status":"active","adoptionMode":"adoptable","stability":"experimental","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./impls","./impls/fathom-meeting-recorder","./impls/fathom-meeting-recorder.mapper","./impls/fathom-meeting-recorder.types","./impls/fathom-meeting-recorder.utils","./impls/fathom-meeting-recorder.webhooks","./impls/fireflies-meeting-recorder","./impls/fireflies-meeting-recorder.queries","./impls/fireflies-meeting-recorder.types","./impls/fireflies-meeting-recorder.utils","./impls/granola-meeting-recorder","./impls/granola-meeting-recorder.mcp","./impls/granola-meeting-recorder.types","./impls/tldv-meeting-recorder","./meeting-recorder","./meeting-intake-binding","./meeting-recorder-binding","./meeting-evidence","./meeting-evidence-ingestion","./meeting-evidence-webhook"],"documentation":[{"title":"Integration Provider Meeting Recorder documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fintegration.provider-meeting-recorder","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"package.lssm.tech.integration.provider.meeting.recorder","title":"Integration Provider Meeting Recorder","description":"Meeting recorder provider implementations for ContractSpec.","status":"active","useCases":["Adopt meeting recorder provider implementations for contractspec"],"aliases":["integration","provider","meeting","recorder"],"pythonEquivalents":[],"canonicalImports":[{"from":"@lssm-tech/integration.provider-meeting-recorder","symbols":[]},{"from":"@lssm-tech/integration.provider-meeting-recorder/impls","symbols":[]},{"from":"@lssm-tech/integration.provider-meeting-recorder/impls/fathom-meeting-recorder","symbols":[]},{"from":"@lssm-tech/integration.provider-meeting-recorder/impls/fathom-meeting-recorder.mapper","symbols":[]},{"from":"@lssm-tech/integration.provider-meeting-recorder/impls/fathom-meeting-recorder.types","symbols":[]},{"from":"@lssm-tech/integration.provider-meeting-recorder/impls/fathom-meeting-recorder.utils","symbols":[]},{"from":"@lssm-tech/integration.provider-meeting-recorder/impls/fathom-meeting-recorder.webhooks","symbols":[]},{"from":"@lssm-tech/integration.provider-meeting-recorder/impls/fireflies-meeting-recorder","symbols":[]},{"from":"@lssm-tech/integration.provider-meeting-recorder/impls/fireflies-meeting-recorder.queries","symbols":[]},{"from":"@lssm-tech/integration.provider-meeting-recorder/impls/fireflies-meeting-recorder.types","symbols":[]},{"from":"@lssm-tech/integration.provider-meeting-recorder/impls/fireflies-meeting-recorder.utils","symbols":[]},{"from":"@lssm-tech/integration.provider-meeting-recorder/impls/granola-meeting-recorder","symbols":[]}],"constraints":{"platforms":["server"],"runtimes":["node"],"avoidWhen":["The @lssm-tech/integration.provider-meeting-recorder package constraints do not match the target runtime or platform."],"requires":["TypeScript"]},"alternatives":[],"relationships":[],"resolutionPriority":50}]},"canonicalImports":[{"capabilityId":"package.lssm.tech.integration.provider.meeting.recorder","from":"@lssm-tech/integration.provider-meeting-recorder","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.meeting.recorder","from":"@lssm-tech/integration.provider-meeting-recorder/impls","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.meeting.recorder","from":"@lssm-tech/integration.provider-meeting-recorder/impls/fathom-meeting-recorder","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.meeting.recorder","from":"@lssm-tech/integration.provider-meeting-recorder/impls/fathom-meeting-recorder.mapper","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.meeting.recorder","from":"@lssm-tech/integration.provider-meeting-recorder/impls/fathom-meeting-recorder.types","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.meeting.recorder","from":"@lssm-tech/integration.provider-meeting-recorder/impls/fathom-meeting-recorder.utils","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.meeting.recorder","from":"@lssm-tech/integration.provider-meeting-recorder/impls/fathom-meeting-recorder.webhooks","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.meeting.recorder","from":"@lssm-tech/integration.provider-meeting-recorder/impls/fireflies-meeting-recorder","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.meeting.recorder","from":"@lssm-tech/integration.provider-meeting-recorder/impls/fireflies-meeting-recorder.queries","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.meeting.recorder","from":"@lssm-tech/integration.provider-meeting-recorder/impls/fireflies-meeting-recorder.types","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.meeting.recorder","from":"@lssm-tech/integration.provider-meeting-recorder/impls/fireflies-meeting-recorder.utils","symbols":[]},{"capabilityId":"package.lssm.tech.integration.provider.meeting.recorder","from":"@lssm-tech/integration.provider-meeting-recorder/impls/granola-meeting-recorder","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/integration.runtime":"workspace:^","@lssm-tech/lib.contracts-integrations":"workspace:^","fathom-typescript":"catalog:integrations","@lssm-tech/lib.crypto-utils":"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","./impls":"./src/impls/index.ts","./impls/attendee-canonical-json":"./src/impls/attendee-canonical-json.ts","./impls/attendee-capture-cancellation":"./src/impls/attendee-capture-cancellation.ts","./impls/attendee-capture-mappers":"./src/impls/attendee-capture-mappers.ts","./impls/attendee-capture-recording":"./src/impls/attendee-capture-recording.ts","./impls/attendee-capture-transport":"./src/impls/attendee-capture-transport.ts","./impls/attendee-capture-webhook":"./src/impls/attendee-capture-webhook.ts","./impls/attendee-meeting-capture":"./src/impls/attendee-meeting-capture.ts","./impls/attendee-recorded-fixtures":"./src/impls/attendee-recorded-fixtures.ts","./impls/fathom-meeting-recorder":"./src/impls/fathom-meeting-recorder.ts","./impls/fathom-meeting-recorder.mapper":"./src/impls/fathom-meeting-recorder.mapper.ts","./impls/fathom-meeting-recorder.types":"./src/impls/fathom-meeting-recorder.types.ts","./impls/fathom-meeting-recorder.utils":"./src/impls/fathom-meeting-recorder.utils.ts","./impls/fathom-meeting-recorder.webhook-verify":"./src/impls/fathom-meeting-recorder.webhook-verify.ts","./impls/fathom-meeting-recorder.webhooks":"./src/impls/fathom-meeting-recorder.webhooks.ts","./impls/fireflies-meeting-recorder":"./src/impls/fireflies-meeting-recorder.ts","./impls/fireflies-meeting-recorder.mapper":"./src/impls/fireflies-meeting-recorder.mapper.ts","./impls/fireflies-meeting-recorder.queries":"./src/impls/fireflies-meeting-recorder.queries.ts","./impls/fireflies-meeting-recorder.types":"./src/impls/fireflies-meeting-recorder.types.ts","./impls/fireflies-meeting-recorder.utils":"./src/impls/fireflies-meeting-recorder.utils.ts","./impls/fireflies-meeting-recorder.webhook-verify":"./src/impls/fireflies-meeting-recorder.webhook-verify.ts","./impls/granola-meeting-recorder":"./src/impls/granola-meeting-recorder.ts","./impls/granola-meeting-recorder.http":"./src/impls/granola-meeting-recorder.http.ts","./impls/granola-meeting-recorder.mapper":"./src/impls/granola-meeting-recorder.mapper.ts","./impls/granola-meeting-recorder.mcp":"./src/impls/granola-meeting-recorder.mcp.ts","./impls/granola-meeting-recorder.mcp-normalize":"./src/impls/granola-meeting-recorder.mcp-normalize.ts","./impls/granola-meeting-recorder.mcp-reads":"./src/impls/granola-meeting-recorder.mcp-reads.ts","./impls/granola-meeting-recorder.transcript":"./src/impls/granola-meeting-recorder.transcript.ts","./impls/granola-meeting-recorder.types":"./src/impls/granola-meeting-recorder.types.ts","./impls/granola-meeting-recorder.validate":"./src/impls/granola-meeting-recorder.validate.ts","./impls/tldv-meeting-recorder":"./src/impls/tldv-meeting-recorder.ts","./impls/tldv-meeting-recorder.types":"./src/impls/tldv-meeting-recorder.types.ts","./meeting-evidence":"./src/meeting-evidence.ts","./meeting-evidence-errors":"./src/meeting-evidence-errors.ts","./meeting-evidence-freshness":"./src/meeting-evidence-freshness.ts","./meeting-evidence-ingestion":"./src/meeting-evidence-ingestion.ts","./meeting-evidence-memory-store":"./src/meeting-evidence-memory-store.ts","./meeting-evidence-records":"./src/meeting-evidence-records.ts","./meeting-evidence-webhook":"./src/meeting-evidence-webhook.ts","./meeting-evidence-window":"./src/meeting-evidence-window.ts","./meeting-intake-binding":"./src/meeting-intake-binding.ts","./meeting-intake-pagination":"./src/meeting-intake-pagination.ts","./meeting-recorder":"./src/meeting-recorder.ts","./meeting-recorder-binding":"./src/meeting-recorder-binding.ts","./meeting-recorder-capabilities":"./src/meeting-recorder-capabilities.ts","./meeting-recorder-retry":"./src/meeting-recorder-retry.ts","./meeting-recorder-transcript":"./src/meeting-recorder-transcript.ts","./meeting-recorder-transcript-time":"./src/meeting-recorder-transcript-time.ts","./meeting-recorder-webhook-verification":"./src/meeting-recorder-webhook-verification.ts"},"publishExports":{".":{"types":"./dist/index.d.ts","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.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/attendee-canonical-json":{"types":"./dist/impls/attendee-canonical-json.d.ts","bun":"./dist/impls/attendee-canonical-json.js","node":"./dist/node/impls/attendee-canonical-json.js","default":"./dist/impls/attendee-canonical-json.js"},"./impls/attendee-capture-cancellation":{"types":"./dist/impls/attendee-capture-cancellation.d.ts","bun":"./dist/impls/attendee-capture-cancellation.js","node":"./dist/node/impls/attendee-capture-cancellation.js","default":"./dist/impls/attendee-capture-cancellation.js"},"./impls/attendee-capture-mappers":{"types":"./dist/impls/attendee-capture-mappers.d.ts","bun":"./dist/impls/attendee-capture-mappers.js","node":"./dist/node/impls/attendee-capture-mappers.js","default":"./dist/impls/attendee-capture-mappers.js"},"./impls/attendee-capture-recording":{"types":"./dist/impls/attendee-capture-recording.d.ts","bun":"./dist/impls/attendee-capture-recording.js","node":"./dist/node/impls/attendee-capture-recording.js","default":"./dist/impls/attendee-capture-recording.js"},"./impls/attendee-capture-transport":{"types":"./dist/impls/attendee-capture-transport.d.ts","bun":"./dist/impls/attendee-capture-transport.js","node":"./dist/node/impls/attendee-capture-transport.js","default":"./dist/impls/attendee-capture-transport.js"},"./impls/attendee-capture-webhook":{"types":"./dist/impls/attendee-capture-webhook.d.ts","bun":"./dist/impls/attendee-capture-webhook.js","node":"./dist/node/impls/attendee-capture-webhook.js","default":"./dist/impls/attendee-capture-webhook.js"},"./impls/attendee-meeting-capture":{"types":"./dist/impls/attendee-meeting-capture.d.ts","bun":"./dist/impls/attendee-meeting-capture.js","node":"./dist/node/impls/attendee-meeting-capture.js","default":"./dist/impls/attendee-meeting-capture.js"},"./impls/attendee-recorded-fixtures":{"types":"./dist/impls/attendee-recorded-fixtures.d.ts","bun":"./dist/impls/attendee-recorded-fixtures.js","node":"./dist/node/impls/attendee-recorded-fixtures.js","default":"./dist/impls/attendee-recorded-fixtures.js"},"./impls/fathom-meeting-recorder":{"types":"./dist/impls/fathom-meeting-recorder.d.ts","bun":"./dist/impls/fathom-meeting-recorder.js","node":"./dist/node/impls/fathom-meeting-recorder.js","default":"./dist/impls/fathom-meeting-recorder.js"},"./impls/fathom-meeting-recorder.mapper":{"types":"./dist/impls/fathom-meeting-recorder.mapper.d.ts","bun":"./dist/impls/fathom-meeting-recorder.mapper.js","node":"./dist/node/impls/fathom-meeting-recorder.mapper.js","default":"./dist/impls/fathom-meeting-recorder.mapper.js"},"./impls/fathom-meeting-recorder.types":{"types":"./dist/impls/fathom-meeting-recorder.types.d.ts","bun":"./dist/impls/fathom-meeting-recorder.types.js","node":"./dist/node/impls/fathom-meeting-recorder.types.js","default":"./dist/impls/fathom-meeting-recorder.types.js"},"./impls/fathom-meeting-recorder.utils":{"types":"./dist/impls/fathom-meeting-recorder.utils.d.ts","bun":"./dist/impls/fathom-meeting-recorder.utils.js","node":"./dist/node/impls/fathom-meeting-recorder.utils.js","default":"./dist/impls/fathom-meeting-recorder.utils.js"},"./impls/fathom-meeting-recorder.webhook-verify":{"types":"./dist/impls/fathom-meeting-recorder.webhook-verify.d.ts","bun":"./dist/impls/fathom-meeting-recorder.webhook-verify.js","node":"./dist/node/impls/fathom-meeting-recorder.webhook-verify.js","default":"./dist/impls/fathom-meeting-recorder.webhook-verify.js"},"./impls/fathom-meeting-recorder.webhooks":{"types":"./dist/impls/fathom-meeting-recorder.webhooks.d.ts","bun":"./dist/impls/fathom-meeting-recorder.webhooks.js","node":"./dist/node/impls/fathom-meeting-recorder.webhooks.js","default":"./dist/impls/fathom-meeting-recorder.webhooks.js"},"./impls/fireflies-meeting-recorder":{"types":"./dist/impls/fireflies-meeting-recorder.d.ts","bun":"./dist/impls/fireflies-meeting-recorder.js","node":"./dist/node/impls/fireflies-meeting-recorder.js","default":"./dist/impls/fireflies-meeting-recorder.js"},"./impls/fireflies-meeting-recorder.mapper":{"types":"./dist/impls/fireflies-meeting-recorder.mapper.d.ts","bun":"./dist/impls/fireflies-meeting-recorder.mapper.js","node":"./dist/node/impls/fireflies-meeting-recorder.mapper.js","default":"./dist/impls/fireflies-meeting-recorder.mapper.js"},"./impls/fireflies-meeting-recorder.queries":{"types":"./dist/impls/fireflies-meeting-recorder.queries.d.ts","bun":"./dist/impls/fireflies-meeting-recorder.queries.js","node":"./dist/node/impls/fireflies-meeting-recorder.queries.js","default":"./dist/impls/fireflies-meeting-recorder.queries.js"},"./impls/fireflies-meeting-recorder.types":{"types":"./dist/impls/fireflies-meeting-recorder.types.d.ts","bun":"./dist/impls/fireflies-meeting-recorder.types.js","node":"./dist/node/impls/fireflies-meeting-recorder.types.js","default":"./dist/impls/fireflies-meeting-recorder.types.js"},"./impls/fireflies-meeting-recorder.utils":{"types":"./dist/impls/fireflies-meeting-recorder.utils.d.ts","bun":"./dist/impls/fireflies-meeting-recorder.utils.js","node":"./dist/node/impls/fireflies-meeting-recorder.utils.js","default":"./dist/impls/fireflies-meeting-recorder.utils.js"},"./impls/fireflies-meeting-recorder.webhook-verify":{"types":"./dist/impls/fireflies-meeting-recorder.webhook-verify.d.ts","bun":"./dist/impls/fireflies-meeting-recorder.webhook-verify.js","node":"./dist/node/impls/fireflies-meeting-recorder.webhook-verify.js","default":"./dist/impls/fireflies-meeting-recorder.webhook-verify.js"},"./impls/granola-meeting-recorder":{"types":"./dist/impls/granola-meeting-recorder.d.ts","bun":"./dist/impls/granola-meeting-recorder.js","node":"./dist/node/impls/granola-meeting-recorder.js","default":"./dist/impls/granola-meeting-recorder.js"},"./impls/granola-meeting-recorder.http":{"types":"./dist/impls/granola-meeting-recorder.http.d.ts","bun":"./dist/impls/granola-meeting-recorder.http.js","node":"./dist/node/impls/granola-meeting-recorder.http.js","default":"./dist/impls/granola-meeting-recorder.http.js"},"./impls/granola-meeting-recorder.mapper":{"types":"./dist/impls/granola-meeting-recorder.mapper.d.ts","bun":"./dist/impls/granola-meeting-recorder.mapper.js","node":"./dist/node/impls/granola-meeting-recorder.mapper.js","default":"./dist/impls/granola-meeting-recorder.mapper.js"},"./impls/granola-meeting-recorder.mcp":{"types":"./dist/impls/granola-meeting-recorder.mcp.d.ts","bun":"./dist/impls/granola-meeting-recorder.mcp.js","node":"./dist/node/impls/granola-meeting-recorder.mcp.js","default":"./dist/impls/granola-meeting-recorder.mcp.js"},"./impls/granola-meeting-recorder.mcp-normalize":{"types":"./dist/impls/granola-meeting-recorder.mcp-normalize.d.ts","bun":"./dist/impls/granola-meeting-recorder.mcp-normalize.js","node":"./dist/node/impls/granola-meeting-recorder.mcp-normalize.js","default":"./dist/impls/granola-meeting-recorder.mcp-normalize.js"},"./impls/granola-meeting-recorder.mcp-reads":{"types":"./dist/impls/granola-meeting-recorder.mcp-reads.d.ts","bun":"./dist/impls/granola-meeting-recorder.mcp-reads.js","node":"./dist/node/impls/granola-meeting-recorder.mcp-reads.js","default":"./dist/impls/granola-meeting-recorder.mcp-reads.js"},"./impls/granola-meeting-recorder.transcript":{"types":"./dist/impls/granola-meeting-recorder.transcript.d.ts","bun":"./dist/impls/granola-meeting-recorder.transcript.js","node":"./dist/node/impls/granola-meeting-recorder.transcript.js","default":"./dist/impls/granola-meeting-recorder.transcript.js"},"./impls/granola-meeting-recorder.types":{"types":"./dist/impls/granola-meeting-recorder.types.d.ts","bun":"./dist/impls/granola-meeting-recorder.types.js","node":"./dist/node/impls/granola-meeting-recorder.types.js","default":"./dist/impls/granola-meeting-recorder.types.js"},"./impls/granola-meeting-recorder.validate":{"types":"./dist/impls/granola-meeting-recorder.validate.d.ts","bun":"./dist/impls/granola-meeting-recorder.validate.js","node":"./dist/node/impls/granola-meeting-recorder.validate.js","default":"./dist/impls/granola-meeting-recorder.validate.js"},"./impls/tldv-meeting-recorder":{"types":"./dist/impls/tldv-meeting-recorder.d.ts","bun":"./dist/impls/tldv-meeting-recorder.js","node":"./dist/node/impls/tldv-meeting-recorder.js","default":"./dist/impls/tldv-meeting-recorder.js"},"./impls/tldv-meeting-recorder.types":{"types":"./dist/impls/tldv-meeting-recorder.types.d.ts","bun":"./dist/impls/tldv-meeting-recorder.types.js","node":"./dist/node/impls/tldv-meeting-recorder.types.js","default":"./dist/impls/tldv-meeting-recorder.types.js"},"./meeting-evidence":{"types":"./dist/meeting-evidence.d.ts","bun":"./dist/meeting-evidence.js","node":"./dist/node/meeting-evidence.js","default":"./dist/meeting-evidence.js"},"./meeting-evidence-errors":{"types":"./dist/meeting-evidence-errors.d.ts","bun":"./dist/meeting-evidence-errors.js","node":"./dist/node/meeting-evidence-errors.js","default":"./dist/meeting-evidence-errors.js"},"./meeting-evidence-freshness":{"types":"./dist/meeting-evidence-freshness.d.ts","bun":"./dist/meeting-evidence-freshness.js","node":"./dist/node/meeting-evidence-freshness.js","default":"./dist/meeting-evidence-freshness.js"},"./meeting-evidence-ingestion":{"types":"./dist/meeting-evidence-ingestion.d.ts","bun":"./dist/meeting-evidence-ingestion.js","node":"./dist/node/meeting-evidence-ingestion.js","default":"./dist/meeting-evidence-ingestion.js"},"./meeting-evidence-memory-store":{"types":"./dist/meeting-evidence-memory-store.d.ts","bun":"./dist/meeting-evidence-memory-store.js","node":"./dist/node/meeting-evidence-memory-store.js","default":"./dist/meeting-evidence-memory-store.js"},"./meeting-evidence-records":{"types":"./dist/meeting-evidence-records.d.ts","bun":"./dist/meeting-evidence-records.js","node":"./dist/node/meeting-evidence-records.js","default":"./dist/meeting-evidence-records.js"},"./meeting-evidence-webhook":{"types":"./dist/meeting-evidence-webhook.d.ts","bun":"./dist/meeting-evidence-webhook.js","node":"./dist/node/meeting-evidence-webhook.js","default":"./dist/meeting-evidence-webhook.js"},"./meeting-evidence-window":{"types":"./dist/meeting-evidence-window.d.ts","bun":"./dist/meeting-evidence-window.js","node":"./dist/node/meeting-evidence-window.js","default":"./dist/meeting-evidence-window.js"},"./meeting-intake-binding":{"types":"./dist/meeting-intake-binding.d.ts","bun":"./dist/meeting-intake-binding.js","node":"./dist/node/meeting-intake-binding.js","default":"./dist/meeting-intake-binding.js"},"./meeting-intake-pagination":{"types":"./dist/meeting-intake-pagination.d.ts","bun":"./dist/meeting-intake-pagination.js","node":"./dist/node/meeting-intake-pagination.js","default":"./dist/meeting-intake-pagination.js"},"./meeting-recorder":{"types":"./dist/meeting-recorder.d.ts","bun":"./dist/meeting-recorder.js","node":"./dist/node/meeting-recorder.js","default":"./dist/meeting-recorder.js"},"./meeting-recorder-binding":{"types":"./dist/meeting-recorder-binding.d.ts","bun":"./dist/meeting-recorder-binding.js","node":"./dist/node/meeting-recorder-binding.js","default":"./dist/meeting-recorder-binding.js"},"./meeting-recorder-capabilities":{"types":"./dist/meeting-recorder-capabilities.d.ts","bun":"./dist/meeting-recorder-capabilities.js","node":"./dist/node/meeting-recorder-capabilities.js","default":"./dist/meeting-recorder-capabilities.js"},"./meeting-recorder-retry":{"types":"./dist/meeting-recorder-retry.d.ts","bun":"./dist/meeting-recorder-retry.js","node":"./dist/node/meeting-recorder-retry.js","default":"./dist/meeting-recorder-retry.js"},"./meeting-recorder-transcript":{"types":"./dist/meeting-recorder-transcript.d.ts","bun":"./dist/meeting-recorder-transcript.js","node":"./dist/node/meeting-recorder-transcript.js","default":"./dist/meeting-recorder-transcript.js"},"./meeting-recorder-transcript-time":{"types":"./dist/meeting-recorder-transcript-time.d.ts","bun":"./dist/meeting-recorder-transcript-time.js","node":"./dist/node/meeting-recorder-transcript-time.js","default":"./dist/meeting-recorder-transcript-time.js"},"./meeting-recorder-webhook-verification":{"types":"./dist/meeting-recorder-webhook-verification.d.ts","bun":"./dist/meeting-recorder-webhook-verification.js","node":"./dist/node/meeting-recorder-webhook-verification.js","default":"./dist/meeting-recorder-webhook-verification.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.provider-meeting-recorder","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls","target":"./src/impls/index.ts","targets":[{"conditions":[],"target":"./src/impls/index.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/attendee-canonical-json","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/attendee-canonical-json","target":"./src/impls/attendee-canonical-json.ts","targets":[{"conditions":[],"target":"./src/impls/attendee-canonical-json.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/attendee-canonical-json.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/attendee-canonical-json.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/attendee-capture-cancellation","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/attendee-capture-cancellation","target":"./src/impls/attendee-capture-cancellation.ts","targets":[{"conditions":[],"target":"./src/impls/attendee-capture-cancellation.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/attendee-capture-cancellation.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/attendee-capture-cancellation.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/attendee-capture-mappers","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/attendee-capture-mappers","target":"./src/impls/attendee-capture-mappers.ts","targets":[{"conditions":[],"target":"./src/impls/attendee-capture-mappers.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/attendee-capture-mappers.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/attendee-capture-mappers.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/attendee-capture-recording","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/attendee-capture-recording","target":"./src/impls/attendee-capture-recording.ts","targets":[{"conditions":[],"target":"./src/impls/attendee-capture-recording.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/attendee-capture-recording.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/attendee-capture-recording.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/attendee-capture-transport","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/attendee-capture-transport","target":"./src/impls/attendee-capture-transport.ts","targets":[{"conditions":[],"target":"./src/impls/attendee-capture-transport.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/attendee-capture-transport.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/attendee-capture-transport.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/attendee-capture-webhook","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/attendee-capture-webhook","target":"./src/impls/attendee-capture-webhook.ts","targets":[{"conditions":[],"target":"./src/impls/attendee-capture-webhook.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/attendee-capture-webhook.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/attendee-capture-webhook.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/attendee-meeting-capture","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/attendee-meeting-capture","target":"./src/impls/attendee-meeting-capture.ts","targets":[{"conditions":[],"target":"./src/impls/attendee-meeting-capture.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/attendee-meeting-capture.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/attendee-meeting-capture.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/attendee-recorded-fixtures","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/attendee-recorded-fixtures","target":"./src/impls/attendee-recorded-fixtures.ts","targets":[{"conditions":[],"target":"./src/impls/attendee-recorded-fixtures.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/attendee-recorded-fixtures.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/attendee-recorded-fixtures.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/fathom-meeting-recorder","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/fathom-meeting-recorder","target":"./src/impls/fathom-meeting-recorder.ts","targets":[{"conditions":[],"target":"./src/impls/fathom-meeting-recorder.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/fathom-meeting-recorder.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/fathom-meeting-recorder.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/fathom-meeting-recorder.mapper","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/fathom-meeting-recorder.mapper","target":"./src/impls/fathom-meeting-recorder.mapper.ts","targets":[{"conditions":[],"target":"./src/impls/fathom-meeting-recorder.mapper.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/fathom-meeting-recorder.mapper.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/fathom-meeting-recorder.mapper.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/fathom-meeting-recorder.types","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/fathom-meeting-recorder.types","target":"./src/impls/fathom-meeting-recorder.types.ts","targets":[{"conditions":[],"target":"./src/impls/fathom-meeting-recorder.types.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/fathom-meeting-recorder.types.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/fathom-meeting-recorder.types.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/fathom-meeting-recorder.utils","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/fathom-meeting-recorder.utils","target":"./src/impls/fathom-meeting-recorder.utils.ts","targets":[{"conditions":[],"target":"./src/impls/fathom-meeting-recorder.utils.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/fathom-meeting-recorder.utils.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/fathom-meeting-recorder.utils.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/fathom-meeting-recorder.webhook-verify","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/fathom-meeting-recorder.webhook-verify","target":"./src/impls/fathom-meeting-recorder.webhook-verify.ts","targets":[{"conditions":[],"target":"./src/impls/fathom-meeting-recorder.webhook-verify.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/fathom-meeting-recorder.webhook-verify.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/fathom-meeting-recorder.webhook-verify.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/fathom-meeting-recorder.webhooks","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/fathom-meeting-recorder.webhooks","target":"./src/impls/fathom-meeting-recorder.webhooks.ts","targets":[{"conditions":[],"target":"./src/impls/fathom-meeting-recorder.webhooks.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/fathom-meeting-recorder.webhooks.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/fathom-meeting-recorder.webhooks.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/fireflies-meeting-recorder","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/fireflies-meeting-recorder","target":"./src/impls/fireflies-meeting-recorder.ts","targets":[{"conditions":[],"target":"./src/impls/fireflies-meeting-recorder.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/fireflies-meeting-recorder.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/fireflies-meeting-recorder.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/fireflies-meeting-recorder.mapper","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/fireflies-meeting-recorder.mapper","target":"./src/impls/fireflies-meeting-recorder.mapper.ts","targets":[{"conditions":[],"target":"./src/impls/fireflies-meeting-recorder.mapper.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/fireflies-meeting-recorder.mapper.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/fireflies-meeting-recorder.mapper.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/fireflies-meeting-recorder.queries","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/fireflies-meeting-recorder.queries","target":"./src/impls/fireflies-meeting-recorder.queries.ts","targets":[{"conditions":[],"target":"./src/impls/fireflies-meeting-recorder.queries.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/fireflies-meeting-recorder.queries.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/fireflies-meeting-recorder.queries.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/fireflies-meeting-recorder.types","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/fireflies-meeting-recorder.types","target":"./src/impls/fireflies-meeting-recorder.types.ts","targets":[{"conditions":[],"target":"./src/impls/fireflies-meeting-recorder.types.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/fireflies-meeting-recorder.types.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/fireflies-meeting-recorder.types.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/fireflies-meeting-recorder.utils","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/fireflies-meeting-recorder.utils","target":"./src/impls/fireflies-meeting-recorder.utils.ts","targets":[{"conditions":[],"target":"./src/impls/fireflies-meeting-recorder.utils.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/fireflies-meeting-recorder.utils.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/fireflies-meeting-recorder.utils.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/fireflies-meeting-recorder.webhook-verify","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/fireflies-meeting-recorder.webhook-verify","target":"./src/impls/fireflies-meeting-recorder.webhook-verify.ts","targets":[{"conditions":[],"target":"./src/impls/fireflies-meeting-recorder.webhook-verify.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/fireflies-meeting-recorder.webhook-verify.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/fireflies-meeting-recorder.webhook-verify.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/granola-meeting-recorder","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/granola-meeting-recorder","target":"./src/impls/granola-meeting-recorder.ts","targets":[{"conditions":[],"target":"./src/impls/granola-meeting-recorder.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/granola-meeting-recorder.http","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/granola-meeting-recorder.http","target":"./src/impls/granola-meeting-recorder.http.ts","targets":[{"conditions":[],"target":"./src/impls/granola-meeting-recorder.http.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.http.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.http.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/granola-meeting-recorder.mapper","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/granola-meeting-recorder.mapper","target":"./src/impls/granola-meeting-recorder.mapper.ts","targets":[{"conditions":[],"target":"./src/impls/granola-meeting-recorder.mapper.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.mapper.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.mapper.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/granola-meeting-recorder.mcp","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/granola-meeting-recorder.mcp","target":"./src/impls/granola-meeting-recorder.mcp.ts","targets":[{"conditions":[],"target":"./src/impls/granola-meeting-recorder.mcp.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.mcp.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.mcp.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/granola-meeting-recorder.mcp-normalize","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/granola-meeting-recorder.mcp-normalize","target":"./src/impls/granola-meeting-recorder.mcp-normalize.ts","targets":[{"conditions":[],"target":"./src/impls/granola-meeting-recorder.mcp-normalize.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.mcp-normalize.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.mcp-normalize.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/granola-meeting-recorder.mcp-reads","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/granola-meeting-recorder.mcp-reads","target":"./src/impls/granola-meeting-recorder.mcp-reads.ts","targets":[{"conditions":[],"target":"./src/impls/granola-meeting-recorder.mcp-reads.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.mcp-reads.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.mcp-reads.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/granola-meeting-recorder.transcript","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/granola-meeting-recorder.transcript","target":"./src/impls/granola-meeting-recorder.transcript.ts","targets":[{"conditions":[],"target":"./src/impls/granola-meeting-recorder.transcript.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.transcript.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.transcript.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/granola-meeting-recorder.types","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/granola-meeting-recorder.types","target":"./src/impls/granola-meeting-recorder.types.ts","targets":[{"conditions":[],"target":"./src/impls/granola-meeting-recorder.types.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.types.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.types.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/granola-meeting-recorder.validate","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/granola-meeting-recorder.validate","target":"./src/impls/granola-meeting-recorder.validate.ts","targets":[{"conditions":[],"target":"./src/impls/granola-meeting-recorder.validate.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.validate.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/granola-meeting-recorder.validate.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/tldv-meeting-recorder","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/tldv-meeting-recorder","target":"./src/impls/tldv-meeting-recorder.ts","targets":[{"conditions":[],"target":"./src/impls/tldv-meeting-recorder.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/tldv-meeting-recorder.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/tldv-meeting-recorder.ts","sourceStatus":"verified source file"}]},{"subpath":"./impls/tldv-meeting-recorder.types","importPath":"@lssm-tech/integration.provider-meeting-recorder/impls/tldv-meeting-recorder.types","target":"./src/impls/tldv-meeting-recorder.types.ts","targets":[{"conditions":[],"target":"./src/impls/tldv-meeting-recorder.types.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/impls/tldv-meeting-recorder.types.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/impls/tldv-meeting-recorder.types.ts","sourceStatus":"verified source file"}]},{"subpath":"./meeting-evidence","importPath":"@lssm-tech/integration.provider-meeting-recorder/meeting-evidence","target":"./src/meeting-evidence.ts","targets":[{"conditions":[],"target":"./src/meeting-evidence.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/meeting-evidence.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/meeting-evidence.ts","sourceStatus":"verified source file"}]},{"subpath":"./meeting-evidence-errors","importPath":"@lssm-tech/integration.provider-meeting-recorder/meeting-evidence-errors","target":"./src/meeting-evidence-errors.ts","targets":[{"conditions":[],"target":"./src/meeting-evidence-errors.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/meeting-evidence-errors.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/meeting-evidence-errors.ts","sourceStatus":"verified source file"}]},{"subpath":"./meeting-evidence-freshness","importPath":"@lssm-tech/integration.provider-meeting-recorder/meeting-evidence-freshness","target":"./src/meeting-evidence-freshness.ts","targets":[{"conditions":[],"target":"./src/meeting-evidence-freshness.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/meeting-evidence-freshness.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/meeting-evidence-freshness.ts","sourceStatus":"verified source file"}]},{"subpath":"./meeting-evidence-ingestion","importPath":"@lssm-tech/integration.provider-meeting-recorder/meeting-evidence-ingestion","target":"./src/meeting-evidence-ingestion.ts","targets":[{"conditions":[],"target":"./src/meeting-evidence-ingestion.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/meeting-evidence-ingestion.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/meeting-evidence-ingestion.ts","sourceStatus":"verified source file"}]},{"subpath":"./meeting-evidence-memory-store","importPath":"@lssm-tech/integration.provider-meeting-recorder/meeting-evidence-memory-store","target":"./src/meeting-evidence-memory-store.ts","targets":[{"conditions":[],"target":"./src/meeting-evidence-memory-store.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/meeting-evidence-memory-store.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/meeting-evidence-memory-store.ts","sourceStatus":"verified source file"}]},{"subpath":"./meeting-evidence-records","importPath":"@lssm-tech/integration.provider-meeting-recorder/meeting-evidence-records","target":"./src/meeting-evidence-records.ts","targets":[{"conditions":[],"target":"./src/meeting-evidence-records.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/meeting-evidence-records.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/meeting-evidence-records.ts","sourceStatus":"verified source file"}]},{"subpath":"./meeting-evidence-webhook","importPath":"@lssm-tech/integration.provider-meeting-recorder/meeting-evidence-webhook","target":"./src/meeting-evidence-webhook.ts","targets":[{"conditions":[],"target":"./src/meeting-evidence-webhook.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/meeting-evidence-webhook.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/meeting-evidence-webhook.ts","sourceStatus":"verified source file"}]},{"subpath":"./meeting-evidence-window","importPath":"@lssm-tech/integration.provider-meeting-recorder/meeting-evidence-window","target":"./src/meeting-evidence-window.ts","targets":[{"conditions":[],"target":"./src/meeting-evidence-window.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/meeting-evidence-window.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/meeting-evidence-window.ts","sourceStatus":"verified source file"}]},{"subpath":"./meeting-intake-binding","importPath":"@lssm-tech/integration.provider-meeting-recorder/meeting-intake-binding","target":"./src/meeting-intake-binding.ts","targets":[{"conditions":[],"target":"./src/meeting-intake-binding.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/meeting-intake-binding.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/meeting-intake-binding.ts","sourceStatus":"verified source file"}]},{"subpath":"./meeting-intake-pagination","importPath":"@lssm-tech/integration.provider-meeting-recorder/meeting-intake-pagination","target":"./src/meeting-intake-pagination.ts","targets":[{"conditions":[],"target":"./src/meeting-intake-pagination.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/meeting-intake-pagination.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/meeting-intake-pagination.ts","sourceStatus":"verified source file"}]},{"subpath":"./meeting-recorder","importPath":"@lssm-tech/integration.provider-meeting-recorder/meeting-recorder","target":"./src/meeting-recorder.ts","targets":[{"conditions":[],"target":"./src/meeting-recorder.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/meeting-recorder.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/meeting-recorder.ts","sourceStatus":"verified source file"}]},{"subpath":"./meeting-recorder-binding","importPath":"@lssm-tech/integration.provider-meeting-recorder/meeting-recorder-binding","target":"./src/meeting-recorder-binding.ts","targets":[{"conditions":[],"target":"./src/meeting-recorder-binding.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/meeting-recorder-binding.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/meeting-recorder-binding.ts","sourceStatus":"verified source file"}]},{"subpath":"./meeting-recorder-capabilities","importPath":"@lssm-tech/integration.provider-meeting-recorder/meeting-recorder-capabilities","target":"./src/meeting-recorder-capabilities.ts","targets":[{"conditions":[],"target":"./src/meeting-recorder-capabilities.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/meeting-recorder-capabilities.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/meeting-recorder-capabilities.ts","sourceStatus":"verified source file"}]},{"subpath":"./meeting-recorder-retry","importPath":"@lssm-tech/integration.provider-meeting-recorder/meeting-recorder-retry","target":"./src/meeting-recorder-retry.ts","targets":[{"conditions":[],"target":"./src/meeting-recorder-retry.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/meeting-recorder-retry.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/meeting-recorder-retry.ts","sourceStatus":"verified source file"}]},{"subpath":"./meeting-recorder-transcript","importPath":"@lssm-tech/integration.provider-meeting-recorder/meeting-recorder-transcript","target":"./src/meeting-recorder-transcript.ts","targets":[{"conditions":[],"target":"./src/meeting-recorder-transcript.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/meeting-recorder-transcript.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/meeting-recorder-transcript.ts","sourceStatus":"verified source file"}]},{"subpath":"./meeting-recorder-transcript-time","importPath":"@lssm-tech/integration.provider-meeting-recorder/meeting-recorder-transcript-time","target":"./src/meeting-recorder-transcript-time.ts","targets":[{"conditions":[],"target":"./src/meeting-recorder-transcript-time.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/meeting-recorder-transcript-time.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/meeting-recorder-transcript-time.ts","sourceStatus":"verified source file"}]},{"subpath":"./meeting-recorder-webhook-verification","importPath":"@lssm-tech/integration.provider-meeting-recorder/meeting-recorder-webhook-verification","target":"./src/meeting-recorder-webhook-verification.ts","targets":[{"conditions":[],"target":"./src/meeting-recorder-webhook-verification.ts","sourcePath":"packages/integrations/provider-meeting-recorder/src/meeting-recorder-webhook-verification.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/src/meeting-recorder-webhook-verification.ts","sourceStatus":"verified source file"}]}],"entryCount":50,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Integration Provider Meeting Recorder documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fintegration.provider-meeting-recorder","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/integration.provider-meeting-recorder.txt"},"readme":{"status":"available","body":"# @lssm-tech/integration.provider-meeting-recorder\n\nWebsite: https://contractspec.io\n\nMeeting recorder provider implementations for ContractSpec.\n\n## Authorized bot capture\n\n`AttendeeMeetingCaptureProvider` supports Google Meet and Microsoft Teams through\neither a managed or customer-operated Attendee origin. Configure `baseUrl` before\nthe `/api/v1` suffix, a server-only secret callback, the webhook URL, licensing\nand EU-processing references, and a mandatory current-authority callback. These\nreferences are configuration, not proof of commercial or residency approval.\n\nThe adapter supports start/read/pause/resume/stop, transcript retrieval, media\ndeletion and deduplication-key reconciliation. It never retries a POST. An\nambiguous create requires reconciliation; a null lookup is not proof of absence.\nCallbacks use `verifyAttendeeCaptureWebhook`; hosts must persist event IDs and\ndigests and verify the provider/capture mapping before changing domain state.\n\nNo native client, provider account or production capture host is enabled by\nimporting this adapter. Keep returned provider identifiers and transcript text\nout of public logs and analytics.\n\n## Usage\n\nImport the root entrypoint for the domain surface, or import a concrete implementation from the `./impls/*` subpaths.\n\n## Governed meeting intake\n\nGranola and Fireflies are concrete reviewed sources. Fireflies requires a\nnon-empty server credential, HTTPS GraphQL endpoint, bounded page size, and an\noptional signed webhook secret. Its fetch injection exists for server adapters\nand deterministic tests; browser code must never construct provider clients.\n\n`./meeting-intake-binding` composes any `CalendarProvider` with any\n`MeetingRecorderProvider`. It reads a bounded time window, hydrates recorder\nsummaries, matches only digested calendar/participant evidence, and invokes a\nhost-owned governed recorder-binding operation only for one unambiguous match\nat or above the automatic confidence threshold. Weak, tied, and missing matches\nmust be durably routed through the required review port; they never bind by\ndefault.\n\nThe binding caps windows, pages, and candidates, rejects repeated provider\ncursors, prevents one recorder meeting from binding twice in a cycle, and emits\ncontent-free counters. Hosts still own selected-calendar authority, consent,\ncredential resolution, durable occurrence lookup, review persistence, and the\n`opa.recording.source_bind` authority/transaction boundary.\n\n## Granola notes and transcripts\n\n`GranolaMeetingRecorderProvider` reads the public API or MCP with exact note\nidentity: `get_meetings` is called with `meeting_ids`, and a payload that does\nnot contain the requested ID yields `granola_not_found` (no substring or\nfirst-result fallback). Requests have a deadline (`timeoutMs`, default 20s) and\nresponse bodies are validated. Failures are `GranolaProviderError` codes\nwithout provider bodies (`granola_entitlement_denied`,\n`granola_transcript_unavailable`, `granola_rate_limited`, ...).\n\nSet `transcriptRoute: 'paged'` for durable ingestion: the adapter traverses the\nnote's transcript pages and holds a repeated cursor, missing page, foreign note\nor oversized transcript as an explicit error instead of returning a partial\ntranscript. `speaker.source` is the audio channel (`metadata.audioChannel`),\nnever a person; invitees come only from the calendar event; Granola attendee\nmetadata is `metadata.knownParticipants` (attendance unverified); absent times\nstay absent. The paged route shape and webhook signing scheme are fixture\ncontracts until live Granola qualification passes.\n\n## Shared recorder behavior\n\nAll four recorder providers (Fathom, Fireflies, Granola, tl;dv) work the same way in three areas:\n\n- **Transcripts.** `getTranscript()` returns normalized segments: `startMs`/`endMs` in milliseconds from the start of the transcript, or `null` when unknown, plus `speaker { providerSpeakerId, displayName, email, channel }`. The legacy `speaker*` and `start/endTimeMs` fields hold the same values.\n- **Webhooks.** `verifyMeetingRecorderWebhook(provider, { request, secret })` returns `{ ok: true, event } | { ok: false, reason }`. Fathom uses Standard Webhooks and Fireflies uses a hex HMAC. Granola and tl;dv are polling-only (`webhook_unsupported`; see `meetingRecorderCapabilities`). A verified event only names a record to re-fetch.\n- **Retries.** `withRecorderRetry` retries idempotent reads on 429/503, with at most 3 attempts and Retry-After or jittered backoff. A final 429 becomes `MeetingRecorderRateLimitedError` (`recorder_rate_limited`).\n\n## Meeting evidence ingestion\n\n`./meeting-evidence-ingestion` stores calendar events, provider notes, provider\nsummaries and transcripts as separate account-scoped evidence records\n(`authority: 'evidence_only'`) through `MeetingEvidenceStorePort`. Each record\ncarries tenant, connector account, context, workspace, entitlement and exact\nexternal ID. Runs are incremental (cursor plus 24h overlap, 31-day window cap),\nidempotent (content-digest revisions) and record explicit freshness; use\n`evaluateMeetingSourceFreshness` to report `fresh`, `stale`, `failing`,\n`disconnected` or `never_synced`. A transcript-disabled plan is recorded as an\n`unavailable` transcript; an earlier complete transcript is held, not replaced.\n\n`./meeting-evidence-webhook` verifies signed recorder hooks and accepts them\nthrough a durable receipt port before reconciling the one exact note. Hooks are\nhints, never evidence; periodic ingestion covers missed deliveries.\n\n## Compatibility\n\nThis package owns the meeting-recorder implementation slice split out of `@lssm-tech/integration.providers-impls`. The legacy package continues to re-export these subpaths for existing consumers.\n\n\nBot capture authority receives the exact attempted request: start includes its immutable meeting URL/media/schedule intent; existing-bot actions include providerCaptureId; reconciliation includes the durable idempotencyKey. The host must compare these supplied values with its owner-scoped persisted capture ledger before invoking the effect. Supplied values are evidence to verify, never authority. Attendee snapshots start/reconcile inputs before asynchronous authorization. This contract does not install a permissive default or constitute deployment qualification.\n\n\nAttendee transcript normalization accepts both the upstream README's plain-string transcription field and structured transcript envelopes, retaining validated timing/speaker fields and rejecting malformed non-text values. Ended calls remain processing until recording and transcription are complete; deleted calls never advertise either readiness flag. These are adapter semantics, not proof of deployed processing completion.\n\n\nAttendee webhook canonicalization serializes sorted keys directly using Unicode code-point order. It does not rebuild a JavaScript object, which would reorder integer-like keys before signing. A Python-generated fixture covers accented text, numeric keys and supplementary Unicode ordering. Numeric lexemes are preserved from the raw delivered JSON, including Python float/exponent/negative-zero forms; duplicate keys and unsafe decoded integers are rejected. Deployed-version callback compatibility still requires qualification; hosts must persist replay IDs and validate capture mappings.\n\nAttendee HTTP failures map to closed codes: `401` is `meeting_capture_unauthorized` (revoked or wrong API key; hosts must alert and retry, never treat it as \"already gone\"), other `4xx` are `meeting_capture_rejected`, `429`/`5xx` are `meeting_capture_unavailable`, and a failed `POST` is `meeting_capture_ambiguous`.\n\n\nBot reconciliation provider reads default to a 30-second deadline (maximum 60 seconds), shorter than the job lease. The worker passes an AbortSignal and rejects late results even if a provider ignores it. Shutdown before claim consumes no attempt; cancellation during finalization prevents apply. Attendee get accepts the optional signal, combines it with its transport timeout, and checks cancellation before and after secret resolution. Host read adapters must forward the worker signal.\n\n\nAttendee transport deadlines now bound secret lookup, network response and body consumption even when injected operations ignore cancellation. Body cancellation is best-effort and never awaited. Late responses are discarded; successful POSTs with unusable bodies remain ambiguous and must be reconciled rather than blindly repeated. The transport cannot guarantee an ignored network abort prevented a bot from starting.\n","sourcePath":"packages/integrations/provider-meeting-recorder/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/provider-meeting-recorder/README.md","blobSha":"c1913d20c7e3ca14ea73afbb813056af3a643d30","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-meeting-recorder","runtimes":["node"],"platforms":["server"],"kind":"integration","scope":"Package manifest","canonicalRoute":"/docs/packages/integration.provider-meeting-recorder/","contextUrl":"/docs/packages/integration.provider-meeting-recorder.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}