@elevasis/core 0.7.0 → 0.8.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/package.json +3 -3
- package/src/README.md +41 -41
- package/src/__tests__/publish.test.ts +18 -18
- package/src/__tests__/{template-foundations-compatibility.test.ts → template-core-compatibility.test.ts} +99 -99
- package/src/_gen/__tests__/__snapshots__/contracts.md.snap +1135 -1131
- package/src/_gen/__tests__/scaffold-contracts.test.ts +53 -53
- package/src/_gen/scaffold-contracts.ts +45 -45
- package/src/auth/multi-tenancy/credentials/README.md +38 -38
- package/src/auth/multi-tenancy/credentials/index.ts +6 -6
- package/src/auth/multi-tenancy/credentials/server/encryption.ts +39 -39
- package/src/auth/multi-tenancy/credentials/server/service.ts +60 -60
- package/src/auth/multi-tenancy/index.ts +17 -17
- package/src/auth/multi-tenancy/invitations/api-schemas.ts +107 -107
- package/src/auth/multi-tenancy/invitations/index.ts +37 -37
- package/src/auth/multi-tenancy/invitations/invitation.ts +86 -86
- package/src/auth/multi-tenancy/invitations/server/index.ts +25 -25
- package/src/auth/multi-tenancy/invitations/server/transforms.ts +24 -24
- package/src/auth/multi-tenancy/invitations/server/workos.ts +24 -24
- package/src/auth/multi-tenancy/invitations/supabase.ts +50 -50
- package/src/auth/multi-tenancy/memberships/api-schemas.ts +126 -126
- package/src/auth/multi-tenancy/memberships/index.ts +21 -21
- package/src/auth/multi-tenancy/memberships/membership.ts +138 -138
- package/src/auth/multi-tenancy/memberships/server/index.ts +15 -15
- package/src/auth/multi-tenancy/memberships/server/transforms.ts +32 -32
- package/src/auth/multi-tenancy/memberships/server/workos.ts +21 -21
- package/src/auth/multi-tenancy/memberships/supabase.ts +46 -46
- package/src/auth/multi-tenancy/organizations/api-schemas.ts +128 -128
- package/src/auth/multi-tenancy/organizations/index.ts +23 -23
- package/src/auth/multi-tenancy/organizations/organization.ts +24 -24
- package/src/auth/multi-tenancy/organizations/server/index.ts +10 -10
- package/src/auth/multi-tenancy/organizations/server/transforms.ts +35 -35
- package/src/auth/multi-tenancy/organizations/server/workos.ts +20 -20
- package/src/auth/multi-tenancy/types.ts +83 -83
- package/src/auth/multi-tenancy/users/api-schemas.ts +194 -194
- package/src/auth/multi-tenancy/users/index.ts +27 -27
- package/src/auth/multi-tenancy/users/server/index.ts +19 -19
- package/src/auth/multi-tenancy/users/server/transforms.ts +21 -21
- package/src/auth/multi-tenancy/users/server/workos.ts +16 -16
- package/src/auth/multi-tenancy/users/user.ts +65 -65
- package/src/business/README.md +52 -52
- package/src/business/__tests__/entities-published.test.ts +33 -33
- package/src/business/acquisition/api-schemas.ts +759 -759
- package/src/business/acquisition/index.ts +109 -109
- package/src/business/acquisition/types.ts +402 -402
- package/src/business/base-entities.test.ts +481 -481
- package/src/business/base-entities.ts +241 -241
- package/src/business/entities-published.ts +24 -24
- package/src/business/index.ts +15 -15
- package/src/business/pdf/browser/pdfmake-browser.ts +229 -229
- package/src/business/pdf/index.ts +10 -10
- package/src/business/pdf/server/index.ts +21 -21
- package/src/business/pdf/server/themes/default.ts +8 -8
- package/src/business/pdf/server/themes/index.ts +9 -9
- package/src/business/pdf/server/themes/types.ts +8 -8
- package/src/business/pdf/types.ts +272 -272
- package/src/business/projects/index.ts +2 -1
- package/src/business/projects/sse-events.ts +21 -0
- package/src/business/projects/types.ts +89 -89
- package/src/business/sales/api-schemas.ts +75 -75
- package/src/business/seo/__tests__/linking.test.ts +549 -549
- package/src/business/seo/__tests__/types.test.ts +404 -404
- package/src/business/seo/index.ts +2 -2
- package/src/business/seo/linking.ts +281 -281
- package/src/business/seo/types.ts +199 -199
- package/src/commands/queue/index.ts +3 -3
- package/src/commands/queue/schemas.test.ts +593 -593
- package/src/commands/queue/schemas.ts +125 -125
- package/src/commands/queue/sse-events.ts +61 -61
- package/src/commands/queue/types/action.ts +52 -52
- package/src/commands/queue/types/checkpoint.ts +44 -44
- package/src/commands/queue/types/index.ts +7 -7
- package/src/commands/queue/types/task.ts +116 -116
- package/src/commands/queue/types.ts +14 -14
- package/src/content/distribution-metadata.ts +61 -61
- package/src/content/index.ts +10 -10
- package/src/deployments/index.ts +22 -22
- package/src/execution/core/__tests__/archived-logs.test.ts +72 -72
- package/src/execution/core/index.ts +11 -11
- package/src/execution/core/runner-types.ts +80 -80
- package/src/execution/core/server/environment.ts +31 -31
- package/src/execution/core/sse-executions.ts +119 -119
- package/src/execution/core/types.ts +29 -29
- package/src/execution/engine/__tests__/fixtures/test-agents.ts +4 -4
- package/src/execution/engine/__tests__/timeout.test.ts +565 -565
- package/src/execution/engine/agent/__tests__/errors.test.ts +508 -508
- package/src/execution/engine/agent/actions/__tests__/processor.test.ts +531 -531
- package/src/execution/engine/agent/actions/executor.ts +205 -205
- package/src/execution/engine/agent/actions/navigate-knowledge-executor.ts +230 -230
- package/src/execution/engine/agent/actions/processor.ts +116 -116
- package/src/execution/engine/agent/actions/types.ts +70 -70
- package/src/execution/engine/agent/core/agent.ts +810 -810
- package/src/execution/engine/agent/core/types.ts +155 -155
- package/src/execution/engine/agent/errors.ts +251 -251
- package/src/execution/engine/agent/index.ts +78 -78
- package/src/execution/engine/agent/knowledge-map/types.ts +106 -106
- package/src/execution/engine/agent/knowledge-map/utils.ts +101 -101
- package/src/execution/engine/agent/memory/__tests__/manager.test.ts +754 -754
- package/src/execution/engine/agent/memory/domains.ts +99 -99
- package/src/execution/engine/agent/memory/manager.ts +365 -365
- package/src/execution/engine/agent/memory/processor.ts +66 -66
- package/src/execution/engine/agent/memory/types.ts +90 -90
- package/src/execution/engine/agent/memory/utils.ts +134 -134
- package/src/execution/engine/agent/observability/logging.ts +467 -467
- package/src/execution/engine/agent/observability/types.ts +64 -64
- package/src/execution/engine/agent/reasoning/adapters/agent-adapter-helpers.ts +349 -349
- package/src/execution/engine/agent/reasoning/processor.ts +92 -92
- package/src/execution/engine/agent/reasoning/prompt-sections/base-actions.ts +134 -134
- package/src/execution/engine/agent/reasoning/prompt-sections/completion.ts +49 -49
- package/src/execution/engine/agent/reasoning/prompt-sections/knowledge-map.ts +93 -93
- package/src/execution/engine/agent/reasoning/prompt-sections/memory.ts +65 -65
- package/src/execution/engine/agent/reasoning/prompt-sections/tools.ts +44 -44
- package/src/execution/engine/agent/reasoning/request-builder.ts +169 -169
- package/src/execution/engine/agent/reasoning/types.ts +18 -18
- package/src/execution/engine/base/errors.ts +118 -118
- package/src/execution/engine/base/index.ts +2 -2
- package/src/execution/engine/base/logging.ts +31 -31
- package/src/execution/engine/base/serialization.ts +324 -324
- package/src/execution/engine/base/types.ts +126 -126
- package/src/execution/engine/base/utils.ts +41 -41
- package/src/execution/engine/index.ts +434 -434
- package/src/execution/engine/interface/index.ts +1 -1
- package/src/execution/engine/interface/types.ts +62 -62
- package/src/execution/engine/llm/__tests__/model-info.test.ts +50 -50
- package/src/execution/engine/llm/__tests__/model-validation.test.ts +321 -321
- package/src/execution/engine/llm/__tests__/response-schema-validator.test.ts +115 -115
- package/src/execution/engine/llm/adapters/__tests__/adapter-factory.test.ts +375 -375
- package/src/execution/engine/llm/adapters/__tests__/anthropic-adapter.test.ts +463 -463
- package/src/execution/engine/llm/adapters/__tests__/anthropic.integration.test.ts +177 -177
- package/src/execution/engine/llm/adapters/__tests__/google-adapter.test.ts +722 -722
- package/src/execution/engine/llm/adapters/__tests__/google.integration.test.ts +376 -376
- package/src/execution/engine/llm/adapters/__tests__/openai-adapter.test.ts +551 -551
- package/src/execution/engine/llm/adapters/__tests__/openrouter-adapter.test.ts +563 -563
- package/src/execution/engine/llm/adapters/__tests__/openrouter.integration.test.ts +105 -105
- package/src/execution/engine/llm/adapters/__tests__/universal-adapter.test.ts +537 -537
- package/src/execution/engine/llm/adapters/circuit-breaker.ts +147 -147
- package/src/execution/engine/llm/adapters/index.ts +17 -17
- package/src/execution/engine/llm/adapters/mock-adapter.ts +116 -116
- package/src/execution/engine/llm/adapters/server/adapter-factory.ts +130 -130
- package/src/execution/engine/llm/adapters/server/anthropic.ts +137 -137
- package/src/execution/engine/llm/adapters/server/google.ts +283 -283
- package/src/execution/engine/llm/adapters/server/index.ts +12 -12
- package/src/execution/engine/llm/adapters/server/openai.ts +206 -206
- package/src/execution/engine/llm/adapters/server/openrouter.ts +235 -235
- package/src/execution/engine/llm/adapters/universal-adapter.ts +230 -230
- package/src/execution/engine/llm/errors.ts +186 -186
- package/src/execution/engine/llm/model-info.ts +332 -332
- package/src/execution/engine/llm/response-schema-validator.ts +113 -113
- package/src/execution/engine/llm/types.ts +86 -86
- package/src/execution/engine/test-utils/index.ts +6 -6
- package/src/execution/engine/test-utils/mocks.ts +56 -56
- package/src/execution/engine/tools/integration/base-integration-adapter.ts +50 -50
- package/src/execution/engine/tools/integration/index.ts +53 -53
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/anymailfinder-adapter.ts +73 -73
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/anymailfinder-tools.ts +209 -209
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/find-company-email/index.ts +82 -82
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/find-decision-maker-email/index.ts +122 -122
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/find-person-email/index.ts +89 -89
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/verify-email/index.ts +84 -84
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/index.ts +16 -16
- package/src/execution/engine/tools/integration/server/adapters/apify/__tests__/apify-run-actor.integration.test.ts +293 -293
- package/src/execution/engine/tools/integration/server/adapters/apify/apify-adapter.ts +100 -100
- package/src/execution/engine/tools/integration/server/adapters/apify/apify-tools.ts +217 -217
- package/src/execution/engine/tools/integration/server/adapters/apify/fetch/get-dataset-items/index.ts +92 -92
- package/src/execution/engine/tools/integration/server/adapters/apify/fetch/run-actor/index.ts +218 -218
- package/src/execution/engine/tools/integration/server/adapters/apify/fetch/start-actor/index.ts +87 -87
- package/src/execution/engine/tools/integration/server/adapters/apify/index.ts +11 -11
- package/src/execution/engine/tools/integration/server/adapters/attio/__tests__/attio-crud.integration.test.ts +361 -361
- package/src/execution/engine/tools/integration/server/adapters/attio/attio-adapter.ts +162 -162
- package/src/execution/engine/tools/integration/server/adapters/attio/attio-tools.ts +594 -594
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/create-attribute/index.ts +214 -214
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/create-note/index.ts +152 -152
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/create-record/index.ts +141 -141
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/delete-note/index.ts +86 -86
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/delete-record/index.ts +105 -105
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/get-record/index.ts +118 -118
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-attributes/index.ts +165 -165
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-notes/index.ts +96 -96
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-objects/index.ts +104 -104
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-records/index.ts +156 -156
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/update-attribute/index.ts +220 -220
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/update-record/index.ts +140 -140
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/utils/types.ts +146 -146
- package/src/execution/engine/tools/integration/server/adapters/attio/index.ts +31 -31
- package/src/execution/engine/tools/integration/server/adapters/gmail/gmail-adapter.ts +210 -210
- package/src/execution/engine/tools/integration/server/adapters/gmail/gmail-tools.ts +104 -104
- package/src/execution/engine/tools/integration/server/adapters/google-sheets/__tests__/google-sheets.integration.test.ts +261 -261
- package/src/execution/engine/tools/integration/server/adapters/google-sheets/google-sheets-adapter.ts +1189 -1189
- package/src/execution/engine/tools/integration/server/adapters/google-sheets/google-sheets-tools.ts +641 -641
- package/src/execution/engine/tools/integration/server/adapters/google-sheets/index.ts +18 -18
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/activate-campaign/index.ts +86 -86
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/add-to-campaign/__tests__/index.test.ts +289 -289
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/add-to-campaign/index.ts +154 -154
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/bulk-add-leads/__tests__/index.test.ts +325 -325
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/bulk-add-leads/index.ts +153 -153
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/bulk-delete-leads/index.ts +84 -84
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/create-campaign/index.ts +125 -125
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/create-inbox-test/index.ts +107 -107
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/delete-campaign/index.ts +85 -85
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-account-health/index.ts +91 -91
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-campaign/index.ts +92 -92
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-campaign-analytics/__tests__/index.test.ts +195 -195
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-campaign-analytics/index.ts +113 -113
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-daily-campaign-analytics/index.ts +104 -104
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-emails/index.ts +155 -155
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-step-analytics/__tests__/index.test.ts +196 -196
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-step-analytics/index.ts +102 -102
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/list-campaigns/__tests__/index.test.ts +189 -189
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/list-campaigns/index.ts +87 -87
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/list-leads/index.ts +112 -112
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/patch-lead/index.ts +76 -76
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/pause-campaign/index.ts +86 -86
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/remove-from-subsequence/index.ts +98 -98
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/send-reply/index.ts +126 -126
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-campaign/__tests__/index.test.ts +193 -193
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-campaign/index.ts +99 -99
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-interest-status/__tests__/index.test.ts +621 -621
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-interest-status/index.ts +125 -125
- package/src/execution/engine/tools/integration/server/adapters/instantly/index.ts +29 -29
- package/src/execution/engine/tools/integration/server/adapters/instantly/instantly-adapter.ts +178 -178
- package/src/execution/engine/tools/integration/server/adapters/instantly/instantly-tools.ts +1473 -1473
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/fetch/check-credits/index.ts +59 -59
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/fetch/verify-email/index.ts +102 -102
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/index.ts +17 -17
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/millionverifier-adapter.ts +80 -80
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/millionverifier-tools.ts +102 -102
- package/src/execution/engine/tools/integration/server/adapters/resend/fetch/get-email/index.ts +102 -102
- package/src/execution/engine/tools/integration/server/adapters/resend/fetch/send-email/index.ts +134 -134
- package/src/execution/engine/tools/integration/server/adapters/resend/fetch/utils/types.ts +75 -75
- package/src/execution/engine/tools/integration/server/adapters/resend/index.ts +27 -27
- package/src/execution/engine/tools/integration/server/adapters/resend/resend-adapter.ts +108 -108
- package/src/execution/engine/tools/integration/server/adapters/resend/resend-tools.ts +132 -132
- package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/create-envelope/index.ts +274 -274
- package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/download-document/index.ts +230 -230
- package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/get-envelope/index.ts +133 -133
- package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/void-envelope/index.ts +90 -90
- package/src/execution/engine/tools/integration/server/adapters/stripe/fetch/utils/types.ts +210 -210
- package/src/execution/engine/tools/integration/server/adapters/stripe/stripe-adapter.ts +517 -517
- package/src/execution/engine/tools/integration/server/adapters/stripe/stripe-tools.ts +309 -309
- package/src/execution/engine/tools/integration/server/adapters/tomba/fetch/domain-search/index.ts +133 -133
- package/src/execution/engine/tools/integration/server/adapters/tomba/fetch/email-finder/index.ts +122 -122
- package/src/execution/engine/tools/integration/server/adapters/tomba/fetch/email-verifier/index.ts +111 -111
- package/src/execution/engine/tools/integration/server/adapters/tomba/index.ts +11 -11
- package/src/execution/engine/tools/integration/server/adapters/tomba/tomba-adapter.ts +78 -78
- package/src/execution/engine/tools/integration/server/adapters/tomba/tomba-tools.ts +222 -222
- package/src/execution/engine/tools/integration/server/index.ts +61 -61
- package/src/execution/engine/tools/integration/service.ts +161 -161
- package/src/execution/engine/tools/integration/tool.ts +253 -253
- package/src/execution/engine/tools/integration/types/anymailfinder.ts +74 -74
- package/src/execution/engine/tools/integration/types/apify.ts +92 -92
- package/src/execution/engine/tools/integration/types/index.ts +19 -19
- package/src/execution/engine/tools/integration/types/instantly.ts +557 -557
- package/src/execution/engine/tools/integration/types/millionverifier.ts +56 -56
- package/src/execution/engine/tools/integration/types/stripe.ts +162 -162
- package/src/execution/engine/tools/integration/types/tomba.ts +94 -94
- package/src/execution/engine/tools/lead-service-types.ts +884 -884
- package/src/execution/engine/tools/llm/index.ts +11 -11
- package/src/execution/engine/tools/llm/server/index.ts +8 -8
- package/src/execution/engine/tools/llm/server/llm-call-tool.ts +118 -118
- package/src/execution/engine/tools/platform/__tests__/pdf.test.ts +441 -441
- package/src/execution/engine/tools/platform/acquisition/company-tools.ts +248 -248
- package/src/execution/engine/tools/platform/acquisition/contact-tools.ts +319 -319
- package/src/execution/engine/tools/platform/acquisition/index.ts +43 -43
- package/src/execution/engine/tools/platform/acquisition/list-tools.ts +148 -148
- package/src/execution/engine/tools/platform/acquisition/types.ts +260 -260
- package/src/execution/engine/tools/platform/email/index.ts +122 -122
- package/src/execution/engine/tools/platform/email/types.ts +96 -96
- package/src/execution/engine/tools/platform/index.ts +157 -157
- package/src/execution/engine/tools/platform/notification.ts +81 -81
- package/src/execution/engine/tools/platform/pdf/index.ts +110 -110
- package/src/execution/engine/tools/platform/pdf/types.ts +77 -77
- package/src/execution/engine/tools/platform/scheduler.ts +87 -87
- package/src/execution/engine/tools/platform/storage/index.ts +370 -370
- package/src/execution/engine/tools/platform/types.ts +148 -148
- package/src/execution/engine/tools/registry.ts +700 -699
- package/src/execution/engine/tools/tool-maps.ts +786 -786
- package/src/execution/engine/tools/types.ts +233 -233
- package/src/execution/engine/workflow/__tests__/errors.test.ts +139 -139
- package/src/execution/engine/workflow/errors.ts +63 -63
- package/src/execution/engine/workflow/helpers/index.ts +11 -11
- package/src/execution/engine/workflow/helpers/server/index.ts +8 -8
- package/src/execution/engine/workflow/helpers/server/llm-call.ts +93 -93
- package/src/execution/engine/workflow/index.ts +19 -19
- package/src/execution/engine/workflow/log-truncate.ts +26 -26
- package/src/execution/engine/workflow/logging.ts +191 -191
- package/src/execution/engine/workflow/types.ts +182 -182
- package/src/execution/engine/workflow/utils.ts +280 -280
- package/src/execution/engine/workflow/workflow.ts +168 -168
- package/src/execution/index.ts +3 -3
- package/src/execution/scheduler/__tests__/api-schemas.test.ts +733 -733
- package/src/execution/scheduler/__tests__/utils.test.ts +1009 -1009
- package/src/execution/scheduler/api-schemas.ts +296 -296
- package/src/execution/scheduler/index.ts +50 -50
- package/src/execution/scheduler/schemas.ts +264 -264
- package/src/execution/scheduler/types.ts +111 -111
- package/src/execution/scheduler/utils.ts +364 -364
- package/src/forms/index.ts +7 -7
- package/src/forms/schemas.ts +69 -69
- package/src/forms/types.ts +70 -70
- package/src/index.ts +71 -60
- package/src/integrations/credentials/__tests__/schemas.test.ts +82 -82
- package/src/integrations/credentials/__tests__/utils.test.ts +144 -144
- package/src/integrations/credentials/api-schemas.ts +143 -143
- package/src/integrations/credentials/index.ts +32 -32
- package/src/integrations/credentials/schemas.ts +164 -164
- package/src/integrations/credentials/utils.ts +59 -59
- package/src/integrations/oauth/__tests__/provider-registry.test.ts +59 -59
- package/src/integrations/oauth/api-schemas.ts +92 -92
- package/src/integrations/oauth/index.ts +19 -19
- package/src/integrations/oauth/provider-registry.ts +61 -61
- package/src/integrations/oauth/server/__tests__/refresh-concurrent.test.ts +183 -183
- package/src/integrations/oauth/server/__tests__/refresh.test.ts +577 -577
- package/src/integrations/oauth/server/credentials.ts +39 -39
- package/src/integrations/oauth/server/refresh.ts +214 -214
- package/src/integrations/oauth/types.ts +34 -34
- package/src/integrations/webhook-endpoints/__tests__/api-schemas.test.ts +318 -318
- package/src/integrations/webhook-endpoints/api-schemas.ts +102 -102
- package/src/integrations/webhook-endpoints/index.ts +28 -28
- package/src/integrations/webhook-endpoints/types.ts +51 -51
- package/src/operations/activities/api-schemas.ts +79 -79
- package/src/operations/activities/index.ts +9 -9
- package/src/operations/activities/sse-events.ts +30 -30
- package/src/operations/activities/types.ts +63 -63
- package/src/operations/debug-logs/client.ts +60 -60
- package/src/operations/debug-logs/debug-logger.ts +83 -83
- package/src/operations/debug-logs/index.ts +8 -8
- package/src/operations/debug-logs/server.ts +19 -19
- package/src/operations/debug-logs/types.ts +33 -33
- package/src/operations/index.ts +50 -50
- package/src/operations/notifications/api-schemas.ts +91 -91
- package/src/operations/notifications/index.ts +3 -3
- package/src/operations/notifications/sse-events.ts +21 -21
- package/src/operations/notifications/types.ts +47 -47
- package/src/operations/observability/__tests__/openrouter-cost-flow.test.ts +297 -297
- package/src/operations/observability/__tests__/utils.test.ts +54 -54
- package/src/operations/observability/ai-usage-collector.ts +64 -64
- package/src/operations/observability/index.ts +13 -13
- package/src/operations/observability/metrics-collector.ts +49 -49
- package/src/operations/observability/schemas.ts +39 -39
- package/src/operations/observability/types.ts +463 -463
- package/src/operations/observability/utils.ts +77 -77
- package/src/operations/sessions/__tests__/manager.test.ts +821 -821
- package/src/operations/sessions/index.ts +26 -26
- package/src/operations/sessions/server/manager.ts +90 -90
- package/src/operations/sessions/server/session.ts +180 -180
- package/src/operations/sessions/types.ts +98 -98
- package/src/operations/triggers/index.ts +12 -12
- package/src/operations/triggers/webhook/definitions/instantly-account-error.ts +44 -44
- package/src/operations/triggers/webhook/definitions/instantly-auto-reply-received.ts +51 -51
- package/src/operations/triggers/webhook/definitions/instantly-campaign-completed.ts +45 -45
- package/src/operations/triggers/webhook/definitions/instantly-email-bounced.ts +49 -49
- package/src/operations/triggers/webhook/definitions/instantly-lead-unsubscribed.ts +45 -45
- package/src/operations/triggers/webhook/definitions/instantly-reply-received.ts +54 -54
- package/src/operations/triggers/webhook/index.ts +35 -35
- package/src/operations/triggers/webhook/types.ts +74 -74
- package/src/organization-model/README.md +97 -97
- package/src/organization-model/__tests__/defaults.test.ts +175 -175
- package/src/organization-model/__tests__/domains/customers.test.ts +295 -295
- package/src/organization-model/__tests__/domains/goals.test.ts +479 -479
- package/src/organization-model/__tests__/domains/identity.test.ts +279 -279
- package/src/organization-model/__tests__/domains/navigation.test.ts +212 -212
- package/src/organization-model/__tests__/domains/offerings.test.ts +419 -419
- package/src/organization-model/__tests__/domains/operations.test.ts +203 -203
- package/src/organization-model/__tests__/domains/resource-mappings.test.ts +362 -362
- package/src/organization-model/__tests__/domains/roles.test.ts +347 -347
- package/src/organization-model/__tests__/domains/statuses.test.ts +243 -243
- package/src/organization-model/__tests__/foundation.test.ts +105 -105
- package/src/organization-model/__tests__/graph.test.ts +894 -894
- package/src/organization-model/__tests__/resolve.test.ts +690 -690
- package/src/organization-model/__tests__/schema.test.ts +407 -407
- package/src/organization-model/contracts.ts +14 -14
- package/src/organization-model/defaults.ts +148 -148
- package/src/organization-model/domains/branding.ts +22 -22
- package/src/organization-model/domains/customers.ts +75 -75
- package/src/organization-model/domains/features.ts +22 -22
- package/src/organization-model/domains/goals.ts +80 -80
- package/src/organization-model/domains/identity.ts +94 -94
- package/src/organization-model/domains/navigation.ts +391 -391
- package/src/organization-model/domains/offerings.ts +66 -66
- package/src/organization-model/domains/operations.ts +85 -85
- package/src/organization-model/domains/projects.ts +48 -48
- package/src/organization-model/domains/prospecting.ts +33 -33
- package/src/organization-model/domains/roles.ts +55 -55
- package/src/organization-model/domains/sales.ts +94 -94
- package/src/organization-model/domains/shared.ts +62 -62
- package/src/organization-model/domains/statuses.ts +130 -130
- package/src/organization-model/foundation.ts +97 -97
- package/src/organization-model/graph/build.ts +399 -399
- package/src/organization-model/graph/index.ts +4 -4
- package/src/organization-model/graph/schema.ts +48 -48
- package/src/organization-model/graph/types.ts +40 -40
- package/src/organization-model/index.ts +13 -13
- package/src/organization-model/organization-graph.mdx +272 -272
- package/src/organization-model/organization-model.mdx +320 -320
- package/src/organization-model/published.ts +85 -85
- package/src/organization-model/resolve.ts +66 -66
- package/src/organization-model/schema.ts +287 -287
- package/src/organization-model/types.ts +46 -46
- package/src/platform/api/index.ts +1 -1
- package/src/platform/api/types.ts +35 -35
- package/src/platform/constants/http.ts +37 -37
- package/src/platform/constants/index.ts +5 -5
- package/src/platform/constants/limits.ts +32 -32
- package/src/platform/constants/resilience.ts +51 -51
- package/src/platform/constants/timeouts.ts +20 -20
- package/src/platform/constants/versions.ts +3 -3
- package/src/platform/registry/__tests__/resource-registry-static.test.ts +347 -347
- package/src/platform/registry/__tests__/resource-registry.integration.test.ts +1028 -1028
- package/src/platform/registry/__tests__/resource-registry.list-executable.test.ts +393 -393
- package/src/platform/registry/__tests__/resource-registry.test.ts +2005 -2005
- package/src/platform/registry/__tests__/serialization.test.ts +1127 -1127
- package/src/platform/registry/command-view.ts +180 -180
- package/src/platform/registry/domains.ts +165 -165
- package/src/platform/registry/index.ts +93 -93
- package/src/platform/registry/reserved.ts +24 -24
- package/src/platform/registry/resource-metadata.ts +59 -59
- package/src/platform/registry/resource-registry.command-queue-groups.test.ts +129 -129
- package/src/platform/registry/resource-registry.ts +876 -876
- package/src/platform/registry/serialization.ts +273 -273
- package/src/platform/registry/serialized-types.ts +231 -231
- package/src/platform/registry/stats-types.ts +66 -66
- package/src/platform/registry/types.ts +404 -404
- package/src/platform/registry/validation.ts +513 -513
- package/src/platform/resilience/__tests__/rate-limiter.test.ts +471 -471
- package/src/platform/resilience/circuit-breaker.ts +164 -164
- package/src/platform/resilience/errors.ts +68 -68
- package/src/platform/resilience/http-error-mapper.ts +129 -129
- package/src/platform/resilience/index.ts +93 -93
- package/src/platform/resilience/rate-limiter-types.ts +46 -46
- package/src/platform/resilience/rate-limiter.ts +140 -140
- package/src/platform/resilience/retry.ts +89 -89
- package/src/platform/resilience/timeout.ts +63 -63
- package/src/platform/sse/events.ts +37 -34
- package/src/platform/sse/index.ts +7 -7
- package/src/platform/utils/__tests__/validation.test.ts +1083 -1083
- package/src/platform/utils/currency.ts +96 -96
- package/src/platform/utils/debounce.ts +52 -52
- package/src/platform/utils/error.ts +41 -41
- package/src/platform/utils/hmac.test.ts +97 -97
- package/src/platform/utils/index.ts +32 -32
- package/src/platform/utils/server/betterstack-logger.ts +210 -210
- package/src/platform/utils/server/hmac.ts +44 -44
- package/src/platform/utils/server/unsubscribe.ts +111 -111
- package/src/platform/utils/token-counter.ts +96 -96
- package/src/platform/utils/validation.ts +425 -425
- package/src/projects/api-schemas.ts +268 -268
- package/src/published.ts +1 -1
- package/src/reference/_generated/contracts.md +611 -607
- package/src/reference/glossary.md +105 -105
- package/src/requests/__tests__/api-schemas.test.ts +277 -277
- package/src/requests/api-schemas.ts +83 -83
- package/src/requests/index.ts +1 -1
- package/src/scaffold-registry/__tests__/index.test.ts +17 -0
- package/src/scaffold-registry/__tests__/schema.test.ts +329 -230
- package/src/scaffold-registry/index.ts +205 -189
- package/src/scaffold-registry/schema.ts +196 -128
- package/src/server.ts +272 -272
- package/src/supabase/database.types.ts +2719 -2719
- package/src/supabase/helpers.ts +20 -20
- package/src/supabase/index.ts +52 -52
- package/src/supabase/server/client.ts +58 -58
- package/src/test-utils/README.md +38 -38
- package/src/test-utils/browser-mocks.ts +54 -54
- package/src/test-utils/fixtures/api-keys.ts +52 -52
- package/src/test-utils/fixtures/index.ts +4 -4
- package/src/test-utils/fixtures/memberships.ts +80 -80
- package/src/test-utils/fixtures/organizations.ts +69 -69
- package/src/test-utils/fixtures/users.ts +79 -79
- package/src/test-utils/index.ts +11 -11
- package/src/test-utils/mocks/index.ts +2 -2
- package/src/test-utils/mocks/supabase.ts +142 -142
- package/src/test-utils/mocks/workos.ts +108 -108
- package/src/test-utils/rls/RLSTestContext.ts +556 -556
- package/src/test-utils/rls/index.ts +1 -1
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Instantly Lead Unsubscribed Trigger Definition
|
|
3
|
-
*
|
|
4
|
-
* Webhook trigger for Instantly lead unsubscribe events.
|
|
5
|
-
* Uses Instantly's native snake_case format - no transformation needed.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import type { TriggerDefinition, WebhookTriggerConfig } from '../../../../platform/registry/types'
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Instantly lead unsubscribed webhook payload structure
|
|
12
|
-
*
|
|
13
|
-
* Uses snake_case matching Instantly's API. Workflows receive this directly.
|
|
14
|
-
*/
|
|
15
|
-
export interface InstantlyLeadUnsubscribedPayload {
|
|
16
|
-
timestamp: string
|
|
17
|
-
event_type: 'lead_unsubscribed'
|
|
18
|
-
workspace: string
|
|
19
|
-
campaign_id: string
|
|
20
|
-
campaign_name?: string
|
|
21
|
-
lead_email: string
|
|
22
|
-
email_account: string
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Instantly Lead Unsubscribed Trigger Definition
|
|
27
|
-
*
|
|
28
|
-
* Trigger type: webhook
|
|
29
|
-
* Provider: instantly
|
|
30
|
-
* Event: lead_unsubscribed
|
|
31
|
-
*/
|
|
32
|
-
export const instantlyLeadUnsubscribedTrigger: TriggerDefinition = {
|
|
33
|
-
resourceId: 'trigger-instantly-lead-unsubscribed',
|
|
34
|
-
type: 'trigger',
|
|
35
|
-
triggerType: 'webhook',
|
|
36
|
-
name: 'Instantly Lead Unsubscribed',
|
|
37
|
-
description: 'Webhook fired when a lead unsubscribes from an Instantly email campaign',
|
|
38
|
-
version: '1.0.0',
|
|
39
|
-
status: 'dev',
|
|
40
|
-
webhookPath: '/webhooks/instantly/lead-unsubscribed',
|
|
41
|
-
config: {
|
|
42
|
-
provider: 'instantly',
|
|
43
|
-
event: 'lead_unsubscribed'
|
|
44
|
-
} as WebhookTriggerConfig
|
|
45
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Instantly Lead Unsubscribed Trigger Definition
|
|
3
|
+
*
|
|
4
|
+
* Webhook trigger for Instantly lead unsubscribe events.
|
|
5
|
+
* Uses Instantly's native snake_case format - no transformation needed.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type { TriggerDefinition, WebhookTriggerConfig } from '../../../../platform/registry/types'
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Instantly lead unsubscribed webhook payload structure
|
|
12
|
+
*
|
|
13
|
+
* Uses snake_case matching Instantly's API. Workflows receive this directly.
|
|
14
|
+
*/
|
|
15
|
+
export interface InstantlyLeadUnsubscribedPayload {
|
|
16
|
+
timestamp: string
|
|
17
|
+
event_type: 'lead_unsubscribed'
|
|
18
|
+
workspace: string
|
|
19
|
+
campaign_id: string
|
|
20
|
+
campaign_name?: string
|
|
21
|
+
lead_email: string
|
|
22
|
+
email_account: string
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Instantly Lead Unsubscribed Trigger Definition
|
|
27
|
+
*
|
|
28
|
+
* Trigger type: webhook
|
|
29
|
+
* Provider: instantly
|
|
30
|
+
* Event: lead_unsubscribed
|
|
31
|
+
*/
|
|
32
|
+
export const instantlyLeadUnsubscribedTrigger: TriggerDefinition = {
|
|
33
|
+
resourceId: 'trigger-instantly-lead-unsubscribed',
|
|
34
|
+
type: 'trigger',
|
|
35
|
+
triggerType: 'webhook',
|
|
36
|
+
name: 'Instantly Lead Unsubscribed',
|
|
37
|
+
description: 'Webhook fired when a lead unsubscribes from an Instantly email campaign',
|
|
38
|
+
version: '1.0.0',
|
|
39
|
+
status: 'dev',
|
|
40
|
+
webhookPath: '/webhooks/instantly/lead-unsubscribed',
|
|
41
|
+
config: {
|
|
42
|
+
provider: 'instantly',
|
|
43
|
+
event: 'lead_unsubscribed'
|
|
44
|
+
} as WebhookTriggerConfig
|
|
45
|
+
}
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Instantly Reply Received Trigger Definition
|
|
3
|
-
*
|
|
4
|
-
* Webhook trigger for Instantly email reply events.
|
|
5
|
-
* Uses Instantly's native snake_case format - no transformation needed.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import type { TriggerDefinition, WebhookTriggerConfig } from '../../../../platform/registry/types'
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Instantly webhook payload structure
|
|
12
|
-
*
|
|
13
|
-
* Uses snake_case matching Instantly's API. Workflows receive this directly.
|
|
14
|
-
*/
|
|
15
|
-
export interface InstantlyReplyWebhookPayload {
|
|
16
|
-
timestamp: string
|
|
17
|
-
event_type: 'reply_received'
|
|
18
|
-
workspace: string
|
|
19
|
-
campaign_id: string
|
|
20
|
-
campaign_name?: string
|
|
21
|
-
lead_email: string
|
|
22
|
-
email_account: string
|
|
23
|
-
unibox_url: string
|
|
24
|
-
reply_to_uuid: string
|
|
25
|
-
reply_subject: string
|
|
26
|
-
reply_text: string
|
|
27
|
-
reply_text_snippet: string
|
|
28
|
-
reply_html: string
|
|
29
|
-
step: number
|
|
30
|
-
variant: number
|
|
31
|
-
is_first: boolean
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Instantly Reply Received Trigger Definition
|
|
36
|
-
*
|
|
37
|
-
* Trigger type: webhook
|
|
38
|
-
* Provider: instantly
|
|
39
|
-
* Event: reply_received
|
|
40
|
-
*/
|
|
41
|
-
export const instantlyReplyReceivedTrigger: TriggerDefinition = {
|
|
42
|
-
resourceId: 'trigger-instantly-reply-received',
|
|
43
|
-
type: 'trigger',
|
|
44
|
-
triggerType: 'webhook',
|
|
45
|
-
name: 'Instantly Reply Received',
|
|
46
|
-
description: 'Webhook fired when a lead replies to an Instantly email campaign',
|
|
47
|
-
version: '1.0.0',
|
|
48
|
-
status: 'dev',
|
|
49
|
-
webhookPath: '/webhooks/instantly/reply-received',
|
|
50
|
-
config: {
|
|
51
|
-
provider: 'instantly',
|
|
52
|
-
event: 'reply_received'
|
|
53
|
-
} as WebhookTriggerConfig
|
|
54
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Instantly Reply Received Trigger Definition
|
|
3
|
+
*
|
|
4
|
+
* Webhook trigger for Instantly email reply events.
|
|
5
|
+
* Uses Instantly's native snake_case format - no transformation needed.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type { TriggerDefinition, WebhookTriggerConfig } from '../../../../platform/registry/types'
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Instantly webhook payload structure
|
|
12
|
+
*
|
|
13
|
+
* Uses snake_case matching Instantly's API. Workflows receive this directly.
|
|
14
|
+
*/
|
|
15
|
+
export interface InstantlyReplyWebhookPayload {
|
|
16
|
+
timestamp: string
|
|
17
|
+
event_type: 'reply_received'
|
|
18
|
+
workspace: string
|
|
19
|
+
campaign_id: string
|
|
20
|
+
campaign_name?: string
|
|
21
|
+
lead_email: string
|
|
22
|
+
email_account: string
|
|
23
|
+
unibox_url: string
|
|
24
|
+
reply_to_uuid: string
|
|
25
|
+
reply_subject: string
|
|
26
|
+
reply_text: string
|
|
27
|
+
reply_text_snippet: string
|
|
28
|
+
reply_html: string
|
|
29
|
+
step: number
|
|
30
|
+
variant: number
|
|
31
|
+
is_first: boolean
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Instantly Reply Received Trigger Definition
|
|
36
|
+
*
|
|
37
|
+
* Trigger type: webhook
|
|
38
|
+
* Provider: instantly
|
|
39
|
+
* Event: reply_received
|
|
40
|
+
*/
|
|
41
|
+
export const instantlyReplyReceivedTrigger: TriggerDefinition = {
|
|
42
|
+
resourceId: 'trigger-instantly-reply-received',
|
|
43
|
+
type: 'trigger',
|
|
44
|
+
triggerType: 'webhook',
|
|
45
|
+
name: 'Instantly Reply Received',
|
|
46
|
+
description: 'Webhook fired when a lead replies to an Instantly email campaign',
|
|
47
|
+
version: '1.0.0',
|
|
48
|
+
status: 'dev',
|
|
49
|
+
webhookPath: '/webhooks/instantly/reply-received',
|
|
50
|
+
config: {
|
|
51
|
+
provider: 'instantly',
|
|
52
|
+
event: 'reply_received'
|
|
53
|
+
} as WebhookTriggerConfig
|
|
54
|
+
}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Webhook Triggers Module
|
|
3
|
-
*
|
|
4
|
-
* Webhooks are a type of trigger that start workflow executions
|
|
5
|
-
* when external services send HTTP requests to Elevasis.
|
|
6
|
-
*
|
|
7
|
-
* This module contains:
|
|
8
|
-
* - Provider interface for webhook signature validation (types only)
|
|
9
|
-
* - Trigger definitions for specific webhook events
|
|
10
|
-
*
|
|
11
|
-
* Note: Provider IMPLEMENTATIONS live in apps/api/src/webhooks/providers/
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
// Provider interface and types (contract only - implementations in apps/api)
|
|
15
|
-
export type { WebhookProvider, WebhookValidationResult } from './types'
|
|
16
|
-
|
|
17
|
-
// Webhook trigger definitions
|
|
18
|
-
export {
|
|
19
|
-
instantlyReplyReceivedTrigger,
|
|
20
|
-
type InstantlyReplyWebhookPayload
|
|
21
|
-
} from './definitions/instantly-reply-received'
|
|
22
|
-
export { instantlyEmailBouncedTrigger, type InstantlyEmailBouncedPayload } from './definitions/instantly-email-bounced'
|
|
23
|
-
export {
|
|
24
|
-
instantlyLeadUnsubscribedTrigger,
|
|
25
|
-
type InstantlyLeadUnsubscribedPayload
|
|
26
|
-
} from './definitions/instantly-lead-unsubscribed'
|
|
27
|
-
export {
|
|
28
|
-
instantlyCampaignCompletedTrigger,
|
|
29
|
-
type InstantlyCampaignCompletedPayload
|
|
30
|
-
} from './definitions/instantly-campaign-completed'
|
|
31
|
-
export { instantlyAccountErrorTrigger, type InstantlyAccountErrorPayload } from './definitions/instantly-account-error'
|
|
32
|
-
export {
|
|
33
|
-
instantlyAutoReplyReceivedTrigger,
|
|
34
|
-
type InstantlyAutoReplyReceivedPayload
|
|
35
|
-
} from './definitions/instantly-auto-reply-received'
|
|
1
|
+
/**
|
|
2
|
+
* Webhook Triggers Module
|
|
3
|
+
*
|
|
4
|
+
* Webhooks are a type of trigger that start workflow executions
|
|
5
|
+
* when external services send HTTP requests to Elevasis.
|
|
6
|
+
*
|
|
7
|
+
* This module contains:
|
|
8
|
+
* - Provider interface for webhook signature validation (types only)
|
|
9
|
+
* - Trigger definitions for specific webhook events
|
|
10
|
+
*
|
|
11
|
+
* Note: Provider IMPLEMENTATIONS live in apps/api/src/webhooks/providers/
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
// Provider interface and types (contract only - implementations in apps/api)
|
|
15
|
+
export type { WebhookProvider, WebhookValidationResult } from './types'
|
|
16
|
+
|
|
17
|
+
// Webhook trigger definitions
|
|
18
|
+
export {
|
|
19
|
+
instantlyReplyReceivedTrigger,
|
|
20
|
+
type InstantlyReplyWebhookPayload
|
|
21
|
+
} from './definitions/instantly-reply-received'
|
|
22
|
+
export { instantlyEmailBouncedTrigger, type InstantlyEmailBouncedPayload } from './definitions/instantly-email-bounced'
|
|
23
|
+
export {
|
|
24
|
+
instantlyLeadUnsubscribedTrigger,
|
|
25
|
+
type InstantlyLeadUnsubscribedPayload
|
|
26
|
+
} from './definitions/instantly-lead-unsubscribed'
|
|
27
|
+
export {
|
|
28
|
+
instantlyCampaignCompletedTrigger,
|
|
29
|
+
type InstantlyCampaignCompletedPayload
|
|
30
|
+
} from './definitions/instantly-campaign-completed'
|
|
31
|
+
export { instantlyAccountErrorTrigger, type InstantlyAccountErrorPayload } from './definitions/instantly-account-error'
|
|
32
|
+
export {
|
|
33
|
+
instantlyAutoReplyReceivedTrigger,
|
|
34
|
+
type InstantlyAutoReplyReceivedPayload
|
|
35
|
+
} from './definitions/instantly-auto-reply-received'
|
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Webhook Trigger type definitions
|
|
3
|
-
*
|
|
4
|
-
* These types define the contract for webhook providers that validate
|
|
5
|
-
* signatures from external services (Cal.com, Fillout, Stripe, Instantly, etc.)
|
|
6
|
-
*
|
|
7
|
-
* Webhooks are a type of trigger - they start workflow executions
|
|
8
|
-
* when external services send HTTP requests to Elevasis.
|
|
9
|
-
*
|
|
10
|
-
* Note: Provider IMPLEMENTATIONS live in apps/api/src/webhooks/providers/
|
|
11
|
-
* This file only contains the interface contract.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
import type { WebhookProviderType } from '../../../platform/registry/types'
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Result of webhook signature validation
|
|
18
|
-
*/
|
|
19
|
-
export interface WebhookValidationResult {
|
|
20
|
-
/** Whether the signature is valid */
|
|
21
|
-
isValid: boolean
|
|
22
|
-
/** Parsed payload if validation succeeded */
|
|
23
|
-
payload?: unknown
|
|
24
|
-
/** Error message if validation failed */
|
|
25
|
-
error?: string
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Webhook provider interface
|
|
30
|
-
*
|
|
31
|
-
* Each provider implements signature validation specific to their
|
|
32
|
-
* webhook format (e.g., HMAC-SHA256 for Cal.com and Fillout).
|
|
33
|
-
*
|
|
34
|
-
* @example
|
|
35
|
-
* ```typescript
|
|
36
|
-
* class CalComProvider implements WebhookProvider {
|
|
37
|
-
* readonly providerId = 'cal-com' as const
|
|
38
|
-
*
|
|
39
|
-
* async validateSignature(rawBody, headers, secret) {
|
|
40
|
-
* // HMAC-SHA256 validation
|
|
41
|
-
* }
|
|
42
|
-
*
|
|
43
|
-
* getEventType(payload) {
|
|
44
|
-
* return payload.triggerEvent // e.g., 'BOOKING_CREATED'
|
|
45
|
-
* }
|
|
46
|
-
* }
|
|
47
|
-
* ```
|
|
48
|
-
*/
|
|
49
|
-
export interface WebhookProvider {
|
|
50
|
-
/** Provider identifier (e.g., 'cal-com', 'fillout', 'stripe') */
|
|
51
|
-
readonly providerId: WebhookProviderType
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Validate webhook signature and return parsed payload
|
|
55
|
-
*
|
|
56
|
-
* @param rawBody - Raw request body as string (before JSON parsing)
|
|
57
|
-
* @param headers - Request headers (lowercase keys)
|
|
58
|
-
* @param secret - Webhook signing secret from credentials
|
|
59
|
-
* @returns Validation result with parsed payload or error
|
|
60
|
-
*/
|
|
61
|
-
validateSignature(
|
|
62
|
-
rawBody: string,
|
|
63
|
-
headers: Record<string, string>,
|
|
64
|
-
secret: string
|
|
65
|
-
): Promise<WebhookValidationResult>
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Extract event type from validated payload
|
|
69
|
-
*
|
|
70
|
-
* @param payload - Parsed webhook payload (from validateSignature)
|
|
71
|
-
* @returns Provider-specific event type (e.g., 'BOOKING_CREATED', 'invoice.paid')
|
|
72
|
-
*/
|
|
73
|
-
getEventType(payload: unknown): string
|
|
74
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Webhook Trigger type definitions
|
|
3
|
+
*
|
|
4
|
+
* These types define the contract for webhook providers that validate
|
|
5
|
+
* signatures from external services (Cal.com, Fillout, Stripe, Instantly, etc.)
|
|
6
|
+
*
|
|
7
|
+
* Webhooks are a type of trigger - they start workflow executions
|
|
8
|
+
* when external services send HTTP requests to Elevasis.
|
|
9
|
+
*
|
|
10
|
+
* Note: Provider IMPLEMENTATIONS live in apps/api/src/webhooks/providers/
|
|
11
|
+
* This file only contains the interface contract.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import type { WebhookProviderType } from '../../../platform/registry/types'
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Result of webhook signature validation
|
|
18
|
+
*/
|
|
19
|
+
export interface WebhookValidationResult {
|
|
20
|
+
/** Whether the signature is valid */
|
|
21
|
+
isValid: boolean
|
|
22
|
+
/** Parsed payload if validation succeeded */
|
|
23
|
+
payload?: unknown
|
|
24
|
+
/** Error message if validation failed */
|
|
25
|
+
error?: string
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Webhook provider interface
|
|
30
|
+
*
|
|
31
|
+
* Each provider implements signature validation specific to their
|
|
32
|
+
* webhook format (e.g., HMAC-SHA256 for Cal.com and Fillout).
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* class CalComProvider implements WebhookProvider {
|
|
37
|
+
* readonly providerId = 'cal-com' as const
|
|
38
|
+
*
|
|
39
|
+
* async validateSignature(rawBody, headers, secret) {
|
|
40
|
+
* // HMAC-SHA256 validation
|
|
41
|
+
* }
|
|
42
|
+
*
|
|
43
|
+
* getEventType(payload) {
|
|
44
|
+
* return payload.triggerEvent // e.g., 'BOOKING_CREATED'
|
|
45
|
+
* }
|
|
46
|
+
* }
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export interface WebhookProvider {
|
|
50
|
+
/** Provider identifier (e.g., 'cal-com', 'fillout', 'stripe') */
|
|
51
|
+
readonly providerId: WebhookProviderType
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Validate webhook signature and return parsed payload
|
|
55
|
+
*
|
|
56
|
+
* @param rawBody - Raw request body as string (before JSON parsing)
|
|
57
|
+
* @param headers - Request headers (lowercase keys)
|
|
58
|
+
* @param secret - Webhook signing secret from credentials
|
|
59
|
+
* @returns Validation result with parsed payload or error
|
|
60
|
+
*/
|
|
61
|
+
validateSignature(
|
|
62
|
+
rawBody: string,
|
|
63
|
+
headers: Record<string, string>,
|
|
64
|
+
secret: string
|
|
65
|
+
): Promise<WebhookValidationResult>
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Extract event type from validated payload
|
|
69
|
+
*
|
|
70
|
+
* @param payload - Parsed webhook payload (from validateSignature)
|
|
71
|
+
* @returns Provider-specific event type (e.g., 'BOOKING_CREATED', 'invoice.paid')
|
|
72
|
+
*/
|
|
73
|
+
getEventType(payload: unknown): string
|
|
74
|
+
}
|
|
@@ -1,97 +1,97 @@
|
|
|
1
|
-
# Organization Model
|
|
2
|
-
|
|
3
|
-
The organization model is the published semantic contract that maps a tenant's product shape to domain surfaces, features, and navigation.
|
|
4
|
-
|
|
5
|
-
Use this module when you need to resolve or validate an organization's contract before wiring UI shells, routing, or domain-specific capability checks.
|
|
6
|
-
|
|
7
|
-
## Published Exports
|
|
8
|
-
|
|
9
|
-
The public entry point exposes:
|
|
10
|
-
|
|
11
|
-
- `OrganizationModelSchema`
|
|
12
|
-
- `DEFAULT_ORGANIZATION_MODEL`
|
|
13
|
-
- `defineOrganizationModel`
|
|
14
|
-
- `resolveOrganizationModel`
|
|
15
|
-
- `PROJECTS_FEATURE_ID`
|
|
16
|
-
- `PROJECTS_INDEX_SURFACE_ID`
|
|
17
|
-
- `PROJECTS_VIEW_CAPABILITY_ID`
|
|
18
|
-
- `OrganizationModel` and the supporting domain types
|
|
19
|
-
|
|
20
|
-
Import it from the published subpath:
|
|
21
|
-
|
|
22
|
-
```ts
|
|
23
|
-
import {
|
|
24
|
-
DEFAULT_ORGANIZATION_MODEL,
|
|
25
|
-
PROJECTS_VIEW_CAPABILITY_ID,
|
|
26
|
-
defineOrganizationModel,
|
|
27
|
-
PROJECTS_FEATURE_ID,
|
|
28
|
-
PROJECTS_INDEX_SURFACE_ID,
|
|
29
|
-
resolveOrganizationModel,
|
|
30
|
-
type OrganizationModel
|
|
31
|
-
} from '@elevasis/core/organization-model'
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Contract Shape
|
|
35
|
-
|
|
36
|
-
The model is versioned and currently validates against `version: 1`.
|
|
37
|
-
|
|
38
|
-
Top-level fields:
|
|
39
|
-
|
|
40
|
-
- `version` - schema version for the resolved contract.
|
|
41
|
-
- `branding` - organization branding defaults and overrides.
|
|
42
|
-
- `features` - unified feature entries that combine enablement, labels, and semantic references.
|
|
43
|
-
- `navigation` - navigation model for the product shell.
|
|
44
|
-
- `sales` - sales pipeline and relationship management.
|
|
45
|
-
- `prospecting` - lists, companies, and contacts.
|
|
46
|
-
- `projects` - projects, milestones, and tasks.
|
|
47
|
-
- `identity`, `customers`, `offerings`, `roles`, `goals` - reality domains (2026-04 expansion).
|
|
48
|
-
- `statuses` - unified status registry across delivery / hitl / execution / request / schedule.
|
|
49
|
-
- `operations` - catalog of stateful runtime entities (HITL queue, sessions, executions, notifications, schedules).
|
|
50
|
-
- `resourceMappings` - cross-surface resource mappings (includes techStack subsection).
|
|
51
|
-
|
|
52
|
-
## Default Feature Set
|
|
53
|
-
|
|
54
|
-
The default model includes eight feature IDs:
|
|
55
|
-
|
|
56
|
-
- `sales` - deal pipeline and relationship management.
|
|
57
|
-
- `prospecting` - lists, companies, and contacts.
|
|
58
|
-
- `projects` - projects, milestones, and tasks.
|
|
59
|
-
- `operations` - organization graph and command-view surfaces.
|
|
60
|
-
- `monitoring` - monitoring surfaces.
|
|
61
|
-
- `settings` - organization settings.
|
|
62
|
-
- `seo` - SEO surfaces (disabled by default).
|
|
63
|
-
- `configure` - `/configure` skill entry point (external projects).
|
|
64
|
-
|
|
65
|
-
## Project Bridge Constants
|
|
66
|
-
|
|
67
|
-
The organization-model surface exports a narrow set of canonical IDs for the shared Projects bridge:
|
|
68
|
-
|
|
69
|
-
- `PROJECTS_FEATURE_ID` -> `projects`
|
|
70
|
-
- `PROJECTS_INDEX_SURFACE_ID` -> `projects.index`
|
|
71
|
-
- `PROJECTS_VIEW_CAPABILITY_ID` -> `delivery.projects.view`
|
|
72
|
-
|
|
73
|
-
Use these when wiring shared UI manifests, template adapters, or other consumers that need to agree on the same Projects contract without repeating raw literals.
|
|
74
|
-
|
|
75
|
-
## Resolution Semantics
|
|
76
|
-
|
|
77
|
-
- `defineOrganizationModel()` is a typed helper. It does not validate or merge anything by itself.
|
|
78
|
-
- `resolveOrganizationModel()` deep-merges a partial override into the default model, then validates the result with `OrganizationModelSchema`.
|
|
79
|
-
- Plain objects merge recursively.
|
|
80
|
-
- Arrays replace the default value instead of merging element-by-element.
|
|
81
|
-
- If `navigation.surfaces` is replaced without also supplying `navigation.groups`, inherited default groups are dropped when they no longer point at declared surfaces.
|
|
82
|
-
- Missing fields fall back to `DEFAULT_ORGANIZATION_MODEL`.
|
|
83
|
-
|
|
84
|
-
## Referential Integrity
|
|
85
|
-
|
|
86
|
-
- `navigation.defaultSurfaceId` must point at a declared navigation surface.
|
|
87
|
-
- Every navigation group `surfaceId` must resolve to a declared surface.
|
|
88
|
-
- Feature, surface, and resource-mapping IDs must resolve to declared counterparts; dangling references fail validation.
|
|
89
|
-
- Feature-to-surface and feature/surface-to-resource links are validated in both directions so one-sided declarations fail during resolution.
|
|
90
|
-
- Feature-bearing surfaces validate `featureId` against the canonical feature set.
|
|
91
|
-
|
|
92
|
-
## Practical Guidance
|
|
93
|
-
|
|
94
|
-
- Use `resolveOrganizationModel()` when you need a runtime-safe model for rendering or policy checks.
|
|
95
|
-
- Use `defineOrganizationModel()` when authoring a static partial model in source.
|
|
96
|
-
- Treat feature IDs such as `sales`, `prospecting`, and `projects` as the canonical shell-level contract in new organization-model authoring.
|
|
97
|
-
- Keep feature IDs, surface IDs, and capability IDs stable because downstream UI and policy code depend on them.
|
|
1
|
+
# Organization Model
|
|
2
|
+
|
|
3
|
+
The organization model is the published semantic contract that maps a tenant's product shape to domain surfaces, features, and navigation.
|
|
4
|
+
|
|
5
|
+
Use this module when you need to resolve or validate an organization's contract before wiring UI shells, routing, or domain-specific capability checks.
|
|
6
|
+
|
|
7
|
+
## Published Exports
|
|
8
|
+
|
|
9
|
+
The public entry point exposes:
|
|
10
|
+
|
|
11
|
+
- `OrganizationModelSchema`
|
|
12
|
+
- `DEFAULT_ORGANIZATION_MODEL`
|
|
13
|
+
- `defineOrganizationModel`
|
|
14
|
+
- `resolveOrganizationModel`
|
|
15
|
+
- `PROJECTS_FEATURE_ID`
|
|
16
|
+
- `PROJECTS_INDEX_SURFACE_ID`
|
|
17
|
+
- `PROJECTS_VIEW_CAPABILITY_ID`
|
|
18
|
+
- `OrganizationModel` and the supporting domain types
|
|
19
|
+
|
|
20
|
+
Import it from the published subpath:
|
|
21
|
+
|
|
22
|
+
```ts
|
|
23
|
+
import {
|
|
24
|
+
DEFAULT_ORGANIZATION_MODEL,
|
|
25
|
+
PROJECTS_VIEW_CAPABILITY_ID,
|
|
26
|
+
defineOrganizationModel,
|
|
27
|
+
PROJECTS_FEATURE_ID,
|
|
28
|
+
PROJECTS_INDEX_SURFACE_ID,
|
|
29
|
+
resolveOrganizationModel,
|
|
30
|
+
type OrganizationModel
|
|
31
|
+
} from '@elevasis/core/organization-model'
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Contract Shape
|
|
35
|
+
|
|
36
|
+
The model is versioned and currently validates against `version: 1`.
|
|
37
|
+
|
|
38
|
+
Top-level fields:
|
|
39
|
+
|
|
40
|
+
- `version` - schema version for the resolved contract.
|
|
41
|
+
- `branding` - organization branding defaults and overrides.
|
|
42
|
+
- `features` - unified feature entries that combine enablement, labels, and semantic references.
|
|
43
|
+
- `navigation` - navigation model for the product shell.
|
|
44
|
+
- `sales` - sales pipeline and relationship management.
|
|
45
|
+
- `prospecting` - lists, companies, and contacts.
|
|
46
|
+
- `projects` - projects, milestones, and tasks.
|
|
47
|
+
- `identity`, `customers`, `offerings`, `roles`, `goals` - reality domains (2026-04 expansion).
|
|
48
|
+
- `statuses` - unified status registry across delivery / hitl / execution / request / schedule.
|
|
49
|
+
- `operations` - catalog of stateful runtime entities (HITL queue, sessions, executions, notifications, schedules).
|
|
50
|
+
- `resourceMappings` - cross-surface resource mappings (includes techStack subsection).
|
|
51
|
+
|
|
52
|
+
## Default Feature Set
|
|
53
|
+
|
|
54
|
+
The default model includes eight feature IDs:
|
|
55
|
+
|
|
56
|
+
- `sales` - deal pipeline and relationship management.
|
|
57
|
+
- `prospecting` - lists, companies, and contacts.
|
|
58
|
+
- `projects` - projects, milestones, and tasks.
|
|
59
|
+
- `operations` - organization graph and command-view surfaces.
|
|
60
|
+
- `monitoring` - monitoring surfaces.
|
|
61
|
+
- `settings` - organization settings.
|
|
62
|
+
- `seo` - SEO surfaces (disabled by default).
|
|
63
|
+
- `configure` - `/configure` skill entry point (external projects).
|
|
64
|
+
|
|
65
|
+
## Project Bridge Constants
|
|
66
|
+
|
|
67
|
+
The organization-model surface exports a narrow set of canonical IDs for the shared Projects bridge:
|
|
68
|
+
|
|
69
|
+
- `PROJECTS_FEATURE_ID` -> `projects`
|
|
70
|
+
- `PROJECTS_INDEX_SURFACE_ID` -> `projects.index`
|
|
71
|
+
- `PROJECTS_VIEW_CAPABILITY_ID` -> `delivery.projects.view`
|
|
72
|
+
|
|
73
|
+
Use these when wiring shared UI manifests, template adapters, or other consumers that need to agree on the same Projects contract without repeating raw literals.
|
|
74
|
+
|
|
75
|
+
## Resolution Semantics
|
|
76
|
+
|
|
77
|
+
- `defineOrganizationModel()` is a typed helper. It does not validate or merge anything by itself.
|
|
78
|
+
- `resolveOrganizationModel()` deep-merges a partial override into the default model, then validates the result with `OrganizationModelSchema`.
|
|
79
|
+
- Plain objects merge recursively.
|
|
80
|
+
- Arrays replace the default value instead of merging element-by-element.
|
|
81
|
+
- If `navigation.surfaces` is replaced without also supplying `navigation.groups`, inherited default groups are dropped when they no longer point at declared surfaces.
|
|
82
|
+
- Missing fields fall back to `DEFAULT_ORGANIZATION_MODEL`.
|
|
83
|
+
|
|
84
|
+
## Referential Integrity
|
|
85
|
+
|
|
86
|
+
- `navigation.defaultSurfaceId` must point at a declared navigation surface.
|
|
87
|
+
- Every navigation group `surfaceId` must resolve to a declared surface.
|
|
88
|
+
- Feature, surface, and resource-mapping IDs must resolve to declared counterparts; dangling references fail validation.
|
|
89
|
+
- Feature-to-surface and feature/surface-to-resource links are validated in both directions so one-sided declarations fail during resolution.
|
|
90
|
+
- Feature-bearing surfaces validate `featureId` against the canonical feature set.
|
|
91
|
+
|
|
92
|
+
## Practical Guidance
|
|
93
|
+
|
|
94
|
+
- Use `resolveOrganizationModel()` when you need a runtime-safe model for rendering or policy checks.
|
|
95
|
+
- Use `defineOrganizationModel()` when authoring a static partial model in source.
|
|
96
|
+
- Treat feature IDs such as `sales`, `prospecting`, and `projects` as the canonical shell-level contract in new organization-model authoring.
|
|
97
|
+
- Keep feature IDs, surface IDs, and capability IDs stable because downstream UI and policy code depend on them.
|