@elevasis/core 0.11.1 → 0.12.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.
Files changed (38) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.js +10 -11
  3. package/dist/organization-model/index.d.ts +2 -2
  4. package/dist/organization-model/index.js +10 -11
  5. package/dist/test-utils/index.d.ts +10 -3
  6. package/dist/test-utils/index.js +6 -6
  7. package/package.json +1 -1
  8. package/src/__tests__/template-core-compatibility.test.ts +6 -15
  9. package/src/_gen/__tests__/__snapshots__/contracts.md.snap +27 -270
  10. package/src/auth/multi-tenancy/credentials/server/encryption.ts +83 -39
  11. package/src/auth/multi-tenancy/credentials/server/kek-loader.ts +47 -0
  12. package/src/auth/multi-tenancy/index.ts +3 -0
  13. package/src/auth/multi-tenancy/invitations/api-schemas.ts +104 -107
  14. package/src/auth/multi-tenancy/memberships/api-schemas.ts +6 -5
  15. package/src/auth/multi-tenancy/memberships/membership.ts +130 -138
  16. package/src/auth/multi-tenancy/role-management/api-schemas.ts +78 -0
  17. package/src/auth/multi-tenancy/role-management/index.ts +16 -0
  18. package/src/execution/engine/tools/integration/server/adapters/apify/__tests__/apify-run-actor.integration.test.ts +299 -293
  19. package/src/execution/engine/tools/integration/service.test.ts +214 -0
  20. package/src/execution/engine/tools/integration/service.ts +169 -161
  21. package/src/integrations/credentials/__tests__/api-schemas.test.ts +420 -496
  22. package/src/integrations/credentials/api-schemas.ts +127 -143
  23. package/src/integrations/webhook-endpoints/__tests__/api-schemas.test.ts +327 -318
  24. package/src/integrations/webhook-endpoints/api-schemas.ts +103 -102
  25. package/src/integrations/webhook-endpoints/types.ts +58 -51
  26. package/src/operations/activities/api-schemas.ts +80 -79
  27. package/src/operations/activities/types.ts +64 -63
  28. package/src/organization-model/contracts.ts +1 -1
  29. package/src/organization-model/defaults.ts +6 -6
  30. package/src/organization-model/domains/navigation.ts +38 -37
  31. package/src/organization-model/foundation.ts +2 -3
  32. package/src/organization-model/published.ts +3 -3
  33. package/src/platform/constants/versions.ts +1 -1
  34. package/src/reference/_generated/contracts.md +27 -270
  35. package/src/scaffold-registry/__tests__/index.test.ts +72 -7
  36. package/src/scaffold-registry/index.ts +159 -26
  37. package/src/server.ts +281 -272
  38. package/src/supabase/database.types.ts +7 -3
