@lssm/lib.contracts-integrations 9.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +536 -0
- package/dist/contracts-integrations.feature.d.ts +1 -0
- package/dist/contracts-integrations.feature.js +2 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.js +22 -0
- package/dist/integrations/advertising/index.d.ts +4 -0
- package/dist/integrations/advertising/index.js +2 -0
- package/dist/integrations/advertising/recipe-schema.d.ts +114 -0
- package/dist/integrations/advertising/recipe-schema.js +2 -0
- package/dist/integrations/advertising/recipe.d.ts +53 -0
- package/dist/integrations/advertising/recipe.js +1 -0
- package/dist/integrations/advertising/specs.d.ts +5 -0
- package/dist/integrations/advertising/specs.js +2 -0
- package/dist/integrations/advertising/types.d.ts +97 -0
- package/dist/integrations/advertising/types.js +2 -0
- package/dist/integrations/attio/events.d.ts +4 -0
- package/dist/integrations/attio/events.js +2 -0
- package/dist/integrations/attio/events.test.d.ts +1 -0
- package/dist/integrations/attio/index.d.ts +2 -0
- package/dist/integrations/attio/index.js +2 -0
- package/dist/integrations/attio/operations.d.ts +4 -0
- package/dist/integrations/attio/operations.js +2 -0
- package/dist/integrations/attio/operations.test.d.ts +1 -0
- package/dist/integrations/auth-helpers.d.ts +58 -0
- package/dist/integrations/auth-helpers.js +2 -0
- package/dist/integrations/auth-helpers.test.d.ts +1 -0
- package/dist/integrations/auth.d.ts +96 -0
- package/dist/integrations/auth.js +2 -0
- package/dist/integrations/auth.test.d.ts +1 -0
- package/dist/integrations/binding.d.ts +1 -0
- package/dist/integrations/binding.js +1 -0
- package/dist/integrations/byok.d.ts +75 -0
- package/dist/integrations/byok.js +2 -0
- package/dist/integrations/byok.test.d.ts +1 -0
- package/dist/integrations/catalog.d.ts +84 -0
- package/dist/integrations/catalog.js +2 -0
- package/dist/integrations/catalog.test.d.ts +1 -0
- package/dist/integrations/clay/events.d.ts +93 -0
- package/dist/integrations/clay/events.js +2 -0
- package/dist/integrations/clay/events.test.d.ts +1 -0
- package/dist/integrations/clay/index.d.ts +2 -0
- package/dist/integrations/clay/index.js +2 -0
- package/dist/integrations/clay/operations.d.ts +4 -0
- package/dist/integrations/clay/operations.js +2 -0
- package/dist/integrations/clay/operations.test.d.ts +1 -0
- package/dist/integrations/connection.d.ts +68 -0
- package/dist/integrations/connection.js +1 -0
- package/dist/integrations/credentials.d.ts +56 -0
- package/dist/integrations/credentials.js +2 -0
- package/dist/integrations/credentials.test.d.ts +1 -0
- package/dist/integrations/deployment-topology-model.d.ts +75 -0
- package/dist/integrations/deployment-topology-model.js +2 -0
- package/dist/integrations/deployment-topology-receipt.d.ts +8 -0
- package/dist/integrations/deployment-topology-receipt.js +2 -0
- package/dist/integrations/deployment-topology-validation.d.ts +5 -0
- package/dist/integrations/deployment-topology-validation.js +2 -0
- package/dist/integrations/deployment-topology.d.ts +3 -0
- package/dist/integrations/deployment-topology.js +2 -0
- package/dist/integrations/deployment-topology.test.d.ts +1 -0
- package/dist/integrations/docs/integrations.docblock.d.ts +2 -0
- package/dist/integrations/docs/integrations.docblock.js +101 -0
- package/dist/integrations/email-operations.d.ts +152 -0
- package/dist/integrations/email-operations.js +2 -0
- package/dist/integrations/gtm/capability-ledger.d.ts +48 -0
- package/dist/integrations/gtm/capability-ledger.fixture-helpers.d.ts +9 -0
- package/dist/integrations/gtm/capability-ledger.fixture-helpers.js +2 -0
- package/dist/integrations/gtm/capability-ledger.fixtures.d.ts +5 -0
- package/dist/integrations/gtm/capability-ledger.fixtures.js +2 -0
- package/dist/integrations/gtm/capability-ledger.js +2 -0
- package/dist/integrations/gtm/capability-ledger.test.d.ts +1 -0
- package/dist/integrations/gtm/hosted-mcp.d.ts +12 -0
- package/dist/integrations/gtm/hosted-mcp.js +2 -0
- package/dist/integrations/gtm/index.d.ts +5 -0
- package/dist/integrations/gtm/index.js +2 -0
- package/dist/integrations/gtm/inventory/attio.d.ts +2 -0
- package/dist/integrations/gtm/inventory/attio.js +2 -0
- package/dist/integrations/gtm/inventory/clay.d.ts +2 -0
- package/dist/integrations/gtm/inventory/clay.js +2 -0
- package/dist/integrations/gtm/inventory/fullenrich.d.ts +2 -0
- package/dist/integrations/gtm/inventory/fullenrich.js +2 -0
- package/dist/integrations/gtm/inventory/index.d.ts +4 -0
- package/dist/integrations/gtm/inventory/index.js +2 -0
- package/dist/integrations/gtm/inventory/inventory.test.d.ts +1 -0
- package/dist/integrations/gtm/inventory/types.d.ts +26 -0
- package/dist/integrations/gtm/inventory/types.js +1 -0
- package/dist/integrations/gtm/preflight.d.ts +20 -0
- package/dist/integrations/gtm/preflight.js +2 -0
- package/dist/integrations/gtm/preflight.test.d.ts +1 -0
- package/dist/integrations/gtm/schemas.d.ts +291 -0
- package/dist/integrations/gtm/schemas.js +2 -0
- package/dist/integrations/gtm/webhook-ingress.d.ts +37 -0
- package/dist/integrations/gtm/webhook-ingress.js +2 -0
- package/dist/integrations/gtm/webhook-ingress.test.d.ts +1 -0
- package/dist/integrations/health/contracts/activities.d.ts +162 -0
- package/dist/integrations/health/contracts/activities.js +2 -0
- package/dist/integrations/health/contracts/biometrics.d.ts +156 -0
- package/dist/integrations/health/contracts/biometrics.js +2 -0
- package/dist/integrations/health/contracts/contracts.test.d.ts +1 -0
- package/dist/integrations/health/contracts/index.d.ts +10 -0
- package/dist/integrations/health/contracts/index.js +2 -0
- package/dist/integrations/health/contracts/nutrition.d.ts +162 -0
- package/dist/integrations/health/contracts/nutrition.js +2 -0
- package/dist/integrations/health/contracts/sleep.d.ts +166 -0
- package/dist/integrations/health/contracts/sleep.js +2 -0
- package/dist/integrations/health/contracts/webhooks.d.ts +73 -0
- package/dist/integrations/health/contracts/webhooks.js +2 -0
- package/dist/integrations/health/contracts/workouts.d.ts +166 -0
- package/dist/integrations/health/contracts/workouts.js +2 -0
- package/dist/integrations/health/guards.d.ts +8 -0
- package/dist/integrations/health/guards.js +2 -0
- package/dist/integrations/health/guards.test.d.ts +1 -0
- package/dist/integrations/health/health.capability.d.ts +1 -0
- package/dist/integrations/health/health.capability.js +2 -0
- package/dist/integrations/health/health.feature.d.ts +1 -0
- package/dist/integrations/health/health.feature.js +2 -0
- package/dist/integrations/health/models.d.ts +361 -0
- package/dist/integrations/health/models.js +2 -0
- package/dist/integrations/health/telemetry.d.ts +17 -0
- package/dist/integrations/health/telemetry.js +2 -0
- package/dist/integrations/health/telemetry.test.d.ts +1 -0
- package/dist/integrations/health.d.ts +17 -0
- package/dist/integrations/health.js +2 -0
- package/dist/integrations/health.test.d.ts +1 -0
- package/dist/integrations/index.d.ts +30 -0
- package/dist/integrations/index.js +22 -0
- package/dist/integrations/integrations.capability.d.ts +1 -0
- package/dist/integrations/integrations.capability.js +2 -0
- package/dist/integrations/integrations.feature.d.ts +5 -0
- package/dist/integrations/integrations.feature.js +2 -0
- package/dist/integrations/linkedin/advertising.d.ts +52 -0
- package/dist/integrations/linkedin/advertising.js +1 -0
- package/dist/integrations/linkedin/analytics.d.ts +25 -0
- package/dist/integrations/linkedin/analytics.js +1 -0
- package/dist/integrations/linkedin/capabilities.d.ts +54 -0
- package/dist/integrations/linkedin/capabilities.js +2 -0
- package/dist/integrations/linkedin/capability-evaluation.test.d.ts +1 -0
- package/dist/integrations/linkedin/community.d.ts +77 -0
- package/dist/integrations/linkedin/community.js +1 -0
- package/dist/integrations/linkedin/credentials.d.ts +17 -0
- package/dist/integrations/linkedin/credentials.js +2 -0
- package/dist/integrations/linkedin/host.d.ts +53 -0
- package/dist/integrations/linkedin/host.js +2 -0
- package/dist/integrations/linkedin/host.test.d.ts +1 -0
- package/dist/integrations/linkedin/identity.d.ts +29 -0
- package/dist/integrations/linkedin/identity.js +1 -0
- package/dist/integrations/linkedin/index.d.ts +16 -0
- package/dist/integrations/linkedin/index.js +2 -0
- package/dist/integrations/linkedin/installation.d.ts +54 -0
- package/dist/integrations/linkedin/installation.js +2 -0
- package/dist/integrations/linkedin/linkedin.test.d.ts +1 -0
- package/dist/integrations/linkedin/media-job-state.d.ts +70 -0
- package/dist/integrations/linkedin/media-job-state.js +2 -0
- package/dist/integrations/linkedin/media-job.d.ts +88 -0
- package/dist/integrations/linkedin/media-job.js +2 -0
- package/dist/integrations/linkedin/media-session.d.ts +37 -0
- package/dist/integrations/linkedin/media-session.js +2 -0
- package/dist/integrations/linkedin/media.d.ts +51 -0
- package/dist/integrations/linkedin/media.js +2 -0
- package/dist/integrations/linkedin/messaging.d.ts +70 -0
- package/dist/integrations/linkedin/messaging.js +1 -0
- package/dist/integrations/linkedin/models.d.ts +42 -0
- package/dist/integrations/linkedin/models.js +1 -0
- package/dist/integrations/linkedin/native-publication.d.ts +43 -0
- package/dist/integrations/linkedin/native-publication.js +2 -0
- package/dist/integrations/linkedin/native-withdrawal.d.ts +12 -0
- package/dist/integrations/linkedin/native-withdrawal.js +2 -0
- package/dist/integrations/linkedin/operation-catalog.d.ts +314 -0
- package/dist/integrations/linkedin/operation-catalog.js +2 -0
- package/dist/integrations/linkedin/operations.d.ts +66 -0
- package/dist/integrations/linkedin/operations.js +2 -0
- package/dist/integrations/linkedin/provider.d.ts +72 -0
- package/dist/integrations/linkedin/provider.js +2 -0
- package/dist/integrations/linkedin/sales.d.ts +57 -0
- package/dist/integrations/linkedin/sales.js +1 -0
- package/dist/integrations/linkedin/sync.d.ts +41 -0
- package/dist/integrations/linkedin/sync.js +1 -0
- package/dist/integrations/linkedin/webhooks.d.ts +38 -0
- package/dist/integrations/linkedin/webhooks.js +1 -0
- package/dist/integrations/meeting-recorder/contracts/index.d.ts +7 -0
- package/dist/integrations/meeting-recorder/contracts/index.js +2 -0
- package/dist/integrations/meeting-recorder/contracts/meetings.d.ts +451 -0
- package/dist/integrations/meeting-recorder/contracts/meetings.js +2 -0
- package/dist/integrations/meeting-recorder/contracts/transcripts.d.ts +166 -0
- package/dist/integrations/meeting-recorder/contracts/transcripts.js +2 -0
- package/dist/integrations/meeting-recorder/contracts/webhooks.d.ts +85 -0
- package/dist/integrations/meeting-recorder/contracts/webhooks.js +2 -0
- package/dist/integrations/meeting-recorder/meeting-recorder.capability.d.ts +1 -0
- package/dist/integrations/meeting-recorder/meeting-recorder.capability.js +2 -0
- package/dist/integrations/meeting-recorder/meeting-recorder.feature.d.ts +5 -0
- package/dist/integrations/meeting-recorder/meeting-recorder.feature.js +2 -0
- package/dist/integrations/meeting-recorder/models.d.ts +402 -0
- package/dist/integrations/meeting-recorder/models.js +2 -0
- package/dist/integrations/meeting-recorder/telemetry.d.ts +13 -0
- package/dist/integrations/meeting-recorder/telemetry.js +2 -0
- package/dist/integrations/openbanking/contracts/accounts.d.ts +282 -0
- package/dist/integrations/openbanking/contracts/accounts.js +2 -0
- package/dist/integrations/openbanking/contracts/balances.d.ts +158 -0
- package/dist/integrations/openbanking/contracts/balances.js +2 -0
- package/dist/integrations/openbanking/contracts/index.d.ts +7 -0
- package/dist/integrations/openbanking/contracts/index.js +2 -0
- package/dist/integrations/openbanking/contracts/transactions.d.ts +206 -0
- package/dist/integrations/openbanking/contracts/transactions.js +2 -0
- package/dist/integrations/openbanking/guards.d.ts +8 -0
- package/dist/integrations/openbanking/guards.js +2 -0
- package/dist/integrations/openbanking/guards.test.d.ts +1 -0
- package/dist/integrations/openbanking/models.d.ts +223 -0
- package/dist/integrations/openbanking/models.js +2 -0
- package/dist/integrations/openbanking/openbanking.capability.d.ts +1 -0
- package/dist/integrations/openbanking/openbanking.capability.js +2 -0
- package/dist/integrations/openbanking/openbanking.feature.d.ts +5 -0
- package/dist/integrations/openbanking/openbanking.feature.js +2 -0
- package/dist/integrations/openbanking/telemetry.d.ts +12 -0
- package/dist/integrations/openbanking/telemetry.js +2 -0
- package/dist/integrations/operations.d.ts +430 -0
- package/dist/integrations/operations.js +22 -0
- package/dist/integrations/operations.test.d.ts +1 -0
- package/dist/integrations/providers/analytics-reader.d.ts +103 -0
- package/dist/integrations/providers/analytics-reader.js +1 -0
- package/dist/integrations/providers/analytics-writer.d.ts +6 -0
- package/dist/integrations/providers/analytics-writer.js +1 -0
- package/dist/integrations/providers/analytics.d.ts +47 -0
- package/dist/integrations/providers/analytics.js +1 -0
- package/dist/integrations/providers/apify.d.ts +3 -0
- package/dist/integrations/providers/apify.js +2 -0
- package/dist/integrations/providers/apple-health.d.ts +3 -0
- package/dist/integrations/providers/apple-health.js +2 -0
- package/dist/integrations/providers/async-media-record.d.ts +26 -0
- package/dist/integrations/providers/async-media-record.js +2 -0
- package/dist/integrations/providers/async-media.d.ts +112 -0
- package/dist/integrations/providers/async-media.js +1 -0
- package/dist/integrations/providers/attio.d.ts +4 -0
- package/dist/integrations/providers/attio.js +2 -0
- package/dist/integrations/providers/bright-data.d.ts +3 -0
- package/dist/integrations/providers/bright-data.js +2 -0
- package/dist/integrations/providers/browserbase.d.ts +3 -0
- package/dist/integrations/providers/browserbase.js +2 -0
- package/dist/integrations/providers/calendar.d.js +1 -0
- package/dist/integrations/providers/calendar.d.ts +81 -0
- package/dist/integrations/providers/calendar.js +1 -0
- package/dist/integrations/providers/catalog.d.ts +2 -0
- package/dist/integrations/providers/catalog.js +2 -0
- package/dist/integrations/providers/clay.d.ts +4 -0
- package/dist/integrations/providers/clay.js +2 -0
- package/dist/integrations/providers/communication-channel.d.ts +45 -0
- package/dist/integrations/providers/communication-channel.js +2 -0
- package/dist/integrations/providers/communication-channel.test.d.ts +1 -0
- package/dist/integrations/providers/composio.d.ts +3 -0
- package/dist/integrations/providers/composio.js +2 -0
- package/dist/integrations/providers/crm-external-profiles.test.d.ts +1 -0
- package/dist/integrations/providers/crm-fixture-core.d.ts +20 -0
- package/dist/integrations/providers/crm-fixture-core.js +2 -0
- package/dist/integrations/providers/crm-hubspot-fixture.d.ts +14 -0
- package/dist/integrations/providers/crm-hubspot-fixture.js +2 -0
- package/dist/integrations/providers/crm-salesforce-fixture.d.ts +17 -0
- package/dist/integrations/providers/crm-salesforce-fixture.js +2 -0
- package/dist/integrations/providers/crm-write-proposal-types.d.ts +83 -0
- package/dist/integrations/providers/crm-write-proposal-types.js +2 -0
- package/dist/integrations/providers/crm-write-proposal.d.ts +7 -0
- package/dist/integrations/providers/crm-write-proposal.js +2 -0
- package/dist/integrations/providers/crm-write-proposal.test.d.ts +1 -0
- package/dist/integrations/providers/crm.d.ts +94 -0
- package/dist/integrations/providers/crm.js +2 -0
- package/dist/integrations/providers/crm.test.d.ts +1 -0
- package/dist/integrations/providers/database.d.ts +12 -0
- package/dist/integrations/providers/database.js +1 -0
- package/dist/integrations/providers/deepgram.d.ts +3 -0
- package/dist/integrations/providers/deepgram.js +2 -0
- package/dist/integrations/providers/direct-fetch.d.ts +3 -0
- package/dist/integrations/providers/direct-fetch.js +2 -0
- package/dist/integrations/providers/eightsleep.d.ts +3 -0
- package/dist/integrations/providers/eightsleep.js +2 -0
- package/dist/integrations/providers/elevenlabs.d.ts +3 -0
- package/dist/integrations/providers/elevenlabs.js +2 -0
- package/dist/integrations/providers/email-delivery-events.d.ts +22 -0
- package/dist/integrations/providers/email-delivery-events.js +1 -0
- package/dist/integrations/providers/email.d.ts +187 -0
- package/dist/integrations/providers/email.js +1 -0
- package/dist/integrations/providers/embedding.d.ts +52 -0
- package/dist/integrations/providers/embedding.js +1 -0
- package/dist/integrations/providers/embedding.test.d.ts +1 -0
- package/dist/integrations/providers/fal-image.d.ts +3 -0
- package/dist/integrations/providers/fal-image.js +2 -0
- package/dist/integrations/providers/fal.d.ts +3 -0
- package/dist/integrations/providers/fal.js +2 -0
- package/dist/integrations/providers/fathom.d.ts +3 -0
- package/dist/integrations/providers/fathom.js +2 -0
- package/dist/integrations/providers/firecrawl.d.ts +3 -0
- package/dist/integrations/providers/firecrawl.js +2 -0
- package/dist/integrations/providers/fireflies.d.ts +3 -0
- package/dist/integrations/providers/fireflies.js +2 -0
- package/dist/integrations/providers/fitbit.d.ts +3 -0
- package/dist/integrations/providers/fitbit.js +2 -0
- package/dist/integrations/providers/fullenrich.d.ts +3 -0
- package/dist/integrations/providers/fullenrich.js +2 -0
- package/dist/integrations/providers/garmin.d.ts +3 -0
- package/dist/integrations/providers/garmin.js +2 -0
- package/dist/integrations/providers/gcs-storage.d.ts +3 -0
- package/dist/integrations/providers/gcs-storage.js +2 -0
- package/dist/integrations/providers/gmail.d.ts +3 -0
- package/dist/integrations/providers/gmail.js +2 -0
- package/dist/integrations/providers/google-calendar.d.ts +3 -0
- package/dist/integrations/providers/google-calendar.js +2 -0
- package/dist/integrations/providers/google-drive.d.ts +54 -0
- package/dist/integrations/providers/google-drive.js +2 -0
- package/dist/integrations/providers/gradium.d.ts +3 -0
- package/dist/integrations/providers/gradium.js +2 -0
- package/dist/integrations/providers/granola.d.ts +3 -0
- package/dist/integrations/providers/granola.js +2 -0
- package/dist/integrations/providers/gtm-providers.test.d.ts +1 -0
- package/dist/integrations/providers/health-provider-shared.d.ts +28 -0
- package/dist/integrations/providers/health-provider-shared.js +2 -0
- package/dist/integrations/providers/health-providers.test.d.ts +1 -0
- package/dist/integrations/providers/health.d.ts +186 -0
- package/dist/integrations/providers/health.js +1 -0
- package/dist/integrations/providers/higgsfield.d.ts +3 -0
- package/dist/integrations/providers/higgsfield.js +2 -0
- package/dist/integrations/providers/image.d.ts +85 -0
- package/dist/integrations/providers/image.js +2 -0
- package/dist/integrations/providers/index.d.ts +101 -0
- package/dist/integrations/providers/index.js +2 -0
- package/dist/integrations/providers/jira.d.ts +3 -0
- package/dist/integrations/providers/jira.js +2 -0
- package/dist/integrations/providers/linear.d.ts +3 -0
- package/dist/integrations/providers/linear.js +2 -0
- package/dist/integrations/providers/linkedin-community.d.ts +3 -0
- package/dist/integrations/providers/linkedin-community.js +2 -0
- package/dist/integrations/providers/linkedin-marketing.d.ts +3 -0
- package/dist/integrations/providers/linkedin-marketing.js +2 -0
- package/dist/integrations/providers/linkedin-member.d.ts +3 -0
- package/dist/integrations/providers/linkedin-member.js +2 -0
- package/dist/integrations/providers/linkedin-messaging.d.ts +3 -0
- package/dist/integrations/providers/linkedin-messaging.js +2 -0
- package/dist/integrations/providers/linkedin-providers.test.d.ts +1 -0
- package/dist/integrations/providers/linkedin-sales-navigator.d.ts +3 -0
- package/dist/integrations/providers/linkedin-sales-navigator.js +2 -0
- package/dist/integrations/providers/linkedin-spec-shared.d.ts +16 -0
- package/dist/integrations/providers/linkedin-spec-shared.js +2 -0
- package/dist/integrations/providers/linkup.d.ts +3 -0
- package/dist/integrations/providers/linkup.js +2 -0
- package/dist/integrations/providers/llm.d.ts +79 -0
- package/dist/integrations/providers/llm.js +1 -0
- package/dist/integrations/providers/massive.d.ts +5 -0
- package/dist/integrations/providers/massive.js +2 -0
- package/dist/integrations/providers/meeting-capture.d.ts +56 -0
- package/dist/integrations/providers/meeting-capture.js +1 -0
- package/dist/integrations/providers/meeting-recorder.d.ts +129 -0
- package/dist/integrations/providers/meeting-recorder.js +1 -0
- package/dist/integrations/providers/messaging-github.d.ts +9 -0
- package/dist/integrations/providers/messaging-github.js +2 -0
- package/dist/integrations/providers/messaging-matrix.d.ts +3 -0
- package/dist/integrations/providers/messaging-matrix.js +2 -0
- package/dist/integrations/providers/messaging-slack.d.ts +9 -0
- package/dist/integrations/providers/messaging-slack.js +2 -0
- package/dist/integrations/providers/messaging-teams.d.ts +10 -0
- package/dist/integrations/providers/messaging-teams.js +2 -0
- package/dist/integrations/providers/messaging-telegram.d.ts +3 -0
- package/dist/integrations/providers/messaging-telegram.js +2 -0
- package/dist/integrations/providers/messaging-whatsapp-meta.d.ts +3 -0
- package/dist/integrations/providers/messaging-whatsapp-meta.js +2 -0
- package/dist/integrations/providers/messaging-whatsapp-twilio.d.ts +3 -0
- package/dist/integrations/providers/messaging-whatsapp-twilio.js +2 -0
- package/dist/integrations/providers/messaging.d.ts +30 -0
- package/dist/integrations/providers/messaging.js +1 -0
- package/dist/integrations/providers/mistral-conversational.d.ts +3 -0
- package/dist/integrations/providers/mistral-conversational.js +2 -0
- package/dist/integrations/providers/mistral-stt.d.ts +3 -0
- package/dist/integrations/providers/mistral-stt.js +2 -0
- package/dist/integrations/providers/mistral.d.ts +3 -0
- package/dist/integrations/providers/mistral.js +2 -0
- package/dist/integrations/providers/mode-exemptions.d.ts +10 -0
- package/dist/integrations/providers/mode-exemptions.js +2 -0
- package/dist/integrations/providers/myfitnesspal.d.ts +3 -0
- package/dist/integrations/providers/myfitnesspal.js +2 -0
- package/dist/integrations/providers/notion.d.ts +9 -0
- package/dist/integrations/providers/notion.js +2 -0
- package/dist/integrations/providers/openai-image.d.ts +3 -0
- package/dist/integrations/providers/openai-image.js +2 -0
- package/dist/integrations/providers/openai-realtime.d.ts +3 -0
- package/dist/integrations/providers/openai-realtime.js +2 -0
- package/dist/integrations/providers/openbanking.d.ts +125 -0
- package/dist/integrations/providers/openbanking.js +1 -0
- package/dist/integrations/providers/openwearables.d.ts +3 -0
- package/dist/integrations/providers/openwearables.js +2 -0
- package/dist/integrations/providers/oura.d.ts +3 -0
- package/dist/integrations/providers/oura.js +2 -0
- package/dist/integrations/providers/oxylabs.d.ts +3 -0
- package/dist/integrations/providers/oxylabs.js +2 -0
- package/dist/integrations/providers/payments/capabilities-billing.d.ts +67 -0
- package/dist/integrations/providers/payments/capabilities-billing.js +1 -0
- package/dist/integrations/providers/payments/capabilities-payments.d.ts +57 -0
- package/dist/integrations/providers/payments/capabilities-payments.js +1 -0
- package/dist/integrations/providers/payments/capabilities.d.ts +2 -0
- package/dist/integrations/providers/payments/capabilities.js +1 -0
- package/dist/integrations/providers/payments/context.d.ts +75 -0
- package/dist/integrations/providers/payments/context.js +2 -0
- package/dist/integrations/providers/payments/provider.d.ts +22 -0
- package/dist/integrations/providers/payments/provider.js +1 -0
- package/dist/integrations/providers/payments/resources.d.ts +97 -0
- package/dist/integrations/providers/payments/resources.js +1 -0
- package/dist/integrations/providers/payments/shared.d.ts +61 -0
- package/dist/integrations/providers/payments/shared.js +2 -0
- package/dist/integrations/providers/payments.d.ts +5 -0
- package/dist/integrations/providers/payments.js +2 -0
- package/dist/integrations/providers/payments.test.d.ts +1 -0
- package/dist/integrations/providers/paypal.d.ts +3 -0
- package/dist/integrations/providers/paypal.js +2 -0
- package/dist/integrations/providers/peloton.d.ts +3 -0
- package/dist/integrations/providers/peloton.js +2 -0
- package/dist/integrations/providers/posthog-llm-telemetry.d.ts +51 -0
- package/dist/integrations/providers/posthog-llm-telemetry.js +2 -0
- package/dist/integrations/providers/posthog.d.ts +3 -0
- package/dist/integrations/providers/posthog.js +2 -0
- package/dist/integrations/providers/postmark.d.ts +3 -0
- package/dist/integrations/providers/postmark.js +2 -0
- package/dist/integrations/providers/powens.d.ts +3 -0
- package/dist/integrations/providers/powens.js +2 -0
- package/dist/integrations/providers/project-management.d.ts +196 -0
- package/dist/integrations/providers/project-management.js +2 -0
- package/dist/integrations/providers/provider-delta.d.ts +45 -0
- package/dist/integrations/providers/provider-delta.js +2 -0
- package/dist/integrations/providers/provider-delta.test.d.ts +1 -0
- package/dist/integrations/providers/provider-modes-coverage.test.d.ts +1 -0
- package/dist/integrations/providers/providers.test.d.ts +1 -0
- package/dist/integrations/providers/qdrant.d.ts +3 -0
- package/dist/integrations/providers/qdrant.js +2 -0
- package/dist/integrations/providers/registry.d.ts +24 -0
- package/dist/integrations/providers/registry.js +2 -0
- package/dist/integrations/providers/reworkd.d.ts +3 -0
- package/dist/integrations/providers/reworkd.js +2 -0
- package/dist/integrations/providers/serper.d.ts +3 -0
- package/dist/integrations/providers/serper.js +2 -0
- package/dist/integrations/providers/sillage.d.ts +4 -0
- package/dist/integrations/providers/sillage.js +2 -0
- package/dist/integrations/providers/slng.d.ts +3 -0
- package/dist/integrations/providers/slng.js +2 -0
- package/dist/integrations/providers/sms.d.ts +31 -0
- package/dist/integrations/providers/sms.js +1 -0
- package/dist/integrations/providers/social.d.ts +8 -0
- package/dist/integrations/providers/social.js +2 -0
- package/dist/integrations/providers/storage.d.ts +65 -0
- package/dist/integrations/providers/storage.js +1 -0
- package/dist/integrations/providers/strava.d.ts +3 -0
- package/dist/integrations/providers/strava.js +2 -0
- package/dist/integrations/providers/stripe.d.ts +3 -0
- package/dist/integrations/providers/stripe.js +2 -0
- package/dist/integrations/providers/supabase-postgres.d.ts +3 -0
- package/dist/integrations/providers/supabase-postgres.js +2 -0
- package/dist/integrations/providers/supabase-vector.d.ts +3 -0
- package/dist/integrations/providers/supabase-vector.js +2 -0
- package/dist/integrations/providers/tavily.d.ts +8 -0
- package/dist/integrations/providers/tavily.js +2 -0
- package/dist/integrations/providers/tldv.d.ts +3 -0
- package/dist/integrations/providers/tldv.js +2 -0
- package/dist/integrations/providers/twilio-sms.d.ts +3 -0
- package/dist/integrations/providers/twilio-sms.js +2 -0
- package/dist/integrations/providers/vector-store.d.ts +39 -0
- package/dist/integrations/providers/vector-store.js +1 -0
- package/dist/integrations/providers/video.d.ts +181 -0
- package/dist/integrations/providers/video.js +2 -0
- package/dist/integrations/providers/voice-video-sync.d.ts +29 -0
- package/dist/integrations/providers/voice-video-sync.js +1 -0
- package/dist/integrations/providers/voice.d.ts +180 -0
- package/dist/integrations/providers/voice.js +1 -0
- package/dist/integrations/providers/web-access-shared.d.ts +18 -0
- package/dist/integrations/providers/web-access-shared.js +2 -0
- package/dist/integrations/providers/whoop.d.ts +3 -0
- package/dist/integrations/providers/whoop.js +2 -0
- package/dist/integrations/runtime-transport.test.d.ts +1 -0
- package/dist/integrations/runtime.d.ts +140 -0
- package/dist/integrations/runtime.js +2 -0
- package/dist/integrations/runtime.test.d.ts +1 -0
- package/dist/integrations/sales-intelligence/events.d.ts +182 -0
- package/dist/integrations/sales-intelligence/events.js +2 -0
- package/dist/integrations/sales-intelligence/events.test.d.ts +1 -0
- package/dist/integrations/sales-intelligence/fullenrich-cancel-operation.d.ts +39 -0
- package/dist/integrations/sales-intelligence/fullenrich-cancel-operation.js +2 -0
- package/dist/integrations/sales-intelligence/index.d.ts +7 -0
- package/dist/integrations/sales-intelligence/index.js +2 -0
- package/dist/integrations/sales-intelligence/operation-helpers.d.ts +4 -0
- package/dist/integrations/sales-intelligence/operation-helpers.js +2 -0
- package/dist/integrations/sales-intelligence/operations.d.ts +873 -0
- package/dist/integrations/sales-intelligence/operations.js +2 -0
- package/dist/integrations/sales-intelligence/operations.test.d.ts +1 -0
- package/dist/integrations/sales-intelligence/schemas-events.d.ts +78 -0
- package/dist/integrations/sales-intelligence/schemas-events.js +2 -0
- package/dist/integrations/sales-intelligence/schemas-results.d.ts +69 -0
- package/dist/integrations/sales-intelligence/schemas-results.js +2 -0
- package/dist/integrations/sales-intelligence/schemas.d.ts +73 -0
- package/dist/integrations/sales-intelligence/schemas.js +2 -0
- package/dist/integrations/secrets/aws-secret-manager.d.ts +28 -0
- package/dist/integrations/secrets/aws-secret-manager.js +2 -0
- package/dist/integrations/secrets/env-secret-provider.d.ts +28 -0
- package/dist/integrations/secrets/env-secret-provider.js +2 -0
- package/dist/integrations/secrets/gcp-secret-manager.d.ts +29 -0
- package/dist/integrations/secrets/gcp-secret-manager.js +2 -0
- package/dist/integrations/secrets/index.d.ts +6 -0
- package/dist/integrations/secrets/index.js +2 -0
- package/dist/integrations/secrets/manager.d.ts +44 -0
- package/dist/integrations/secrets/manager.js +2 -0
- package/dist/integrations/secrets/provider.d.ts +49 -0
- package/dist/integrations/secrets/provider.js +2 -0
- package/dist/integrations/secrets/provider.test.d.ts +1 -0
- package/dist/integrations/secrets/scaleway-secret-manager.d.ts +35 -0
- package/dist/integrations/secrets/scaleway-secret-manager.js +2 -0
- package/dist/integrations/secrets-types.d.ts +14 -0
- package/dist/integrations/secrets-types.js +1 -0
- package/dist/integrations/social/index.d.ts +7 -0
- package/dist/integrations/social/index.js +2 -0
- package/dist/integrations/social/instagram.d.ts +86 -0
- package/dist/integrations/social/instagram.js +1 -0
- package/dist/integrations/social/models.d.ts +107 -0
- package/dist/integrations/social/models.js +1 -0
- package/dist/integrations/social/provider.d.ts +46 -0
- package/dist/integrations/social/provider.js +2 -0
- package/dist/integrations/social/social.test.d.ts +1 -0
- package/dist/integrations/social/tracking-models.d.ts +153 -0
- package/dist/integrations/social/tracking-models.js +2 -0
- package/dist/integrations/social/tracking-provider.d.ts +53 -0
- package/dist/integrations/social/tracking-provider.js +1 -0
- package/dist/integrations/social/tracking-store.d.ts +78 -0
- package/dist/integrations/social/tracking-store.js +1 -0
- package/dist/integrations/social/x-publication.d.ts +143 -0
- package/dist/integrations/social/x-publication.js +2 -0
- package/dist/integrations/social/x-upload-state.d.ts +53 -0
- package/dist/integrations/social/x-upload-state.js +2 -0
- package/dist/integrations/social/x-upload.d.ts +111 -0
- package/dist/integrations/social/x-upload.js +2 -0
- package/dist/integrations/social/x-withdrawal.d.ts +13 -0
- package/dist/integrations/social/x-withdrawal.js +2 -0
- package/dist/integrations/social/x.d.ts +84 -0
- package/dist/integrations/social/x.js +1 -0
- package/dist/integrations/spec.d.ts +119 -0
- package/dist/integrations/spec.js +2 -0
- package/dist/integrations/spec.test.d.ts +1 -0
- package/dist/integrations/transport.d.ts +115 -0
- package/dist/integrations/transport.js +2 -0
- package/dist/integrations/transport.test.d.ts +1 -0
- package/dist/integrations/versioning.d.ts +51 -0
- package/dist/integrations/versioning.js +2 -0
- package/dist/integrations/versioning.test.d.ts +1 -0
- package/dist/integrations/web-access/browser-automation.d.ts +134 -0
- package/dist/integrations/web-access/browser-automation.js +2 -0
- package/dist/integrations/web-access/capability-ledger.d.ts +50 -0
- package/dist/integrations/web-access/capability-ledger.js +2 -0
- package/dist/integrations/web-access/capability-ledger.test.d.ts +1 -0
- package/dist/integrations/web-access/events.d.ts +105 -0
- package/dist/integrations/web-access/events.js +2 -0
- package/dist/integrations/web-access/index.d.ts +16 -0
- package/dist/integrations/web-access/index.js +22 -0
- package/dist/integrations/web-access/inventory-definitions-expanded.d.ts +2 -0
- package/dist/integrations/web-access/inventory-definitions-expanded.js +2 -0
- package/dist/integrations/web-access/inventory-definitions.d.ts +17 -0
- package/dist/integrations/web-access/inventory-definitions.js +2 -0
- package/dist/integrations/web-access/inventory-evidence.d.ts +24 -0
- package/dist/integrations/web-access/inventory-evidence.js +2 -0
- package/dist/integrations/web-access/inventory-mappings-browserbase.d.ts +2 -0
- package/dist/integrations/web-access/inventory-mappings-browserbase.js +2 -0
- package/dist/integrations/web-access/inventory-mappings.d.ts +54 -0
- package/dist/integrations/web-access/inventory-mappings.js +2 -0
- package/dist/integrations/web-access/inventory.d.ts +4 -0
- package/dist/integrations/web-access/inventory.js +2 -0
- package/dist/integrations/web-access/models.d.ts +145 -0
- package/dist/integrations/web-access/models.js +2 -0
- package/dist/integrations/web-access/operation-definitions.d.ts +19 -0
- package/dist/integrations/web-access/operation-definitions.js +2 -0
- package/dist/integrations/web-access/operation-errors.d.ts +56 -0
- package/dist/integrations/web-access/operation-errors.js +2 -0
- package/dist/integrations/web-access/operation-output-models.d.ts +177 -0
- package/dist/integrations/web-access/operation-output-models.js +2 -0
- package/dist/integrations/web-access/operation-schema-models.d.ts +453 -0
- package/dist/integrations/web-access/operation-schema-models.js +2 -0
- package/dist/integrations/web-access/operation-schemas.d.ts +165 -0
- package/dist/integrations/web-access/operation-schemas.js +2 -0
- package/dist/integrations/web-access/operations.d.ts +22 -0
- package/dist/integrations/web-access/operations.js +22 -0
- package/dist/integrations/web-access/operations.test.d.ts +1 -0
- package/dist/integrations/web-access/providers.d.ts +56 -0
- package/dist/integrations/web-access/providers.js +1 -0
- package/dist/integrations/web-access/providers.test.d.ts +1 -0
- package/dist/integrations/web-access/schemas.d.ts +118 -0
- package/dist/integrations/web-access/schemas.js +2 -0
- package/dist/node/contracts-integrations.feature.js +1 -0
- package/dist/node/index.js +21 -0
- package/dist/node/integrations/advertising/index.js +1 -0
- package/dist/node/integrations/advertising/recipe-schema.js +1 -0
- package/dist/node/integrations/advertising/recipe.js +0 -0
- package/dist/node/integrations/advertising/specs.js +1 -0
- package/dist/node/integrations/advertising/types.js +1 -0
- package/dist/node/integrations/attio/events.js +1 -0
- package/dist/node/integrations/attio/index.js +1 -0
- package/dist/node/integrations/attio/operations.js +1 -0
- package/dist/node/integrations/auth-helpers.js +1 -0
- package/dist/node/integrations/auth.js +1 -0
- package/dist/node/integrations/binding.js +0 -0
- package/dist/node/integrations/byok.js +1 -0
- package/dist/node/integrations/catalog.js +1 -0
- package/dist/node/integrations/clay/events.js +1 -0
- package/dist/node/integrations/clay/index.js +1 -0
- package/dist/node/integrations/clay/operations.js +1 -0
- package/dist/node/integrations/connection.js +0 -0
- package/dist/node/integrations/credentials.js +1 -0
- package/dist/node/integrations/deployment-topology-model.js +1 -0
- package/dist/node/integrations/deployment-topology-receipt.js +1 -0
- package/dist/node/integrations/deployment-topology-validation.js +1 -0
- package/dist/node/integrations/deployment-topology.js +1 -0
- package/dist/node/integrations/docs/integrations.docblock.js +100 -0
- package/dist/node/integrations/email-operations.js +1 -0
- package/dist/node/integrations/gtm/capability-ledger.fixture-helpers.js +1 -0
- package/dist/node/integrations/gtm/capability-ledger.fixtures.js +1 -0
- package/dist/node/integrations/gtm/capability-ledger.js +1 -0
- package/dist/node/integrations/gtm/hosted-mcp.js +1 -0
- package/dist/node/integrations/gtm/index.js +1 -0
- package/dist/node/integrations/gtm/inventory/attio.js +1 -0
- package/dist/node/integrations/gtm/inventory/clay.js +1 -0
- package/dist/node/integrations/gtm/inventory/fullenrich.js +1 -0
- package/dist/node/integrations/gtm/inventory/index.js +1 -0
- package/dist/node/integrations/gtm/inventory/types.js +0 -0
- package/dist/node/integrations/gtm/preflight.js +1 -0
- package/dist/node/integrations/gtm/schemas.js +1 -0
- package/dist/node/integrations/gtm/webhook-ingress.js +1 -0
- package/dist/node/integrations/health/contracts/activities.js +1 -0
- package/dist/node/integrations/health/contracts/biometrics.js +1 -0
- package/dist/node/integrations/health/contracts/index.js +1 -0
- package/dist/node/integrations/health/contracts/nutrition.js +1 -0
- package/dist/node/integrations/health/contracts/sleep.js +1 -0
- package/dist/node/integrations/health/contracts/webhooks.js +1 -0
- package/dist/node/integrations/health/contracts/workouts.js +1 -0
- package/dist/node/integrations/health/guards.js +1 -0
- package/dist/node/integrations/health/health.capability.js +1 -0
- package/dist/node/integrations/health/health.feature.js +1 -0
- package/dist/node/integrations/health/models.js +1 -0
- package/dist/node/integrations/health/telemetry.js +1 -0
- package/dist/node/integrations/health.js +1 -0
- package/dist/node/integrations/index.js +21 -0
- package/dist/node/integrations/integrations.capability.js +1 -0
- package/dist/node/integrations/integrations.feature.js +1 -0
- package/dist/node/integrations/linkedin/advertising.js +0 -0
- package/dist/node/integrations/linkedin/analytics.js +0 -0
- package/dist/node/integrations/linkedin/capabilities.js +1 -0
- package/dist/node/integrations/linkedin/community.js +0 -0
- package/dist/node/integrations/linkedin/credentials.js +1 -0
- package/dist/node/integrations/linkedin/host.js +1 -0
- package/dist/node/integrations/linkedin/identity.js +0 -0
- package/dist/node/integrations/linkedin/index.js +1 -0
- package/dist/node/integrations/linkedin/installation.js +1 -0
- package/dist/node/integrations/linkedin/media-job-state.js +1 -0
- package/dist/node/integrations/linkedin/media-job.js +1 -0
- package/dist/node/integrations/linkedin/media-session.js +1 -0
- package/dist/node/integrations/linkedin/media.js +1 -0
- package/dist/node/integrations/linkedin/messaging.js +0 -0
- package/dist/node/integrations/linkedin/models.js +0 -0
- package/dist/node/integrations/linkedin/native-publication.js +1 -0
- package/dist/node/integrations/linkedin/native-withdrawal.js +1 -0
- package/dist/node/integrations/linkedin/operation-catalog.js +1 -0
- package/dist/node/integrations/linkedin/operations.js +1 -0
- package/dist/node/integrations/linkedin/provider.js +1 -0
- package/dist/node/integrations/linkedin/sales.js +0 -0
- package/dist/node/integrations/linkedin/sync.js +0 -0
- package/dist/node/integrations/linkedin/webhooks.js +0 -0
- package/dist/node/integrations/meeting-recorder/contracts/index.js +1 -0
- package/dist/node/integrations/meeting-recorder/contracts/meetings.js +1 -0
- package/dist/node/integrations/meeting-recorder/contracts/transcripts.js +1 -0
- package/dist/node/integrations/meeting-recorder/contracts/webhooks.js +1 -0
- package/dist/node/integrations/meeting-recorder/meeting-recorder.capability.js +1 -0
- package/dist/node/integrations/meeting-recorder/meeting-recorder.feature.js +1 -0
- package/dist/node/integrations/meeting-recorder/models.js +1 -0
- package/dist/node/integrations/meeting-recorder/telemetry.js +1 -0
- package/dist/node/integrations/openbanking/contracts/accounts.js +1 -0
- package/dist/node/integrations/openbanking/contracts/balances.js +1 -0
- package/dist/node/integrations/openbanking/contracts/index.js +1 -0
- package/dist/node/integrations/openbanking/contracts/transactions.js +1 -0
- package/dist/node/integrations/openbanking/guards.js +1 -0
- package/dist/node/integrations/openbanking/models.js +1 -0
- package/dist/node/integrations/openbanking/openbanking.capability.js +1 -0
- package/dist/node/integrations/openbanking/openbanking.feature.js +1 -0
- package/dist/node/integrations/openbanking/telemetry.js +1 -0
- package/dist/node/integrations/operations.js +21 -0
- package/dist/node/integrations/providers/analytics-reader.js +0 -0
- package/dist/node/integrations/providers/analytics-writer.js +0 -0
- package/dist/node/integrations/providers/analytics.js +0 -0
- package/dist/node/integrations/providers/apify.js +1 -0
- package/dist/node/integrations/providers/apple-health.js +1 -0
- package/dist/node/integrations/providers/async-media-record.js +1 -0
- package/dist/node/integrations/providers/async-media.js +0 -0
- package/dist/node/integrations/providers/attio.js +1 -0
- package/dist/node/integrations/providers/bright-data.js +1 -0
- package/dist/node/integrations/providers/browserbase.js +1 -0
- package/dist/node/integrations/providers/calendar.d.js +0 -0
- package/dist/node/integrations/providers/calendar.js +0 -0
- package/dist/node/integrations/providers/catalog.js +1 -0
- package/dist/node/integrations/providers/clay.js +1 -0
- package/dist/node/integrations/providers/communication-channel.js +1 -0
- package/dist/node/integrations/providers/composio.js +1 -0
- package/dist/node/integrations/providers/crm-fixture-core.js +1 -0
- package/dist/node/integrations/providers/crm-hubspot-fixture.js +1 -0
- package/dist/node/integrations/providers/crm-salesforce-fixture.js +1 -0
- package/dist/node/integrations/providers/crm-write-proposal-types.js +1 -0
- package/dist/node/integrations/providers/crm-write-proposal.js +1 -0
- package/dist/node/integrations/providers/crm.js +1 -0
- package/dist/node/integrations/providers/database.js +0 -0
- package/dist/node/integrations/providers/deepgram.js +1 -0
- package/dist/node/integrations/providers/direct-fetch.js +1 -0
- package/dist/node/integrations/providers/eightsleep.js +1 -0
- package/dist/node/integrations/providers/elevenlabs.js +1 -0
- package/dist/node/integrations/providers/email-delivery-events.js +0 -0
- package/dist/node/integrations/providers/email.js +0 -0
- package/dist/node/integrations/providers/embedding.js +0 -0
- package/dist/node/integrations/providers/fal-image.js +1 -0
- package/dist/node/integrations/providers/fal.js +1 -0
- package/dist/node/integrations/providers/fathom.js +1 -0
- package/dist/node/integrations/providers/firecrawl.js +1 -0
- package/dist/node/integrations/providers/fireflies.js +1 -0
- package/dist/node/integrations/providers/fitbit.js +1 -0
- package/dist/node/integrations/providers/fullenrich.js +1 -0
- package/dist/node/integrations/providers/garmin.js +1 -0
- package/dist/node/integrations/providers/gcs-storage.js +1 -0
- package/dist/node/integrations/providers/gmail.js +1 -0
- package/dist/node/integrations/providers/google-calendar.js +1 -0
- package/dist/node/integrations/providers/google-drive.js +1 -0
- package/dist/node/integrations/providers/gradium.js +1 -0
- package/dist/node/integrations/providers/granola.js +1 -0
- package/dist/node/integrations/providers/health-provider-shared.js +1 -0
- package/dist/node/integrations/providers/health.js +0 -0
- package/dist/node/integrations/providers/higgsfield.js +1 -0
- package/dist/node/integrations/providers/image.js +1 -0
- package/dist/node/integrations/providers/index.js +1 -0
- package/dist/node/integrations/providers/jira.js +1 -0
- package/dist/node/integrations/providers/linear.js +1 -0
- package/dist/node/integrations/providers/linkedin-community.js +1 -0
- package/dist/node/integrations/providers/linkedin-marketing.js +1 -0
- package/dist/node/integrations/providers/linkedin-member.js +1 -0
- package/dist/node/integrations/providers/linkedin-messaging.js +1 -0
- package/dist/node/integrations/providers/linkedin-sales-navigator.js +1 -0
- package/dist/node/integrations/providers/linkedin-spec-shared.js +1 -0
- package/dist/node/integrations/providers/linkup.js +1 -0
- package/dist/node/integrations/providers/llm.js +0 -0
- package/dist/node/integrations/providers/massive.js +1 -0
- package/dist/node/integrations/providers/meeting-capture.js +0 -0
- package/dist/node/integrations/providers/meeting-recorder.js +0 -0
- package/dist/node/integrations/providers/messaging-github.js +1 -0
- package/dist/node/integrations/providers/messaging-matrix.js +1 -0
- package/dist/node/integrations/providers/messaging-slack.js +1 -0
- package/dist/node/integrations/providers/messaging-teams.js +1 -0
- package/dist/node/integrations/providers/messaging-telegram.js +1 -0
- package/dist/node/integrations/providers/messaging-whatsapp-meta.js +1 -0
- package/dist/node/integrations/providers/messaging-whatsapp-twilio.js +1 -0
- package/dist/node/integrations/providers/messaging.js +0 -0
- package/dist/node/integrations/providers/mistral-conversational.js +1 -0
- package/dist/node/integrations/providers/mistral-stt.js +1 -0
- package/dist/node/integrations/providers/mistral.js +1 -0
- package/dist/node/integrations/providers/mode-exemptions.js +1 -0
- package/dist/node/integrations/providers/myfitnesspal.js +1 -0
- package/dist/node/integrations/providers/notion.js +1 -0
- package/dist/node/integrations/providers/openai-image.js +1 -0
- package/dist/node/integrations/providers/openai-realtime.js +1 -0
- package/dist/node/integrations/providers/openbanking.js +0 -0
- package/dist/node/integrations/providers/openwearables.js +1 -0
- package/dist/node/integrations/providers/oura.js +1 -0
- package/dist/node/integrations/providers/oxylabs.js +1 -0
- package/dist/node/integrations/providers/payments/capabilities-billing.js +0 -0
- package/dist/node/integrations/providers/payments/capabilities-payments.js +0 -0
- package/dist/node/integrations/providers/payments/capabilities.js +0 -0
- package/dist/node/integrations/providers/payments/context.js +1 -0
- package/dist/node/integrations/providers/payments/provider.js +0 -0
- package/dist/node/integrations/providers/payments/resources.js +0 -0
- package/dist/node/integrations/providers/payments/shared.js +1 -0
- package/dist/node/integrations/providers/payments.js +1 -0
- package/dist/node/integrations/providers/paypal.js +1 -0
- package/dist/node/integrations/providers/peloton.js +1 -0
- package/dist/node/integrations/providers/posthog-llm-telemetry.js +1 -0
- package/dist/node/integrations/providers/posthog.js +1 -0
- package/dist/node/integrations/providers/postmark.js +1 -0
- package/dist/node/integrations/providers/powens.js +1 -0
- package/dist/node/integrations/providers/project-management.js +1 -0
- package/dist/node/integrations/providers/provider-delta.js +1 -0
- package/dist/node/integrations/providers/qdrant.js +1 -0
- package/dist/node/integrations/providers/registry.js +1 -0
- package/dist/node/integrations/providers/reworkd.js +1 -0
- package/dist/node/integrations/providers/serper.js +1 -0
- package/dist/node/integrations/providers/sillage.js +1 -0
- package/dist/node/integrations/providers/slng.js +1 -0
- package/dist/node/integrations/providers/sms.js +0 -0
- package/dist/node/integrations/providers/social.js +1 -0
- package/dist/node/integrations/providers/storage.js +0 -0
- package/dist/node/integrations/providers/strava.js +1 -0
- package/dist/node/integrations/providers/stripe.js +1 -0
- package/dist/node/integrations/providers/supabase-postgres.js +1 -0
- package/dist/node/integrations/providers/supabase-vector.js +1 -0
- package/dist/node/integrations/providers/tavily.js +1 -0
- package/dist/node/integrations/providers/tldv.js +1 -0
- package/dist/node/integrations/providers/twilio-sms.js +1 -0
- package/dist/node/integrations/providers/vector-store.js +0 -0
- package/dist/node/integrations/providers/video.js +1 -0
- package/dist/node/integrations/providers/voice-video-sync.js +0 -0
- package/dist/node/integrations/providers/voice.js +0 -0
- package/dist/node/integrations/providers/web-access-shared.js +1 -0
- package/dist/node/integrations/providers/whoop.js +1 -0
- package/dist/node/integrations/runtime.js +1 -0
- package/dist/node/integrations/sales-intelligence/events.js +1 -0
- package/dist/node/integrations/sales-intelligence/fullenrich-cancel-operation.js +1 -0
- package/dist/node/integrations/sales-intelligence/index.js +1 -0
- package/dist/node/integrations/sales-intelligence/operation-helpers.js +1 -0
- package/dist/node/integrations/sales-intelligence/operations.js +1 -0
- package/dist/node/integrations/sales-intelligence/schemas-events.js +1 -0
- package/dist/node/integrations/sales-intelligence/schemas-results.js +1 -0
- package/dist/node/integrations/sales-intelligence/schemas.js +1 -0
- package/dist/node/integrations/secrets/aws-secret-manager.js +1 -0
- package/dist/node/integrations/secrets/env-secret-provider.js +1 -0
- package/dist/node/integrations/secrets/gcp-secret-manager.js +1 -0
- package/dist/node/integrations/secrets/index.js +1 -0
- package/dist/node/integrations/secrets/manager.js +1 -0
- package/dist/node/integrations/secrets/provider.js +1 -0
- package/dist/node/integrations/secrets/scaleway-secret-manager.js +1 -0
- package/dist/node/integrations/secrets-types.js +0 -0
- package/dist/node/integrations/social/index.js +1 -0
- package/dist/node/integrations/social/instagram.js +0 -0
- package/dist/node/integrations/social/models.js +0 -0
- package/dist/node/integrations/social/provider.js +1 -0
- package/dist/node/integrations/social/tracking-models.js +1 -0
- package/dist/node/integrations/social/tracking-provider.js +0 -0
- package/dist/node/integrations/social/tracking-store.js +0 -0
- package/dist/node/integrations/social/x-publication.js +1 -0
- package/dist/node/integrations/social/x-upload-state.js +1 -0
- package/dist/node/integrations/social/x-upload.js +1 -0
- package/dist/node/integrations/social/x-withdrawal.js +1 -0
- package/dist/node/integrations/social/x.js +0 -0
- package/dist/node/integrations/spec.js +1 -0
- package/dist/node/integrations/transport.js +1 -0
- package/dist/node/integrations/versioning.js +1 -0
- package/dist/node/integrations/web-access/browser-automation.js +1 -0
- package/dist/node/integrations/web-access/capability-ledger.js +1 -0
- package/dist/node/integrations/web-access/events.js +1 -0
- package/dist/node/integrations/web-access/index.js +21 -0
- package/dist/node/integrations/web-access/inventory-definitions-expanded.js +1 -0
- package/dist/node/integrations/web-access/inventory-definitions.js +1 -0
- package/dist/node/integrations/web-access/inventory-evidence.js +1 -0
- package/dist/node/integrations/web-access/inventory-mappings-browserbase.js +1 -0
- package/dist/node/integrations/web-access/inventory-mappings.js +1 -0
- package/dist/node/integrations/web-access/inventory.js +1 -0
- package/dist/node/integrations/web-access/models.js +1 -0
- package/dist/node/integrations/web-access/operation-definitions.js +1 -0
- package/dist/node/integrations/web-access/operation-errors.js +1 -0
- package/dist/node/integrations/web-access/operation-output-models.js +1 -0
- package/dist/node/integrations/web-access/operation-schema-models.js +1 -0
- package/dist/node/integrations/web-access/operation-schemas.js +1 -0
- package/dist/node/integrations/web-access/operations.js +21 -0
- package/dist/node/integrations/web-access/providers.js +0 -0
- package/dist/node/integrations/web-access/schemas.js +1 -0
- package/package.json +3606 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as o}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as i}from"@lssm/lib.contracts-spec/registry";var n=(e)=>`${e.key}.v${e.version}`;class a extends i{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((r)=>r.meta.category===e)}}function g(e){return n(e)}var t=(e)=>e;var p=t({meta:{key:"project-management.linear",version:"1.0.0",category:"project-management",title:"Linear",description:"Linear integration for issue tracking and project management workflows.",domain:"productivity",owners:["@platform.integrations"],tags:["project-management","linear"],stability:o.Beta},supportedModes:["managed","byok"],transports:[{type:"rest",baseUrl:"https://api.linear.app"},{type:"webhook",inbound:{signatureHeader:"linear-signature",signingAlgorithm:"hmac-sha256"}},{type:"sdk",packageName:"@linear/sdk"}],preferredTransport:"rest",supportedAuthMethods:[{type:"api-key"},{type:"oauth2",grantType:"authorization_code",authorizationUrl:"https://linear.app/oauth/authorize",tokenUrl:"https://api.linear.app/oauth/token",scopes:["read","write","issues:create"]}],capabilities:{provides:[{key:"project-management.work-items",version:"1.0.0"}]},configSchema:{schema:{type:"object",required:["teamId"],properties:{teamId:{type:"string",description:"Linear team ID that owns created issues."},projectId:{type:"string",description:"Optional default project ID for new issues."},stateId:{type:"string",description:"Optional default workflow state ID."},assigneeId:{type:"string",description:"Optional default assignee ID."},labelIds:{type:"array",items:{type:"string"},description:"Optional label IDs applied to each issue."},tagLabelMap:{type:"object",additionalProperties:{type:"string"},description:"Optional mapping of tags to Linear label IDs (tag -> labelId)."}}},example:{teamId:"team_123",projectId:"proj_456",labelIds:["label_1","label_2"]}},secretSchema:{schema:{type:"object",required:["apiKey"],properties:{apiKey:{type:"string",description:"Linear API key (personal or service token)."}}},example:{apiKey:"lin_api_key"}},healthCheck:{method:"custom",timeoutMs:4000},docsUrl:"https://developers.linear.app",constraints:{},byokSetup:{setupInstructions:"Create a Linear API key with issue:write permission and store it as a secret.",keyRotationSupported:!0,quotaTrackingSupported:!1}});function y(e){return e.register(p)}export{p as linearIntegrationSpec,y as registerLinearIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as l}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as c}from"@lssm/lib.contracts-spec/registry";var d=(e)=>`${e.key}.v${e.version}`;class g extends c{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function y(e){return d(e)}var o=(e)=>e;function a({unsupportedModeReason:e,configFields:t,secretFields:n,rotationSupported:p=!1,setupSteps:r}){let i={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:p}};if(t)i.configFields=t;if(n)i.secretFields=n;if(r)i.setupSteps=r;return{modes:{byok:i},exempt:!0,exemptionReason:e}}function s(e){let t=[{type:"oauth2",grantType:"authorization_code",authorizationUrl:"https://www.linkedin.com/oauth/v2/authorization",tokenUrl:"https://www.linkedin.com/oauth/v2/accessToken",scopes:e.scopes,pkce:!0}];if(e.clientCredentials)t.push({type:"oauth2",grantType:"client_credentials",tokenUrl:"https://www.linkedin.com/oauth/v2/accessToken",scopes:e.scopes});return o({meta:{key:e.key,version:"1.0.0",category:e.category,title:e.title,description:e.description,domain:"linkedin",owners:["platform.integrations"],tags:["linkedin",...e.tags],stability:l.Experimental},supportedModes:["byok"],credentialManifest:a({unsupportedModeReason:"Managed LinkedIn credentials require separately evidenced product and agreement approval.",secretFields:[{key:"clientId",required:!0},{key:"clientSecret",required:!0}],rotationSupported:!0,setupSteps:["Create or select a LinkedIn developer application.","Obtain approval for every required LinkedIn product.","Store client credentials and OAuth grants in a secret provider."]}),transports:[{type:"rest",baseUrl:"https://api.linkedin.com",defaultHeaders:{"X-Restli-Protocol-Version":"2.0.0"},apiVersionHeader:"LinkedIn-Version"},...e.webhooks?[{type:"webhook"}]:[]],preferredTransport:"rest",supportedAuthMethods:t,versionPolicy:{currentVersion:"202605",supportedVersions:[{version:"202605",status:"stable"}],versionHeader:"LinkedIn-Version"},capabilities:{provides:e.capabilities.map((n)=>({key:n,version:"1.0.0"}))},configSchema:{schema:{type:"object",required:["installationId"],properties:{installationId:{type:"string"},apiVersion:{type:"string"}}}},secretSchema:{schema:{type:"object",required:["clientId","clientSecret"],properties:{clientId:{type:"string"},clientSecret:{type:"string"}}},example:{clientId:"***",clientSecret:"***"}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:e.docsUrl,byokSetup:{setupInstructions:"Use only official LinkedIn APIs and an approved developer application. Product approval is evaluated per installation.",requiredScopes:e.scopes,keyRotationSupported:!0,quotaTrackingSupported:!0}})}var m=s({key:"social-network.linkedin-community",title:"LinkedIn Community Management",description:"Official LinkedIn organization, post, comment, reaction, moderation, analytics, and webhook contracts.",category:"custom",tags:["organization","community-management","posts","webhooks"],capabilities:["linkedin.identity.organization.read","linkedin.content.posts.read","linkedin.content.posts.publish","linkedin.content.posts.manage","linkedin.community.comments.read","linkedin.community.comments.write","linkedin.community.reactions.read","linkedin.community.reactions.write","linkedin.analytics.community.read","linkedin.webhooks.subscriptions.manage","linkedin.webhooks.events.read"],scopes:["r_organization_social","w_organization_social","rw_organization_admin"],docsUrl:"https://learn.microsoft.com/en-us/linkedin/marketing/community-management/community-management-overview",webhooks:!0});function M(e){return e.register(m)}export{m as linkedinCommunityIntegrationSpec,M as registerLinkedinCommunityIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as l}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as c}from"@lssm/lib.contracts-spec/registry";var d=(e)=>`${e.key}.v${e.version}`;class g extends c{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function y(e){return d(e)}var a=(e)=>e;function o({unsupportedModeReason:e,configFields:t,secretFields:n,rotationSupported:p=!1,setupSteps:r}){let i={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:p}};if(t)i.configFields=t;if(n)i.secretFields=n;if(r)i.setupSteps=r;return{modes:{byok:i},exempt:!0,exemptionReason:e}}function s(e){let t=[{type:"oauth2",grantType:"authorization_code",authorizationUrl:"https://www.linkedin.com/oauth/v2/authorization",tokenUrl:"https://www.linkedin.com/oauth/v2/accessToken",scopes:e.scopes,pkce:!0}];if(e.clientCredentials)t.push({type:"oauth2",grantType:"client_credentials",tokenUrl:"https://www.linkedin.com/oauth/v2/accessToken",scopes:e.scopes});return a({meta:{key:e.key,version:"1.0.0",category:e.category,title:e.title,description:e.description,domain:"linkedin",owners:["platform.integrations"],tags:["linkedin",...e.tags],stability:l.Experimental},supportedModes:["byok"],credentialManifest:o({unsupportedModeReason:"Managed LinkedIn credentials require separately evidenced product and agreement approval.",secretFields:[{key:"clientId",required:!0},{key:"clientSecret",required:!0}],rotationSupported:!0,setupSteps:["Create or select a LinkedIn developer application.","Obtain approval for every required LinkedIn product.","Store client credentials and OAuth grants in a secret provider."]}),transports:[{type:"rest",baseUrl:"https://api.linkedin.com",defaultHeaders:{"X-Restli-Protocol-Version":"2.0.0"},apiVersionHeader:"LinkedIn-Version"},...e.webhooks?[{type:"webhook"}]:[]],preferredTransport:"rest",supportedAuthMethods:t,versionPolicy:{currentVersion:"202605",supportedVersions:[{version:"202605",status:"stable"}],versionHeader:"LinkedIn-Version"},capabilities:{provides:e.capabilities.map((n)=>({key:n,version:"1.0.0"}))},configSchema:{schema:{type:"object",required:["installationId"],properties:{installationId:{type:"string"},apiVersion:{type:"string"}}}},secretSchema:{schema:{type:"object",required:["clientId","clientSecret"],properties:{clientId:{type:"string"},clientSecret:{type:"string"}}},example:{clientId:"***",clientSecret:"***"}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:e.docsUrl,byokSetup:{setupInstructions:"Use only official LinkedIn APIs and an approved developer application. Product approval is evaluated per installation.",requiredScopes:e.scopes,keyRotationSupported:!0,quotaTrackingSupported:!0}})}var u=s({key:"advertising.linkedin-marketing",title:"LinkedIn Marketing",description:"Official LinkedIn ad accounts, campaigns, creatives, audiences, lead sync, reporting, and webhook contracts.",category:"analytics",tags:["marketing","ads","lead-sync","webhooks"],capabilities:["linkedin.analytics.ads.read","linkedin.leads.sync","linkedin.ads.accounts.read","linkedin.ads.campaigns.read","linkedin.ads.campaigns.write","linkedin.ads.creatives.write","linkedin.ads.audiences.read","linkedin.ads.reporting.read","linkedin.webhooks.subscriptions.manage","linkedin.webhooks.events.read"],scopes:["r_ads","rw_ads","r_ads_reporting","r_marketing_leadgen_automation"],docsUrl:"https://learn.microsoft.com/en-us/linkedin/marketing/",webhooks:!0,clientCredentials:!0});function C(e){return e.register(u)}export{u as linkedinMarketingIntegrationSpec,C as registerLinkedinMarketingIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as l}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as c}from"@lssm/lib.contracts-spec/registry";var d=(e)=>`${e.key}.v${e.version}`;class g extends c{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function y(e){return d(e)}var o=(e)=>e;function a({unsupportedModeReason:e,configFields:t,secretFields:n,rotationSupported:p=!1,setupSteps:r}){let i={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:p}};if(t)i.configFields=t;if(n)i.secretFields=n;if(r)i.setupSteps=r;return{modes:{byok:i},exempt:!0,exemptionReason:e}}function s(e){let t=[{type:"oauth2",grantType:"authorization_code",authorizationUrl:"https://www.linkedin.com/oauth/v2/authorization",tokenUrl:"https://www.linkedin.com/oauth/v2/accessToken",scopes:e.scopes,pkce:!0}];if(e.clientCredentials)t.push({type:"oauth2",grantType:"client_credentials",tokenUrl:"https://www.linkedin.com/oauth/v2/accessToken",scopes:e.scopes});return o({meta:{key:e.key,version:"1.0.0",category:e.category,title:e.title,description:e.description,domain:"linkedin",owners:["platform.integrations"],tags:["linkedin",...e.tags],stability:l.Experimental},supportedModes:["byok"],credentialManifest:a({unsupportedModeReason:"Managed LinkedIn credentials require separately evidenced product and agreement approval.",secretFields:[{key:"clientId",required:!0},{key:"clientSecret",required:!0}],rotationSupported:!0,setupSteps:["Create or select a LinkedIn developer application.","Obtain approval for every required LinkedIn product.","Store client credentials and OAuth grants in a secret provider."]}),transports:[{type:"rest",baseUrl:"https://api.linkedin.com",defaultHeaders:{"X-Restli-Protocol-Version":"2.0.0"},apiVersionHeader:"LinkedIn-Version"},...e.webhooks?[{type:"webhook"}]:[]],preferredTransport:"rest",supportedAuthMethods:t,versionPolicy:{currentVersion:"202605",supportedVersions:[{version:"202605",status:"stable"}],versionHeader:"LinkedIn-Version"},capabilities:{provides:e.capabilities.map((n)=>({key:n,version:"1.0.0"}))},configSchema:{schema:{type:"object",required:["installationId"],properties:{installationId:{type:"string"},apiVersion:{type:"string"}}}},secretSchema:{schema:{type:"object",required:["clientId","clientSecret"],properties:{clientId:{type:"string"},clientSecret:{type:"string"}}},example:{clientId:"***",clientSecret:"***"}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:e.docsUrl,byokSetup:{setupInstructions:"Use only official LinkedIn APIs and an approved developer application. Product approval is evaluated per installation.",requiredScopes:e.scopes,keyRotationSupported:!0,quotaTrackingSupported:!0}})}var m=s({key:"social-network.linkedin-member",title:"LinkedIn Member",description:"Official LinkedIn sign-in, authenticated member profile, connection, and member-share contracts.",category:"custom",tags:["member","identity","connections","posts"],capabilities:["linkedin.identity.member.read","linkedin.network.connections.read","linkedin.content.posts.draft","linkedin.content.posts.read","linkedin.content.posts.publish"],scopes:["openid","profile","w_member_social"],docsUrl:"https://learn.microsoft.com/en-us/linkedin/shared/authentication/getting-access"});function C(e){return e.register(m)}export{m as linkedinMemberIntegrationSpec,C as registerLinkedinMemberIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as l}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as c}from"@lssm/lib.contracts-spec/registry";var d=(e)=>`${e.key}.v${e.version}`;class g extends c{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function y(e){return d(e)}var o=(e)=>e;function a({unsupportedModeReason:e,configFields:t,secretFields:n,rotationSupported:p=!1,setupSteps:r}){let i={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:p}};if(t)i.configFields=t;if(n)i.secretFields=n;if(r)i.setupSteps=r;return{modes:{byok:i},exempt:!0,exemptionReason:e}}function s(e){let t=[{type:"oauth2",grantType:"authorization_code",authorizationUrl:"https://www.linkedin.com/oauth/v2/authorization",tokenUrl:"https://www.linkedin.com/oauth/v2/accessToken",scopes:e.scopes,pkce:!0}];if(e.clientCredentials)t.push({type:"oauth2",grantType:"client_credentials",tokenUrl:"https://www.linkedin.com/oauth/v2/accessToken",scopes:e.scopes});return o({meta:{key:e.key,version:"1.0.0",category:e.category,title:e.title,description:e.description,domain:"linkedin",owners:["platform.integrations"],tags:["linkedin",...e.tags],stability:l.Experimental},supportedModes:["byok"],credentialManifest:a({unsupportedModeReason:"Managed LinkedIn credentials require separately evidenced product and agreement approval.",secretFields:[{key:"clientId",required:!0},{key:"clientSecret",required:!0}],rotationSupported:!0,setupSteps:["Create or select a LinkedIn developer application.","Obtain approval for every required LinkedIn product.","Store client credentials and OAuth grants in a secret provider."]}),transports:[{type:"rest",baseUrl:"https://api.linkedin.com",defaultHeaders:{"X-Restli-Protocol-Version":"2.0.0"},apiVersionHeader:"LinkedIn-Version"},...e.webhooks?[{type:"webhook"}]:[]],preferredTransport:"rest",supportedAuthMethods:t,versionPolicy:{currentVersion:"202605",supportedVersions:[{version:"202605",status:"stable"}],versionHeader:"LinkedIn-Version"},capabilities:{provides:e.capabilities.map((n)=>({key:n,version:"1.0.0"}))},configSchema:{schema:{type:"object",required:["installationId"],properties:{installationId:{type:"string"},apiVersion:{type:"string"}}}},secretSchema:{schema:{type:"object",required:["clientId","clientSecret"],properties:{clientId:{type:"string"},clientSecret:{type:"string"}}},example:{clientId:"***",clientSecret:"***"}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:e.docsUrl,byokSetup:{setupInstructions:"Use only official LinkedIn APIs and an approved developer application. Product approval is evaluated per installation.",requiredScopes:e.scopes,keyRotationSupported:!0,quotaTrackingSupported:!0}})}var m=s({key:"messaging.linkedin",title:"LinkedIn Communications",description:"Partner-restricted official LinkedIn invitation, conversation, message, and inbox contracts.",category:"messaging",tags:["communications","invitations","inbox","approval-required"],capabilities:["linkedin.network.invitations.read","linkedin.network.invitations.write","linkedin.messaging.threads.read","linkedin.messaging.messages.read","linkedin.messaging.messages.write"],scopes:[],docsUrl:"https://learn.microsoft.com/en-us/linkedin/shared/integrations/communications/overview"});function M(e){return e.register(m)}export{m as linkedinMessagingIntegrationSpec,M as registerLinkedinMessagingIntegration};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { IntegrationSpecRegistry } from '../spec.js';
|
|
2
|
+
export declare const linkedinSalesNavigatorIntegrationSpec: import("..").IntegrationSpec;
|
|
3
|
+
export declare function registerLinkedinSalesNavigatorIntegration(registry: IntegrationSpecRegistry): IntegrationSpecRegistry;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as g}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as c}from"@lssm/lib.contracts-spec/registry";var d=(e)=>`${e.key}.v${e.version}`;class l extends c{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function y(e){return d(e)}var a=(e)=>e;function o({unsupportedModeReason:e,configFields:t,secretFields:n,rotationSupported:p=!1,setupSteps:r}){let i={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:p}};if(t)i.configFields=t;if(n)i.secretFields=n;if(r)i.setupSteps=r;return{modes:{byok:i},exempt:!0,exemptionReason:e}}function s(e){let t=[{type:"oauth2",grantType:"authorization_code",authorizationUrl:"https://www.linkedin.com/oauth/v2/authorization",tokenUrl:"https://www.linkedin.com/oauth/v2/accessToken",scopes:e.scopes,pkce:!0}];if(e.clientCredentials)t.push({type:"oauth2",grantType:"client_credentials",tokenUrl:"https://www.linkedin.com/oauth/v2/accessToken",scopes:e.scopes});return a({meta:{key:e.key,version:"1.0.0",category:e.category,title:e.title,description:e.description,domain:"linkedin",owners:["platform.integrations"],tags:["linkedin",...e.tags],stability:g.Experimental},supportedModes:["byok"],credentialManifest:o({unsupportedModeReason:"Managed LinkedIn credentials require separately evidenced product and agreement approval.",secretFields:[{key:"clientId",required:!0},{key:"clientSecret",required:!0}],rotationSupported:!0,setupSteps:["Create or select a LinkedIn developer application.","Obtain approval for every required LinkedIn product.","Store client credentials and OAuth grants in a secret provider."]}),transports:[{type:"rest",baseUrl:"https://api.linkedin.com",defaultHeaders:{"X-Restli-Protocol-Version":"2.0.0"},apiVersionHeader:"LinkedIn-Version"},...e.webhooks?[{type:"webhook"}]:[]],preferredTransport:"rest",supportedAuthMethods:t,versionPolicy:{currentVersion:"202605",supportedVersions:[{version:"202605",status:"stable"}],versionHeader:"LinkedIn-Version"},capabilities:{provides:e.capabilities.map((n)=>({key:n,version:"1.0.0"}))},configSchema:{schema:{type:"object",required:["installationId"],properties:{installationId:{type:"string"},apiVersion:{type:"string"}}}},secretSchema:{schema:{type:"object",required:["clientId","clientSecret"],properties:{clientId:{type:"string"},clientSecret:{type:"string"}}},example:{clientId:"***",clientSecret:"***"}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:e.docsUrl,byokSetup:{setupInstructions:"Use only official LinkedIn APIs and an approved developer application. Product approval is evaluated per installation.",requiredScopes:e.scopes,keyRotationSupported:!0,quotaTrackingSupported:!0}})}var m=s({key:"sales-intelligence.linkedin-sales-navigator",title:"LinkedIn Sales Navigator",description:"Partner-restricted official Sales Navigator lead, account, CRM Sync, association, and employment-validation contracts.",category:"crm",tags:["sales-navigator","crm-sync","approval-required"],capabilities:["linkedin.sales.leads.search","linkedin.sales.accounts.search","linkedin.sales.crm-sync","linkedin.sales.profile-association","linkedin.sales.employment-validation","linkedin.analytics.sales.read"],scopes:[],docsUrl:"https://learn.microsoft.com/en-us/linkedin/sales/"});function M(e){return e.register(m)}export{m as linkedinSalesNavigatorIntegrationSpec,M as registerLinkedinSalesNavigatorIntegration};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { LinkedInCapabilityId } from '../linkedin/index.js';
|
|
2
|
+
import type { IntegrationCategory, IntegrationSpec } from '../spec.js';
|
|
3
|
+
interface LinkedInProviderSpecOptions {
|
|
4
|
+
key: string;
|
|
5
|
+
title: string;
|
|
6
|
+
description: string;
|
|
7
|
+
category: IntegrationCategory;
|
|
8
|
+
tags: string[];
|
|
9
|
+
capabilities: readonly LinkedInCapabilityId[];
|
|
10
|
+
scopes: string[];
|
|
11
|
+
docsUrl: string;
|
|
12
|
+
webhooks?: boolean;
|
|
13
|
+
clientCredentials?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function defineLinkedInProviderSpec(options: LinkedInProviderSpecOptions): IntegrationSpec;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as g}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as p}from"@lssm/lib.contracts-spec/registry";var c=(e)=>`${e.key}.v${e.version}`;class d extends p{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function u(e){return c(e)}var o=(e)=>e;function a({unsupportedModeReason:e,configFields:t,secretFields:n,rotationSupported:s=!1,setupSteps:i}){let r={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:s}};if(t)r.configFields=t;if(n)r.secretFields=n;if(i)r.setupSteps=i;return{modes:{byok:r},exempt:!0,exemptionReason:e}}function k(e){let t=[{type:"oauth2",grantType:"authorization_code",authorizationUrl:"https://www.linkedin.com/oauth/v2/authorization",tokenUrl:"https://www.linkedin.com/oauth/v2/accessToken",scopes:e.scopes,pkce:!0}];if(e.clientCredentials)t.push({type:"oauth2",grantType:"client_credentials",tokenUrl:"https://www.linkedin.com/oauth/v2/accessToken",scopes:e.scopes});return o({meta:{key:e.key,version:"1.0.0",category:e.category,title:e.title,description:e.description,domain:"linkedin",owners:["platform.integrations"],tags:["linkedin",...e.tags],stability:g.Experimental},supportedModes:["byok"],credentialManifest:a({unsupportedModeReason:"Managed LinkedIn credentials require separately evidenced product and agreement approval.",secretFields:[{key:"clientId",required:!0},{key:"clientSecret",required:!0}],rotationSupported:!0,setupSteps:["Create or select a LinkedIn developer application.","Obtain approval for every required LinkedIn product.","Store client credentials and OAuth grants in a secret provider."]}),transports:[{type:"rest",baseUrl:"https://api.linkedin.com",defaultHeaders:{"X-Restli-Protocol-Version":"2.0.0"},apiVersionHeader:"LinkedIn-Version"},...e.webhooks?[{type:"webhook"}]:[]],preferredTransport:"rest",supportedAuthMethods:t,versionPolicy:{currentVersion:"202605",supportedVersions:[{version:"202605",status:"stable"}],versionHeader:"LinkedIn-Version"},capabilities:{provides:e.capabilities.map((n)=>({key:n,version:"1.0.0"}))},configSchema:{schema:{type:"object",required:["installationId"],properties:{installationId:{type:"string"},apiVersion:{type:"string"}}}},secretSchema:{schema:{type:"object",required:["clientId","clientSecret"],properties:{clientId:{type:"string"},clientSecret:{type:"string"}}},example:{clientId:"***",clientSecret:"***"}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:e.docsUrl,byokSetup:{setupInstructions:"Use only official LinkedIn APIs and an approved developer application. Product approval is evaluated per installation.",requiredScopes:e.scopes,keyRotationSupported:!0,quotaTrackingSupported:!0}})}export{k as defineLinkedInProviderSpec};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as l}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as c}from"@lssm/lib.contracts-spec/registry";var g=(e)=>`${e.key}.v${e.version}`;class d extends c{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function u(e){return g(e)}var o=(e)=>e;function a({unsupportedModeReason:e,configFields:t,secretFields:n,rotationSupported:p=!1,setupSteps:i}){let r={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:p}};if(t)r.configFields=t;if(n)r.secretFields=n;if(i)r.setupSteps=i;return{modes:{byok:r},exempt:!0,exemptionReason:e}}function s(e){return o({meta:{key:e.key,version:e.version??"1.0.0",category:"custom",title:e.title,description:e.description,domain:"knowledge",owners:["platform.ai"],tags:["web-access",...e.tags],stability:l.Experimental},supportedModes:["byok"],credentialManifest:a({unsupportedModeReason:"Managed credentials are not shipped; tenants must supply provider-owned credentials through a SecretProvider.",secretFields:e.secretFields.map((t)=>({key:t})),rotationSupported:!1}),transports:e.transports,preferredTransport:e.preferredTransport,supportedAuthMethods:e.auth,capabilities:{provides:e.capabilities.map((t)=>({key:t,version:"1.0.0"}))},configSchema:{schema:{type:"object",properties:{baseUrl:{type:"string"},policyMode:{type:"string",enum:["governed","provider-pass-through","public-only"]},...e.configProperties}}},secretSchema:{schema:{type:"object",properties:Object.fromEntries(e.secretFields.map((t)=>[t,{type:"string"}]))},example:Object.fromEntries(e.secretFields.map((t)=>[t,"***"]))},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:e.docsUrl,byokSetup:{setupInstructions:"Resolve provider credentials at execution time through SecretProvider; never persist credentials in integration config.",keyRotationSupported:!1,quotaTrackingSupported:!0}})}var m=s({key:"web-access.linkup",title:"Linkup Web Access",description:"Linkup Search, Fetch, Research, asynchronous Tasks, SDK, x402, and MCP access.",tags:["search","fetch","research","mcp"],transports:[{type:"sdk",packageName:"linkup-sdk",minVersion:"3.4.0",runtime:"node"},{type:"rest",baseUrl:"https://api.linkup.so/v1"},{type:"mcp",transport:"http",url:"https://mcp.linkup.so/mcp",toolPrefix:"linkup"},{type:"mcp",transport:"stdio",command:"npx",args:["-y","linkup-mcp-server"],toolPrefix:"linkup"}],preferredTransport:"sdk",auth:[{type:"bearer",tokenField:"apiKey"},{type:"x402",authority:"injected-payment-port"}],secretFields:["apiKey","mcpToken"],capabilities:["web.search","web.fetch","web.research","provider.mcp.linkup"],docsUrl:"https://docs.linkup.so/pages/documentation/get-started/introduction"});function x(e){return e.register(m)}export{m as linkupIntegrationSpec,x as registerLinkupIntegration};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export type LLMRole = 'system' | 'user' | 'assistant' | 'tool';
|
|
2
|
+
export interface LLMTextPart {
|
|
3
|
+
type: 'text';
|
|
4
|
+
text: string;
|
|
5
|
+
}
|
|
6
|
+
export interface LLMToolCallPart {
|
|
7
|
+
type: 'tool-call';
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
arguments: string;
|
|
11
|
+
}
|
|
12
|
+
export interface LLMToolResultPart {
|
|
13
|
+
type: 'tool-result';
|
|
14
|
+
toolCallId: string;
|
|
15
|
+
output: string;
|
|
16
|
+
}
|
|
17
|
+
export type LLMContentPart = LLMTextPart | LLMToolCallPart | LLMToolResultPart;
|
|
18
|
+
export interface LLMMessage {
|
|
19
|
+
role: LLMRole;
|
|
20
|
+
content: LLMContentPart[];
|
|
21
|
+
name?: string;
|
|
22
|
+
toolCallId?: string;
|
|
23
|
+
metadata?: Record<string, string>;
|
|
24
|
+
}
|
|
25
|
+
export interface LLMToolDefinition {
|
|
26
|
+
name: string;
|
|
27
|
+
description?: string;
|
|
28
|
+
inputSchema: unknown;
|
|
29
|
+
}
|
|
30
|
+
export interface LLMTokenUsage {
|
|
31
|
+
promptTokens: number;
|
|
32
|
+
completionTokens: number;
|
|
33
|
+
totalTokens: number;
|
|
34
|
+
}
|
|
35
|
+
export interface LLMChatOptions {
|
|
36
|
+
model?: string;
|
|
37
|
+
temperature?: number;
|
|
38
|
+
topP?: number;
|
|
39
|
+
maxOutputTokens?: number;
|
|
40
|
+
stopSequences?: string[];
|
|
41
|
+
responseFormat?: 'text' | 'json';
|
|
42
|
+
tools?: LLMToolDefinition[];
|
|
43
|
+
userId?: string;
|
|
44
|
+
metadata?: Record<string, string>;
|
|
45
|
+
timeoutMs?: number;
|
|
46
|
+
signal?: AbortSignal;
|
|
47
|
+
}
|
|
48
|
+
export interface LLMResponse {
|
|
49
|
+
message: LLMMessage;
|
|
50
|
+
usage?: LLMTokenUsage;
|
|
51
|
+
finishReason?: 'stop' | 'length' | 'tool_call' | 'content_filter';
|
|
52
|
+
raw?: unknown;
|
|
53
|
+
}
|
|
54
|
+
export type LLMStreamChunk = {
|
|
55
|
+
type: 'message_delta';
|
|
56
|
+
delta: LLMContentPart;
|
|
57
|
+
index: number;
|
|
58
|
+
} | {
|
|
59
|
+
type: 'tool_call';
|
|
60
|
+
call: LLMToolCallPart;
|
|
61
|
+
index: number;
|
|
62
|
+
} | {
|
|
63
|
+
type: 'usage';
|
|
64
|
+
usage: LLMTokenUsage;
|
|
65
|
+
} | {
|
|
66
|
+
type: 'error';
|
|
67
|
+
error: Error;
|
|
68
|
+
} | {
|
|
69
|
+
type: 'end';
|
|
70
|
+
response: LLMResponse;
|
|
71
|
+
};
|
|
72
|
+
export interface TokenCountResult {
|
|
73
|
+
promptTokens: number;
|
|
74
|
+
}
|
|
75
|
+
export interface LLMProvider {
|
|
76
|
+
chat(messages: LLMMessage[], options?: LLMChatOptions): Promise<LLMResponse>;
|
|
77
|
+
stream(messages: LLMMessage[], options?: LLMChatOptions): AsyncIterable<LLMStreamChunk>;
|
|
78
|
+
countTokens(messages: LLMMessage[]): Promise<TokenCountResult>;
|
|
79
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// @bun
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IntegrationSpecRegistry } from '../spec.js';
|
|
2
|
+
/** Original 1.0 metadata retained exactly for pinned consumers. */
|
|
3
|
+
export declare const massiveIntegrationSpec: import("..").IntegrationSpec;
|
|
4
|
+
export declare const massiveIntegrationSpecV1_1: import("..").IntegrationSpec;
|
|
5
|
+
export declare function registerMassiveIntegration(registry: IntegrationSpecRegistry): IntegrationSpecRegistry;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as m}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as g}from"@lssm/lib.contracts-spec/registry";var d=(e)=>`${e.key}.v${e.version}`;class l extends g{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function b(e){return d(e)}var s=(e)=>e;function a({unsupportedModeReason:e,configFields:t,secretFields:n,rotationSupported:c=!1,setupSteps:i}){let r={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:c}};if(t)r.configFields=t;if(n)r.secretFields=n;if(i)r.setupSteps=i;return{modes:{byok:r},exempt:!0,exemptionReason:e}}function o(e){return s({meta:{key:e.key,version:e.version??"1.0.0",category:"custom",title:e.title,description:e.description,domain:"knowledge",owners:["platform.ai"],tags:["web-access",...e.tags],stability:m.Experimental},supportedModes:["byok"],credentialManifest:a({unsupportedModeReason:"Managed credentials are not shipped; tenants must supply provider-owned credentials through a SecretProvider.",secretFields:e.secretFields.map((t)=>({key:t})),rotationSupported:!1}),transports:e.transports,preferredTransport:e.preferredTransport,supportedAuthMethods:e.auth,capabilities:{provides:e.capabilities.map((t)=>({key:t,version:"1.0.0"}))},configSchema:{schema:{type:"object",properties:{baseUrl:{type:"string"},policyMode:{type:"string",enum:["governed","provider-pass-through","public-only"]},...e.configProperties}}},secretSchema:{schema:{type:"object",properties:Object.fromEntries(e.secretFields.map((t)=>[t,{type:"string"}]))},example:Object.fromEntries(e.secretFields.map((t)=>[t,"***"]))},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:e.docsUrl,byokSetup:{setupInstructions:"Resolve provider credentials at execution time through SecretProvider; never persist credentials in integration config.",keyRotationSupported:!1,quotaTrackingSupported:!0}})}var p={key:"web-access.massive",title:"Massive Web Access",description:"Massive Web Render search/browser execution, CDP sessions, reporting, and residential proxy access.",tags:["render","browser","residential-proxy"],preferredTransport:"rest",secretFields:["apiKey","proxyUsername","proxyPassword"],capabilities:["web.search","web.fetch","web.browser","web.proxy","web.usage"],docsUrl:"https://docs.joinmassive.com/llms.txt"},y=o({...p,transports:[{type:"rest",baseUrl:"https://render.joinmassive.com"},{type:"websocket",url:"wss://render.joinmassive.com/browser",protocol:"cdp",discoveryOperationKey:"web-access.massive.browser.connection.describe"},{type:"proxy",protocols:["http","https","socks5","socks5h"],remoteDns:!0,geoTargeting:!0,stickySessions:!0}],auth:[{type:"header",headerName:"X-API-Key"},{type:"basic",usernameField:"proxyUsername",passwordField:"proxyPassword"}]}),u=o({...p,version:"1.1.0",transports:[{type:"rest",baseUrl:"https://render.joinmassive.com"},{type:"webhook",inbound:{verification:"host-policy",reason:"Massive callbacks have no advertised signature; bind an opaque route secret and host network policy.",registrationSupported:!1}},{type:"websocket",url:"wss://render.joinmassive.com/browser",protocol:"cdp",discoveryOperationKey:"web-access.massive.browser.connection.describe"},{type:"proxy",protocols:["http","https","socks5","socks5h"],host:"network.joinmassive.com",ports:{http:65534,https:65535,socks5:65533,socks5h:65533},remoteDns:!0,geoTargeting:!0,stickySessions:!0}],auth:[{type:"bearer",tokenField:"apiKey"},{type:"basic",usernameField:"proxyUsername",passwordField:"proxyPassword"}]});function w(e){return e.register(y).register(u)}export{y as massiveIntegrationSpec,u as massiveIntegrationSpecV1_1,w as registerMassiveIntegration};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { MeetingTranscriptSegment } from './meeting-recorder.js';
|
|
2
|
+
export type MeetingCaptureState = 'scheduled' | 'joining' | 'waiting_room' | 'recording' | 'paused' | 'stopping' | 'processing' | 'ready' | 'failed' | 'deleted' | 'unknown';
|
|
3
|
+
/** Provider identities are private integration data; hosts encrypt them at rest. */
|
|
4
|
+
export interface MeetingCaptureStatus {
|
|
5
|
+
readonly providerCaptureId: string;
|
|
6
|
+
readonly state: MeetingCaptureState;
|
|
7
|
+
readonly transcriptReady: boolean;
|
|
8
|
+
readonly recordingReady: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface MeetingCaptureStart {
|
|
11
|
+
readonly captureRef: string;
|
|
12
|
+
readonly meetingUrl: string;
|
|
13
|
+
readonly platform: 'google_meet' | 'microsoft_teams';
|
|
14
|
+
readonly displayName: string;
|
|
15
|
+
readonly media: 'audio' | 'audio_video';
|
|
16
|
+
readonly joinAt?: string;
|
|
17
|
+
/** Stable, opaque deduplication key owned by the durable capture ledger. */
|
|
18
|
+
readonly idempotencyKey: string;
|
|
19
|
+
}
|
|
20
|
+
export interface MeetingCaptureIdentity {
|
|
21
|
+
readonly captureRef: string;
|
|
22
|
+
readonly providerCaptureId: string;
|
|
23
|
+
}
|
|
24
|
+
export type MeetingCaptureAction = 'start' | 'read' | 'pause' | 'resume' | 'stop' | 'delete_media' | 'transcript';
|
|
25
|
+
/** Exact attempted effect, compared by the host with the durable owner-scoped capture ledger. */
|
|
26
|
+
export type MeetingCaptureAuthorityRequest = {
|
|
27
|
+
readonly action: 'start';
|
|
28
|
+
readonly captureRef: string;
|
|
29
|
+
readonly start: Readonly<MeetingCaptureStart>;
|
|
30
|
+
} | {
|
|
31
|
+
readonly action: 'read';
|
|
32
|
+
readonly captureRef: string;
|
|
33
|
+
readonly idempotencyKey: string;
|
|
34
|
+
} | {
|
|
35
|
+
readonly action: Exclude<MeetingCaptureAction, 'start'>;
|
|
36
|
+
readonly captureRef: string;
|
|
37
|
+
readonly providerCaptureId: string;
|
|
38
|
+
};
|
|
39
|
+
export interface MeetingCaptureAuthorityPort {
|
|
40
|
+
/** Reprove current scope/consent/policy and exact provider binding or start intent before invoking run. Never derive authority from supplied request fields. */
|
|
41
|
+
runAuthorized<T>(input: MeetingCaptureAuthorityRequest, run: () => Promise<T>): Promise<T>;
|
|
42
|
+
}
|
|
43
|
+
export interface MeetingBotCaptureProvider {
|
|
44
|
+
start(input: MeetingCaptureStart): Promise<MeetingCaptureStatus>;
|
|
45
|
+
get(input: MeetingCaptureIdentity, signal?: AbortSignal): Promise<MeetingCaptureStatus>;
|
|
46
|
+
pause(input: MeetingCaptureIdentity): Promise<MeetingCaptureStatus>;
|
|
47
|
+
resume(input: MeetingCaptureIdentity): Promise<MeetingCaptureStatus>;
|
|
48
|
+
stop(input: MeetingCaptureIdentity): Promise<MeetingCaptureStatus>;
|
|
49
|
+
deleteMedia(input: MeetingCaptureIdentity): Promise<MeetingCaptureStatus>;
|
|
50
|
+
transcript(input: MeetingCaptureIdentity): Promise<readonly MeetingTranscriptSegment[]>;
|
|
51
|
+
/** A null result is not proof that an ambiguous create never reached the provider. */
|
|
52
|
+
reconcile(input: {
|
|
53
|
+
readonly captureRef: string;
|
|
54
|
+
readonly idempotencyKey: string;
|
|
55
|
+
}): Promise<MeetingCaptureStatus | null>;
|
|
56
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// @bun
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
export interface MeetingParticipant {
|
|
2
|
+
id?: string;
|
|
3
|
+
externalId?: string;
|
|
4
|
+
name?: string;
|
|
5
|
+
email?: string;
|
|
6
|
+
role?: string;
|
|
7
|
+
isExternal?: boolean;
|
|
8
|
+
metadata?: Record<string, unknown>;
|
|
9
|
+
}
|
|
10
|
+
export interface MeetingRecord {
|
|
11
|
+
id: string;
|
|
12
|
+
tenantId: string;
|
|
13
|
+
connectionId: string;
|
|
14
|
+
externalId: string;
|
|
15
|
+
title?: string;
|
|
16
|
+
summary?: string;
|
|
17
|
+
organizer?: MeetingParticipant;
|
|
18
|
+
invitees?: MeetingParticipant[];
|
|
19
|
+
participants?: MeetingParticipant[];
|
|
20
|
+
scheduledStartAt?: string;
|
|
21
|
+
scheduledEndAt?: string;
|
|
22
|
+
recordingStartAt?: string;
|
|
23
|
+
recordingEndAt?: string;
|
|
24
|
+
durationSeconds?: number;
|
|
25
|
+
meetingUrl?: string;
|
|
26
|
+
recordingUrl?: string;
|
|
27
|
+
shareUrl?: string;
|
|
28
|
+
sourcePlatform?: string;
|
|
29
|
+
language?: string;
|
|
30
|
+
transcriptAvailable?: boolean;
|
|
31
|
+
createdAt?: string;
|
|
32
|
+
updatedAt?: string;
|
|
33
|
+
metadata?: Record<string, unknown>;
|
|
34
|
+
}
|
|
35
|
+
export interface MeetingTranscriptSegment {
|
|
36
|
+
index?: number;
|
|
37
|
+
speakerId?: string;
|
|
38
|
+
speakerName?: string;
|
|
39
|
+
speakerEmail?: string;
|
|
40
|
+
text: string;
|
|
41
|
+
startTimeMs?: number;
|
|
42
|
+
endTimeMs?: number;
|
|
43
|
+
startTime?: string;
|
|
44
|
+
endTime?: string;
|
|
45
|
+
confidence?: number;
|
|
46
|
+
metadata?: Record<string, unknown>;
|
|
47
|
+
}
|
|
48
|
+
export interface MeetingTranscriptRecord {
|
|
49
|
+
id: string;
|
|
50
|
+
meetingId: string;
|
|
51
|
+
tenantId: string;
|
|
52
|
+
connectionId: string;
|
|
53
|
+
externalId?: string;
|
|
54
|
+
format?: string;
|
|
55
|
+
text?: string;
|
|
56
|
+
segments?: MeetingTranscriptSegment[];
|
|
57
|
+
language?: string;
|
|
58
|
+
sourceUrl?: string;
|
|
59
|
+
generatedAt?: string;
|
|
60
|
+
metadata?: Record<string, unknown>;
|
|
61
|
+
raw?: unknown;
|
|
62
|
+
}
|
|
63
|
+
export interface MeetingRecorderListMeetingsParams {
|
|
64
|
+
tenantId: string;
|
|
65
|
+
connectionId?: string;
|
|
66
|
+
from?: string;
|
|
67
|
+
to?: string;
|
|
68
|
+
cursor?: string;
|
|
69
|
+
pageSize?: number;
|
|
70
|
+
query?: string;
|
|
71
|
+
organizerEmail?: string;
|
|
72
|
+
participantEmail?: string;
|
|
73
|
+
includeTranscript?: boolean;
|
|
74
|
+
includeSummary?: boolean;
|
|
75
|
+
}
|
|
76
|
+
export interface MeetingRecorderListMeetingsResult {
|
|
77
|
+
meetings: MeetingRecord[];
|
|
78
|
+
nextCursor?: string;
|
|
79
|
+
hasMore?: boolean;
|
|
80
|
+
}
|
|
81
|
+
export interface MeetingRecorderGetMeetingParams {
|
|
82
|
+
tenantId: string;
|
|
83
|
+
meetingId: string;
|
|
84
|
+
connectionId?: string;
|
|
85
|
+
includeTranscript?: boolean;
|
|
86
|
+
includeSummary?: boolean;
|
|
87
|
+
}
|
|
88
|
+
export interface MeetingRecorderGetTranscriptParams {
|
|
89
|
+
tenantId: string;
|
|
90
|
+
meetingId: string;
|
|
91
|
+
connectionId?: string;
|
|
92
|
+
includeSegments?: boolean;
|
|
93
|
+
format?: string;
|
|
94
|
+
}
|
|
95
|
+
export interface MeetingRecorderWebhookRequest {
|
|
96
|
+
headers: Record<string, string | string[] | undefined>;
|
|
97
|
+
rawBody: string;
|
|
98
|
+
parsedBody?: unknown;
|
|
99
|
+
}
|
|
100
|
+
export interface MeetingRecorderWebhookEvent {
|
|
101
|
+
providerKey: string;
|
|
102
|
+
eventType?: string;
|
|
103
|
+
meetingId?: string;
|
|
104
|
+
transcriptId?: string;
|
|
105
|
+
recordingId?: string;
|
|
106
|
+
receivedAt?: string;
|
|
107
|
+
verified?: boolean;
|
|
108
|
+
payload?: unknown;
|
|
109
|
+
metadata?: Record<string, unknown>;
|
|
110
|
+
}
|
|
111
|
+
export interface MeetingRecorderWebhookRegistration {
|
|
112
|
+
url: string;
|
|
113
|
+
includeTranscript?: boolean;
|
|
114
|
+
includeSummary?: boolean;
|
|
115
|
+
includeActionItems?: boolean;
|
|
116
|
+
includeCrmMatches?: boolean;
|
|
117
|
+
triggeredFor?: string[];
|
|
118
|
+
}
|
|
119
|
+
export interface MeetingRecorderProvider {
|
|
120
|
+
listMeetings(params: MeetingRecorderListMeetingsParams): Promise<MeetingRecorderListMeetingsResult>;
|
|
121
|
+
getMeeting(params: MeetingRecorderGetMeetingParams): Promise<MeetingRecord>;
|
|
122
|
+
getTranscript(params: MeetingRecorderGetTranscriptParams): Promise<MeetingTranscriptRecord>;
|
|
123
|
+
parseWebhook?(request: MeetingRecorderWebhookRequest): Promise<MeetingRecorderWebhookEvent>;
|
|
124
|
+
verifyWebhook?(request: MeetingRecorderWebhookRequest): Promise<boolean>;
|
|
125
|
+
registerWebhook?(registration: MeetingRecorderWebhookRegistration): Promise<{
|
|
126
|
+
id: string;
|
|
127
|
+
secret?: string;
|
|
128
|
+
}>;
|
|
129
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// @bun
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IntegrationSpecRegistry } from '../spec.js';
|
|
2
|
+
/**
|
|
3
|
+
* GitHub Integration Spec v2.0.0
|
|
4
|
+
*
|
|
5
|
+
* Full-featured GitHub integration with repository, issue, and PR management,
|
|
6
|
+
* OAuth2 and GitHub App authentication, MCP server support, and comprehensive webhook handling.
|
|
7
|
+
*/
|
|
8
|
+
export declare const messagingGithubIntegrationSpec: import("..").IntegrationSpec;
|
|
9
|
+
export declare function registerMessagingGithubIntegration(registry: IntegrationSpecRegistry): IntegrationSpecRegistry;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as a}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as i}from"@lssm/lib.contracts-spec/registry";var n=(e)=>`${e.key}.v${e.version}`;class o extends i{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((r)=>r.meta.category===e)}}function g(e){return n(e)}var t=(e)=>e;var s=t({meta:{key:"messaging.github",version:"2.0.0",category:"messaging",title:"GitHub",description:"Full-featured GitHub integration with repository, issue, and pull request management, OAuth2 and GitHub App authentication, MCP server support, and comprehensive webhook handling.",domain:"developer-experience",owners:["platform.integrations"],tags:["messaging","github","repository","issues","pull-requests","oauth2","github-app","mcp","webhooks"],stability:a.Stable},supportedModes:["managed","byok"],transports:[{type:"rest",baseUrl:"https://api.github.com",apiVersionHeader:"X-GitHub-Api-Version"},{type:"webhook",inbound:{signatureHeader:"x-hub-signature-256",signingAlgorithm:"hmac-sha256"}}],preferredTransport:"rest",supportedAuthMethods:[{type:"bearer"},{type:"oauth2",grantType:"authorization_code",authorizationUrl:"https://github.com/login/oauth/authorize",tokenUrl:"https://github.com/login/oauth/access_token",scopes:["repo","read:org"]},{type:"webhook-signing",algorithm:"hmac-sha256",signatureHeader:"x-hub-signature-256"}],versionPolicy:{currentVersion:"2022-11-28",supportedVersions:[{version:"2022-11-28",status:"stable"}],versionHeader:"X-GitHub-Api-Version"},capabilities:{provides:[{key:"messaging.inbound",version:"1.0.0"},{key:"messaging.outbound",version:"1.0.0"},{key:"repository.github",version:"1.0.0"},{key:"issues.github",version:"1.0.0"},{key:"pull-requests.github",version:"1.0.0"},{key:"provider.mcp.github",version:"1.0.0"},{key:"provider.webhook.github",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{defaultOwner:{type:"string",description:"Optional default GitHub repository owner."},defaultRepo:{type:"string",description:"Optional default GitHub repository name."},apiBaseUrl:{type:"string",description:"Optional GitHub REST API base URL (useful for enterprise instances)."}}},example:{defaultOwner:"lssm-tech",defaultRepo:"contractspec"}},secretSchema:{schema:{type:"object",required:["token","webhookSecret"],properties:{token:{type:"string",description:"GitHub API token used to post comments and automation messages."},webhookSecret:{type:"string",description:"Secret used to verify inbound GitHub webhook signatures."}}},example:{token:"ghp_***",webhookSecret:"***"}},healthCheck:{method:"custom",timeoutMs:4000},docsUrl:"https://docs.github.com/en/rest",constraints:{rateLimit:{rpm:300}},byokSetup:{setupInstructions:"Create a GitHub token or app installation token with repository access and configure the webhook secret.",requiredScopes:["repo","read:org"],keyRotationSupported:!0,quotaTrackingSupported:!1}});function m(e){return e.register(s)}export{s as messagingGithubIntegrationSpec,m as registerMessagingGithubIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as o}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as i}from"@lssm/lib.contracts-spec/registry";var n=(e)=>`${e.key}.v${e.version}`;class a extends i{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((r)=>r.meta.category===e)}}function g(e){return n(e)}var t=(e)=>e;var s=t({meta:{key:"messaging.matrix",version:"1.0.0",category:"messaging",title:"Matrix",description:"Matrix managed/BYOK messaging integration for room events, outbound replies, and bridge-aware interoperability metadata.",domain:"communications",owners:["platform.messaging"],tags:["messaging","matrix","rooms","bridges","interoperability","byok"],stability:o.Beta},supportedModes:["managed","byok"],transports:[{type:"sdk",packageName:"matrix-js-sdk",minVersion:"38.0.0",runtime:"universal"},{type:"rest",acceptContentTypes:["application/json"]}],preferredTransport:"sdk",supportedAuthMethods:[{type:"bearer",tokenField:"accessToken"}],capabilities:{provides:[{key:"messaging.inbound",version:"1.0.0"},{key:"messaging.outbound",version:"1.0.0"},{key:"messaging.matrix.rooms",version:"1.0.0"},{key:"messaging.bridge.metadata",version:"1.0.0"}]},configSchema:{schema:{type:"object",required:["homeserverUrl"],properties:{homeserverUrl:{type:"string",description:"Matrix homeserver base URL for Client-Server API access."},defaultRoomId:{type:"string",description:"Optional default Matrix room ID for outbound messages."},defaultUserId:{type:"string",description:"Optional Matrix user ID associated with the connection."},bridgeMode:{type:"string",enum:["none","external","managed-metadata"],description:"Whether this connection describes externally managed Matrix bridges."}}},example:{homeserverUrl:"https://matrix.example.com",defaultRoomId:"!room:example.com",defaultUserId:"@contractspec:example.com",bridgeMode:"managed-metadata"}},secretSchema:{schema:{type:"object",required:["accessToken"],properties:{accessToken:{type:"string",description:"Matrix access token used by the SDK-backed adapter."},deviceId:{type:"string",description:"Optional Matrix device ID for deployments that bind a bot device."},appserviceToken:{type:"string",description:"Optional externally managed appservice token when a bridge operator provides one."}}},example:{accessToken:"***",deviceId:"DEVICEID"}},bridgeMetadata:{provisioning:"external",preserveDirectProviders:!0,docsUrl:"https://matrix.org/ecosystem/bridges/",targets:[{key:"slack",capabilities:[{key:"messaging.inbound",version:"1.0.0"}],directProviderPreferred:!0,caveats:["Use the direct Slack provider when first-party API access is configured."]},{key:"telegram",capabilities:[{key:"messaging.inbound",version:"1.0.0"}],directProviderPreferred:!0},{key:"whatsapp",capabilities:[{key:"messaging.inbound",version:"1.0.0"}],directProviderPreferred:!0},{key:"discord",capabilities:[{key:"messaging.inbound",version:"1.0.0"}],directProviderPreferred:!1},{key:"email",capabilities:[{key:"messaging.inbound",version:"1.0.0"}],directProviderPreferred:!0},{key:"signal",capabilities:[{key:"messaging.inbound",version:"1.0.0"}],directProviderPreferred:!1},{key:"sms",capabilities:[{key:"messaging.inbound",version:"1.0.0"}],directProviderPreferred:!0},{key:"teams",capabilities:[{key:"messaging.inbound",version:"1.0.0"}],directProviderPreferred:!0},{key:"github",capabilities:[{key:"messaging.inbound",version:"1.0.0"}],directProviderPreferred:!0},{key:"irc",capabilities:[{key:"messaging.inbound",version:"1.0.0"}],directProviderPreferred:!1},{key:"xmpp",capabilities:[{key:"messaging.inbound",version:"1.0.0"}],directProviderPreferred:!1},{key:"zulip",capabilities:[{key:"messaging.inbound",version:"1.0.0"}],directProviderPreferred:!1},{key:"mattermost",capabilities:[{key:"messaging.inbound",version:"1.0.0"}],directProviderPreferred:!1}]},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:"https://matrix.org/docs/",byokSetup:{setupInstructions:"Provide an existing Matrix homeserver URL, bot/user access token, and optional default room. Homeserver hosting and bridge provisioning are operated outside this package.",keyRotationSupported:!0,quotaTrackingSupported:!1,provisioningSteps:["Choose or operate a Matrix homeserver outside ContractSpec.","Create a Matrix bot/user and obtain an access token.","Invite the bot/user to rooms that ContractSpec may read or write.","Configure any bridges externally and record bridge metadata on the connection."]}});function y(e){return e.register(s)}export{s as messagingMatrixIntegrationSpec,y as registerMessagingMatrixIntegration};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IntegrationSpecRegistry } from '../spec.js';
|
|
2
|
+
/**
|
|
3
|
+
* Slack Integration Spec v2.0.0
|
|
4
|
+
*
|
|
5
|
+
* Full-featured Slack integration with messaging, conversations, users,
|
|
6
|
+
* reactions, files, and search — plus MCP server, OAuth2, and Event API support.
|
|
7
|
+
*/
|
|
8
|
+
export declare const messagingSlackIntegrationSpec: import("..").IntegrationSpec;
|
|
9
|
+
export declare function registerMessagingSlackIntegration(registry: IntegrationSpecRegistry): IntegrationSpecRegistry;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as o}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as n}from"@lssm/lib.contracts-spec/registry";var i=(e)=>`${e.key}.v${e.version}`;class a extends n{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((r)=>r.meta.category===e)}}function c(e){return i(e)}var t=(e)=>e;var s=t({meta:{key:"messaging.slack",version:"2.0.0",category:"messaging",title:"Slack",description:"Full-featured Slack integration with messaging, conversations, users, reactions, files, and search \u2014 plus OAuth2, MCP server, and Event API support.",domain:"communications",owners:["platform.messaging"],tags:["messaging","slack","conversations","users","reactions","files","search","oauth2","mcp","webhooks"],stability:o.Stable},supportedModes:["managed","byok"],transports:[{type:"rest",baseUrl:"https://slack.com/api"},{type:"webhook",inbound:{signatureHeader:"x-slack-signature",signingAlgorithm:"hmac-sha256"}},{type:"sdk",packageName:"@slack/web-api"}],preferredTransport:"rest",supportedAuthMethods:[{type:"oauth2",grantType:"authorization_code",authorizationUrl:"https://slack.com/oauth/v2/authorize",tokenUrl:"https://slack.com/api/oauth.v2.access",scopes:["chat:write","channels:history","channels:read","channels:manage","users:read","users:read.email","reactions:write","reactions:read","files:write","files:read","search:read","commands"]},{type:"bearer"},{type:"webhook-signing",algorithm:"hmac-sha256",signatureHeader:"x-slack-signature"}],capabilities:{provides:[{key:"messaging.inbound",version:"1.0.0"},{key:"messaging.outbound",version:"1.0.0"},{key:"messaging.interactions",version:"1.0.0"},{key:"conversations.slack",version:"1.0.0"},{key:"users.slack",version:"1.0.0"},{key:"reactions.slack",version:"1.0.0"},{key:"files.slack",version:"1.0.0"},{key:"search.slack",version:"1.0.0"},{key:"provider.mcp.slack",version:"1.0.0"},{key:"provider.webhook.slack",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{defaultChannelId:{type:"string",description:"Optional default Slack channel ID for outbound messages."},apiBaseUrl:{type:"string",description:"Optional Slack API base URL (for enterprise grid instances)."},allowUserMentions:{type:"boolean",description:"Whether user mention expansion is enabled in responses."}}},example:{defaultChannelId:"C0123456789",allowUserMentions:!0}},secretSchema:{schema:{type:"object",required:["botToken","signingSecret"],properties:{botToken:{type:"string",description:"Slack bot token (xoxb-*) used for Web API calls."},userToken:{type:"string",description:"Optional Slack user token (xoxp-*) for user-scoped operations."},signingSecret:{type:"string",description:"Slack signing secret used to verify inbound webhook signatures."},appToken:{type:"string",description:"Optional app-level token for socket mode or advanced API usage."}}},example:{botToken:"xoxb-***",signingSecret:"***"}},healthCheck:{method:"custom",timeoutMs:4000},docsUrl:"https://api.slack.com",constraints:{rateLimit:{rpm:200}},byokSetup:{setupInstructions:"Create a Slack app, install it to your workspace, then provide bot token and signing secret.",requiredScopes:["chat:write","channels:history","channels:read","users:read","reactions:write","files:write"],keyRotationSupported:!0,quotaTrackingSupported:!1}});function u(e){return e.register(s)}export{s as messagingSlackIntegrationSpec,u as registerMessagingSlackIntegration};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IntegrationSpecRegistry } from '../spec.js';
|
|
2
|
+
/**
|
|
3
|
+
* Microsoft Teams Integration Spec v1.0.0
|
|
4
|
+
*
|
|
5
|
+
* Full-featured Microsoft Teams integration with messaging, channels, teams,
|
|
6
|
+
* and users via Microsoft Graph API — plus Azure AD OAuth2, MCP server, and
|
|
7
|
+
* webhook/subscription support.
|
|
8
|
+
*/
|
|
9
|
+
export declare const messagingTeamsIntegrationSpec: import("..").IntegrationSpec;
|
|
10
|
+
export declare function registerMessagingTeamsIntegration(registry: IntegrationSpecRegistry): IntegrationSpecRegistry;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as a}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as r}from"@lssm/lib.contracts-spec/registry";var o=(e)=>`${e.key}.v${e.version}`;class i extends r{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((n)=>n.meta.category===e)}}function c(e){return o(e)}var t=(e)=>e;var s=t({meta:{key:"messaging.teams",version:"1.0.0",category:"messaging",title:"Microsoft Teams",description:"Full-featured Microsoft Teams integration with messaging, channels, teams, and users via Microsoft Graph API \u2014 plus Azure AD OAuth2, MCP server, and webhook/subscription support.",domain:"communications",owners:["platform.messaging"],tags:["messaging","teams","microsoft-teams","channels","users","graph-api","oauth2","mcp","webhooks"],stability:a.Stable},supportedModes:["managed","byok"],transports:[{type:"rest",baseUrl:"https://graph.microsoft.com/v1.0",apiVersionHeader:"ConsistencyLevel"},{type:"webhook",inbound:{signatureHeader:"x-ms-notification-auth",signingAlgorithm:"hmac-sha256"}},{type:"sdk",packageName:"@microsoft/microsoft-graph-client"}],preferredTransport:"rest",supportedAuthMethods:[{type:"oauth2",grantType:"authorization_code",authorizationUrl:"https://login.microsoftonline.com/common/oauth2/v2.0/authorize",tokenUrl:"https://login.microsoftonline.com/common/oauth2/v2.0/token",scopes:["ChannelMessage.Send","Channel.ReadBasic.All","Team.ReadBasic.All","User.Read.All","Chat.ReadWrite"]},{type:"oauth2",grantType:"client_credentials",authorizationUrl:"https://login.microsoftonline.com/common/oauth2/v2.0/authorize",tokenUrl:"https://login.microsoftonline.com/common/oauth2/v2.0/token",scopes:["https://graph.microsoft.com/.default"]},{type:"bearer"}],versionPolicy:{currentVersion:"v1.0",supportedVersions:[{version:"v1.0",status:"stable"}],versionHeader:"ConsistencyLevel"},capabilities:{provides:[{key:"messaging.outbound",version:"1.0.0"},{key:"messaging.inbound",version:"1.0.0"},{key:"channels.teams",version:"1.0.0"},{key:"teams.management",version:"1.0.0"},{key:"users.teams",version:"1.0.0"},{key:"provider.mcp.teams",version:"1.0.0"},{key:"provider.webhook.teams",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{defaultTeamId:{type:"string",description:"Optional default Microsoft Teams team ID for operations."},defaultChannelId:{type:"string",description:"Optional default channel ID for sending messages."},tenantId:{type:"string",description:"Optional Azure AD tenant ID (for single-tenant apps)."},apiBaseUrl:{type:"string",description:"Optional Graph API base URL (for GCC/GCC High instances)."}}},example:{defaultTeamId:"team-id-123",defaultChannelId:"channel-id-456"}},secretSchema:{schema:{type:"object",required:["accessToken"],properties:{accessToken:{type:"string",description:"Microsoft Graph API access token for Teams operations."},refreshToken:{type:"string",description:"Optional refresh token for delegated auth flows."},clientId:{type:"string",description:"Azure AD application (client) ID for app-only auth."},clientSecret:{type:"string",description:"Azure AD application secret for app-only auth."},tenantId:{type:"string",description:"Azure AD tenant ID for app-only auth flows."},webhookSecret:{type:"string",description:"Secret used to verify inbound Microsoft Graph webhook notifications."}}},example:{accessToken:"eyJhbGciOi..."}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:"https://learn.microsoft.com/en-us/graph/api/resources/teams-api-overview",constraints:{rateLimit:{rpm:300}},byokSetup:{setupInstructions:"Register an application in Azure AD, grant Microsoft Graph API permissions for Teams, then configure the access token and webhook secret.",requiredScopes:["ChannelMessage.Send","Channel.ReadBasic.All","Team.ReadBasic.All"],keyRotationSupported:!0,quotaTrackingSupported:!1}});function h(e){return e.register(s)}export{s as messagingTeamsIntegrationSpec,h as registerMessagingTeamsIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as a}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as n}from"@lssm/lib.contracts-spec/registry";var o=(e)=>`${e.key}.v${e.version}`;class i extends n{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((r)=>r.meta.category===e)}}function p(e){return o(e)}var t=(e)=>e;var s=t({meta:{key:"messaging.telegram",version:"1.0.0",category:"messaging",title:"Telegram Bot API",description:"Telegram messaging integration for inbound webhook updates, threaded topic messages, and outbound bot replies.",domain:"communications",owners:["platform.messaging"],tags:["messaging","telegram"],stability:a.Beta},supportedModes:["managed","byok"],transports:[{type:"rest",baseUrl:"https://api.telegram.org"},{type:"webhook",inbound:{signatureHeader:"x-telegram-bot-api-secret-token",signingAlgorithm:"hmac-sha256"}}],preferredTransport:"rest",capabilities:{provides:[{key:"messaging.inbound",version:"1.0.0"},{key:"messaging.outbound",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{defaultChatId:{type:"string",description:"Optional default Telegram chat ID used for outbound sends when no chat target is provided."},apiBaseUrl:{type:"string",description:"Optional Telegram Bot API base URL override for proxies or self-hosted gateways."}}},example:{defaultChatId:"-1001234567890",apiBaseUrl:"https://api.telegram.org"}},secretSchema:{schema:{type:"object",required:["botToken","secretToken"],properties:{botToken:{type:"string",description:"Telegram bot token used for sendMessage and webhook registration."},secretToken:{type:"string",description:"Webhook secret token expected in the X-Telegram-Bot-Api-Secret-Token header."}}},example:{botToken:"123456789:AA***",secretToken:"contractspec-telegram-webhook"}},healthCheck:{method:"custom",timeoutMs:4000},docsUrl:"https://core.telegram.org/bots/api",constraints:{rateLimit:{rpm:180}},byokSetup:{setupInstructions:"Create a Telegram bot with BotFather, set a webhook with a secret token, then provide the bot token and secret token.",keyRotationSupported:!0,quotaTrackingSupported:!1}});function h(e){return e.register(s)}export{s as messagingTelegramIntegrationSpec,h as registerMessagingTelegramIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as o}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as n}from"@lssm/lib.contracts-spec/registry";var i=(e)=>`${e.key}.v${e.version}`;class a extends n{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((r)=>r.meta.category===e)}}function g(e){return i(e)}var t=(e)=>e;var s=t({meta:{key:"messaging.whatsapp.meta",version:"1.0.0",category:"messaging",title:"WhatsApp Cloud API (Meta)",description:"Meta WhatsApp Cloud API integration for inbound message processing and outbound replies.",domain:"communications",owners:["platform.messaging"],tags:["messaging","whatsapp","meta"],stability:o.Beta},supportedModes:["managed","byok"],transports:[{type:"rest",baseUrl:"https://graph.facebook.com"},{type:"webhook",inbound:{signatureHeader:"x-hub-signature-256",signingAlgorithm:"hmac-sha256"}}],preferredTransport:"rest",supportedAuthMethods:[{type:"bearer"},{type:"webhook-signing",algorithm:"hmac-sha256",signatureHeader:"x-hub-signature-256"}],capabilities:{provides:[{key:"messaging.inbound",version:"1.0.0"},{key:"messaging.outbound",version:"1.0.0"}]},configSchema:{schema:{type:"object",required:["phoneNumberId"],properties:{phoneNumberId:{type:"string",description:"WhatsApp business phone number ID used for sends."},apiVersion:{type:"string",description:"Optional Graph API version (e.g. v22.0)."}}},example:{phoneNumberId:"1234567890",apiVersion:"v22.0"}},secretSchema:{schema:{type:"object",required:["accessToken","appSecret","verifyToken"],properties:{accessToken:{type:"string",description:"Meta access token for WhatsApp Cloud API calls."},appSecret:{type:"string",description:"Meta app secret used for signature verification."},verifyToken:{type:"string",description:"Webhook verify token used during challenge handshake."}}},example:{accessToken:"EAAG***",appSecret:"***",verifyToken:"contractspec-verify"}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:"https://developers.facebook.com/docs/whatsapp",constraints:{rateLimit:{rpm:120}},byokSetup:{setupInstructions:"Create a Meta app with WhatsApp product enabled, add a business phone number, and provide API and webhook credentials.",keyRotationSupported:!1,quotaTrackingSupported:!1}});function h(e){return e.register(s)}export{s as messagingWhatsappMetaIntegrationSpec,h as registerMessagingWhatsappMetaIntegration};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { IntegrationSpecRegistry } from '../spec.js';
|
|
2
|
+
export declare const messagingWhatsappTwilioIntegrationSpec: import("..").IntegrationSpec;
|
|
3
|
+
export declare function registerMessagingWhatsappTwilioIntegration(registry: IntegrationSpecRegistry): IntegrationSpecRegistry;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as a}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as n}from"@lssm/lib.contracts-spec/registry";var r=(t)=>`${t.key}.v${t.version}`;class o extends n{constructor(t){super("integration",t)}getByCategory(t){return this.list().filter((i)=>i.meta.category===t)}}function g(t){return r(t)}var e=(t)=>t;var s=e({meta:{key:"messaging.whatsapp.twilio",version:"1.0.0",category:"messaging",title:"WhatsApp via Twilio",description:"Twilio-powered WhatsApp integration for inbound webhooks and outbound conversational messaging.",domain:"communications",owners:["platform.messaging"],tags:["messaging","whatsapp","twilio"],stability:a.Beta},supportedModes:["managed","byok"],transports:[{type:"rest",baseUrl:"https://api.twilio.com"},{type:"webhook",inbound:{signatureHeader:"x-twilio-signature",signingAlgorithm:"hmac-sha1"}}],preferredTransport:"rest",supportedAuthMethods:[{type:"basic"}],capabilities:{provides:[{key:"messaging.inbound",version:"1.0.0"},{key:"messaging.outbound",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{fromNumber:{type:"string",description:"Default WhatsApp-enabled Twilio sender number (e.g. whatsapp:+15551234567)."}}},example:{fromNumber:"whatsapp:+15551234567"}},secretSchema:{schema:{type:"object",required:["accountSid","authToken"],properties:{accountSid:{type:"string",description:"Twilio account SID."},authToken:{type:"string",description:"Twilio auth token."}}},example:{accountSid:"ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",authToken:"***"}},healthCheck:{method:"custom",timeoutMs:4000},docsUrl:"https://www.twilio.com/docs/whatsapp",constraints:{rateLimit:{rpm:200}},byokSetup:{setupInstructions:"Create a Twilio project with WhatsApp sender provisioning, then provide account SID/auth token and sender number.",keyRotationSupported:!0,quotaTrackingSupported:!1}});function l(t){return t.register(s)}export{s as messagingWhatsappTwilioIntegrationSpec,l as registerMessagingWhatsappTwilioIntegration};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export type MessagingDeliveryStatus = 'queued' | 'sending' | 'sent' | 'delivered' | 'failed';
|
|
2
|
+
export interface MessagingSendInput {
|
|
3
|
+
recipientId?: string;
|
|
4
|
+
channelId?: string;
|
|
5
|
+
threadId?: string;
|
|
6
|
+
text: string;
|
|
7
|
+
markdown?: boolean;
|
|
8
|
+
metadata?: Record<string, string>;
|
|
9
|
+
}
|
|
10
|
+
export interface MessagingSendResult {
|
|
11
|
+
id: string;
|
|
12
|
+
providerMessageId?: string;
|
|
13
|
+
status: MessagingDeliveryStatus;
|
|
14
|
+
sentAt?: Date;
|
|
15
|
+
deliveredAt?: Date;
|
|
16
|
+
errorCode?: string;
|
|
17
|
+
errorMessage?: string;
|
|
18
|
+
metadata?: Record<string, string>;
|
|
19
|
+
}
|
|
20
|
+
export interface MessagingUpdateInput {
|
|
21
|
+
channelId?: string;
|
|
22
|
+
threadId?: string;
|
|
23
|
+
text: string;
|
|
24
|
+
markdown?: boolean;
|
|
25
|
+
metadata?: Record<string, string>;
|
|
26
|
+
}
|
|
27
|
+
export interface MessagingProvider {
|
|
28
|
+
sendMessage(input: MessagingSendInput): Promise<MessagingSendResult>;
|
|
29
|
+
updateMessage?(messageId: string, input: MessagingUpdateInput): Promise<MessagingSendResult>;
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// @bun
|