gitextract_ft7oghrf/ ├── .coderabbit.yaml ├── .devcontainer/ │ └── devcontainer.json ├── .dockerignore ├── .eslintignore ├── .github/ │ ├── Dependabot.yml │ ├── FUNDING.yaml │ ├── ISSUE_TEMPLATE/ │ │ ├── 01_bug_report.yml │ │ ├── 02_feature_request.yml │ │ └── config.yml │ ├── PULL_REQUEST_TEMPLATE.md │ ├── copilot-instructions.md │ └── workflows/ │ ├── build-containers.yml │ ├── build-extension.yaml │ ├── build.yml │ ├── codeql.yml │ ├── eslint │ ├── issue-label-triggers.yml │ ├── pr-docker-build.yml │ ├── pr-quality.yml │ ├── publish-extension.yml │ └── stale.yml ├── .gitignore ├── .gitmodules ├── .npmrc ├── .prettierignore ├── .prettierrc ├── CLAUDE.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Dockerfile.dev ├── Jenkins/ │ ├── Build.Jenkinsfile │ └── BuildPR.Jenkinsfile ├── LICENSE ├── README.md ├── SECURITY.md ├── apps/ │ ├── backend/ │ │ ├── .gitignore │ │ ├── nest-cli.json │ │ ├── package.json │ │ ├── src/ │ │ │ ├── api/ │ │ │ │ ├── api.module.ts │ │ │ │ └── routes/ │ │ │ │ ├── analytics.controller.ts │ │ │ │ ├── approved-apps.controller.ts │ │ │ │ ├── auth.controller.ts │ │ │ │ ├── autopost.controller.ts │ │ │ │ ├── billing.controller.ts │ │ │ │ ├── copilot.controller.ts │ │ │ │ ├── enterprise.controller.ts │ │ │ │ ├── integrations.controller.ts │ │ │ │ ├── media.controller.ts │ │ │ │ ├── monitor.controller.ts │ │ │ │ ├── no.auth.integrations.controller.ts │ │ │ │ ├── notifications.controller.ts │ │ │ │ ├── oauth-app.controller.ts │ │ │ │ ├── oauth.controller.ts │ │ │ │ ├── posts.controller.ts │ │ │ │ ├── public.controller.ts │ │ │ │ ├── root.controller.ts │ │ │ │ ├── sets.controller.ts │ │ │ │ ├── settings.controller.ts │ │ │ │ ├── signature.controller.ts │ │ │ │ ├── stripe.controller.ts │ │ │ │ ├── third-party.controller.ts │ │ │ │ ├── users.controller.ts │ │ │ │ └── webhooks.controller.ts │ │ │ ├── app.module.ts │ │ │ ├── assets/ │ │ │ │ └── .gitkeep │ │ │ ├── main.ts │ │ │ ├── public-api/ │ │ │ │ ├── public.api.module.ts │ │ │ │ └── routes/ │ │ │ │ └── v1/ │ │ │ │ └── public.integrations.controller.ts │ │ │ └── services/ │ │ │ └── auth/ │ │ │ ├── auth.middleware.ts │ │ │ ├── auth.service.ts │ │ │ ├── permissions/ │ │ │ │ ├── permission.exception.class.ts │ │ │ │ ├── permissions.ability.ts │ │ │ │ ├── permissions.guard.ts │ │ │ │ ├── permissions.service.ts │ │ │ │ └── subscription.exception.ts │ │ │ ├── providers/ │ │ │ │ ├── farcaster.provider.ts │ │ │ │ ├── github.provider.ts │ │ │ │ ├── google.provider.ts │ │ │ │ ├── oauth.provider.ts │ │ │ │ ├── providers.manager.ts │ │ │ │ └── wallet.provider.ts │ │ │ ├── providers.interface.ts │ │ │ └── public.auth.middleware.ts │ │ ├── tsconfig.build.json │ │ └── tsconfig.json │ ├── cli/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── FEATURES.md │ │ ├── HOW_TO_RUN.md │ │ ├── INTEGRATION_SETTINGS_DISCOVERY.md │ │ ├── INTEGRATION_TOOLS_WORKFLOW.md │ │ ├── PROJECT_STRUCTURE.md │ │ ├── PROVIDER_SETTINGS.md │ │ ├── PROVIDER_SETTINGS_SUMMARY.md │ │ ├── PUBLISHING.md │ │ ├── QUICK_START.md │ │ ├── README.md │ │ ├── SKILL.md │ │ ├── SUMMARY.md │ │ ├── SUPPORTED_FILE_TYPES.md │ │ ├── SYNTAX_UPGRADE.md │ │ ├── examples/ │ │ │ ├── COMMAND_LINE_GUIDE.md │ │ │ ├── EXAMPLES.md │ │ │ ├── ai-agent-example.js │ │ │ ├── basic-usage.sh │ │ │ ├── command-line-examples.sh │ │ │ ├── multi-platform-post.json │ │ │ ├── multi-platform-with-settings.json │ │ │ ├── post-with-comments.json │ │ │ ├── reddit-post.json │ │ │ ├── thread-post.json │ │ │ ├── tiktok-video.json │ │ │ └── youtube-video.json │ │ ├── package.json │ │ ├── src/ │ │ │ ├── api.ts │ │ │ ├── commands/ │ │ │ │ ├── integrations.ts │ │ │ │ ├── posts.ts │ │ │ │ └── upload.ts │ │ │ ├── config.ts │ │ │ └── index.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── commands/ │ │ ├── .gitignore │ │ ├── nest-cli.json │ │ ├── package.json │ │ ├── src/ │ │ │ ├── command.module.ts │ │ │ ├── main.ts │ │ │ └── tasks/ │ │ │ ├── agent.run.ts │ │ │ ├── configuration.ts │ │ │ └── refresh.tokens.ts │ │ ├── tsconfig.build.json │ │ └── tsconfig.json │ ├── extension/ │ │ ├── .gitignore │ │ ├── custom-vite-plugins.ts │ │ ├── manifest.dev.json │ │ ├── manifest.json │ │ ├── package.json │ │ ├── src/ │ │ │ ├── background.ts │ │ │ ├── providers/ │ │ │ │ ├── cookie-provider.interface.ts │ │ │ │ ├── list/ │ │ │ │ │ └── skool.provider.ts │ │ │ │ └── provider.registry.ts │ │ │ └── types/ │ │ │ └── messages.ts │ │ ├── tsconfig.json │ │ ├── vite.config.base.ts │ │ ├── vite.config.chrome.ts │ │ └── vite.config.ts │ ├── frontend/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── next.config.js │ │ ├── package.json │ │ ├── postcss.config.mjs │ │ ├── public/ │ │ │ ├── .gitkeep │ │ │ └── f.js │ │ ├── src/ │ │ │ ├── app/ │ │ │ │ ├── (app)/ │ │ │ │ │ ├── (preview)/ │ │ │ │ │ │ └── p/ │ │ │ │ │ │ └── [id]/ │ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── (site)/ │ │ │ │ │ │ ├── agents/ │ │ │ │ │ │ │ ├── [id]/ │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── analytics/ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── billing/ │ │ │ │ │ │ │ ├── lifetime/ │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── err/ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── launches/ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ │ ├── media/ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── plugs/ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── settings/ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ └── third-party/ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── api/ │ │ │ │ │ │ └── uploads/ │ │ │ │ │ │ └── [[...path]]/ │ │ │ │ │ │ └── route.ts │ │ │ │ │ ├── auth/ │ │ │ │ │ │ ├── activate/ │ │ │ │ │ │ │ ├── [code]/ │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── forgot/ │ │ │ │ │ │ │ ├── [token]/ │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ │ ├── login/ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── login-required/ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── page.tsx │ │ │ │ │ │ └── return.url.component.tsx │ │ │ │ │ ├── integrations/ │ │ │ │ │ │ └── social/ │ │ │ │ │ │ ├── [provider]/ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ └── layout.tsx │ │ │ │ │ ├── layout.tsx │ │ │ │ │ └── oauth/ │ │ │ │ │ └── authorize/ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── (extension)/ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ └── modal/ │ │ │ │ │ ├── [style]/ │ │ │ │ │ │ └── [platform]/ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ └── layout.tsx │ │ │ │ ├── colors.scss │ │ │ │ ├── global-error.tsx │ │ │ │ ├── global.scss │ │ │ │ └── polonto.css │ │ │ ├── chrome.d.ts │ │ │ ├── components/ │ │ │ │ ├── agents/ │ │ │ │ │ ├── agent.chat.tsx │ │ │ │ │ ├── agent.input.tsx │ │ │ │ │ ├── agent.textarea.tsx │ │ │ │ │ └── agent.tsx │ │ │ │ ├── analytics/ │ │ │ │ │ ├── analytics.component.tsx │ │ │ │ │ ├── chart-social.tsx │ │ │ │ │ ├── chart.tsx │ │ │ │ │ ├── stars.and.forks.interface.ts │ │ │ │ │ ├── stars.and.forks.tsx │ │ │ │ │ └── stars.table.component.tsx │ │ │ │ ├── approved-apps/ │ │ │ │ │ └── approved-apps.component.tsx │ │ │ │ ├── auth/ │ │ │ │ │ ├── activate.tsx │ │ │ │ │ ├── after.activate.tsx │ │ │ │ │ ├── forgot-return.tsx │ │ │ │ │ ├── forgot.tsx │ │ │ │ │ ├── login.tsx │ │ │ │ │ ├── login.with.oidc.tsx │ │ │ │ │ ├── nayner.auth.button.tsx │ │ │ │ │ ├── providers/ │ │ │ │ │ │ ├── farcaster.provider.tsx │ │ │ │ │ │ ├── github.provider.tsx │ │ │ │ │ │ ├── google.provider.tsx │ │ │ │ │ │ ├── oauth.provider.tsx │ │ │ │ │ │ ├── placeholder/ │ │ │ │ │ │ │ └── wallet.ui.provider.tsx │ │ │ │ │ │ └── wallet.provider.tsx │ │ │ │ │ ├── register.tsx │ │ │ │ │ ├── testimonial.component.tsx │ │ │ │ │ └── testimonial.tsx │ │ │ │ ├── autopost/ │ │ │ │ │ └── autopost.tsx │ │ │ │ ├── billing/ │ │ │ │ │ ├── billing.component.tsx │ │ │ │ │ ├── embedded.billing.tsx │ │ │ │ │ ├── faq.component.tsx │ │ │ │ │ ├── finish.trial.tsx │ │ │ │ │ ├── first.billing.component.tsx │ │ │ │ │ ├── lifetime.deal.tsx │ │ │ │ │ ├── main.billing.component.tsx │ │ │ │ │ └── purchase.crypto.tsx │ │ │ │ ├── developer/ │ │ │ │ │ └── developer.component.tsx │ │ │ │ ├── launches/ │ │ │ │ │ ├── add.provider.component.tsx │ │ │ │ │ ├── ai.image.tsx │ │ │ │ │ ├── ai.video.tsx │ │ │ │ │ ├── bot.picture.tsx │ │ │ │ │ ├── calendar.context.tsx │ │ │ │ │ ├── calendar.tsx │ │ │ │ │ ├── comments/ │ │ │ │ │ │ └── comment.component.tsx │ │ │ │ │ ├── continue.integration.tsx │ │ │ │ │ ├── customer.modal.tsx │ │ │ │ │ ├── filters.tsx │ │ │ │ │ ├── general.preview.component.tsx │ │ │ │ │ ├── generator/ │ │ │ │ │ │ └── generator.tsx │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ ├── date.picker.tsx │ │ │ │ │ │ ├── dnd.provider.tsx │ │ │ │ │ │ ├── isuscitizen.utils.tsx │ │ │ │ │ │ ├── linkedin.component.tsx │ │ │ │ │ │ ├── media.settings.component.tsx │ │ │ │ │ │ ├── pick.platform.component.tsx │ │ │ │ │ │ ├── top.title.component.tsx │ │ │ │ │ │ ├── use.custom.provider.function.ts │ │ │ │ │ │ ├── use.existing.data.tsx │ │ │ │ │ │ ├── use.expend.tsx │ │ │ │ │ │ ├── use.formatting.ts │ │ │ │ │ │ ├── use.hide.top.editor.tsx │ │ │ │ │ │ ├── use.integration.list.tsx │ │ │ │ │ │ ├── use.integration.ts │ │ │ │ │ │ ├── use.move.to.integration.tsx │ │ │ │ │ │ └── use.values.ts │ │ │ │ │ ├── information.component.tsx │ │ │ │ │ ├── integration.redirect.component.tsx │ │ │ │ │ ├── internal.channels.tsx │ │ │ │ │ ├── launches.component.tsx │ │ │ │ │ ├── layout.standalone.tsx │ │ │ │ │ ├── menu/ │ │ │ │ │ │ └── menu.tsx │ │ │ │ │ ├── merge.post.tsx │ │ │ │ │ ├── missing-release.modal.tsx │ │ │ │ │ ├── new.post.tsx │ │ │ │ │ ├── polonto/ │ │ │ │ │ │ └── polonto.picture.generation.tsx │ │ │ │ │ ├── polonto.tsx │ │ │ │ │ ├── repeat.component.tsx │ │ │ │ │ ├── select.customer.tsx │ │ │ │ │ ├── separate.post.tsx │ │ │ │ │ ├── settings.modal.tsx │ │ │ │ │ ├── statistics.tsx │ │ │ │ │ ├── tags.component.tsx │ │ │ │ │ ├── time.table.tsx │ │ │ │ │ ├── up.down.arrow.tsx │ │ │ │ │ └── web3/ │ │ │ │ │ ├── providers/ │ │ │ │ │ │ ├── moltbook.provider.tsx │ │ │ │ │ │ ├── telegram.provider.tsx │ │ │ │ │ │ └── wrapcaster.provider.tsx │ │ │ │ │ ├── web3.list.tsx │ │ │ │ │ └── web3.provider.interface.ts │ │ │ │ ├── layout/ │ │ │ │ │ ├── check.payment.tsx │ │ │ │ │ ├── chrome.extension.component.tsx │ │ │ │ │ ├── click.outside.tsx │ │ │ │ │ ├── continue.provider.tsx │ │ │ │ │ ├── drop.files.tsx │ │ │ │ │ ├── dubAnalytics.tsx │ │ │ │ │ ├── facebook.component.tsx │ │ │ │ │ ├── html.component.tsx │ │ │ │ │ ├── impersonate.tsx │ │ │ │ │ ├── language.component.tsx │ │ │ │ │ ├── layout.context.tsx │ │ │ │ │ ├── loading.tsx │ │ │ │ │ ├── logout.component.tsx │ │ │ │ │ ├── mode.component.tsx │ │ │ │ │ ├── new-modal.tsx │ │ │ │ │ ├── new.subscription.tsx │ │ │ │ │ ├── organization.selector.tsx │ │ │ │ │ ├── pre-condition.component.tsx │ │ │ │ │ ├── redirect.tsx │ │ │ │ │ ├── sentry.component.tsx │ │ │ │ │ ├── set.timezone.tsx │ │ │ │ │ ├── settings.component.tsx │ │ │ │ │ ├── streak.component.tsx │ │ │ │ │ ├── support.tsx │ │ │ │ │ ├── title.tsx │ │ │ │ │ ├── top.menu.tsx │ │ │ │ │ ├── top.tip.tsx │ │ │ │ │ └── user.context.tsx │ │ │ │ ├── media/ │ │ │ │ │ ├── media.component.tsx │ │ │ │ │ └── new.uploader.tsx │ │ │ │ ├── new-launch/ │ │ │ │ │ ├── a.component.tsx │ │ │ │ │ ├── add.edit.modal.tsx │ │ │ │ │ ├── add.post.button.tsx │ │ │ │ │ ├── bold.text.tsx │ │ │ │ │ ├── bullets.component.tsx │ │ │ │ │ ├── delay.component.tsx │ │ │ │ │ ├── dummy.code.component.tsx │ │ │ │ │ ├── editor.tsx │ │ │ │ │ ├── finisher/ │ │ │ │ │ │ └── thread.finisher.tsx │ │ │ │ │ ├── heading.component.tsx │ │ │ │ │ ├── manage.modal.tsx │ │ │ │ │ ├── mention.component.tsx │ │ │ │ │ ├── modal.wrapper.component.tsx │ │ │ │ │ ├── picks.socials.component.tsx │ │ │ │ │ ├── providers/ │ │ │ │ │ │ ├── bluesky/ │ │ │ │ │ │ │ └── bluesky.provider.tsx │ │ │ │ │ │ ├── continue-provider/ │ │ │ │ │ │ │ ├── facebook/ │ │ │ │ │ │ │ │ └── facebook.continue.tsx │ │ │ │ │ │ │ ├── gmb/ │ │ │ │ │ │ │ │ └── gmb.continue.tsx │ │ │ │ │ │ │ ├── instagram/ │ │ │ │ │ │ │ │ └── instagram.continue.tsx │ │ │ │ │ │ │ ├── linkedin/ │ │ │ │ │ │ │ │ └── linkedin.continue.tsx │ │ │ │ │ │ │ ├── list.tsx │ │ │ │ │ │ │ ├── with-continue-provider.tsx │ │ │ │ │ │ │ └── youtube/ │ │ │ │ │ │ │ └── youtube.continue.tsx │ │ │ │ │ │ ├── devto/ │ │ │ │ │ │ │ ├── devto.provider.tsx │ │ │ │ │ │ │ ├── devto.tags.tsx │ │ │ │ │ │ │ └── select.organization.tsx │ │ │ │ │ │ ├── discord/ │ │ │ │ │ │ │ ├── discord.channel.select.tsx │ │ │ │ │ │ │ └── discord.provider.tsx │ │ │ │ │ │ ├── dribbble/ │ │ │ │ │ │ │ ├── dribbble.provider.tsx │ │ │ │ │ │ │ └── dribbble.teams.tsx │ │ │ │ │ │ ├── facebook/ │ │ │ │ │ │ │ ├── facebook.preview.tsx │ │ │ │ │ │ │ └── facebook.provider.tsx │ │ │ │ │ │ ├── gmb/ │ │ │ │ │ │ │ └── gmb.provider.tsx │ │ │ │ │ │ ├── hashnode/ │ │ │ │ │ │ │ ├── hashnode.provider.tsx │ │ │ │ │ │ │ ├── hashnode.publications.tsx │ │ │ │ │ │ │ └── hashnode.tags.tsx │ │ │ │ │ │ ├── high.order.provider.tsx │ │ │ │ │ │ ├── instagram/ │ │ │ │ │ │ │ ├── instagram.collaborators.tsx │ │ │ │ │ │ │ ├── instagram.preview.tsx │ │ │ │ │ │ │ └── instagram.tags.tsx │ │ │ │ │ │ ├── kick/ │ │ │ │ │ │ │ └── kick.provider.tsx │ │ │ │ │ │ ├── lemmy/ │ │ │ │ │ │ │ ├── lemmy.provider.tsx │ │ │ │ │ │ │ └── subreddit.tsx │ │ │ │ │ │ ├── linkedin/ │ │ │ │ │ │ │ ├── linkedin.preview.tsx │ │ │ │ │ │ │ └── linkedin.provider.tsx │ │ │ │ │ │ ├── listmonk/ │ │ │ │ │ │ │ ├── listmonk.provider.tsx │ │ │ │ │ │ │ ├── select.list.tsx │ │ │ │ │ │ │ └── select.templates.tsx │ │ │ │ │ │ ├── mastodon/ │ │ │ │ │ │ │ └── mastodon.provider.tsx │ │ │ │ │ │ ├── medium/ │ │ │ │ │ │ │ ├── fonts/ │ │ │ │ │ │ │ │ └── stylesheet.css │ │ │ │ │ │ │ ├── medium.provider.tsx │ │ │ │ │ │ │ ├── medium.publications.tsx │ │ │ │ │ │ │ └── medium.tags.tsx │ │ │ │ │ │ ├── mewe/ │ │ │ │ │ │ │ ├── mewe.group.select.tsx │ │ │ │ │ │ │ └── mewe.provider.tsx │ │ │ │ │ │ ├── moltbook/ │ │ │ │ │ │ │ └── moltbook.provider.tsx │ │ │ │ │ │ ├── nostr/ │ │ │ │ │ │ │ └── nostr.provider.tsx │ │ │ │ │ │ ├── pinterest/ │ │ │ │ │ │ │ ├── pinterest.board.tsx │ │ │ │ │ │ │ ├── pinterest.preview.tsx │ │ │ │ │ │ │ └── pinterest.provider.tsx │ │ │ │ │ │ ├── reddit/ │ │ │ │ │ │ │ ├── reddit.provider.tsx │ │ │ │ │ │ │ └── subreddit.tsx │ │ │ │ │ │ ├── show.all.providers.tsx │ │ │ │ │ │ ├── skool/ │ │ │ │ │ │ │ ├── skool.group.select.tsx │ │ │ │ │ │ │ ├── skool.label.select.tsx │ │ │ │ │ │ │ └── skool.provider.tsx │ │ │ │ │ │ ├── slack/ │ │ │ │ │ │ │ ├── slack.channel.select.tsx │ │ │ │ │ │ │ └── slack.provider.tsx │ │ │ │ │ │ ├── telegram/ │ │ │ │ │ │ │ └── telegram.provider.tsx │ │ │ │ │ │ ├── threads/ │ │ │ │ │ │ │ └── threads.provider.tsx │ │ │ │ │ │ ├── tiktok/ │ │ │ │ │ │ │ ├── tiktok.preview.tsx │ │ │ │ │ │ │ └── tiktok.provider.tsx │ │ │ │ │ │ ├── twitch/ │ │ │ │ │ │ │ └── twitch.provider.tsx │ │ │ │ │ │ ├── vk/ │ │ │ │ │ │ │ └── vk.provider.tsx │ │ │ │ │ │ ├── warpcast/ │ │ │ │ │ │ │ ├── subreddit.tsx │ │ │ │ │ │ │ └── warpcast.provider.tsx │ │ │ │ │ │ ├── whop/ │ │ │ │ │ │ │ ├── whop.company.select.tsx │ │ │ │ │ │ │ ├── whop.experience.select.tsx │ │ │ │ │ │ │ └── whop.provider.tsx │ │ │ │ │ │ ├── wordpress/ │ │ │ │ │ │ │ ├── wordpress.post.type.tsx │ │ │ │ │ │ │ └── wordpress.provider.tsx │ │ │ │ │ │ ├── x/ │ │ │ │ │ │ │ └── x.provider.tsx │ │ │ │ │ │ └── youtube/ │ │ │ │ │ │ ├── youtube.preview.tsx │ │ │ │ │ │ └── youtube.provider.tsx │ │ │ │ │ ├── select.current.tsx │ │ │ │ │ ├── store.ts │ │ │ │ │ └── u.text.tsx │ │ │ │ ├── new-layout/ │ │ │ │ │ ├── billing.after.tsx │ │ │ │ │ ├── layout.component.tsx │ │ │ │ │ ├── layout.media.component.tsx │ │ │ │ │ ├── logo.tsx │ │ │ │ │ ├── menu-item.tsx │ │ │ │ │ └── sentry.feedback.component.tsx │ │ │ │ ├── notifications/ │ │ │ │ │ └── notification.component.tsx │ │ │ │ ├── onboarding/ │ │ │ │ │ ├── github.onboarding.tsx │ │ │ │ │ ├── onboarding.modal.tsx │ │ │ │ │ └── onboarding.tsx │ │ │ │ ├── platform-analytics/ │ │ │ │ │ ├── platform.analytics.tsx │ │ │ │ │ └── render.analytics.tsx │ │ │ │ ├── plugs/ │ │ │ │ │ ├── plug.tsx │ │ │ │ │ ├── plugs.context.ts │ │ │ │ │ └── plugs.tsx │ │ │ │ ├── post-url-selector/ │ │ │ │ │ └── post.url.selector.tsx │ │ │ │ ├── preview/ │ │ │ │ │ ├── comments.components.tsx │ │ │ │ │ ├── copy.client.tsx │ │ │ │ │ ├── preview.wrapper.tsx │ │ │ │ │ └── render.preview.date.tsx │ │ │ │ ├── public-api/ │ │ │ │ │ └── public.component.tsx │ │ │ │ ├── sets/ │ │ │ │ │ └── sets.tsx │ │ │ │ ├── settings/ │ │ │ │ │ ├── email-notifications.component.tsx │ │ │ │ │ ├── github.component.tsx │ │ │ │ │ ├── global.settings.tsx │ │ │ │ │ ├── metric.component.tsx │ │ │ │ │ ├── shortlink-preference.component.tsx │ │ │ │ │ ├── signatures.component.tsx │ │ │ │ │ └── teams.component.tsx │ │ │ │ ├── signature.tsx │ │ │ │ ├── standalone-modal/ │ │ │ │ │ └── standalone.modal.tsx │ │ │ │ ├── third-parties/ │ │ │ │ │ ├── providers/ │ │ │ │ │ │ └── heygen.provider.tsx │ │ │ │ │ ├── slider.component.tsx │ │ │ │ │ ├── third-party.component.tsx │ │ │ │ │ ├── third-party.function.tsx │ │ │ │ │ ├── third-party.list.component.tsx │ │ │ │ │ ├── third-party.media.tsx │ │ │ │ │ └── third-party.wrapper.tsx │ │ │ │ ├── ui/ │ │ │ │ │ ├── check.icon.component.tsx │ │ │ │ │ ├── icons/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── is.scroll.hook.tsx │ │ │ │ │ ├── logo-text.component.tsx │ │ │ │ │ └── translated-label.tsx │ │ │ │ ├── videos/ │ │ │ │ │ ├── providers/ │ │ │ │ │ │ ├── image-text-slides.provider.tsx │ │ │ │ │ │ └── veo3.provider.tsx │ │ │ │ │ ├── video.context.wrapper.tsx │ │ │ │ │ ├── video.render.component.tsx │ │ │ │ │ └── video.wrapper.tsx │ │ │ │ └── webhooks/ │ │ │ │ └── webhooks.tsx │ │ │ ├── instrumentation.ts │ │ │ ├── middleware.ts │ │ │ ├── sentry.edge.config.ts │ │ │ └── sentry.server.config.ts │ │ ├── tailwind.config.js │ │ └── tsconfig.json │ ├── orchestrator/ │ │ ├── .gitignore │ │ ├── .swcrc │ │ ├── nest-cli.json │ │ ├── package.json │ │ ├── src/ │ │ │ ├── activities/ │ │ │ │ ├── autopost.activity.ts │ │ │ │ ├── email.activity.ts │ │ │ │ ├── integrations.activity.ts │ │ │ │ └── post.activity.ts │ │ │ ├── app.module.ts │ │ │ ├── main.ts │ │ │ ├── signals/ │ │ │ │ ├── email.signal.ts │ │ │ │ └── send.email.signal.ts │ │ │ └── workflows/ │ │ │ ├── autopost.workflow.ts │ │ │ ├── digest.email.workflow.ts │ │ │ ├── index.ts │ │ │ ├── missing.post.workflow.ts │ │ │ ├── post-workflows/ │ │ │ │ └── post.workflow.v1.0.1.ts │ │ │ ├── refresh.token.workflow.ts │ │ │ ├── send.email.workflow.ts │ │ │ └── streak.workflow.ts │ │ ├── tsconfig.build.json │ │ └── tsconfig.json │ └── sdk/ │ ├── .babelrc │ ├── .npmignore │ ├── README.md │ ├── package.json │ ├── src/ │ │ └── index.ts │ ├── tsconfig.json │ └── tsup.config.ts ├── docker-compose.dev.yaml ├── docker-compose.yaml ├── dynamicconfig/ │ ├── development-cass.yaml │ └── development-sql.yaml ├── eslint.config.mjs ├── i18n.json ├── jest.config.ts ├── jest.preset.js ├── libraries/ │ ├── helpers/ │ │ └── src/ │ │ ├── auth/ │ │ │ └── auth.service.ts │ │ ├── configuration/ │ │ │ └── configuration.checker.ts │ │ ├── decorators/ │ │ │ ├── plug.decorator.ts │ │ │ └── post.plug.ts │ │ ├── subdomain/ │ │ │ ├── all.two.level.subdomain.ts │ │ │ └── subdomain.management.ts │ │ ├── swagger/ │ │ │ └── load.swagger.ts │ │ └── utils/ │ │ ├── count.length.ts │ │ ├── custom.fetch.func.ts │ │ ├── custom.fetch.tsx │ │ ├── internal.fetch.ts │ │ ├── is.dev.ts │ │ ├── is.general.server.side.ts │ │ ├── linkedin.company.prevent.remove.ts │ │ ├── posts.list.minify.ts │ │ ├── read.or.fetch.ts │ │ ├── remove.markdown.ts │ │ ├── strip.html.validation.ts │ │ ├── timer.ts │ │ ├── use.fire.events.ts │ │ ├── use.wait.for.class.tsx │ │ ├── utm.saver.tsx │ │ ├── valid.images.ts │ │ └── valid.url.path.ts │ ├── nestjs-libraries/ │ │ ├── .eslintrc.json │ │ ├── README.md │ │ ├── src/ │ │ │ ├── 3rdparties/ │ │ │ │ ├── heygen/ │ │ │ │ │ └── heygen.provider.ts │ │ │ │ ├── thirdparty.interface.ts │ │ │ │ ├── thirdparty.manager.ts │ │ │ │ └── thirdparty.module.ts │ │ │ ├── agent/ │ │ │ │ ├── agent.categories.ts │ │ │ │ ├── agent.graph.insert.service.ts │ │ │ │ ├── agent.graph.service.ts │ │ │ │ ├── agent.module.ts │ │ │ │ └── agent.topics.ts │ │ │ ├── chat/ │ │ │ │ ├── agent.tool.interface.ts │ │ │ │ ├── async.storage.ts │ │ │ │ ├── auth.context.ts │ │ │ │ ├── chat.module.ts │ │ │ │ ├── load.tools.service.ts │ │ │ │ ├── mastra.service.ts │ │ │ │ ├── mastra.store.ts │ │ │ │ ├── rules.description.decorator.ts │ │ │ │ ├── start.mcp.ts │ │ │ │ ├── tools/ │ │ │ │ │ ├── generate.image.tool.ts │ │ │ │ │ ├── generate.video.options.tool.ts │ │ │ │ │ ├── generate.video.tool.ts │ │ │ │ │ ├── integration.list.tool.ts │ │ │ │ │ ├── integration.schedule.post.ts │ │ │ │ │ ├── integration.trigger.tool.ts │ │ │ │ │ ├── integration.validation.tool.ts │ │ │ │ │ ├── tool.list.ts │ │ │ │ │ └── video.function.tool.ts │ │ │ │ └── validation.schemas.helper.ts │ │ │ ├── crypto/ │ │ │ │ └── nowpayments.ts │ │ │ ├── database/ │ │ │ │ └── prisma/ │ │ │ │ ├── agencies/ │ │ │ │ │ ├── agencies.repository.ts │ │ │ │ │ └── agencies.service.ts │ │ │ │ ├── autopost/ │ │ │ │ │ ├── autopost.repository.ts │ │ │ │ │ └── autopost.service.ts │ │ │ │ ├── database.module.ts │ │ │ │ ├── integrations/ │ │ │ │ │ ├── integration.repository.ts │ │ │ │ │ └── integration.service.ts │ │ │ │ ├── media/ │ │ │ │ │ ├── media.repository.ts │ │ │ │ │ └── media.service.ts │ │ │ │ ├── notifications/ │ │ │ │ │ ├── notification.service.ts │ │ │ │ │ └── notifications.repository.ts │ │ │ │ ├── oauth/ │ │ │ │ │ ├── oauth.repository.ts │ │ │ │ │ └── oauth.service.ts │ │ │ │ ├── organizations/ │ │ │ │ │ ├── organization.repository.ts │ │ │ │ │ └── organization.service.ts │ │ │ │ ├── posts/ │ │ │ │ │ ├── posts.repository.ts │ │ │ │ │ └── posts.service.ts │ │ │ │ ├── prisma.service.ts │ │ │ │ ├── schema.prisma │ │ │ │ ├── sets/ │ │ │ │ │ ├── sets.repository.ts │ │ │ │ │ └── sets.service.ts │ │ │ │ ├── signatures/ │ │ │ │ │ ├── signature.repository.ts │ │ │ │ │ └── signature.service.ts │ │ │ │ ├── subscriptions/ │ │ │ │ │ ├── pricing.ts │ │ │ │ │ ├── subscription.repository.ts │ │ │ │ │ └── subscription.service.ts │ │ │ │ ├── third-party/ │ │ │ │ │ ├── third-party.repository.ts │ │ │ │ │ └── third-party.service.ts │ │ │ │ ├── users/ │ │ │ │ │ ├── users.repository.ts │ │ │ │ │ └── users.service.ts │ │ │ │ └── webhooks/ │ │ │ │ ├── webhooks.repository.ts │ │ │ │ └── webhooks.service.ts │ │ │ ├── dtos/ │ │ │ │ ├── agencies/ │ │ │ │ │ └── create.agency.dto.ts │ │ │ │ ├── analytics/ │ │ │ │ │ └── stars.list.dto.ts │ │ │ │ ├── auth/ │ │ │ │ │ ├── create.org.user.dto.ts │ │ │ │ │ ├── forgot-return.password.dto.ts │ │ │ │ │ ├── forgot.password.dto.ts │ │ │ │ │ ├── login.user.dto.ts │ │ │ │ │ └── resend-activation.dto.ts │ │ │ │ ├── autopost/ │ │ │ │ │ └── autopost.dto.ts │ │ │ │ ├── billing/ │ │ │ │ │ └── billing.subscribe.dto.ts │ │ │ │ ├── comments/ │ │ │ │ │ └── add.comment.dto.ts │ │ │ │ ├── generator/ │ │ │ │ │ ├── create.generated.posts.dto.ts │ │ │ │ │ └── generator.dto.ts │ │ │ │ ├── integrations/ │ │ │ │ │ ├── api.key.dto.ts │ │ │ │ │ ├── connect.integration.dto.ts │ │ │ │ │ ├── integration.function.dto.ts │ │ │ │ │ └── integration.time.dto.ts │ │ │ │ ├── media/ │ │ │ │ │ ├── media.dto.ts │ │ │ │ │ ├── save.media.information.dto.ts │ │ │ │ │ └── upload.dto.ts │ │ │ │ ├── notifications/ │ │ │ │ │ └── get.notifications.dto.ts │ │ │ │ ├── oauth/ │ │ │ │ │ ├── authorize-oauth.dto.ts │ │ │ │ │ ├── create-oauth-app.dto.ts │ │ │ │ │ ├── token-exchange.dto.ts │ │ │ │ │ └── update-oauth-app.dto.ts │ │ │ │ ├── plugs/ │ │ │ │ │ └── plug.dto.ts │ │ │ │ ├── posts/ │ │ │ │ │ ├── create.post.dto.ts │ │ │ │ │ ├── create.tag.dto.ts │ │ │ │ │ ├── get.posts.dto.ts │ │ │ │ │ ├── get.posts.list.dto.ts │ │ │ │ │ ├── providers-settings/ │ │ │ │ │ │ ├── all.providers.settings.ts │ │ │ │ │ │ ├── dev.to.settings.dto.ts │ │ │ │ │ │ ├── dev.to.tags.settings.dto.ts │ │ │ │ │ │ ├── discord.dto.ts │ │ │ │ │ │ ├── dribbble.dto.ts │ │ │ │ │ │ ├── facebook.dto.ts │ │ │ │ │ │ ├── farcaster.dto.ts │ │ │ │ │ │ ├── gmb.settings.dto.ts │ │ │ │ │ │ ├── hashnode.settings.dto.ts │ │ │ │ │ │ ├── instagram.dto.ts │ │ │ │ │ │ ├── kick.dto.ts │ │ │ │ │ │ ├── lemmy.dto.ts │ │ │ │ │ │ ├── linkedin.dto.ts │ │ │ │ │ │ ├── listmonk.dto.ts │ │ │ │ │ │ ├── medium.settings.dto.ts │ │ │ │ │ │ ├── mewe.dto.ts │ │ │ │ │ │ ├── moltbook.dto.ts │ │ │ │ │ │ ├── pinterest.dto.ts │ │ │ │ │ │ ├── reddit.dto.ts │ │ │ │ │ │ ├── skool.dto.ts │ │ │ │ │ │ ├── slack.dto.ts │ │ │ │ │ │ ├── tiktok.dto.ts │ │ │ │ │ │ ├── twitch.dto.ts │ │ │ │ │ │ ├── whop.dto.ts │ │ │ │ │ │ ├── wordpress.dto.ts │ │ │ │ │ │ ├── x.dto.ts │ │ │ │ │ │ └── youtube.settings.dto.ts │ │ │ │ │ └── transformers/ │ │ │ │ │ └── integration.settings.transformer.ts │ │ │ │ ├── sets/ │ │ │ │ │ └── sets.dto.ts │ │ │ │ ├── settings/ │ │ │ │ │ ├── add.team.member.dto.ts │ │ │ │ │ └── shortlink-preference.dto.ts │ │ │ │ ├── signature/ │ │ │ │ │ └── signature.dto.ts │ │ │ │ ├── users/ │ │ │ │ │ ├── email-notifications.dto.ts │ │ │ │ │ └── user.details.dto.ts │ │ │ │ ├── videos/ │ │ │ │ │ ├── video.dto.ts │ │ │ │ │ └── video.function.dto.ts │ │ │ │ └── webhooks/ │ │ │ │ └── webhooks.dto.ts │ │ │ ├── emails/ │ │ │ │ ├── email.interface.ts │ │ │ │ ├── empty.provider.ts │ │ │ │ ├── node.mailer.provider.ts │ │ │ │ └── resend.provider.ts │ │ │ ├── integrations/ │ │ │ │ ├── integration.manager.ts │ │ │ │ ├── integration.missing.scopes.ts │ │ │ │ ├── refresh.integration.service.ts │ │ │ │ ├── social/ │ │ │ │ │ ├── bluesky.provider.ts │ │ │ │ │ ├── dev.to.provider.ts │ │ │ │ │ ├── discord.provider.ts │ │ │ │ │ ├── dribbble.provider.ts │ │ │ │ │ ├── facebook.provider.ts │ │ │ │ │ ├── farcaster.provider.ts │ │ │ │ │ ├── gmb.provider.ts │ │ │ │ │ ├── hashnode.provider.ts │ │ │ │ │ ├── hashnode.tags.ts │ │ │ │ │ ├── instagram.provider.ts │ │ │ │ │ ├── instagram.standalone.provider.ts │ │ │ │ │ ├── kick.provider.ts │ │ │ │ │ ├── lemmy.provider.ts │ │ │ │ │ ├── linkedin.page.provider.ts │ │ │ │ │ ├── linkedin.provider.ts │ │ │ │ │ ├── listmonk.provider.ts │ │ │ │ │ ├── mastodon.custom.provider.ts │ │ │ │ │ ├── mastodon.provider.ts │ │ │ │ │ ├── medium.provider.ts │ │ │ │ │ ├── mewe.provider.ts │ │ │ │ │ ├── moltbook.provider.ts │ │ │ │ │ ├── nostr.provider.ts │ │ │ │ │ ├── pinterest.provider.ts │ │ │ │ │ ├── reddit.provider.ts │ │ │ │ │ ├── skool.provider.ts │ │ │ │ │ ├── slack.provider.ts │ │ │ │ │ ├── social.integrations.interface.ts │ │ │ │ │ ├── telegram.provider.ts │ │ │ │ │ ├── threads.provider.ts │ │ │ │ │ ├── tiktok.provider.ts │ │ │ │ │ ├── twitch.provider.ts │ │ │ │ │ ├── vk.provider.ts │ │ │ │ │ ├── whop.provider.ts │ │ │ │ │ ├── wordpress.provider.ts │ │ │ │ │ ├── x.provider.ts │ │ │ │ │ └── youtube.provider.ts │ │ │ │ ├── social.abstract.ts │ │ │ │ └── tool.decorator.ts │ │ │ ├── newsletter/ │ │ │ │ ├── newsletter.interface.ts │ │ │ │ ├── newsletter.service.ts │ │ │ │ ├── providers/ │ │ │ │ │ ├── beehiiv.provider.ts │ │ │ │ │ ├── email-empty.provider.ts │ │ │ │ │ └── listmonk.provider.ts │ │ │ │ └── providers.ts │ │ │ ├── openai/ │ │ │ │ ├── extract.content.service.ts │ │ │ │ ├── fal.service.ts │ │ │ │ └── openai.service.ts │ │ │ ├── redis/ │ │ │ │ └── redis.service.ts │ │ │ ├── sentry/ │ │ │ │ ├── initialize.sentry.ts │ │ │ │ └── sentry.exception.ts │ │ │ ├── services/ │ │ │ │ ├── codes.service.ts │ │ │ │ ├── email.service.ts │ │ │ │ ├── exception.filter.ts │ │ │ │ ├── make.is.ts │ │ │ │ ├── stripe.country.list.ts │ │ │ │ └── stripe.service.ts │ │ │ ├── short-linking/ │ │ │ │ ├── providers/ │ │ │ │ │ ├── dub.ts │ │ │ │ │ ├── empty.ts │ │ │ │ │ ├── kutt.ts │ │ │ │ │ ├── linkdrip.ts │ │ │ │ │ └── short.io.ts │ │ │ │ ├── short-linking.interface.ts │ │ │ │ └── short.link.service.ts │ │ │ ├── temporal/ │ │ │ │ ├── infinite.workflow.register.ts │ │ │ │ ├── temporal.module.ts │ │ │ │ ├── temporal.register.ts │ │ │ │ └── temporal.search.attribute.ts │ │ │ ├── throttler/ │ │ │ │ └── throttler.provider.ts │ │ │ ├── track/ │ │ │ │ └── track.service.ts │ │ │ ├── upload/ │ │ │ │ ├── cloudflare.storage.ts │ │ │ │ ├── custom.upload.validation.ts │ │ │ │ ├── local.storage.ts │ │ │ │ ├── r2.uploader.ts │ │ │ │ ├── upload.factory.ts │ │ │ │ ├── upload.interface.ts │ │ │ │ └── upload.module.ts │ │ │ ├── user/ │ │ │ │ ├── org.from.request.ts │ │ │ │ ├── track.enum.ts │ │ │ │ ├── user.agent.ts │ │ │ │ └── user.from.request.ts │ │ │ └── videos/ │ │ │ ├── images-slides/ │ │ │ │ └── images.slides.ts │ │ │ ├── veo3/ │ │ │ │ └── veo3.ts │ │ │ ├── video.interface.ts │ │ │ ├── video.manager.ts │ │ │ └── video.module.ts │ │ ├── tsconfig.json │ │ └── tsconfig.lib.json │ └── react-shared-libraries/ │ ├── .eslintrc.json │ ├── README.md │ ├── src/ │ │ ├── form/ │ │ │ ├── button.tsx │ │ │ ├── canonical.tsx │ │ │ ├── checkbox.tsx │ │ │ ├── color.picker.tsx │ │ │ ├── custom.select.tsx │ │ │ ├── input.tsx │ │ │ ├── select.tsx │ │ │ ├── slider.tsx │ │ │ ├── textarea.tsx │ │ │ └── total.tsx │ │ ├── helpers/ │ │ │ ├── delete.dialog.tsx │ │ │ ├── image.with.fallback.tsx │ │ │ ├── is.general.tsx │ │ │ ├── mantine.wrapper.tsx │ │ │ ├── posthog.tsx │ │ │ ├── testomonials.tsx │ │ │ ├── uppy.upload.ts │ │ │ ├── use.is.visible.tsx │ │ │ ├── use.media.directory.ts │ │ │ ├── use.prevent.window.unload.tsx │ │ │ ├── use.state.callback.ts │ │ │ ├── use.track.tsx │ │ │ ├── utc.date.render.tsx │ │ │ ├── variable.context.tsx │ │ │ ├── video.frame.tsx │ │ │ └── video.or.image.tsx │ │ ├── sentry/ │ │ │ ├── initialize.sentry.client.ts │ │ │ ├── initialize.sentry.next.basic.ts │ │ │ └── initialize.sentry.server.ts │ │ ├── toaster/ │ │ │ └── toaster.tsx │ │ └── translation/ │ │ ├── get.transation.service.client.ts │ │ ├── get.translation.service.backend.ts │ │ ├── i18n.config.ts │ │ ├── i18next.ts │ │ ├── locales/ │ │ │ ├── ar/ │ │ │ │ └── translation.json │ │ │ ├── bn/ │ │ │ │ └── translation.json │ │ │ ├── de/ │ │ │ │ └── translation.json │ │ │ ├── en/ │ │ │ │ └── translation.json │ │ │ ├── es/ │ │ │ │ └── translation.json │ │ │ ├── fr/ │ │ │ │ └── translation.json │ │ │ ├── he/ │ │ │ │ └── translation.json │ │ │ ├── it/ │ │ │ │ └── translation.json │ │ │ ├── ja/ │ │ │ │ └── translation.json │ │ │ ├── ka_ge/ │ │ │ │ └── translation.json │ │ │ ├── ko/ │ │ │ │ └── translation.json │ │ │ ├── pt/ │ │ │ │ └── translation.json │ │ │ ├── ru/ │ │ │ │ └── translation.json │ │ │ ├── tr/ │ │ │ │ └── translation.json │ │ │ ├── vi/ │ │ │ │ └── translation.json │ │ │ └── zh/ │ │ │ └── translation.json │ │ └── translated-label.tsx │ ├── tsconfig.json │ └── tsconfig.lib.json ├── package.json ├── pnpm-workspace.yaml ├── railway.toml ├── reports/ │ └── junit.xml ├── sonar-project.properties ├── tsconfig.base.json ├── tsconfig.json ├── var/ │ └── docker/ │ ├── create-namespace-default.sh │ ├── docker-build.sh │ ├── docker-create.sh │ └── nginx.conf └── version.txt