@elevasis/core 0.39.0 → 0.41.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 (36) hide show
  1. package/dist/auth/index.d.ts +69 -2
  2. package/dist/index.d.ts +650 -413
  3. package/dist/index.js +92 -3
  4. package/dist/knowledge/index.d.ts +90 -19
  5. package/dist/knowledge/index.js +10 -1
  6. package/dist/organization-model/index.d.ts +650 -413
  7. package/dist/organization-model/index.js +92 -3
  8. package/dist/test-utils/index.d.ts +104 -37
  9. package/dist/test-utils/index.js +81 -2
  10. package/package.json +1 -1
  11. package/src/_gen/__tests__/__snapshots__/contracts.md.snap +54 -0
  12. package/src/business/acquisition/ontology-validation.ts +31 -9
  13. package/src/business/clients/api-schemas.test.ts +63 -29
  14. package/src/business/clients/api-schemas.ts +41 -29
  15. package/src/knowledge/index.ts +14 -1
  16. package/src/knowledge/queries.ts +74 -15
  17. package/src/organization-model/__tests__/clients.test.ts +146 -0
  18. package/src/organization-model/__tests__/snapshot-hash.test.ts +82 -0
  19. package/src/organization-model/cross-ref.ts +4 -0
  20. package/src/organization-model/defaults.ts +2 -2
  21. package/src/organization-model/domains/knowledge.ts +1 -0
  22. package/src/organization-model/graph/build.ts +23 -6
  23. package/src/organization-model/graph/schema.ts +4 -3
  24. package/src/organization-model/graph/types.ts +4 -3
  25. package/src/organization-model/helpers.ts +15 -0
  26. package/src/organization-model/index.ts +1 -0
  27. package/src/organization-model/published.ts +19 -1
  28. package/src/organization-model/schema-refinements.ts +2 -2
  29. package/src/organization-model/schema.ts +109 -0
  30. package/src/organization-model/server/snapshot-hash-server.ts +23 -0
  31. package/src/organization-model/snapshot-hash.ts +62 -0
  32. package/src/organization-model/types.ts +19 -1
  33. package/src/platform/constants/versions.ts +1 -1
  34. package/src/reference/_generated/contracts.md +54 -0
  35. package/src/server.ts +292 -289
  36. package/src/supabase/database.types.ts +3 -0
