@elevasis/core 0.38.0 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/index.d.ts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +12 -0
- package/dist/knowledge/index.d.ts +21 -14
- package/dist/knowledge/index.js +10 -1
- package/dist/organization-model/index.d.ts +1 -0
- package/dist/organization-model/index.js +12 -0
- package/dist/test-utils/index.d.ts +1 -0
- package/dist/test-utils/index.js +12 -0
- package/package.json +1 -1
- package/src/business/acquisition/ontology-validation.ts +31 -9
- package/src/knowledge/index.ts +14 -1
- package/src/knowledge/queries.ts +74 -15
- package/src/organization-model/__tests__/snapshot-hash.test.ts +82 -0
- package/src/organization-model/index.ts +1 -0
- package/src/organization-model/schema.ts +12 -0
- package/src/organization-model/server/snapshot-hash-server.ts +23 -0
- package/src/organization-model/snapshot-hash.ts +64 -0
- package/src/platform/constants/versions.ts +1 -1
- package/src/platform/registry/validation.ts +21 -7
- package/src/server.ts +292 -289
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
computeInterfaceReadiness,
|
|
24
24
|
type SystemInterfaceReadinessIssueFamily
|
|
25
25
|
} from '../../business/acquisition/ontology-validation'
|
|
26
|
+
import { SYSTEM_INTERFACE_PROFILES } from '../../organization-model/domains/systems'
|
|
26
27
|
import type { OmTopologyNodeRef } from '../../organization-model/domains/topology'
|
|
27
28
|
import type {
|
|
28
29
|
TriggerDefinition,
|
|
@@ -615,20 +616,28 @@ function addSystemInterfaceIssue(
|
|
|
615
616
|
|
|
616
617
|
/**
|
|
617
618
|
* Detects systems that are API-backed (have resources with non-empty ontology
|
|
618
|
-
* bindings)
|
|
619
|
+
* bindings), CAN adopt a platform-cataloged `apiInterface` readinessProfile
|
|
620
|
+
* (system path appears in `SYSTEM_INTERFACE_PROFILES`), but have not declared
|
|
621
|
+
* `apiInterface` in the Organization Model.
|
|
619
622
|
*
|
|
620
|
-
*
|
|
621
|
-
*
|
|
623
|
+
* Originally broad-by-design (flagged any system with ontology actions/writes
|
|
624
|
+
* lacking apiInterface). Tightened in @elevasis/sdk@1.30.1 after the template
|
|
625
|
+
* surfaced the unactionable-paradox case: custom systems (e.g. `sys.operations`,
|
|
626
|
+
* `sys.notifications`) have valid `ontology.actions` bindings but cannot adopt
|
|
627
|
+
* one of the closed-catalog readiness profiles, AND the documented guidance
|
|
628
|
+
* ("Custom Systems should not declare apiInterface") is incompatible with the
|
|
629
|
+
* broad heuristic. The gate now only flags systems where adoption is even
|
|
630
|
+
* possible — i.e. the system path matches a cataloged profile's `systemPath`.
|
|
622
631
|
*
|
|
623
|
-
* A system is flagged when:
|
|
632
|
+
* A system is flagged when ALL of:
|
|
624
633
|
* (a) `system.apiInterface === undefined`, AND
|
|
625
634
|
* (b) at least one resource in `organizationModel.resources` has
|
|
626
635
|
* `resource.systemPath` matching the system path AND
|
|
627
|
-
* `resource.ontology` non-empty (has `actions` and/or `writes` defined)
|
|
636
|
+
* `resource.ontology` non-empty (has `actions` and/or `writes` defined), AND
|
|
637
|
+
* (c) the system path appears as a cataloged `systemPath` in
|
|
638
|
+
* `SYSTEM_INTERFACE_PROFILES` (so adopting a profile is actually possible).
|
|
628
639
|
*
|
|
629
640
|
* Returns `[]` when `organizationModel` is undefined or no gaps are found.
|
|
630
|
-
* The structured return value drives both CLI warnings and scaffold fill-mode
|
|
631
|
-
* input payloads without any transformation on the caller side.
|
|
632
641
|
*/
|
|
633
642
|
export function detectMissingApiInterfaceDeclarations(
|
|
634
643
|
orgName: string,
|
|
@@ -655,10 +664,15 @@ export function detectMissingApiInterfaceDeclarations(
|
|
|
655
664
|
|
|
656
665
|
if (apiBoundResourcesBySystemPath.size === 0) return []
|
|
657
666
|
|
|
667
|
+
// Closed-catalog filter: a system is only a candidate for missing apiInterface
|
|
668
|
+
// if it could actually adopt one of the cataloged platform profiles.
|
|
669
|
+
const catalogedSystemPaths = new Set<string>(SYSTEM_INTERFACE_PROFILES.map((profile) => profile.systemPath))
|
|
670
|
+
|
|
658
671
|
const gaps: ApiInterfaceConformanceGap[] = []
|
|
659
672
|
|
|
660
673
|
for (const { path, system } of listAllSystems(organizationModel)) {
|
|
661
674
|
if (system.apiInterface !== undefined) continue
|
|
675
|
+
if (!catalogedSystemPaths.has(path)) continue
|
|
662
676
|
const resourceIds = apiBoundResourcesBySystemPath.get(path)
|
|
663
677
|
if (!resourceIds || resourceIds.length === 0) continue
|
|
664
678
|
gaps.push({
|
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
|
-
//
|
|
187
|
-
export {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
export {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
export {
|
|
218
|
-
|
|
219
|
-
//
|
|
220
|
-
export {
|
|
221
|
-
|
|
222
|
-
//
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
//
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
//
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
type
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
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'
|