@elevasis/core 0.7.1 → 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 +1 -1
- 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 -2
- package/src/business/projects/sse-events.ts +21 -21
- 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 -700
- 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 -37
- 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 +607 -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,107 +1,107 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Invitations Domain - Zod Validation Schemas
|
|
3
|
-
*
|
|
4
|
-
* Validation schemas for invitation management endpoints.
|
|
5
|
-
* Includes request bodies, query params, and path params.
|
|
6
|
-
*
|
|
7
|
-
* Security:
|
|
8
|
-
* - All schemas use .strict() to prevent mass assignment attacks
|
|
9
|
-
* - Email validation prevents header injection
|
|
10
|
-
* - Role enum validation prevents privilege escalation
|
|
11
|
-
* - organizationId from JWT (not accepted in body for protected routes)
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
import { z } from 'zod'
|
|
15
|
-
import { EmailSchema } from '../../../platform/utils/validation'
|
|
16
|
-
import { MembershipRoleSchema } from '../memberships/api-schemas'
|
|
17
|
-
|
|
18
|
-
// ============================================================================
|
|
19
|
-
// Path Parameters
|
|
20
|
-
// ============================================================================
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Validate invitation ID in URL path
|
|
24
|
-
* Used by: GET/DELETE /invitations/:id
|
|
25
|
-
*/
|
|
26
|
-
export const InvitationIdParamSchema = z
|
|
27
|
-
.object({
|
|
28
|
-
id: z.string().min(1) // WorkOS invitation IDs
|
|
29
|
-
})
|
|
30
|
-
.strict()
|
|
31
|
-
|
|
32
|
-
// ============================================================================
|
|
33
|
-
// Request Bodies
|
|
34
|
-
// ============================================================================
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Send new invitation
|
|
38
|
-
* POST /invitations
|
|
39
|
-
*
|
|
40
|
-
* Security:
|
|
41
|
-
* - Email format validated (prevents header injection)
|
|
42
|
-
* - Role enum prevents privilege escalation
|
|
43
|
-
* - expiresInDays bounded (1-90 days)
|
|
44
|
-
* - organizationId NOT in body (from JWT via requireOrganization middleware)
|
|
45
|
-
*/
|
|
46
|
-
export const SendInvitationSchema = z
|
|
47
|
-
.object({
|
|
48
|
-
email: EmailSchema,
|
|
49
|
-
organizationId: z.string().optional(), // For WorkOS API - but typically from JWT
|
|
50
|
-
roleSlug: MembershipRoleSchema.default('member'),
|
|
51
|
-
expiresInDays: z.number().int().min(1).max(90).default(7)
|
|
52
|
-
})
|
|
53
|
-
.strict()
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Accept invitation by token
|
|
57
|
-
* POST /invitations/accept
|
|
58
|
-
*
|
|
59
|
-
* Security:
|
|
60
|
-
* - Token validated (non-empty string)
|
|
61
|
-
*/
|
|
62
|
-
export const AcceptInvitationSchema = z
|
|
63
|
-
.object({
|
|
64
|
-
invitation_token: z.string().min(1, 'Invitation token is required')
|
|
65
|
-
})
|
|
66
|
-
.strict()
|
|
67
|
-
|
|
68
|
-
// ============================================================================
|
|
69
|
-
// Query Parameters
|
|
70
|
-
// ============================================================================
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* List invitations with filters
|
|
74
|
-
* GET /invitations
|
|
75
|
-
*
|
|
76
|
-
* Filters:
|
|
77
|
-
* - organizationId: Filter by organization
|
|
78
|
-
* - email: Filter by email
|
|
79
|
-
*
|
|
80
|
-
* Security:
|
|
81
|
-
* - Requires organizationId or userId filter
|
|
82
|
-
* - Email validated
|
|
83
|
-
*/
|
|
84
|
-
export const ListInvitationsQuerySchema = z
|
|
85
|
-
.object({
|
|
86
|
-
organizationId: z.string().optional(),
|
|
87
|
-
userId: z.string().optional(),
|
|
88
|
-
email: EmailSchema.optional(),
|
|
89
|
-
limit: z.coerce.number().int().min(1).max(100).optional(),
|
|
90
|
-
before: z.string().optional(), // WorkOS pagination cursor
|
|
91
|
-
after: z.string().optional() // WorkOS pagination cursor
|
|
92
|
-
})
|
|
93
|
-
.strict()
|
|
94
|
-
.refine(
|
|
95
|
-
(data) => data.organizationId || data.userId,
|
|
96
|
-
{ message: 'Either organizationId or userId must be provided' }
|
|
97
|
-
)
|
|
98
|
-
|
|
99
|
-
// ============================================================================
|
|
100
|
-
// TypeScript Type Exports
|
|
101
|
-
// ============================================================================
|
|
102
|
-
|
|
103
|
-
// Export inferred types for use in route handlers
|
|
104
|
-
export type SendInvitationInput = z.infer<typeof SendInvitationSchema>
|
|
105
|
-
export type AcceptInvitationInput = z.infer<typeof AcceptInvitationSchema>
|
|
106
|
-
export type ListInvitationsQuery = z.infer<typeof ListInvitationsQuerySchema>
|
|
107
|
-
export type InvitationIdParam = z.infer<typeof InvitationIdParamSchema>
|
|
1
|
+
/**
|
|
2
|
+
* Invitations Domain - Zod Validation Schemas
|
|
3
|
+
*
|
|
4
|
+
* Validation schemas for invitation management endpoints.
|
|
5
|
+
* Includes request bodies, query params, and path params.
|
|
6
|
+
*
|
|
7
|
+
* Security:
|
|
8
|
+
* - All schemas use .strict() to prevent mass assignment attacks
|
|
9
|
+
* - Email validation prevents header injection
|
|
10
|
+
* - Role enum validation prevents privilege escalation
|
|
11
|
+
* - organizationId from JWT (not accepted in body for protected routes)
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import { z } from 'zod'
|
|
15
|
+
import { EmailSchema } from '../../../platform/utils/validation'
|
|
16
|
+
import { MembershipRoleSchema } from '../memberships/api-schemas'
|
|
17
|
+
|
|
18
|
+
// ============================================================================
|
|
19
|
+
// Path Parameters
|
|
20
|
+
// ============================================================================
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Validate invitation ID in URL path
|
|
24
|
+
* Used by: GET/DELETE /invitations/:id
|
|
25
|
+
*/
|
|
26
|
+
export const InvitationIdParamSchema = z
|
|
27
|
+
.object({
|
|
28
|
+
id: z.string().min(1) // WorkOS invitation IDs
|
|
29
|
+
})
|
|
30
|
+
.strict()
|
|
31
|
+
|
|
32
|
+
// ============================================================================
|
|
33
|
+
// Request Bodies
|
|
34
|
+
// ============================================================================
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Send new invitation
|
|
38
|
+
* POST /invitations
|
|
39
|
+
*
|
|
40
|
+
* Security:
|
|
41
|
+
* - Email format validated (prevents header injection)
|
|
42
|
+
* - Role enum prevents privilege escalation
|
|
43
|
+
* - expiresInDays bounded (1-90 days)
|
|
44
|
+
* - organizationId NOT in body (from JWT via requireOrganization middleware)
|
|
45
|
+
*/
|
|
46
|
+
export const SendInvitationSchema = z
|
|
47
|
+
.object({
|
|
48
|
+
email: EmailSchema,
|
|
49
|
+
organizationId: z.string().optional(), // For WorkOS API - but typically from JWT
|
|
50
|
+
roleSlug: MembershipRoleSchema.default('member'),
|
|
51
|
+
expiresInDays: z.number().int().min(1).max(90).default(7)
|
|
52
|
+
})
|
|
53
|
+
.strict()
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Accept invitation by token
|
|
57
|
+
* POST /invitations/accept
|
|
58
|
+
*
|
|
59
|
+
* Security:
|
|
60
|
+
* - Token validated (non-empty string)
|
|
61
|
+
*/
|
|
62
|
+
export const AcceptInvitationSchema = z
|
|
63
|
+
.object({
|
|
64
|
+
invitation_token: z.string().min(1, 'Invitation token is required')
|
|
65
|
+
})
|
|
66
|
+
.strict()
|
|
67
|
+
|
|
68
|
+
// ============================================================================
|
|
69
|
+
// Query Parameters
|
|
70
|
+
// ============================================================================
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* List invitations with filters
|
|
74
|
+
* GET /invitations
|
|
75
|
+
*
|
|
76
|
+
* Filters:
|
|
77
|
+
* - organizationId: Filter by organization
|
|
78
|
+
* - email: Filter by email
|
|
79
|
+
*
|
|
80
|
+
* Security:
|
|
81
|
+
* - Requires organizationId or userId filter
|
|
82
|
+
* - Email validated
|
|
83
|
+
*/
|
|
84
|
+
export const ListInvitationsQuerySchema = z
|
|
85
|
+
.object({
|
|
86
|
+
organizationId: z.string().optional(),
|
|
87
|
+
userId: z.string().optional(),
|
|
88
|
+
email: EmailSchema.optional(),
|
|
89
|
+
limit: z.coerce.number().int().min(1).max(100).optional(),
|
|
90
|
+
before: z.string().optional(), // WorkOS pagination cursor
|
|
91
|
+
after: z.string().optional() // WorkOS pagination cursor
|
|
92
|
+
})
|
|
93
|
+
.strict()
|
|
94
|
+
.refine(
|
|
95
|
+
(data) => data.organizationId || data.userId,
|
|
96
|
+
{ message: 'Either organizationId or userId must be provided' }
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
// ============================================================================
|
|
100
|
+
// TypeScript Type Exports
|
|
101
|
+
// ============================================================================
|
|
102
|
+
|
|
103
|
+
// Export inferred types for use in route handlers
|
|
104
|
+
export type SendInvitationInput = z.infer<typeof SendInvitationSchema>
|
|
105
|
+
export type AcceptInvitationInput = z.infer<typeof AcceptInvitationSchema>
|
|
106
|
+
export type ListInvitationsQuery = z.infer<typeof ListInvitationsQuerySchema>
|
|
107
|
+
export type InvitationIdParam = z.infer<typeof InvitationIdParamSchema>
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Invitation types - browser-safe exports only
|
|
3
|
-
* For WorkOS types and transforms, use @repo/core/server
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
// Core invitation types
|
|
7
|
-
export type {
|
|
8
|
-
Invitation,
|
|
9
|
-
SendInvitationRequest,
|
|
10
|
-
ListInvitationsParams,
|
|
11
|
-
AcceptanceResult,
|
|
12
|
-
InvitationWithDetails,
|
|
13
|
-
AcceptInvitationRequest,
|
|
14
|
-
InvitationListQuery,
|
|
15
|
-
InvitationSummaryResponse,
|
|
16
|
-
} from './invitation'
|
|
17
|
-
|
|
18
|
-
// Supabase types
|
|
19
|
-
export type {
|
|
20
|
-
SupabaseOrgInvitation,
|
|
21
|
-
SupabaseOrgInvitationInsert,
|
|
22
|
-
SupabaseOrgInvitationUpdate,
|
|
23
|
-
AdminOrgInvitation,
|
|
24
|
-
InvitationState,
|
|
25
|
-
} from './supabase'
|
|
26
|
-
export { transformSupabaseToInvitation } from './supabase'
|
|
27
|
-
|
|
28
|
-
// Validation schemas
|
|
29
|
-
export {
|
|
30
|
-
SendInvitationSchema,
|
|
31
|
-
AcceptInvitationSchema,
|
|
32
|
-
ListInvitationsQuerySchema,
|
|
33
|
-
InvitationIdParamSchema,
|
|
34
|
-
type SendInvitationInput,
|
|
35
|
-
type AcceptInvitationInput,
|
|
36
|
-
type ListInvitationsQuery,
|
|
37
|
-
type InvitationIdParam
|
|
1
|
+
/**
|
|
2
|
+
* Invitation types - browser-safe exports only
|
|
3
|
+
* For WorkOS types and transforms, use @repo/core/server
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// Core invitation types
|
|
7
|
+
export type {
|
|
8
|
+
Invitation,
|
|
9
|
+
SendInvitationRequest,
|
|
10
|
+
ListInvitationsParams,
|
|
11
|
+
AcceptanceResult,
|
|
12
|
+
InvitationWithDetails,
|
|
13
|
+
AcceptInvitationRequest,
|
|
14
|
+
InvitationListQuery,
|
|
15
|
+
InvitationSummaryResponse,
|
|
16
|
+
} from './invitation'
|
|
17
|
+
|
|
18
|
+
// Supabase types
|
|
19
|
+
export type {
|
|
20
|
+
SupabaseOrgInvitation,
|
|
21
|
+
SupabaseOrgInvitationInsert,
|
|
22
|
+
SupabaseOrgInvitationUpdate,
|
|
23
|
+
AdminOrgInvitation,
|
|
24
|
+
InvitationState,
|
|
25
|
+
} from './supabase'
|
|
26
|
+
export { transformSupabaseToInvitation } from './supabase'
|
|
27
|
+
|
|
28
|
+
// Validation schemas
|
|
29
|
+
export {
|
|
30
|
+
SendInvitationSchema,
|
|
31
|
+
AcceptInvitationSchema,
|
|
32
|
+
ListInvitationsQuerySchema,
|
|
33
|
+
InvitationIdParamSchema,
|
|
34
|
+
type SendInvitationInput,
|
|
35
|
+
type AcceptInvitationInput,
|
|
36
|
+
type ListInvitationsQuery,
|
|
37
|
+
type InvitationIdParam
|
|
38
38
|
} from './api-schemas'
|
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core Invitation Types
|
|
3
|
-
* Internal types for the invitation system
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { User } from '../users/user'
|
|
7
|
-
import type { OrganizationMembership } from '../memberships/membership'
|
|
8
|
-
|
|
9
|
-
// Core internal invitation interface
|
|
10
|
-
export interface Invitation {
|
|
11
|
-
id: string
|
|
12
|
-
workosInvitationId: string
|
|
13
|
-
email: string
|
|
14
|
-
organizationId: string | null
|
|
15
|
-
inviterUserId: string | null
|
|
16
|
-
invitationState: 'pending' | 'accepted' | 'revoked' | 'expired'
|
|
17
|
-
roleSlug: string | null
|
|
18
|
-
invitationToken: string | null
|
|
19
|
-
acceptInvitationUrl: string | null
|
|
20
|
-
acceptedAt: string | null
|
|
21
|
-
revokedAt: string | null
|
|
22
|
-
expiresAt: string
|
|
23
|
-
createdAt: string | null
|
|
24
|
-
updatedAt: string | null
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
// Request/Response types for API
|
|
28
|
-
export interface SendInvitationRequest {
|
|
29
|
-
email: string
|
|
30
|
-
organizationId?: string
|
|
31
|
-
roleSlug?: string
|
|
32
|
-
expiresInDays?: number
|
|
33
|
-
inviterUserId?: string
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export interface ListInvitationsParams {
|
|
37
|
-
organizationId?: string
|
|
38
|
-
email?: string
|
|
39
|
-
limit?: number
|
|
40
|
-
before?: string
|
|
41
|
-
after?: string
|
|
42
|
-
order?: 'asc' | 'desc'
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export interface AcceptanceResult {
|
|
46
|
-
invitation: Invitation
|
|
47
|
-
user?: User | null
|
|
48
|
-
membership?: OrganizationMembership | null
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export interface AcceptInvitationRequest {
|
|
52
|
-
invitation_token: string
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export interface InvitationListQuery {
|
|
56
|
-
userId?: string
|
|
57
|
-
organizationId?: string
|
|
58
|
-
email?: string
|
|
59
|
-
limit?: string
|
|
60
|
-
before?: string
|
|
61
|
-
after?: string
|
|
62
|
-
order?: 'asc' | 'desc'
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
export interface InvitationSummaryResponse {
|
|
66
|
-
totalInvitations: number
|
|
67
|
-
pendingInvitations: number
|
|
68
|
-
acceptedInvitations: number
|
|
69
|
-
expiredInvitations: number
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// Invitation with enriched details for UI
|
|
73
|
-
export interface InvitationWithDetails extends Invitation {
|
|
74
|
-
organization?: {
|
|
75
|
-
id: string
|
|
76
|
-
name: string
|
|
77
|
-
status?: string
|
|
78
|
-
}
|
|
79
|
-
inviter?: {
|
|
80
|
-
id: string
|
|
81
|
-
email: string
|
|
82
|
-
firstName?: string | null
|
|
83
|
-
lastName?: string | null
|
|
84
|
-
profilePictureUrl?: string | null
|
|
85
|
-
}
|
|
86
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Core Invitation Types
|
|
3
|
+
* Internal types for the invitation system
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { User } from '../users/user'
|
|
7
|
+
import type { OrganizationMembership } from '../memberships/membership'
|
|
8
|
+
|
|
9
|
+
// Core internal invitation interface
|
|
10
|
+
export interface Invitation {
|
|
11
|
+
id: string
|
|
12
|
+
workosInvitationId: string
|
|
13
|
+
email: string
|
|
14
|
+
organizationId: string | null
|
|
15
|
+
inviterUserId: string | null
|
|
16
|
+
invitationState: 'pending' | 'accepted' | 'revoked' | 'expired'
|
|
17
|
+
roleSlug: string | null
|
|
18
|
+
invitationToken: string | null
|
|
19
|
+
acceptInvitationUrl: string | null
|
|
20
|
+
acceptedAt: string | null
|
|
21
|
+
revokedAt: string | null
|
|
22
|
+
expiresAt: string
|
|
23
|
+
createdAt: string | null
|
|
24
|
+
updatedAt: string | null
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Request/Response types for API
|
|
28
|
+
export interface SendInvitationRequest {
|
|
29
|
+
email: string
|
|
30
|
+
organizationId?: string
|
|
31
|
+
roleSlug?: string
|
|
32
|
+
expiresInDays?: number
|
|
33
|
+
inviterUserId?: string
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface ListInvitationsParams {
|
|
37
|
+
organizationId?: string
|
|
38
|
+
email?: string
|
|
39
|
+
limit?: number
|
|
40
|
+
before?: string
|
|
41
|
+
after?: string
|
|
42
|
+
order?: 'asc' | 'desc'
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export interface AcceptanceResult {
|
|
46
|
+
invitation: Invitation
|
|
47
|
+
user?: User | null
|
|
48
|
+
membership?: OrganizationMembership | null
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export interface AcceptInvitationRequest {
|
|
52
|
+
invitation_token: string
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export interface InvitationListQuery {
|
|
56
|
+
userId?: string
|
|
57
|
+
organizationId?: string
|
|
58
|
+
email?: string
|
|
59
|
+
limit?: string
|
|
60
|
+
before?: string
|
|
61
|
+
after?: string
|
|
62
|
+
order?: 'asc' | 'desc'
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export interface InvitationSummaryResponse {
|
|
66
|
+
totalInvitations: number
|
|
67
|
+
pendingInvitations: number
|
|
68
|
+
acceptedInvitations: number
|
|
69
|
+
expiredInvitations: number
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// Invitation with enriched details for UI
|
|
73
|
+
export interface InvitationWithDetails extends Invitation {
|
|
74
|
+
organization?: {
|
|
75
|
+
id: string
|
|
76
|
+
name: string
|
|
77
|
+
status?: string
|
|
78
|
+
}
|
|
79
|
+
inviter?: {
|
|
80
|
+
id: string
|
|
81
|
+
email: string
|
|
82
|
+
firstName?: string | null
|
|
83
|
+
lastName?: string | null
|
|
84
|
+
profilePictureUrl?: string | null
|
|
85
|
+
}
|
|
86
|
+
}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Invitations server-only exports
|
|
3
|
-
* WARNING: Uses @workos-inc/node SDK - DO NOT import in browser code
|
|
4
|
-
*/
|
|
5
|
-
export * from './workos'
|
|
6
|
-
export * from './transforms'
|
|
7
|
-
|
|
8
|
-
// Re-export browser-safe types for convenience
|
|
9
|
-
export type {
|
|
10
|
-
Invitation,
|
|
11
|
-
SendInvitationRequest,
|
|
12
|
-
ListInvitationsParams,
|
|
13
|
-
AcceptanceResult,
|
|
14
|
-
InvitationWithDetails,
|
|
15
|
-
AcceptInvitationRequest,
|
|
16
|
-
InvitationListQuery,
|
|
17
|
-
InvitationSummaryResponse
|
|
18
|
-
} from '../invitation'
|
|
19
|
-
export type {
|
|
20
|
-
SupabaseOrgInvitation,
|
|
21
|
-
SupabaseOrgInvitationInsert,
|
|
22
|
-
SupabaseOrgInvitationUpdate,
|
|
23
|
-
AdminOrgInvitation,
|
|
24
|
-
InvitationState
|
|
25
|
-
} from '../supabase'
|
|
1
|
+
/**
|
|
2
|
+
* Invitations server-only exports
|
|
3
|
+
* WARNING: Uses @workos-inc/node SDK - DO NOT import in browser code
|
|
4
|
+
*/
|
|
5
|
+
export * from './workos'
|
|
6
|
+
export * from './transforms'
|
|
7
|
+
|
|
8
|
+
// Re-export browser-safe types for convenience
|
|
9
|
+
export type {
|
|
10
|
+
Invitation,
|
|
11
|
+
SendInvitationRequest,
|
|
12
|
+
ListInvitationsParams,
|
|
13
|
+
AcceptanceResult,
|
|
14
|
+
InvitationWithDetails,
|
|
15
|
+
AcceptInvitationRequest,
|
|
16
|
+
InvitationListQuery,
|
|
17
|
+
InvitationSummaryResponse
|
|
18
|
+
} from '../invitation'
|
|
19
|
+
export type {
|
|
20
|
+
SupabaseOrgInvitation,
|
|
21
|
+
SupabaseOrgInvitationInsert,
|
|
22
|
+
SupabaseOrgInvitationUpdate,
|
|
23
|
+
AdminOrgInvitation,
|
|
24
|
+
InvitationState
|
|
25
|
+
} from '../supabase'
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import type { WorkOSInvitation } from './workos'
|
|
2
|
-
import type { Invitation } from '../invitation'
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Transform WorkOS invitation to internal format
|
|
6
|
-
*/
|
|
7
|
-
export function transformWorkOSInvitation(workosInvitation: WorkOSInvitation): Invitation {
|
|
8
|
-
return {
|
|
9
|
-
id: workosInvitation.id,
|
|
10
|
-
workosInvitationId: workosInvitation.id,
|
|
11
|
-
email: workosInvitation.email,
|
|
12
|
-
organizationId: workosInvitation.organizationId,
|
|
13
|
-
inviterUserId: workosInvitation.inviterUserId,
|
|
14
|
-
invitationState: workosInvitation.state,
|
|
15
|
-
roleSlug: null, // WorkOS doesn't include role in invitation response
|
|
16
|
-
invitationToken: workosInvitation.token,
|
|
17
|
-
acceptInvitationUrl: workosInvitation.acceptInvitationUrl,
|
|
18
|
-
acceptedAt: workosInvitation.acceptedAt,
|
|
19
|
-
revokedAt: workosInvitation.revokedAt,
|
|
20
|
-
expiresAt: workosInvitation.expiresAt,
|
|
21
|
-
createdAt: workosInvitation.createdAt,
|
|
22
|
-
updatedAt: workosInvitation.updatedAt
|
|
23
|
-
}
|
|
24
|
-
}
|
|
1
|
+
import type { WorkOSInvitation } from './workos'
|
|
2
|
+
import type { Invitation } from '../invitation'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Transform WorkOS invitation to internal format
|
|
6
|
+
*/
|
|
7
|
+
export function transformWorkOSInvitation(workosInvitation: WorkOSInvitation): Invitation {
|
|
8
|
+
return {
|
|
9
|
+
id: workosInvitation.id,
|
|
10
|
+
workosInvitationId: workosInvitation.id,
|
|
11
|
+
email: workosInvitation.email,
|
|
12
|
+
organizationId: workosInvitation.organizationId,
|
|
13
|
+
inviterUserId: workosInvitation.inviterUserId,
|
|
14
|
+
invitationState: workosInvitation.state,
|
|
15
|
+
roleSlug: null, // WorkOS doesn't include role in invitation response
|
|
16
|
+
invitationToken: workosInvitation.token,
|
|
17
|
+
acceptInvitationUrl: workosInvitation.acceptInvitationUrl,
|
|
18
|
+
acceptedAt: workosInvitation.acceptedAt,
|
|
19
|
+
revokedAt: workosInvitation.revokedAt,
|
|
20
|
+
expiresAt: workosInvitation.expiresAt,
|
|
21
|
+
createdAt: workosInvitation.createdAt,
|
|
22
|
+
updatedAt: workosInvitation.updatedAt
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WorkOS User Management Invitation API Types
|
|
3
|
-
* Re-exported from @workos-inc/node SDK v7.69.2 with consistent naming conventions
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type {
|
|
7
|
-
Invitation,
|
|
8
|
-
InvitationEvent,
|
|
9
|
-
InvitationResponse,
|
|
10
|
-
ListInvitationsOptions,
|
|
11
|
-
SendInvitationOptions,
|
|
12
|
-
List
|
|
13
|
-
} from '@workos-inc/node'
|
|
14
|
-
|
|
15
|
-
// Consistent naming convention for the monorepo
|
|
16
|
-
export type WorkOSInvitation = Invitation
|
|
17
|
-
export type WorkOSInvitationEvent = InvitationEvent
|
|
18
|
-
export type WorkOSInvitationResponse = InvitationResponse
|
|
19
|
-
export type WorkOSInvitationListResponse = List<Invitation>
|
|
20
|
-
export type ListWorkOSInvitationsParams = ListInvitationsOptions
|
|
21
|
-
export type SendWorkOSInvitationRequest = SendInvitationOptions
|
|
22
|
-
|
|
23
|
-
// For additional request types, import directly from SDK when needed:
|
|
24
|
-
// import type { AcceptInvitationOptions } from '@workos-inc/node'
|
|
1
|
+
/**
|
|
2
|
+
* WorkOS User Management Invitation API Types
|
|
3
|
+
* Re-exported from @workos-inc/node SDK v7.69.2 with consistent naming conventions
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type {
|
|
7
|
+
Invitation,
|
|
8
|
+
InvitationEvent,
|
|
9
|
+
InvitationResponse,
|
|
10
|
+
ListInvitationsOptions,
|
|
11
|
+
SendInvitationOptions,
|
|
12
|
+
List
|
|
13
|
+
} from '@workos-inc/node'
|
|
14
|
+
|
|
15
|
+
// Consistent naming convention for the monorepo
|
|
16
|
+
export type WorkOSInvitation = Invitation
|
|
17
|
+
export type WorkOSInvitationEvent = InvitationEvent
|
|
18
|
+
export type WorkOSInvitationResponse = InvitationResponse
|
|
19
|
+
export type WorkOSInvitationListResponse = List<Invitation>
|
|
20
|
+
export type ListWorkOSInvitationsParams = ListInvitationsOptions
|
|
21
|
+
export type SendWorkOSInvitationRequest = SendInvitationOptions
|
|
22
|
+
|
|
23
|
+
// For additional request types, import directly from SDK when needed:
|
|
24
|
+
// import type { AcceptInvitationOptions } from '@workos-inc/node'
|