@elevasis/core 0.15.1 → 0.17.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/index.d.ts +1662 -23
- package/dist/index.js +171 -24
- package/dist/knowledge/index.d.ts +1340 -0
- package/dist/knowledge/index.js +138 -0
- package/dist/organization-model/index.d.ts +1662 -23
- package/dist/organization-model/index.js +171 -24
- package/dist/test-utils/index.d.ts +711 -10
- package/dist/test-utils/index.js +159 -16
- package/package.json +7 -3
- package/src/__tests__/publish.test.ts +14 -13
- package/src/__tests__/template-core-compatibility.test.ts +4 -4
- package/src/_gen/__tests__/__snapshots__/contracts.md.snap +1265 -1154
- package/src/auth/multi-tenancy/index.ts +3 -0
- package/src/auth/multi-tenancy/theme-presets.ts +45 -0
- package/src/auth/multi-tenancy/types.ts +57 -83
- package/src/auth/multi-tenancy/users/api-schemas.ts +165 -194
- package/src/business/acquisition/activity-events.ts +1 -1
- package/src/business/acquisition/api-schemas.ts +1196 -1177
- package/src/business/acquisition/crm-state-actions.test.ts +139 -139
- package/src/business/acquisition/types.ts +381 -390
- package/src/business/crm/api-schemas.ts +40 -0
- package/src/business/crm/index.ts +1 -0
- package/src/business/deals/api-schemas.ts +79 -0
- package/src/business/deals/index.ts +1 -0
- package/src/business/projects/types.ts +124 -88
- package/src/execution/core/runner-types.ts +61 -80
- package/src/execution/engine/tools/integration/server/adapters/gmail/gmail-tools.ts +105 -104
- package/src/execution/engine/tools/integration/server/adapters/instantly/instantly-tools.ts +1474 -1473
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/millionverifier-tools.ts +103 -102
- package/src/execution/engine/tools/integration/server/adapters/signature-api/signature-api-tools.ts +182 -179
- package/src/execution/engine/tools/integration/server/adapters/stripe/stripe-tools.ts +310 -309
- package/src/execution/engine/tools/integration/tool.ts +255 -253
- package/src/execution/engine/tools/lead-service-types.ts +895 -894
- package/src/execution/engine/tools/messages.ts +43 -0
- package/src/execution/engine/tools/platform/acquisition/types.ts +2 -1
- package/src/execution/engine/tools/platform/email/types.ts +97 -96
- package/src/execution/engine/tools/types.ts +234 -233
- package/src/execution/engine/workflow/types.ts +195 -193
- package/src/execution/external/api-schemas.ts +40 -0
- package/src/execution/external/index.ts +1 -0
- package/src/knowledge/README.md +32 -0
- package/src/knowledge/__tests__/queries.test.ts +504 -0
- package/src/knowledge/format.ts +99 -0
- package/src/knowledge/index.ts +5 -0
- package/src/knowledge/published.ts +5 -0
- package/src/knowledge/queries.ts +256 -0
- package/src/organization-model/__tests__/defaults.test.ts +172 -172
- package/src/organization-model/__tests__/foundation.test.ts +7 -7
- package/src/organization-model/__tests__/icons.test.ts +27 -0
- package/src/organization-model/__tests__/knowledge.test.ts +214 -0
- package/src/organization-model/contracts.ts +17 -15
- package/src/organization-model/defaults.ts +74 -19
- package/src/organization-model/domains/knowledge.ts +53 -0
- package/src/organization-model/domains/navigation.ts +416 -399
- package/src/organization-model/domains/shared.ts +6 -5
- package/src/organization-model/foundation.ts +10 -6
- package/src/organization-model/graph/build.ts +209 -182
- package/src/organization-model/graph/schema.ts +37 -34
- package/src/organization-model/graph/types.ts +47 -31
- package/src/organization-model/icons.ts +81 -0
- package/src/organization-model/index.ts +8 -3
- package/src/organization-model/organization-model.mdx +1 -1
- package/src/organization-model/published.ts +103 -86
- package/src/organization-model/schema.ts +90 -85
- package/src/organization-model/types.ts +40 -33
- package/src/platform/index.ts +23 -27
- package/src/platform/registry/index.ts +0 -4
- package/src/platform/registry/resource-registry.ts +0 -77
- package/src/platform/registry/serialized-types.ts +148 -219
- package/src/platform/registry/stats-types.ts +60 -60
- package/src/reference/_generated/contracts.md +1265 -1154
- package/src/platform/registry/__tests__/resource-registry.list-executable.test.ts +0 -393
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool message protocol types (SSOT)
|
|
3
|
+
*
|
|
4
|
+
* Shared by worker-side (packages/sdk) and parent-side (apps/api) to
|
|
5
|
+
* describe the postMessage() messages that cross the worker thread boundary.
|
|
6
|
+
*
|
|
7
|
+
* ToolCallMessage — worker → parent (outbound request)
|
|
8
|
+
* ToolCallResponse — parent → worker (inbound response)
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import type { ToolingErrorType } from './types'
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Token usage metadata optionally attached to a ToolCallResponse.
|
|
15
|
+
* Populated for LLM tool calls where cost accounting is available.
|
|
16
|
+
*/
|
|
17
|
+
export interface TokenUsage {
|
|
18
|
+
inputTokens: number
|
|
19
|
+
outputTokens: number
|
|
20
|
+
cost?: number
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** Outbound tool-call from worker to parent */
|
|
24
|
+
export interface ToolCallMessage {
|
|
25
|
+
type: 'tool-call'
|
|
26
|
+
id: string
|
|
27
|
+
tool: string
|
|
28
|
+
method: string
|
|
29
|
+
params: unknown
|
|
30
|
+
credential?: string
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** Inbound tool-result from parent to worker */
|
|
34
|
+
export interface ToolCallResponse {
|
|
35
|
+
type: 'tool-result'
|
|
36
|
+
id: string
|
|
37
|
+
result?: unknown
|
|
38
|
+
error?: string
|
|
39
|
+
/** Structured error code from platform (ToolingErrorType) */
|
|
40
|
+
code?: ToolingErrorType
|
|
41
|
+
/** Token usage metadata (LLM tool calls only) */
|
|
42
|
+
usage?: TokenUsage
|
|
43
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod'
|
|
2
2
|
import { isProspectingBuildTemplateId } from '../../../../../business/acquisition/build-templates'
|
|
3
|
+
import { EmailSchema } from '../../../../../platform/utils/validation'
|
|
3
4
|
|
|
4
5
|
// ============================================
|
|
5
6
|
// LIST SCHEMAS
|
|
@@ -134,7 +135,7 @@ export const CompanyArrayOutputSchema = z.array(CompanyOutputSchema)
|
|
|
134
135
|
// ============================================
|
|
135
136
|
|
|
136
137
|
export const CreateContactInputSchema = z.object({
|
|
137
|
-
email:
|
|
138
|
+
email: EmailSchema,
|
|
138
139
|
companyId: z.string().uuid().optional(),
|
|
139
140
|
firstName: z.string().optional(),
|
|
140
141
|
lastName: z.string().optional(),
|
|
@@ -1,96 +1,97 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Platform Email Tool Types
|
|
3
|
-
*
|
|
4
|
-
* Zod schemas and inferred types for platform email sending.
|
|
5
|
-
* Supports three targeting modes: explicit userIds, role-based, or broadcast.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { z } from 'zod'
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* -
|
|
20
|
-
* -
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* -
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
//
|
|
62
|
-
//
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
*
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
//
|
|
86
|
-
//
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
name
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Platform Email Tool Types
|
|
3
|
+
*
|
|
4
|
+
* Zod schemas and inferred types for platform email sending.
|
|
5
|
+
* Supports three targeting modes: explicit userIds, role-based, or broadcast.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { z } from 'zod'
|
|
9
|
+
import { EmailSchema } from '../../../../../platform/utils/validation'
|
|
10
|
+
|
|
11
|
+
// =============================================================================
|
|
12
|
+
// INPUT SCHEMA
|
|
13
|
+
// =============================================================================
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Input schema for sending platform emails
|
|
17
|
+
*
|
|
18
|
+
* Targeting modes (exactly one required):
|
|
19
|
+
* - userIds: Explicit list of user IDs to email
|
|
20
|
+
* - targetRole: Role to target (e.g., "admin")
|
|
21
|
+
* - targetAll: Send to all org members
|
|
22
|
+
*
|
|
23
|
+
* Content (at least one required):
|
|
24
|
+
* - html: HTML email body
|
|
25
|
+
* - text: Plain text email body
|
|
26
|
+
*/
|
|
27
|
+
export const SendPlatformEmailInputSchema = z
|
|
28
|
+
.object({
|
|
29
|
+
// Targeting (exactly one required)
|
|
30
|
+
userIds: z.array(z.string().uuid()).optional().describe('Explicit list of user IDs to email'),
|
|
31
|
+
targetRole: z.string().optional().describe('Role to target (e.g., "admin")'),
|
|
32
|
+
targetAll: z.boolean().optional().describe('Send to all org members'),
|
|
33
|
+
|
|
34
|
+
// Content
|
|
35
|
+
subject: z.string().min(1).max(200),
|
|
36
|
+
html: z.string().optional(),
|
|
37
|
+
text: z.string().optional(),
|
|
38
|
+
|
|
39
|
+
// Optional
|
|
40
|
+
replyTo: EmailSchema.optional(),
|
|
41
|
+
tags: z
|
|
42
|
+
.array(
|
|
43
|
+
z.object({
|
|
44
|
+
name: z.string(),
|
|
45
|
+
value: z.string()
|
|
46
|
+
})
|
|
47
|
+
)
|
|
48
|
+
.optional()
|
|
49
|
+
})
|
|
50
|
+
.refine(
|
|
51
|
+
(data) => {
|
|
52
|
+
const modes = [data.userIds?.length, data.targetRole, data.targetAll].filter(Boolean)
|
|
53
|
+
return modes.length === 1
|
|
54
|
+
},
|
|
55
|
+
{ message: 'Exactly one targeting mode required: userIds, targetRole, or targetAll' }
|
|
56
|
+
)
|
|
57
|
+
.refine((data) => data.html || data.text, { message: 'Must provide either html or text body' })
|
|
58
|
+
|
|
59
|
+
export type SendPlatformEmailInput = z.infer<typeof SendPlatformEmailInputSchema>
|
|
60
|
+
|
|
61
|
+
// =============================================================================
|
|
62
|
+
// OUTPUT SCHEMA
|
|
63
|
+
// =============================================================================
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Output schema for platform email send result
|
|
67
|
+
* Follows partial success pattern (similar to BatchProcessResult)
|
|
68
|
+
*/
|
|
69
|
+
export const SendPlatformEmailOutputSchema = z.object({
|
|
70
|
+
sent: z.number().int(),
|
|
71
|
+
failed: z.number().int(),
|
|
72
|
+
errors: z
|
|
73
|
+
.array(
|
|
74
|
+
z.object({
|
|
75
|
+
userId: z.string().uuid(),
|
|
76
|
+
email: EmailSchema,
|
|
77
|
+
error: z.string()
|
|
78
|
+
})
|
|
79
|
+
)
|
|
80
|
+
.optional()
|
|
81
|
+
})
|
|
82
|
+
|
|
83
|
+
export type SendPlatformEmailOutput = z.infer<typeof SendPlatformEmailOutputSchema>
|
|
84
|
+
|
|
85
|
+
// =============================================================================
|
|
86
|
+
// TOOL CONFIG
|
|
87
|
+
// =============================================================================
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Configuration for creating a platform email tool
|
|
91
|
+
*/
|
|
92
|
+
export interface PlatformEmailToolConfig {
|
|
93
|
+
/** Unique name for the tool */
|
|
94
|
+
name: string
|
|
95
|
+
/** Description of what the tool does (shown to LLM) */
|
|
96
|
+
description: string
|
|
97
|
+
}
|