@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 @@
|
|
|
1
|
+
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};
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
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 @@
|
|
|
1
|
+
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 @@
|
|
|
1
|
+
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 — 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 @@
|
|
|
1
|
+
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 — 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 @@
|
|
|
1
|
+
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 @@
|
|
|
1
|
+
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 @@
|
|
|
1
|
+
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};
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{StabilityEnum as a}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 o 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:"ai-voice-conv.mistral",version:"1.0.0",category:"ai-voice-conversational",title:"Mistral Conversational Voice",description:"Mistral conversational voice integration using conversation sessions and speech models for bidirectional interactions.",domain:"ai",owners:["platform.ai"],tags:["voice","conversational","mistral","agents","sessions"],stability:a.Experimental},supportedModes:["managed","byok"],transports:[{type:"rest",baseUrl:"https://api.mistral.ai"}],preferredTransport:"rest",supportedAuthMethods:[{type:"api-key",headerName:"Authorization",prefix:"Bearer "}],capabilities:{provides:[{key:"ai.voice.conversational",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{model:{type:"string",description:"Mistral model used for response generation in conversational sessions."},defaultVoice:{type:"string",description:"Default voice profile for agent responses."},turnDetection:{type:"string",enum:["server_vad","push_to_talk"],description:"Turn detection strategy used during live conversations."},maxSessionDurationSeconds:{type:"number",description:"Maximum allowed conversational session duration."}}},example:{model:"mistral-medium-latest",defaultVoice:"default",turnDetection:"server_vad",maxSessionDurationSeconds:600}},secretSchema:{schema:{type:"object",required:["apiKey"],properties:{apiKey:{type:"string",description:"Mistral API key with access to conversational and agent APIs."}}},example:{apiKey:"mistral-***"}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:"https://docs.mistral.ai/agents/agents",byokSetup:{setupInstructions:"Create a Mistral API key, enable conversation-capable models for your account, and configure default turn detection settings.",keyRotationSupported:!0,quotaTrackingSupported:!0}});function u(e){return e.register(s)}export{s as mistralConversationalIntegrationSpec,u as registerMistralConversationalIntegration};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{StabilityEnum as o}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as i}from"@lssm/lib.contracts-spec/registry";var n=(t)=>`${t.key}.v${t.version}`;class a extends i{constructor(t){super("integration",t)}getByCategory(t){return this.list().filter((r)=>r.meta.category===t)}}function g(t){return n(t)}var e=(t)=>t;var s=e({meta:{key:"ai-voice-stt.mistral",version:"1.0.0",category:"ai-voice-stt",title:"Mistral Speech-to-Text",description:"Mistral audio transcription integration for batch and streaming speech-to-text use cases.",domain:"ai",owners:["platform.ai"],tags:["voice","stt","transcription","mistral","voxtral"],stability:o.Experimental},supportedModes:["managed","byok"],transports:[{type:"rest",baseUrl:"https://api.mistral.ai"}],preferredTransport:"rest",supportedAuthMethods:[{type:"api-key",headerName:"Authorization",prefix:"Bearer "}],capabilities:{provides:[{key:"ai.voice.stt",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{model:{type:"string",description:"Mistral transcription model identifier (e.g. voxtral-mini-latest)."},language:{type:"string",description:"Default language code for transcription (e.g. en)."},diarize:{type:"boolean",description:"Enable speaker diarization when supported by the model."},wordTimestamps:{type:"boolean",description:"Include word-level timestamp metadata when available."}}},example:{model:"voxtral-mini-latest",language:"en",diarize:!0,wordTimestamps:!0}},secretSchema:{schema:{type:"object",required:["apiKey"],properties:{apiKey:{type:"string",description:"Mistral API key with access to audio transcription endpoints."}}},example:{apiKey:"mistral-***"}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:"https://docs.mistral.ai/api/#tag/audio",byokSetup:{setupInstructions:"Generate a Mistral API key and ensure the project has access to Voxtral or another transcription-capable model.",keyRotationSupported:!0,quotaTrackingSupported:!0}});function u(t){return t.register(s)}export{s as mistralSttIntegrationSpec,u as registerMistralSttIntegration};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
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:"ai-llm.mistral",version:"1.0.0",category:"ai-llm",title:"Mistral Large Language Model",description:"Mistral integration providing chat completions and embedding generation.",domain:"ai",owners:["platform.ai"],tags:["ai","llm","embeddings"],stability:o.Experimental},supportedModes:["managed","byok"],transports:[{type:"rest",baseUrl:"https://api.mistral.ai"},{type:"sdk",packageName:"@mistralai/mistralai"}],preferredTransport:"rest",supportedAuthMethods:[{type:"api-key",headerName:"Authorization",prefix:"Bearer "}],capabilities:{provides:[{key:"ai.chat",version:"1.0.0"},{key:"ai.embeddings",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{model:{type:"string",description:"Default chat completion model (e.g., mistral-large-latest)."},embeddingModel:{type:"string",description:"Embedding model identifier."}}},example:{model:"mistral-large-latest",embeddingModel:"mistral-embed"}},secretSchema:{schema:{type:"object",required:["apiKey"],properties:{apiKey:{type:"string",description:"Mistral API key with access to chat and embeddings endpoints."}}},example:{apiKey:"mistral-***"}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:"https://docs.mistral.ai/platform/endpoints",constraints:{rateLimit:{rpm:600}},byokSetup:{setupInstructions:"Generate an API key within the Mistral console and ensure the selected models are enabled for the account.",keyRotationSupported:!0,quotaTrackingSupported:!0}});function y(e){return e.register(s)}export{s as mistralIntegrationSpec,y as registerMistralIntegration};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function r({unsupportedModeReason:i,configFields:t,secretFields:n,rotationSupported:a=!1,setupSteps:o}){let e={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:a}};if(t)e.configFields=t;if(n)e.secretFields=n;if(o)e.setupSteps=o;return{modes:{byok:e},exempt:!0,exemptionReason:i}}export{r as byokOnlyManagedModeExemption};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{StabilityEnum as g}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as s}from"@lssm/lib.contracts-spec/registry";var p=(e)=>`${e.key}.v${e.version}`;class c extends s{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function u(e){return p(e)}var i=(e)=>e;var o=["official-api","official-mcp","aggregator-api","aggregator-mcp","unofficial"],l=[{key:"health.activities.read",version:"1.0.0"},{key:"health.workouts.read",version:"1.0.0"},{key:"health.sleep.read",version:"1.0.0"},{key:"health.biometrics.read",version:"1.0.0"}],d=[{type:"rest"},{type:"mcp",transport:"http"},{type:"webhook",inbound:{signatureHeader:"x-webhook-signature",signingAlgorithm:"hmac-sha256"}}],n=[{type:"oauth2",grantType:"authorization_code",tokenUrl:"",scopes:[]},{type:"api-key"},{type:"bearer"},{type:"basic"}];function a(e){let t=e.supportedAuthMethods??y(e);return i({meta:{key:e.key,version:"1.0.0",category:"health",title:e.title,description:e.description,domain:"health",owners:["platform.integrations"],tags:["health","wearables",...e.tags],stability:e.stability??g.Experimental},supportedModes:e.supportedModes??["managed","byok"],transports:e.transports??d,preferredTransport:"rest",supportedAuthMethods:t,capabilities:{provides:e.capabilities??[...l]},configSchema:{schema:{type:"object",properties:{apiBaseUrl:{type:"string",description:"Optional API base URL override for provider-specific regional or partner endpoints."},mcpUrl:{type:"string",description:"Optional MCP endpoint URL for provider tool transport."},oauthTokenUrl:{type:"string",description:"Optional OAuth token endpoint override used for access-token refresh flows."},defaultTransport:{type:"string",enum:[...o],description:"Preferred transport strategy used before fallbacks are attempted."},strategyOrder:{type:"array",items:{type:"string",enum:[...o]},description:"Ordered transport fallback strategy. Defaults to official API -> official MCP -> aggregator API -> aggregator MCP -> unofficial."},allowUnofficial:{type:"boolean",description:"Must be true to allow unofficial/automation connectors as fallback."},unofficialAllowList:{type:"array",items:{type:"string"},description:"Optional allowlist of provider keys allowed to use unofficial connectors."}}},example:{defaultTransport:e.defaultTransport??"official-api",strategyOrder:[...o],allowUnofficial:!1,unofficialAllowList:[]}},secretSchema:{schema:{type:"object",properties:{apiKey:{type:"string"},accessToken:{type:"string"},refreshToken:{type:"string"},tokenExpiresAt:{type:"string"},clientId:{type:"string"},clientSecret:{type:"string"},mcpAccessToken:{type:"string"},username:{type:"string"},password:{type:"string"}}},example:{apiKey:"provider-api-key",accessToken:"oauth-access-token",refreshToken:"oauth-refresh-token"}},healthCheck:{method:"list",timeoutMs:1e4},docsUrl:e.docsUrl,byokSetup:{setupInstructions:e.byokSetupInstructions??"Create provider credentials, set allowed scopes, and store credentials in secret provider.",requiredScopes:e.byokScopes,keyRotationSupported:!1,quotaTrackingSupported:!1}})}function y(e){if(e.oauthTokenUrl){let t=e.oauthTokenUrl;return n.map((r)=>{if(r.type==="oauth2")return{...r,tokenUrl:t,scopes:e.byokScopes??[]};return r})}return[...n]}var f=a({key:"health.myfitnesspal",title:"MyFitnessPal",description:"MyFitnessPal nutrition and activity integration through official, aggregator, or opt-in unofficial connectors.",docsUrl:"https://www.myfitnesspal.com/",tags:["myfitnesspal","nutrition","unofficial"],capabilities:[{key:"health.activities.read",version:"1.0.0"},{key:"health.nutrition.read",version:"1.0.0"}],defaultTransport:"aggregator-api"});function T(e){return e.register(f)}export{f as myFitnessPalIntegrationSpec,T as registerMyFitnessPalIntegration};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{StabilityEnum as a}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as o}from"@lssm/lib.contracts-spec/registry";var n=(t)=>`${t.key}.v${t.version}`;class i extends o{constructor(t){super("integration",t)}getByCategory(t){return this.list().filter((r)=>r.meta.category===t)}}function g(t){return n(t)}var e=(t)=>t;var s=e({meta:{key:"project-management.notion",version:"2.0.0",category:"project-management",title:"Notion",description:"Full-featured Notion integration with CRUD operations for pages, databases, and blocks, OAuth2 authentication, MCP server support, and real-time synchronization.",domain:"productivity",owners:["@platform.integrations"],tags:["project-management","notion","oauth2","mcp","webhooks"],stability:a.Stable},supportedModes:["managed","byok"],transports:[{type:"rest",baseUrl:"https://api.notion.com",apiVersionHeader:"Notion-Version"},{type:"webhook",inbound:{signatureHeader:"x-notion-signature",signingAlgorithm:"hmac-sha256"}}],preferredTransport:"rest",supportedAuthMethods:[{type:"bearer"},{type:"oauth2",grantType:"authorization_code",authorizationUrl:"https://api.notion.com/v1/oauth/authorize",tokenUrl:"https://api.notion.com/v1/oauth/token",revocationUrl:"https://api.notion.com/v1/oauth/revoke",scopes:["read:user","read:pages","read:databases","write:pages","write:databases"],pkce:!0}],versionPolicy:{currentVersion:"2022-06-28",supportedVersions:[{version:"2022-06-28",status:"stable"}],versionHeader:"Notion-Version"},capabilities:{provides:[{key:"project-management.work-items",version:"1.0.0"},{key:"knowledge.ingestion.notion",version:"1.0.0"},{key:"provider.delta.notion",version:"1.0.0"},{key:"provider.mcp.notion",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{databaseId:{type:"string",description:"Optional Notion database ID to store tasks."},summaryParentPageId:{type:"string",description:"Optional parent page ID for summary pages."},titleProperty:{type:"string",description:'Database title property name (defaults to "Name").'},statusProperty:{type:"string",description:"Database status/select property name."},priorityProperty:{type:"string",description:"Database priority/select property name."},tagsProperty:{type:"string",description:"Database multi-select tags property name."},dueDateProperty:{type:"string",description:"Database date property name for due dates."},descriptionProperty:{type:"string",description:"Database rich-text property for descriptions."}}},example:{databaseId:"xxxxxxxxxxxxxxxx",summaryParentPageId:"yyyyyyyyyyyyyyyy",titleProperty:"Name",statusProperty:"Status"}},secretSchema:{schema:{type:"object",properties:{apiKey:{type:"string",description:"Notion integration secret token (for BYOK mode)."},oauth2AccessToken:{type:"string",description:"OAuth2 access token (for managed mode)."},oauth2RefreshToken:{type:"string",description:"OAuth2 refresh token."}}},example:{apiKey:"secret_notion_token",oauth2AccessToken:"ntn_abc123",oauth2RefreshToken:"ntn_refresh_xyz789"}},healthCheck:{method:"custom",timeoutMs:4000},docsUrl:"https://developers.notion.com",constraints:{},byokSetup:{setupInstructions:"For API key: Create a Notion internal integration, share the target database/page with it, and store the secret token. For OAuth2: Configure OAuth application in Notion and complete authorization flow.",keyRotationSupported:!0,quotaTrackingSupported:!0}});function u(t){return t.register(s)}export{s as notionIntegrationSpec,u as registerNotionIntegration};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
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:"ai-image.openai",version:"1.0.0",category:"ai-image",title:"OpenAI Image Generation",description:"OpenAI integration for AI image generation using DALL-E and gpt-image models.",domain:"ai",owners:["platform.ai"],tags:["image","generation","dall-e","gpt-image"],stability:o.Experimental},supportedModes:["managed","byok"],transports:[{type:"rest",baseUrl:"https://api.openai.com"},{type:"sdk",packageName:"openai"}],preferredTransport:"rest",supportedAuthMethods:[{type:"api-key",headerName:"Authorization",prefix:"Bearer "}],capabilities:{provides:[{key:"ai.image.generation",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{model:{type:"string",description:"OpenAI image model identifier (e.g. dall-e-3, gpt-image-1)."},defaultSize:{type:"string",enum:["1024x1024","1024x1792","1792x1024"]},defaultQuality:{type:"string",enum:["standard","hd"]}}},example:{model:"dall-e-3",defaultSize:"1024x1024",defaultQuality:"standard"}},secretSchema:{schema:{type:"object",required:["apiKey"],properties:{apiKey:{type:"string",description:"OpenAI API key with image generation permissions."}}},example:{apiKey:"sk-***"}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:"https://platform.openai.com/docs/guides/images",constraints:{rateLimit:{rpm:50}},byokSetup:{setupInstructions:"Create an OpenAI API key with image generation access enabled.",keyRotationSupported:!0,quotaTrackingSupported:!0}});function y(e){return e.register(p)}export{p as openaiImageIntegrationSpec,y as registerOpenaiImageIntegration};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{StabilityEnum as d}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 g extends p{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function y(e){return c(e)}var o=(e)=>e;function a({unsupportedModeReason:e,configFields:t,secretFields:i,rotationSupported:s=!1,setupSteps:r}){let n={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:s}};if(t)n.configFields=t;if(i)n.secretFields=i;if(r)n.setupSteps=r;return{modes:{byok:n},exempt:!0,exemptionReason:e}}var l=o({meta:{key:"ai-voice-conv.openai",version:"1.0.0",category:"ai-voice-conversational",title:"OpenAI Realtime Voice",description:"OpenAI Realtime API integration for bidirectional conversational voice with GPT models.",domain:"ai",owners:["platform.ai"],tags:["voice","conversational","realtime","openai"],stability:d.Experimental},supportedModes:["byok"],credentialManifest:a({unsupportedModeReason:"Managed OpenAI Realtime credentials are not declared because realtime voice access depends on tenant-owned OpenAI API keys and project quotas.",secretFields:[{key:"apiKey",required:!0}],rotationSupported:!0}),transports:[{type:"rest",baseUrl:"https://api.openai.com"},{type:"sdk",packageName:"openai"}],preferredTransport:"sdk",supportedAuthMethods:[{type:"api-key",headerName:"Authorization",prefix:"Bearer "}],capabilities:{provides:[{key:"ai.voice.conversational",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{model:{type:"string",description:"OpenAI model for realtime conversations (e.g. gpt-4o-realtime-preview)."},defaultVoice:{type:"string",description:"Default voice for agent responses (e.g. alloy, echo, shimmer)."},turnDetection:{type:"string",enum:["server_vad","push_to_talk"],description:"Turn detection strategy."},maxSessionDurationSeconds:{type:"number",description:"Maximum session duration in seconds."}}},example:{model:"gpt-4o-realtime-preview",defaultVoice:"alloy",turnDetection:"server_vad",maxSessionDurationSeconds:600}},secretSchema:{schema:{type:"object",required:["apiKey"],properties:{apiKey:{type:"string",description:"OpenAI API key with realtime API access."}}},example:{apiKey:"sk-***"}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:"https://platform.openai.com/docs/guides/realtime",byokSetup:{setupInstructions:"Create an OpenAI API key with Realtime API access enabled and store it in your secret provider.",keyRotationSupported:!0,quotaTrackingSupported:!0}});function M(e){return e.register(l)}export{l as openaiRealtimeIntegrationSpec,M as registerOpenaiRealtimeIntegration};
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{StabilityEnum as h}from"@lssm/lib.contracts-spec/ownership";import{StabilityEnum as g}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as s}from"@lssm/lib.contracts-spec/registry";var p=(e)=>`${e.key}.v${e.version}`;class c extends s{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function m(e){return p(e)}var n=(e)=>e;var o=["official-api","official-mcp","aggregator-api","aggregator-mcp","unofficial"],l=[{key:"health.activities.read",version:"1.0.0"},{key:"health.workouts.read",version:"1.0.0"},{key:"health.sleep.read",version:"1.0.0"},{key:"health.biometrics.read",version:"1.0.0"}],d=[{type:"rest"},{type:"mcp",transport:"http"},{type:"webhook",inbound:{signatureHeader:"x-webhook-signature",signingAlgorithm:"hmac-sha256"}}],i=[{type:"oauth2",grantType:"authorization_code",tokenUrl:"",scopes:[]},{type:"api-key"},{type:"bearer"},{type:"basic"}];function a(e){let t=e.supportedAuthMethods??y(e);return n({meta:{key:e.key,version:"1.0.0",category:"health",title:e.title,description:e.description,domain:"health",owners:["platform.integrations"],tags:["health","wearables",...e.tags],stability:e.stability??g.Experimental},supportedModes:e.supportedModes??["managed","byok"],transports:e.transports??d,preferredTransport:"rest",supportedAuthMethods:t,capabilities:{provides:e.capabilities??[...l]},configSchema:{schema:{type:"object",properties:{apiBaseUrl:{type:"string",description:"Optional API base URL override for provider-specific regional or partner endpoints."},mcpUrl:{type:"string",description:"Optional MCP endpoint URL for provider tool transport."},oauthTokenUrl:{type:"string",description:"Optional OAuth token endpoint override used for access-token refresh flows."},defaultTransport:{type:"string",enum:[...o],description:"Preferred transport strategy used before fallbacks are attempted."},strategyOrder:{type:"array",items:{type:"string",enum:[...o]},description:"Ordered transport fallback strategy. Defaults to official API -> official MCP -> aggregator API -> aggregator MCP -> unofficial."},allowUnofficial:{type:"boolean",description:"Must be true to allow unofficial/automation connectors as fallback."},unofficialAllowList:{type:"array",items:{type:"string"},description:"Optional allowlist of provider keys allowed to use unofficial connectors."}}},example:{defaultTransport:e.defaultTransport??"official-api",strategyOrder:[...o],allowUnofficial:!1,unofficialAllowList:[]}},secretSchema:{schema:{type:"object",properties:{apiKey:{type:"string"},accessToken:{type:"string"},refreshToken:{type:"string"},tokenExpiresAt:{type:"string"},clientId:{type:"string"},clientSecret:{type:"string"},mcpAccessToken:{type:"string"},username:{type:"string"},password:{type:"string"}}},example:{apiKey:"provider-api-key",accessToken:"oauth-access-token",refreshToken:"oauth-refresh-token"}},healthCheck:{method:"list",timeoutMs:1e4},docsUrl:e.docsUrl,byokSetup:{setupInstructions:e.byokSetupInstructions??"Create provider credentials, set allowed scopes, and store credentials in secret provider.",requiredScopes:e.byokScopes,keyRotationSupported:!1,quotaTrackingSupported:!1}})}function y(e){if(e.oauthTokenUrl){let t=e.oauthTokenUrl;return i.map((r)=>{if(r.type==="oauth2")return{...r,tokenUrl:t,scopes:e.byokScopes??[]};return r})}return[...i]}var f=a({key:"health.openwearables",title:"Open Wearables",description:"Unified wearable and health data aggregation with API and MCP transports.",docsUrl:"https://www.openwearables.io/",tags:["openwearables","aggregator","mcp"],stability:h.Beta,capabilities:[{key:"health.activities.read",version:"1.0.0"},{key:"health.workouts.read",version:"1.0.0"},{key:"health.sleep.read",version:"1.0.0"},{key:"health.biometrics.read",version:"1.0.0"},{key:"health.nutrition.read",version:"1.0.0"},{key:"health.webhooks",version:"1.0.0"}],defaultTransport:"aggregator-api",byokSetupInstructions:"Create an Open Wearables account, generate API/MCP credentials, and connect desired upstream providers."});function C(e){return e.register(f)}export{f as openWearablesIntegrationSpec,C as registerOpenWearablesIntegration};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{StabilityEnum as g}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as s}from"@lssm/lib.contracts-spec/registry";var p=(e)=>`${e.key}.v${e.version}`;class c extends s{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function h(e){return p(e)}var i=(e)=>e;var o=["official-api","official-mcp","aggregator-api","aggregator-mcp","unofficial"],l=[{key:"health.activities.read",version:"1.0.0"},{key:"health.workouts.read",version:"1.0.0"},{key:"health.sleep.read",version:"1.0.0"},{key:"health.biometrics.read",version:"1.0.0"}],d=[{type:"rest"},{type:"mcp",transport:"http"},{type:"webhook",inbound:{signatureHeader:"x-webhook-signature",signingAlgorithm:"hmac-sha256"}}],n=[{type:"oauth2",grantType:"authorization_code",tokenUrl:"",scopes:[]},{type:"api-key"},{type:"bearer"},{type:"basic"}];function a(e){let t=e.supportedAuthMethods??y(e);return i({meta:{key:e.key,version:"1.0.0",category:"health",title:e.title,description:e.description,domain:"health",owners:["platform.integrations"],tags:["health","wearables",...e.tags],stability:e.stability??g.Experimental},supportedModes:e.supportedModes??["managed","byok"],transports:e.transports??d,preferredTransport:"rest",supportedAuthMethods:t,capabilities:{provides:e.capabilities??[...l]},configSchema:{schema:{type:"object",properties:{apiBaseUrl:{type:"string",description:"Optional API base URL override for provider-specific regional or partner endpoints."},mcpUrl:{type:"string",description:"Optional MCP endpoint URL for provider tool transport."},oauthTokenUrl:{type:"string",description:"Optional OAuth token endpoint override used for access-token refresh flows."},defaultTransport:{type:"string",enum:[...o],description:"Preferred transport strategy used before fallbacks are attempted."},strategyOrder:{type:"array",items:{type:"string",enum:[...o]},description:"Ordered transport fallback strategy. Defaults to official API -> official MCP -> aggregator API -> aggregator MCP -> unofficial."},allowUnofficial:{type:"boolean",description:"Must be true to allow unofficial/automation connectors as fallback."},unofficialAllowList:{type:"array",items:{type:"string"},description:"Optional allowlist of provider keys allowed to use unofficial connectors."}}},example:{defaultTransport:e.defaultTransport??"official-api",strategyOrder:[...o],allowUnofficial:!1,unofficialAllowList:[]}},secretSchema:{schema:{type:"object",properties:{apiKey:{type:"string"},accessToken:{type:"string"},refreshToken:{type:"string"},tokenExpiresAt:{type:"string"},clientId:{type:"string"},clientSecret:{type:"string"},mcpAccessToken:{type:"string"},username:{type:"string"},password:{type:"string"}}},example:{apiKey:"provider-api-key",accessToken:"oauth-access-token",refreshToken:"oauth-refresh-token"}},healthCheck:{method:"list",timeoutMs:1e4},docsUrl:e.docsUrl,byokSetup:{setupInstructions:e.byokSetupInstructions??"Create provider credentials, set allowed scopes, and store credentials in secret provider.",requiredScopes:e.byokScopes,keyRotationSupported:!1,quotaTrackingSupported:!1}})}function y(e){if(e.oauthTokenUrl){let t=e.oauthTokenUrl;return n.map((r)=>{if(r.type==="oauth2")return{...r,tokenUrl:t,scopes:e.byokScopes??[]};return r})}return[...n]}var f=a({key:"health.oura",title:"Oura",description:"Oura integration for sleep, activity, readiness, and biometrics data.",docsUrl:"https://cloud.ouraring.com/docs/",tags:["oura","official-api"],byokScopes:["daily","personal","workout","sleep"]});function T(e){return e.register(f)}export{f as ouraIntegrationSpec,T as registerOuraIntegration};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
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 f(e){return g(e)}var i=(e)=>e;function a({unsupportedModeReason:e,configFields:t,secretFields:n,rotationSupported:p=!1,setupSteps:o}){let r={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:p}};if(t)r.configFields=t;if(n)r.secretFields=n;if(o)r.setupSteps=o;return{modes:{byok:r},exempt:!0,exemptionReason:e}}function s(e){return i({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.oxylabs",title:"Oxylabs Web Access",description:"Oxylabs Web Scraper API and governed residential proxy execution.",tags:["scraping","search","residential-proxy"],transports:[{type:"rest",baseUrl:"https://realtime.oxylabs.io/v1"},{type:"proxy",protocols:["http","https","socks5","socks5h"],host:"pr.oxylabs.io",ports:{http:7777,https:7777,socks5:7777,socks5h:7777},remoteDns:!0,geoTargeting:!0,stickySessions:!0}],preferredTransport:"rest",auth:[{type:"basic",usernameField:"username",passwordField:"password"}],secretFields:["username","password"],capabilities:["web.search","web.fetch","web.proxy"],docsUrl:"https://developers.oxylabs.io/scraper-apis/web-scraper-api"});function M(e){return e.register(m)}export{m as oxylabsIntegrationSpec,M as registerOxylabsIntegration};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
class o extends Error{code;providerRef;retryable;retryAfterMs;evidence;cause;constructor(e){super(e.message);this.name="PaymentProviderError",this.code=e.code,this.providerRef=e.providerRef,this.retryable=e.retryable,this.retryAfterMs=e.retryAfterMs,this.evidence=e.evidence,this.cause=e.cause}toJSON(){return{code:this.code,message:this.message,providerRef:this.providerRef,retryable:this.retryable,retryAfterMs:this.retryAfterMs,evidence:this.evidence,cause:this.cause}}}function m(e,t,n){return{tenantId:e.tenantId,environment:e.environment,accountId:e.accountId,actorId:e.actor.id,idempotencyKey:e.idempotencyKey,operation:t.operation,amount:t.amount,resourceId:t.resourceId,expiresAt:n}}function p(e,t){let{authorization:n}=e,s=n.mode==="approval_required"&&n.evidence.length===0;if(n.decision!=="allow"||s)throw new o({code:"authorization_denied",message:n.reason??"Payment mutation requires an allowed authorization decision with evidence.",retryable:n.decision==="review",evidence:n.evidence});let{scope:r}=n,i=Date.parse(r.expiresAt),a=!Number.isFinite(i)||i<=Date.now(),c=r.tenantId!==e.tenantId||r.environment!==e.environment||r.accountId!==e.accountId||r.actorId!==e.actor.id||r.operation!==t.operation||r.idempotencyKey!==e.idempotencyKey||r.resourceId!==t.resourceId||!d(r.amount,t.amount);if(a||c)throw new o({code:"authorization_denied",message:a?"Payment authorization decision has expired.":"Payment authorization decision does not cover this mutation.",retryable:!1,evidence:n.evidence})}function d(e,t){if(!e||!t)return e===t;return e.currency===t.currency&&e.amountMinor===t.amountMinor}export{p as assertPaymentMutationAuthorized,m as createPaymentAuthorizationScope};
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
class r extends Error{code;providerRef;retryable;retryAfterMs;evidence;cause;constructor(e){super(e.message);this.name="PaymentProviderError",this.code=e.code,this.providerRef=e.providerRef,this.retryable=e.retryable,this.retryAfterMs=e.retryAfterMs,this.evidence=e.evidence,this.cause=e.cause}toJSON(){return{code:this.code,message:this.message,providerRef:this.providerRef,retryable:this.retryable,retryAfterMs:this.retryAfterMs,evidence:this.evidence,cause:this.cause}}}export{r as PaymentProviderError};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
class a extends Error{code;providerRef;retryable;retryAfterMs;evidence;cause;constructor(e){super(e.message);this.name="PaymentProviderError",this.code=e.code,this.providerRef=e.providerRef,this.retryable=e.retryable,this.retryAfterMs=e.retryAfterMs,this.evidence=e.evidence,this.cause=e.cause}toJSON(){return{code:this.code,message:this.message,providerRef:this.providerRef,retryable:this.retryable,retryAfterMs:this.retryAfterMs,evidence:this.evidence,cause:this.cause}}}function P(e,t,n){return{tenantId:e.tenantId,environment:e.environment,accountId:e.accountId,actorId:e.actor.id,idempotencyKey:e.idempotencyKey,operation:t.operation,amount:t.amount,resourceId:t.resourceId,expiresAt:n}}function l(e,t){let{authorization:n}=e,s=n.mode==="approval_required"&&n.evidence.length===0;if(n.decision!=="allow"||s)throw new a({code:"authorization_denied",message:n.reason??"Payment mutation requires an allowed authorization decision with evidence.",retryable:n.decision==="review",evidence:n.evidence});let{scope:o}=n,r=Date.parse(o.expiresAt),i=!Number.isFinite(r)||r<=Date.now(),m=o.tenantId!==e.tenantId||o.environment!==e.environment||o.accountId!==e.accountId||o.actorId!==e.actor.id||o.operation!==t.operation||o.idempotencyKey!==e.idempotencyKey||o.resourceId!==t.resourceId||!y(o.amount,t.amount);if(i||m)throw new a({code:"authorization_denied",message:i?"Payment authorization decision has expired.":"Payment authorization decision does not cover this mutation.",retryable:!1,evidence:n.evidence})}function y(e,t){if(!e||!t)return e===t;return e.currency===t.currency&&e.amountMinor===t.amountMinor}export{a as PaymentProviderError,l as assertPaymentMutationAuthorized,P as createPaymentAuthorizationScope};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{StabilityEnum as g}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as s}from"@lssm/lib.contracts-spec/registry";var c=(e)=>`${e.key}.v${e.version}`;class d extends s{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function m(e){return c(e)}var a=(e)=>e;function o({unsupportedModeReason:e,configFields:t,secretFields:r,rotationSupported:p=!1,setupSteps:i}){let n={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:p}};if(t)n.configFields=t;if(r)n.secretFields=r;if(i)n.setupSteps=i;return{modes:{byok:n},exempt:!0,exemptionReason:e}}var l=a({meta:{key:"payments.paypal",version:"1.0.0",category:"payments",title:"PayPal Payments",description:"PayPal integration for checkout, payments, subscriptions, payouts, marketplace, disputes, and webhooks.",domain:"payments",owners:["platform.payments"],tags:["payments","checkout","subscriptions","payouts","marketplace"],stability:g.Experimental},supportedModes:["byok"],credentialManifest:o({unsupportedModeReason:"Managed PayPal credentials are not declared because API access depends on a tenant-owned PayPal app and webhook configuration.",secretFields:[{key:"clientId",required:!0},{key:"clientSecret",required:!0},{key:"webhookId",required:!1},{key:"partnerId",required:!1},{key:"partnerAttributionId",required:!1}],rotationSupported:!0}),transports:[{type:"rest",baseUrl:"https://api-m.paypal.com"}],preferredTransport:"rest",supportedAuthMethods:[{type:"oauth2",grantType:"client_credentials",tokenUrl:"https://api-m.paypal.com/v1/oauth2/token",scopes:[]}],versionPolicy:{currentVersion:"v2",supportedVersions:[{version:"v2",status:"stable"}]},capabilities:{provides:[{key:"payments.psp",version:"1.0.0"},{key:"payments.customers",version:"1.0.0"},{key:"payments.payment-methods",version:"1.0.0"},{key:"payments.checkout",version:"1.0.0"},{key:"payments.subscriptions",version:"1.0.0"},{key:"payments.invoices",version:"1.0.0"},{key:"payments.disputes",version:"1.0.0"},{key:"payments.payouts",version:"1.0.0"},{key:"payments.marketplace",version:"1.0.0"},{key:"payments.webhooks",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{environment:{type:"string",enum:["sandbox","live"],description:"PayPal API environment."},merchantId:{type:"string",description:"Optional PayPal merchant account identifier."},partnerId:{type:"string",description:"Optional PayPal partner merchant identifier."},partnerAttributionId:{type:"string",description:"Optional PayPal BN attribution identifier."}},required:["environment"]},example:{environment:"sandbox",merchantId:"merchant_123",partnerId:"partner_123",partnerAttributionId:"PARTNER_BN_CODE"}},secretSchema:{schema:{type:"object",required:["clientId","clientSecret"],properties:{clientId:{type:"string",description:"PayPal app client ID."},clientSecret:{type:"string",description:"PayPal app client secret."},webhookId:{type:"string",description:"Webhook ID used for signature verification."},partnerId:{type:"string",description:"Optional PayPal partner merchant identifier."},partnerAttributionId:{type:"string",description:"Optional PayPal BN attribution identifier."}}},example:{clientId:"paypal-client-id",clientSecret:"***",webhookId:"WH-***"}},healthCheck:{method:"ping",timeoutMs:5000},docsUrl:"https://developer.paypal.com/api/rest/",byokSetup:{setupInstructions:"Create a PayPal REST app, store its client credentials, and configure a webhook when inbound events are required.",requiredScopes:[],keyRotationSupported:!0,quotaTrackingSupported:!1}});function S(e){return e.register(l)}export{l as paypalIntegrationSpec,S as registerPaypalIntegration};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{StabilityEnum as g}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as s}from"@lssm/lib.contracts-spec/registry";var p=(e)=>`${e.key}.v${e.version}`;class c extends s{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function u(e){return p(e)}var i=(e)=>e;var o=["official-api","official-mcp","aggregator-api","aggregator-mcp","unofficial"],l=[{key:"health.activities.read",version:"1.0.0"},{key:"health.workouts.read",version:"1.0.0"},{key:"health.sleep.read",version:"1.0.0"},{key:"health.biometrics.read",version:"1.0.0"}],d=[{type:"rest"},{type:"mcp",transport:"http"},{type:"webhook",inbound:{signatureHeader:"x-webhook-signature",signingAlgorithm:"hmac-sha256"}}],n=[{type:"oauth2",grantType:"authorization_code",tokenUrl:"",scopes:[]},{type:"api-key"},{type:"bearer"},{type:"basic"}];function a(e){let t=e.supportedAuthMethods??f(e);return i({meta:{key:e.key,version:"1.0.0",category:"health",title:e.title,description:e.description,domain:"health",owners:["platform.integrations"],tags:["health","wearables",...e.tags],stability:e.stability??g.Experimental},supportedModes:e.supportedModes??["managed","byok"],transports:e.transports??d,preferredTransport:"rest",supportedAuthMethods:t,capabilities:{provides:e.capabilities??[...l]},configSchema:{schema:{type:"object",properties:{apiBaseUrl:{type:"string",description:"Optional API base URL override for provider-specific regional or partner endpoints."},mcpUrl:{type:"string",description:"Optional MCP endpoint URL for provider tool transport."},oauthTokenUrl:{type:"string",description:"Optional OAuth token endpoint override used for access-token refresh flows."},defaultTransport:{type:"string",enum:[...o],description:"Preferred transport strategy used before fallbacks are attempted."},strategyOrder:{type:"array",items:{type:"string",enum:[...o]},description:"Ordered transport fallback strategy. Defaults to official API -> official MCP -> aggregator API -> aggregator MCP -> unofficial."},allowUnofficial:{type:"boolean",description:"Must be true to allow unofficial/automation connectors as fallback."},unofficialAllowList:{type:"array",items:{type:"string"},description:"Optional allowlist of provider keys allowed to use unofficial connectors."}}},example:{defaultTransport:e.defaultTransport??"official-api",strategyOrder:[...o],allowUnofficial:!1,unofficialAllowList:[]}},secretSchema:{schema:{type:"object",properties:{apiKey:{type:"string"},accessToken:{type:"string"},refreshToken:{type:"string"},tokenExpiresAt:{type:"string"},clientId:{type:"string"},clientSecret:{type:"string"},mcpAccessToken:{type:"string"},username:{type:"string"},password:{type:"string"}}},example:{apiKey:"provider-api-key",accessToken:"oauth-access-token",refreshToken:"oauth-refresh-token"}},healthCheck:{method:"list",timeoutMs:1e4},docsUrl:e.docsUrl,byokSetup:{setupInstructions:e.byokSetupInstructions??"Create provider credentials, set allowed scopes, and store credentials in secret provider.",requiredScopes:e.byokScopes,keyRotationSupported:!1,quotaTrackingSupported:!1}})}function f(e){if(e.oauthTokenUrl){let t=e.oauthTokenUrl;return n.map((r)=>{if(r.type==="oauth2")return{...r,tokenUrl:t,scopes:e.byokScopes??[]};return r})}return[...n]}var y=a({key:"health.peloton",title:"Peloton",description:"Peloton integration for workout history and activity metrics using official, aggregator, or opt-in unofficial connectors.",docsUrl:"https://developers.onepeloton.com/",tags:["peloton","workouts","unofficial"],capabilities:[{key:"health.activities.read",version:"1.0.0"},{key:"health.workouts.read",version:"1.0.0"}],defaultTransport:"aggregator-api"});function T(e){return e.register(y)}export{y as pelotonIntegrationSpec,T as registerPelotonIntegration};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{StabilityEnum as i}from"@lssm/lib.contracts-spec/ownership";var a={meta:{key:"analytics.posthog.llm",version:"1.0.0",title:"PostHog LLM Analytics Telemetry",description:"Telemetry events for PostHog LLM Analytics: generation tracing, token usage, and evaluation-ready metadata.",domain:"analytics",owners:["@platform.integrations"],tags:["analytics","posthog","llm","ai","telemetry"],stability:i.Beta},events:[{key:"posthog.llm.generation",version:"1.0.0",semantics:{who:"AI agent or LLM consumer",what:"Captures an LLM generation call with full observability metadata",why:"Enable LLM performance monitoring, cost tracking, and automated quality evaluations via PostHog"},properties:{$ai_model:{type:"string",required:!0,description:"The LLM model identifier (e.g., gpt-4o, claude-sonnet-4-20250514)"},$ai_provider:{type:"string",required:!0,description:"The LLM provider (e.g., openai, anthropic, contractspec)"},$ai_latency:{type:"number",required:!1,description:"LLM call latency in seconds"},$ai_input_tokens:{type:"number",required:!1,description:"Number of input/prompt tokens consumed"},$ai_output_tokens:{type:"number",required:!1,description:"Number of output/completion tokens generated"},$ai_total_cost_usd:{type:"number",required:!1,description:"Total cost in USD (input + output)"},$ai_is_error:{type:"boolean",required:!1,description:"Whether the generation resulted in an error"},$ai_trace_id:{type:"string",required:!1,description:"Trace ID for grouping related generations"},$ai_stream:{type:"boolean",required:!1,description:"Whether the response was streamed"},$ai_time_to_first_token:{type:"number",required:!1,description:"Time to first token in seconds (streaming only)"},$ai_tools:{type:"json",required:!1,description:"Tools/functions available to the LLM"},$ai_input:{type:"json",required:!1,pii:!0,redact:!0,description:"Messages sent to the LLM (may contain PII)"},$ai_output_choices:{type:"json",required:!1,pii:!0,redact:!0,description:"Response choices from the LLM (may contain PII)"},contractspec_operation:{type:"string",required:!1,description:"ContractSpec operation name"},contractspec_version:{type:"string",required:!1,description:"ContractSpec operation version"},contractspec_agent_id:{type:"string",required:!1,description:"ContractSpec agent identifier"},contractspec_finish_reason:{type:"string",required:!1,description:"AI SDK finish reason (stop, tool-calls, error, etc.)"},contractspec_tool_count:{type:"number",required:!1,description:"Number of tool calls made in this step"}},privacy:"internal",tags:["llm","generation","posthog"]}],config:{defaultRetentionDays:90,defaultSamplingRate:1,providers:[{type:"posthog",config:{eventName:"$ai_generation",enableEvaluations:!0,evaluationTemplates:["relevance","helpfulness","jailbreak","hallucination","toxicity"]}}]}},n=["$ai_input","$ai_output_choices"],s={generation:"$ai_generation",span:"$ai_span",evaluation:"$ai_evaluation"},c={relevance:"relevance",helpfulness:"helpfulness",jailbreak:"jailbreak",hallucination:"hallucination",toxicity:"toxicity"};function p(o){let e={...o};for(let t of n)if(t in e)e[t]="[REDACTED]";return e}export{c as POSTHOG_EVALUATION_TEMPLATES,n as POSTHOG_LLM_PII_FIELDS,s as POSTHOG_LLM_TELEMETRY_EVENTS,a as posthogLLMTelemetrySpec,p as redactPostHogLLMTelemetryPayload};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{StabilityEnum as a}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as o}from"@lssm/lib.contracts-spec/registry";var n=(t)=>`${t.key}.v${t.version}`;class i extends o{constructor(t){super("integration",t)}getByCategory(t){return this.list().filter((r)=>r.meta.category===t)}}function g(t){return n(t)}var e=(t)=>t;var s=e({meta:{key:"analytics.posthog",version:"1.1.0",category:"analytics",title:"PostHog",description:"PostHog integration for product analytics, feature flags, HogQL queries, and LLM analytics with evaluations.",domain:"analytics",owners:["@platform.integrations"],tags:["analytics","posthog","llm","ai"],stability:a.Beta},supportedModes:["managed","byok"],transports:[{type:"rest"},{type:"mcp",transport:"http"},{type:"sdk",packageName:"posthog-node"}],preferredTransport:"rest",supportedAuthMethods:[{type:"api-key"}],capabilities:{provides:[{key:"analytics.events",version:"1.0.0"},{key:"analytics.feature-flags",version:"1.0.0"},{key:"analytics.query",version:"1.0.0"},{key:"analytics.events.read",version:"1.0.0"},{key:"analytics.persons",version:"1.0.0"},{key:"analytics.insights",version:"1.0.0"},{key:"analytics.cohorts",version:"1.0.0"},{key:"analytics.annotations",version:"1.0.0"},{key:"analytics.llm-tracing",version:"1.0.0"},{key:"analytics.llm-evaluations",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{host:{type:"string",description:"PostHog host (e.g., https://app.posthog.com or self-hosted URL)."},projectId:{type:"string",description:"PostHog project ID for API queries."},mcpUrl:{type:"string",description:"Optional MCP endpoint URL for PostHog tools."}}},example:{host:"https://app.posthog.com",projectId:"12345"}},secretSchema:{schema:{type:"object",required:["personalApiKey"],properties:{personalApiKey:{type:"string",description:"PostHog personal API key (required for API reads/writes)."},projectApiKey:{type:"string",description:"PostHog project API key (required for capture/ingest events)."}}},example:{personalApiKey:"phx_personal_api_key",projectApiKey:"phc_project_api_key"}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:"https://posthog.com/docs",byokSetup:{setupInstructions:"Generate a PostHog personal API key for read/write operations and a project API key for event capture.",keyRotationSupported:!0,quotaTrackingSupported:!1}});function d(t){return t.register(s)}export{s as posthogIntegrationSpec,d as registerPosthogIntegration};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{StabilityEnum as a}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 o 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:"email.postmark",version:"1.0.0",category:"email",title:"Postmark Transactional Email",description:"Postmark integration for transactional email delivery.",domain:"communications",owners:["platform.messaging"],tags:["email","transactional"],stability:a.Stable},supportedModes:["managed","byok"],transports:[{type:"rest",baseUrl:"https://api.postmarkapp.com"},{type:"webhook",inbound:{signatureHeader:"x-postmark-signature",signingAlgorithm:"hmac-sha256"}}],preferredTransport:"rest",supportedAuthMethods:[{type:"header",headerName:"X-Postmark-Server-Token"}],capabilities:{provides:[{key:"email.transactional",version:"1.0.0"}],requires:[{key:"platform.webhooks",optional:!0,reason:"Optional for inbound bounce handling"}]},configSchema:{schema:{type:"object",properties:{messageStream:{type:"string",description:"Optional message stream identifier (e.g., transactional)."},fromEmail:{type:"string",description:"Default From address used for outbound messages."}}},example:{messageStream:"outbound",fromEmail:"notifications@example.com"}},secretSchema:{schema:{type:"object",required:["serverToken"],properties:{serverToken:{type:"string",description:"Server token for the Postmark account."}}},example:{serverToken:"server-***"}},healthCheck:{method:"ping",timeoutMs:3000},docsUrl:"https://postmarkapp.com/developer",constraints:{rateLimit:{rpm:500}},byokSetup:{setupInstructions:"Create a Postmark server token with outbound send permissions and configure allowed from addresses.",keyRotationSupported:!0,quotaTrackingSupported:!1}});function u(e){return e.register(s)}export{s as postmarkIntegrationSpec,u as registerPostmarkIntegration};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{StabilityEnum as d}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 g extends p{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function m(e){return c(e)}var i=(e)=>e;function a({unsupportedModeReason:e,configFields:t,secretFields:r,rotationSupported:s=!1,setupSteps:o}){let n={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:s}};if(t)n.configFields=t;if(r)n.secretFields=r;if(o)n.setupSteps=o;return{modes:{byok:n},exempt:!0,exemptionReason:e}}var l=i({meta:{key:"openbanking.powens",version:"1.0.0",category:"open-banking",title:"Powens Open Banking (Read)",description:"Read-only Open Banking integration powered by Powens, exposing accounts, transactions, and balances.",domain:"finance",owners:["platform.finance"],tags:["open-banking","powens","finance"],stability:d.Experimental},supportedModes:["byok"],credentialManifest:a({unsupportedModeReason:"Managed Powens credentials are not declared because open-banking access requires tenant-owned regulated OAuth project credentials and consent boundaries.",configFields:[{key:"environment",required:!0}],secretFields:[{key:"clientId",required:!0},{key:"clientSecret",required:!0},{key:"apiKey"},{key:"webhookSecret"}],rotationSupported:!1}),transports:[{type:"rest",baseUrl:"https://api.powens.com"},{type:"webhook",inbound:{signatureHeader:"x-powens-signature",signingAlgorithm:"hmac-sha256"}}],preferredTransport:"rest",supportedAuthMethods:[{type:"oauth2",grantType:"authorization_code",authorizationUrl:"https://auth.powens.com/authorize",tokenUrl:"https://auth.powens.com/token",scopes:["accounts:read","transactions:read","balances:read"]}],capabilities:{provides:[{key:"openbanking.accounts.read",version:"1.0.0"},{key:"openbanking.transactions.read",version:"1.0.0"},{key:"openbanking.balances.read",version:"1.0.0"}]},configSchema:{schema:{type:"object",required:["environment"],properties:{environment:{type:"string",enum:["sandbox","production"],description:"Powens environment to target. Sandbox uses Powens test API base URL, production uses live endpoints."},baseUrl:{type:"string",description:"Optional override for the Powens API base URL. Defaults to Powens environment defaults."},region:{type:"string",description:"Optional Powens region identifier when targeting a specific data residency cluster."},pollingIntervalMs:{type:"number",description:"Optional custom polling interval in milliseconds for background sync jobs (defaults to platform standard)."}}},example:{environment:"sandbox",baseUrl:"https://api-sandbox.powens.com/v2",region:"eu-west-1",pollingIntervalMs:300000}},secretSchema:{schema:{type:"object",required:["clientId","clientSecret"],properties:{clientId:{type:"string",description:"Powens OAuth client identifier obtained from the Powens Console (BYOK project)."},clientSecret:{type:"string",description:"Powens OAuth client secret used to exchange for access tokens."},apiKey:{type:"string",description:"Optional Powens API key (if the tenant project exposes a dedicated API token)."},webhookSecret:{type:"string",description:"Optional webhook signing secret used to verify Powens webhook payloads."}}},example:{clientId:"powens-client-id",clientSecret:"powens-client-secret",apiKey:"powens-api-key",webhookSecret:"powens-webhook-secret"}},healthCheck:{method:"ping",timeoutMs:8000},docsUrl:"https://docs.powens.com/",constraints:{rateLimit:{rph:1e4,rpm:600}},byokSetup:{setupInstructions:"Create a Powens BYOK project, generate OAuth credentials, and optionally configure webhook delivery for account/transaction updates.",requiredScopes:["accounts:read","transactions:read","balances:read"],keyRotationSupported:!1,quotaTrackingSupported:!1}});function w(e){return e.register(l)}export{l as powensIntegrationSpec,w as registerPowensIntegration};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function n(e,t){return Error(`${e} does not support project-management capability "${t}" on the Work Sync v2 contract.`)}function r(e,t){if(e.record)return e.record;throw Error(`${t} expected a ProjectManagementRemoteRecord but received mutation status "${e.status}".`)}export{r as requireProjectManagementMutationRecord,n as unsupportedProjectManagementCapability};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function r(e){return Boolean(e?.tombstone)}export{r as isProviderDeltaTombstoned};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
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:"vectordb.qdrant",version:"1.0.0",category:"vector-db",title:"Qdrant Vector Database",description:"Qdrant integration for vector search and embeddings storage.",domain:"ai",owners:["platform.ai"],tags:["vector-db","search"],stability:o.Experimental},supportedModes:["managed","byok"],transports:[{type:"rest"},{type:"sdk",packageName:"@qdrant/js-client-rest"}],preferredTransport:"rest",supportedAuthMethods:[{type:"api-key"},{type:"bearer"}],capabilities:{provides:[{key:"vector-db.search",version:"1.0.0"},{key:"vector-db.storage",version:"1.0.0"}],requires:[{key:"ai.embeddings",optional:!0,reason:"Required if vectors are generated via hosted embedding services"}]},configSchema:{schema:{type:"object",properties:{apiUrl:{type:"string",description:"Base URL for the Qdrant instance (e.g., https://qdrant.example.com)."},collectionPrefix:{type:"string",description:"Prefix applied to all collection names for this tenant."}}},example:{apiUrl:"https://qdrant.example.com",collectionPrefix:"tenant_"}},secretSchema:{schema:{type:"object",properties:{apiKey:{type:"string",description:"API key or token when authentication is enabled."}}},example:{apiKey:"qdrant-api-key"}},healthCheck:{method:"ping",timeoutMs:4000},docsUrl:"https://qdrant.tech/documentation/quick-start/",constraints:{quotas:{collections:100,pointsPerCollection:1e6}},byokSetup:{setupInstructions:"Provide the HTTPS endpoint of your Qdrant cluster and generate an API key with read/write access to the collections that will be managed.",keyRotationSupported:!0,quotaTrackingSupported:!0}});function y(e){return e.register(s)}export{s as qdrantIntegrationSpec,y as registerQdrantIntegration};
|