@marktoflow/integrations 2.0.0-alpha.7 → 2.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/README.md +64 -553
- package/dist/adapters/claude-agent-hooks.d.ts.map +1 -0
- package/dist/adapters/claude-agent-hooks.js +339 -0
- package/dist/adapters/claude-agent-hooks.js.map +1 -0
- package/dist/adapters/claude-agent-types.d.ts +426 -0
- package/dist/adapters/claude-agent-types.d.ts.map +1 -0
- package/dist/adapters/claude-agent-types.js +62 -0
- package/dist/adapters/claude-agent-types.js.map +1 -0
- package/dist/adapters/claude-agent-workflow.d.ts +393 -0
- package/dist/adapters/claude-agent-workflow.d.ts.map +1 -0
- package/dist/adapters/claude-agent-workflow.js +445 -0
- package/dist/adapters/claude-agent-workflow.js.map +1 -0
- package/dist/adapters/claude-agent.d.ts +189 -0
- package/dist/adapters/claude-agent.d.ts.map +1 -0
- package/dist/adapters/claude-agent.js +504 -0
- package/dist/adapters/claude-agent.js.map +1 -0
- package/dist/adapters/claude-code.d.ts +18 -0
- package/dist/adapters/claude-code.d.ts.map +1 -1
- package/dist/adapters/claude-code.js +33 -0
- package/dist/adapters/claude-code.js.map +1 -1
- package/dist/adapters/codex-types.d.ts +463 -0
- package/dist/adapters/codex-types.d.ts.map +1 -0
- package/dist/adapters/codex-types.js +53 -0
- package/dist/adapters/codex-types.js.map +1 -0
- package/dist/adapters/codex-workflow.d.ts +414 -0
- package/dist/adapters/codex-workflow.d.ts.map +1 -0
- package/dist/adapters/codex-workflow.js +470 -0
- package/dist/adapters/codex-workflow.js.map +1 -0
- package/dist/adapters/codex.d.ts +154 -0
- package/dist/adapters/codex.d.ts.map +1 -0
- package/dist/adapters/codex.js +416 -0
- package/dist/adapters/codex.js.map +1 -0
- package/dist/adapters/github-copilot-types.d.ts +1012 -0
- package/dist/adapters/github-copilot-types.d.ts.map +1 -0
- package/dist/adapters/github-copilot-types.js +80 -0
- package/dist/adapters/github-copilot-types.js.map +1 -0
- package/dist/adapters/github-copilot-workflow.d.ts +462 -0
- package/dist/adapters/github-copilot-workflow.d.ts.map +1 -0
- package/dist/adapters/github-copilot-workflow.js +473 -0
- package/dist/adapters/github-copilot-workflow.js.map +1 -0
- package/dist/adapters/github-copilot.d.ts +239 -37
- package/dist/adapters/github-copilot.d.ts.map +1 -1
- package/dist/adapters/github-copilot.js +365 -58
- package/dist/adapters/github-copilot.js.map +1 -1
- package/dist/adapters/ollama-types.d.ts +746 -0
- package/dist/adapters/ollama-types.d.ts.map +1 -0
- package/dist/adapters/ollama-types.js +65 -0
- package/dist/adapters/ollama-types.js.map +1 -0
- package/dist/adapters/ollama.d.ts +157 -0
- package/dist/adapters/ollama.d.ts.map +1 -1
- package/dist/adapters/ollama.js +425 -3
- package/dist/adapters/ollama.js.map +1 -1
- package/dist/adapters/opencode.d.ts +20 -0
- package/dist/adapters/opencode.d.ts.map +1 -1
- package/dist/adapters/opencode.js +29 -0
- package/dist/adapters/opencode.js.map +1 -1
- package/dist/index.d.ts +45 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +107 -2
- package/dist/index.js.map +1 -1
- package/dist/reliability/errors.d.ts +36 -0
- package/dist/reliability/errors.d.ts.map +1 -0
- package/dist/reliability/errors.js +151 -0
- package/dist/reliability/errors.js.map +1 -0
- package/dist/reliability/index.d.ts +10 -0
- package/dist/reliability/index.d.ts.map +1 -0
- package/dist/reliability/index.js +10 -0
- package/dist/reliability/index.js.map +1 -0
- package/dist/reliability/schemas/airtable.d.ts +7 -0
- package/dist/reliability/schemas/airtable.d.ts.map +1 -0
- package/dist/reliability/schemas/airtable.js +56 -0
- package/dist/reliability/schemas/airtable.js.map +1 -0
- package/dist/reliability/schemas/asana.d.ts +7 -0
- package/dist/reliability/schemas/asana.d.ts.map +1 -0
- package/dist/reliability/schemas/asana.js +45 -0
- package/dist/reliability/schemas/asana.js.map +1 -0
- package/dist/reliability/schemas/aws-s3.d.ts +7 -0
- package/dist/reliability/schemas/aws-s3.d.ts.map +1 -0
- package/dist/reliability/schemas/aws-s3.js +42 -0
- package/dist/reliability/schemas/aws-s3.js.map +1 -0
- package/dist/reliability/schemas/calendly.d.ts +6 -0
- package/dist/reliability/schemas/calendly.d.ts.map +1 -0
- package/dist/reliability/schemas/calendly.js +43 -0
- package/dist/reliability/schemas/calendly.js.map +1 -0
- package/dist/reliability/schemas/confluence.d.ts +7 -0
- package/dist/reliability/schemas/confluence.d.ts.map +1 -0
- package/dist/reliability/schemas/confluence.js +46 -0
- package/dist/reliability/schemas/confluence.js.map +1 -0
- package/dist/reliability/schemas/discord.d.ts +6 -0
- package/dist/reliability/schemas/discord.d.ts.map +1 -0
- package/dist/reliability/schemas/discord.js +40 -0
- package/dist/reliability/schemas/discord.js.map +1 -0
- package/dist/reliability/schemas/dropbox.d.ts +7 -0
- package/dist/reliability/schemas/dropbox.d.ts.map +1 -0
- package/dist/reliability/schemas/dropbox.js +47 -0
- package/dist/reliability/schemas/dropbox.js.map +1 -0
- package/dist/reliability/schemas/github.d.ts +9 -0
- package/dist/reliability/schemas/github.d.ts.map +1 -0
- package/dist/reliability/schemas/github.js +101 -0
- package/dist/reliability/schemas/github.js.map +1 -0
- package/dist/reliability/schemas/gitlab.d.ts +6 -0
- package/dist/reliability/schemas/gitlab.d.ts.map +1 -0
- package/dist/reliability/schemas/gitlab.js +102 -0
- package/dist/reliability/schemas/gitlab.js.map +1 -0
- package/dist/reliability/schemas/gmail.d.ts +9 -0
- package/dist/reliability/schemas/gmail.d.ts.map +1 -0
- package/dist/reliability/schemas/gmail.js +59 -0
- package/dist/reliability/schemas/gmail.js.map +1 -0
- package/dist/reliability/schemas/google-calendar.d.ts +7 -0
- package/dist/reliability/schemas/google-calendar.d.ts.map +1 -0
- package/dist/reliability/schemas/google-calendar.js +58 -0
- package/dist/reliability/schemas/google-calendar.js.map +1 -0
- package/dist/reliability/schemas/google-docs.d.ts +7 -0
- package/dist/reliability/schemas/google-docs.d.ts.map +1 -0
- package/dist/reliability/schemas/google-docs.js +39 -0
- package/dist/reliability/schemas/google-docs.js.map +1 -0
- package/dist/reliability/schemas/google-drive.d.ts +7 -0
- package/dist/reliability/schemas/google-drive.d.ts.map +1 -0
- package/dist/reliability/schemas/google-drive.js +56 -0
- package/dist/reliability/schemas/google-drive.js.map +1 -0
- package/dist/reliability/schemas/google-sheets.d.ts +7 -0
- package/dist/reliability/schemas/google-sheets.d.ts.map +1 -0
- package/dist/reliability/schemas/google-sheets.js +40 -0
- package/dist/reliability/schemas/google-sheets.js.map +1 -0
- package/dist/reliability/schemas/hubspot.d.ts +6 -0
- package/dist/reliability/schemas/hubspot.d.ts.map +1 -0
- package/dist/reliability/schemas/hubspot.js +92 -0
- package/dist/reliability/schemas/hubspot.js.map +1 -0
- package/dist/reliability/schemas/index.d.ts +45 -0
- package/dist/reliability/schemas/index.d.ts.map +1 -0
- package/dist/reliability/schemas/index.js +45 -0
- package/dist/reliability/schemas/index.js.map +1 -0
- package/dist/reliability/schemas/intercom.d.ts +6 -0
- package/dist/reliability/schemas/intercom.d.ts.map +1 -0
- package/dist/reliability/schemas/intercom.js +81 -0
- package/dist/reliability/schemas/intercom.js.map +1 -0
- package/dist/reliability/schemas/jira.d.ts +6 -0
- package/dist/reliability/schemas/jira.d.ts.map +1 -0
- package/dist/reliability/schemas/jira.js +50 -0
- package/dist/reliability/schemas/jira.js.map +1 -0
- package/dist/reliability/schemas/linear.d.ts +6 -0
- package/dist/reliability/schemas/linear.d.ts.map +1 -0
- package/dist/reliability/schemas/linear.js +39 -0
- package/dist/reliability/schemas/linear.js.map +1 -0
- package/dist/reliability/schemas/mailchimp.d.ts +7 -0
- package/dist/reliability/schemas/mailchimp.d.ts.map +1 -0
- package/dist/reliability/schemas/mailchimp.js +58 -0
- package/dist/reliability/schemas/mailchimp.js.map +1 -0
- package/dist/reliability/schemas/monday.d.ts +6 -0
- package/dist/reliability/schemas/monday.d.ts.map +1 -0
- package/dist/reliability/schemas/monday.js +52 -0
- package/dist/reliability/schemas/monday.js.map +1 -0
- package/dist/reliability/schemas/mysql.d.ts +7 -0
- package/dist/reliability/schemas/mysql.d.ts.map +1 -0
- package/dist/reliability/schemas/mysql.js +35 -0
- package/dist/reliability/schemas/mysql.js.map +1 -0
- package/dist/reliability/schemas/notion.d.ts +6 -0
- package/dist/reliability/schemas/notion.d.ts.map +1 -0
- package/dist/reliability/schemas/notion.js +63 -0
- package/dist/reliability/schemas/notion.js.map +1 -0
- package/dist/reliability/schemas/outlook.d.ts +7 -0
- package/dist/reliability/schemas/outlook.d.ts.map +1 -0
- package/dist/reliability/schemas/outlook.js +50 -0
- package/dist/reliability/schemas/outlook.js.map +1 -0
- package/dist/reliability/schemas/pagerduty.d.ts +6 -0
- package/dist/reliability/schemas/pagerduty.d.ts.map +1 -0
- package/dist/reliability/schemas/pagerduty.js +52 -0
- package/dist/reliability/schemas/pagerduty.js.map +1 -0
- package/dist/reliability/schemas/postgres.d.ts +7 -0
- package/dist/reliability/schemas/postgres.d.ts.map +1 -0
- package/dist/reliability/schemas/postgres.js +35 -0
- package/dist/reliability/schemas/postgres.js.map +1 -0
- package/dist/reliability/schemas/salesforce.d.ts +6 -0
- package/dist/reliability/schemas/salesforce.d.ts.map +1 -0
- package/dist/reliability/schemas/salesforce.js +35 -0
- package/dist/reliability/schemas/salesforce.js.map +1 -0
- package/dist/reliability/schemas/sendgrid.d.ts +7 -0
- package/dist/reliability/schemas/sendgrid.d.ts.map +1 -0
- package/dist/reliability/schemas/sendgrid.js +34 -0
- package/dist/reliability/schemas/sendgrid.js.map +1 -0
- package/dist/reliability/schemas/sentry.d.ts +6 -0
- package/dist/reliability/schemas/sentry.d.ts.map +1 -0
- package/dist/reliability/schemas/sentry.js +40 -0
- package/dist/reliability/schemas/sentry.js.map +1 -0
- package/dist/reliability/schemas/shopify.d.ts +7 -0
- package/dist/reliability/schemas/shopify.d.ts.map +1 -0
- package/dist/reliability/schemas/shopify.js +55 -0
- package/dist/reliability/schemas/shopify.js.map +1 -0
- package/dist/reliability/schemas/slack.d.ts +7 -0
- package/dist/reliability/schemas/slack.d.ts.map +1 -0
- package/dist/reliability/schemas/slack.js +66 -0
- package/dist/reliability/schemas/slack.js.map +1 -0
- package/dist/reliability/schemas/stripe.d.ts +7 -0
- package/dist/reliability/schemas/stripe.d.ts.map +1 -0
- package/dist/reliability/schemas/stripe.js +58 -0
- package/dist/reliability/schemas/stripe.js.map +1 -0
- package/dist/reliability/schemas/supabase.d.ts +7 -0
- package/dist/reliability/schemas/supabase.d.ts.map +1 -0
- package/dist/reliability/schemas/supabase.js +50 -0
- package/dist/reliability/schemas/supabase.js.map +1 -0
- package/dist/reliability/schemas/teams.d.ts +7 -0
- package/dist/reliability/schemas/teams.d.ts.map +1 -0
- package/dist/reliability/schemas/teams.js +44 -0
- package/dist/reliability/schemas/teams.js.map +1 -0
- package/dist/reliability/schemas/telegram.d.ts +7 -0
- package/dist/reliability/schemas/telegram.d.ts.map +1 -0
- package/dist/reliability/schemas/telegram.js +53 -0
- package/dist/reliability/schemas/telegram.js.map +1 -0
- package/dist/reliability/schemas/trello.d.ts +7 -0
- package/dist/reliability/schemas/trello.d.ts.map +1 -0
- package/dist/reliability/schemas/trello.js +51 -0
- package/dist/reliability/schemas/trello.js.map +1 -0
- package/dist/reliability/schemas/twilio.d.ts +7 -0
- package/dist/reliability/schemas/twilio.d.ts.map +1 -0
- package/dist/reliability/schemas/twilio.js +42 -0
- package/dist/reliability/schemas/twilio.js.map +1 -0
- package/dist/reliability/schemas/whatsapp.d.ts +7 -0
- package/dist/reliability/schemas/whatsapp.d.ts.map +1 -0
- package/dist/reliability/schemas/whatsapp.js +50 -0
- package/dist/reliability/schemas/whatsapp.js.map +1 -0
- package/dist/reliability/schemas/zendesk.d.ts +7 -0
- package/dist/reliability/schemas/zendesk.d.ts.map +1 -0
- package/dist/reliability/schemas/zendesk.js +53 -0
- package/dist/reliability/schemas/zendesk.js.map +1 -0
- package/dist/reliability/wrapper.d.ts +46 -0
- package/dist/reliability/wrapper.d.ts.map +1 -0
- package/dist/reliability/wrapper.js +174 -0
- package/dist/reliability/wrapper.js.map +1 -0
- package/dist/services/ai-browser.d.ts +112 -0
- package/dist/services/ai-browser.d.ts.map +1 -0
- package/dist/services/ai-browser.js +363 -0
- package/dist/services/ai-browser.js.map +1 -0
- package/dist/services/airtable.d.ts +3 -4
- package/dist/services/airtable.d.ts.map +1 -1
- package/dist/services/airtable.js +16 -24
- package/dist/services/airtable.js.map +1 -1
- package/dist/services/asana.d.ts +159 -0
- package/dist/services/asana.d.ts.map +1 -0
- package/dist/services/asana.js +202 -0
- package/dist/services/asana.js.map +1 -0
- package/dist/services/aws-s3.d.ts +89 -0
- package/dist/services/aws-s3.d.ts.map +1 -0
- package/dist/services/aws-s3.js +160 -0
- package/dist/services/aws-s3.js.map +1 -0
- package/dist/services/base-client.d.ts +102 -0
- package/dist/services/base-client.d.ts.map +1 -0
- package/dist/services/base-client.js +219 -0
- package/dist/services/base-client.js.map +1 -0
- package/dist/services/calendly.d.ts +158 -0
- package/dist/services/calendly.d.ts.map +1 -0
- package/dist/services/calendly.js +118 -0
- package/dist/services/calendly.js.map +1 -0
- package/dist/services/confluence.d.ts +4 -7
- package/dist/services/confluence.d.ts.map +1 -1
- package/dist/services/confluence.js +19 -28
- package/dist/services/confluence.js.map +1 -1
- package/dist/services/discord.d.ts +2 -4
- package/dist/services/discord.d.ts.map +1 -1
- package/dist/services/discord.js +17 -25
- package/dist/services/discord.js.map +1 -1
- package/dist/services/dropbox.d.ts +134 -0
- package/dist/services/dropbox.d.ts.map +1 -0
- package/dist/services/dropbox.js +196 -0
- package/dist/services/dropbox.js.map +1 -0
- package/dist/services/github.d.ts.map +1 -1
- package/dist/services/github.js +11 -5
- package/dist/services/github.js.map +1 -1
- package/dist/services/gitlab.d.ts +169 -0
- package/dist/services/gitlab.d.ts.map +1 -0
- package/dist/services/gitlab.js +164 -0
- package/dist/services/gitlab.js.map +1 -0
- package/dist/services/gmail.d.ts.map +1 -1
- package/dist/services/gmail.js +71 -4
- package/dist/services/gmail.js.map +1 -1
- package/dist/services/google-calendar.d.ts.map +1 -1
- package/dist/services/google-calendar.js +48 -4
- package/dist/services/google-calendar.js.map +1 -1
- package/dist/services/google-docs.d.ts.map +1 -1
- package/dist/services/google-docs.js +48 -4
- package/dist/services/google-docs.js.map +1 -1
- package/dist/services/google-drive.d.ts.map +1 -1
- package/dist/services/google-drive.js +48 -4
- package/dist/services/google-drive.js.map +1 -1
- package/dist/services/google-sheets.d.ts.map +1 -1
- package/dist/services/google-sheets.js +48 -4
- package/dist/services/google-sheets.js.map +1 -1
- package/dist/services/http.d.ts.map +1 -1
- package/dist/services/http.js +57 -1
- package/dist/services/http.js.map +1 -1
- package/dist/services/hubspot.d.ts +181 -0
- package/dist/services/hubspot.d.ts.map +1 -0
- package/dist/services/hubspot.js +171 -0
- package/dist/services/hubspot.js.map +1 -0
- package/dist/services/intercom.d.ts +186 -0
- package/dist/services/intercom.d.ts.map +1 -0
- package/dist/services/intercom.js +160 -0
- package/dist/services/intercom.js.map +1 -0
- package/dist/services/jira.d.ts.map +1 -1
- package/dist/services/jira.js +24 -2
- package/dist/services/jira.js.map +1 -1
- package/dist/services/linear.d.ts.map +1 -1
- package/dist/services/linear.js +10 -2
- package/dist/services/linear.js.map +1 -1
- package/dist/services/mailchimp.d.ts +169 -0
- package/dist/services/mailchimp.d.ts.map +1 -0
- package/dist/services/mailchimp.js +186 -0
- package/dist/services/mailchimp.js.map +1 -0
- package/dist/services/monday.d.ts +156 -0
- package/dist/services/monday.d.ts.map +1 -0
- package/dist/services/monday.js +256 -0
- package/dist/services/monday.js.map +1 -0
- package/dist/services/mysql.d.ts.map +1 -1
- package/dist/services/mysql.js +8 -2
- package/dist/services/mysql.js.map +1 -1
- package/dist/services/notion.d.ts +2 -3
- package/dist/services/notion.d.ts.map +1 -1
- package/dist/services/notion.js +17 -17
- package/dist/services/notion.js.map +1 -1
- package/dist/services/outlook.d.ts.map +1 -1
- package/dist/services/outlook.js +100 -6
- package/dist/services/outlook.js.map +1 -1
- package/dist/services/pagerduty.d.ts +128 -0
- package/dist/services/pagerduty.d.ts.map +1 -0
- package/dist/services/pagerduty.js +150 -0
- package/dist/services/pagerduty.js.map +1 -0
- package/dist/services/playwright.d.ts +678 -0
- package/dist/services/playwright.d.ts.map +1 -0
- package/dist/services/playwright.js +1141 -0
- package/dist/services/playwright.js.map +1 -0
- package/dist/services/postgres.d.ts.map +1 -1
- package/dist/services/postgres.js +8 -2
- package/dist/services/postgres.js.map +1 -1
- package/dist/services/salesforce.d.ts +78 -0
- package/dist/services/salesforce.d.ts.map +1 -0
- package/dist/services/salesforce.js +86 -0
- package/dist/services/salesforce.js.map +1 -0
- package/dist/services/sendgrid.d.ts +43 -0
- package/dist/services/sendgrid.d.ts.map +1 -0
- package/dist/services/sendgrid.js +93 -0
- package/dist/services/sendgrid.js.map +1 -0
- package/dist/services/sentry.d.ts +129 -0
- package/dist/services/sentry.d.ts.map +1 -0
- package/dist/services/sentry.js +111 -0
- package/dist/services/sentry.js.map +1 -0
- package/dist/services/shopify.d.ts +160 -0
- package/dist/services/shopify.d.ts.map +1 -0
- package/dist/services/shopify.js +172 -0
- package/dist/services/shopify.js.map +1 -0
- package/dist/services/slack-socket.d.ts.map +1 -1
- package/dist/services/slack-socket.js +2 -0
- package/dist/services/slack-socket.js.map +1 -1
- package/dist/services/slack.d.ts.map +1 -1
- package/dist/services/slack.js +9 -1
- package/dist/services/slack.js.map +1 -1
- package/dist/services/stripe.d.ts +275 -0
- package/dist/services/stripe.d.ts.map +1 -0
- package/dist/services/stripe.js +235 -0
- package/dist/services/stripe.js.map +1 -0
- package/dist/services/supabase.d.ts +11 -4
- package/dist/services/supabase.d.ts.map +1 -1
- package/dist/services/supabase.js +33 -22
- package/dist/services/supabase.js.map +1 -1
- package/dist/services/teams.d.ts +224 -0
- package/dist/services/teams.d.ts.map +1 -0
- package/dist/services/teams.js +265 -0
- package/dist/services/teams.js.map +1 -0
- package/dist/services/telegram.d.ts +6 -3
- package/dist/services/telegram.d.ts.map +1 -1
- package/dist/services/telegram.js +39 -34
- package/dist/services/telegram.js.map +1 -1
- package/dist/services/trello.d.ts +160 -0
- package/dist/services/trello.d.ts.map +1 -0
- package/dist/services/trello.js +200 -0
- package/dist/services/trello.js.map +1 -0
- package/dist/services/twilio.d.ts +126 -0
- package/dist/services/twilio.d.ts.map +1 -0
- package/dist/services/twilio.js +159 -0
- package/dist/services/twilio.js.map +1 -0
- package/dist/services/whatsapp.d.ts.map +1 -1
- package/dist/services/whatsapp.js +8 -2
- package/dist/services/whatsapp.js.map +1 -1
- package/dist/services/zendesk.d.ts +134 -0
- package/dist/services/zendesk.d.ts.map +1 -0
- package/dist/services/zendesk.js +154 -0
- package/dist/services/zendesk.js.map +1 -0
- package/dist/tools/script.d.ts +18 -0
- package/dist/tools/script.d.ts.map +1 -1
- package/dist/tools/script.js +116 -1
- package/dist/tools/script.js.map +1 -1
- package/package.json +35 -8
- package/dist/claude-code.d.ts +0 -16
- package/dist/claude-code.d.ts.map +0 -1
- package/dist/claude-code.js +0 -56
- package/dist/claude-code.js.map +0 -1
- package/dist/github.d.ts +0 -3
- package/dist/github.d.ts.map +0 -1
- package/dist/github.js +0 -13
- package/dist/github.js.map +0 -1
- package/dist/jira.d.ts +0 -3
- package/dist/jira.d.ts.map +0 -1
- package/dist/jira.js +0 -21
- package/dist/jira.js.map +0 -1
- package/dist/ollama.d.ts +0 -3
- package/dist/ollama.d.ts.map +0 -1
- package/dist/ollama.js +0 -9
- package/dist/ollama.js.map +0 -1
- package/dist/opencode.d.ts +0 -19
- package/dist/opencode.d.ts.map +0 -1
- package/dist/opencode.js +0 -104
- package/dist/opencode.js.map +0 -1
- package/dist/script.d.ts +0 -3
- package/dist/script.d.ts.map +0 -1
- package/dist/script.js +0 -21
- package/dist/script.js.map +0 -1
- package/dist/services/github.d.ts +0 -3
- package/dist/services/gmail-trigger.d.ts +0 -92
- package/dist/services/gmail.d.ts +0 -116
- package/dist/services/google-calendar.d.ts +0 -220
- package/dist/services/google-docs.d.ts +0 -197
- package/dist/services/google-drive.d.ts +0 -149
- package/dist/services/google-sheets.d.ts +0 -165
- package/dist/services/http.d.ts +0 -120
- package/dist/services/jira.d.ts +0 -3
- package/dist/services/linear.d.ts +0 -163
- package/dist/services/mysql.d.ts +0 -91
- package/dist/services/outlook-trigger.d.ts +0 -121
- package/dist/services/outlook.d.ts +0 -237
- package/dist/services/postgres.d.ts +0 -83
- package/dist/services/slack-socket.d.ts +0 -18
- package/dist/services/slack.d.ts +0 -3
- package/dist/services/whatsapp.d.ts +0 -311
- package/dist/slack.d.ts +0 -3
- package/dist/slack.d.ts.map +0 -1
- package/dist/slack.js +0 -11
- package/dist/slack.js.map +0 -1
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI Browser Automation Client
|
|
3
|
+
*
|
|
4
|
+
* Provides AI-powered browser automation using GitHub Copilot or Claude Code SDK
|
|
5
|
+
* as backends instead of relying on external API services.
|
|
6
|
+
*
|
|
7
|
+
* This integrates with marktoflow's existing AI adapters to provide natural language
|
|
8
|
+
* browser control without additional API costs.
|
|
9
|
+
*/
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// AI Browser Client
|
|
12
|
+
// ============================================================================
|
|
13
|
+
/**
|
|
14
|
+
* AI-powered browser automation client
|
|
15
|
+
*
|
|
16
|
+
* Uses GitHub Copilot or Claude Code SDK for AI reasoning instead of
|
|
17
|
+
* external API services like OpenAI or Anthropic.
|
|
18
|
+
*/
|
|
19
|
+
export class AIBrowserClient {
|
|
20
|
+
backend;
|
|
21
|
+
aiClient;
|
|
22
|
+
playwrightClient;
|
|
23
|
+
debug;
|
|
24
|
+
constructor(config) {
|
|
25
|
+
this.backend = config.backend;
|
|
26
|
+
this.aiClient = config.aiClient;
|
|
27
|
+
this.playwrightClient = config.playwrightClient;
|
|
28
|
+
this.debug = config.debug ?? false;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Perform an action described in natural language
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* await client.act({ action: 'Click the login button' });
|
|
35
|
+
* await client.act({ action: 'Type "john@example.com" into the email field' });
|
|
36
|
+
*/
|
|
37
|
+
async act(options) {
|
|
38
|
+
try {
|
|
39
|
+
// Get current page context
|
|
40
|
+
const pageInfo = await this.playwrightClient.pageInfo(false);
|
|
41
|
+
const prompt = this.buildActPrompt(options.action, pageInfo.url, pageInfo.title);
|
|
42
|
+
if (this.debug) {
|
|
43
|
+
console.log('[AI Browser] Act prompt:', prompt);
|
|
44
|
+
}
|
|
45
|
+
// Query AI backend
|
|
46
|
+
const response = await this.queryAI(prompt);
|
|
47
|
+
if (this.debug) {
|
|
48
|
+
console.log('[AI Browser] AI response:', response);
|
|
49
|
+
}
|
|
50
|
+
// Parse AI response
|
|
51
|
+
const parsedAction = this.parseActionResponse(response);
|
|
52
|
+
if (!parsedAction) {
|
|
53
|
+
throw new Error('Failed to parse AI response');
|
|
54
|
+
}
|
|
55
|
+
// Execute the action via Playwright
|
|
56
|
+
await this.executeAction(parsedAction);
|
|
57
|
+
return {
|
|
58
|
+
success: true,
|
|
59
|
+
message: `Executed: ${options.action}`,
|
|
60
|
+
action: options.action,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
return {
|
|
65
|
+
success: false,
|
|
66
|
+
message: error instanceof Error ? error.message : String(error),
|
|
67
|
+
action: options.action,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Observe the current page and identify available actions
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* const elements = await client.observe({ instruction: 'Find all form inputs' });
|
|
76
|
+
*/
|
|
77
|
+
async observe(options) {
|
|
78
|
+
try {
|
|
79
|
+
// Get page content
|
|
80
|
+
const pageInfo = await this.playwrightClient.pageInfo(true);
|
|
81
|
+
const prompt = this.buildObservePrompt(pageInfo.content || '', pageInfo.url, options?.instruction);
|
|
82
|
+
if (this.debug) {
|
|
83
|
+
console.log('[AI Browser] Observe prompt:', prompt.slice(0, 500) + '...');
|
|
84
|
+
}
|
|
85
|
+
const response = await this.queryAI(prompt);
|
|
86
|
+
if (this.debug) {
|
|
87
|
+
console.log('[AI Browser] AI response:', response);
|
|
88
|
+
}
|
|
89
|
+
// Parse elements from AI response
|
|
90
|
+
return this.parseObserveResponse(response);
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
console.error('[AI Browser] Observe error:', error);
|
|
94
|
+
return [];
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Extract structured data using AI
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* const data = await client.aiExtract({
|
|
102
|
+
* instruction: 'Extract all product names and prices',
|
|
103
|
+
* schema: {
|
|
104
|
+
* type: 'object',
|
|
105
|
+
* properties: {
|
|
106
|
+
* products: {
|
|
107
|
+
* type: 'array',
|
|
108
|
+
* items: {
|
|
109
|
+
* type: 'object',
|
|
110
|
+
* properties: {
|
|
111
|
+
* name: { type: 'string' },
|
|
112
|
+
* price: { type: 'number' }
|
|
113
|
+
* }
|
|
114
|
+
* }
|
|
115
|
+
* }
|
|
116
|
+
* }
|
|
117
|
+
* }
|
|
118
|
+
* });
|
|
119
|
+
*/
|
|
120
|
+
async aiExtract(options) {
|
|
121
|
+
try {
|
|
122
|
+
// Get page content
|
|
123
|
+
const pageInfo = await this.playwrightClient.pageInfo(true);
|
|
124
|
+
const prompt = this.buildExtractPrompt(pageInfo.content || '', pageInfo.url, options.instruction, options.schema);
|
|
125
|
+
if (this.debug) {
|
|
126
|
+
console.log('[AI Browser] Extract prompt:', prompt.slice(0, 500) + '...');
|
|
127
|
+
}
|
|
128
|
+
const response = await this.queryAI(prompt);
|
|
129
|
+
if (this.debug) {
|
|
130
|
+
console.log('[AI Browser] AI response:', response);
|
|
131
|
+
}
|
|
132
|
+
// Parse extracted data
|
|
133
|
+
const data = this.parseExtractResponse(response);
|
|
134
|
+
return { data };
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
throw new Error(`AI extraction failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// ============================================================================
|
|
141
|
+
// Private Methods - AI Communication
|
|
142
|
+
// ============================================================================
|
|
143
|
+
async queryAI(prompt) {
|
|
144
|
+
if (this.backend === 'copilot') {
|
|
145
|
+
const client = this.aiClient;
|
|
146
|
+
return await client.send({ prompt });
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
const client = this.aiClient;
|
|
150
|
+
return await client.generate({ prompt });
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
// ============================================================================
|
|
154
|
+
// Private Methods - Prompt Building
|
|
155
|
+
// ============================================================================
|
|
156
|
+
buildActPrompt(action, url, title) {
|
|
157
|
+
return `You are an AI browser automation assistant. Convert natural language actions to Playwright commands.
|
|
158
|
+
|
|
159
|
+
Current Page:
|
|
160
|
+
- URL: ${url}
|
|
161
|
+
- Title: ${title}
|
|
162
|
+
|
|
163
|
+
User Action: "${action}"
|
|
164
|
+
|
|
165
|
+
Available Playwright Actions:
|
|
166
|
+
- navigate: { url, waitUntil? }
|
|
167
|
+
- click: { selector, button?, force? }
|
|
168
|
+
- type: { selector, text, delay?, clear? }
|
|
169
|
+
- fill: { selector, value }
|
|
170
|
+
- select: { selector, values }
|
|
171
|
+
- check: { selector }
|
|
172
|
+
- uncheck: { selector }
|
|
173
|
+
- hover: { selector }
|
|
174
|
+
- press: { selector, key }
|
|
175
|
+
- wait: { selector?, url?, loadState?, timeout? }
|
|
176
|
+
|
|
177
|
+
IMPORTANT:
|
|
178
|
+
1. Return ONLY valid JSON in this exact format:
|
|
179
|
+
{ "action": "click", "inputs": { "selector": "#button" } }
|
|
180
|
+
2. Choose the most appropriate selector (id, class, text, or CSS selector)
|
|
181
|
+
3. For typing text, use "fill" for instant input or "type" for keyboard simulation
|
|
182
|
+
4. For navigation, use "navigate"
|
|
183
|
+
5. NO explanatory text, ONLY the JSON object
|
|
184
|
+
|
|
185
|
+
Example Responses:
|
|
186
|
+
- "Click the login button" -> { "action": "click", "inputs": { "selector": "button:has-text('Login')" } }
|
|
187
|
+
- "Type email@example.com in the email field" -> { "action": "fill", "inputs": { "selector": "input[type='email']", "value": "email@example.com" } }
|
|
188
|
+
- "Select 'United States' from country dropdown" -> { "action": "select", "inputs": { "selector": "#country", "values": "United States" } }
|
|
189
|
+
|
|
190
|
+
Now convert this action to JSON:
|
|
191
|
+
"${action}"
|
|
192
|
+
|
|
193
|
+
JSON:`;
|
|
194
|
+
}
|
|
195
|
+
buildObservePrompt(htmlContent, url, instruction) {
|
|
196
|
+
// Limit HTML content to avoid token limits
|
|
197
|
+
const maxLength = 15000;
|
|
198
|
+
const truncatedHtml = htmlContent.length > maxLength
|
|
199
|
+
? htmlContent.slice(0, maxLength) + '\n... (truncated)'
|
|
200
|
+
: htmlContent;
|
|
201
|
+
return `You are analyzing a web page to identify interactive elements.
|
|
202
|
+
|
|
203
|
+
Current Page URL: ${url}
|
|
204
|
+
|
|
205
|
+
${instruction ? `Focus: ${instruction}\n` : ''}
|
|
206
|
+
HTML Content:
|
|
207
|
+
${truncatedHtml}
|
|
208
|
+
|
|
209
|
+
Analyze the page and identify interactive elements (buttons, links, inputs, forms, etc.).
|
|
210
|
+
|
|
211
|
+
Return a JSON array of elements in this exact format:
|
|
212
|
+
[
|
|
213
|
+
{
|
|
214
|
+
"selector": "CSS selector for the element",
|
|
215
|
+
"description": "What this element does",
|
|
216
|
+
"tagName": "HTML tag name",
|
|
217
|
+
"text": "visible text if any",
|
|
218
|
+
"actions": ["click", "fill", "select", etc.]
|
|
219
|
+
}
|
|
220
|
+
]
|
|
221
|
+
|
|
222
|
+
IMPORTANT:
|
|
223
|
+
1. Return ONLY valid JSON array, no explanatory text
|
|
224
|
+
2. Provide actionable CSS selectors (id, class, or text-based)
|
|
225
|
+
3. Include only interactive elements that can be automated
|
|
226
|
+
4. Limit to the 10 most important elements
|
|
227
|
+
5. For forms, identify input fields, buttons, and selects
|
|
228
|
+
|
|
229
|
+
JSON Array:`;
|
|
230
|
+
}
|
|
231
|
+
buildExtractPrompt(htmlContent, url, instruction, schema) {
|
|
232
|
+
const maxLength = 15000;
|
|
233
|
+
const truncatedHtml = htmlContent.length > maxLength
|
|
234
|
+
? htmlContent.slice(0, maxLength) + '\n... (truncated)'
|
|
235
|
+
: htmlContent;
|
|
236
|
+
return `You are extracting structured data from a web page.
|
|
237
|
+
|
|
238
|
+
Current Page URL: ${url}
|
|
239
|
+
|
|
240
|
+
Extraction Task: ${instruction}
|
|
241
|
+
|
|
242
|
+
${schema ? `Expected JSON Schema:\n${JSON.stringify(schema, null, 2)}\n` : ''}
|
|
243
|
+
HTML Content:
|
|
244
|
+
${truncatedHtml}
|
|
245
|
+
|
|
246
|
+
Extract the requested data and return it as valid JSON.
|
|
247
|
+
|
|
248
|
+
IMPORTANT:
|
|
249
|
+
1. Return ONLY valid JSON, no explanatory text
|
|
250
|
+
2. Follow the provided schema if given
|
|
251
|
+
3. Extract accurate data from the HTML
|
|
252
|
+
4. Use null for missing values
|
|
253
|
+
5. Ensure all property names match the schema
|
|
254
|
+
|
|
255
|
+
JSON:`;
|
|
256
|
+
}
|
|
257
|
+
// ============================================================================
|
|
258
|
+
// Private Methods - Response Parsing
|
|
259
|
+
// ============================================================================
|
|
260
|
+
parseActionResponse(response) {
|
|
261
|
+
try {
|
|
262
|
+
// Extract JSON from response (handle markdown code blocks)
|
|
263
|
+
const jsonMatch = response.match(/\{[\s\S]*\}/);
|
|
264
|
+
if (!jsonMatch) {
|
|
265
|
+
console.error('[AI Browser] No JSON found in response:', response);
|
|
266
|
+
return null;
|
|
267
|
+
}
|
|
268
|
+
const parsed = JSON.parse(jsonMatch[0]);
|
|
269
|
+
if (!parsed.action || !parsed.inputs) {
|
|
270
|
+
console.error('[AI Browser] Invalid action format:', parsed);
|
|
271
|
+
return null;
|
|
272
|
+
}
|
|
273
|
+
return parsed;
|
|
274
|
+
}
|
|
275
|
+
catch (error) {
|
|
276
|
+
console.error('[AI Browser] Failed to parse action:', error, response);
|
|
277
|
+
return null;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
parseObserveResponse(response) {
|
|
281
|
+
try {
|
|
282
|
+
// Extract JSON array from response
|
|
283
|
+
const jsonMatch = response.match(/\[[\s\S]*\]/);
|
|
284
|
+
if (!jsonMatch) {
|
|
285
|
+
console.error('[AI Browser] No JSON array found in response');
|
|
286
|
+
return [];
|
|
287
|
+
}
|
|
288
|
+
const parsed = JSON.parse(jsonMatch[0]);
|
|
289
|
+
if (!Array.isArray(parsed)) {
|
|
290
|
+
console.error('[AI Browser] Response is not an array');
|
|
291
|
+
return [];
|
|
292
|
+
}
|
|
293
|
+
return parsed;
|
|
294
|
+
}
|
|
295
|
+
catch (error) {
|
|
296
|
+
console.error('[AI Browser] Failed to parse observe response:', error);
|
|
297
|
+
return [];
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
parseExtractResponse(response) {
|
|
301
|
+
try {
|
|
302
|
+
// Extract JSON from response
|
|
303
|
+
const jsonMatch = response.match(/\{[\s\S]*\}|\[[\s\S]*\]/);
|
|
304
|
+
if (!jsonMatch) {
|
|
305
|
+
throw new Error('No JSON found in AI response');
|
|
306
|
+
}
|
|
307
|
+
return JSON.parse(jsonMatch[0]);
|
|
308
|
+
}
|
|
309
|
+
catch (error) {
|
|
310
|
+
throw new Error(`Failed to parse extraction response: ${error instanceof Error ? error.message : String(error)}`);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
// ============================================================================
|
|
314
|
+
// Private Methods - Action Execution
|
|
315
|
+
// ============================================================================
|
|
316
|
+
async executeAction(action) {
|
|
317
|
+
const { action: actionName, inputs } = action;
|
|
318
|
+
// Map action names to Playwright client methods
|
|
319
|
+
switch (actionName) {
|
|
320
|
+
case 'navigate':
|
|
321
|
+
await this.playwrightClient.navigate(inputs);
|
|
322
|
+
break;
|
|
323
|
+
case 'click':
|
|
324
|
+
await this.playwrightClient.click(inputs);
|
|
325
|
+
break;
|
|
326
|
+
case 'type':
|
|
327
|
+
await this.playwrightClient.type(inputs);
|
|
328
|
+
break;
|
|
329
|
+
case 'fill':
|
|
330
|
+
await this.playwrightClient.fill(inputs);
|
|
331
|
+
break;
|
|
332
|
+
case 'select':
|
|
333
|
+
await this.playwrightClient.select(inputs);
|
|
334
|
+
break;
|
|
335
|
+
case 'check': {
|
|
336
|
+
const checkInputs = inputs;
|
|
337
|
+
await this.playwrightClient.check(checkInputs.selector);
|
|
338
|
+
break;
|
|
339
|
+
}
|
|
340
|
+
case 'uncheck': {
|
|
341
|
+
const uncheckInputs = inputs;
|
|
342
|
+
await this.playwrightClient.uncheck(uncheckInputs.selector);
|
|
343
|
+
break;
|
|
344
|
+
}
|
|
345
|
+
case 'hover': {
|
|
346
|
+
const hoverInputs = inputs;
|
|
347
|
+
await this.playwrightClient.hover(hoverInputs.selector);
|
|
348
|
+
break;
|
|
349
|
+
}
|
|
350
|
+
case 'press': {
|
|
351
|
+
const pressInputs = inputs;
|
|
352
|
+
await this.playwrightClient.press(pressInputs.selector, pressInputs.key);
|
|
353
|
+
break;
|
|
354
|
+
}
|
|
355
|
+
case 'wait':
|
|
356
|
+
await this.playwrightClient.wait(inputs);
|
|
357
|
+
break;
|
|
358
|
+
default:
|
|
359
|
+
throw new Error(`Unsupported action: ${actionName}`);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
//# sourceMappingURL=ai-browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-browser.js","sourceRoot":"","sources":["../../src/services/ai-browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* API Docs: https://airtable.com/developers/web/api/introduction
|
|
6
6
|
*/
|
|
7
7
|
import { SDKInitializer } from '@marktoflow/core';
|
|
8
|
+
import { BaseApiClient } from './base-client.js';
|
|
8
9
|
export interface AirtableRecord<T = Record<string, unknown>> {
|
|
9
10
|
id: string;
|
|
10
11
|
createdTime: string;
|
|
@@ -63,11 +64,9 @@ export interface ListRecordsResult<T = Record<string, unknown>> {
|
|
|
63
64
|
/**
|
|
64
65
|
* Airtable API client for workflow integration
|
|
65
66
|
*/
|
|
66
|
-
export declare class AirtableClient {
|
|
67
|
-
private token;
|
|
67
|
+
export declare class AirtableClient extends BaseApiClient {
|
|
68
68
|
private baseId?;
|
|
69
|
-
constructor(token: string, baseId?: string
|
|
70
|
-
private request;
|
|
69
|
+
constructor(token: string, baseId?: string);
|
|
71
70
|
/**
|
|
72
71
|
* Set the default base ID
|
|
73
72
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"airtable.d.ts","sourceRoot":"","sources":["../../src/services/airtable.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAc,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"airtable.d.ts","sourceRoot":"","sources":["../../src/services/airtable.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,35 +4,22 @@
|
|
|
4
4
|
* Flexible database/spreadsheet platform.
|
|
5
5
|
* API Docs: https://airtable.com/developers/web/api/introduction
|
|
6
6
|
*/
|
|
7
|
+
import { BaseApiClient } from './base-client.js';
|
|
8
|
+
import { wrapIntegration } from '../reliability/wrapper.js';
|
|
7
9
|
const AIRTABLE_API_URL = 'https://api.airtable.com/v0';
|
|
8
10
|
/**
|
|
9
11
|
* Airtable API client for workflow integration
|
|
10
12
|
*/
|
|
11
|
-
export class AirtableClient {
|
|
12
|
-
token;
|
|
13
|
+
export class AirtableClient extends BaseApiClient {
|
|
13
14
|
baseId;
|
|
14
15
|
constructor(token, baseId) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
method,
|
|
21
|
-
headers: {
|
|
22
|
-
Authorization: `Bearer ${this.token}`,
|
|
23
|
-
'Content-Type': 'application/json',
|
|
24
|
-
},
|
|
25
|
-
body: body ? JSON.stringify(body) : undefined,
|
|
16
|
+
super({
|
|
17
|
+
baseUrl: AIRTABLE_API_URL,
|
|
18
|
+
authType: 'bearer',
|
|
19
|
+
authValue: token,
|
|
20
|
+
serviceName: 'Airtable',
|
|
26
21
|
});
|
|
27
|
-
|
|
28
|
-
const error = await response.text();
|
|
29
|
-
throw new Error(`Airtable API error: ${response.status} ${error}`);
|
|
30
|
-
}
|
|
31
|
-
// Handle 204 No Content
|
|
32
|
-
if (response.status === 204) {
|
|
33
|
-
return undefined;
|
|
34
|
-
}
|
|
35
|
-
return (await response.json());
|
|
22
|
+
this.baseId = baseId;
|
|
36
23
|
}
|
|
37
24
|
/**
|
|
38
25
|
* Set the default base ID
|
|
@@ -286,9 +273,14 @@ export const AirtableInitializer = {
|
|
|
286
273
|
throw new Error('Airtable SDK requires auth.token (personal access token)');
|
|
287
274
|
}
|
|
288
275
|
const client = new AirtableClient(token, baseId);
|
|
276
|
+
const wrapped = wrapIntegration('airtable', client, {
|
|
277
|
+
timeout: 30000,
|
|
278
|
+
retryOn: [429, 500, 502, 503],
|
|
279
|
+
maxRetries: 3,
|
|
280
|
+
});
|
|
289
281
|
return {
|
|
290
|
-
client,
|
|
291
|
-
actions:
|
|
282
|
+
client: wrapped,
|
|
283
|
+
actions: wrapped,
|
|
292
284
|
};
|
|
293
285
|
},
|
|
294
286
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"airtable.js","sourceRoot":"","sources":["../../src/services/airtable.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"airtable.js","sourceRoot":"","sources":["../../src/services/airtable.ts"],"names":[],"mappings":"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"}
|