package/src/server.ts CHANGED
@@ -1,272 +1,281 @@
1
- /**
2
- * Server-only exports for @repo/core
3
- *
4
- * WARNING: DO NOT import in browser/frontend code
5
- * This module uses Node.js APIs (crypto, process.env) and server-side libraries
6
- *
7
- * For browser-safe imports, use '@repo/core' instead
8
- */
9
-
10
- // Credential management (uses Node.js crypto)
11
- export { encryptCredential, decryptCredential } from './auth/multi-tenancy/credentials/server/encryption'
12
-
13
- export {
14
- prepareCredentialForInsert,
15
- decryptCredentialValue,
16
- transformToMetadata,
17
- type CreateCredentialParams,
18
- type CredentialMetadata
19
- } from './auth/multi-tenancy/credentials/server/service'
20
-
21
- // Session management (uses Supabase service client)
22
- export { SessionManager } from './operations/sessions/server/manager'
23
- export { Session } from './operations/sessions/server/session'
24
- export type {
25
- SessionTurnResult,
26
- CreateSessionParams,
27
- ListSessionsFilters,
28
- SessionRow,
29
- SessionInsert
30
- } from './operations/sessions/types'
31
-
32
- // Multi-tenancy WorkOS types and transforms (server-only)
33
- export * from './auth/multi-tenancy/organizations/server'
34
- export * from './auth/multi-tenancy/users/server'
35
- export * from './auth/multi-tenancy/memberships/server'
36
- export * from './auth/multi-tenancy/invitations/server'
37
-
38
- // Note: Browser-safe and Supabase types are re-exported from /server subdirectories
39
- // No additional re-exports needed here to avoid conflicts
40
-
41
- // Supabase client (service role with process.env credentials - lazy initialization)
42
- export { getSupabaseClient, supabaseClient } from './supabase/server/client'
43
- export type { SupabaseClient, Database, Tables, TablesInsert, TablesUpdate, Json } from './supabase'
44
-
45
- // OAuth credentials and token refresh (uses process.env for client credentials)
46
- export { getOAuthCredentials } from './integrations/oauth/server/credentials'
47
- export { refreshOAuthTokenIfExpired, forceRefreshOAuthToken } from './integrations/oauth/server/refresh'
48
-
49
- // Integration adapters (uses Node.js SDKs - googleapis, @slack/web-api)
50
- export { GmailAdapter } from './execution/engine/tools/integration/server/adapters/gmail/gmail-adapter'
51
- export { AttioAdapter } from './execution/engine/tools/integration/server/adapters/attio'
52
- export { GoogleSheetsAdapter } from './execution/engine/tools/integration/server/adapters/google-sheets'
53
- export { ApifyAdapter } from './execution/engine/tools/integration/server/adapters/apify'
54
- export { InstantlyAdapter } from './execution/engine/tools/integration/server/adapters/instantly'
55
- export { ResendAdapter } from './execution/engine/tools/integration/server/adapters/resend'
56
- export { AnymailfinderAdapter } from './execution/engine/tools/integration/server/adapters/anymailfinder'
57
- export { TombaAdapter } from './execution/engine/tools/integration/server/adapters/tomba'
58
- export { MillionVerifierAdapter } from './execution/engine/tools/integration/server/adapters/millionverifier'
59
- export { StripeAdapter } from './execution/engine/tools/integration/server/adapters/stripe'
60
- export { SignatureApiAdapter } from './execution/engine/tools/integration/server/adapters/signature-api'
61
- export { DropboxAdapter } from './execution/engine/tools/integration/server/adapters/dropbox'
62
-
63
- // Integration Tool Factories (server-only - uses adapters above)
64
- export {
65
- createGmailSendEmailTool,
66
- createGmailSendEmailToolNamed
67
- } from './execution/engine/tools/integration/server/adapters/gmail/gmail-tools'
68
- export {
69
- createAttioCreateRecordTool,
70
- createAttioUpdateRecordTool,
71
- createAttioListRecordsTool,
72
- createAttioGetRecordTool,
73
- createAttioDeleteRecordTool,
74
- createAttioToolNamed,
75
- // Schema operations
76
- createAttioListObjectsTool,
77
- createAttioListAttributesTool,
78
- createAttioCreateAttributeTool,
79
- createAttioUpdateAttributeTool,
80
- // Note operations
81
- createAttioCreateNoteTool
82
- } from './execution/engine/tools/integration/server/adapters/attio'
83
- export {
84
- // Core methods
85
- createGoogleSheetsReadTool,
86
- createGoogleSheetsWriteTool,
87
- createGoogleSheetsAppendTool,
88
- createGoogleSheetsClearTool,
89
- createGoogleSheetsMetadataTool,
90
- createGoogleSheetsBatchUpdateTool,
91
- // Workflow-friendly methods
92
- createGoogleSheetsGetHeadersTool,
93
- createGoogleSheetsGetLastRowTool,
94
- createGoogleSheetsFindRowTool,
95
- createGoogleSheetsUpdateRowTool,
96
- createGoogleSheetsUpsertRowTool,
97
- createGoogleSheetsFilterRowsTool,
98
- createGoogleSheetsDeleteRowTool
99
- } from './execution/engine/tools/integration/server/adapters/google-sheets'
100
- export { createApifyRunActorTool } from './execution/engine/tools/integration/server/adapters/apify'
101
- export {
102
- createInstantlySendReplyTool,
103
- createInstantlyRemoveFromSubsequenceTool,
104
- createInstantlyGetEmailsTool,
105
- createInstantlyUpdateInterestStatusTool,
106
- createInstantlyAddToCampaignTool
107
- } from './execution/engine/tools/integration/server/adapters/instantly'
108
- export {
109
- createResendSendEmailTool,
110
- createResendGetEmailTool,
111
- createResendSendEmailToolNamed
112
- } from './execution/engine/tools/integration/server/adapters/resend'
113
- export {
114
- createAnymailfinderFindCompanyEmailTool,
115
- createAnymailfinderFindPersonEmailTool,
116
- createAnymailfinderFindDecisionMakerEmailTool,
117
- createAnymailfinderVerifyEmailTool
118
- } from './execution/engine/tools/integration/server/adapters/anymailfinder'
119
- export {
120
- createTombaEmailFinderTool,
121
- createTombaDomainSearchTool,
122
- createTombaEmailVerifierTool
123
- } from './execution/engine/tools/integration/server/adapters/tomba'
124
- export {
125
- createMillionVerifierVerifyEmailTool,
126
- createMillionVerifierCheckCreditsTool
127
- } from './execution/engine/tools/integration/server/adapters/millionverifier'
128
- export {
129
- createDropboxUploadTool,
130
- createDropboxCreateFolderTool
131
- } from './execution/engine/tools/integration/server/adapters/dropbox'
132
- export {
133
- createStripeCreatePaymentLinkTool,
134
- createStripeGetPaymentLinkTool,
135
- createStripeUpdatePaymentLinkTool,
136
- createStripeListPaymentLinksTool,
137
- createStripeCheckoutSessionTool,
138
- createStripeAutoPaymentLinkTool
139
- } from './execution/engine/tools/integration/server/adapters/stripe'
140
-
141
- // Resend fetch functions (low-level API for platform email service)
142
- export { sendEmail as sendResendEmail } from './execution/engine/tools/integration/server/adapters/resend/fetch/send-email/index'
143
- export type {
144
- ResendCredentials,
145
- SendEmailParams as ResendSendEmailParams,
146
- SendEmailResult as ResendSendEmailResult
147
- } from './execution/engine/tools/integration/server/adapters/resend/fetch/utils/types'
148
-
149
- // Resend email configuration (high-level sender config for workflows)
150
- export type { ResendEmailConfig } from './execution/engine/tools/integration/server/adapters/resend/types'
151
-
152
- // SignatureAPI types (for eSignature envelope operations)
153
- export type {
154
- SignatureApiCredentials,
155
- CreateEnvelopeParams,
156
- CreateEnvelopeResult,
157
- VoidEnvelopeParams,
158
- VoidEnvelopeResult,
159
- DownloadDocumentParams,
160
- DownloadDocumentResult,
161
- EnvelopeDocument,
162
- Recipient,
163
- SigningPlace
164
- } from './execution/engine/tools/integration/server/adapters/signature-api'
165
-
166
- // Execution validators (uses process.env for environment detection)
167
- export { detectEnvironment, canExecuteResource, type Environment } from './execution/core/server/environment'
168
-
169
- // HMAC token utilities (uses Node.js crypto - server-only)
170
- export { generateHmacToken, verifyHmacToken, generateBrochureUrl } from './platform/utils/server/hmac'
171
- export {
172
- generateUnsubscribeToken,
173
- verifyUnsubscribeToken,
174
- generateUnsubscribeUrl,
175
- generateUnsubscribeHeaders
176
- } from './platform/utils/server/unsubscribe'
177
-
178
- // Better Stack error logging (uses @sentry/node - server-only)
179
- export {
180
- bslogExternalServiceError,
181
- bslogExecutionFailure,
182
- isSystemError
183
- } from './platform/utils/server/betterstack-logger'
184
-
185
- // LLM Adapters (uses betterstack-logger - server-only)
186
- export { OpenAIAdapter, isOpenAIModel, type OpenAIAdapterConfig } from './execution/engine/llm/adapters/server/openai'
187
- export {
188
- OpenRouterAdapter,
189
- isOpenRouterModel,
190
- type OpenRouterAdapterConfig
191
- } from './execution/engine/llm/adapters/server/openrouter'
192
- export { createLLMAdapter } from './execution/engine/llm/adapters/server/adapter-factory'
193
-
194
- // Browser-safe adapters (also exported from server for convenience)
195
- export { UniversalLLMAdapter } from './execution/engine/llm/adapters/universal-adapter'
196
- export { MockAdapter, isMockModel } from './execution/engine/llm/adapters/mock-adapter'
197
- export { configureCircuitBreakerAlerts } from './execution/engine/llm/adapters/circuit-breaker'
198
-
199
- // LLM Tool factory (uses server-only adapters)
200
- export { createLLMCallTool, type LLMCallToolConfig } from './execution/engine/tools/llm/server'
201
-
202
- // Workflow step helper (uses server-only adapters)
203
- export { llmCall, type LLMCallOptions } from './execution/engine/workflow/helpers/server'
204
-
205
- // Retained server-side resource invocation service types live under @repo/core/execution.
206
- // Deployed SDK workers use platform.call() -> dispatcher for nested execution.
207
-
208
- // Resilience utilities (timeout, circuit breaker, infrastructure errors)
209
- export {
210
- // Existing
211
- withTimeout,
212
- SERVICE_TIMEOUTS,
213
- createCircuitBreaker,
214
- CircuitState,
215
- ServiceTimeoutError,
216
- ServiceUnavailableError,
217
- isInfrastructureError,
218
- type CircuitBreaker,
219
- type CircuitBreakerConfig,
220
- // Rate limiting
221
- InMemoryRateLimiter,
222
- createRateLimiter,
223
- // Retry logic
224
- withRetry,
225
- calculateRetryDelay,
226
- sleep,
227
- DEFAULT_RETRY_POLICY,
228
- // HTTP error mapping
229
- createHttpError,
230
- mapHttpStatusToErrorType,
231
- type RateLimiter,
232
- type RetryPolicy,
233
- type HttpErrorContext,
234
- type ErrorParser
235
- } from './platform/resilience'
236
-
237
- // Acquisition Platform Tools (lead database)
238
- export {
239
- // List tools
240
- createAcqListCreateTool,
241
- createAcqListUpdateTool,
242
- createAcqListDeleteTool,
243
- createAcqListListTool,
244
- // Company tools
245
- createAcqCompanyCreateTool,
246
- createAcqCompanyUpdateTool,
247
- createAcqCompanyUpsertTool,
248
- createAcqCompanyGetTool,
249
- createAcqCompanyListTool,
250
- createAcqCompanyDeleteTool,
251
- // Contact tools
252
- createAcqContactCreateTool,
253
- createAcqContactUpdateTool,
254
- createAcqContactUpsertTool,
255
- createAcqContactGetTool,
256
- createAcqContactListTool,
257
- createAcqContactDeleteTool,
258
- createAcqContactBulkImportTool
259
- } from './execution/engine/tools/platform/acquisition'
260
-
261
- // PDF Tool (server-only - uses React-PDF renderToBuffer)
262
- export {
263
- createPdfRenderTool,
264
- type PdfRenderInput,
265
- type PdfRenderOutput,
266
- type PdfToolConfig,
267
- PdfRenderInputSchema,
268
- PdfRenderOutputSchema
269
- } from './execution/engine/tools/platform/pdf'
270
-
271
- // PDF Document types (for constructing documents programmatically)
272
- export type { PDFDocument, ContentBlock, Page as PDFPage } from './business/pdf/types'
1
+ /**
2
+ * Server-only exports for @repo/core
3
+ *
4
+ * WARNING: DO NOT import in browser/frontend code
5
+ * This module uses Node.js APIs (crypto, process.env) and server-side libraries
6
+ *
7
+ * For browser-safe imports, use '@repo/core' instead
8
+ */
9
+
10
+ // Credential management (uses Node.js crypto)
11
+ export {
12
+ encryptCredential,
13
+ decryptCredential,
14
+ setKek,
15
+ clearKeks,
16
+ CURRENT_KEY_ID,
17
+ LEGACY_KEY_ID
18
+ } from './auth/multi-tenancy/credentials/server/encryption'
19
+
20
+ export { loadCredentialKEKs } from './auth/multi-tenancy/credentials/server/kek-loader'
21
+
22
+ export {
23
+ prepareCredentialForInsert,
24
+ decryptCredentialValue,
25
+ transformToMetadata,
26
+ type CreateCredentialParams,
27
+ type CredentialMetadata
28
+ } from './auth/multi-tenancy/credentials/server/service'
29
+
30
+ // Session management (uses Supabase service client)
31
+ export { SessionManager } from './operations/sessions/server/manager'
32
+ export { Session } from './operations/sessions/server/session'
33
+ export type {
34
+ SessionTurnResult,
35
+ CreateSessionParams,
36
+ ListSessionsFilters,
37
+ SessionRow,
38
+ SessionInsert
39
+ } from './operations/sessions/types'
40
+
41
+ // Multi-tenancy WorkOS types and transforms (server-only)
42
+ export * from './auth/multi-tenancy/organizations/server'
43
+ export * from './auth/multi-tenancy/users/server'
44
+ export * from './auth/multi-tenancy/memberships/server'
45
+ export * from './auth/multi-tenancy/invitations/server'
46
+
47
+ // Note: Browser-safe and Supabase types are re-exported from /server subdirectories
48
+ // No additional re-exports needed here to avoid conflicts
49
+
50
+ // Supabase client (service role with process.env credentials - lazy initialization)
51
+ export { getSupabaseClient, supabaseClient } from './supabase/server/client'
52
+ export type { SupabaseClient, Database, Tables, TablesInsert, TablesUpdate, Json } from './supabase'
53
+
54
+ // OAuth credentials and token refresh (uses process.env for client credentials)
55
+ export { getOAuthCredentials } from './integrations/oauth/server/credentials'
56
+ export { refreshOAuthTokenIfExpired, forceRefreshOAuthToken } from './integrations/oauth/server/refresh'
57
+
58
+ // Integration adapters (uses Node.js SDKs - googleapis, @slack/web-api)
59
+ export { GmailAdapter } from './execution/engine/tools/integration/server/adapters/gmail/gmail-adapter'
60
+ export { AttioAdapter } from './execution/engine/tools/integration/server/adapters/attio'
61
+ export { GoogleSheetsAdapter } from './execution/engine/tools/integration/server/adapters/google-sheets'
62
+ export { ApifyAdapter } from './execution/engine/tools/integration/server/adapters/apify'
63
+ export { InstantlyAdapter } from './execution/engine/tools/integration/server/adapters/instantly'
64
+ export { ResendAdapter } from './execution/engine/tools/integration/server/adapters/resend'
65
+ export { AnymailfinderAdapter } from './execution/engine/tools/integration/server/adapters/anymailfinder'
66
+ export { TombaAdapter } from './execution/engine/tools/integration/server/adapters/tomba'
67
+ export { MillionVerifierAdapter } from './execution/engine/tools/integration/server/adapters/millionverifier'
68
+ export { StripeAdapter } from './execution/engine/tools/integration/server/adapters/stripe'
69
+ export { SignatureApiAdapter } from './execution/engine/tools/integration/server/adapters/signature-api'
70
+ export { DropboxAdapter } from './execution/engine/tools/integration/server/adapters/dropbox'
71
+
72
+ // Integration Tool Factories (server-only - uses adapters above)
73
+ export {
74
+ createGmailSendEmailTool,
75
+ createGmailSendEmailToolNamed
76
+ } from './execution/engine/tools/integration/server/adapters/gmail/gmail-tools'
77
+ export {
78
+ createAttioCreateRecordTool,
79
+ createAttioUpdateRecordTool,
80
+ createAttioListRecordsTool,
81
+ createAttioGetRecordTool,
82
+ createAttioDeleteRecordTool,
83
+ createAttioToolNamed,
84
+ // Schema operations
85
+ createAttioListObjectsTool,
86
+ createAttioListAttributesTool,
87
+ createAttioCreateAttributeTool,
88
+ createAttioUpdateAttributeTool,
89
+ // Note operations
90
+ createAttioCreateNoteTool
91
+ } from './execution/engine/tools/integration/server/adapters/attio'
92
+ export {
93
+ // Core methods
94
+ createGoogleSheetsReadTool,
95
+ createGoogleSheetsWriteTool,
96
+ createGoogleSheetsAppendTool,
97
+ createGoogleSheetsClearTool,
98
+ createGoogleSheetsMetadataTool,
99
+ createGoogleSheetsBatchUpdateTool,
100
+ // Workflow-friendly methods
101
+ createGoogleSheetsGetHeadersTool,
102
+ createGoogleSheetsGetLastRowTool,
103
+ createGoogleSheetsFindRowTool,
104
+ createGoogleSheetsUpdateRowTool,
105
+ createGoogleSheetsUpsertRowTool,
106
+ createGoogleSheetsFilterRowsTool,
107
+ createGoogleSheetsDeleteRowTool
108
+ } from './execution/engine/tools/integration/server/adapters/google-sheets'
109
+ export { createApifyRunActorTool } from './execution/engine/tools/integration/server/adapters/apify'
110
+ export {
111
+ createInstantlySendReplyTool,
112
+ createInstantlyRemoveFromSubsequenceTool,
113
+ createInstantlyGetEmailsTool,
114
+ createInstantlyUpdateInterestStatusTool,
115
+ createInstantlyAddToCampaignTool
116
+ } from './execution/engine/tools/integration/server/adapters/instantly'
117
+ export {
118
+ createResendSendEmailTool,
119
+ createResendGetEmailTool,
120
+ createResendSendEmailToolNamed
121
+ } from './execution/engine/tools/integration/server/adapters/resend'
122
+ export {
123
+ createAnymailfinderFindCompanyEmailTool,
124
+ createAnymailfinderFindPersonEmailTool,
125
+ createAnymailfinderFindDecisionMakerEmailTool,
126
+ createAnymailfinderVerifyEmailTool
127
+ } from './execution/engine/tools/integration/server/adapters/anymailfinder'
128
+ export {
129
+ createTombaEmailFinderTool,
130
+ createTombaDomainSearchTool,
131
+ createTombaEmailVerifierTool
132
+ } from './execution/engine/tools/integration/server/adapters/tomba'
133
+ export {
134
+ createMillionVerifierVerifyEmailTool,
135
+ createMillionVerifierCheckCreditsTool
136
+ } from './execution/engine/tools/integration/server/adapters/millionverifier'
137
+ export {
138
+ createDropboxUploadTool,
139
+ createDropboxCreateFolderTool
140
+ } from './execution/engine/tools/integration/server/adapters/dropbox'
141
+ export {
142
+ createStripeCreatePaymentLinkTool,
143
+ createStripeGetPaymentLinkTool,
144
+ createStripeUpdatePaymentLinkTool,
145
+ createStripeListPaymentLinksTool,
146
+ createStripeCheckoutSessionTool,
147
+ createStripeAutoPaymentLinkTool
148
+ } from './execution/engine/tools/integration/server/adapters/stripe'
149
+
150
+ // Resend fetch functions (low-level API for platform email service)
151
+ export { sendEmail as sendResendEmail } from './execution/engine/tools/integration/server/adapters/resend/fetch/send-email/index'
152
+ export type {
153
+ ResendCredentials,
154
+ SendEmailParams as ResendSendEmailParams,
155
+ SendEmailResult as ResendSendEmailResult
156
+ } from './execution/engine/tools/integration/server/adapters/resend/fetch/utils/types'
157
+
158
+ // Resend email configuration (high-level sender config for workflows)
159
+ export type { ResendEmailConfig } from './execution/engine/tools/integration/server/adapters/resend/types'
160
+
161
+ // SignatureAPI types (for eSignature envelope operations)
162
+ export type {
163
+ SignatureApiCredentials,
164
+ CreateEnvelopeParams,
165
+ CreateEnvelopeResult,
166
+ VoidEnvelopeParams,
167
+ VoidEnvelopeResult,
168
+ DownloadDocumentParams,
169
+ DownloadDocumentResult,
170
+ EnvelopeDocument,
171
+ Recipient,
172
+ SigningPlace
173
+ } from './execution/engine/tools/integration/server/adapters/signature-api'
174
+
175
+ // Execution validators (uses process.env for environment detection)
176
+ export { detectEnvironment, canExecuteResource, type Environment } from './execution/core/server/environment'
177
+
178
+ // HMAC token utilities (uses Node.js crypto - server-only)
179
+ export { generateHmacToken, verifyHmacToken, generateBrochureUrl } from './platform/utils/server/hmac'
180
+ export {
181
+ generateUnsubscribeToken,
182
+ verifyUnsubscribeToken,
183
+ generateUnsubscribeUrl,
184
+ generateUnsubscribeHeaders
185
+ } from './platform/utils/server/unsubscribe'
186
+
187
+ // Better Stack error logging (uses @sentry/node - server-only)
188
+ export {
189
+ bslogExternalServiceError,
190
+ bslogExecutionFailure,
191
+ isSystemError
192
+ } from './platform/utils/server/betterstack-logger'
193
+
194
+ // LLM Adapters (uses betterstack-logger - server-only)
195
+ export { OpenAIAdapter, isOpenAIModel, type OpenAIAdapterConfig } from './execution/engine/llm/adapters/server/openai'
196
+ export {
197
+ OpenRouterAdapter,
198
+ isOpenRouterModel,
199
+ type OpenRouterAdapterConfig
200
+ } from './execution/engine/llm/adapters/server/openrouter'
201
+ export { createLLMAdapter } from './execution/engine/llm/adapters/server/adapter-factory'
202
+
203
+ // Browser-safe adapters (also exported from server for convenience)
204
+ export { UniversalLLMAdapter } from './execution/engine/llm/adapters/universal-adapter'
205
+ export { MockAdapter, isMockModel } from './execution/engine/llm/adapters/mock-adapter'
206
+ export { configureCircuitBreakerAlerts } from './execution/engine/llm/adapters/circuit-breaker'
207
+
208
+ // LLM Tool factory (uses server-only adapters)
209
+ export { createLLMCallTool, type LLMCallToolConfig } from './execution/engine/tools/llm/server'
210
+
211
+ // Workflow step helper (uses server-only adapters)
212
+ export { llmCall, type LLMCallOptions } from './execution/engine/workflow/helpers/server'
213
+
214
+ // Retained server-side resource invocation service types live under @repo/core/execution.
215
+ // Deployed SDK workers use platform.call() -> dispatcher for nested execution.
216
+
217
+ // Resilience utilities (timeout, circuit breaker, infrastructure errors)
218
+ export {
219
+ // Existing
220
+ withTimeout,
221
+ SERVICE_TIMEOUTS,
222
+ createCircuitBreaker,
223
+ CircuitState,
224
+ ServiceTimeoutError,
225
+ ServiceUnavailableError,
226
+ isInfrastructureError,
227
+ type CircuitBreaker,
228
+ type CircuitBreakerConfig,
229
+ // Rate limiting
230
+ InMemoryRateLimiter,
231
+ createRateLimiter,
232
+ // Retry logic
233
+ withRetry,
234
+ calculateRetryDelay,
235
+ sleep,
236
+ DEFAULT_RETRY_POLICY,
237
+ // HTTP error mapping
238
+ createHttpError,
239
+ mapHttpStatusToErrorType,
240
+ type RateLimiter,
241
+ type RetryPolicy,
242
+ type HttpErrorContext,
243
+ type ErrorParser
244
+ } from './platform/resilience'
245
+
246
+ // Acquisition Platform Tools (lead database)
247
+ export {
248
+ // List tools
249
+ createAcqListCreateTool,
250
+ createAcqListUpdateTool,
251
+ createAcqListDeleteTool,
252
+ createAcqListListTool,
253
+ // Company tools
254
+ createAcqCompanyCreateTool,
255
+ createAcqCompanyUpdateTool,
256
+ createAcqCompanyUpsertTool,
257
+ createAcqCompanyGetTool,
258
+ createAcqCompanyListTool,
259
+ createAcqCompanyDeleteTool,
260
+ // Contact tools
261
+ createAcqContactCreateTool,
262
+ createAcqContactUpdateTool,
263
+ createAcqContactUpsertTool,
264
+ createAcqContactGetTool,
265
+ createAcqContactListTool,
266
+ createAcqContactDeleteTool,
267
+ createAcqContactBulkImportTool
268
+ } from './execution/engine/tools/platform/acquisition'
269
+
270
+ // PDF Tool (server-only - uses React-PDF renderToBuffer)
271
+ export {
272
+ createPdfRenderTool,
273
+ type PdfRenderInput,
274
+ type PdfRenderOutput,
275
+ type PdfToolConfig,
276
+ PdfRenderInputSchema,
277
+ PdfRenderOutputSchema
278
+ } from './execution/engine/tools/platform/pdf'
279
+
280
+ // PDF Document types (for constructing documents programmatically)
281
+ export type { PDFDocument, ContentBlock, Page as PDFPage } from './business/pdf/types'
@@ -2624,7 +2624,8 @@ export type Database = {
2624
2624
  created_at: string
2625
2625
  description: string | null
2626
2626
  id: string
2627
- key: string
2627
+ key_hash: string
2628
+ key_prefix: string | null
2628
2629
  last_triggered_at: string | null
2629
2630
  name: string
2630
2631
  organization_id: string
@@ -2637,7 +2638,8 @@ export type Database = {
2637
2638
  created_at?: string
2638
2639
  description?: string | null
2639
2640
  id?: string
2640
- key: string
2641
+ key_hash: string
2642
+ key_prefix?: string | null
2641
2643
  last_triggered_at?: string | null
2642
2644
  name: string
2643
2645
  organization_id: string
@@ -2650,7 +2652,8 @@ export type Database = {
2650
2652
  created_at?: string
2651
2653
  description?: string | null
2652
2654
  id?: string
2653
- key?: string
2655
+ key_hash?: string
2656
+ key_prefix?: string | null
2654
2657
  last_triggered_at?: string | null
2655
2658
  name?: string
2656
2659
  organization_id?: string
@@ -2703,6 +2706,7 @@ export type Database = {
2703
2706
  user_id: string
2704
2707
  }[]
2705
2708
  }
2709
+ get_platform_credential_kek: { Args: never; Returns: string }
2706
2710
  get_storage_org_id: { Args: { file_path: string }; Returns: string }
2707
2711
  get_workos_user_id: { Args: never; Returns: string }
2708
2712
  has_org_permission: {