package/src/server.ts CHANGED
@@ -1,289 +1,292 @@
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 { ApolloAdapter } from './execution/engine/tools/integration/server/adapters/apollo'
64
- export { InstantlyAdapter } from './execution/engine/tools/integration/server/adapters/instantly'
65
- export { ResendAdapter } from './execution/engine/tools/integration/server/adapters/resend'
66
- export { AnymailfinderAdapter } from './execution/engine/tools/integration/server/adapters/anymailfinder'
67
- export { TombaAdapter } from './execution/engine/tools/integration/server/adapters/tomba'
68
- export { MillionVerifierAdapter } from './execution/engine/tools/integration/server/adapters/millionverifier'
69
- export { StripeAdapter } from './execution/engine/tools/integration/server/adapters/stripe'
70
- export { SignatureApiAdapter } from './execution/engine/tools/integration/server/adapters/signature-api'
71
- export { DropboxAdapter } from './execution/engine/tools/integration/server/adapters/dropbox'
72
- export { ClickUpAdapter } from './execution/engine/tools/integration/server/adapters/clickup'
73
- export {
74
- GoogleCalendarAdapter,
75
- type CalendarEvent,
76
- type CalendarDateTime,
77
- type ListEventsResult
78
- } from './execution/engine/tools/integration/server/adapters/google-calendar'
79
-
80
- // Integration Tool Factories (server-only - uses adapters above)
81
- export {
82
- createGmailSendEmailTool,
83
- createGmailSendEmailToolNamed
84
- } from './execution/engine/tools/integration/server/adapters/gmail/gmail-tools'
85
- export {
86
- createAttioCreateRecordTool,
87
- createAttioUpdateRecordTool,
88
- createAttioListRecordsTool,
89
- createAttioGetRecordTool,
90
- createAttioDeleteRecordTool,
91
- createAttioToolNamed,
92
- // Schema operations
93
- createAttioListObjectsTool,
94
- createAttioListAttributesTool,
95
- createAttioCreateAttributeTool,
96
- createAttioUpdateAttributeTool,
97
- // Note operations
98
- createAttioCreateNoteTool
99
- } from './execution/engine/tools/integration/server/adapters/attio'
100
- export {
101
- // Core methods
102
- createGoogleSheetsReadTool,
103
- createGoogleSheetsWriteTool,
104
- createGoogleSheetsAppendTool,
105
- createGoogleSheetsClearTool,
106
- createGoogleSheetsMetadataTool,
107
- createGoogleSheetsBatchUpdateTool,
108
- // Workflow-friendly methods
109
- createGoogleSheetsGetHeadersTool,
110
- createGoogleSheetsGetLastRowTool,
111
- createGoogleSheetsFindRowTool,
112
- createGoogleSheetsUpdateRowTool,
113
- createGoogleSheetsUpsertRowTool,
114
- createGoogleSheetsFilterRowsTool,
115
- createGoogleSheetsDeleteRowTool
116
- } from './execution/engine/tools/integration/server/adapters/google-sheets'
117
- export { createApifyRunActorTool } from './execution/engine/tools/integration/server/adapters/apify'
118
- export {
119
- createInstantlySendReplyTool,
120
- createInstantlyRemoveFromSubsequenceTool,
121
- createInstantlyGetEmailsTool,
122
- createInstantlyUpdateInterestStatusTool,
123
- createInstantlyAddToCampaignTool
124
- } from './execution/engine/tools/integration/server/adapters/instantly'
125
- export {
126
- createResendSendEmailTool,
127
- createResendGetEmailTool,
128
- createResendSendEmailToolNamed
129
- } from './execution/engine/tools/integration/server/adapters/resend'
130
- export {
131
- createAnymailfinderFindCompanyEmailTool,
132
- createAnymailfinderFindPersonEmailTool,
133
- createAnymailfinderFindDecisionMakerEmailTool,
134
- createAnymailfinderVerifyEmailTool
135
- } from './execution/engine/tools/integration/server/adapters/anymailfinder'
136
- export {
137
- createTombaEmailFinderTool,
138
- createTombaDomainSearchTool,
139
- createTombaEmailVerifierTool
140
- } from './execution/engine/tools/integration/server/adapters/tomba'
141
- export {
142
- createMillionVerifierVerifyEmailTool,
143
- createMillionVerifierCheckCreditsTool
144
- } from './execution/engine/tools/integration/server/adapters/millionverifier'
145
- export {
146
- createDropboxUploadTool,
147
- createDropboxCreateFolderTool
148
- } from './execution/engine/tools/integration/server/adapters/dropbox'
149
- export {
150
- createStripeCreatePaymentLinkTool,
151
- createStripeGetPaymentLinkTool,
152
- createStripeUpdatePaymentLinkTool,
153
- createStripeListPaymentLinksTool,
154
- createStripeCheckoutSessionTool,
155
- createStripeAutoPaymentLinkTool
156
- } from './execution/engine/tools/integration/server/adapters/stripe'
157
-
158
- // Resend fetch functions (low-level API for platform email service)
159
- export { sendEmail as sendResendEmail } from './execution/engine/tools/integration/server/adapters/resend/fetch/send-email/index'
160
- export type {
161
- ResendCredentials,
162
- SendEmailParams as ResendSendEmailParams,
163
- SendEmailResult as ResendSendEmailResult
164
- } from './execution/engine/tools/integration/server/adapters/resend/fetch/utils/types'
165
-
166
- // Resend email configuration (high-level sender config for workflows)
167
- export type { ResendEmailConfig } from './execution/engine/tools/integration/server/adapters/resend/types'
168
-
169
- // SignatureAPI types (for eSignature envelope operations)
170
- export type {
171
- SignatureApiCredentials,
172
- CreateEnvelopeParams,
173
- CreateEnvelopeResult,
174
- VoidEnvelopeParams,
175
- VoidEnvelopeResult,
176
- DownloadDocumentParams,
177
- DownloadDocumentResult,
178
- EnvelopeDocument,
179
- Recipient,
180
- SigningPlace
181
- } from './execution/engine/tools/integration/server/adapters/signature-api'
182
-
183
- // Execution validators (uses process.env for environment detection)
184
- export { detectEnvironment, canExecuteResource, type Environment } from './execution/core/server/environment'
185
-
186
- // HMAC token utilities (uses Node.js crypto - server-only)
187
- export { generateHmacToken, verifyHmacToken, generateBrochureUrl } from './platform/utils/server/hmac'
188
- export {
189
- generateUnsubscribeToken,
190
- verifyUnsubscribeToken,
191
- generateUnsubscribeUrl,
192
- generateUnsubscribeHeaders
193
- } from './platform/utils/server/unsubscribe'
194
-
195
- // Better Stack error logging (uses @sentry/node - server-only)
196
- export {
197
- bslogExternalServiceError,
198
- bslogExecutionFailure,
199
- isSystemError
200
- } from './platform/utils/server/betterstack-logger'
201
-
202
- // LLM Adapters (uses betterstack-logger - server-only)
203
- export { OpenAIAdapter, isOpenAIModel, type OpenAIAdapterConfig } from './execution/engine/llm/adapters/server/openai'
204
- export {
205
- OpenRouterAdapter,
206
- isOpenRouterModel,
207
- type OpenRouterAdapterConfig
208
- } from './execution/engine/llm/adapters/server/openrouter'
209
- export { createLLMAdapter } from './execution/engine/llm/adapters/server/adapter-factory'
210
-
211
- // Browser-safe adapters (also exported from server for convenience)
212
- export { UniversalLLMAdapter } from './execution/engine/llm/adapters/universal-adapter'
213
- export { MockAdapter, isMockModel } from './execution/engine/llm/adapters/mock-adapter'
214
- export { configureCircuitBreakerAlerts } from './execution/engine/llm/adapters/circuit-breaker'
215
-
216
- // LLM Tool factory (uses server-only adapters)
217
- export { createLLMCallTool, type LLMCallToolConfig } from './execution/engine/tools/llm/server'
218
-
219
- // Workflow step helper (uses server-only adapters)
220
- export { llmCall, type LLMCallOptions } from './execution/engine/workflow/helpers/server'
221
-
222
- // Retained server-side resource invocation service types live under @repo/core/execution.
223
- // Deployed SDK workers use platform.call() -> dispatcher for nested execution.
224
-
225
- // Resilience utilities (timeout, circuit breaker, infrastructure errors)
226
- export {
227
- // Existing
228
- withTimeout,
229
- SERVICE_TIMEOUTS,
230
- createCircuitBreaker,
231
- CircuitState,
232
- ServiceTimeoutError,
233
- ServiceUnavailableError,
234
- isInfrastructureError,
235
- type CircuitBreaker,
236
- type CircuitBreakerConfig,
237
- // Rate limiting
238
- InMemoryRateLimiter,
239
- createRateLimiter,
240
- // Retry logic
241
- withRetry,
242
- calculateRetryDelay,
243
- sleep,
244
- DEFAULT_RETRY_POLICY,
245
- // HTTP error mapping
246
- createHttpError,
247
- mapHttpStatusToErrorType,
248
- type RateLimiter,
249
- type RetryPolicy,
250
- type HttpErrorContext,
251
- type ErrorParser
252
- } from './platform/resilience'
253
-
254
- // Acquisition Platform Tools (lead database)
255
- export {
256
- // List tools
257
- createAcqListCreateTool,
258
- createAcqListUpdateTool,
259
- createAcqListDeleteTool,
260
- createAcqListListTool,
261
- // Company tools
262
- createAcqCompanyCreateTool,
263
- createAcqCompanyUpdateTool,
264
- createAcqCompanyUpsertTool,
265
- createAcqCompanyGetTool,
266
- createAcqCompanyListTool,
267
- createAcqCompanyDeleteTool,
268
- // Contact tools
269
- createAcqContactCreateTool,
270
- createAcqContactUpdateTool,
271
- createAcqContactUpsertTool,
272
- createAcqContactGetTool,
273
- createAcqContactListTool,
274
- createAcqContactDeleteTool,
275
- createAcqContactBulkImportTool
276
- } from './execution/engine/tools/platform/acquisition'
277
-
278
- // PDF Tool (server-only - uses React-PDF renderToBuffer)
279
- export {
280
- createPdfRenderTool,
281
- type PdfRenderInput,
282
- type PdfRenderOutput,
283
- type PdfToolConfig,
284
- PdfRenderInputSchema,
285
- PdfRenderOutputSchema
286
- } from './execution/engine/tools/platform/pdf'
287
-
288
- // PDF Document types (for constructing documents programmatically)
289
- 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 { ApolloAdapter } from './execution/engine/tools/integration/server/adapters/apollo'
64
+ export { InstantlyAdapter } from './execution/engine/tools/integration/server/adapters/instantly'
65
+ export { ResendAdapter } from './execution/engine/tools/integration/server/adapters/resend'
66
+ export { AnymailfinderAdapter } from './execution/engine/tools/integration/server/adapters/anymailfinder'
67
+ export { TombaAdapter } from './execution/engine/tools/integration/server/adapters/tomba'
68
+ export { MillionVerifierAdapter } from './execution/engine/tools/integration/server/adapters/millionverifier'
69
+ export { StripeAdapter } from './execution/engine/tools/integration/server/adapters/stripe'
70
+ export { SignatureApiAdapter } from './execution/engine/tools/integration/server/adapters/signature-api'
71
+ export { DropboxAdapter } from './execution/engine/tools/integration/server/adapters/dropbox'
72
+ export { ClickUpAdapter } from './execution/engine/tools/integration/server/adapters/clickup'
73
+ export {
74
+ GoogleCalendarAdapter,
75
+ type CalendarEvent,
76
+ type CalendarDateTime,
77
+ type ListEventsResult
78
+ } from './execution/engine/tools/integration/server/adapters/google-calendar'
79
+
80
+ // Integration Tool Factories (server-only - uses adapters above)
81
+ export {
82
+ createGmailSendEmailTool,
83
+ createGmailSendEmailToolNamed
84
+ } from './execution/engine/tools/integration/server/adapters/gmail/gmail-tools'
85
+ export {
86
+ createAttioCreateRecordTool,
87
+ createAttioUpdateRecordTool,
88
+ createAttioListRecordsTool,
89
+ createAttioGetRecordTool,
90
+ createAttioDeleteRecordTool,
91
+ createAttioToolNamed,
92
+ // Schema operations
93
+ createAttioListObjectsTool,
94
+ createAttioListAttributesTool,
95
+ createAttioCreateAttributeTool,
96
+ createAttioUpdateAttributeTool,
97
+ // Note operations
98
+ createAttioCreateNoteTool
99
+ } from './execution/engine/tools/integration/server/adapters/attio'
100
+ export {
101
+ // Core methods
102
+ createGoogleSheetsReadTool,
103
+ createGoogleSheetsWriteTool,
104
+ createGoogleSheetsAppendTool,
105
+ createGoogleSheetsClearTool,
106
+ createGoogleSheetsMetadataTool,
107
+ createGoogleSheetsBatchUpdateTool,
108
+ // Workflow-friendly methods
109
+ createGoogleSheetsGetHeadersTool,
110
+ createGoogleSheetsGetLastRowTool,
111
+ createGoogleSheetsFindRowTool,
112
+ createGoogleSheetsUpdateRowTool,
113
+ createGoogleSheetsUpsertRowTool,
114
+ createGoogleSheetsFilterRowsTool,
115
+ createGoogleSheetsDeleteRowTool
116
+ } from './execution/engine/tools/integration/server/adapters/google-sheets'
117
+ export { createApifyRunActorTool } from './execution/engine/tools/integration/server/adapters/apify'
118
+ export {
119
+ createInstantlySendReplyTool,
120
+ createInstantlyRemoveFromSubsequenceTool,
121
+ createInstantlyGetEmailsTool,
122
+ createInstantlyUpdateInterestStatusTool,
123
+ createInstantlyAddToCampaignTool
124
+ } from './execution/engine/tools/integration/server/adapters/instantly'
125
+ export {
126
+ createResendSendEmailTool,
127
+ createResendGetEmailTool,
128
+ createResendSendEmailToolNamed
129
+ } from './execution/engine/tools/integration/server/adapters/resend'
130
+ export {
131
+ createAnymailfinderFindCompanyEmailTool,
132
+ createAnymailfinderFindPersonEmailTool,
133
+ createAnymailfinderFindDecisionMakerEmailTool,
134
+ createAnymailfinderVerifyEmailTool
135
+ } from './execution/engine/tools/integration/server/adapters/anymailfinder'
136
+ export {
137
+ createTombaEmailFinderTool,
138
+ createTombaDomainSearchTool,
139
+ createTombaEmailVerifierTool
140
+ } from './execution/engine/tools/integration/server/adapters/tomba'
141
+ export {
142
+ createMillionVerifierVerifyEmailTool,
143
+ createMillionVerifierCheckCreditsTool
144
+ } from './execution/engine/tools/integration/server/adapters/millionverifier'
145
+ export {
146
+ createDropboxUploadTool,
147
+ createDropboxCreateFolderTool
148
+ } from './execution/engine/tools/integration/server/adapters/dropbox'
149
+ export {
150
+ createStripeCreatePaymentLinkTool,
151
+ createStripeGetPaymentLinkTool,
152
+ createStripeUpdatePaymentLinkTool,
153
+ createStripeListPaymentLinksTool,
154
+ createStripeCheckoutSessionTool,
155
+ createStripeAutoPaymentLinkTool
156
+ } from './execution/engine/tools/integration/server/adapters/stripe'
157
+
158
+ // Resend fetch functions (low-level API for platform email service)
159
+ export { sendEmail as sendResendEmail } from './execution/engine/tools/integration/server/adapters/resend/fetch/send-email/index'
160
+ export type {
161
+ ResendCredentials,
162
+ SendEmailParams as ResendSendEmailParams,
163
+ SendEmailResult as ResendSendEmailResult
164
+ } from './execution/engine/tools/integration/server/adapters/resend/fetch/utils/types'
165
+
166
+ // Resend email configuration (high-level sender config for workflows)
167
+ export type { ResendEmailConfig } from './execution/engine/tools/integration/server/adapters/resend/types'
168
+
169
+ // SignatureAPI types (for eSignature envelope operations)
170
+ export type {
171
+ SignatureApiCredentials,
172
+ CreateEnvelopeParams,
173
+ CreateEnvelopeResult,
174
+ VoidEnvelopeParams,
175
+ VoidEnvelopeResult,
176
+ DownloadDocumentParams,
177
+ DownloadDocumentResult,
178
+ EnvelopeDocument,
179
+ Recipient,
180
+ SigningPlace
181
+ } from './execution/engine/tools/integration/server/adapters/signature-api'
182
+
183
+ // Execution validators (uses process.env for environment detection)
184
+ export { detectEnvironment, canExecuteResource, type Environment } from './execution/core/server/environment'
185
+
186
+ // Organization Model hash (uses Node.js crypto - server-only)
187
+ export { computeOrganizationModelSnapshotHash } from './organization-model/server/snapshot-hash-server'
188
+
189
+ // HMAC token utilities (uses Node.js crypto - server-only)
190
+ export { generateHmacToken, verifyHmacToken, generateBrochureUrl } from './platform/utils/server/hmac'
191
+ export {
192
+ generateUnsubscribeToken,
193
+ verifyUnsubscribeToken,
194
+ generateUnsubscribeUrl,
195
+ generateUnsubscribeHeaders
196
+ } from './platform/utils/server/unsubscribe'
197
+
198
+ // Better Stack error logging (uses @sentry/node - server-only)
199
+ export {
200
+ bslogExternalServiceError,
201
+ bslogExecutionFailure,
202
+ isSystemError
203
+ } from './platform/utils/server/betterstack-logger'
204
+
205
+ // LLM Adapters (uses betterstack-logger - server-only)
206
+ export { OpenAIAdapter, isOpenAIModel, type OpenAIAdapterConfig } from './execution/engine/llm/adapters/server/openai'
207
+ export {
208
+ OpenRouterAdapter,
209
+ isOpenRouterModel,
210
+ type OpenRouterAdapterConfig
211
+ } from './execution/engine/llm/adapters/server/openrouter'
212
+ export { createLLMAdapter } from './execution/engine/llm/adapters/server/adapter-factory'
213
+
214
+ // Browser-safe adapters (also exported from server for convenience)
215
+ export { UniversalLLMAdapter } from './execution/engine/llm/adapters/universal-adapter'
216
+ export { MockAdapter, isMockModel } from './execution/engine/llm/adapters/mock-adapter'
217
+ export { configureCircuitBreakerAlerts } from './execution/engine/llm/adapters/circuit-breaker'
218
+
219
+ // LLM Tool factory (uses server-only adapters)
220
+ export { createLLMCallTool, type LLMCallToolConfig } from './execution/engine/tools/llm/server'
221
+
222
+ // Workflow step helper (uses server-only adapters)
223
+ export { llmCall, type LLMCallOptions } from './execution/engine/workflow/helpers/server'
224
+
225
+ // Retained server-side resource invocation service types live under @repo/core/execution.
226
+ // Deployed SDK workers use platform.call() -> dispatcher for nested execution.
227
+
228
+ // Resilience utilities (timeout, circuit breaker, infrastructure errors)
229
+ export {
230
+ // Existing
231
+ withTimeout,
232
+ SERVICE_TIMEOUTS,
233
+ createCircuitBreaker,
234
+ CircuitState,
235
+ ServiceTimeoutError,
236
+ ServiceUnavailableError,
237
+ isInfrastructureError,
238
+ type CircuitBreaker,
239
+ type CircuitBreakerConfig,
240
+ // Rate limiting
241
+ InMemoryRateLimiter,
242
+ createRateLimiter,
243
+ // Retry logic
244
+ withRetry,
245
+ calculateRetryDelay,
246
+ sleep,
247
+ DEFAULT_RETRY_POLICY,
248
+ // HTTP error mapping
249
+ createHttpError,
250
+ mapHttpStatusToErrorType,
251
+ type RateLimiter,
252
+ type RetryPolicy,
253
+ type HttpErrorContext,
254
+ type ErrorParser
255
+ } from './platform/resilience'
256
+
257
+ // Acquisition Platform Tools (lead database)
258
+ export {
259
+ // List tools
260
+ createAcqListCreateTool,
261
+ createAcqListUpdateTool,
262
+ createAcqListDeleteTool,
263
+ createAcqListListTool,
264
+ // Company tools
265
+ createAcqCompanyCreateTool,
266
+ createAcqCompanyUpdateTool,
267
+ createAcqCompanyUpsertTool,
268
+ createAcqCompanyGetTool,
269
+ createAcqCompanyListTool,
270
+ createAcqCompanyDeleteTool,
271
+ // Contact tools
272
+ createAcqContactCreateTool,
273
+ createAcqContactUpdateTool,
274
+ createAcqContactUpsertTool,
275
+ createAcqContactGetTool,
276
+ createAcqContactListTool,
277
+ createAcqContactDeleteTool,
278
+ createAcqContactBulkImportTool
279
+ } from './execution/engine/tools/platform/acquisition'
280
+
281
+ // PDF Tool (server-only - uses React-PDF renderToBuffer)
282
+ export {
283
+ createPdfRenderTool,
284
+ type PdfRenderInput,
285
+ type PdfRenderOutput,
286
+ type PdfToolConfig,
287
+ PdfRenderInputSchema,
288
+ PdfRenderOutputSchema
289
+ } from './execution/engine/tools/platform/pdf'
290
+
291
+ // PDF Document types (for constructing documents programmatically)
292
+ export type { PDFDocument, ContentBlock, Page as PDFPage } from './business/pdf/types'
@@ -1256,6 +1256,7 @@ export type Database = {
1256
1256
  organization_id: string
1257
1257
  primary_company_id: string | null
1258
1258
  primary_contact_id: string | null
1259
+ source: string
1259
1260
  source_deal_id: string | null
1260
1261
  status: string
1261
1262
  updated_at: string
@@ -1269,6 +1270,7 @@ export type Database = {
1269
1270
  organization_id: string
1270
1271
  primary_company_id?: string | null
1271
1272
  primary_contact_id?: string | null
1273
+ source?: string
1272
1274
  source_deal_id?: string | null
1273
1275
  status?: string
1274
1276
  updated_at?: string
@@ -1282,6 +1284,7 @@ export type Database = {
1282
1284
  organization_id?: string
1283
1285
  primary_company_id?: string | null
1284
1286
  primary_contact_id?: string | null
1287
+ source?: string
1285
1288
  source_deal_id?: string | null
1286
1289
  status?: string
1287
1290
  updated_at?: string