@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,109 @@
|
|
|
1
|
+
export * from './types'
|
|
2
|
+
// Export api-schemas selectively to avoid re-exporting names already defined in types.ts
|
|
3
|
+
// (DealStage, AcqDealTaskKind are declared as union types there; api-schemas re-infers them from Zod)
|
|
4
|
+
export {
|
|
5
|
+
AcqCompanyStatusSchema,
|
|
6
|
+
AcqContactStatusSchema,
|
|
7
|
+
AcqEmailValidSchema,
|
|
8
|
+
CompanyIdParamsSchema,
|
|
9
|
+
ContactIdParamsSchema,
|
|
10
|
+
ListCompaniesQuerySchema,
|
|
11
|
+
ListContactsQuerySchema,
|
|
12
|
+
CreateCompanyRequestSchema,
|
|
13
|
+
UpdateCompanyRequestSchema,
|
|
14
|
+
CreateContactRequestSchema,
|
|
15
|
+
UpdateContactRequestSchema,
|
|
16
|
+
AcqCompanyResponseSchema,
|
|
17
|
+
AcqCompanyListResponseSchema,
|
|
18
|
+
AcqContactResponseSchema,
|
|
19
|
+
AcqContactListResponseSchema,
|
|
20
|
+
AcqCompanySchemas,
|
|
21
|
+
AcqContactSchemas,
|
|
22
|
+
DealStageSchema,
|
|
23
|
+
AcqDealTaskKindSchema,
|
|
24
|
+
DealIdParamsSchema,
|
|
25
|
+
DealTaskIdParamsSchema,
|
|
26
|
+
ListDealsQuerySchema,
|
|
27
|
+
ListDealTasksDueQuerySchema,
|
|
28
|
+
CreateDealNoteRequestSchema,
|
|
29
|
+
CreateDealTaskRequestSchema,
|
|
30
|
+
SyncDealStageRequestSchema,
|
|
31
|
+
DealContactSummarySchema,
|
|
32
|
+
DealListItemSchema,
|
|
33
|
+
DealListResponseSchema,
|
|
34
|
+
DealDetailResponseSchema,
|
|
35
|
+
DealNoteResponseSchema,
|
|
36
|
+
DealNoteListResponseSchema,
|
|
37
|
+
DealTaskResponseSchema,
|
|
38
|
+
DealTaskListResponseSchema,
|
|
39
|
+
DealSchemas,
|
|
40
|
+
ListQualificationSchema,
|
|
41
|
+
ListEnrichmentSchema,
|
|
42
|
+
ListPersonalizationSchema,
|
|
43
|
+
PipelineStepSchema,
|
|
44
|
+
ListPipelineSchema,
|
|
45
|
+
ListConfigSchema,
|
|
46
|
+
ListStageCountsSchema,
|
|
47
|
+
ListTelemetrySchema,
|
|
48
|
+
ListIdParamsSchema,
|
|
49
|
+
CreateListRequestSchema,
|
|
50
|
+
UpdateListRequestSchema,
|
|
51
|
+
UpdateListConfigRequestSchema,
|
|
52
|
+
AddCompaniesToListRequestSchema,
|
|
53
|
+
RemoveCompaniesFromListRequestSchema,
|
|
54
|
+
AddContactsToListRequestSchema,
|
|
55
|
+
RecordListExecutionRequestSchema,
|
|
56
|
+
AcqListResponseSchema,
|
|
57
|
+
AcqListListResponseSchema,
|
|
58
|
+
ListTelemetryResponseSchema,
|
|
59
|
+
ListTelemetryListResponseSchema,
|
|
60
|
+
ListExecutionSummarySchema,
|
|
61
|
+
ListExecutionsResponseSchema,
|
|
62
|
+
AcqListSchemas,
|
|
63
|
+
type CompanyIdParams,
|
|
64
|
+
type ContactIdParams,
|
|
65
|
+
type ListCompaniesQuery,
|
|
66
|
+
type ListContactsQuery,
|
|
67
|
+
type CreateCompanyRequest,
|
|
68
|
+
type UpdateCompanyRequest,
|
|
69
|
+
type CreateContactRequest,
|
|
70
|
+
type UpdateContactRequest,
|
|
71
|
+
type AcqCompanyResponse,
|
|
72
|
+
type AcqCompanyListResponse,
|
|
73
|
+
type AcqContactResponse,
|
|
74
|
+
type AcqContactListResponse,
|
|
75
|
+
type AcqCompanyStatus,
|
|
76
|
+
type AcqContactStatus,
|
|
77
|
+
type AcqEmailValid,
|
|
78
|
+
type DealIdParams,
|
|
79
|
+
type DealTaskIdParams,
|
|
80
|
+
type ListDealsQuery,
|
|
81
|
+
type ListDealTasksDueQuery,
|
|
82
|
+
type CreateDealNoteRequest,
|
|
83
|
+
type CreateDealTaskRequest,
|
|
84
|
+
type SyncDealStageRequest,
|
|
85
|
+
type DealListResponse,
|
|
86
|
+
type DealDetailResponse,
|
|
87
|
+
type DealNoteResponse,
|
|
88
|
+
type DealNoteListResponse,
|
|
89
|
+
type DealTaskResponse,
|
|
90
|
+
type DealTaskListResponse,
|
|
91
|
+
type ListConfigInput,
|
|
92
|
+
type ListStageCountsInput,
|
|
93
|
+
type ListTelemetryInput,
|
|
94
|
+
type PipelineStepInput,
|
|
95
|
+
type ListIdParams,
|
|
96
|
+
type CreateListRequest,
|
|
97
|
+
type UpdateListRequest,
|
|
98
|
+
type UpdateListConfigRequest,
|
|
99
|
+
type AddCompaniesToListRequest,
|
|
100
|
+
type RemoveCompaniesFromListRequest,
|
|
101
|
+
type AddContactsToListRequest,
|
|
102
|
+
type RecordListExecutionRequest,
|
|
103
|
+
type AcqListResponse,
|
|
104
|
+
type AcqListListResponse,
|
|
105
|
+
type ListTelemetryResponse,
|
|
106
|
+
type ListTelemetryListResponse,
|
|
107
|
+
type ListExecutionSummaryInput,
|
|
108
|
+
type ListExecutionsResponse
|
|
109
|
+
} from './api-schemas'
|
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
import type { Database } from '../../supabase/database.types'
|
|
2
|
+
|
|
3
|
+
// =============================================================================
|
|
4
|
+
// Supabase-Generated Types (Re-exported from database.types)
|
|
5
|
+
// =============================================================================
|
|
6
|
+
|
|
7
|
+
/** Raw database row type for acq_lists table */
|
|
8
|
+
export type AcqListRow = Database['public']['Tables']['acq_lists']['Row']
|
|
9
|
+
/** Insert type for acq_lists table */
|
|
10
|
+
export type AcqListInsert = Database['public']['Tables']['acq_lists']['Insert']
|
|
11
|
+
|
|
12
|
+
/** Raw database row type for acq_companies table */
|
|
13
|
+
export type AcqCompanyRow = Database['public']['Tables']['acq_companies']['Row']
|
|
14
|
+
/** Insert type for acq_companies table */
|
|
15
|
+
export type AcqCompanyInsert = Database['public']['Tables']['acq_companies']['Insert']
|
|
16
|
+
|
|
17
|
+
/** Raw database row type for acq_contacts table */
|
|
18
|
+
export type AcqContactRow = Database['public']['Tables']['acq_contacts']['Row']
|
|
19
|
+
/** Insert type for acq_contacts table */
|
|
20
|
+
export type AcqContactInsert = Database['public']['Tables']['acq_contacts']['Insert']
|
|
21
|
+
|
|
22
|
+
/** Raw database row type for acq_deals table */
|
|
23
|
+
export type AcqDealRow = Database['public']['Tables']['acq_deals']['Row']
|
|
24
|
+
/** Insert type for acq_deals table */
|
|
25
|
+
export type AcqDealInsert = Database['public']['Tables']['acq_deals']['Insert']
|
|
26
|
+
|
|
27
|
+
/** Raw database row type for acq_deal_tasks table */
|
|
28
|
+
export type AcqDealTaskRow = Database['public']['Tables']['acq_deal_tasks']['Row']
|
|
29
|
+
/** Insert type for acq_deal_tasks table */
|
|
30
|
+
export type AcqDealTaskInsert = Database['public']['Tables']['acq_deal_tasks']['Insert']
|
|
31
|
+
|
|
32
|
+
// =============================================================================
|
|
33
|
+
// Supporting Types
|
|
34
|
+
// =============================================================================
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Represents a web post from company website scraping.
|
|
38
|
+
* Used for recent blog posts, news, or announcements.
|
|
39
|
+
*/
|
|
40
|
+
export interface WebPost {
|
|
41
|
+
/** ISO date string of when the post was published */
|
|
42
|
+
date: string
|
|
43
|
+
/** Title of the web post */
|
|
44
|
+
title: string
|
|
45
|
+
/** Brief summary of the post content */
|
|
46
|
+
summary: string
|
|
47
|
+
/** AI-generated insight about the post's relevance */
|
|
48
|
+
aiInsight?: string
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Tracks pipeline status for a company across all processing stages.
|
|
53
|
+
*/
|
|
54
|
+
export interface CompanyPipelineStatus {
|
|
55
|
+
acquired: boolean
|
|
56
|
+
enrichment: {
|
|
57
|
+
[source: string]: {
|
|
58
|
+
status: 'pending' | 'complete' | 'failed' | 'skipped'
|
|
59
|
+
completedAt?: string
|
|
60
|
+
error?: string
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Tracks pipeline status for a contact across all processing stages.
|
|
67
|
+
*/
|
|
68
|
+
export interface ContactPipelineStatus {
|
|
69
|
+
enrichment: {
|
|
70
|
+
[source: string]: {
|
|
71
|
+
status: 'pending' | 'complete' | 'failed' | 'skipped'
|
|
72
|
+
completedAt?: string
|
|
73
|
+
error?: string
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
personalization: {
|
|
77
|
+
status: 'pending' | 'complete' | 'failed' | 'skipped'
|
|
78
|
+
completedAt?: string
|
|
79
|
+
}
|
|
80
|
+
outreach: {
|
|
81
|
+
status: 'pending' | 'sent' | 'replied' | 'bounced' | 'opted-out'
|
|
82
|
+
sentAt?: string
|
|
83
|
+
channel?: string
|
|
84
|
+
campaignId?: string
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Enrichment data collected for a company from various sources.
|
|
90
|
+
*/
|
|
91
|
+
export interface CompanyEnrichmentData {
|
|
92
|
+
googleMaps?: {
|
|
93
|
+
placeId?: string
|
|
94
|
+
totalScore?: number
|
|
95
|
+
reviewsCount?: number
|
|
96
|
+
address?: string
|
|
97
|
+
phone?: string
|
|
98
|
+
categoryName?: string
|
|
99
|
+
googleMapsUrl?: string
|
|
100
|
+
scrapedAt?: string
|
|
101
|
+
}
|
|
102
|
+
websiteCrawl?: {
|
|
103
|
+
companyDescription?: string
|
|
104
|
+
services?: string[]
|
|
105
|
+
specialties?: string[]
|
|
106
|
+
staff?: Array<{ name: string; title?: string; email?: string }>
|
|
107
|
+
automationGaps?: string[]
|
|
108
|
+
targetAudience?: string
|
|
109
|
+
category?: string
|
|
110
|
+
segment?: string
|
|
111
|
+
recentWin?: string
|
|
112
|
+
emailCount?: number
|
|
113
|
+
pageCount?: number
|
|
114
|
+
totalChars?: number
|
|
115
|
+
crawledAt?: string
|
|
116
|
+
extractedAt?: string
|
|
117
|
+
}
|
|
118
|
+
website?: {
|
|
119
|
+
missionVision?: string
|
|
120
|
+
uniqueAttributes?: string
|
|
121
|
+
coreOfferings?: string
|
|
122
|
+
targetAudience?: string
|
|
123
|
+
companyValues?: string
|
|
124
|
+
businessDescription?: string
|
|
125
|
+
recentPosts?: Array<{ date?: string; title?: string; summary?: string; aiInsight?: string }>
|
|
126
|
+
}
|
|
127
|
+
tomba?: {
|
|
128
|
+
waterfallEmail?: {
|
|
129
|
+
email: string
|
|
130
|
+
name?: string
|
|
131
|
+
title?: string
|
|
132
|
+
department?: string
|
|
133
|
+
} | null
|
|
134
|
+
genericEmail?: string | null
|
|
135
|
+
totalFound?: number
|
|
136
|
+
searchedAt?: string
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Enrichment data collected for a contact from various sources.
|
|
142
|
+
*/
|
|
143
|
+
export interface ContactEnrichmentData {
|
|
144
|
+
linkedin?: {
|
|
145
|
+
summary?: string
|
|
146
|
+
pastExperience?: string
|
|
147
|
+
education?: string
|
|
148
|
+
activity?: Array<{ date?: string; content?: string }>
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// =============================================================================
|
|
153
|
+
// Domain Types (camelCase transformations of database rows)
|
|
154
|
+
// =============================================================================
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Acquisition list for organizing contacts and companies.
|
|
158
|
+
* Transformed from AcqListRow with camelCase properties.
|
|
159
|
+
*/
|
|
160
|
+
export interface AcqList {
|
|
161
|
+
id: string
|
|
162
|
+
organizationId: string
|
|
163
|
+
name: string
|
|
164
|
+
description: string | null
|
|
165
|
+
type: string
|
|
166
|
+
batchIds: string[]
|
|
167
|
+
instantlyCampaignId: string | null
|
|
168
|
+
status: string
|
|
169
|
+
metadata: Record<string, unknown>
|
|
170
|
+
launchedAt: Date | null
|
|
171
|
+
completedAt: Date | null
|
|
172
|
+
createdAt: Date
|
|
173
|
+
config: ListConfig
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Company record in the acquisition database.
|
|
178
|
+
* Contains enriched company data from various sources.
|
|
179
|
+
* Transformed from AcqCompanyRow with camelCase properties.
|
|
180
|
+
*/
|
|
181
|
+
export interface AcqCompany {
|
|
182
|
+
id: string
|
|
183
|
+
organizationId: string
|
|
184
|
+
name: string
|
|
185
|
+
domain: string | null
|
|
186
|
+
linkedinUrl: string | null
|
|
187
|
+
website: string | null
|
|
188
|
+
numEmployees: number | null
|
|
189
|
+
foundedYear: number | null
|
|
190
|
+
locationCity: string | null
|
|
191
|
+
locationState: string | null
|
|
192
|
+
category: string | null
|
|
193
|
+
categoryPain: string | null
|
|
194
|
+
segment: string | null
|
|
195
|
+
pipelineStatus: CompanyPipelineStatus | null
|
|
196
|
+
enrichmentData: CompanyEnrichmentData | null
|
|
197
|
+
source: string | null
|
|
198
|
+
batchId: string | null
|
|
199
|
+
status: 'active' | 'invalid'
|
|
200
|
+
verticalResearch: string | null
|
|
201
|
+
createdAt: Date
|
|
202
|
+
updatedAt: Date
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Contact record in the acquisition database.
|
|
207
|
+
* Contains enriched contact data and personalization content.
|
|
208
|
+
* Transformed from AcqContactRow with camelCase properties.
|
|
209
|
+
*/
|
|
210
|
+
export interface AcqContact {
|
|
211
|
+
id: string
|
|
212
|
+
organizationId: string
|
|
213
|
+
companyId: string | null
|
|
214
|
+
email: string
|
|
215
|
+
emailValid: 'VALID' | 'INVALID' | 'RISKY' | 'UNKNOWN' | null
|
|
216
|
+
firstName: string | null
|
|
217
|
+
lastName: string | null
|
|
218
|
+
linkedinUrl: string | null
|
|
219
|
+
title: string | null
|
|
220
|
+
headline: string | null
|
|
221
|
+
filterReason: string | null
|
|
222
|
+
openingLine: string | null
|
|
223
|
+
source: string | null
|
|
224
|
+
sourceId: string | null
|
|
225
|
+
pipelineStatus: ContactPipelineStatus | null
|
|
226
|
+
enrichmentData: ContactEnrichmentData | null
|
|
227
|
+
/** Attio Person record ID - set when contact responds and is added to CRM */
|
|
228
|
+
attioPersonId: string | null
|
|
229
|
+
batchId: string | null
|
|
230
|
+
status: 'active' | 'invalid'
|
|
231
|
+
createdAt: Date
|
|
232
|
+
updatedAt: Date
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
// ─── Deal UI Types ───────────────────────────────────────────────────────────
|
|
236
|
+
|
|
237
|
+
export type DealStage = 'interested' | 'proposal' | 'closing' | 'closed_won' | 'closed_lost' | 'nurturing'
|
|
238
|
+
|
|
239
|
+
export interface KanbanStageConfig {
|
|
240
|
+
color: string // Mantine color token (e.g. 'blue', 'teal')
|
|
241
|
+
label?: string // Optional display label override
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
export type KanbanBoardConfig = Partial<Record<DealStage, KanbanStageConfig>>
|
|
245
|
+
|
|
246
|
+
export interface DealContact {
|
|
247
|
+
id: string
|
|
248
|
+
first_name: string | null
|
|
249
|
+
last_name: string | null
|
|
250
|
+
email: string
|
|
251
|
+
title: string | null
|
|
252
|
+
headline: string | null
|
|
253
|
+
linkedin_url: string | null
|
|
254
|
+
pipeline_status: Record<string, unknown> | null
|
|
255
|
+
enrichment_data: Record<string, unknown> | null
|
|
256
|
+
company: {
|
|
257
|
+
id: string
|
|
258
|
+
name: string
|
|
259
|
+
domain: string | null
|
|
260
|
+
website: string | null
|
|
261
|
+
linkedin_url: string | null
|
|
262
|
+
segment: string | null
|
|
263
|
+
category: string | null
|
|
264
|
+
num_employees: number | null
|
|
265
|
+
} | null
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
export interface DealFilters {
|
|
269
|
+
stage?: DealStage
|
|
270
|
+
search?: string
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/** Deal list item with joined contact and company data */
|
|
274
|
+
export interface DealListItem extends AcqDealRow {
|
|
275
|
+
contact: DealContact | null
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
export type DealDetail = DealListItem
|
|
279
|
+
|
|
280
|
+
/** Task kind options for a deal task (human follow-up action type) */
|
|
281
|
+
export type AcqDealTaskKind = 'call' | 'email' | 'meeting' | 'other'
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* A CRM to-do item attached to a deal representing a human follow-up action.
|
|
285
|
+
* Transformed from AcqDealTaskRow with camelCase properties.
|
|
286
|
+
*/
|
|
287
|
+
export interface AcqDealTask {
|
|
288
|
+
id: string
|
|
289
|
+
organizationId: string
|
|
290
|
+
dealId: string
|
|
291
|
+
title: string
|
|
292
|
+
description: string | null
|
|
293
|
+
kind: AcqDealTaskKind
|
|
294
|
+
dueAt: string | null
|
|
295
|
+
assigneeUserId: string | null
|
|
296
|
+
completedAt: string | null
|
|
297
|
+
completedByUserId: string | null
|
|
298
|
+
createdAt: string
|
|
299
|
+
updatedAt: string
|
|
300
|
+
createdByUserId: string | null
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
// ─── List Config / Progress / Telemetry Types ────────────────────────────────
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* One ordered step in a list's pipeline. Maps to a deployed workflow
|
|
307
|
+
* (e.g. 'lgn-03-company-qualification-workflow'). The `inputTemplate`
|
|
308
|
+
* is merged with `{ listId }` at run time to form the workflow input.
|
|
309
|
+
*/
|
|
310
|
+
export interface PipelineStep {
|
|
311
|
+
/** Stable key, e.g. 'scrape' | 'extract' | 'qualify' | 'discover' | 'verify' | 'personalize'. */
|
|
312
|
+
key: string
|
|
313
|
+
/** Human label rendered in the UI stepper. */
|
|
314
|
+
label: string
|
|
315
|
+
/** Deployed workflow resourceId (e.g. 'lgn-03-company-qualification-workflow'). */
|
|
316
|
+
resourceId: string
|
|
317
|
+
/** Input defaults merged with `{ listId }` at dispatch. */
|
|
318
|
+
inputTemplate: Record<string, unknown>
|
|
319
|
+
/** Whether the UI shows the Run button. */
|
|
320
|
+
enabled: boolean
|
|
321
|
+
/** Display order (ascending). */
|
|
322
|
+
order: number
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
export type CompanyListStage = 'populated' | 'extracted' | 'qualified'
|
|
326
|
+
|
|
327
|
+
export type ContactListStage = 'discovered' | 'verified' | 'personalized' | 'uploaded'
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Per-list pipeline configuration stored as jsonb in `acq_lists.config`.
|
|
331
|
+
*
|
|
332
|
+
* `qualification` is the only required subtree. Every other subtree is optional
|
|
333
|
+
* and inherits global defaults when omitted: workflows resolve values as
|
|
334
|
+
* `list.config.foo ?? globalDefaults.foo`. Seeded rows from
|
|
335
|
+
* `20260413000100_backfill_list_configs.sql` only populate `qualification`
|
|
336
|
+
* and `scraping`; the rest was intentionally omitted.
|
|
337
|
+
*/
|
|
338
|
+
export interface ListConfig {
|
|
339
|
+
qualification: {
|
|
340
|
+
/** One-line description of the target vertical/segment. */
|
|
341
|
+
targetDescription: string
|
|
342
|
+
/** Minimum Google review count to qualify. */
|
|
343
|
+
minReviewCount: number
|
|
344
|
+
/** Minimum Google star rating to qualify (e.g. 3.0). */
|
|
345
|
+
minRating: number
|
|
346
|
+
/** Whether to exclude franchises/chains during qualification. */
|
|
347
|
+
excludeFranchises: boolean
|
|
348
|
+
/** Free-form LLM rules layered on top of the structured criteria. */
|
|
349
|
+
customRules: string
|
|
350
|
+
}
|
|
351
|
+
enrichment?: {
|
|
352
|
+
emailDiscovery?: {
|
|
353
|
+
primary: 'tomba' | 'anymailfinder'
|
|
354
|
+
credentialName?: string
|
|
355
|
+
}
|
|
356
|
+
emailVerification?: {
|
|
357
|
+
provider: 'millionverifier'
|
|
358
|
+
threshold?: 'ok' | 'ok+catch_all'
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
personalization?: {
|
|
362
|
+
industryContext?: string
|
|
363
|
+
/** Email body template with tags like {{opening_line}} / {{category_pain}}. */
|
|
364
|
+
emailBody?: string
|
|
365
|
+
creativeDirection?: string
|
|
366
|
+
/** Contradiction-prevention rules layered into the personalization prompt. */
|
|
367
|
+
exclusionRules?: string[]
|
|
368
|
+
}
|
|
369
|
+
pipeline?: {
|
|
370
|
+
steps: PipelineStep[]
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* Live-scan aggregate telemetry for a single list, computed on demand from
|
|
376
|
+
* the list junction tables and current contact deliverability state.
|
|
377
|
+
*/
|
|
378
|
+
export interface ListTelemetry {
|
|
379
|
+
listId: string
|
|
380
|
+
totalCompanies: number
|
|
381
|
+
totalContacts: number
|
|
382
|
+
stageCounts: {
|
|
383
|
+
populated: number
|
|
384
|
+
extracted: number
|
|
385
|
+
qualified: number
|
|
386
|
+
discovered: number
|
|
387
|
+
verified: number
|
|
388
|
+
personalized: number
|
|
389
|
+
uploaded: number
|
|
390
|
+
}
|
|
391
|
+
deliverability: {
|
|
392
|
+
valid: number
|
|
393
|
+
risky: number
|
|
394
|
+
invalid: number
|
|
395
|
+
unknown: number
|
|
396
|
+
bounced: number
|
|
397
|
+
}
|
|
398
|
+
/** Reserved -- active workflow IDs associated with this list. */
|
|
399
|
+
activeWorkflows?: string[]
|
|
400
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* CRM Overview API Schemas
|
|
5
|
+
*
|
|
6
|
+
* Request/response validation for /api/crm surface.
|
|
7
|
+
* Covers recent activity feeds sourced from acq_deal_notes and deal
|
|
8
|
+
* activity_log entries.
|
|
9
|
+
*
|
|
10
|
+
* The CrmActivityEntry discriminated union mirrors the CrmActivityEntry
|
|
11
|
+
* interface defined in:
|
|
12
|
+
* packages/ui/src/features/acquisition/overview/hooks/useRecentCrmActivity.ts
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
// Enum literals
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
|
|
19
|
+
export const CrmActivityKindSchema = z.enum(['note', 'stage_change', 'deal_created'])
|
|
20
|
+
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
// Activity entry shapes
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* A single CRM activity entry (note, stage change, or deal creation).
|
|
27
|
+
* Matches the CrmActivityEntry interface from useRecentCrmActivity.ts.
|
|
28
|
+
*/
|
|
29
|
+
export const RecentActivityEntrySchema = z.object({
|
|
30
|
+
id: z.string(),
|
|
31
|
+
kind: CrmActivityKindSchema,
|
|
32
|
+
dealId: z.string(),
|
|
33
|
+
occurredAt: z.string(),
|
|
34
|
+
description: z.string(),
|
|
35
|
+
contactName: z.string().nullable().optional(),
|
|
36
|
+
companyName: z.string().nullable().optional(),
|
|
37
|
+
stage: z.string().nullable().optional()
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
// ---------------------------------------------------------------------------
|
|
41
|
+
// Query schemas
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
|
|
44
|
+
export const GetRecentActivityQuerySchema = z
|
|
45
|
+
.object({
|
|
46
|
+
limit: z.coerce.number().int().min(1).max(100).default(20)
|
|
47
|
+
})
|
|
48
|
+
.strict()
|
|
49
|
+
|
|
50
|
+
// ---------------------------------------------------------------------------
|
|
51
|
+
// Response schemas (no .strict() — forward-compatible)
|
|
52
|
+
// ---------------------------------------------------------------------------
|
|
53
|
+
|
|
54
|
+
export const GetRecentActivityResponseSchema = z.object({
|
|
55
|
+
entries: z.array(RecentActivityEntrySchema)
|
|
56
|
+
})
|
|
57
|
+
|
|
58
|
+
// ---------------------------------------------------------------------------
|
|
59
|
+
// Bundled export
|
|
60
|
+
// ---------------------------------------------------------------------------
|
|
61
|
+
|
|
62
|
+
export const CrmSchemas = {
|
|
63
|
+
GetRecentActivityQuery: GetRecentActivityQuerySchema,
|
|
64
|
+
RecentActivityEntry: RecentActivityEntrySchema,
|
|
65
|
+
GetRecentActivityResponse: GetRecentActivityResponseSchema
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
// Inferred types
|
|
70
|
+
// ---------------------------------------------------------------------------
|
|
71
|
+
|
|
72
|
+
export type CrmActivityKind = z.infer<typeof CrmActivityKindSchema>
|
|
73
|
+
export type RecentActivityEntry = z.infer<typeof RecentActivityEntrySchema>
|
|
74
|
+
export type GetRecentActivityQuery = z.infer<typeof GetRecentActivityQuerySchema>
|
|
75
|
+
export type GetRecentActivityResponse = z.infer<typeof GetRecentActivityResponseSchema>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types'
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { Database } from '../../supabase/database.types'
|
|
2
|
+
|
|
3
|
+
// Row types from Supabase
|
|
4
|
+
export type ProjectRow = Database['public']['Tables']['prj_projects']['Row']
|
|
5
|
+
export type ProjectInsert = Database['public']['Tables']['prj_projects']['Insert']
|
|
6
|
+
export type ProjectUpdate = Database['public']['Tables']['prj_projects']['Update']
|
|
7
|
+
|
|
8
|
+
export type MilestoneRow = Database['public']['Tables']['prj_milestones']['Row']
|
|
9
|
+
export type MilestoneInsert = Database['public']['Tables']['prj_milestones']['Insert']
|
|
10
|
+
export type MilestoneUpdate = Database['public']['Tables']['prj_milestones']['Update']
|
|
11
|
+
|
|
12
|
+
export type TaskRow = Database['public']['Tables']['prj_tasks']['Row']
|
|
13
|
+
export type TaskInsert = Database['public']['Tables']['prj_tasks']['Insert']
|
|
14
|
+
export type TaskUpdate = Database['public']['Tables']['prj_tasks']['Update']
|
|
15
|
+
|
|
16
|
+
export type NoteRow = Database['public']['Tables']['prj_notes']['Row']
|
|
17
|
+
export type NoteInsert = Database['public']['Tables']['prj_notes']['Insert']
|
|
18
|
+
|
|
19
|
+
// Status enums
|
|
20
|
+
export type ProjectStatus = 'active' | 'on_track' | 'at_risk' | 'blocked' | 'completed' | 'paused'
|
|
21
|
+
|
|
22
|
+
export type ProjectKind = 'client_engagement' | 'internal'
|
|
23
|
+
|
|
24
|
+
export type MilestoneStatus = 'upcoming' | 'in_progress' | 'completed' | 'overdue' | 'blocked'
|
|
25
|
+
|
|
26
|
+
export type TaskStatus =
|
|
27
|
+
| 'planned'
|
|
28
|
+
| 'in_progress'
|
|
29
|
+
| 'blocked'
|
|
30
|
+
| 'completed'
|
|
31
|
+
| 'cancelled'
|
|
32
|
+
| 'submitted'
|
|
33
|
+
| 'approved'
|
|
34
|
+
| 'rejected'
|
|
35
|
+
| 'revision_requested'
|
|
36
|
+
|
|
37
|
+
export type TaskType = 'documentation' | 'code' | 'report' | 'design' | 'other'
|
|
38
|
+
|
|
39
|
+
export type NoteType = 'call_note' | 'status_update' | 'issue' | 'blocker'
|
|
40
|
+
|
|
41
|
+
// Filter types
|
|
42
|
+
export interface ProjectFilters {
|
|
43
|
+
status?: ProjectStatus
|
|
44
|
+
kind?: ProjectKind
|
|
45
|
+
companyId?: string
|
|
46
|
+
search?: string
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface MilestoneFilters {
|
|
50
|
+
status?: MilestoneStatus
|
|
51
|
+
projectId?: string
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface TaskFilters {
|
|
55
|
+
status?: TaskStatus
|
|
56
|
+
type?: TaskType
|
|
57
|
+
milestoneId?: string
|
|
58
|
+
projectId?: string
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface NoteFilters {
|
|
62
|
+
type?: NoteType
|
|
63
|
+
projectId?: string
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// Display types (for JOINed data)
|
|
67
|
+
export interface ProjectWithCounts extends ProjectRow {
|
|
68
|
+
milestoneCount: number
|
|
69
|
+
taskCount: number
|
|
70
|
+
completedMilestones?: number
|
|
71
|
+
completedTasks?: number
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export interface ProjectDetail extends ProjectRow {
|
|
75
|
+
milestones: MilestoneRow[]
|
|
76
|
+
tasks: TaskRow[]
|
|
77
|
+
company: { id: string; name: string; domain: string | null } | null
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export interface MilestoneWithTasks extends MilestoneRow {
|
|
81
|
+
tasks: TaskRow[]
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Checklist item stored in prj_milestones.checklist JSONB column
|
|
85
|
+
export interface ChecklistItem {
|
|
86
|
+
id: string
|
|
87
|
+
label: string
|
|
88
|
+
completed: boolean
|
|
89
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Business group barrel - browser-safe exports
|
|
3
|
+
*
|
|
4
|
+
* Acquisition types (lead database domain types)
|
|
5
|
+
* Note: PDF has its own subpath exports (./pdf, ./pdf/browser, ./pdf/server, ./pdf/sections)
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
// Acquisition types (lead database domain types)
|
|
9
|
+
export * from './acquisition/index'
|
|
10
|
+
|
|
11
|
+
// SEO types (seo_pages, seo_metrics, chart types)
|
|
12
|
+
export * from './seo/index'
|
|
Binary file
|