@lssm/lib.contracts-integrations 9.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +536 -0
- package/dist/contracts-integrations.feature.d.ts +1 -0
- package/dist/contracts-integrations.feature.js +2 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.js +22 -0
- package/dist/integrations/advertising/index.d.ts +4 -0
- package/dist/integrations/advertising/index.js +2 -0
- package/dist/integrations/advertising/recipe-schema.d.ts +114 -0
- package/dist/integrations/advertising/recipe-schema.js +2 -0
- package/dist/integrations/advertising/recipe.d.ts +53 -0
- package/dist/integrations/advertising/recipe.js +1 -0
- package/dist/integrations/advertising/specs.d.ts +5 -0
- package/dist/integrations/advertising/specs.js +2 -0
- package/dist/integrations/advertising/types.d.ts +97 -0
- package/dist/integrations/advertising/types.js +2 -0
- package/dist/integrations/attio/events.d.ts +4 -0
- package/dist/integrations/attio/events.js +2 -0
- package/dist/integrations/attio/events.test.d.ts +1 -0
- package/dist/integrations/attio/index.d.ts +2 -0
- package/dist/integrations/attio/index.js +2 -0
- package/dist/integrations/attio/operations.d.ts +4 -0
- package/dist/integrations/attio/operations.js +2 -0
- package/dist/integrations/attio/operations.test.d.ts +1 -0
- package/dist/integrations/auth-helpers.d.ts +58 -0
- package/dist/integrations/auth-helpers.js +2 -0
- package/dist/integrations/auth-helpers.test.d.ts +1 -0
- package/dist/integrations/auth.d.ts +96 -0
- package/dist/integrations/auth.js +2 -0
- package/dist/integrations/auth.test.d.ts +1 -0
- package/dist/integrations/binding.d.ts +1 -0
- package/dist/integrations/binding.js +1 -0
- package/dist/integrations/byok.d.ts +75 -0
- package/dist/integrations/byok.js +2 -0
- package/dist/integrations/byok.test.d.ts +1 -0
- package/dist/integrations/catalog.d.ts +84 -0
- package/dist/integrations/catalog.js +2 -0
- package/dist/integrations/catalog.test.d.ts +1 -0
- package/dist/integrations/clay/events.d.ts +93 -0
- package/dist/integrations/clay/events.js +2 -0
- package/dist/integrations/clay/events.test.d.ts +1 -0
- package/dist/integrations/clay/index.d.ts +2 -0
- package/dist/integrations/clay/index.js +2 -0
- package/dist/integrations/clay/operations.d.ts +4 -0
- package/dist/integrations/clay/operations.js +2 -0
- package/dist/integrations/clay/operations.test.d.ts +1 -0
- package/dist/integrations/connection.d.ts +68 -0
- package/dist/integrations/connection.js +1 -0
- package/dist/integrations/credentials.d.ts +56 -0
- package/dist/integrations/credentials.js +2 -0
- package/dist/integrations/credentials.test.d.ts +1 -0
- package/dist/integrations/deployment-topology-model.d.ts +75 -0
- package/dist/integrations/deployment-topology-model.js +2 -0
- package/dist/integrations/deployment-topology-receipt.d.ts +8 -0
- package/dist/integrations/deployment-topology-receipt.js +2 -0
- package/dist/integrations/deployment-topology-validation.d.ts +5 -0
- package/dist/integrations/deployment-topology-validation.js +2 -0
- package/dist/integrations/deployment-topology.d.ts +3 -0
- package/dist/integrations/deployment-topology.js +2 -0
- package/dist/integrations/deployment-topology.test.d.ts +1 -0
- package/dist/integrations/docs/integrations.docblock.d.ts +2 -0
- package/dist/integrations/docs/integrations.docblock.js +101 -0
- package/dist/integrations/email-operations.d.ts +152 -0
- package/dist/integrations/email-operations.js +2 -0
- package/dist/integrations/gtm/capability-ledger.d.ts +48 -0
- package/dist/integrations/gtm/capability-ledger.fixture-helpers.d.ts +9 -0
- package/dist/integrations/gtm/capability-ledger.fixture-helpers.js +2 -0
- package/dist/integrations/gtm/capability-ledger.fixtures.d.ts +5 -0
- package/dist/integrations/gtm/capability-ledger.fixtures.js +2 -0
- package/dist/integrations/gtm/capability-ledger.js +2 -0
- package/dist/integrations/gtm/capability-ledger.test.d.ts +1 -0
- package/dist/integrations/gtm/hosted-mcp.d.ts +12 -0
- package/dist/integrations/gtm/hosted-mcp.js +2 -0
- package/dist/integrations/gtm/index.d.ts +5 -0
- package/dist/integrations/gtm/index.js +2 -0
- package/dist/integrations/gtm/inventory/attio.d.ts +2 -0
- package/dist/integrations/gtm/inventory/attio.js +2 -0
- package/dist/integrations/gtm/inventory/clay.d.ts +2 -0
- package/dist/integrations/gtm/inventory/clay.js +2 -0
- package/dist/integrations/gtm/inventory/fullenrich.d.ts +2 -0
- package/dist/integrations/gtm/inventory/fullenrich.js +2 -0
- package/dist/integrations/gtm/inventory/index.d.ts +4 -0
- package/dist/integrations/gtm/inventory/index.js +2 -0
- package/dist/integrations/gtm/inventory/inventory.test.d.ts +1 -0
- package/dist/integrations/gtm/inventory/types.d.ts +26 -0
- package/dist/integrations/gtm/inventory/types.js +1 -0
- package/dist/integrations/gtm/preflight.d.ts +20 -0
- package/dist/integrations/gtm/preflight.js +2 -0
- package/dist/integrations/gtm/preflight.test.d.ts +1 -0
- package/dist/integrations/gtm/schemas.d.ts +291 -0
- package/dist/integrations/gtm/schemas.js +2 -0
- package/dist/integrations/gtm/webhook-ingress.d.ts +37 -0
- package/dist/integrations/gtm/webhook-ingress.js +2 -0
- package/dist/integrations/gtm/webhook-ingress.test.d.ts +1 -0
- package/dist/integrations/health/contracts/activities.d.ts +162 -0
- package/dist/integrations/health/contracts/activities.js +2 -0
- package/dist/integrations/health/contracts/biometrics.d.ts +156 -0
- package/dist/integrations/health/contracts/biometrics.js +2 -0
- package/dist/integrations/health/contracts/contracts.test.d.ts +1 -0
- package/dist/integrations/health/contracts/index.d.ts +10 -0
- package/dist/integrations/health/contracts/index.js +2 -0
- package/dist/integrations/health/contracts/nutrition.d.ts +162 -0
- package/dist/integrations/health/contracts/nutrition.js +2 -0
- package/dist/integrations/health/contracts/sleep.d.ts +166 -0
- package/dist/integrations/health/contracts/sleep.js +2 -0
- package/dist/integrations/health/contracts/webhooks.d.ts +73 -0
- package/dist/integrations/health/contracts/webhooks.js +2 -0
- package/dist/integrations/health/contracts/workouts.d.ts +166 -0
- package/dist/integrations/health/contracts/workouts.js +2 -0
- package/dist/integrations/health/guards.d.ts +8 -0
- package/dist/integrations/health/guards.js +2 -0
- package/dist/integrations/health/guards.test.d.ts +1 -0
- package/dist/integrations/health/health.capability.d.ts +1 -0
- package/dist/integrations/health/health.capability.js +2 -0
- package/dist/integrations/health/health.feature.d.ts +1 -0
- package/dist/integrations/health/health.feature.js +2 -0
- package/dist/integrations/health/models.d.ts +361 -0
- package/dist/integrations/health/models.js +2 -0
- package/dist/integrations/health/telemetry.d.ts +17 -0
- package/dist/integrations/health/telemetry.js +2 -0
- package/dist/integrations/health/telemetry.test.d.ts +1 -0
- package/dist/integrations/health.d.ts +17 -0
- package/dist/integrations/health.js +2 -0
- package/dist/integrations/health.test.d.ts +1 -0
- package/dist/integrations/index.d.ts +30 -0
- package/dist/integrations/index.js +22 -0
- package/dist/integrations/integrations.capability.d.ts +1 -0
- package/dist/integrations/integrations.capability.js +2 -0
- package/dist/integrations/integrations.feature.d.ts +5 -0
- package/dist/integrations/integrations.feature.js +2 -0
- package/dist/integrations/linkedin/advertising.d.ts +52 -0
- package/dist/integrations/linkedin/advertising.js +1 -0
- package/dist/integrations/linkedin/analytics.d.ts +25 -0
- package/dist/integrations/linkedin/analytics.js +1 -0
- package/dist/integrations/linkedin/capabilities.d.ts +54 -0
- package/dist/integrations/linkedin/capabilities.js +2 -0
- package/dist/integrations/linkedin/capability-evaluation.test.d.ts +1 -0
- package/dist/integrations/linkedin/community.d.ts +77 -0
- package/dist/integrations/linkedin/community.js +1 -0
- package/dist/integrations/linkedin/credentials.d.ts +17 -0
- package/dist/integrations/linkedin/credentials.js +2 -0
- package/dist/integrations/linkedin/host.d.ts +53 -0
- package/dist/integrations/linkedin/host.js +2 -0
- package/dist/integrations/linkedin/host.test.d.ts +1 -0
- package/dist/integrations/linkedin/identity.d.ts +29 -0
- package/dist/integrations/linkedin/identity.js +1 -0
- package/dist/integrations/linkedin/index.d.ts +16 -0
- package/dist/integrations/linkedin/index.js +2 -0
- package/dist/integrations/linkedin/installation.d.ts +54 -0
- package/dist/integrations/linkedin/installation.js +2 -0
- package/dist/integrations/linkedin/linkedin.test.d.ts +1 -0
- package/dist/integrations/linkedin/media-job-state.d.ts +70 -0
- package/dist/integrations/linkedin/media-job-state.js +2 -0
- package/dist/integrations/linkedin/media-job.d.ts +88 -0
- package/dist/integrations/linkedin/media-job.js +2 -0
- package/dist/integrations/linkedin/media-session.d.ts +37 -0
- package/dist/integrations/linkedin/media-session.js +2 -0
- package/dist/integrations/linkedin/media.d.ts +51 -0
- package/dist/integrations/linkedin/media.js +2 -0
- package/dist/integrations/linkedin/messaging.d.ts +70 -0
- package/dist/integrations/linkedin/messaging.js +1 -0
- package/dist/integrations/linkedin/models.d.ts +42 -0
- package/dist/integrations/linkedin/models.js +1 -0
- package/dist/integrations/linkedin/native-publication.d.ts +43 -0
- package/dist/integrations/linkedin/native-publication.js +2 -0
- package/dist/integrations/linkedin/native-withdrawal.d.ts +12 -0
- package/dist/integrations/linkedin/native-withdrawal.js +2 -0
- package/dist/integrations/linkedin/operation-catalog.d.ts +314 -0
- package/dist/integrations/linkedin/operation-catalog.js +2 -0
- package/dist/integrations/linkedin/operations.d.ts +66 -0
- package/dist/integrations/linkedin/operations.js +2 -0
- package/dist/integrations/linkedin/provider.d.ts +72 -0
- package/dist/integrations/linkedin/provider.js +2 -0
- package/dist/integrations/linkedin/sales.d.ts +57 -0
- package/dist/integrations/linkedin/sales.js +1 -0
- package/dist/integrations/linkedin/sync.d.ts +41 -0
- package/dist/integrations/linkedin/sync.js +1 -0
- package/dist/integrations/linkedin/webhooks.d.ts +38 -0
- package/dist/integrations/linkedin/webhooks.js +1 -0
- package/dist/integrations/meeting-recorder/contracts/index.d.ts +7 -0
- package/dist/integrations/meeting-recorder/contracts/index.js +2 -0
- package/dist/integrations/meeting-recorder/contracts/meetings.d.ts +451 -0
- package/dist/integrations/meeting-recorder/contracts/meetings.js +2 -0
- package/dist/integrations/meeting-recorder/contracts/transcripts.d.ts +166 -0
- package/dist/integrations/meeting-recorder/contracts/transcripts.js +2 -0
- package/dist/integrations/meeting-recorder/contracts/webhooks.d.ts +85 -0
- package/dist/integrations/meeting-recorder/contracts/webhooks.js +2 -0
- package/dist/integrations/meeting-recorder/meeting-recorder.capability.d.ts +1 -0
- package/dist/integrations/meeting-recorder/meeting-recorder.capability.js +2 -0
- package/dist/integrations/meeting-recorder/meeting-recorder.feature.d.ts +5 -0
- package/dist/integrations/meeting-recorder/meeting-recorder.feature.js +2 -0
- package/dist/integrations/meeting-recorder/models.d.ts +402 -0
- package/dist/integrations/meeting-recorder/models.js +2 -0
- package/dist/integrations/meeting-recorder/telemetry.d.ts +13 -0
- package/dist/integrations/meeting-recorder/telemetry.js +2 -0
- package/dist/integrations/openbanking/contracts/accounts.d.ts +282 -0
- package/dist/integrations/openbanking/contracts/accounts.js +2 -0
- package/dist/integrations/openbanking/contracts/balances.d.ts +158 -0
- package/dist/integrations/openbanking/contracts/balances.js +2 -0
- package/dist/integrations/openbanking/contracts/index.d.ts +7 -0
- package/dist/integrations/openbanking/contracts/index.js +2 -0
- package/dist/integrations/openbanking/contracts/transactions.d.ts +206 -0
- package/dist/integrations/openbanking/contracts/transactions.js +2 -0
- package/dist/integrations/openbanking/guards.d.ts +8 -0
- package/dist/integrations/openbanking/guards.js +2 -0
- package/dist/integrations/openbanking/guards.test.d.ts +1 -0
- package/dist/integrations/openbanking/models.d.ts +223 -0
- package/dist/integrations/openbanking/models.js +2 -0
- package/dist/integrations/openbanking/openbanking.capability.d.ts +1 -0
- package/dist/integrations/openbanking/openbanking.capability.js +2 -0
- package/dist/integrations/openbanking/openbanking.feature.d.ts +5 -0
- package/dist/integrations/openbanking/openbanking.feature.js +2 -0
- package/dist/integrations/openbanking/telemetry.d.ts +12 -0
- package/dist/integrations/openbanking/telemetry.js +2 -0
- package/dist/integrations/operations.d.ts +430 -0
- package/dist/integrations/operations.js +22 -0
- package/dist/integrations/operations.test.d.ts +1 -0
- package/dist/integrations/providers/analytics-reader.d.ts +103 -0
- package/dist/integrations/providers/analytics-reader.js +1 -0
- package/dist/integrations/providers/analytics-writer.d.ts +6 -0
- package/dist/integrations/providers/analytics-writer.js +1 -0
- package/dist/integrations/providers/analytics.d.ts +47 -0
- package/dist/integrations/providers/analytics.js +1 -0
- package/dist/integrations/providers/apify.d.ts +3 -0
- package/dist/integrations/providers/apify.js +2 -0
- package/dist/integrations/providers/apple-health.d.ts +3 -0
- package/dist/integrations/providers/apple-health.js +2 -0
- package/dist/integrations/providers/async-media-record.d.ts +26 -0
- package/dist/integrations/providers/async-media-record.js +2 -0
- package/dist/integrations/providers/async-media.d.ts +112 -0
- package/dist/integrations/providers/async-media.js +1 -0
- package/dist/integrations/providers/attio.d.ts +4 -0
- package/dist/integrations/providers/attio.js +2 -0
- package/dist/integrations/providers/bright-data.d.ts +3 -0
- package/dist/integrations/providers/bright-data.js +2 -0
- package/dist/integrations/providers/browserbase.d.ts +3 -0
- package/dist/integrations/providers/browserbase.js +2 -0
- package/dist/integrations/providers/calendar.d.js +1 -0
- package/dist/integrations/providers/calendar.d.ts +81 -0
- package/dist/integrations/providers/calendar.js +1 -0
- package/dist/integrations/providers/catalog.d.ts +2 -0
- package/dist/integrations/providers/catalog.js +2 -0
- package/dist/integrations/providers/clay.d.ts +4 -0
- package/dist/integrations/providers/clay.js +2 -0
- package/dist/integrations/providers/communication-channel.d.ts +45 -0
- package/dist/integrations/providers/communication-channel.js +2 -0
- package/dist/integrations/providers/communication-channel.test.d.ts +1 -0
- package/dist/integrations/providers/composio.d.ts +3 -0
- package/dist/integrations/providers/composio.js +2 -0
- package/dist/integrations/providers/crm-external-profiles.test.d.ts +1 -0
- package/dist/integrations/providers/crm-fixture-core.d.ts +20 -0
- package/dist/integrations/providers/crm-fixture-core.js +2 -0
- package/dist/integrations/providers/crm-hubspot-fixture.d.ts +14 -0
- package/dist/integrations/providers/crm-hubspot-fixture.js +2 -0
- package/dist/integrations/providers/crm-salesforce-fixture.d.ts +17 -0
- package/dist/integrations/providers/crm-salesforce-fixture.js +2 -0
- package/dist/integrations/providers/crm-write-proposal-types.d.ts +83 -0
- package/dist/integrations/providers/crm-write-proposal-types.js +2 -0
- package/dist/integrations/providers/crm-write-proposal.d.ts +7 -0
- package/dist/integrations/providers/crm-write-proposal.js +2 -0
- package/dist/integrations/providers/crm-write-proposal.test.d.ts +1 -0
- package/dist/integrations/providers/crm.d.ts +94 -0
- package/dist/integrations/providers/crm.js +2 -0
- package/dist/integrations/providers/crm.test.d.ts +1 -0
- package/dist/integrations/providers/database.d.ts +12 -0
- package/dist/integrations/providers/database.js +1 -0
- package/dist/integrations/providers/deepgram.d.ts +3 -0
- package/dist/integrations/providers/deepgram.js +2 -0
- package/dist/integrations/providers/direct-fetch.d.ts +3 -0
- package/dist/integrations/providers/direct-fetch.js +2 -0
- package/dist/integrations/providers/eightsleep.d.ts +3 -0
- package/dist/integrations/providers/eightsleep.js +2 -0
- package/dist/integrations/providers/elevenlabs.d.ts +3 -0
- package/dist/integrations/providers/elevenlabs.js +2 -0
- package/dist/integrations/providers/email-delivery-events.d.ts +22 -0
- package/dist/integrations/providers/email-delivery-events.js +1 -0
- package/dist/integrations/providers/email.d.ts +187 -0
- package/dist/integrations/providers/email.js +1 -0
- package/dist/integrations/providers/embedding.d.ts +52 -0
- package/dist/integrations/providers/embedding.js +1 -0
- package/dist/integrations/providers/embedding.test.d.ts +1 -0
- package/dist/integrations/providers/fal-image.d.ts +3 -0
- package/dist/integrations/providers/fal-image.js +2 -0
- package/dist/integrations/providers/fal.d.ts +3 -0
- package/dist/integrations/providers/fal.js +2 -0
- package/dist/integrations/providers/fathom.d.ts +3 -0
- package/dist/integrations/providers/fathom.js +2 -0
- package/dist/integrations/providers/firecrawl.d.ts +3 -0
- package/dist/integrations/providers/firecrawl.js +2 -0
- package/dist/integrations/providers/fireflies.d.ts +3 -0
- package/dist/integrations/providers/fireflies.js +2 -0
- package/dist/integrations/providers/fitbit.d.ts +3 -0
- package/dist/integrations/providers/fitbit.js +2 -0
- package/dist/integrations/providers/fullenrich.d.ts +3 -0
- package/dist/integrations/providers/fullenrich.js +2 -0
- package/dist/integrations/providers/garmin.d.ts +3 -0
- package/dist/integrations/providers/garmin.js +2 -0
- package/dist/integrations/providers/gcs-storage.d.ts +3 -0
- package/dist/integrations/providers/gcs-storage.js +2 -0
- package/dist/integrations/providers/gmail.d.ts +3 -0
- package/dist/integrations/providers/gmail.js +2 -0
- package/dist/integrations/providers/google-calendar.d.ts +3 -0
- package/dist/integrations/providers/google-calendar.js +2 -0
- package/dist/integrations/providers/google-drive.d.ts +54 -0
- package/dist/integrations/providers/google-drive.js +2 -0
- package/dist/integrations/providers/gradium.d.ts +3 -0
- package/dist/integrations/providers/gradium.js +2 -0
- package/dist/integrations/providers/granola.d.ts +3 -0
- package/dist/integrations/providers/granola.js +2 -0
- package/dist/integrations/providers/gtm-providers.test.d.ts +1 -0
- package/dist/integrations/providers/health-provider-shared.d.ts +28 -0
- package/dist/integrations/providers/health-provider-shared.js +2 -0
- package/dist/integrations/providers/health-providers.test.d.ts +1 -0
- package/dist/integrations/providers/health.d.ts +186 -0
- package/dist/integrations/providers/health.js +1 -0
- package/dist/integrations/providers/higgsfield.d.ts +3 -0
- package/dist/integrations/providers/higgsfield.js +2 -0
- package/dist/integrations/providers/image.d.ts +85 -0
- package/dist/integrations/providers/image.js +2 -0
- package/dist/integrations/providers/index.d.ts +101 -0
- package/dist/integrations/providers/index.js +2 -0
- package/dist/integrations/providers/jira.d.ts +3 -0
- package/dist/integrations/providers/jira.js +2 -0
- package/dist/integrations/providers/linear.d.ts +3 -0
- package/dist/integrations/providers/linear.js +2 -0
- package/dist/integrations/providers/linkedin-community.d.ts +3 -0
- package/dist/integrations/providers/linkedin-community.js +2 -0
- package/dist/integrations/providers/linkedin-marketing.d.ts +3 -0
- package/dist/integrations/providers/linkedin-marketing.js +2 -0
- package/dist/integrations/providers/linkedin-member.d.ts +3 -0
- package/dist/integrations/providers/linkedin-member.js +2 -0
- package/dist/integrations/providers/linkedin-messaging.d.ts +3 -0
- package/dist/integrations/providers/linkedin-messaging.js +2 -0
- package/dist/integrations/providers/linkedin-providers.test.d.ts +1 -0
- package/dist/integrations/providers/linkedin-sales-navigator.d.ts +3 -0
- package/dist/integrations/providers/linkedin-sales-navigator.js +2 -0
- package/dist/integrations/providers/linkedin-spec-shared.d.ts +16 -0
- package/dist/integrations/providers/linkedin-spec-shared.js +2 -0
- package/dist/integrations/providers/linkup.d.ts +3 -0
- package/dist/integrations/providers/linkup.js +2 -0
- package/dist/integrations/providers/llm.d.ts +79 -0
- package/dist/integrations/providers/llm.js +1 -0
- package/dist/integrations/providers/massive.d.ts +5 -0
- package/dist/integrations/providers/massive.js +2 -0
- package/dist/integrations/providers/meeting-capture.d.ts +56 -0
- package/dist/integrations/providers/meeting-capture.js +1 -0
- package/dist/integrations/providers/meeting-recorder.d.ts +129 -0
- package/dist/integrations/providers/meeting-recorder.js +1 -0
- package/dist/integrations/providers/messaging-github.d.ts +9 -0
- package/dist/integrations/providers/messaging-github.js +2 -0
- package/dist/integrations/providers/messaging-matrix.d.ts +3 -0
- package/dist/integrations/providers/messaging-matrix.js +2 -0
- package/dist/integrations/providers/messaging-slack.d.ts +9 -0
- package/dist/integrations/providers/messaging-slack.js +2 -0
- package/dist/integrations/providers/messaging-teams.d.ts +10 -0
- package/dist/integrations/providers/messaging-teams.js +2 -0
- package/dist/integrations/providers/messaging-telegram.d.ts +3 -0
- package/dist/integrations/providers/messaging-telegram.js +2 -0
- package/dist/integrations/providers/messaging-whatsapp-meta.d.ts +3 -0
- package/dist/integrations/providers/messaging-whatsapp-meta.js +2 -0
- package/dist/integrations/providers/messaging-whatsapp-twilio.d.ts +3 -0
- package/dist/integrations/providers/messaging-whatsapp-twilio.js +2 -0
- package/dist/integrations/providers/messaging.d.ts +30 -0
- package/dist/integrations/providers/messaging.js +1 -0
- package/dist/integrations/providers/mistral-conversational.d.ts +3 -0
- package/dist/integrations/providers/mistral-conversational.js +2 -0
- package/dist/integrations/providers/mistral-stt.d.ts +3 -0
- package/dist/integrations/providers/mistral-stt.js +2 -0
- package/dist/integrations/providers/mistral.d.ts +3 -0
- package/dist/integrations/providers/mistral.js +2 -0
- package/dist/integrations/providers/mode-exemptions.d.ts +10 -0
- package/dist/integrations/providers/mode-exemptions.js +2 -0
- package/dist/integrations/providers/myfitnesspal.d.ts +3 -0
- package/dist/integrations/providers/myfitnesspal.js +2 -0
- package/dist/integrations/providers/notion.d.ts +9 -0
- package/dist/integrations/providers/notion.js +2 -0
- package/dist/integrations/providers/openai-image.d.ts +3 -0
- package/dist/integrations/providers/openai-image.js +2 -0
- package/dist/integrations/providers/openai-realtime.d.ts +3 -0
- package/dist/integrations/providers/openai-realtime.js +2 -0
- package/dist/integrations/providers/openbanking.d.ts +125 -0
- package/dist/integrations/providers/openbanking.js +1 -0
- package/dist/integrations/providers/openwearables.d.ts +3 -0
- package/dist/integrations/providers/openwearables.js +2 -0
- package/dist/integrations/providers/oura.d.ts +3 -0
- package/dist/integrations/providers/oura.js +2 -0
- package/dist/integrations/providers/oxylabs.d.ts +3 -0
- package/dist/integrations/providers/oxylabs.js +2 -0
- package/dist/integrations/providers/payments/capabilities-billing.d.ts +67 -0
- package/dist/integrations/providers/payments/capabilities-billing.js +1 -0
- package/dist/integrations/providers/payments/capabilities-payments.d.ts +57 -0
- package/dist/integrations/providers/payments/capabilities-payments.js +1 -0
- package/dist/integrations/providers/payments/capabilities.d.ts +2 -0
- package/dist/integrations/providers/payments/capabilities.js +1 -0
- package/dist/integrations/providers/payments/context.d.ts +75 -0
- package/dist/integrations/providers/payments/context.js +2 -0
- package/dist/integrations/providers/payments/provider.d.ts +22 -0
- package/dist/integrations/providers/payments/provider.js +1 -0
- package/dist/integrations/providers/payments/resources.d.ts +97 -0
- package/dist/integrations/providers/payments/resources.js +1 -0
- package/dist/integrations/providers/payments/shared.d.ts +61 -0
- package/dist/integrations/providers/payments/shared.js +2 -0
- package/dist/integrations/providers/payments.d.ts +5 -0
- package/dist/integrations/providers/payments.js +2 -0
- package/dist/integrations/providers/payments.test.d.ts +1 -0
- package/dist/integrations/providers/paypal.d.ts +3 -0
- package/dist/integrations/providers/paypal.js +2 -0
- package/dist/integrations/providers/peloton.d.ts +3 -0
- package/dist/integrations/providers/peloton.js +2 -0
- package/dist/integrations/providers/posthog-llm-telemetry.d.ts +51 -0
- package/dist/integrations/providers/posthog-llm-telemetry.js +2 -0
- package/dist/integrations/providers/posthog.d.ts +3 -0
- package/dist/integrations/providers/posthog.js +2 -0
- package/dist/integrations/providers/postmark.d.ts +3 -0
- package/dist/integrations/providers/postmark.js +2 -0
- package/dist/integrations/providers/powens.d.ts +3 -0
- package/dist/integrations/providers/powens.js +2 -0
- package/dist/integrations/providers/project-management.d.ts +196 -0
- package/dist/integrations/providers/project-management.js +2 -0
- package/dist/integrations/providers/provider-delta.d.ts +45 -0
- package/dist/integrations/providers/provider-delta.js +2 -0
- package/dist/integrations/providers/provider-delta.test.d.ts +1 -0
- package/dist/integrations/providers/provider-modes-coverage.test.d.ts +1 -0
- package/dist/integrations/providers/providers.test.d.ts +1 -0
- package/dist/integrations/providers/qdrant.d.ts +3 -0
- package/dist/integrations/providers/qdrant.js +2 -0
- package/dist/integrations/providers/registry.d.ts +24 -0
- package/dist/integrations/providers/registry.js +2 -0
- package/dist/integrations/providers/reworkd.d.ts +3 -0
- package/dist/integrations/providers/reworkd.js +2 -0
- package/dist/integrations/providers/serper.d.ts +3 -0
- package/dist/integrations/providers/serper.js +2 -0
- package/dist/integrations/providers/sillage.d.ts +4 -0
- package/dist/integrations/providers/sillage.js +2 -0
- package/dist/integrations/providers/slng.d.ts +3 -0
- package/dist/integrations/providers/slng.js +2 -0
- package/dist/integrations/providers/sms.d.ts +31 -0
- package/dist/integrations/providers/sms.js +1 -0
- package/dist/integrations/providers/social.d.ts +8 -0
- package/dist/integrations/providers/social.js +2 -0
- package/dist/integrations/providers/storage.d.ts +65 -0
- package/dist/integrations/providers/storage.js +1 -0
- package/dist/integrations/providers/strava.d.ts +3 -0
- package/dist/integrations/providers/strava.js +2 -0
- package/dist/integrations/providers/stripe.d.ts +3 -0
- package/dist/integrations/providers/stripe.js +2 -0
- package/dist/integrations/providers/supabase-postgres.d.ts +3 -0
- package/dist/integrations/providers/supabase-postgres.js +2 -0
- package/dist/integrations/providers/supabase-vector.d.ts +3 -0
- package/dist/integrations/providers/supabase-vector.js +2 -0
- package/dist/integrations/providers/tavily.d.ts +8 -0
- package/dist/integrations/providers/tavily.js +2 -0
- package/dist/integrations/providers/tldv.d.ts +3 -0
- package/dist/integrations/providers/tldv.js +2 -0
- package/dist/integrations/providers/twilio-sms.d.ts +3 -0
- package/dist/integrations/providers/twilio-sms.js +2 -0
- package/dist/integrations/providers/vector-store.d.ts +39 -0
- package/dist/integrations/providers/vector-store.js +1 -0
- package/dist/integrations/providers/video.d.ts +181 -0
- package/dist/integrations/providers/video.js +2 -0
- package/dist/integrations/providers/voice-video-sync.d.ts +29 -0
- package/dist/integrations/providers/voice-video-sync.js +1 -0
- package/dist/integrations/providers/voice.d.ts +180 -0
- package/dist/integrations/providers/voice.js +1 -0
- package/dist/integrations/providers/web-access-shared.d.ts +18 -0
- package/dist/integrations/providers/web-access-shared.js +2 -0
- package/dist/integrations/providers/whoop.d.ts +3 -0
- package/dist/integrations/providers/whoop.js +2 -0
- package/dist/integrations/runtime-transport.test.d.ts +1 -0
- package/dist/integrations/runtime.d.ts +140 -0
- package/dist/integrations/runtime.js +2 -0
- package/dist/integrations/runtime.test.d.ts +1 -0
- package/dist/integrations/sales-intelligence/events.d.ts +182 -0
- package/dist/integrations/sales-intelligence/events.js +2 -0
- package/dist/integrations/sales-intelligence/events.test.d.ts +1 -0
- package/dist/integrations/sales-intelligence/fullenrich-cancel-operation.d.ts +39 -0
- package/dist/integrations/sales-intelligence/fullenrich-cancel-operation.js +2 -0
- package/dist/integrations/sales-intelligence/index.d.ts +7 -0
- package/dist/integrations/sales-intelligence/index.js +2 -0
- package/dist/integrations/sales-intelligence/operation-helpers.d.ts +4 -0
- package/dist/integrations/sales-intelligence/operation-helpers.js +2 -0
- package/dist/integrations/sales-intelligence/operations.d.ts +873 -0
- package/dist/integrations/sales-intelligence/operations.js +2 -0
- package/dist/integrations/sales-intelligence/operations.test.d.ts +1 -0
- package/dist/integrations/sales-intelligence/schemas-events.d.ts +78 -0
- package/dist/integrations/sales-intelligence/schemas-events.js +2 -0
- package/dist/integrations/sales-intelligence/schemas-results.d.ts +69 -0
- package/dist/integrations/sales-intelligence/schemas-results.js +2 -0
- package/dist/integrations/sales-intelligence/schemas.d.ts +73 -0
- package/dist/integrations/sales-intelligence/schemas.js +2 -0
- package/dist/integrations/secrets/aws-secret-manager.d.ts +28 -0
- package/dist/integrations/secrets/aws-secret-manager.js +2 -0
- package/dist/integrations/secrets/env-secret-provider.d.ts +28 -0
- package/dist/integrations/secrets/env-secret-provider.js +2 -0
- package/dist/integrations/secrets/gcp-secret-manager.d.ts +29 -0
- package/dist/integrations/secrets/gcp-secret-manager.js +2 -0
- package/dist/integrations/secrets/index.d.ts +6 -0
- package/dist/integrations/secrets/index.js +2 -0
- package/dist/integrations/secrets/manager.d.ts +44 -0
- package/dist/integrations/secrets/manager.js +2 -0
- package/dist/integrations/secrets/provider.d.ts +49 -0
- package/dist/integrations/secrets/provider.js +2 -0
- package/dist/integrations/secrets/provider.test.d.ts +1 -0
- package/dist/integrations/secrets/scaleway-secret-manager.d.ts +35 -0
- package/dist/integrations/secrets/scaleway-secret-manager.js +2 -0
- package/dist/integrations/secrets-types.d.ts +14 -0
- package/dist/integrations/secrets-types.js +1 -0
- package/dist/integrations/social/index.d.ts +7 -0
- package/dist/integrations/social/index.js +2 -0
- package/dist/integrations/social/instagram.d.ts +86 -0
- package/dist/integrations/social/instagram.js +1 -0
- package/dist/integrations/social/models.d.ts +107 -0
- package/dist/integrations/social/models.js +1 -0
- package/dist/integrations/social/provider.d.ts +46 -0
- package/dist/integrations/social/provider.js +2 -0
- package/dist/integrations/social/social.test.d.ts +1 -0
- package/dist/integrations/social/tracking-models.d.ts +153 -0
- package/dist/integrations/social/tracking-models.js +2 -0
- package/dist/integrations/social/tracking-provider.d.ts +53 -0
- package/dist/integrations/social/tracking-provider.js +1 -0
- package/dist/integrations/social/tracking-store.d.ts +78 -0
- package/dist/integrations/social/tracking-store.js +1 -0
- package/dist/integrations/social/x-publication.d.ts +143 -0
- package/dist/integrations/social/x-publication.js +2 -0
- package/dist/integrations/social/x-upload-state.d.ts +53 -0
- package/dist/integrations/social/x-upload-state.js +2 -0
- package/dist/integrations/social/x-upload.d.ts +111 -0
- package/dist/integrations/social/x-upload.js +2 -0
- package/dist/integrations/social/x-withdrawal.d.ts +13 -0
- package/dist/integrations/social/x-withdrawal.js +2 -0
- package/dist/integrations/social/x.d.ts +84 -0
- package/dist/integrations/social/x.js +1 -0
- package/dist/integrations/spec.d.ts +119 -0
- package/dist/integrations/spec.js +2 -0
- package/dist/integrations/spec.test.d.ts +1 -0
- package/dist/integrations/transport.d.ts +115 -0
- package/dist/integrations/transport.js +2 -0
- package/dist/integrations/transport.test.d.ts +1 -0
- package/dist/integrations/versioning.d.ts +51 -0
- package/dist/integrations/versioning.js +2 -0
- package/dist/integrations/versioning.test.d.ts +1 -0
- package/dist/integrations/web-access/browser-automation.d.ts +134 -0
- package/dist/integrations/web-access/browser-automation.js +2 -0
- package/dist/integrations/web-access/capability-ledger.d.ts +50 -0
- package/dist/integrations/web-access/capability-ledger.js +2 -0
- package/dist/integrations/web-access/capability-ledger.test.d.ts +1 -0
- package/dist/integrations/web-access/events.d.ts +105 -0
- package/dist/integrations/web-access/events.js +2 -0
- package/dist/integrations/web-access/index.d.ts +16 -0
- package/dist/integrations/web-access/index.js +22 -0
- package/dist/integrations/web-access/inventory-definitions-expanded.d.ts +2 -0
- package/dist/integrations/web-access/inventory-definitions-expanded.js +2 -0
- package/dist/integrations/web-access/inventory-definitions.d.ts +17 -0
- package/dist/integrations/web-access/inventory-definitions.js +2 -0
- package/dist/integrations/web-access/inventory-evidence.d.ts +24 -0
- package/dist/integrations/web-access/inventory-evidence.js +2 -0
- package/dist/integrations/web-access/inventory-mappings-browserbase.d.ts +2 -0
- package/dist/integrations/web-access/inventory-mappings-browserbase.js +2 -0
- package/dist/integrations/web-access/inventory-mappings.d.ts +54 -0
- package/dist/integrations/web-access/inventory-mappings.js +2 -0
- package/dist/integrations/web-access/inventory.d.ts +4 -0
- package/dist/integrations/web-access/inventory.js +2 -0
- package/dist/integrations/web-access/models.d.ts +145 -0
- package/dist/integrations/web-access/models.js +2 -0
- package/dist/integrations/web-access/operation-definitions.d.ts +19 -0
- package/dist/integrations/web-access/operation-definitions.js +2 -0
- package/dist/integrations/web-access/operation-errors.d.ts +56 -0
- package/dist/integrations/web-access/operation-errors.js +2 -0
- package/dist/integrations/web-access/operation-output-models.d.ts +177 -0
- package/dist/integrations/web-access/operation-output-models.js +2 -0
- package/dist/integrations/web-access/operation-schema-models.d.ts +453 -0
- package/dist/integrations/web-access/operation-schema-models.js +2 -0
- package/dist/integrations/web-access/operation-schemas.d.ts +165 -0
- package/dist/integrations/web-access/operation-schemas.js +2 -0
- package/dist/integrations/web-access/operations.d.ts +22 -0
- package/dist/integrations/web-access/operations.js +22 -0
- package/dist/integrations/web-access/operations.test.d.ts +1 -0
- package/dist/integrations/web-access/providers.d.ts +56 -0
- package/dist/integrations/web-access/providers.js +1 -0
- package/dist/integrations/web-access/providers.test.d.ts +1 -0
- package/dist/integrations/web-access/schemas.d.ts +118 -0
- package/dist/integrations/web-access/schemas.js +2 -0
- package/dist/node/contracts-integrations.feature.js +1 -0
- package/dist/node/index.js +21 -0
- package/dist/node/integrations/advertising/index.js +1 -0
- package/dist/node/integrations/advertising/recipe-schema.js +1 -0
- package/dist/node/integrations/advertising/recipe.js +0 -0
- package/dist/node/integrations/advertising/specs.js +1 -0
- package/dist/node/integrations/advertising/types.js +1 -0
- package/dist/node/integrations/attio/events.js +1 -0
- package/dist/node/integrations/attio/index.js +1 -0
- package/dist/node/integrations/attio/operations.js +1 -0
- package/dist/node/integrations/auth-helpers.js +1 -0
- package/dist/node/integrations/auth.js +1 -0
- package/dist/node/integrations/binding.js +0 -0
- package/dist/node/integrations/byok.js +1 -0
- package/dist/node/integrations/catalog.js +1 -0
- package/dist/node/integrations/clay/events.js +1 -0
- package/dist/node/integrations/clay/index.js +1 -0
- package/dist/node/integrations/clay/operations.js +1 -0
- package/dist/node/integrations/connection.js +0 -0
- package/dist/node/integrations/credentials.js +1 -0
- package/dist/node/integrations/deployment-topology-model.js +1 -0
- package/dist/node/integrations/deployment-topology-receipt.js +1 -0
- package/dist/node/integrations/deployment-topology-validation.js +1 -0
- package/dist/node/integrations/deployment-topology.js +1 -0
- package/dist/node/integrations/docs/integrations.docblock.js +100 -0
- package/dist/node/integrations/email-operations.js +1 -0
- package/dist/node/integrations/gtm/capability-ledger.fixture-helpers.js +1 -0
- package/dist/node/integrations/gtm/capability-ledger.fixtures.js +1 -0
- package/dist/node/integrations/gtm/capability-ledger.js +1 -0
- package/dist/node/integrations/gtm/hosted-mcp.js +1 -0
- package/dist/node/integrations/gtm/index.js +1 -0
- package/dist/node/integrations/gtm/inventory/attio.js +1 -0
- package/dist/node/integrations/gtm/inventory/clay.js +1 -0
- package/dist/node/integrations/gtm/inventory/fullenrich.js +1 -0
- package/dist/node/integrations/gtm/inventory/index.js +1 -0
- package/dist/node/integrations/gtm/inventory/types.js +0 -0
- package/dist/node/integrations/gtm/preflight.js +1 -0
- package/dist/node/integrations/gtm/schemas.js +1 -0
- package/dist/node/integrations/gtm/webhook-ingress.js +1 -0
- package/dist/node/integrations/health/contracts/activities.js +1 -0
- package/dist/node/integrations/health/contracts/biometrics.js +1 -0
- package/dist/node/integrations/health/contracts/index.js +1 -0
- package/dist/node/integrations/health/contracts/nutrition.js +1 -0
- package/dist/node/integrations/health/contracts/sleep.js +1 -0
- package/dist/node/integrations/health/contracts/webhooks.js +1 -0
- package/dist/node/integrations/health/contracts/workouts.js +1 -0
- package/dist/node/integrations/health/guards.js +1 -0
- package/dist/node/integrations/health/health.capability.js +1 -0
- package/dist/node/integrations/health/health.feature.js +1 -0
- package/dist/node/integrations/health/models.js +1 -0
- package/dist/node/integrations/health/telemetry.js +1 -0
- package/dist/node/integrations/health.js +1 -0
- package/dist/node/integrations/index.js +21 -0
- package/dist/node/integrations/integrations.capability.js +1 -0
- package/dist/node/integrations/integrations.feature.js +1 -0
- package/dist/node/integrations/linkedin/advertising.js +0 -0
- package/dist/node/integrations/linkedin/analytics.js +0 -0
- package/dist/node/integrations/linkedin/capabilities.js +1 -0
- package/dist/node/integrations/linkedin/community.js +0 -0
- package/dist/node/integrations/linkedin/credentials.js +1 -0
- package/dist/node/integrations/linkedin/host.js +1 -0
- package/dist/node/integrations/linkedin/identity.js +0 -0
- package/dist/node/integrations/linkedin/index.js +1 -0
- package/dist/node/integrations/linkedin/installation.js +1 -0
- package/dist/node/integrations/linkedin/media-job-state.js +1 -0
- package/dist/node/integrations/linkedin/media-job.js +1 -0
- package/dist/node/integrations/linkedin/media-session.js +1 -0
- package/dist/node/integrations/linkedin/media.js +1 -0
- package/dist/node/integrations/linkedin/messaging.js +0 -0
- package/dist/node/integrations/linkedin/models.js +0 -0
- package/dist/node/integrations/linkedin/native-publication.js +1 -0
- package/dist/node/integrations/linkedin/native-withdrawal.js +1 -0
- package/dist/node/integrations/linkedin/operation-catalog.js +1 -0
- package/dist/node/integrations/linkedin/operations.js +1 -0
- package/dist/node/integrations/linkedin/provider.js +1 -0
- package/dist/node/integrations/linkedin/sales.js +0 -0
- package/dist/node/integrations/linkedin/sync.js +0 -0
- package/dist/node/integrations/linkedin/webhooks.js +0 -0
- package/dist/node/integrations/meeting-recorder/contracts/index.js +1 -0
- package/dist/node/integrations/meeting-recorder/contracts/meetings.js +1 -0
- package/dist/node/integrations/meeting-recorder/contracts/transcripts.js +1 -0
- package/dist/node/integrations/meeting-recorder/contracts/webhooks.js +1 -0
- package/dist/node/integrations/meeting-recorder/meeting-recorder.capability.js +1 -0
- package/dist/node/integrations/meeting-recorder/meeting-recorder.feature.js +1 -0
- package/dist/node/integrations/meeting-recorder/models.js +1 -0
- package/dist/node/integrations/meeting-recorder/telemetry.js +1 -0
- package/dist/node/integrations/openbanking/contracts/accounts.js +1 -0
- package/dist/node/integrations/openbanking/contracts/balances.js +1 -0
- package/dist/node/integrations/openbanking/contracts/index.js +1 -0
- package/dist/node/integrations/openbanking/contracts/transactions.js +1 -0
- package/dist/node/integrations/openbanking/guards.js +1 -0
- package/dist/node/integrations/openbanking/models.js +1 -0
- package/dist/node/integrations/openbanking/openbanking.capability.js +1 -0
- package/dist/node/integrations/openbanking/openbanking.feature.js +1 -0
- package/dist/node/integrations/openbanking/telemetry.js +1 -0
- package/dist/node/integrations/operations.js +21 -0
- package/dist/node/integrations/providers/analytics-reader.js +0 -0
- package/dist/node/integrations/providers/analytics-writer.js +0 -0
- package/dist/node/integrations/providers/analytics.js +0 -0
- package/dist/node/integrations/providers/apify.js +1 -0
- package/dist/node/integrations/providers/apple-health.js +1 -0
- package/dist/node/integrations/providers/async-media-record.js +1 -0
- package/dist/node/integrations/providers/async-media.js +0 -0
- package/dist/node/integrations/providers/attio.js +1 -0
- package/dist/node/integrations/providers/bright-data.js +1 -0
- package/dist/node/integrations/providers/browserbase.js +1 -0
- package/dist/node/integrations/providers/calendar.d.js +0 -0
- package/dist/node/integrations/providers/calendar.js +0 -0
- package/dist/node/integrations/providers/catalog.js +1 -0
- package/dist/node/integrations/providers/clay.js +1 -0
- package/dist/node/integrations/providers/communication-channel.js +1 -0
- package/dist/node/integrations/providers/composio.js +1 -0
- package/dist/node/integrations/providers/crm-fixture-core.js +1 -0
- package/dist/node/integrations/providers/crm-hubspot-fixture.js +1 -0
- package/dist/node/integrations/providers/crm-salesforce-fixture.js +1 -0
- package/dist/node/integrations/providers/crm-write-proposal-types.js +1 -0
- package/dist/node/integrations/providers/crm-write-proposal.js +1 -0
- package/dist/node/integrations/providers/crm.js +1 -0
- package/dist/node/integrations/providers/database.js +0 -0
- package/dist/node/integrations/providers/deepgram.js +1 -0
- package/dist/node/integrations/providers/direct-fetch.js +1 -0
- package/dist/node/integrations/providers/eightsleep.js +1 -0
- package/dist/node/integrations/providers/elevenlabs.js +1 -0
- package/dist/node/integrations/providers/email-delivery-events.js +0 -0
- package/dist/node/integrations/providers/email.js +0 -0
- package/dist/node/integrations/providers/embedding.js +0 -0
- package/dist/node/integrations/providers/fal-image.js +1 -0
- package/dist/node/integrations/providers/fal.js +1 -0
- package/dist/node/integrations/providers/fathom.js +1 -0
- package/dist/node/integrations/providers/firecrawl.js +1 -0
- package/dist/node/integrations/providers/fireflies.js +1 -0
- package/dist/node/integrations/providers/fitbit.js +1 -0
- package/dist/node/integrations/providers/fullenrich.js +1 -0
- package/dist/node/integrations/providers/garmin.js +1 -0
- package/dist/node/integrations/providers/gcs-storage.js +1 -0
- package/dist/node/integrations/providers/gmail.js +1 -0
- package/dist/node/integrations/providers/google-calendar.js +1 -0
- package/dist/node/integrations/providers/google-drive.js +1 -0
- package/dist/node/integrations/providers/gradium.js +1 -0
- package/dist/node/integrations/providers/granola.js +1 -0
- package/dist/node/integrations/providers/health-provider-shared.js +1 -0
- package/dist/node/integrations/providers/health.js +0 -0
- package/dist/node/integrations/providers/higgsfield.js +1 -0
- package/dist/node/integrations/providers/image.js +1 -0
- package/dist/node/integrations/providers/index.js +1 -0
- package/dist/node/integrations/providers/jira.js +1 -0
- package/dist/node/integrations/providers/linear.js +1 -0
- package/dist/node/integrations/providers/linkedin-community.js +1 -0
- package/dist/node/integrations/providers/linkedin-marketing.js +1 -0
- package/dist/node/integrations/providers/linkedin-member.js +1 -0
- package/dist/node/integrations/providers/linkedin-messaging.js +1 -0
- package/dist/node/integrations/providers/linkedin-sales-navigator.js +1 -0
- package/dist/node/integrations/providers/linkedin-spec-shared.js +1 -0
- package/dist/node/integrations/providers/linkup.js +1 -0
- package/dist/node/integrations/providers/llm.js +0 -0
- package/dist/node/integrations/providers/massive.js +1 -0
- package/dist/node/integrations/providers/meeting-capture.js +0 -0
- package/dist/node/integrations/providers/meeting-recorder.js +0 -0
- package/dist/node/integrations/providers/messaging-github.js +1 -0
- package/dist/node/integrations/providers/messaging-matrix.js +1 -0
- package/dist/node/integrations/providers/messaging-slack.js +1 -0
- package/dist/node/integrations/providers/messaging-teams.js +1 -0
- package/dist/node/integrations/providers/messaging-telegram.js +1 -0
- package/dist/node/integrations/providers/messaging-whatsapp-meta.js +1 -0
- package/dist/node/integrations/providers/messaging-whatsapp-twilio.js +1 -0
- package/dist/node/integrations/providers/messaging.js +0 -0
- package/dist/node/integrations/providers/mistral-conversational.js +1 -0
- package/dist/node/integrations/providers/mistral-stt.js +1 -0
- package/dist/node/integrations/providers/mistral.js +1 -0
- package/dist/node/integrations/providers/mode-exemptions.js +1 -0
- package/dist/node/integrations/providers/myfitnesspal.js +1 -0
- package/dist/node/integrations/providers/notion.js +1 -0
- package/dist/node/integrations/providers/openai-image.js +1 -0
- package/dist/node/integrations/providers/openai-realtime.js +1 -0
- package/dist/node/integrations/providers/openbanking.js +0 -0
- package/dist/node/integrations/providers/openwearables.js +1 -0
- package/dist/node/integrations/providers/oura.js +1 -0
- package/dist/node/integrations/providers/oxylabs.js +1 -0
- package/dist/node/integrations/providers/payments/capabilities-billing.js +0 -0
- package/dist/node/integrations/providers/payments/capabilities-payments.js +0 -0
- package/dist/node/integrations/providers/payments/capabilities.js +0 -0
- package/dist/node/integrations/providers/payments/context.js +1 -0
- package/dist/node/integrations/providers/payments/provider.js +0 -0
- package/dist/node/integrations/providers/payments/resources.js +0 -0
- package/dist/node/integrations/providers/payments/shared.js +1 -0
- package/dist/node/integrations/providers/payments.js +1 -0
- package/dist/node/integrations/providers/paypal.js +1 -0
- package/dist/node/integrations/providers/peloton.js +1 -0
- package/dist/node/integrations/providers/posthog-llm-telemetry.js +1 -0
- package/dist/node/integrations/providers/posthog.js +1 -0
- package/dist/node/integrations/providers/postmark.js +1 -0
- package/dist/node/integrations/providers/powens.js +1 -0
- package/dist/node/integrations/providers/project-management.js +1 -0
- package/dist/node/integrations/providers/provider-delta.js +1 -0
- package/dist/node/integrations/providers/qdrant.js +1 -0
- package/dist/node/integrations/providers/registry.js +1 -0
- package/dist/node/integrations/providers/reworkd.js +1 -0
- package/dist/node/integrations/providers/serper.js +1 -0
- package/dist/node/integrations/providers/sillage.js +1 -0
- package/dist/node/integrations/providers/slng.js +1 -0
- package/dist/node/integrations/providers/sms.js +0 -0
- package/dist/node/integrations/providers/social.js +1 -0
- package/dist/node/integrations/providers/storage.js +0 -0
- package/dist/node/integrations/providers/strava.js +1 -0
- package/dist/node/integrations/providers/stripe.js +1 -0
- package/dist/node/integrations/providers/supabase-postgres.js +1 -0
- package/dist/node/integrations/providers/supabase-vector.js +1 -0
- package/dist/node/integrations/providers/tavily.js +1 -0
- package/dist/node/integrations/providers/tldv.js +1 -0
- package/dist/node/integrations/providers/twilio-sms.js +1 -0
- package/dist/node/integrations/providers/vector-store.js +0 -0
- package/dist/node/integrations/providers/video.js +1 -0
- package/dist/node/integrations/providers/voice-video-sync.js +0 -0
- package/dist/node/integrations/providers/voice.js +0 -0
- package/dist/node/integrations/providers/web-access-shared.js +1 -0
- package/dist/node/integrations/providers/whoop.js +1 -0
- package/dist/node/integrations/runtime.js +1 -0
- package/dist/node/integrations/sales-intelligence/events.js +1 -0
- package/dist/node/integrations/sales-intelligence/fullenrich-cancel-operation.js +1 -0
- package/dist/node/integrations/sales-intelligence/index.js +1 -0
- package/dist/node/integrations/sales-intelligence/operation-helpers.js +1 -0
- package/dist/node/integrations/sales-intelligence/operations.js +1 -0
- package/dist/node/integrations/sales-intelligence/schemas-events.js +1 -0
- package/dist/node/integrations/sales-intelligence/schemas-results.js +1 -0
- package/dist/node/integrations/sales-intelligence/schemas.js +1 -0
- package/dist/node/integrations/secrets/aws-secret-manager.js +1 -0
- package/dist/node/integrations/secrets/env-secret-provider.js +1 -0
- package/dist/node/integrations/secrets/gcp-secret-manager.js +1 -0
- package/dist/node/integrations/secrets/index.js +1 -0
- package/dist/node/integrations/secrets/manager.js +1 -0
- package/dist/node/integrations/secrets/provider.js +1 -0
- package/dist/node/integrations/secrets/scaleway-secret-manager.js +1 -0
- package/dist/node/integrations/secrets-types.js +0 -0
- package/dist/node/integrations/social/index.js +1 -0
- package/dist/node/integrations/social/instagram.js +0 -0
- package/dist/node/integrations/social/models.js +0 -0
- package/dist/node/integrations/social/provider.js +1 -0
- package/dist/node/integrations/social/tracking-models.js +1 -0
- package/dist/node/integrations/social/tracking-provider.js +0 -0
- package/dist/node/integrations/social/tracking-store.js +0 -0
- package/dist/node/integrations/social/x-publication.js +1 -0
- package/dist/node/integrations/social/x-upload-state.js +1 -0
- package/dist/node/integrations/social/x-upload.js +1 -0
- package/dist/node/integrations/social/x-withdrawal.js +1 -0
- package/dist/node/integrations/social/x.js +0 -0
- package/dist/node/integrations/spec.js +1 -0
- package/dist/node/integrations/transport.js +1 -0
- package/dist/node/integrations/versioning.js +1 -0
- package/dist/node/integrations/web-access/browser-automation.js +1 -0
- package/dist/node/integrations/web-access/capability-ledger.js +1 -0
- package/dist/node/integrations/web-access/events.js +1 -0
- package/dist/node/integrations/web-access/index.js +21 -0
- package/dist/node/integrations/web-access/inventory-definitions-expanded.js +1 -0
- package/dist/node/integrations/web-access/inventory-definitions.js +1 -0
- package/dist/node/integrations/web-access/inventory-evidence.js +1 -0
- package/dist/node/integrations/web-access/inventory-mappings-browserbase.js +1 -0
- package/dist/node/integrations/web-access/inventory-mappings.js +1 -0
- package/dist/node/integrations/web-access/inventory.js +1 -0
- package/dist/node/integrations/web-access/models.js +1 -0
- package/dist/node/integrations/web-access/operation-definitions.js +1 -0
- package/dist/node/integrations/web-access/operation-errors.js +1 -0
- package/dist/node/integrations/web-access/operation-output-models.js +1 -0
- package/dist/node/integrations/web-access/operation-schema-models.js +1 -0
- package/dist/node/integrations/web-access/operation-schemas.js +1 -0
- package/dist/node/integrations/web-access/operations.js +21 -0
- package/dist/node/integrations/web-access/providers.js +0 -0
- package/dist/node/integrations/web-access/schemas.js +1 -0
- package/package.json +3606 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as l}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 g extends s{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function u(e){return c(e)}var a=(e)=>e;function o({unsupportedModeReason:e,configFields:t,secretFields:r,rotationSupported:p=!1,setupSteps:n}){let i={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:p}};if(t)i.configFields=t;if(r)i.secretFields=r;if(n)i.setupSteps=n;return{modes:{byok:i},exempt:!0,exemptionReason:e}}var d=a({meta:{key:"ai-voice.fal",version:"1.0.0",category:"ai-voice-tts",title:"Fal Generative Media Platform",description:"Fal integration for generative media models including voice, image, video, realtime, queue, storage, SDK, and MCP surfaces.",domain:"ai",owners:["platform.ai"],tags:["media","voice","tts","image","video","realtime","mcp"],stability:l.Experimental},supportedModes:["byok"],credentialManifest:o({unsupportedModeReason:"Managed Fal credentials are not declared because public Fal access depends on tenant-owned FAL_KEY/API-key or MCP auth; ContractSpec does not provision a first-party Fal account for tenants.",secretFields:[{key:"apiKey",required:!0}],rotationSupported:!1}),transports:[{type:"sdk",packageName:"@fal-ai/client",runtime:"universal"},{type:"rest",baseUrl:"https://fal.run"},{type:"mcp",transport:"http",url:"https://mcp.fal.ai/mcp"}],preferredTransport:"sdk",supportedAuthMethods:[{type:"header",headerName:"Authorization",valuePrefix:"Key "},{type:"bearer",tokenField:"apiKey"}],capabilities:{provides:[{key:"ai.voice.tts",version:"1.0.0"},{key:"ai.image.generation",version:"1.0.0"},{key:"ai.video.generation",version:"1.0.0"},{key:"ai.media.realtime",version:"1.0.0"},{key:"provider.mcp.fal",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{modelId:{type:"string",description:"Fal model endpoint identifier (e.g. fal-ai/chatterbox/text-to-speech)."},defaultVoiceUrl:{type:"string",description:"Optional reference audio URL used as default voice conditioning input."},defaultExaggeration:{type:"number",minimum:0,maximum:1,description:"Optional default exaggeration value for speech output."},defaultTemperature:{type:"number",minimum:0.05,maximum:2,description:"Optional default temperature for synthesis requests."},defaultCfg:{type:"number",minimum:0.1,maximum:1,description:"Optional default cfg value for synthesis requests."},pollIntervalMs:{type:"number",description:"Optional queue polling interval in milliseconds."},mcpUrl:{type:"string",description:"Optional Fal hosted MCP server URL."}}},example:{modelId:"fal-ai/chatterbox/text-to-speech",mcpUrl:"https://mcp.fal.ai/mcp",defaultVoiceUrl:"https://storage.googleapis.com/chatterbox-demo-samples/prompts/male_rickmorty.mp3",defaultExaggeration:0.25,defaultTemperature:0.7,defaultCfg:0.5,pollIntervalMs:1000}},secretSchema:{schema:{type:"object",required:["apiKey"],properties:{apiKey:{type:"string",description:"Fal API key (FAL_KEY)."}}},example:{apiKey:"key-id:key-secret"}},healthCheck:{method:"custom",timeoutMs:7000},docsUrl:"https://fal.ai/models/fal-ai/chatterbox/text-to-speech/api",byokSetup:{setupInstructions:"Create a Fal API key, configure FAL_KEY for SDK/API calls, and use the hosted MCP URL with Bearer API-key auth. Fal account sign-in supports OAuth/SSO, but public MCP OAuth app auth is not documented as supported.",keyRotationSupported:!1,quotaTrackingSupported:!0}});function k(e){return e.register(d)}export{d as falIntegrationSpec,k as registerFalIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as d}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as p}from"@lssm/lib.contracts-spec/registry";var g=(e)=>`${e.key}.v${e.version}`;class c extends p{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function h(e){return g(e)}var i=(e)=>e;function a({unsupportedModeReason:e,configFields:t,secretFields:n,rotationSupported:s=!1,setupSteps:o}){let r={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:s}};if(t)r.configFields=t;if(n)r.secretFields=n;if(o)r.setupSteps=o;return{modes:{byok:r},exempt:!0,exemptionReason:e}}var m=i({meta:{key:"meeting-recorder.fathom",version:"1.0.0",category:"meeting-recorder",title:"Fathom Meeting Recorder",description:"Fathom External API for meetings, transcripts, and webhook events.",domain:"productivity",owners:["platform.integrations"],tags:["meeting-recorder","fathom","transcripts"],stability:d.Experimental},supportedModes:["byok"],credentialManifest:a({unsupportedModeReason:"Managed Fathom credentials are not declared because meeting API and webhook access require tenant-owned Fathom API keys and workspace configuration.",secretFields:[{key:"apiKey",required:!0},{key:"webhookSecret"}],rotationSupported:!1}),transports:[{type:"rest"},{type:"webhook",inbound:{signatureHeader:"x-fathom-signature",signingAlgorithm:"hmac-sha256"}}],preferredTransport:"rest",supportedAuthMethods:[{type:"api-key"},{type:"webhook-signing",algorithm:"hmac-sha256",signatureHeader:"x-fathom-signature"}],capabilities:{provides:[{key:"meeting-recorder.meetings.read",version:"1.0.0"},{key:"meeting-recorder.transcripts.read",version:"1.0.0"},{key:"meeting-recorder.webhooks",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{baseUrl:{type:"string",description:"Optional override for the Fathom API base URL. Defaults to https://api.fathom.ai/external/v1."},webhookUrl:{type:"string",description:"Webhook destination URL used when registering Fathom webhooks."},includeTranscript:{type:"boolean",description:"Include transcript data in Fathom webhook payloads."},includeSummary:{type:"boolean",description:"Include summary data in Fathom webhook payloads."},includeActionItems:{type:"boolean",description:"Include action items in Fathom webhook payloads."},includeCrmMatches:{type:"boolean",description:"Include CRM matches in Fathom webhook payloads."},triggeredFor:{type:"array",items:{type:"string"},description:"Recording scopes to trigger webhooks for (e.g., my_recordings)."}}},example:{baseUrl:"https://api.fathom.ai/external/v1",webhookUrl:"https://example.com/webhooks/fathom",includeTranscript:!0,includeSummary:!0,includeActionItems:!1,includeCrmMatches:!1,triggeredFor:["my_recordings"]}},secretSchema:{schema:{type:"object",required:["apiKey"],properties:{apiKey:{type:"string",description:"Fathom API key used in the X-Api-Key header."},webhookSecret:{type:"string",description:"Optional webhook secret used to verify Fathom webhook signatures."}}},example:{apiKey:"fathom-***",webhookSecret:"whsec_***"}},healthCheck:{method:"list",timeoutMs:8000},docsUrl:"https://developers.fathom.ai/",constraints:{rateLimit:{rpm:60}},byokSetup:{setupInstructions:"Generate an API key in Fathom settings and optionally configure webhooks for meeting content readiness.",keyRotationSupported:!1,quotaTrackingSupported:!1}});function M(e){return e.register(m)}export{m as fathomIntegrationSpec,M as registerFathomIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as l}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as c}from"@lssm/lib.contracts-spec/registry";var g=(e)=>`${e.key}.v${e.version}`;class d extends c{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function y(e){return g(e)}var o=(e)=>e;function a({unsupportedModeReason:e,configFields:t,secretFields:n,rotationSupported:p=!1,setupSteps:i}){let r={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:p}};if(t)r.configFields=t;if(n)r.secretFields=n;if(i)r.setupSteps=i;return{modes:{byok:r},exempt:!0,exemptionReason:e}}function s(e){return o({meta:{key:e.key,version:e.version??"1.0.0",category:"custom",title:e.title,description:e.description,domain:"knowledge",owners:["platform.ai"],tags:["web-access",...e.tags],stability:l.Experimental},supportedModes:["byok"],credentialManifest:a({unsupportedModeReason:"Managed credentials are not shipped; tenants must supply provider-owned credentials through a SecretProvider.",secretFields:e.secretFields.map((t)=>({key:t})),rotationSupported:!1}),transports:e.transports,preferredTransport:e.preferredTransport,supportedAuthMethods:e.auth,capabilities:{provides:e.capabilities.map((t)=>({key:t,version:"1.0.0"}))},configSchema:{schema:{type:"object",properties:{baseUrl:{type:"string"},policyMode:{type:"string",enum:["governed","provider-pass-through","public-only"]},...e.configProperties}}},secretSchema:{schema:{type:"object",properties:Object.fromEntries(e.secretFields.map((t)=>[t,{type:"string"}]))},example:Object.fromEntries(e.secretFields.map((t)=>[t,"***"]))},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:e.docsUrl,byokSetup:{setupInstructions:"Resolve provider credentials at execution time through SecretProvider; never persist credentials in integration config.",keyRotationSupported:!1,quotaTrackingSupported:!0}})}var m=s({key:"web-access.firecrawl",title:"Firecrawl Web Access",description:"Firecrawl REST search, scrape, extract, map, and crawl operations.",tags:["search","scraping","extract","crawl"],transports:[{type:"rest",baseUrl:"https://api.firecrawl.dev/v2"}],preferredTransport:"rest",auth:[{type:"bearer",tokenField:"apiKey"}],secretFields:["apiKey"],capabilities:["web.search","web.fetch","web.extract","web.map","web.crawl"],docsUrl:"https://docs.firecrawl.dev/api-reference/v2-introduction"});function x(e){return e.register(m)}export{m as firecrawlIntegrationSpec,x as registerFirecrawlIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as d}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as p}from"@lssm/lib.contracts-spec/registry";var g=(e)=>`${e.key}.v${e.version}`;class c extends p{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function m(e){return g(e)}var o=(e)=>e;function a({unsupportedModeReason:e,configFields:t,secretFields:i,rotationSupported:s=!1,setupSteps:n}){let r={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:s}};if(t)r.configFields=t;if(i)r.secretFields=i;if(n)r.setupSteps=n;return{modes:{byok:r},exempt:!0,exemptionReason:e}}var l=o({meta:{key:"meeting-recorder.fireflies",version:"1.0.0",category:"meeting-recorder",title:"Fireflies.ai Meeting Recorder",description:"Fireflies GraphQL API for meeting transcripts, metadata, and webhook events.",domain:"productivity",owners:["platform.integrations"],tags:["meeting-recorder","fireflies","transcripts"],stability:d.Experimental},supportedModes:["byok"],credentialManifest:a({unsupportedModeReason:"Managed Fireflies credentials are not declared because GraphQL and webhook access depend on tenant-owned Fireflies API keys and developer settings.",secretFields:[{key:"apiKey",required:!0},{key:"webhookSecret"}],rotationSupported:!1}),transports:[{type:"rest",baseUrl:"https://api.fireflies.ai/graphql"},{type:"webhook",inbound:{signatureHeader:"x-fireflies-signature",signingAlgorithm:"hmac-sha256"}}],preferredTransport:"rest",supportedAuthMethods:[{type:"api-key"},{type:"webhook-signing",algorithm:"hmac-sha256",signatureHeader:"x-fireflies-signature"}],capabilities:{provides:[{key:"meeting-recorder.meetings.read",version:"1.0.0"},{key:"meeting-recorder.transcripts.read",version:"1.0.0"},{key:"meeting-recorder.webhooks",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{baseUrl:{type:"string",description:"Optional override for the Fireflies GraphQL endpoint. Defaults to https://api.fireflies.ai/graphql."},webhookUrl:{type:"string",description:"Webhook destination URL configured in Fireflies developer settings."},webhookEvents:{type:"array",items:{type:"string"},description:"Webhook events to subscribe to (e.g., Transcription completed)."},transcriptsPageSize:{type:"number",description:"Number of transcripts to request per GraphQL query."}}},example:{baseUrl:"https://api.fireflies.ai/graphql",webhookUrl:"https://example.com/webhooks/fireflies",webhookEvents:["Transcription completed"],transcriptsPageSize:25}},secretSchema:{schema:{type:"object",required:["apiKey"],properties:{apiKey:{type:"string",description:"Fireflies API key for GraphQL requests."},webhookSecret:{type:"string",description:"Optional webhook secret used to verify x-hub-signature HMAC payloads."}}},example:{apiKey:"fireflies-***",webhookSecret:"fireflies-webhook-secret"}},healthCheck:{method:"custom",timeoutMs:6000},docsUrl:"https://docs.fireflies.ai/getting-started/introduction",byokSetup:{setupInstructions:"Create a Fireflies API key and optionally configure webhook settings in Developer Settings.",keyRotationSupported:!1,quotaTrackingSupported:!1}});function S(e){return e.register(l)}export{l as firefliesIntegrationSpec,S as registerFirefliesIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as g}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as s}from"@lssm/lib.contracts-spec/registry";var p=(t)=>`${t.key}.v${t.version}`;class c extends s{constructor(t){super("integration",t)}getByCategory(t){return this.list().filter((e)=>e.meta.category===t)}}function u(t){return p(t)}var o=(t)=>t;var i=["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(t){let e=t.supportedAuthMethods??f(t);return o({meta:{key:t.key,version:"1.0.0",category:"health",title:t.title,description:t.description,domain:"health",owners:["platform.integrations"],tags:["health","wearables",...t.tags],stability:t.stability??g.Experimental},supportedModes:t.supportedModes??["managed","byok"],transports:t.transports??d,preferredTransport:"rest",supportedAuthMethods:e,capabilities:{provides:t.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:[...i],description:"Preferred transport strategy used before fallbacks are attempted."},strategyOrder:{type:"array",items:{type:"string",enum:[...i]},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:t.defaultTransport??"official-api",strategyOrder:[...i],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:t.docsUrl,byokSetup:{setupInstructions:t.byokSetupInstructions??"Create provider credentials, set allowed scopes, and store credentials in secret provider.",requiredScopes:t.byokScopes,keyRotationSupported:!1,quotaTrackingSupported:!1}})}function f(t){if(t.oauthTokenUrl){let e=t.oauthTokenUrl;return n.map((r)=>{if(r.type==="oauth2")return{...r,tokenUrl:e,scopes:t.byokScopes??[]};return r})}return[...n]}var y=a({key:"health.fitbit",title:"Fitbit",description:"Fitbit integration for activity, sleep, heart rate, and biometrics.",docsUrl:"https://dev.fitbit.com/build/reference/web-api/",tags:["fitbit","official-api"],byokScopes:["activity","heartrate","sleep","nutrition","weight","profile"]});function T(t){return t.register(y)}export{y as fitbitIntegrationSpec,T as registerFitbitIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as g}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as p}from"@lssm/lib.contracts-spec/registry";var c=(e)=>`${e.key}.v${e.version}`;class l extends p{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function h(e){return c(e)}var o=(e)=>e;function a({unsupportedModeReason:e,configFields:t,secretFields:r,rotationSupported:s=!1,setupSteps:i}){let n={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:s}};if(t)n.configFields=t;if(r)n.secretFields=r;if(i)n.setupSteps=i;return{modes:{byok:n},exempt:!0,exemptionReason:e}}var d=o({meta:{key:"crm.fullenrich",version:"1.0.0",category:"crm",title:"FullEnrich Sales Intelligence",description:"FullEnrich contact enrichment, reverse email lookup, search, credits, webhook, and remote MCP metadata integration.",domain:"sales-intelligence",owners:["platform.integrations"],tags:["sales-intelligence","contact-enrichment","fullenrich","mcp"],stability:g.Experimental},supportedModes:["byok"],credentialManifest:a({unsupportedModeReason:"FullEnrich credentials are tenant-owned; ContractSpec does not provide a shared Managed FullEnrich tenant.",secretFields:[{key:"apiKey"}],rotationSupported:!1,setupSteps:["Create a FullEnrich API key in the vendor dashboard.","Store the key in an integration.runtime secret provider.","Use OAuth only for the remote FullEnrich MCP endpoint."]}),transports:[{type:"rest",baseUrl:"https://app.fullenrich.com/api/v2"},{type:"webhook"},{type:"mcp",transport:"http",url:"https://mcp.fullenrich.com/mcp"}],preferredTransport:"rest",supportedAuthMethods:[{type:"bearer",tokenField:"apiKey"},{type:"oauth2",grantType:"authorization_code",tokenUrl:"https://mcp.fullenrich.com/oauth/token",authorizationUrl:"https://mcp.fullenrich.com/oauth/authorize",scopes:["openid","offline_access"],pkce:!0}],capabilities:{provides:[{key:"sales-intelligence.contact-enrichment",version:"1.0.0"},{key:"sales-intelligence.reverse-email",version:"1.0.0"},{key:"sales-intelligence.people-search",version:"1.0.0"},{key:"sales-intelligence.company-search",version:"1.0.0"},{key:"provider.mcp.fullenrich",version:"1.0.0"},{key:"provider.webhook.fullenrich",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{baseUrl:{type:"string"},webhookPath:{type:"string"},pollingMinIntervalSeconds:{type:"number",minimum:60}}},example:{baseUrl:"https://app.fullenrich.com/api/v2",webhookPath:"/webhooks/fullenrich/enrichment",pollingMinIntervalSeconds:300}},secretSchema:{schema:{type:"object",required:["apiKey"],properties:{apiKey:{type:"string",description:"FullEnrich API key."}}},example:{apiKey:"fe_***"}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:"https://fullenrich.com/",byokSetup:{setupInstructions:"Use API keys for FullEnrich REST APIs. Prefer webhooks for async enrichment and reverse-email results; use slow polling only as fallback.",requiredScopes:["FullEnrich API key"],validationEndpoint:"https://app.fullenrich.com/api/v2",keyRotationSupported:!1,quotaTrackingSupported:!0}});function S(e){return e.register(d)}export{d as fullEnrichIntegrationSpec,S as registerFullEnrichIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
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 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??f(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 f(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 y=a({key:"health.garmin",title:"Garmin",description:"Garmin integration for fitness activity, wellness, and sleep metrics.",docsUrl:"https://developer.garmin.com/gc-developer-program/overview/",tags:["garmin","official-api","partner"],byokSetupInstructions:"Use Garmin partner credentials or aggregator routes; enable unofficial connector only with explicit opt-in.",defaultTransport:"aggregator-api"});function T(e){return e.register(y)}export{y as garminIntegrationSpec,T as registerGarminIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as a}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as o}from"@lssm/lib.contracts-spec/registry";var i=(e)=>`${e.key}.v${e.version}`;class n extends o{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:"storage.gcs",version:"1.0.0",category:"storage",title:"Google Cloud Storage Buckets",description:"Google Cloud Storage integration for object storage and retrieval.",domain:"infrastructure",owners:["platform.infrastructure"],tags:["storage","gcs","google-cloud"],stability:a.Beta},supportedModes:["managed","byok"],transports:[{type:"rest",baseUrl:"https://storage.googleapis.com"},{type:"sdk",packageName:"@google-cloud/storage",minVersion:"7.0.0"}],preferredTransport:"sdk",supportedAuthMethods:[{type:"service-account",credentialFormat:"json-key"},{type:"api-key"}],capabilities:{provides:[{key:"storage.objects",version:"1.0.0"}]},configSchema:{schema:{type:"object",required:["bucket"],properties:{bucket:{type:"string",description:"Primary bucket name used for storing objects."},prefix:{type:"string",description:"Optional prefix applied to object keys."}}},example:{bucket:"pfo-tenant-assets",prefix:"documents/"}},secretSchema:{schema:{type:"object",properties:{type:{type:"string",description:"Service account type field from Google credentials JSON (if provided)."},client_email:{type:"string"},private_key:{type:"string"},project_id:{type:"string"}}},example:{type:"service_account",client_email:"svc-account@example.iam.gserviceaccount.com",private_key:"-----BEGIN PRIVATE KEY-----...",project_id:"example-project"}},healthCheck:{method:"ping",timeoutMs:4000},docsUrl:"https://cloud.google.com/storage/docs/apis",constraints:{quotas:{storageGb:5120}},byokSetup:{setupInstructions:"Create a Google Cloud service account with Storage Object Admin role and upload the JSON credentials to the secret store.",keyRotationSupported:!1,quotaTrackingSupported:!0}});function u(e){return e.register(s)}export{s as gcsStorageIntegrationSpec,u as registerGcsStorageIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as a}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as i}from"@lssm/lib.contracts-spec/registry";var n=(e)=>`${e.key}.v${e.version}`;class o extends i{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((r)=>r.meta.category===e)}}function c(e){return n(e)}var t=(e)=>e;var s=t({meta:{key:"email.gmail",version:"1.0.0",category:"email",title:"Google Gmail API",description:"Gmail integration supporting inbound thread ingestion and outbound transactional email.",domain:"communications",owners:["platform.messaging"],tags:["email","gmail"],stability:a.Beta},supportedModes:["managed","byok"],transports:[{type:"rest",baseUrl:"https://gmail.googleapis.com"},{type:"sdk",packageName:"googleapis",minVersion:"130.0.0"}],preferredTransport:"rest",supportedAuthMethods:[{type:"oauth2",grantType:"authorization_code",authorizationUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",scopes:["https://www.googleapis.com/auth/gmail.modify"],pkce:!0},{type:"service-account",credentialFormat:"json-key"}],capabilities:{provides:[{key:"email.inbound",version:"1.0.0"},{key:"email.outbound",version:"1.0.0"},{key:"provider.delta.watch",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{labelIds:{type:"array",items:{type:"string"},description:"Optional list of label IDs to scope inbound sync."},includeSpamTrash:{type:"boolean",description:"Whether to include spam or trash messages during sync."},webhookTopic:{type:"string",description:"Optional Pub/Sub topic used for Gmail watch notifications."},historyCursor:{type:"string",description:"Optional Gmail history cursor to resume incremental sync."}}},example:{labelIds:["INBOX"],includeSpamTrash:!1}},secretSchema:{schema:{type:"object",required:["clientId","clientSecret","refreshToken"],properties:{clientId:{type:"string",description:"OAuth client ID for the Google Cloud project."},clientSecret:{type:"string",description:"OAuth client secret for the Google Cloud project."},refreshToken:{type:"string",description:"OAuth refresh token for delegated Gmail access."},redirectUri:{type:"string",description:"Optional redirect URI used when issuing the refresh token."}}},example:{clientId:"xxx.apps.googleusercontent.com",clientSecret:"secret",refreshToken:"refresh-token"}},healthCheck:{method:"custom",timeoutMs:4000},docsUrl:"https://developers.google.com/gmail/api",constraints:{rateLimit:{rpm:600}},byokSetup:{setupInstructions:"Create an OAuth consent screen and credentials within Google Cloud Console, then authorize the Gmail scopes and store the resulting refresh token.",keyRotationSupported:!1,quotaTrackingSupported:!1}});function u(e){return e.register(s)}export{s as gmailIntegrationSpec,u as registerGmailIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as i}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as n}from"@lssm/lib.contracts-spec/registry";var a=(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 a(e)}var t=(e)=>e;var p=t({meta:{key:"calendar.google",version:"1.0.0",category:"calendar",title:"Google Calendar API",description:"Google Calendar integration for event creation, updates, and scheduling automations.",domain:"productivity",owners:["platform.messaging"],tags:["calendar","google"],stability:i.Beta},supportedModes:["managed","byok"],transports:[{type:"rest",baseUrl:"https://www.googleapis.com/calendar"},{type:"sdk",packageName:"googleapis"}],preferredTransport:"rest",supportedAuthMethods:[{type:"oauth2",grantType:"authorization_code",authorizationUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",scopes:["https://www.googleapis.com/auth/calendar"],pkce:!0},{type:"service-account",credentialFormat:"json-key"}],capabilities:{provides:[{key:"calendar.events",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{calendarId:{type:"string",description:"Default calendar identifier (defaults to primary)."}}},example:{calendarId:"primary"}},secretSchema:{schema:{type:"object",required:["clientEmail","privateKey"],properties:{clientEmail:{type:"string",description:"Service account client email."},privateKey:{type:"string",description:"Service account private key."},projectId:{type:"string",description:"Google Cloud project ID."}}},example:{clientEmail:"svc-calendar@example.iam.gserviceaccount.com",privateKey:"-----BEGIN PRIVATE KEY-----...",projectId:"calendar-project"}},healthCheck:{method:"custom",timeoutMs:4000},docsUrl:"https://developers.google.com/calendar/api",constraints:{},byokSetup:{setupInstructions:"Create a Google service account with Calendar access and share the target calendars with the service account email.",keyRotationSupported:!1,quotaTrackingSupported:!1}});function u(e){return e.register(p)}export{p as googleCalendarIntegrationSpec,u as registerGoogleCalendarIntegration};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { IntegrationSpecRegistry } from '../spec.js';
|
|
2
|
+
import type { ProviderDeltaSyncState } from './provider-delta.js';
|
|
3
|
+
export interface GoogleDriveFileMetadata {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
mimeType: string;
|
|
7
|
+
modifiedTime?: string | Date;
|
|
8
|
+
sizeBytes?: number;
|
|
9
|
+
md5Checksum?: string;
|
|
10
|
+
webViewLink?: string;
|
|
11
|
+
parents?: string[];
|
|
12
|
+
trashed?: boolean;
|
|
13
|
+
metadata?: Record<string, string>;
|
|
14
|
+
delta?: ProviderDeltaSyncState;
|
|
15
|
+
}
|
|
16
|
+
export type GoogleDriveFileBody = {
|
|
17
|
+
data: Uint8Array;
|
|
18
|
+
stream?: never;
|
|
19
|
+
} | {
|
|
20
|
+
data?: never;
|
|
21
|
+
stream: AsyncIterable<Uint8Array>;
|
|
22
|
+
};
|
|
23
|
+
export type GoogleDriveFile = GoogleDriveFileMetadata & GoogleDriveFileBody;
|
|
24
|
+
export interface GoogleDriveListFilesQuery {
|
|
25
|
+
query?: string;
|
|
26
|
+
pageSize?: number;
|
|
27
|
+
pageToken?: string;
|
|
28
|
+
driveId?: string;
|
|
29
|
+
spaces?: string[];
|
|
30
|
+
includeItemsFromAllDrives?: boolean;
|
|
31
|
+
delta?: ProviderDeltaSyncState;
|
|
32
|
+
}
|
|
33
|
+
export interface GoogleDriveListFilesResult {
|
|
34
|
+
files: GoogleDriveFileMetadata[];
|
|
35
|
+
nextPageToken?: string;
|
|
36
|
+
delta?: ProviderDeltaSyncState;
|
|
37
|
+
}
|
|
38
|
+
export interface GoogleDriveWatchInput {
|
|
39
|
+
channelId: string;
|
|
40
|
+
webhookUrl: string;
|
|
41
|
+
token?: string;
|
|
42
|
+
expiresAt?: string | Date;
|
|
43
|
+
delta?: ProviderDeltaSyncState;
|
|
44
|
+
}
|
|
45
|
+
export interface GoogleDriveWatchResult {
|
|
46
|
+
delta: ProviderDeltaSyncState;
|
|
47
|
+
}
|
|
48
|
+
export interface GoogleDriveProvider {
|
|
49
|
+
listFiles(query?: GoogleDriveListFilesQuery): Promise<GoogleDriveListFilesResult>;
|
|
50
|
+
getFile(fileId: string): Promise<GoogleDriveFile | null>;
|
|
51
|
+
watchChanges?(input: GoogleDriveWatchInput): Promise<GoogleDriveWatchResult>;
|
|
52
|
+
}
|
|
53
|
+
export declare const googleDriveIntegrationSpec: import("..").IntegrationSpec;
|
|
54
|
+
export declare function registerGoogleDriveIntegration(registry: IntegrationSpecRegistry): IntegrationSpecRegistry;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as a}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as i}from"@lssm/lib.contracts-spec/registry";var o=(e)=>`${e.key}.v${e.version}`;class n extends i{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:"storage.google-drive",version:"1.0.0",category:"storage",title:"Google Drive API",description:"Google Drive integration for file search, file retrieval, change watches, and knowledge ingestion.",domain:"productivity",owners:["platform.integrations"],tags:["storage","google-drive","knowledge"],stability:a.Beta},supportedModes:["managed","byok"],transports:[{type:"rest",baseUrl:"https://www.googleapis.com/drive/v3"},{type:"sdk",packageName:"googleapis"}],preferredTransport:"rest",supportedAuthMethods:[{type:"oauth2",grantType:"authorization_code",authorizationUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",scopes:["https://www.googleapis.com/auth/drive.readonly","https://www.googleapis.com/auth/drive.metadata.readonly"],pkce:!0},{type:"service-account",credentialFormat:"json-key"}],capabilities:{provides:[{key:"storage.objects",version:"1.0.0"},{key:"knowledge.ingestion.drive",version:"1.0.0"},{key:"provider.delta.watch",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{driveId:{type:"string",description:"Optional shared drive identifier."},query:{type:"string",description:"Optional Drive search query for scoped sync."},includeItemsFromAllDrives:{type:"boolean",description:"Whether shared-drive files are included."},webhookUrl:{type:"string",description:"Optional webhook endpoint for Drive change watches."}}},example:{query:"mimeType = 'text/plain' and trashed = false",includeItemsFromAllDrives:!0}},secretSchema:{schema:{type:"object",properties:{clientId:{type:"string"},clientSecret:{type:"string"},refreshToken:{type:"string"},clientEmail:{type:"string"},privateKey:{type:"string"},projectId:{type:"string"}}},example:{clientId:"xxx.apps.googleusercontent.com",refreshToken:"refresh-token"}},healthCheck:{method:"custom",timeoutMs:4000},docsUrl:"https://developers.google.com/drive/api",constraints:{rateLimit:{rpm:600}},byokSetup:{setupInstructions:"Authorize Google Drive readonly scopes or share the target Drive folders with a service account before enabling sync.",requiredScopes:["https://www.googleapis.com/auth/drive.readonly","https://www.googleapis.com/auth/drive.metadata.readonly"],keyRotationSupported:!1,quotaTrackingSupported:!1}});function y(e){return e.register(s)}export{s as googleDriveIntegrationSpec,y as registerGoogleDriveIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
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 l(e){return c(e)}var o=(e)=>e;function a({unsupportedModeReason:e,configFields:t,secretFields:r,rotationSupported:s=!1,setupSteps:n}){let i={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:s}};if(t)i.configFields=t;if(r)i.secretFields=r;if(n)i.setupSteps=n;return{modes:{byok:i},exempt:!0,exemptionReason:e}}var m=o({meta:{key:"ai-voice.gradium",version:"1.0.0",category:"ai-voice-conversational",title:"Gradium Realtime Voice AI",description:"Gradium integration for realtime TTS, STT, voice library, REST, and WebSocket protocol access.",domain:"ai",owners:["platform.ai"],tags:["voice","tts","stt","realtime","websocket"],stability:d.Experimental},supportedModes:["byok"],credentialManifest:a({unsupportedModeReason:"Managed Gradium credentials are not declared because ContractSpec does not provide a first-party Gradium managed account or OAuth app surface; tenants must supply their own Gradium API key.",secretFields:[{key:"apiKey",required:!0}],rotationSupported:!1}),transports:[{type:"rest",baseUrl:"https://api.gradium.ai/api"},{type:"websocket",url:"wss://api.gradium.ai/api",protocol:"mixed"}],preferredTransport:"rest",supportedAuthMethods:[{type:"api-key",headerName:"x-api-key"}],capabilities:{provides:[{key:"ai.voice.tts",version:"1.0.0"},{key:"ai.voice.stt",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{defaultVoiceId:{type:"string",description:"Optional default voice identifier used for synthesis."},region:{type:"string",enum:["eu","us"],description:"Gradium region used by the SDK (eu or us)."},baseUrl:{type:"string",description:"Optional API base URL override for private routing or proxies."},websocketBaseUrl:{type:"string",description:"Optional WebSocket base URL for realtime TTS/STT."},timeoutMs:{type:"number",description:"Optional request timeout in milliseconds."},outputFormat:{type:"string",enum:["wav","pcm","opus","ulaw_8000","alaw_8000","pcm_16000","pcm_24000"],description:"Optional default output format used when no format is specified."}}},example:{defaultVoiceId:"YTpq7expH9539ERJ",region:"eu",baseUrl:"https://api.gradium.ai/api",websocketBaseUrl:"wss://api.gradium.ai/api",timeoutMs:15000,outputFormat:"wav"}},secretSchema:{schema:{type:"object",required:["apiKey"],properties:{apiKey:{type:"string",description:"Gradium API key with TTS/STT access."}}},example:{apiKey:"gd_***"}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:"https://docs.gradium.ai/api-reference/introduction",byokSetup:{setupInstructions:"Create a Gradium API key, select the target region, and store credentials in your tenant secret provider. Public docs expose REST/WebSocket API-key access and Python SDK; no official JS SDK, MCP, or OAuth app surface is documented.",keyRotationSupported:!1,quotaTrackingSupported:!1}});function k(e){return e.register(m)}export{m as gradiumIntegrationSpec,k as registerGradiumIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as d}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 g extends s{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function y(e){return c(e)}var a=(e)=>e;function i({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}}var l=a({meta:{key:"meeting-recorder.granola",version:"1.0.0",category:"meeting-recorder",title:"Granola Meeting Notes",description:"Granola meeting notes and transcripts via Enterprise API or MCP transport.",domain:"productivity",owners:["platform.integrations"],tags:["meeting-recorder","granola","transcripts"],stability:d.Experimental},supportedModes:["byok"],credentialManifest:i({unsupportedModeReason:"Managed Granola credentials are not declared because Granola access is tied to tenant/user browser OAuth, MCP proxy auth, or tenant enterprise API keys rather than a ContractSpec-managed provider account.",secretFields:[{key:"apiKey"},{key:"mcpAccessToken"}],rotationSupported:!1}),transports:[{type:"rest"},{type:"mcp",transport:"http"}],preferredTransport:"mcp",supportedAuthMethods:[{type:"api-key"},{type:"bearer"}],capabilities:{provides:[{key:"meeting-recorder.meetings.read",version:"1.0.0"},{key:"meeting-recorder.transcripts.read",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{baseUrl:{type:"string",description:"Optional override for the Granola API base URL. Defaults to https://public-api.granola.ai for API transport."},transport:{type:"string",enum:["api","mcp"],description:"Transport mode for Granola integration. Use api for Enterprise API or mcp for broader MCP access."},mcpUrl:{type:"string",description:"Optional override for Granola MCP URL. Defaults to https://mcp.granola.ai/mcp."},mcpHeaders:{type:"object",additionalProperties:{type:"string"},description:"Optional static headers for MCP gateway/proxy setups."},pageSize:{type:"number",description:"Page size for listing notes (maximum 30 per Granola API)."}}},example:{transport:"mcp",mcpUrl:"https://mcp.granola.ai/mcp",pageSize:10}},secretSchema:{schema:{type:"object",properties:{apiKey:{type:"string",description:"Granola API key used as a Bearer token for Enterprise API requests (transport=api)."},mcpAccessToken:{type:"string",description:"Optional bearer token for MCP proxy/gateway auth (transport=mcp)."}}},example:{mcpAccessToken:"granola-mcp-***"}},healthCheck:{method:"list",timeoutMs:8000},docsUrl:"https://docs.granola.ai/help-center/sharing/integrations/mcp",byokSetup:{setupInstructions:"Use Granola MCP for browser OAuth access, or configure an Enterprise API key for REST transport.",keyRotationSupported:!1,quotaTrackingSupported:!1}});function S(e){return e.register(l)}export{l as granolaIntegrationSpec,S as registerGranolaIntegration};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { IntegrationAuthConfig } from '../auth.js';
|
|
2
|
+
import { type IntegrationSpec } from '../spec.js';
|
|
3
|
+
import type { IntegrationTransportConfig } from '../transport.js';
|
|
4
|
+
declare const STRATEGY_ENUM: readonly ['official-api', 'official-mcp', 'aggregator-api', 'aggregator-mcp', 'unofficial'];
|
|
5
|
+
export interface HealthProviderSpecInput {
|
|
6
|
+
key: string;
|
|
7
|
+
title: string;
|
|
8
|
+
description: string;
|
|
9
|
+
docsUrl: string;
|
|
10
|
+
tags: string[];
|
|
11
|
+
supportedModes?: ('managed' | 'byok')[];
|
|
12
|
+
stability?: IntegrationSpec['meta']['stability'];
|
|
13
|
+
byokSetupInstructions?: string;
|
|
14
|
+
byokScopes?: string[];
|
|
15
|
+
capabilities?: {
|
|
16
|
+
key: string;
|
|
17
|
+
version: string;
|
|
18
|
+
}[];
|
|
19
|
+
defaultTransport?: (typeof STRATEGY_ENUM)[number];
|
|
20
|
+
/** Override default transports for this health provider. */
|
|
21
|
+
transports?: IntegrationTransportConfig[];
|
|
22
|
+
/** Override default auth methods for this health provider. */
|
|
23
|
+
supportedAuthMethods?: IntegrationAuthConfig[];
|
|
24
|
+
/** OAuth token endpoint URL (populates oauth2 auth config). */
|
|
25
|
+
oauthTokenUrl?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare function defineHealthProviderSpec(input: HealthProviderSpecInput): IntegrationSpec;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{StabilityEnum as c}from"@lssm/lib.contracts-spec/ownership";import{SpecContractRegistry as a}from"@lssm/lib.contracts-spec/registry";var s=(e)=>`${e.key}.v${e.version}`;class p extends a{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function f(e){return s(e)}var n=(e)=>e;var o=["official-api","official-mcp","aggregator-api","aggregator-mcp","unofficial"],g=[{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"}],l=[{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 I(e){let t=e.supportedAuthMethods??d(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??c.Experimental},supportedModes:e.supportedModes??["managed","byok"],transports:e.transports??l,preferredTransport:"rest",supportedAuthMethods:t,capabilities:{provides:e.capabilities??[...g]},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 d(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]}export{I as defineHealthProviderSpec};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
export type HealthDataTransport = 'official-api' | 'official-mcp' | 'aggregator-api' | 'aggregator-mcp' | 'unofficial';
|
|
2
|
+
export type HealthConnectionStatusState = 'healthy' | 'degraded' | 'error' | 'disconnected';
|
|
3
|
+
export interface HealthDataSource {
|
|
4
|
+
providerKey: string;
|
|
5
|
+
transport: HealthDataTransport;
|
|
6
|
+
aggregatorKey?: string;
|
|
7
|
+
route: 'primary' | 'fallback';
|
|
8
|
+
}
|
|
9
|
+
export interface HealthActivity {
|
|
10
|
+
id: string;
|
|
11
|
+
externalId: string;
|
|
12
|
+
tenantId: string;
|
|
13
|
+
connectionId: string;
|
|
14
|
+
userId?: string;
|
|
15
|
+
providerKey: string;
|
|
16
|
+
activityType: string;
|
|
17
|
+
startedAt?: string;
|
|
18
|
+
endedAt?: string;
|
|
19
|
+
durationSeconds?: number;
|
|
20
|
+
distanceMeters?: number;
|
|
21
|
+
caloriesKcal?: number;
|
|
22
|
+
steps?: number;
|
|
23
|
+
metadata?: Record<string, unknown>;
|
|
24
|
+
}
|
|
25
|
+
export interface HealthWorkout {
|
|
26
|
+
id: string;
|
|
27
|
+
externalId: string;
|
|
28
|
+
tenantId: string;
|
|
29
|
+
connectionId: string;
|
|
30
|
+
userId?: string;
|
|
31
|
+
providerKey: string;
|
|
32
|
+
workoutType: string;
|
|
33
|
+
startedAt?: string;
|
|
34
|
+
endedAt?: string;
|
|
35
|
+
durationSeconds?: number;
|
|
36
|
+
distanceMeters?: number;
|
|
37
|
+
caloriesKcal?: number;
|
|
38
|
+
averageHeartRateBpm?: number;
|
|
39
|
+
maxHeartRateBpm?: number;
|
|
40
|
+
metadata?: Record<string, unknown>;
|
|
41
|
+
}
|
|
42
|
+
export interface HealthSleep {
|
|
43
|
+
id: string;
|
|
44
|
+
externalId: string;
|
|
45
|
+
tenantId: string;
|
|
46
|
+
connectionId: string;
|
|
47
|
+
userId?: string;
|
|
48
|
+
providerKey: string;
|
|
49
|
+
startedAt: string;
|
|
50
|
+
endedAt: string;
|
|
51
|
+
durationSeconds?: number;
|
|
52
|
+
deepSleepSeconds?: number;
|
|
53
|
+
lightSleepSeconds?: number;
|
|
54
|
+
remSleepSeconds?: number;
|
|
55
|
+
awakeSeconds?: number;
|
|
56
|
+
sleepScore?: number;
|
|
57
|
+
metadata?: Record<string, unknown>;
|
|
58
|
+
}
|
|
59
|
+
export interface HealthBiometric {
|
|
60
|
+
id: string;
|
|
61
|
+
externalId: string;
|
|
62
|
+
tenantId: string;
|
|
63
|
+
connectionId: string;
|
|
64
|
+
userId?: string;
|
|
65
|
+
providerKey: string;
|
|
66
|
+
metricType: string;
|
|
67
|
+
value: number;
|
|
68
|
+
unit?: string;
|
|
69
|
+
measuredAt: string;
|
|
70
|
+
metadata?: Record<string, unknown>;
|
|
71
|
+
}
|
|
72
|
+
export interface HealthNutrition {
|
|
73
|
+
id: string;
|
|
74
|
+
externalId: string;
|
|
75
|
+
tenantId: string;
|
|
76
|
+
connectionId: string;
|
|
77
|
+
userId?: string;
|
|
78
|
+
providerKey: string;
|
|
79
|
+
loggedAt: string;
|
|
80
|
+
caloriesKcal?: number;
|
|
81
|
+
proteinGrams?: number;
|
|
82
|
+
carbsGrams?: number;
|
|
83
|
+
fatGrams?: number;
|
|
84
|
+
fiberGrams?: number;
|
|
85
|
+
hydrationMl?: number;
|
|
86
|
+
metadata?: Record<string, unknown>;
|
|
87
|
+
}
|
|
88
|
+
export interface HealthPagination {
|
|
89
|
+
nextCursor?: string;
|
|
90
|
+
hasMore?: boolean;
|
|
91
|
+
}
|
|
92
|
+
export interface HealthListActivitiesParams {
|
|
93
|
+
tenantId: string;
|
|
94
|
+
connectionId?: string;
|
|
95
|
+
userId?: string;
|
|
96
|
+
from?: string;
|
|
97
|
+
to?: string;
|
|
98
|
+
cursor?: string;
|
|
99
|
+
pageSize?: number;
|
|
100
|
+
}
|
|
101
|
+
export interface HealthListActivitiesResult extends HealthPagination {
|
|
102
|
+
activities: HealthActivity[];
|
|
103
|
+
source?: HealthDataSource;
|
|
104
|
+
}
|
|
105
|
+
export type HealthListWorkoutsParams = HealthListActivitiesParams;
|
|
106
|
+
export interface HealthListWorkoutsResult extends HealthPagination {
|
|
107
|
+
workouts: HealthWorkout[];
|
|
108
|
+
source?: HealthDataSource;
|
|
109
|
+
}
|
|
110
|
+
export type HealthListSleepParams = HealthListActivitiesParams;
|
|
111
|
+
export interface HealthListSleepResult extends HealthPagination {
|
|
112
|
+
sleep: HealthSleep[];
|
|
113
|
+
source?: HealthDataSource;
|
|
114
|
+
}
|
|
115
|
+
export interface HealthListBiometricsParams extends HealthListActivitiesParams {
|
|
116
|
+
metricTypes?: string[];
|
|
117
|
+
}
|
|
118
|
+
export interface HealthListBiometricsResult extends HealthPagination {
|
|
119
|
+
biometrics: HealthBiometric[];
|
|
120
|
+
source?: HealthDataSource;
|
|
121
|
+
}
|
|
122
|
+
export type HealthListNutritionParams = HealthListActivitiesParams;
|
|
123
|
+
export interface HealthListNutritionResult extends HealthPagination {
|
|
124
|
+
nutrition: HealthNutrition[];
|
|
125
|
+
source?: HealthDataSource;
|
|
126
|
+
}
|
|
127
|
+
export interface HealthSyncRequest {
|
|
128
|
+
tenantId: string;
|
|
129
|
+
connectionId?: string;
|
|
130
|
+
userId?: string;
|
|
131
|
+
from?: string;
|
|
132
|
+
to?: string;
|
|
133
|
+
cursor?: string;
|
|
134
|
+
forceFullRefresh?: boolean;
|
|
135
|
+
}
|
|
136
|
+
export interface HealthSyncResult {
|
|
137
|
+
synced: number;
|
|
138
|
+
failed: number;
|
|
139
|
+
nextCursor?: string;
|
|
140
|
+
errors?: string[];
|
|
141
|
+
source?: HealthDataSource;
|
|
142
|
+
}
|
|
143
|
+
export interface HealthGetConnectionStatusParams {
|
|
144
|
+
tenantId: string;
|
|
145
|
+
connectionId: string;
|
|
146
|
+
}
|
|
147
|
+
export interface HealthConnectionStatus {
|
|
148
|
+
connectionId: string;
|
|
149
|
+
tenantId: string;
|
|
150
|
+
status: HealthConnectionStatusState;
|
|
151
|
+
source?: HealthDataSource;
|
|
152
|
+
lastCheckedAt?: string;
|
|
153
|
+
errorCode?: string;
|
|
154
|
+
errorMessage?: string;
|
|
155
|
+
metadata?: Record<string, unknown>;
|
|
156
|
+
}
|
|
157
|
+
export interface HealthWebhookRequest {
|
|
158
|
+
headers: Record<string, string | string[] | undefined>;
|
|
159
|
+
rawBody: string;
|
|
160
|
+
parsedBody?: unknown;
|
|
161
|
+
}
|
|
162
|
+
export interface HealthWebhookEvent {
|
|
163
|
+
providerKey: string;
|
|
164
|
+
eventType?: string;
|
|
165
|
+
externalEntityId?: string;
|
|
166
|
+
entityType?: 'activity' | 'workout' | 'sleep' | 'biometric' | 'nutrition';
|
|
167
|
+
receivedAt?: string;
|
|
168
|
+
verified?: boolean;
|
|
169
|
+
payload?: unknown;
|
|
170
|
+
metadata?: Record<string, unknown>;
|
|
171
|
+
}
|
|
172
|
+
export interface HealthProvider {
|
|
173
|
+
listActivities(params: HealthListActivitiesParams): Promise<HealthListActivitiesResult>;
|
|
174
|
+
listWorkouts(params: HealthListWorkoutsParams): Promise<HealthListWorkoutsResult>;
|
|
175
|
+
listSleep(params: HealthListSleepParams): Promise<HealthListSleepResult>;
|
|
176
|
+
listBiometrics(params: HealthListBiometricsParams): Promise<HealthListBiometricsResult>;
|
|
177
|
+
listNutrition(params: HealthListNutritionParams): Promise<HealthListNutritionResult>;
|
|
178
|
+
getConnectionStatus(params: HealthGetConnectionStatusParams): Promise<HealthConnectionStatus>;
|
|
179
|
+
syncActivities?(params: HealthSyncRequest): Promise<HealthSyncResult>;
|
|
180
|
+
syncWorkouts?(params: HealthSyncRequest): Promise<HealthSyncResult>;
|
|
181
|
+
syncSleep?(params: HealthSyncRequest): Promise<HealthSyncResult>;
|
|
182
|
+
syncBiometrics?(params: HealthSyncRequest): Promise<HealthSyncResult>;
|
|
183
|
+
syncNutrition?(params: HealthSyncRequest): Promise<HealthSyncResult>;
|
|
184
|
+
parseWebhook?(request: HealthWebhookRequest): Promise<HealthWebhookEvent>;
|
|
185
|
+
verifyWebhook?(request: HealthWebhookRequest): Promise<boolean>;
|
|
186
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// @bun
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{SpecContractRegistry as p}from"@lssm/lib.contracts-spec/registry";var g=(e)=>`${e.key}.v${e.version}`;class c extends p{constructor(e){super("integration",e)}getByCategory(e){return this.list().filter((t)=>t.meta.category===e)}}function m(e){return g(e)}var o=(e)=>e;function a({unsupportedModeReason:e,configFields:t,secretFields:r,rotationSupported:s=!1,setupSteps:n}){let i={mode:"byok",validationStrategy:"byok-lifecycle",rotation:{supported:s}};if(t)i.configFields=t;if(r)i.secretFields=r;if(n)i.setupSteps=n;return{modes:{byok:i},exempt:!0,exemptionReason:e}}var d=o({meta:{key:"ai-media.higgsfield",version:"1.0.0",category:"ai-image",title:"Higgsfield Generative Media",description:"Asynchronous image, image-to-video and talking-presenter generation through a tenant-isolated HTTP adapter.",domain:"ai",owners:["platform.ai"],tags:["image","video","ugc","marketing"],stability:"experimental"},supportedModes:["byok"],credentialManifest:a({unsupportedModeReason:"Managed credential provisioning and billing have not been qualified. Each installation supplies its own scoped Higgsfield credentials.",secretFields:[{key:"apiKey",required:!0},{key:"apiSecret",required:!0}],rotationSupported:!1}),transports:[{type:"rest",baseUrl:"https://platform.higgsfield.ai"}],preferredTransport:"rest",supportedAuthMethods:[{type:"header",headerName:"Authorization",valuePrefix:"Key "}],capabilities:{provides:[{key:"ai.image.generation",version:"1.0.0"},{key:"ai.video.generation",version:"1.0.0"}]},configSchema:{schema:{type:"object",properties:{outputHosts:{type:"array",items:{type:"string"}}},required:["outputHosts"]},example:{outputHosts:["cdn.example.com"]}},secretSchema:{schema:{type:"object",properties:{apiKey:{type:"string"},apiSecret:{type:"string"}},required:["apiKey","apiSecret"]},example:{apiKey:"example-key-id",apiSecret:"example-key-secret"}},healthCheck:{method:"custom",timeoutMs:1e4},docsUrl:"https://github.com/higgsfield-ai/higgsfield-js",byokSetup:{setupInstructions:"Provide a Higgsfield key ID and secret through the host secret resolver. Qualify permitted input/output asset hosts and generation modes. Poll existing request IDs; do not retry uncertain submissions.",keyRotationSupported:!1,quotaTrackingSupported:!1}});function I(e){return e.register(d)}export{d as higgsfieldIntegrationSpec,I as registerHiggsfieldIntegration};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export type ImageFormat = 'png' | 'jpg' | 'webp' | 'svg';
|
|
2
|
+
export interface ImageDimensions {
|
|
3
|
+
width: number;
|
|
4
|
+
height: number;
|
|
5
|
+
}
|
|
6
|
+
export declare const IMAGE_PRESETS: {
|
|
7
|
+
readonly ogImage: {
|
|
8
|
+
readonly width: 1200;
|
|
9
|
+
readonly height: 630;
|
|
10
|
+
};
|
|
11
|
+
readonly twitterCard: {
|
|
12
|
+
readonly width: 1200;
|
|
13
|
+
readonly height: 675;
|
|
14
|
+
};
|
|
15
|
+
readonly instagramSquare: {
|
|
16
|
+
readonly width: 1080;
|
|
17
|
+
readonly height: 1080;
|
|
18
|
+
};
|
|
19
|
+
readonly instagramStory: {
|
|
20
|
+
readonly width: 1080;
|
|
21
|
+
readonly height: 1920;
|
|
22
|
+
};
|
|
23
|
+
readonly blogHero: {
|
|
24
|
+
readonly width: 1920;
|
|
25
|
+
readonly height: 1080;
|
|
26
|
+
};
|
|
27
|
+
readonly thumbnail: {
|
|
28
|
+
readonly width: 640;
|
|
29
|
+
readonly height: 360;
|
|
30
|
+
};
|
|
31
|
+
readonly favicon: {
|
|
32
|
+
readonly width: 512;
|
|
33
|
+
readonly height: 512;
|
|
34
|
+
};
|
|
35
|
+
readonly emailHeader: {
|
|
36
|
+
readonly width: 600;
|
|
37
|
+
readonly height: 200;
|
|
38
|
+
};
|
|
39
|
+
readonly illustration: {
|
|
40
|
+
readonly width: 1024;
|
|
41
|
+
readonly height: 1024;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
export interface ImageGenerationInput {
|
|
45
|
+
prompt: string;
|
|
46
|
+
negativePrompt?: string;
|
|
47
|
+
dimensions: ImageDimensions;
|
|
48
|
+
format?: ImageFormat;
|
|
49
|
+
style?: 'photorealistic' | 'illustration' | '3d-render' | 'flat-design' | 'abstract';
|
|
50
|
+
numVariants?: number;
|
|
51
|
+
guidanceScale?: number;
|
|
52
|
+
seed?: number;
|
|
53
|
+
/** Reference image for img2img / style transfer */
|
|
54
|
+
referenceImage?: Uint8Array;
|
|
55
|
+
referenceStrength?: number;
|
|
56
|
+
metadata?: Record<string, string>;
|
|
57
|
+
}
|
|
58
|
+
export interface ImageGenerationResult {
|
|
59
|
+
images: GeneratedImageData[];
|
|
60
|
+
seed: number;
|
|
61
|
+
model: string;
|
|
62
|
+
generationTimeMs?: number;
|
|
63
|
+
}
|
|
64
|
+
export interface GeneratedImageData {
|
|
65
|
+
data: Uint8Array;
|
|
66
|
+
format: ImageFormat;
|
|
67
|
+
dimensions: ImageDimensions;
|
|
68
|
+
url?: string;
|
|
69
|
+
/** Provider may revise the prompt */
|
|
70
|
+
revisedPrompt?: string;
|
|
71
|
+
}
|
|
72
|
+
export interface ImageProvider {
|
|
73
|
+
generate(input: ImageGenerationInput): Promise<ImageGenerationResult>;
|
|
74
|
+
listModels?(): Promise<ImageModelInfo[]>;
|
|
75
|
+
upscale?(image: Uint8Array, scale: number): Promise<GeneratedImageData>;
|
|
76
|
+
edit?(image: Uint8Array, mask: Uint8Array, prompt: string): Promise<GeneratedImageData>;
|
|
77
|
+
}
|
|
78
|
+
export interface ImageModelInfo {
|
|
79
|
+
id: string;
|
|
80
|
+
name: string;
|
|
81
|
+
maxDimensions: ImageDimensions;
|
|
82
|
+
supportedFormats: ImageFormat[];
|
|
83
|
+
supportsNegativePrompt: boolean;
|
|
84
|
+
supportsImg2Img: boolean;
|
|
85
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
var e={ogImage:{width:1200,height:630},twitterCard:{width:1200,height:675},instagramSquare:{width:1080,height:1080},instagramStory:{width:1080,height:1920},blogHero:{width:1920,height:1080},thumbnail:{width:640,height:360},favicon:{width:512,height:512},emailHeader:{width:600,height:200},illustration:{width:1024,height:1024}};export{e as IMAGE_PRESETS};
|