@elevasis/core 0.1.0
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/dist/index.d.ts +435 -0
- package/dist/index.js +403 -0
- package/dist/organization-model/index.d.ts +435 -0
- package/dist/organization-model/index.js +403 -0
- package/package.json +62 -0
- package/src/README.md +34 -0
- package/src/__tests__/observability-exports.test.ts +36 -0
- package/src/__tests__/publish.test.ts +18 -0
- package/src/__tests__/template-foundations-compatibility.test.ts +34 -0
- package/src/auth/index.ts +8 -0
- package/src/auth/multi-tenancy/credentials/README.md +38 -0
- package/src/auth/multi-tenancy/credentials/__tests__/encryption.test.ts +216 -0
- package/src/auth/multi-tenancy/credentials/__tests__/service.test.ts +174 -0
- package/src/auth/multi-tenancy/credentials/index.ts +6 -0
- package/src/auth/multi-tenancy/credentials/server/encryption.ts +39 -0
- package/src/auth/multi-tenancy/credentials/server/service.ts +60 -0
- package/src/auth/multi-tenancy/index.ts +17 -0
- package/src/auth/multi-tenancy/invitations/__tests__/invitation.test.ts +237 -0
- package/src/auth/multi-tenancy/invitations/api-schemas.ts +107 -0
- package/src/auth/multi-tenancy/invitations/index.ts +38 -0
- package/src/auth/multi-tenancy/invitations/invitation.ts +86 -0
- package/src/auth/multi-tenancy/invitations/server/index.ts +25 -0
- package/src/auth/multi-tenancy/invitations/server/transforms.ts +24 -0
- package/src/auth/multi-tenancy/invitations/server/workos.ts +24 -0
- package/src/auth/multi-tenancy/invitations/supabase.ts +50 -0
- package/src/auth/multi-tenancy/memberships/__tests__/membership.test.ts +227 -0
- package/src/auth/multi-tenancy/memberships/__tests__/supabase-transforms.test.ts +88 -0
- package/src/auth/multi-tenancy/memberships/__tests__/workos-transforms.test.ts +139 -0
- package/src/auth/multi-tenancy/memberships/api-schemas.ts +126 -0
- package/src/auth/multi-tenancy/memberships/index.ts +22 -0
- package/src/auth/multi-tenancy/memberships/membership.ts +138 -0
- package/src/auth/multi-tenancy/memberships/server/index.ts +15 -0
- package/src/auth/multi-tenancy/memberships/server/transforms.ts +32 -0
- package/src/auth/multi-tenancy/memberships/server/workos.ts +21 -0
- package/src/auth/multi-tenancy/memberships/supabase.ts +46 -0
- package/src/auth/multi-tenancy/organizations/__tests__/organization.test.ts +249 -0
- package/src/auth/multi-tenancy/organizations/api-schemas.ts +128 -0
- package/src/auth/multi-tenancy/organizations/index.ts +23 -0
- package/src/auth/multi-tenancy/organizations/organization.ts +25 -0
- package/src/auth/multi-tenancy/organizations/server/index.ts +10 -0
- package/src/auth/multi-tenancy/organizations/server/transforms.ts +35 -0
- package/src/auth/multi-tenancy/organizations/server/workos.ts +20 -0
- package/src/auth/multi-tenancy/types.ts +89 -0
- package/src/auth/multi-tenancy/users/__tests__/user.test.ts +208 -0
- package/src/auth/multi-tenancy/users/api-schemas.ts +194 -0
- package/src/auth/multi-tenancy/users/index.ts +28 -0
- package/src/auth/multi-tenancy/users/server/index.ts +19 -0
- package/src/auth/multi-tenancy/users/server/transforms.ts +21 -0
- package/src/auth/multi-tenancy/users/server/workos.ts +16 -0
- package/src/auth/multi-tenancy/users/user.ts +65 -0
- package/src/business/acquisition/api-schemas.ts +759 -0
- package/src/business/acquisition/index.ts +109 -0
- package/src/business/acquisition/types.ts +400 -0
- package/src/business/crm/api-schemas.ts +75 -0
- package/src/business/delivery/index.ts +1 -0
- package/src/business/delivery/types.ts +89 -0
- package/src/business/index.ts +12 -0
- package/src/business/pdf/assets/ElevasisLogo.png +0 -0
- package/src/business/pdf/browser/image-utils.ts +74 -0
- package/src/business/pdf/browser/index.ts +16 -0
- package/src/business/pdf/browser/pdfmake-browser.ts +229 -0
- package/src/business/pdf/index.ts +10 -0
- package/src/business/pdf/sections/acceptance.ts +112 -0
- package/src/business/pdf/sections/automation.ts +56 -0
- package/src/business/pdf/sections/cover.ts +51 -0
- package/src/business/pdf/sections/index.ts +57 -0
- package/src/business/pdf/sections/investment.ts +69 -0
- package/src/business/pdf/sections/proposal-document.ts +200 -0
- package/src/business/pdf/sections/summary-investment.ts +124 -0
- package/src/business/pdf/sections/summary.ts +55 -0
- package/src/business/pdf/sections/table-summary.ts +59 -0
- package/src/business/pdf/sections/types.ts +124 -0
- package/src/business/pdf/server/__tests__/pdfmake-test.ts +219 -0
- package/src/business/pdf/server/index.ts +21 -0
- package/src/business/pdf/server/pdfmake-service.ts +237 -0
- package/src/business/pdf/server/themes/default.ts +8 -0
- package/src/business/pdf/server/themes/index.ts +9 -0
- package/src/business/pdf/server/themes/types.ts +8 -0
- package/src/business/pdf/shared/convert.ts +514 -0
- package/src/business/pdf/shared/index.ts +12 -0
- package/src/business/pdf/themes.ts +78 -0
- package/src/business/pdf/types.ts +272 -0
- package/src/business/seo/__tests__/linking.test.ts +549 -0
- package/src/business/seo/__tests__/types.test.ts +404 -0
- package/src/business/seo/index.ts +2 -0
- package/src/business/seo/linking.ts +281 -0
- package/src/business/seo/types.ts +199 -0
- package/src/commands/index.ts +8 -0
- package/src/commands/queue/index.ts +3 -0
- package/src/commands/queue/schemas.test.ts +593 -0
- package/src/commands/queue/schemas.ts +125 -0
- package/src/commands/queue/sse-events.ts +61 -0
- package/src/commands/queue/types/action.ts +52 -0
- package/src/commands/queue/types/checkpoint.ts +44 -0
- package/src/commands/queue/types/index.ts +7 -0
- package/src/commands/queue/types/task.ts +116 -0
- package/src/commands/queue/types.ts +14 -0
- package/src/content/distribution-metadata.ts +61 -0
- package/src/content/index.ts +10 -0
- package/src/deployments/index.ts +22 -0
- package/src/execution/calibration/__tests__/schemas.test.ts +320 -0
- package/src/execution/calibration/index.ts +3 -0
- package/src/execution/calibration/schemas.ts +121 -0
- package/src/execution/calibration/sse-events.ts +125 -0
- package/src/execution/calibration/types.ts +190 -0
- package/src/execution/core/__tests__/api-schemas.test.ts +667 -0
- package/src/execution/core/__tests__/archived-logs.test.ts +72 -0
- package/src/execution/core/api-schemas.ts +312 -0
- package/src/execution/core/index.ts +11 -0
- package/src/execution/core/resource-validator.test.ts +63 -0
- package/src/execution/core/runner-types.ts +80 -0
- package/src/execution/core/server/environment.ts +31 -0
- package/src/execution/core/sse-executions.ts +119 -0
- package/src/execution/core/types.ts +29 -0
- package/src/execution/engine/__tests__/fixtures/index.ts +2 -0
- package/src/execution/engine/__tests__/fixtures/mock-scenarios.ts +60 -0
- package/src/execution/engine/__tests__/fixtures/test-agents.ts +85 -0
- package/src/execution/engine/__tests__/integration/agent-framework.integration.test.ts +1031 -0
- package/src/execution/engine/__tests__/timeout.test.ts +565 -0
- package/src/execution/engine/agent/__tests__/errors.test.ts +508 -0
- package/src/execution/engine/agent/actions/__tests__/processor.test.ts +531 -0
- package/src/execution/engine/agent/actions/executor.ts +205 -0
- package/src/execution/engine/agent/actions/navigate-knowledge-executor.ts +230 -0
- package/src/execution/engine/agent/actions/processor.ts +116 -0
- package/src/execution/engine/agent/actions/types.ts +70 -0
- package/src/execution/engine/agent/core/__tests__/agent.test.ts +614 -0
- package/src/execution/engine/agent/core/__tests__/error-passthrough.test.ts +134 -0
- package/src/execution/engine/agent/core/agent.ts +810 -0
- package/src/execution/engine/agent/core/types.ts +155 -0
- package/src/execution/engine/agent/errors.ts +251 -0
- package/src/execution/engine/agent/index.ts +78 -0
- package/src/execution/engine/agent/knowledge-map/__tests__/navigate-knowledge-executor.test.ts +580 -0
- package/src/execution/engine/agent/knowledge-map/__tests__/utils.test.ts +622 -0
- package/src/execution/engine/agent/knowledge-map/types.ts +106 -0
- package/src/execution/engine/agent/knowledge-map/utils.ts +101 -0
- package/src/execution/engine/agent/memory/__tests__/domains.test.ts +72 -0
- package/src/execution/engine/agent/memory/__tests__/manager.test.ts +754 -0
- package/src/execution/engine/agent/memory/__tests__/utils.test.ts +285 -0
- package/src/execution/engine/agent/memory/domains.ts +99 -0
- package/src/execution/engine/agent/memory/manager.ts +365 -0
- package/src/execution/engine/agent/memory/processor.ts +66 -0
- package/src/execution/engine/agent/memory/types.ts +90 -0
- package/src/execution/engine/agent/memory/utils.ts +134 -0
- package/src/execution/engine/agent/observability/logging.ts +467 -0
- package/src/execution/engine/agent/observability/types.ts +64 -0
- package/src/execution/engine/agent/reasoning/__tests__/request-builder.test.ts +209 -0
- package/src/execution/engine/agent/reasoning/adapters/agent-adapter-helpers.ts +349 -0
- package/src/execution/engine/agent/reasoning/processor.ts +92 -0
- package/src/execution/engine/agent/reasoning/prompt-sections/base-actions.ts +134 -0
- package/src/execution/engine/agent/reasoning/prompt-sections/completion.ts +49 -0
- package/src/execution/engine/agent/reasoning/prompt-sections/knowledge-map.ts +93 -0
- package/src/execution/engine/agent/reasoning/prompt-sections/memory.ts +65 -0
- package/src/execution/engine/agent/reasoning/prompt-sections/security.ts +32 -0
- package/src/execution/engine/agent/reasoning/prompt-sections/tools.ts +44 -0
- package/src/execution/engine/agent/reasoning/request-builder.ts +169 -0
- package/src/execution/engine/agent/reasoning/types.ts +18 -0
- package/src/execution/engine/base/__tests__/errors.test.ts +246 -0
- package/src/execution/engine/base/__tests__/serialization.test.ts +670 -0
- package/src/execution/engine/base/__tests__/utils.test.ts +45 -0
- package/src/execution/engine/base/errors.ts +118 -0
- package/src/execution/engine/base/index.ts +2 -0
- package/src/execution/engine/base/logging.ts +31 -0
- package/src/execution/engine/base/serialization.ts +324 -0
- package/src/execution/engine/base/types.ts +126 -0
- package/src/execution/engine/base/utils.ts +41 -0
- package/src/execution/engine/index.ts +440 -0
- package/src/execution/engine/interface/index.ts +1 -0
- package/src/execution/engine/interface/types.ts +62 -0
- package/src/execution/engine/llm/__tests__/errors.test.ts +318 -0
- package/src/execution/engine/llm/__tests__/input-sanitizer.test.ts +286 -0
- package/src/execution/engine/llm/__tests__/model-info.test.ts +50 -0
- package/src/execution/engine/llm/__tests__/model-validation.test.ts +321 -0
- package/src/execution/engine/llm/__tests__/response-schema-validator.test.ts +115 -0
- package/src/execution/engine/llm/adapters/__tests__/adapter-factory.test.ts +375 -0
- package/src/execution/engine/llm/adapters/__tests__/anthropic-adapter.test.ts +463 -0
- package/src/execution/engine/llm/adapters/__tests__/anthropic.integration.test.ts +177 -0
- package/src/execution/engine/llm/adapters/__tests__/circuit-breaker-error.test.ts +94 -0
- package/src/execution/engine/llm/adapters/__tests__/google-adapter.test.ts +722 -0
- package/src/execution/engine/llm/adapters/__tests__/google.integration.test.ts +376 -0
- package/src/execution/engine/llm/adapters/__tests__/mock-adapter.test.ts +432 -0
- package/src/execution/engine/llm/adapters/__tests__/openai-adapter.test.ts +551 -0
- package/src/execution/engine/llm/adapters/__tests__/openrouter-adapter.test.ts +563 -0
- package/src/execution/engine/llm/adapters/__tests__/openrouter.integration.test.ts +105 -0
- package/src/execution/engine/llm/adapters/__tests__/universal-adapter.test.ts +537 -0
- package/src/execution/engine/llm/adapters/circuit-breaker.ts +147 -0
- package/src/execution/engine/llm/adapters/index.ts +17 -0
- package/src/execution/engine/llm/adapters/mock-adapter.ts +116 -0
- package/src/execution/engine/llm/adapters/server/adapter-factory.ts +130 -0
- package/src/execution/engine/llm/adapters/server/anthropic.ts +137 -0
- package/src/execution/engine/llm/adapters/server/compose-signal.ts +18 -0
- package/src/execution/engine/llm/adapters/server/google.ts +283 -0
- package/src/execution/engine/llm/adapters/server/index.ts +12 -0
- package/src/execution/engine/llm/adapters/server/openai.ts +206 -0
- package/src/execution/engine/llm/adapters/server/openrouter.ts +235 -0
- package/src/execution/engine/llm/adapters/universal-adapter.ts +230 -0
- package/src/execution/engine/llm/errors.ts +186 -0
- package/src/execution/engine/llm/input-sanitizer.ts +129 -0
- package/src/execution/engine/llm/model-info.ts +332 -0
- package/src/execution/engine/llm/response-schema-validator.ts +113 -0
- package/src/execution/engine/llm/types.ts +86 -0
- package/src/execution/engine/test-utils/index.ts +6 -0
- package/src/execution/engine/test-utils/mocks.ts +56 -0
- package/src/execution/engine/tools/__tests__/tooling-error.test.ts +265 -0
- package/src/execution/engine/tools/__tests__/types.test.ts +47 -0
- package/src/execution/engine/tools/integration/base-integration-adapter.ts +50 -0
- package/src/execution/engine/tools/integration/index.ts +53 -0
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/anymailfinder-adapter.ts +73 -0
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/anymailfinder-tools.ts +209 -0
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/find-company-email/index.ts +82 -0
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/find-decision-maker-email/index.ts +122 -0
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/find-person-email/index.ts +89 -0
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/verify-email/index.ts +84 -0
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/index.ts +16 -0
- package/src/execution/engine/tools/integration/server/adapters/apify/__tests__/apify-run-actor.integration.test.ts +293 -0
- package/src/execution/engine/tools/integration/server/adapters/apify/apify-adapter.ts +100 -0
- package/src/execution/engine/tools/integration/server/adapters/apify/apify-tools.ts +217 -0
- package/src/execution/engine/tools/integration/server/adapters/apify/fetch/get-dataset-items/index.ts +92 -0
- package/src/execution/engine/tools/integration/server/adapters/apify/fetch/run-actor/index.ts +218 -0
- package/src/execution/engine/tools/integration/server/adapters/apify/fetch/start-actor/index.ts +87 -0
- package/src/execution/engine/tools/integration/server/adapters/apify/index.ts +11 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/__tests__/attio-crud.integration.test.ts +362 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/attio-adapter.ts +162 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/attio-tools.ts +594 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/README.md +632 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/create-attribute/index.ts +214 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/create-note/index.ts +152 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/create-record/index.ts +141 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/delete-note/index.ts +86 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/delete-record/index.ts +105 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/get-record/index.test.ts +186 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/get-record/index.ts +118 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-attributes/index.ts +165 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-notes/index.ts +96 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-objects/index.ts +104 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-records/index.test.ts +338 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-records/index.ts +156 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/update-attribute/index.ts +220 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/update-record/index.ts +140 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/utils/types.ts +147 -0
- package/src/execution/engine/tools/integration/server/adapters/attio/index.ts +31 -0
- package/src/execution/engine/tools/integration/server/adapters/dropbox/__tests__/dropbox-adapter.test.ts +409 -0
- package/src/execution/engine/tools/integration/server/adapters/dropbox/dropbox-adapter.ts +281 -0
- package/src/execution/engine/tools/integration/server/adapters/dropbox/dropbox-tools.ts +106 -0
- package/src/execution/engine/tools/integration/server/adapters/dropbox/fetch/create-folder/__tests__/index.test.ts +451 -0
- package/src/execution/engine/tools/integration/server/adapters/dropbox/fetch/create-folder/index.ts +114 -0
- package/src/execution/engine/tools/integration/server/adapters/dropbox/fetch/upload-file/__tests__/index.test.ts +415 -0
- package/src/execution/engine/tools/integration/server/adapters/dropbox/fetch/upload-file/index.ts +111 -0
- package/src/execution/engine/tools/integration/server/adapters/dropbox/index.ts +25 -0
- package/src/execution/engine/tools/integration/server/adapters/gmail/gmail-adapter.ts +210 -0
- package/src/execution/engine/tools/integration/server/adapters/gmail/gmail-tools.ts +104 -0
- package/src/execution/engine/tools/integration/server/adapters/google-sheets/__tests__/google-sheets.integration.test.ts +261 -0
- package/src/execution/engine/tools/integration/server/adapters/google-sheets/google-sheets-adapter.ts +1189 -0
- package/src/execution/engine/tools/integration/server/adapters/google-sheets/google-sheets-tools.ts +641 -0
- package/src/execution/engine/tools/integration/server/adapters/google-sheets/index.ts +18 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/activate-campaign/index.ts +86 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/add-to-campaign/__tests__/index.test.ts +289 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/add-to-campaign/index.ts +154 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/bulk-add-leads/__tests__/index.test.ts +325 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/bulk-add-leads/index.ts +153 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/bulk-delete-leads/index.ts +84 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/create-campaign/index.ts +125 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/create-inbox-test/index.ts +107 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/delete-campaign/index.ts +85 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-account-health/index.ts +91 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-campaign/index.ts +92 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-campaign-analytics/__tests__/index.test.ts +195 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-campaign-analytics/index.ts +113 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-daily-campaign-analytics/index.ts +104 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-emails/index.ts +155 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-step-analytics/__tests__/index.test.ts +196 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-step-analytics/index.ts +102 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/list-campaigns/__tests__/index.test.ts +189 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/list-campaigns/index.ts +87 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/list-leads/index.ts +112 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/patch-lead/index.ts +76 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/pause-campaign/index.ts +86 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/remove-from-subsequence/index.ts +98 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/send-reply/index.ts +126 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-campaign/__tests__/index.test.ts +193 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-campaign/index.ts +99 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-interest-status/__tests__/index.test.ts +621 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-interest-status/index.ts +125 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/index.ts +29 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/instantly-adapter.ts +178 -0
- package/src/execution/engine/tools/integration/server/adapters/instantly/instantly-tools.ts +1473 -0
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/fetch/check-credits/index.ts +59 -0
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/fetch/verify-email/index.ts +102 -0
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/index.ts +17 -0
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/millionverifier-adapter.ts +80 -0
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/millionverifier-tools.ts +102 -0
- package/src/execution/engine/tools/integration/server/adapters/resend/fetch/get-email/index.ts +102 -0
- package/src/execution/engine/tools/integration/server/adapters/resend/fetch/send-email/index.ts +134 -0
- package/src/execution/engine/tools/integration/server/adapters/resend/fetch/utils/types.ts +75 -0
- package/src/execution/engine/tools/integration/server/adapters/resend/index.ts +27 -0
- package/src/execution/engine/tools/integration/server/adapters/resend/resend-adapter.ts +108 -0
- package/src/execution/engine/tools/integration/server/adapters/resend/resend-tools.ts +132 -0
- package/src/execution/engine/tools/integration/server/adapters/resend/types.ts +44 -0
- package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/create-envelope/index.ts +274 -0
- package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/download-document/index.ts +230 -0
- package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/get-envelope/index.ts +133 -0
- package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/utils/types.ts +246 -0
- package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/void-envelope/index.ts +90 -0
- package/src/execution/engine/tools/integration/server/adapters/signature-api/index.ts +38 -0
- package/src/execution/engine/tools/integration/server/adapters/signature-api/signature-api-adapter.ts +87 -0
- package/src/execution/engine/tools/integration/server/adapters/signature-api/signature-api-tools.ts +179 -0
- package/src/execution/engine/tools/integration/server/adapters/stripe/fetch/utils/types.ts +210 -0
- package/src/execution/engine/tools/integration/server/adapters/stripe/index.ts +44 -0
- package/src/execution/engine/tools/integration/server/adapters/stripe/stripe-adapter.ts +517 -0
- package/src/execution/engine/tools/integration/server/adapters/stripe/stripe-tools.ts +309 -0
- package/src/execution/engine/tools/integration/server/adapters/tomba/fetch/domain-search/index.ts +133 -0
- package/src/execution/engine/tools/integration/server/adapters/tomba/fetch/email-finder/index.ts +122 -0
- package/src/execution/engine/tools/integration/server/adapters/tomba/fetch/email-verifier/index.ts +111 -0
- package/src/execution/engine/tools/integration/server/adapters/tomba/index.ts +11 -0
- package/src/execution/engine/tools/integration/server/adapters/tomba/tomba-adapter.ts +78 -0
- package/src/execution/engine/tools/integration/server/adapters/tomba/tomba-tools.ts +222 -0
- package/src/execution/engine/tools/integration/server/index.ts +61 -0
- package/src/execution/engine/tools/integration/service.ts +161 -0
- package/src/execution/engine/tools/integration/tool.ts +253 -0
- package/src/execution/engine/tools/integration/types/anymailfinder.ts +74 -0
- package/src/execution/engine/tools/integration/types/apify.ts +92 -0
- package/src/execution/engine/tools/integration/types/attio.ts +354 -0
- package/src/execution/engine/tools/integration/types/dropbox.ts +64 -0
- package/src/execution/engine/tools/integration/types/gmail.ts +35 -0
- package/src/execution/engine/tools/integration/types/google-sheets.ts +303 -0
- package/src/execution/engine/tools/integration/types/index.ts +19 -0
- package/src/execution/engine/tools/integration/types/instantly.ts +557 -0
- package/src/execution/engine/tools/integration/types/millionverifier.ts +56 -0
- package/src/execution/engine/tools/integration/types/resend.ts +63 -0
- package/src/execution/engine/tools/integration/types/signature-api.ts +164 -0
- package/src/execution/engine/tools/integration/types/stripe.ts +162 -0
- package/src/execution/engine/tools/integration/types/tomba.ts +94 -0
- package/src/execution/engine/tools/lead-service-types.ts +884 -0
- package/src/execution/engine/tools/llm/index.ts +11 -0
- package/src/execution/engine/tools/llm/server/index.ts +8 -0
- package/src/execution/engine/tools/llm/server/llm-call-tool.ts +118 -0
- package/src/execution/engine/tools/platform/__tests__/approval.test.ts +242 -0
- package/src/execution/engine/tools/platform/__tests__/email.test.ts +482 -0
- package/src/execution/engine/tools/platform/__tests__/hitl-cancel.test.ts +97 -0
- package/src/execution/engine/tools/platform/__tests__/notification.test.ts +208 -0
- package/src/execution/engine/tools/platform/__tests__/pdf.test.ts +441 -0
- package/src/execution/engine/tools/platform/__tests__/scheduler.test.ts +189 -0
- package/src/execution/engine/tools/platform/__tests__/schedules.test.ts +336 -0
- package/src/execution/engine/tools/platform/acquisition/company-tools.ts +248 -0
- package/src/execution/engine/tools/platform/acquisition/contact-tools.ts +319 -0
- package/src/execution/engine/tools/platform/acquisition/index.ts +43 -0
- package/src/execution/engine/tools/platform/acquisition/list-tools.ts +148 -0
- package/src/execution/engine/tools/platform/acquisition/types.ts +260 -0
- package/src/execution/engine/tools/platform/approval/cancel-by-metadata.ts +65 -0
- package/src/execution/engine/tools/platform/approval/index.ts +4 -0
- package/src/execution/engine/tools/platform/approval/tool.ts +99 -0
- package/src/execution/engine/tools/platform/email/index.ts +122 -0
- package/src/execution/engine/tools/platform/email/types.ts +96 -0
- package/src/execution/engine/tools/platform/index.ts +181 -0
- package/src/execution/engine/tools/platform/notification.ts +81 -0
- package/src/execution/engine/tools/platform/pdf/index.ts +110 -0
- package/src/execution/engine/tools/platform/pdf/types.ts +77 -0
- package/src/execution/engine/tools/platform/resource-invocation/__tests__/edge-cases.test.ts +507 -0
- package/src/execution/engine/tools/platform/resource-invocation/__tests__/resource-invocation-service.test.ts +500 -0
- package/src/execution/engine/tools/platform/resource-invocation/__tests__/tool.test.ts +555 -0
- package/src/execution/engine/tools/platform/resource-invocation/dynamic-tool.ts +94 -0
- package/src/execution/engine/tools/platform/resource-invocation/index.ts +14 -0
- package/src/execution/engine/tools/platform/resource-invocation/resource-invocation-service.ts +147 -0
- package/src/execution/engine/tools/platform/resource-invocation/tool.ts +115 -0
- package/src/execution/engine/tools/platform/resource-invocation/types.ts +31 -0
- package/src/execution/engine/tools/platform/scheduler.ts +87 -0
- package/src/execution/engine/tools/platform/schedules/cancel-by-key-tool.ts +48 -0
- package/src/execution/engine/tools/platform/schedules/cancel-by-metadata-tool.ts +42 -0
- package/src/execution/engine/tools/platform/schedules/delete-by-key-tool.ts +43 -0
- package/src/execution/engine/tools/platform/schedules/index.ts +13 -0
- package/src/execution/engine/tools/platform/schedules/list-tool.ts +56 -0
- package/src/execution/engine/tools/platform/schedules/types.ts +88 -0
- package/src/execution/engine/tools/platform/storage/__tests__/storage.test.ts +998 -0
- package/src/execution/engine/tools/platform/storage/index.ts +370 -0
- package/src/execution/engine/tools/platform/storage/types.ts +128 -0
- package/src/execution/engine/tools/platform/types.ts +148 -0
- package/src/execution/engine/tools/registry.ts +590 -0
- package/src/execution/engine/tools/tool-maps.ts +694 -0
- package/src/execution/engine/tools/types.ts +233 -0
- package/src/execution/engine/workflow/__tests__/errors.test.ts +139 -0
- package/src/execution/engine/workflow/__tests__/utils.test.ts +645 -0
- package/src/execution/engine/workflow/__tests__/workflow.test.ts +818 -0
- package/src/execution/engine/workflow/errors.ts +63 -0
- package/src/execution/engine/workflow/helpers/index.ts +11 -0
- package/src/execution/engine/workflow/helpers/server/index.ts +8 -0
- package/src/execution/engine/workflow/helpers/server/llm-call.ts +93 -0
- package/src/execution/engine/workflow/index.ts +19 -0
- package/src/execution/engine/workflow/log-truncate.ts +26 -0
- package/src/execution/engine/workflow/logging.ts +191 -0
- package/src/execution/engine/workflow/types.ts +183 -0
- package/src/execution/engine/workflow/utils.ts +280 -0
- package/src/execution/engine/workflow/workflow.ts +168 -0
- package/src/execution/index.ts +20 -0
- package/src/execution/scheduler/__tests__/api-schemas.test.ts +733 -0
- package/src/execution/scheduler/__tests__/retry.test.ts +37 -0
- package/src/execution/scheduler/__tests__/utils.test.ts +1009 -0
- package/src/execution/scheduler/api-schemas.ts +296 -0
- package/src/execution/scheduler/index.ts +50 -0
- package/src/execution/scheduler/schemas.ts +264 -0
- package/src/execution/scheduler/types.ts +111 -0
- package/src/execution/scheduler/utils.ts +364 -0
- package/src/forms/index.ts +7 -0
- package/src/forms/schemas.test.ts +113 -0
- package/src/forms/schemas.ts +69 -0
- package/src/forms/types.ts +70 -0
- package/src/index.ts +54 -0
- package/src/integrations/credentials/__tests__/api-schemas.test.ts +496 -0
- package/src/integrations/credentials/__tests__/schemas.test.ts +82 -0
- package/src/integrations/credentials/__tests__/utils.test.ts +144 -0
- package/src/integrations/credentials/api-schemas.ts +143 -0
- package/src/integrations/credentials/index.ts +32 -0
- package/src/integrations/credentials/schemas.ts +164 -0
- package/src/integrations/credentials/utils.ts +59 -0
- package/src/integrations/oauth/__tests__/provider-registry.test.ts +59 -0
- package/src/integrations/oauth/api-schemas.ts +92 -0
- package/src/integrations/oauth/index.ts +19 -0
- package/src/integrations/oauth/provider-registry.ts +61 -0
- package/src/integrations/oauth/server/__tests__/refresh-concurrent.test.ts +183 -0
- package/src/integrations/oauth/server/__tests__/refresh.integration.test.ts +257 -0
- package/src/integrations/oauth/server/__tests__/refresh.test.ts +577 -0
- package/src/integrations/oauth/server/credentials.ts +39 -0
- package/src/integrations/oauth/server/refresh.ts +214 -0
- package/src/integrations/oauth/types.ts +34 -0
- package/src/integrations/webhook-endpoints/__tests__/api-schemas.test.ts +318 -0
- package/src/integrations/webhook-endpoints/api-schemas.ts +102 -0
- package/src/integrations/webhook-endpoints/index.ts +28 -0
- package/src/integrations/webhook-endpoints/types.ts +51 -0
- package/src/operations/activities/api-schemas.ts +79 -0
- package/src/operations/activities/index.ts +9 -0
- package/src/operations/activities/sse-events.ts +30 -0
- package/src/operations/activities/types.ts +63 -0
- package/src/operations/debug-logs/client.ts +60 -0
- package/src/operations/debug-logs/debug-logger.ts +83 -0
- package/src/operations/debug-logs/index.ts +8 -0
- package/src/operations/debug-logs/server.ts +19 -0
- package/src/operations/debug-logs/types.ts +33 -0
- package/src/operations/index.ts +50 -0
- package/src/operations/notifications/__tests__/api-schemas.test.ts +216 -0
- package/src/operations/notifications/api-schemas.ts +91 -0
- package/src/operations/notifications/index.ts +3 -0
- package/src/operations/notifications/sse-events.ts +21 -0
- package/src/operations/notifications/types.ts +47 -0
- package/src/operations/observability/__tests__/openrouter-cost-flow.test.ts +297 -0
- package/src/operations/observability/__tests__/schemas.test.ts +151 -0
- package/src/operations/observability/__tests__/types.test.ts +109 -0
- package/src/operations/observability/__tests__/utils.test.ts +54 -0
- package/src/operations/observability/ai-usage-collector.ts +64 -0
- package/src/operations/observability/index.ts +13 -0
- package/src/operations/observability/metrics-collector.ts +49 -0
- package/src/operations/observability/schemas.ts +39 -0
- package/src/operations/observability/types.ts +463 -0
- package/src/operations/observability/utils.ts +77 -0
- package/src/operations/sessions/__tests__/api-schemas.test.ts +361 -0
- package/src/operations/sessions/__tests__/manager.test.ts +821 -0
- package/src/operations/sessions/api-schemas.ts +166 -0
- package/src/operations/sessions/index.ts +26 -0
- package/src/operations/sessions/server/manager.ts +90 -0
- package/src/operations/sessions/server/session.ts +180 -0
- package/src/operations/sessions/types.ts +98 -0
- package/src/operations/triggers/index.ts +12 -0
- package/src/operations/triggers/webhook/definitions/__tests__/instantly-reply-received.test.ts +72 -0
- package/src/operations/triggers/webhook/definitions/instantly-account-error.ts +44 -0
- package/src/operations/triggers/webhook/definitions/instantly-auto-reply-received.ts +51 -0
- package/src/operations/triggers/webhook/definitions/instantly-campaign-completed.ts +45 -0
- package/src/operations/triggers/webhook/definitions/instantly-email-bounced.ts +49 -0
- package/src/operations/triggers/webhook/definitions/instantly-lead-unsubscribed.ts +45 -0
- package/src/operations/triggers/webhook/definitions/instantly-reply-received.ts +54 -0
- package/src/operations/triggers/webhook/index.ts +35 -0
- package/src/operations/triggers/webhook/types.ts +74 -0
- package/src/organization-model/README.md +79 -0
- package/src/organization-model/__tests__/graph.test.ts +250 -0
- package/src/organization-model/__tests__/resolve.test.ts +47 -0
- package/src/organization-model/defaults.ts +60 -0
- package/src/organization-model/domains/branding.ts +22 -0
- package/src/organization-model/domains/crm.ts +46 -0
- package/src/organization-model/domains/delivery.ts +48 -0
- package/src/organization-model/domains/features.ts +57 -0
- package/src/organization-model/domains/lead-gen.ts +33 -0
- package/src/organization-model/domains/navigation.ts +103 -0
- package/src/organization-model/domains/shared.ts +42 -0
- package/src/organization-model/graph/build.ts +432 -0
- package/src/organization-model/graph/index.ts +4 -0
- package/src/organization-model/graph/schema.ts +50 -0
- package/src/organization-model/graph/types.ts +52 -0
- package/src/organization-model/index.ts +11 -0
- package/src/organization-model/published.ts +18 -0
- package/src/organization-model/resolve.ts +42 -0
- package/src/organization-model/schema.ts +21 -0
- package/src/organization-model/types.ts +27 -0
- package/src/platform/api/index.ts +1 -0
- package/src/platform/api/types.ts +35 -0
- package/src/platform/constants/http.ts +37 -0
- package/src/platform/constants/index.ts +5 -0
- package/src/platform/constants/limits.ts +32 -0
- package/src/platform/constants/resilience.ts +51 -0
- package/src/platform/constants/timeouts.ts +20 -0
- package/src/platform/constants/versions.ts +3 -0
- package/src/platform/index.ts +27 -0
- package/src/platform/registry/__tests__/command-view.test.ts +410 -0
- package/src/platform/registry/__tests__/resource-registry-static.test.ts +347 -0
- package/src/platform/registry/__tests__/resource-registry.integration.test.ts +1004 -0
- package/src/platform/registry/__tests__/resource-registry.list-executable.test.ts +393 -0
- package/src/platform/registry/__tests__/resource-registry.test.ts +1942 -0
- package/src/platform/registry/__tests__/serialization.test.ts +1127 -0
- package/src/platform/registry/__tests__/validation.test.ts +1086 -0
- package/src/platform/registry/command-view.ts +180 -0
- package/src/platform/registry/domains.ts +165 -0
- package/src/platform/registry/index.ts +93 -0
- package/src/platform/registry/reserved.ts +24 -0
- package/src/platform/registry/resource-metadata.ts +59 -0
- package/src/platform/registry/resource-registry.command-queue-groups.test.ts +129 -0
- package/src/platform/registry/resource-registry.ts +788 -0
- package/src/platform/registry/serialization.ts +273 -0
- package/src/platform/registry/serialized-types.ts +231 -0
- package/src/platform/registry/stats-types.ts +66 -0
- package/src/platform/registry/types.ts +404 -0
- package/src/platform/registry/validation.ts +513 -0
- package/src/platform/resilience/__tests__/circuit-breaker.test.ts +291 -0
- package/src/platform/resilience/__tests__/http-error-mapper.test.ts +173 -0
- package/src/platform/resilience/__tests__/rate-limiter.test.ts +471 -0
- package/src/platform/resilience/__tests__/retry.test.ts +380 -0
- package/src/platform/resilience/__tests__/timeout.test.ts +219 -0
- package/src/platform/resilience/circuit-breaker.ts +164 -0
- package/src/platform/resilience/errors.ts +68 -0
- package/src/platform/resilience/http-error-mapper.ts +129 -0
- package/src/platform/resilience/index.ts +93 -0
- package/src/platform/resilience/rate-limiter-types.ts +46 -0
- package/src/platform/resilience/rate-limiter.ts +140 -0
- package/src/platform/resilience/retry.ts +89 -0
- package/src/platform/resilience/timeout.ts +63 -0
- package/src/platform/sse/events.ts +67 -0
- package/src/platform/sse/index.ts +7 -0
- package/src/platform/utils/__tests__/currency.test.ts +77 -0
- package/src/platform/utils/__tests__/validation.test.ts +1083 -0
- package/src/platform/utils/currency.ts +96 -0
- package/src/platform/utils/debounce.ts +52 -0
- package/src/platform/utils/error.ts +42 -0
- package/src/platform/utils/hmac.test.ts +97 -0
- package/src/platform/utils/index.ts +32 -0
- package/src/platform/utils/server/betterstack-logger.ts +210 -0
- package/src/platform/utils/server/hmac.ts +44 -0
- package/src/platform/utils/server/unsubscribe.ts +111 -0
- package/src/platform/utils/token-counter.ts +96 -0
- package/src/platform/utils/validation.ts +425 -0
- package/src/projects/api-schemas.ts +265 -0
- package/src/published.ts +1 -0
- package/src/server.ts +273 -0
- package/src/supabase/__tests__/helpers.test.ts +51 -0
- package/src/supabase/database.types.ts +2674 -0
- package/src/supabase/helpers.ts +20 -0
- package/src/supabase/index.ts +52 -0
- package/src/supabase/server/client.ts +58 -0
- package/src/test-utils/README.md +150 -0
- package/src/test-utils/browser-mocks.ts +54 -0
- package/src/test-utils/fixtures/api-keys.ts +52 -0
- package/src/test-utils/fixtures/index.ts +4 -0
- package/src/test-utils/fixtures/memberships.ts +80 -0
- package/src/test-utils/fixtures/organizations.ts +69 -0
- package/src/test-utils/fixtures/users.ts +79 -0
- package/src/test-utils/index.ts +11 -0
- package/src/test-utils/mocks/index.ts +2 -0
- package/src/test-utils/mocks/supabase.ts +142 -0
- package/src/test-utils/mocks/workos.ts +108 -0
- package/src/test-utils/rls/RLSTestContext.ts +586 -0
- package/src/test-utils/rls/index.ts +1 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SignatureAPI Integration - Barrel Export
|
|
3
|
+
*
|
|
4
|
+
* Exports SignatureAPI adapter, tool factory functions, and types.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// ============================================================================
|
|
8
|
+
// SIGNATURE API ADAPTER
|
|
9
|
+
// ============================================================================
|
|
10
|
+
|
|
11
|
+
export { SignatureApiAdapter } from './signature-api-adapter'
|
|
12
|
+
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// SIGNATURE API TOOLS
|
|
15
|
+
// ============================================================================
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
createSignatureApiCreateEnvelopeTool,
|
|
19
|
+
createSignatureApiVoidEnvelopeTool,
|
|
20
|
+
createSignatureApiDownloadDocumentTool
|
|
21
|
+
} from './signature-api-tools'
|
|
22
|
+
|
|
23
|
+
// ============================================================================
|
|
24
|
+
// SIGNATURE API TYPES
|
|
25
|
+
// ============================================================================
|
|
26
|
+
|
|
27
|
+
export type {
|
|
28
|
+
SignatureApiCredentials,
|
|
29
|
+
CreateEnvelopeParams,
|
|
30
|
+
CreateEnvelopeResult,
|
|
31
|
+
VoidEnvelopeParams,
|
|
32
|
+
VoidEnvelopeResult,
|
|
33
|
+
DownloadDocumentParams,
|
|
34
|
+
DownloadDocumentResult,
|
|
35
|
+
EnvelopeDocument,
|
|
36
|
+
Recipient,
|
|
37
|
+
SigningPlace
|
|
38
|
+
} from './fetch/utils/types'
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { BaseIntegrationAdapter } from '../../../base-integration-adapter'
|
|
2
|
+
import { ToolingError } from '../../../../types'
|
|
3
|
+
import type { ExecutionContext } from '../../../../../base/types'
|
|
4
|
+
import { createEnvelope } from './fetch/create-envelope'
|
|
5
|
+
import { voidEnvelope } from './fetch/void-envelope'
|
|
6
|
+
import { downloadDocument } from './fetch/download-document'
|
|
7
|
+
import { getEnvelope } from './fetch/get-envelope'
|
|
8
|
+
import type {
|
|
9
|
+
SignatureApiCredentials,
|
|
10
|
+
CreateEnvelopeParams,
|
|
11
|
+
VoidEnvelopeParams,
|
|
12
|
+
DownloadDocumentParams,
|
|
13
|
+
GetEnvelopeParams
|
|
14
|
+
} from './fetch/utils/types'
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* SignatureAPI integration adapter
|
|
18
|
+
*
|
|
19
|
+
* Provides access to SignatureAPI for electronic signatures.
|
|
20
|
+
* Uses raw fetch (no official SDK) with platform retry/error patterns.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const adapter = new SignatureApiAdapter()
|
|
25
|
+
* const result = await adapter.call(
|
|
26
|
+
* 'createEnvelope',
|
|
27
|
+
* { title: 'Contract', documents: [...], recipients: [...] },
|
|
28
|
+
* { apiKey: 'key_test_xxx' },
|
|
29
|
+
* context
|
|
30
|
+
* )
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export class SignatureApiAdapter implements BaseIntegrationAdapter {
|
|
34
|
+
readonly name = 'signature-api'
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Call SignatureAPI method
|
|
38
|
+
*/
|
|
39
|
+
async call(
|
|
40
|
+
method: string,
|
|
41
|
+
params: unknown,
|
|
42
|
+
credentials: Record<string, unknown>,
|
|
43
|
+
context?: ExecutionContext
|
|
44
|
+
): Promise<unknown> {
|
|
45
|
+
// Validate credentials first
|
|
46
|
+
if (!this.validateCredentials(credentials)) {
|
|
47
|
+
throw new ToolingError('credentials_invalid', 'Invalid SignatureAPI credentials', {
|
|
48
|
+
integration: this.name,
|
|
49
|
+
organizationId: context?.organizationId
|
|
50
|
+
})
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Safe to cast after validation confirms apiKey exists and is valid
|
|
54
|
+
const creds = credentials as unknown as SignatureApiCredentials
|
|
55
|
+
|
|
56
|
+
// Route to method handler - delegate to fetch functions
|
|
57
|
+
switch (method) {
|
|
58
|
+
case 'createEnvelope':
|
|
59
|
+
return createEnvelope(creds, params as CreateEnvelopeParams, context)
|
|
60
|
+
case 'voidEnvelope':
|
|
61
|
+
return voidEnvelope(creds, params as VoidEnvelopeParams, context)
|
|
62
|
+
case 'downloadDocument':
|
|
63
|
+
return downloadDocument(creds, params as DownloadDocumentParams, context)
|
|
64
|
+
case 'getEnvelope':
|
|
65
|
+
return getEnvelope(creds, params as GetEnvelopeParams, context)
|
|
66
|
+
default:
|
|
67
|
+
throw new ToolingError('method_not_found', `Unknown SignatureAPI method: ${method}`, {
|
|
68
|
+
integration: this.name,
|
|
69
|
+
method,
|
|
70
|
+
organizationId: context?.organizationId
|
|
71
|
+
})
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Validate SignatureAPI credentials
|
|
77
|
+
*/
|
|
78
|
+
validateCredentials(credentials: Record<string, unknown>): boolean {
|
|
79
|
+
const creds = credentials as unknown as SignatureApiCredentials
|
|
80
|
+
// API key should start with 'key_'
|
|
81
|
+
return (
|
|
82
|
+
!!creds.apiKey &&
|
|
83
|
+
typeof creds.apiKey === 'string' &&
|
|
84
|
+
creds.apiKey.startsWith('key_')
|
|
85
|
+
)
|
|
86
|
+
}
|
|
87
|
+
}
|
package/src/execution/engine/tools/integration/server/adapters/signature-api/signature-api-tools.ts
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
import type { Tool } from '../../../../types'
|
|
3
|
+
import { createIntegrationTool } from '../../../tool'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Create a tool that creates SignatureAPI envelopes for electronic signatures
|
|
7
|
+
*
|
|
8
|
+
* @param credentialName - Name of the SignatureAPI credential to use
|
|
9
|
+
* @returns Tool instance
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const tool = createSignatureApiCreateEnvelopeTool('signatureapi-prod')
|
|
14
|
+
* const result = await tool.execute({
|
|
15
|
+
* input: {
|
|
16
|
+
* title: 'Elevasis Proposal - Acme Corp',
|
|
17
|
+
* documents: [{ name: 'proposal.pdf', url: 'https://...', places: [...] }],
|
|
18
|
+
* recipients: [{ key: 'signer1', type: 'signer', name: 'John', email: 'john@acme.com' }]
|
|
19
|
+
* },
|
|
20
|
+
* executionContext: context
|
|
21
|
+
* })
|
|
22
|
+
* // result: { id: 'env_xxx', status: 'processing', signingUrl: 'https://...' }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export function createSignatureApiCreateEnvelopeTool(credentialName: string): Tool {
|
|
26
|
+
return createIntegrationTool({
|
|
27
|
+
name: 'signatureapi_create_envelope',
|
|
28
|
+
description: `Create a SignatureAPI envelope for electronic signatures.
|
|
29
|
+
|
|
30
|
+
Use this tool to send documents for signing. An envelope is a container
|
|
31
|
+
that holds documents and manages the signing process.
|
|
32
|
+
|
|
33
|
+
Examples:
|
|
34
|
+
- Create proposal envelope: title, documents with PDF URLs, recipients with signers
|
|
35
|
+
- Include signature fields: specify page, x, y positions for signature placement
|
|
36
|
+
- Use 'date' for auto-populated signing date (maps to recipient_completed_date)
|
|
37
|
+
|
|
38
|
+
The envelope will be sent to recipients via email with a signing link.`,
|
|
39
|
+
inputSchema: z.object({
|
|
40
|
+
title: z.string().describe('Envelope title (shown in emails)'),
|
|
41
|
+
message: z.string().optional().describe('Custom message for recipient emails'),
|
|
42
|
+
documents: z
|
|
43
|
+
.array(
|
|
44
|
+
z.object({
|
|
45
|
+
name: z.string().describe('Document filename'),
|
|
46
|
+
url: z.string().url().describe('Publicly accessible URL to PDF document'),
|
|
47
|
+
places: z
|
|
48
|
+
.array(
|
|
49
|
+
z.object({
|
|
50
|
+
recipientKey: z.string().describe('Links to recipient key'),
|
|
51
|
+
type: z.enum(['signature', 'date', 'text', 'initials']).describe('Field type (date maps to recipient_completed_date)'),
|
|
52
|
+
page: z.number().describe('Page number (1-indexed, -1 for last)'),
|
|
53
|
+
x: z.number().describe('X position in points'),
|
|
54
|
+
y: z.number().describe('Y position in points'),
|
|
55
|
+
width: z.number().optional(),
|
|
56
|
+
height: z.number().optional()
|
|
57
|
+
})
|
|
58
|
+
)
|
|
59
|
+
.optional()
|
|
60
|
+
.describe('Signature field placements')
|
|
61
|
+
})
|
|
62
|
+
)
|
|
63
|
+
.describe('Documents to sign'),
|
|
64
|
+
recipients: z
|
|
65
|
+
.array(
|
|
66
|
+
z.object({
|
|
67
|
+
key: z.string().describe('Unique identifier for this recipient'),
|
|
68
|
+
type: z.enum(['signer', 'viewer', 'approver']),
|
|
69
|
+
name: z.string().describe('Recipient full name'),
|
|
70
|
+
email: z.string().email().describe('Recipient email'),
|
|
71
|
+
language: z.string().optional().describe('Language code (en, es, fr)')
|
|
72
|
+
})
|
|
73
|
+
)
|
|
74
|
+
.describe('Recipients/signers'),
|
|
75
|
+
metadata: z.record(z.string(), z.string()).optional().describe('Custom metadata (e.g., deal_id)'),
|
|
76
|
+
webhookUrl: z.string().url().optional().describe('Override default webhook URL'),
|
|
77
|
+
routing: z.enum(['parallel', 'sequential']).optional().describe('How to route to multiple recipients')
|
|
78
|
+
}),
|
|
79
|
+
outputSchema: z.object({
|
|
80
|
+
id: z.string().describe('Envelope ID (env_xxx)'),
|
|
81
|
+
status: z.string().describe('Envelope status'),
|
|
82
|
+
signingUrl: z.string().optional().describe('URL for first signer')
|
|
83
|
+
}),
|
|
84
|
+
integration: 'signature-api' as const,
|
|
85
|
+
method: 'createEnvelope' as const,
|
|
86
|
+
credentialName
|
|
87
|
+
})
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Create a tool that voids/cancels SignatureAPI envelopes
|
|
92
|
+
*
|
|
93
|
+
* @param credentialName - Name of the SignatureAPI credential to use
|
|
94
|
+
* @returns Tool instance
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```typescript
|
|
98
|
+
* const tool = createSignatureApiVoidEnvelopeTool('signatureapi-prod')
|
|
99
|
+
* const result = await tool.execute({
|
|
100
|
+
* input: {
|
|
101
|
+
* envelopeId: 'env_xxx',
|
|
102
|
+
* reason: 'Revision requested by recipient'
|
|
103
|
+
* },
|
|
104
|
+
* executionContext: context
|
|
105
|
+
* })
|
|
106
|
+
* // result: { id: 'env_xxx', status: 'voided' }
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
export function createSignatureApiVoidEnvelopeTool(credentialName: string): Tool {
|
|
110
|
+
return createIntegrationTool({
|
|
111
|
+
name: 'signatureapi_void_envelope',
|
|
112
|
+
description: `Void/cancel a pending SignatureAPI envelope.
|
|
113
|
+
|
|
114
|
+
Use this tool to cancel an envelope that hasn't been completed yet.
|
|
115
|
+
Voided envelopes cannot be signed.
|
|
116
|
+
|
|
117
|
+
Common reasons:
|
|
118
|
+
- Revision requested by recipient
|
|
119
|
+
- Error in document content
|
|
120
|
+
- Deal cancelled`,
|
|
121
|
+
inputSchema: z.object({
|
|
122
|
+
envelopeId: z.string().describe('Envelope ID to void (env_xxx)'),
|
|
123
|
+
reason: z.string().optional().describe('Reason for voiding')
|
|
124
|
+
}),
|
|
125
|
+
outputSchema: z.object({
|
|
126
|
+
id: z.string().describe('Envelope ID'),
|
|
127
|
+
status: z.literal('voided').describe('Status after voiding')
|
|
128
|
+
}),
|
|
129
|
+
integration: 'signature-api' as const,
|
|
130
|
+
method: 'voidEnvelope' as const,
|
|
131
|
+
credentialName
|
|
132
|
+
})
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Create a tool that downloads signed documents from SignatureAPI
|
|
137
|
+
*
|
|
138
|
+
* @param credentialName - Name of the SignatureAPI credential to use
|
|
139
|
+
* @returns Tool instance
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```typescript
|
|
143
|
+
* const tool = createSignatureApiDownloadDocumentTool('signatureapi-prod')
|
|
144
|
+
* const result = await tool.execute({
|
|
145
|
+
* input: {
|
|
146
|
+
* envelopeId: 'env_xxx',
|
|
147
|
+
* documentType: 'combined'
|
|
148
|
+
* },
|
|
149
|
+
* executionContext: context
|
|
150
|
+
* })
|
|
151
|
+
* // result: { content: Buffer, contentType: 'application/pdf', filename: 'env_xxx-signed.pdf' }
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
export function createSignatureApiDownloadDocumentTool(credentialName: string): Tool {
|
|
155
|
+
return createIntegrationTool({
|
|
156
|
+
name: 'signatureapi_download_document',
|
|
157
|
+
description: `Download signed document from a completed envelope.
|
|
158
|
+
|
|
159
|
+
Use this tool to retrieve the signed PDF after all recipients have signed.
|
|
160
|
+
The combined document includes all documents and an audit trail.
|
|
161
|
+
|
|
162
|
+
Document types:
|
|
163
|
+
- combined: All documents merged with audit trail (default)
|
|
164
|
+
- original: Original unsigned documents
|
|
165
|
+
- audit: Audit trail only`,
|
|
166
|
+
inputSchema: z.object({
|
|
167
|
+
envelopeId: z.string().describe('Envelope ID (env_xxx)'),
|
|
168
|
+
documentType: z.enum(['combined', 'original', 'audit']).optional().describe('Type of document to download')
|
|
169
|
+
}),
|
|
170
|
+
outputSchema: z.object({
|
|
171
|
+
content: z.instanceof(Buffer).describe('PDF content as Buffer'),
|
|
172
|
+
contentType: z.string().describe('MIME type'),
|
|
173
|
+
filename: z.string().describe('Suggested filename')
|
|
174
|
+
}),
|
|
175
|
+
integration: 'signature-api' as const,
|
|
176
|
+
method: 'downloadDocument' as const,
|
|
177
|
+
credentialName
|
|
178
|
+
})
|
|
179
|
+
}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stripe API Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for Stripe Payment Links operations.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Stripe credentials format
|
|
9
|
+
* Stored in credentials table, encrypted
|
|
10
|
+
*/
|
|
11
|
+
export interface StripeCredentials {
|
|
12
|
+
apiKey: string // sk_live_xxx or sk_test_xxx
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Create payment link parameters
|
|
17
|
+
*/
|
|
18
|
+
export interface CreatePaymentLinkParams {
|
|
19
|
+
priceId: string // Stripe price ID (price_xxx)
|
|
20
|
+
quantity?: number // Default: 1
|
|
21
|
+
metadata?: Record<string, string> // Custom metadata
|
|
22
|
+
afterCompletionType?: 'redirect' | 'hosted_confirmation' // What to show after payment
|
|
23
|
+
redirectUrl?: string // Required if afterCompletionType is 'redirect'
|
|
24
|
+
allowPromotionCodes?: boolean // Allow promo codes at checkout
|
|
25
|
+
automaticTax?: boolean // Enable automatic tax calculation
|
|
26
|
+
billingAddressCollection?: 'auto' | 'required' // Billing address requirement
|
|
27
|
+
invoiceCreation?: boolean // Generate invoice for payment
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Create payment link result
|
|
32
|
+
*/
|
|
33
|
+
export interface CreatePaymentLinkResult {
|
|
34
|
+
id: string // plink_xxx
|
|
35
|
+
url: string // https://checkout.stripe.com/...
|
|
36
|
+
active: boolean
|
|
37
|
+
livemode: boolean
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Get payment link parameters
|
|
42
|
+
*/
|
|
43
|
+
export interface GetPaymentLinkParams {
|
|
44
|
+
paymentLinkId: string // Payment link ID to retrieve
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Get payment link result
|
|
49
|
+
*/
|
|
50
|
+
export interface GetPaymentLinkResult {
|
|
51
|
+
id: string
|
|
52
|
+
url: string
|
|
53
|
+
active: boolean
|
|
54
|
+
livemode: boolean
|
|
55
|
+
metadata: Record<string, string>
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Update payment link parameters
|
|
60
|
+
*/
|
|
61
|
+
export interface UpdatePaymentLinkParams {
|
|
62
|
+
paymentLinkId: string // Payment link ID to update
|
|
63
|
+
active?: boolean // Enable or disable the link
|
|
64
|
+
metadata?: Record<string, string> // Update metadata
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Update payment link result
|
|
69
|
+
*/
|
|
70
|
+
export interface UpdatePaymentLinkResult {
|
|
71
|
+
id: string
|
|
72
|
+
active: boolean
|
|
73
|
+
url: string
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* List payment links parameters
|
|
78
|
+
*/
|
|
79
|
+
export interface ListPaymentLinksParams {
|
|
80
|
+
active?: boolean // Filter by active status
|
|
81
|
+
limit?: number // Default: 10, max: 100
|
|
82
|
+
startingAfter?: string // Cursor for pagination (payment link ID)
|
|
83
|
+
endingBefore?: string // Cursor for pagination (payment link ID)
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* List payment links result
|
|
88
|
+
*/
|
|
89
|
+
export interface ListPaymentLinksResult {
|
|
90
|
+
data: Array<{
|
|
91
|
+
id: string
|
|
92
|
+
url: string
|
|
93
|
+
active: boolean
|
|
94
|
+
metadata: Record<string, string>
|
|
95
|
+
}>
|
|
96
|
+
hasMore: boolean
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Stripe API response for create payment link
|
|
101
|
+
*/
|
|
102
|
+
export interface StripeCreatePaymentLinkResponse {
|
|
103
|
+
id: string
|
|
104
|
+
url: string
|
|
105
|
+
active: boolean
|
|
106
|
+
livemode: boolean
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Stripe API response for get payment link
|
|
111
|
+
*/
|
|
112
|
+
export interface StripeGetPaymentLinkResponse {
|
|
113
|
+
id: string
|
|
114
|
+
url: string
|
|
115
|
+
active: boolean
|
|
116
|
+
livemode: boolean
|
|
117
|
+
metadata: Record<string, string>
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Stripe API response for list payment links
|
|
122
|
+
*/
|
|
123
|
+
export interface StripeListPaymentLinksResponse {
|
|
124
|
+
object: 'list'
|
|
125
|
+
data: Array<{
|
|
126
|
+
id: string
|
|
127
|
+
url: string
|
|
128
|
+
active: boolean
|
|
129
|
+
metadata: Record<string, string>
|
|
130
|
+
}>
|
|
131
|
+
has_more: boolean
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// =============================================================================
|
|
135
|
+
// Auto Payment Links (Dynamic Pricing)
|
|
136
|
+
// =============================================================================
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Create auto payment link parameters
|
|
140
|
+
*
|
|
141
|
+
* For dynamic pricing with inline price_data (one-time + recurring).
|
|
142
|
+
* Unlike standard payment links, these don't require pre-created Price objects.
|
|
143
|
+
*/
|
|
144
|
+
export interface CreateAutoPaymentLinkParams {
|
|
145
|
+
/** Local deal ID for metadata */
|
|
146
|
+
dealId: string
|
|
147
|
+
/** Company name for product description */
|
|
148
|
+
companyName: string
|
|
149
|
+
/** Contact email for metadata */
|
|
150
|
+
contactEmail: string
|
|
151
|
+
/** One-time setup fee in dollars (e.g., 3000 for $3,000) */
|
|
152
|
+
initialFee: number
|
|
153
|
+
/** Recurring monthly fee in dollars (e.g., 500 for $500/month) */
|
|
154
|
+
monthlyFee: number
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Create auto payment link result
|
|
159
|
+
*/
|
|
160
|
+
export interface CreateAutoPaymentLinkResult {
|
|
161
|
+
/** Payment link ID (plink_xxx) */
|
|
162
|
+
paymentLinkId: string
|
|
163
|
+
/** Payment URL (NEVER EXPIRES) */
|
|
164
|
+
url: string
|
|
165
|
+
/** Whether link includes one-time fee */
|
|
166
|
+
hasInitialFee: boolean
|
|
167
|
+
/** Whether link includes recurring subscription */
|
|
168
|
+
hasRecurring: boolean
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// =============================================================================
|
|
172
|
+
// Checkout Sessions
|
|
173
|
+
// =============================================================================
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Create checkout session parameters
|
|
177
|
+
*
|
|
178
|
+
* For variable/custom pricing where the amount comes from the proposal.
|
|
179
|
+
* Uses price_data instead of a pre-defined price ID.
|
|
180
|
+
*/
|
|
181
|
+
export interface CreateCheckoutSessionParams {
|
|
182
|
+
/** Amount in cents (e.g., 2400000 for $24,000) */
|
|
183
|
+
amount: number
|
|
184
|
+
/** Currency code (default: 'usd') */
|
|
185
|
+
currency?: string
|
|
186
|
+
/** Product name shown in checkout (default: 'AI Automation Services') */
|
|
187
|
+
productName?: string
|
|
188
|
+
/** Product description shown in checkout */
|
|
189
|
+
productDescription?: string
|
|
190
|
+
/** Metadata for webhook lookup (deal_id, etc.) */
|
|
191
|
+
metadata?: Record<string, string>
|
|
192
|
+
/** URL after successful payment */
|
|
193
|
+
successUrl: string
|
|
194
|
+
/** URL if customer cancels */
|
|
195
|
+
cancelUrl: string
|
|
196
|
+
/** Pre-fill customer email in checkout */
|
|
197
|
+
customerEmail?: string
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Create checkout session result
|
|
202
|
+
*/
|
|
203
|
+
export interface CreateCheckoutSessionResult {
|
|
204
|
+
/** Session ID (cs_xxx) */
|
|
205
|
+
id: string
|
|
206
|
+
/** Payment URL (expires in 24 hours) */
|
|
207
|
+
url: string
|
|
208
|
+
/** Expiration timestamp (Unix seconds) */
|
|
209
|
+
expiresAt: number
|
|
210
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stripe Integration - Barrel Export
|
|
3
|
+
*
|
|
4
|
+
* Exports Stripe adapter and tool factory functions.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// ============================================================================
|
|
8
|
+
// STRIPE ADAPTER
|
|
9
|
+
// ============================================================================
|
|
10
|
+
|
|
11
|
+
export { StripeAdapter } from './stripe-adapter'
|
|
12
|
+
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// STRIPE TOOLS
|
|
15
|
+
// ============================================================================
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
createStripeCreatePaymentLinkTool,
|
|
19
|
+
createStripeGetPaymentLinkTool,
|
|
20
|
+
createStripeUpdatePaymentLinkTool,
|
|
21
|
+
createStripeListPaymentLinksTool,
|
|
22
|
+
createStripeCheckoutSessionTool,
|
|
23
|
+
createStripeAutoPaymentLinkTool
|
|
24
|
+
} from './stripe-tools'
|
|
25
|
+
|
|
26
|
+
// ============================================================================
|
|
27
|
+
// STRIPE TYPES
|
|
28
|
+
// ============================================================================
|
|
29
|
+
|
|
30
|
+
export type {
|
|
31
|
+
StripeCredentials,
|
|
32
|
+
CreatePaymentLinkParams,
|
|
33
|
+
CreatePaymentLinkResult,
|
|
34
|
+
GetPaymentLinkParams,
|
|
35
|
+
GetPaymentLinkResult,
|
|
36
|
+
UpdatePaymentLinkParams,
|
|
37
|
+
UpdatePaymentLinkResult,
|
|
38
|
+
ListPaymentLinksParams,
|
|
39
|
+
ListPaymentLinksResult,
|
|
40
|
+
CreateCheckoutSessionParams,
|
|
41
|
+
CreateCheckoutSessionResult,
|
|
42
|
+
CreateAutoPaymentLinkParams,
|
|
43
|
+
CreateAutoPaymentLinkResult
|
|
44
|
+
} from './fetch/utils/types'
|