@dainprotocol/service-sdk 2.0.50 → 2.0.51
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/lib/schemaStructure.js +38 -6
- package/dist/lib/schemaStructure.js.map +1 -1
- package/dist/service/hitl.d.ts +81 -0
- package/dist/service/hitl.js +219 -0
- package/dist/service/hitl.js.map +1 -0
- package/dist/service/index.d.ts +2 -1
- package/dist/service/index.js +4 -1
- package/dist/service/index.js.map +1 -1
- package/dist/service/nodeService.d.ts +3 -1
- package/dist/service/nodeService.js +8 -1
- package/dist/service/nodeService.js.map +1 -1
- package/dist/service/server.js +147 -13
- package/dist/service/server.js.map +1 -1
- package/dist/service/types.d.ts +29 -0
- package/dist/service/webhooks.d.ts +20 -0
- package/dist/service/webhooks.js +39 -7
- package/dist/service/webhooks.js.map +1 -1
- package/package.json +1 -1
|
@@ -65,12 +65,40 @@ function zodToJsonSchema(schema) {
|
|
|
65
65
|
case "ZodNullable":
|
|
66
66
|
case "ZodDefault": {
|
|
67
67
|
const innerType = schema._def.innerType;
|
|
68
|
-
|
|
68
|
+
const innerSchema = zodToJsonSchema(innerType);
|
|
69
|
+
// Preserve description from the wrapper if inner doesn't have one
|
|
70
|
+
if (baseInfo.description && !innerSchema.description) {
|
|
71
|
+
innerSchema.description = baseInfo.description;
|
|
72
|
+
}
|
|
73
|
+
return innerSchema;
|
|
69
74
|
}
|
|
70
75
|
case "ZodString":
|
|
71
76
|
return { type: 'string', ...baseInfo };
|
|
72
|
-
case "ZodNumber":
|
|
73
|
-
|
|
77
|
+
case "ZodNumber": {
|
|
78
|
+
const numSchema = schema;
|
|
79
|
+
const result = { type: 'number', ...baseInfo };
|
|
80
|
+
// Check if it's an integer type (using isInt property)
|
|
81
|
+
if (numSchema.isInt) {
|
|
82
|
+
result.type = 'integer';
|
|
83
|
+
}
|
|
84
|
+
// Extract min/max constraints from checks
|
|
85
|
+
const checks = numSchema._def.checks || [];
|
|
86
|
+
for (const check of checks) {
|
|
87
|
+
// Access check definition from _zod.def property
|
|
88
|
+
const checkDef = check._zod?.def || check;
|
|
89
|
+
const checkType = checkDef.check || check.kind;
|
|
90
|
+
if (checkType === 'greater_than' || checkType === 'min') {
|
|
91
|
+
result.minimum = checkDef.value ?? check.value;
|
|
92
|
+
}
|
|
93
|
+
else if (checkType === 'less_than' || checkType === 'max') {
|
|
94
|
+
result.maximum = checkDef.value ?? check.value;
|
|
95
|
+
}
|
|
96
|
+
else if (checkType === 'number_format' && checkDef.format === 'safeint') {
|
|
97
|
+
result.type = 'integer';
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return result;
|
|
101
|
+
}
|
|
74
102
|
case "ZodBoolean":
|
|
75
103
|
return { type: 'boolean', ...baseInfo };
|
|
76
104
|
case "ZodLiteral": {
|
|
@@ -95,8 +123,11 @@ function zodToJsonSchema(schema) {
|
|
|
95
123
|
}
|
|
96
124
|
case "ZodDiscriminatedUnion": {
|
|
97
125
|
const duDef = schema._def;
|
|
126
|
+
const options = Array.isArray(duDef.options)
|
|
127
|
+
? duDef.options
|
|
128
|
+
: Array.from(duDef.options.values());
|
|
98
129
|
return {
|
|
99
|
-
oneOf:
|
|
130
|
+
oneOf: options.map((option) => zodToJsonSchema(option)),
|
|
100
131
|
discriminator: { propertyName: duDef.discriminator },
|
|
101
132
|
...baseInfo,
|
|
102
133
|
};
|
|
@@ -116,6 +147,9 @@ function getSchemaTypeName(schema) {
|
|
|
116
147
|
return "ZodArray";
|
|
117
148
|
if (schema instanceof zod_1.z.ZodEnum)
|
|
118
149
|
return "ZodEnum";
|
|
150
|
+
// Check ZodDiscriminatedUnion before ZodUnion (discriminated unions extend unions)
|
|
151
|
+
if (schema instanceof zod_1.z.ZodDiscriminatedUnion)
|
|
152
|
+
return "ZodDiscriminatedUnion";
|
|
119
153
|
if (schema instanceof zod_1.z.ZodUnion)
|
|
120
154
|
return "ZodUnion";
|
|
121
155
|
if (schema instanceof zod_1.z.ZodObject)
|
|
@@ -132,8 +166,6 @@ function getSchemaTypeName(schema) {
|
|
|
132
166
|
return "ZodTuple";
|
|
133
167
|
if (schema instanceof zod_1.z.ZodIntersection)
|
|
134
168
|
return "ZodIntersection";
|
|
135
|
-
if (schema instanceof zod_1.z.ZodDiscriminatedUnion)
|
|
136
|
-
return "ZodDiscriminatedUnion";
|
|
137
169
|
// Add more type checks as needed
|
|
138
170
|
return "Unknown";
|
|
139
171
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaStructure.js","sourceRoot":"","sources":["../../src/lib/schemaStructure.ts"],"names":[],"mappings":";AAAA,kCAAkC;;AAOlC,
|
|
1
|
+
{"version":3,"file":"schemaStructure.js","sourceRoot":"","sources":["../../src/lib/schemaStructure.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Human-in-the-Loop (HITL) Action Handler
|
|
3
|
+
*
|
|
4
|
+
* Provides automatic routing of action callbacks to automation-core using the
|
|
5
|
+
* Standardized Action Protocol (SAP): scope:id:action[:payload]
|
|
6
|
+
*
|
|
7
|
+
* Example actions:
|
|
8
|
+
* - run:123:approve - Approve automation run
|
|
9
|
+
* - run:123:reject - Reject automation run
|
|
10
|
+
* - user:456:ban - Ban user
|
|
11
|
+
* - payment:789:confirm - Confirm payment
|
|
12
|
+
*/
|
|
13
|
+
import { HITLContext } from './types';
|
|
14
|
+
export type { HITLContext };
|
|
15
|
+
export interface HITLConfig {
|
|
16
|
+
automationApiUrl: string;
|
|
17
|
+
automationApiKey?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface HITLResult {
|
|
20
|
+
success: boolean;
|
|
21
|
+
message: string;
|
|
22
|
+
action?: string;
|
|
23
|
+
scope?: string;
|
|
24
|
+
id?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* HITL Action Handler
|
|
28
|
+
* Routes actions to appropriate handlers based on scope
|
|
29
|
+
*/
|
|
30
|
+
export declare class HITLHandler {
|
|
31
|
+
private automationApiUrl;
|
|
32
|
+
private automationApiKey?;
|
|
33
|
+
constructor(config: HITLConfig);
|
|
34
|
+
/**
|
|
35
|
+
* Parse action data into components
|
|
36
|
+
* Format: scope:id:action[:payload]
|
|
37
|
+
*/
|
|
38
|
+
parseAction(actionData: string): {
|
|
39
|
+
scope: string;
|
|
40
|
+
id: string;
|
|
41
|
+
action: string;
|
|
42
|
+
payload?: string;
|
|
43
|
+
} | null;
|
|
44
|
+
/**
|
|
45
|
+
* Check if action data is valid
|
|
46
|
+
*/
|
|
47
|
+
isValidAction(data: string): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Route action to appropriate handler
|
|
50
|
+
*/
|
|
51
|
+
handleAction(actionData: string, context: HITLContext): Promise<HITLResult>;
|
|
52
|
+
/**
|
|
53
|
+
* Handle run actions (automation approvals)
|
|
54
|
+
* Scope: run:{runId}:{action}
|
|
55
|
+
*/
|
|
56
|
+
private handleRunAction;
|
|
57
|
+
/**
|
|
58
|
+
* Handle user actions (moderation, etc.)
|
|
59
|
+
* Scope: user:{userId}:{action}
|
|
60
|
+
*/
|
|
61
|
+
private handleUserAction;
|
|
62
|
+
/**
|
|
63
|
+
* Handle payment actions
|
|
64
|
+
* Scope: payment:{paymentId}:{action}
|
|
65
|
+
*/
|
|
66
|
+
private handlePaymentAction;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Helper: Route action to HITL endpoint
|
|
70
|
+
*
|
|
71
|
+
* Use this in notification services to forward actions to the SDK's HITL webhook
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* const result = await routeActionToService('run:123:approve', {
|
|
76
|
+
* user: { id: '456', username: 'john' },
|
|
77
|
+
* platform: 'telegram',
|
|
78
|
+
* });
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare function routeActionToService(actionData: string, context: HITLContext, serviceUrl?: string): Promise<HITLResult>;
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Human-in-the-Loop (HITL) Action Handler
|
|
4
|
+
*
|
|
5
|
+
* Provides automatic routing of action callbacks to automation-core using the
|
|
6
|
+
* Standardized Action Protocol (SAP): scope:id:action[:payload]
|
|
7
|
+
*
|
|
8
|
+
* Example actions:
|
|
9
|
+
* - run:123:approve - Approve automation run
|
|
10
|
+
* - run:123:reject - Reject automation run
|
|
11
|
+
* - user:456:ban - Ban user
|
|
12
|
+
* - payment:789:confirm - Confirm payment
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.HITLHandler = void 0;
|
|
16
|
+
exports.routeActionToService = routeActionToService;
|
|
17
|
+
/**
|
|
18
|
+
* HITL Action Handler
|
|
19
|
+
* Routes actions to appropriate handlers based on scope
|
|
20
|
+
*/
|
|
21
|
+
class HITLHandler {
|
|
22
|
+
automationApiUrl;
|
|
23
|
+
automationApiKey;
|
|
24
|
+
constructor(config) {
|
|
25
|
+
this.automationApiUrl = config.automationApiUrl;
|
|
26
|
+
this.automationApiKey = config.automationApiKey;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Parse action data into components
|
|
30
|
+
* Format: scope:id:action[:payload]
|
|
31
|
+
*/
|
|
32
|
+
parseAction(actionData) {
|
|
33
|
+
const parts = actionData.split(':');
|
|
34
|
+
if (parts.length < 3) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
scope: parts[0],
|
|
39
|
+
id: parts[1],
|
|
40
|
+
action: parts[2],
|
|
41
|
+
payload: parts.length > 3 ? parts.slice(3).join(':') : undefined,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Check if action data is valid
|
|
46
|
+
*/
|
|
47
|
+
isValidAction(data) {
|
|
48
|
+
return this.parseAction(data) !== null;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Route action to appropriate handler
|
|
52
|
+
*/
|
|
53
|
+
async handleAction(actionData, context) {
|
|
54
|
+
const parsed = this.parseAction(actionData);
|
|
55
|
+
if (!parsed) {
|
|
56
|
+
return {
|
|
57
|
+
success: false,
|
|
58
|
+
message: 'Invalid action format. Expected: scope:id:action[:payload]',
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
const { scope, id, action, payload } = parsed;
|
|
62
|
+
console.log(`[HITL] Routing action: ${actionData}`, {
|
|
63
|
+
scope,
|
|
64
|
+
id,
|
|
65
|
+
action,
|
|
66
|
+
payload,
|
|
67
|
+
platform: context.platform,
|
|
68
|
+
user: context.user?.username || context.user?.id,
|
|
69
|
+
});
|
|
70
|
+
// Route based on scope
|
|
71
|
+
switch (scope) {
|
|
72
|
+
case 'run':
|
|
73
|
+
return await this.handleRunAction(id, action, payload, context);
|
|
74
|
+
case 'user':
|
|
75
|
+
return await this.handleUserAction(id, action, payload, context);
|
|
76
|
+
case 'payment':
|
|
77
|
+
return await this.handlePaymentAction(id, action, payload, context);
|
|
78
|
+
default:
|
|
79
|
+
return {
|
|
80
|
+
success: false,
|
|
81
|
+
message: `Unknown action scope: ${scope}`,
|
|
82
|
+
scope,
|
|
83
|
+
id,
|
|
84
|
+
action,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Handle run actions (automation approvals)
|
|
90
|
+
* Scope: run:{runId}:{action}
|
|
91
|
+
*/
|
|
92
|
+
async handleRunAction(runId, action, payload, context) {
|
|
93
|
+
try {
|
|
94
|
+
// Call automation-core API to submit input
|
|
95
|
+
const url = `${this.automationApiUrl}/api/runs/${runId}/input`;
|
|
96
|
+
const headers = {
|
|
97
|
+
'Content-Type': 'application/json',
|
|
98
|
+
};
|
|
99
|
+
if (this.automationApiKey) {
|
|
100
|
+
headers['Authorization'] = `Bearer ${this.automationApiKey}`;
|
|
101
|
+
}
|
|
102
|
+
const response = await fetch(url, {
|
|
103
|
+
method: 'POST',
|
|
104
|
+
headers,
|
|
105
|
+
body: JSON.stringify({
|
|
106
|
+
decision: action,
|
|
107
|
+
user: context.user,
|
|
108
|
+
platform: context.platform,
|
|
109
|
+
metadata: context.metadata,
|
|
110
|
+
payload: payload ? JSON.parse(payload) : undefined,
|
|
111
|
+
}),
|
|
112
|
+
});
|
|
113
|
+
if (!response.ok) {
|
|
114
|
+
const error = await response.text();
|
|
115
|
+
console.error(`[HITL] Run action failed:`, error);
|
|
116
|
+
return {
|
|
117
|
+
success: false,
|
|
118
|
+
message: `Failed to ${action} run: ${error}`,
|
|
119
|
+
scope: 'run',
|
|
120
|
+
id: runId,
|
|
121
|
+
action,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
const result = await response.json();
|
|
125
|
+
// Format action verb for message (approve -> approved, reject -> rejected)
|
|
126
|
+
const actionVerb = action.endsWith('e') ? `${action}d` : `${action}ed`;
|
|
127
|
+
return {
|
|
128
|
+
success: true,
|
|
129
|
+
message: `Run ${actionVerb} successfully`,
|
|
130
|
+
scope: 'run',
|
|
131
|
+
id: runId,
|
|
132
|
+
action,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
console.error(`[HITL] Run action error:`, error);
|
|
137
|
+
return {
|
|
138
|
+
success: false,
|
|
139
|
+
message: `Error processing run action: ${error.message}`,
|
|
140
|
+
scope: 'run',
|
|
141
|
+
id: runId,
|
|
142
|
+
action,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Handle user actions (moderation, etc.)
|
|
148
|
+
* Scope: user:{userId}:{action}
|
|
149
|
+
*/
|
|
150
|
+
async handleUserAction(userId, action, payload, context) {
|
|
151
|
+
// Placeholder for user action handling
|
|
152
|
+
// This would integrate with a user management API
|
|
153
|
+
console.log(`[HITL] User action not implemented:`, {
|
|
154
|
+
userId,
|
|
155
|
+
action,
|
|
156
|
+
payload,
|
|
157
|
+
});
|
|
158
|
+
return {
|
|
159
|
+
success: false,
|
|
160
|
+
message: 'User actions not yet implemented',
|
|
161
|
+
scope: 'user',
|
|
162
|
+
id: userId,
|
|
163
|
+
action,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Handle payment actions
|
|
168
|
+
* Scope: payment:{paymentId}:{action}
|
|
169
|
+
*/
|
|
170
|
+
async handlePaymentAction(paymentId, action, payload, context) {
|
|
171
|
+
// Placeholder for payment action handling
|
|
172
|
+
// This would integrate with a payment processing API
|
|
173
|
+
console.log(`[HITL] Payment action not implemented:`, {
|
|
174
|
+
paymentId,
|
|
175
|
+
action,
|
|
176
|
+
payload,
|
|
177
|
+
});
|
|
178
|
+
return {
|
|
179
|
+
success: false,
|
|
180
|
+
message: 'Payment actions not yet implemented',
|
|
181
|
+
scope: 'payment',
|
|
182
|
+
id: paymentId,
|
|
183
|
+
action,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
exports.HITLHandler = HITLHandler;
|
|
188
|
+
/**
|
|
189
|
+
* Helper: Route action to HITL endpoint
|
|
190
|
+
*
|
|
191
|
+
* Use this in notification services to forward actions to the SDK's HITL webhook
|
|
192
|
+
*
|
|
193
|
+
* @example
|
|
194
|
+
* ```typescript
|
|
195
|
+
* const result = await routeActionToService('run:123:approve', {
|
|
196
|
+
* user: { id: '456', username: 'john' },
|
|
197
|
+
* platform: 'telegram',
|
|
198
|
+
* });
|
|
199
|
+
* ```
|
|
200
|
+
*/
|
|
201
|
+
async function routeActionToService(actionData, context, serviceUrl = 'http://localhost:3000') {
|
|
202
|
+
console.log(`[HITL] Routing action to service: ${actionData}`, {
|
|
203
|
+
context,
|
|
204
|
+
serviceUrl,
|
|
205
|
+
});
|
|
206
|
+
const response = await fetch(`${serviceUrl}/actions`, {
|
|
207
|
+
method: 'POST',
|
|
208
|
+
headers: { 'Content-Type': 'application/json' },
|
|
209
|
+
body: JSON.stringify({
|
|
210
|
+
action: actionData,
|
|
211
|
+
context,
|
|
212
|
+
}),
|
|
213
|
+
});
|
|
214
|
+
if (!response.ok) {
|
|
215
|
+
throw new Error(`HITL request failed: ${response.statusText}`);
|
|
216
|
+
}
|
|
217
|
+
return response.json();
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=hitl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hitl.js","sourceRoot":"","sources":["../../src/service/hitl.ts"],"names":[],"mappings":"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"}
|
package/dist/service/index.d.ts
CHANGED
|
@@ -8,7 +8,8 @@ import { ProcessHandler, RedisProcessStore, MemoryProcessStore } from "./process
|
|
|
8
8
|
import { requireScope } from "./server";
|
|
9
9
|
import { hasScope, hasAllScopes, hasAnyScope } from "./auth";
|
|
10
10
|
import { WebhookTriggerRegistry, createWebhookTriggerRegistry, createSimpleTrigger, type WebhookTrigger, type WebhookTriggerDefinition, type WebhookProcessResult } from "./webhooks";
|
|
11
|
+
import { HITLHandler, routeActionToService, type HITLConfig, type HITLResult } from "./hitl";
|
|
11
12
|
export declare const defineDAINService: (config: DAINServiceConfig) => DAINService;
|
|
12
|
-
export { defineNodeService, defineDenoService, defineCloudflareService, createNextDainService, createTool, createService, createToolbox, CoreUtils, createOAuth2Tool, createAgent, ProcessHandler, RedisProcessStore, MemoryProcessStore, requireScope, hasScope, hasAllScopes, hasAnyScope, WebhookTriggerRegistry, createWebhookTriggerRegistry, createSimpleTrigger, type WebhookTrigger, type WebhookTriggerDefinition, type WebhookProcessResult, };
|
|
13
|
+
export { defineNodeService, defineDenoService, defineCloudflareService, createNextDainService, createTool, createService, createToolbox, CoreUtils, createOAuth2Tool, createAgent, ProcessHandler, RedisProcessStore, MemoryProcessStore, requireScope, hasScope, hasAllScopes, hasAnyScope, WebhookTriggerRegistry, createWebhookTriggerRegistry, createSimpleTrigger, type WebhookTrigger, type WebhookTriggerDefinition, type WebhookProcessResult, HITLHandler, routeActionToService, type HITLConfig, type HITLResult, };
|
|
13
14
|
export * from './types';
|
|
14
15
|
export * from './oauth2Store';
|
package/dist/service/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// File: src/service/index.ts
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.createSimpleTrigger = exports.createWebhookTriggerRegistry = exports.WebhookTriggerRegistry = exports.hasAnyScope = exports.hasAllScopes = exports.hasScope = exports.requireScope = exports.MemoryProcessStore = exports.RedisProcessStore = exports.ProcessHandler = exports.createAgent = exports.createOAuth2Tool = exports.CoreUtils = exports.createToolbox = exports.createService = exports.createTool = exports.createNextDainService = exports.defineCloudflareService = exports.defineDenoService = exports.defineNodeService = exports.defineDAINService = void 0;
|
|
4
|
+
exports.routeActionToService = exports.HITLHandler = exports.createSimpleTrigger = exports.createWebhookTriggerRegistry = exports.WebhookTriggerRegistry = exports.hasAnyScope = exports.hasAllScopes = exports.hasScope = exports.requireScope = exports.MemoryProcessStore = exports.RedisProcessStore = exports.ProcessHandler = exports.createAgent = exports.createOAuth2Tool = exports.CoreUtils = exports.createToolbox = exports.createService = exports.createTool = exports.createNextDainService = exports.defineCloudflareService = exports.defineDenoService = exports.defineNodeService = exports.defineDAINService = void 0;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
const nodeService_1 = require("./nodeService");
|
|
7
7
|
Object.defineProperty(exports, "defineNodeService", { enumerable: true, get: function () { return nodeService_1.defineDAINService; } });
|
|
@@ -32,6 +32,9 @@ const webhooks_1 = require("./webhooks");
|
|
|
32
32
|
Object.defineProperty(exports, "WebhookTriggerRegistry", { enumerable: true, get: function () { return webhooks_1.WebhookTriggerRegistry; } });
|
|
33
33
|
Object.defineProperty(exports, "createWebhookTriggerRegistry", { enumerable: true, get: function () { return webhooks_1.createWebhookTriggerRegistry; } });
|
|
34
34
|
Object.defineProperty(exports, "createSimpleTrigger", { enumerable: true, get: function () { return webhooks_1.createSimpleTrigger; } });
|
|
35
|
+
const hitl_1 = require("./hitl");
|
|
36
|
+
Object.defineProperty(exports, "HITLHandler", { enumerable: true, get: function () { return hitl_1.HITLHandler; } });
|
|
37
|
+
Object.defineProperty(exports, "routeActionToService", { enumerable: true, get: function () { return hitl_1.routeActionToService; } });
|
|
35
38
|
const defineDAINService = (config) => {
|
|
36
39
|
throw new Error("This is a fallback implementation. Use the appropriate runtime-specific import.");
|
|
37
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;;;;AAG7B,+CAAuE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;;;;AAG7B,+CAAuE;AA4BrE,kGA5B4B,+BAAiB,OA4B5B;AA3BnB,+CAAuE;AA4BrE,kGA5B4B,+BAAiB,OA4B5B;AA3BnB,2DAAmF;AA4BjF,wGA5B4B,qCAAuB,OA4B5B;AA3BzB,+CAAsD;AA4BpD,sGA5BO,mCAAqB,OA4BP;AA3BvB,iCAA4G;AA4B1G,2FA5BO,iBAAU,OA4BP;AACV,8FA7BmB,oBAAa,OA6BnB;AACb,8FA9BkC,oBAAa,OA8BlC;AACb,0FA/BiD,gBAAS,OA+BjD;AACT,iGAhC4D,uBAAgB,OAgC5D;AAChB,4FAjC8E,kBAAW,OAiC9E;AAhCb,2CAAoF;AAiClF,+FAjCO,0BAAc,OAiCP;AACd,kGAlCuB,6BAAiB,OAkCvB;AACjB,mGAnC0C,8BAAkB,OAmC1C;AAlCpB,qCAAwC;AAmCtC,6FAnCO,qBAAY,OAmCP;AAlCd,iCAA6D;AAmC3D,yFAnCO,eAAQ,OAmCP;AACR,6FApCiB,mBAAY,OAoCjB;AACZ,4FArC+B,kBAAW,OAqC/B;AApCb,yCAOoB;AA+BlB,uGArCA,iCAAsB,OAqCA;AACtB,6GArCA,uCAA4B,OAqCA;AAC5B,oGArCA,8BAAmB,OAqCA;AAhCrB,iCAKgB;AAgCd,4FApCA,kBAAW,OAoCA;AACX,qGApCA,2BAAoB,OAoCA;AA/Bf,MAAM,iBAAiB,GAAG,CAAC,MAAyB,EAAe,EAAE;IAC1E,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;AACrG,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AAkCF,sBAAsB;AACtB,kDAAwB;AAExB,wDAA8B"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { DAINServiceConfig, DAINService } from "./types";
|
|
2
2
|
import { createTool, createService, createToolbox, CoreUtils, createOAuth2Tool, createAgent } from "./core";
|
|
3
3
|
import { ProcessHandler, RedisProcessStore, MemoryProcessStore } from "./processes";
|
|
4
|
+
import { WebhookTriggerRegistry, createWebhookTriggerRegistry, createSimpleTrigger } from "./webhooks";
|
|
5
|
+
import { HITLHandler, routeActionToService } from "./hitl";
|
|
4
6
|
export declare function defineDAINService(config: DAINServiceConfig): DAINService;
|
|
5
|
-
export { createTool, createService, createToolbox, CoreUtils, createOAuth2Tool, createAgent, ProcessHandler, RedisProcessStore, MemoryProcessStore, };
|
|
7
|
+
export { createTool, createService, createToolbox, CoreUtils, createOAuth2Tool, createAgent, ProcessHandler, RedisProcessStore, MemoryProcessStore, WebhookTriggerRegistry, createWebhookTriggerRegistry, createSimpleTrigger, HITLHandler, routeActionToService, };
|
|
6
8
|
export * from "./types";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MemoryProcessStore = exports.RedisProcessStore = exports.ProcessHandler = exports.createAgent = exports.createOAuth2Tool = exports.CoreUtils = exports.createToolbox = exports.createService = exports.createTool = void 0;
|
|
3
|
+
exports.routeActionToService = exports.HITLHandler = exports.createSimpleTrigger = exports.createWebhookTriggerRegistry = exports.WebhookTriggerRegistry = exports.MemoryProcessStore = exports.RedisProcessStore = exports.ProcessHandler = exports.createAgent = exports.createOAuth2Tool = exports.CoreUtils = exports.createToolbox = exports.createService = exports.createTool = void 0;
|
|
4
4
|
exports.defineDAINService = defineDAINService;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
const service_1 = require("./service");
|
|
@@ -15,6 +15,13 @@ const processes_1 = require("./processes");
|
|
|
15
15
|
Object.defineProperty(exports, "ProcessHandler", { enumerable: true, get: function () { return processes_1.ProcessHandler; } });
|
|
16
16
|
Object.defineProperty(exports, "RedisProcessStore", { enumerable: true, get: function () { return processes_1.RedisProcessStore; } });
|
|
17
17
|
Object.defineProperty(exports, "MemoryProcessStore", { enumerable: true, get: function () { return processes_1.MemoryProcessStore; } });
|
|
18
|
+
const webhooks_1 = require("./webhooks");
|
|
19
|
+
Object.defineProperty(exports, "WebhookTriggerRegistry", { enumerable: true, get: function () { return webhooks_1.WebhookTriggerRegistry; } });
|
|
20
|
+
Object.defineProperty(exports, "createWebhookTriggerRegistry", { enumerable: true, get: function () { return webhooks_1.createWebhookTriggerRegistry; } });
|
|
21
|
+
Object.defineProperty(exports, "createSimpleTrigger", { enumerable: true, get: function () { return webhooks_1.createSimpleTrigger; } });
|
|
22
|
+
const hitl_1 = require("./hitl");
|
|
23
|
+
Object.defineProperty(exports, "HITLHandler", { enumerable: true, get: function () { return hitl_1.HITLHandler; } });
|
|
24
|
+
Object.defineProperty(exports, "routeActionToService", { enumerable: true, get: function () { return hitl_1.routeActionToService; } });
|
|
18
25
|
function defineDAINService(config) {
|
|
19
26
|
const baseService = (0, service_1.createBaseDAINService)(config);
|
|
20
27
|
const startNode = async (options = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeService.js","sourceRoot":"","sources":["../../src/service/nodeService.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"nodeService.js","sourceRoot":"","sources":["../../src/service/nodeService.ts"],"names":[],"mappings":"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"}
|
package/dist/service/server.js
CHANGED
|
@@ -20,6 +20,7 @@ const sha256_1 = require("@noble/hashes/sha256");
|
|
|
20
20
|
const utils_1 = require("@noble/hashes/utils");
|
|
21
21
|
const auth_2 = require("./auth");
|
|
22
22
|
const core_1 = require("./core");
|
|
23
|
+
const hitl_1 = require("./hitl");
|
|
23
24
|
const VERBOSE_SERVICE_LOGS = process.env.DAIN_VERBOSE_SERVICE_LOGS === "true";
|
|
24
25
|
const debugLog = (...args) => {
|
|
25
26
|
if (VERBOSE_SERVICE_LOGS) {
|
|
@@ -185,14 +186,22 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
|
|
|
185
186
|
c.res.headers.set("X-DAIN-ADDRESS", config.identity.publicKey);
|
|
186
187
|
c.res.headers.set("X-DAIN-TIMESTAMP", timestamp);
|
|
187
188
|
});
|
|
189
|
+
// Get all webhook paths for auth bypass
|
|
190
|
+
const webhookPaths = config.webhookTriggers?.getWebhookPaths() || [];
|
|
191
|
+
const hitlPath = config.hitl?.enabled ? (config.hitl.webhookPath || '/actions') : null;
|
|
188
192
|
// Dual Authentication: JWT (users) or API Key (services)
|
|
189
193
|
app.use("*", async (c, next) => {
|
|
190
194
|
debugLog(`[Auth Middleware] Path: ${c.req.path}, Method: ${c.req.method}`);
|
|
195
|
+
// Check if path is a webhook path (auth bypass)
|
|
196
|
+
const isWebhookPath = webhookPaths.some(path => c.req.path === path);
|
|
197
|
+
const isHITLPath = hitlPath && c.req.path === hitlPath;
|
|
191
198
|
if (c.req.path.startsWith("/oauth2/callback/") ||
|
|
192
199
|
c.req.path.startsWith("/addons") ||
|
|
193
200
|
c.req.path.startsWith("/getAllToolsAsJsonSchema") ||
|
|
194
201
|
c.req.path.startsWith("/metadata") ||
|
|
195
|
-
c.req.path.startsWith("/ping")
|
|
202
|
+
c.req.path.startsWith("/ping") ||
|
|
203
|
+
isWebhookPath ||
|
|
204
|
+
isHITLPath) {
|
|
196
205
|
debugLog(`[Auth Middleware] Path ${c.req.path} - SKIPPING auth`);
|
|
197
206
|
await next();
|
|
198
207
|
return;
|
|
@@ -701,8 +710,8 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
|
|
|
701
710
|
prompt: agent.prompt,
|
|
702
711
|
resolveCondition: agent.resolveCondition,
|
|
703
712
|
serviceConnections: agent.serviceConnections || [process.env.BASE_URL || 'http://localhost:3000'],
|
|
704
|
-
inputSchema: (0, schemaStructure_1.
|
|
705
|
-
outputSchema: (0, schemaStructure_1.
|
|
713
|
+
inputSchema: (0, schemaStructure_1.zodToJsonSchema)(agent.input),
|
|
714
|
+
outputSchema: (0, schemaStructure_1.zodToJsonSchema)(agent.output),
|
|
706
715
|
}));
|
|
707
716
|
return c.json(agentInfo);
|
|
708
717
|
});
|
|
@@ -726,8 +735,8 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
|
|
|
726
735
|
prompt: agent.prompt,
|
|
727
736
|
resolveCondition: agent.resolveCondition,
|
|
728
737
|
serviceConnections: agent.serviceConnections || [process.env.BASE_URL || 'http://localhost:3000'],
|
|
729
|
-
inputSchema: (0, schemaStructure_1.
|
|
730
|
-
outputSchema: (0, schemaStructure_1.
|
|
738
|
+
inputSchema: (0, schemaStructure_1.zodToJsonSchema)(agent.input),
|
|
739
|
+
outputSchema: (0, schemaStructure_1.zodToJsonSchema)(agent.output),
|
|
731
740
|
}));
|
|
732
741
|
// Process plugins for the response
|
|
733
742
|
const processedResponse = await processPluginsForResponse(agentsInfo, body, { extraData: { plugins: processedPluginData.plugins } });
|
|
@@ -744,8 +753,8 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
|
|
|
744
753
|
prompt: agent.prompt,
|
|
745
754
|
resolveCondition: agent.resolveCondition,
|
|
746
755
|
serviceConnections: agent.serviceConnections || [process.env.BASE_URL || 'http://localhost:3000'],
|
|
747
|
-
inputSchema: (0, schemaStructure_1.
|
|
748
|
-
outputSchema: (0, schemaStructure_1.
|
|
756
|
+
inputSchema: (0, schemaStructure_1.zodToJsonSchema)(agent.input),
|
|
757
|
+
outputSchema: (0, schemaStructure_1.zodToJsonSchema)(agent.output),
|
|
749
758
|
};
|
|
750
759
|
return c.json(agentDetails);
|
|
751
760
|
}
|
|
@@ -775,8 +784,8 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
|
|
|
775
784
|
prompt: agent.prompt,
|
|
776
785
|
resolveCondition: agent.resolveCondition,
|
|
777
786
|
serviceConnections: agent.serviceConnections || [process.env.BASE_URL || 'http://localhost:3000'],
|
|
778
|
-
inputSchema: (0, schemaStructure_1.
|
|
779
|
-
outputSchema: (0, schemaStructure_1.
|
|
787
|
+
inputSchema: (0, schemaStructure_1.zodToJsonSchema)(agent.input),
|
|
788
|
+
outputSchema: (0, schemaStructure_1.zodToJsonSchema)(agent.output),
|
|
780
789
|
};
|
|
781
790
|
// Process plugins for the response
|
|
782
791
|
const processedResponse = await processPluginsForResponse(agentDetails, body, { extraData: { plugins: processedPluginData.plugins } });
|
|
@@ -822,8 +831,34 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
|
|
|
822
831
|
// Process plugins for the request
|
|
823
832
|
const processedPluginData = await processPluginsForRequest(body, agentInfo);
|
|
824
833
|
const toolInfo = tools.map((tool) => {
|
|
825
|
-
|
|
826
|
-
|
|
834
|
+
let inputSchema = (0, schemaStructure_1.zodToJsonSchema)(tool.input);
|
|
835
|
+
let outputSchema = (0, schemaStructure_1.zodToJsonSchema)(tool.output);
|
|
836
|
+
// Ensure inputSchema has type: 'object' at root level (butterfly-web compatibility)
|
|
837
|
+
if (!inputSchema.type) {
|
|
838
|
+
inputSchema = { ...inputSchema, type: 'object' };
|
|
839
|
+
}
|
|
840
|
+
if (!outputSchema.type) {
|
|
841
|
+
outputSchema = { ...outputSchema, type: 'object' };
|
|
842
|
+
}
|
|
843
|
+
// Fix empty object schemas (from z.any()) to have type
|
|
844
|
+
const fixEmptySchemas = (schema) => {
|
|
845
|
+
if (schema && typeof schema === 'object') {
|
|
846
|
+
if (schema.properties) {
|
|
847
|
+
Object.keys(schema.properties).forEach(key => {
|
|
848
|
+
const prop = schema.properties[key];
|
|
849
|
+
if (prop && typeof prop === 'object' && Object.keys(prop).length === 0) {
|
|
850
|
+
schema.properties[key] = { type: 'object' };
|
|
851
|
+
}
|
|
852
|
+
fixEmptySchemas(prop);
|
|
853
|
+
});
|
|
854
|
+
}
|
|
855
|
+
if (schema.items) {
|
|
856
|
+
fixEmptySchemas(schema.items);
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
};
|
|
860
|
+
fixEmptySchemas(inputSchema);
|
|
861
|
+
fixEmptySchemas(outputSchema);
|
|
827
862
|
console.log(`[getAllToolsAsJsonSchema POST] Tool: ${tool.id}`);
|
|
828
863
|
console.log(`[getAllToolsAsJsonSchema POST] Input Schema:`, JSON.stringify(inputSchema, null, 2));
|
|
829
864
|
return {
|
|
@@ -850,6 +885,100 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
|
|
|
850
885
|
const triggers = config.webhookTriggers?.getTriggerDefinitions() || [];
|
|
851
886
|
return c.json({ triggers });
|
|
852
887
|
});
|
|
888
|
+
// Auto-register webhook endpoints from webhookTriggers
|
|
889
|
+
if (config.webhookTriggers) {
|
|
890
|
+
const webhookPaths = config.webhookTriggers.getWebhookPaths();
|
|
891
|
+
for (const path of webhookPaths) {
|
|
892
|
+
const triggersForPath = config.webhookTriggers.getTriggersForPath(path);
|
|
893
|
+
debugLog(`[Webhook] Registering endpoint: POST ${path} (${triggersForPath.length} trigger(s))`);
|
|
894
|
+
app.post(path, async (c) => {
|
|
895
|
+
try {
|
|
896
|
+
// Get request body
|
|
897
|
+
const payload = await c.req.json();
|
|
898
|
+
console.log(`[Webhook] Received POST ${path}`);
|
|
899
|
+
debugLog(`[Webhook] Received request at ${path}`, payload);
|
|
900
|
+
// Process webhook through all triggers for this path
|
|
901
|
+
const result = await config.webhookTriggers.processWebhook(payload);
|
|
902
|
+
if (result) {
|
|
903
|
+
debugLog(`[Webhook] Trigger matched: ${result.triggerId}`);
|
|
904
|
+
// Return success with trigger info
|
|
905
|
+
return c.json({
|
|
906
|
+
success: true,
|
|
907
|
+
triggerId: result.triggerId,
|
|
908
|
+
triggerName: result.triggerName,
|
|
909
|
+
data: result.data
|
|
910
|
+
});
|
|
911
|
+
}
|
|
912
|
+
else {
|
|
913
|
+
debugLog(`[Webhook] No trigger matched for payload`);
|
|
914
|
+
// No trigger matched - return 200 OK but with success: false
|
|
915
|
+
return c.json({
|
|
916
|
+
success: false,
|
|
917
|
+
message: 'No trigger matched'
|
|
918
|
+
}, 200);
|
|
919
|
+
}
|
|
920
|
+
}
|
|
921
|
+
catch (error) {
|
|
922
|
+
console.error(`[Webhook] Error processing webhook at ${path}:`, error);
|
|
923
|
+
// Return error response
|
|
924
|
+
throw new http_exception_1.HTTPException(500, {
|
|
925
|
+
message: `Webhook processing failed: ${error.message}`
|
|
926
|
+
});
|
|
927
|
+
}
|
|
928
|
+
});
|
|
929
|
+
}
|
|
930
|
+
console.log(`[Webhook] Registered ${webhookPaths.length} webhook endpoint(s): ${webhookPaths.join(', ')}`);
|
|
931
|
+
}
|
|
932
|
+
// Auto-register HITL action webhook
|
|
933
|
+
if (config.hitl?.enabled) {
|
|
934
|
+
const hitlPath = config.hitl.webhookPath || '/actions';
|
|
935
|
+
const automationApiUrl = config.hitl.automationApiUrl ||
|
|
936
|
+
process.env.AUTOMATION_API_URL ||
|
|
937
|
+
'http://localhost:3000';
|
|
938
|
+
const automationApiKey = config.hitl.automationApiKey || process.env.AUTOMATION_API_KEY;
|
|
939
|
+
if (!automationApiUrl) {
|
|
940
|
+
console.warn('[HITL] Enabled but missing automationApiUrl - HITL webhook will not work correctly');
|
|
941
|
+
}
|
|
942
|
+
const hitlHandler = new hitl_1.HITLHandler({
|
|
943
|
+
automationApiUrl,
|
|
944
|
+
automationApiKey,
|
|
945
|
+
});
|
|
946
|
+
debugLog(`[HITL] Registering action webhook: POST ${hitlPath}`);
|
|
947
|
+
app.post(hitlPath, async (c) => {
|
|
948
|
+
try {
|
|
949
|
+
const body = await c.req.json();
|
|
950
|
+
const { action, context } = body;
|
|
951
|
+
if (!action || typeof action !== 'string') {
|
|
952
|
+
throw new http_exception_1.HTTPException(400, {
|
|
953
|
+
message: 'Missing or invalid "action" field in request body',
|
|
954
|
+
});
|
|
955
|
+
}
|
|
956
|
+
if (!context || typeof context !== 'object') {
|
|
957
|
+
throw new http_exception_1.HTTPException(400, {
|
|
958
|
+
message: 'Missing or invalid "context" field in request body',
|
|
959
|
+
});
|
|
960
|
+
}
|
|
961
|
+
if (!hitlHandler.isValidAction(action)) {
|
|
962
|
+
throw new http_exception_1.HTTPException(400, {
|
|
963
|
+
message: 'Invalid action format. Expected: scope:id:action[:payload]',
|
|
964
|
+
});
|
|
965
|
+
}
|
|
966
|
+
const result = await hitlHandler.handleAction(action, context);
|
|
967
|
+
return c.json(result);
|
|
968
|
+
}
|
|
969
|
+
catch (error) {
|
|
970
|
+
if (error instanceof http_exception_1.HTTPException) {
|
|
971
|
+
throw error;
|
|
972
|
+
}
|
|
973
|
+
console.error('[HITL] Error processing action:', error);
|
|
974
|
+
throw new http_exception_1.HTTPException(500, {
|
|
975
|
+
message: `Action processing failed: ${error.message}`,
|
|
976
|
+
});
|
|
977
|
+
}
|
|
978
|
+
});
|
|
979
|
+
console.log(`[HITL] Action webhook registered at POST ${hitlPath}`);
|
|
980
|
+
console.log(`[HITL] Routing actions to: ${automationApiUrl}`);
|
|
981
|
+
}
|
|
853
982
|
// Detailed info for a specific tool
|
|
854
983
|
app.get("/tools/:toolId", (c) => {
|
|
855
984
|
const tool = tools.find((t) => t.id === c.req.param("toolId"));
|
|
@@ -1551,8 +1680,13 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
|
|
|
1551
1680
|
catch (error) {
|
|
1552
1681
|
console.error(`[Tool ${tool.id} +Context] ========== ERROR ==========`);
|
|
1553
1682
|
console.error(`[Tool ${tool.id} +Context] Error:`, error);
|
|
1554
|
-
console.error(`[Tool ${tool.id} +Context]
|
|
1555
|
-
|
|
1683
|
+
console.error(`[Tool ${tool.id} +Context] Error message:`, error?.message);
|
|
1684
|
+
console.error(`[Tool ${tool.id} +Context] Error response:`, error?.response?.data);
|
|
1685
|
+
console.error(`[Tool ${tool.id} +Context] Stack:`, error?.stack);
|
|
1686
|
+
throw new http_exception_1.HTTPException(500, {
|
|
1687
|
+
message: error?.message || "Internal server error",
|
|
1688
|
+
cause: error
|
|
1689
|
+
});
|
|
1556
1690
|
}
|
|
1557
1691
|
});
|
|
1558
1692
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/service/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/service/server.ts"],"names":[],"mappings":"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"}
|
package/dist/service/types.d.ts
CHANGED
|
@@ -21,6 +21,25 @@ export type AgentInfo = {
|
|
|
21
21
|
id: string;
|
|
22
22
|
webhookUrl?: string;
|
|
23
23
|
};
|
|
24
|
+
/**
|
|
25
|
+
* Context for HITL action routing
|
|
26
|
+
* Contains user and platform information for action tracking
|
|
27
|
+
*/
|
|
28
|
+
export interface HITLContext {
|
|
29
|
+
/** User who triggered the action */
|
|
30
|
+
user?: {
|
|
31
|
+
id: string;
|
|
32
|
+
username?: string;
|
|
33
|
+
email?: string;
|
|
34
|
+
name?: string;
|
|
35
|
+
first_name?: string;
|
|
36
|
+
last_name?: string;
|
|
37
|
+
};
|
|
38
|
+
/** Platform where action was triggered (e.g., 'telegram', 'slack', 'discord') */
|
|
39
|
+
platform: string;
|
|
40
|
+
/** Additional metadata (e.g., message_id, channel_id) */
|
|
41
|
+
metadata?: Record<string, any>;
|
|
42
|
+
}
|
|
24
43
|
export type PricingInfo = {
|
|
25
44
|
pricePerUse: number;
|
|
26
45
|
currency: string;
|
|
@@ -243,6 +262,16 @@ export type DAINServiceConfig = {
|
|
|
243
262
|
jwtIssuer?: string;
|
|
244
263
|
platformBaseUrl?: string;
|
|
245
264
|
webhookTriggers?: import('./webhooks').WebhookTriggerRegistry;
|
|
265
|
+
hitl?: {
|
|
266
|
+
/** Enable HITL action webhook */
|
|
267
|
+
enabled: boolean;
|
|
268
|
+
/** Automation API URL (defaults to process.env.AUTOMATION_API_URL or http://localhost:3000) */
|
|
269
|
+
automationApiUrl?: string;
|
|
270
|
+
/** Automation API Key for authentication */
|
|
271
|
+
automationApiKey?: string;
|
|
272
|
+
/** Webhook path for receiving actions (defaults to /actions) */
|
|
273
|
+
webhookPath?: string;
|
|
274
|
+
};
|
|
246
275
|
};
|
|
247
276
|
export interface ServiceManager {
|
|
248
277
|
shutdown: () => Promise<void>;
|
|
@@ -9,6 +9,12 @@ export interface WebhookTrigger<TOutput = any> {
|
|
|
9
9
|
name: string;
|
|
10
10
|
/** Description for AI agents and users */
|
|
11
11
|
description: string;
|
|
12
|
+
/**
|
|
13
|
+
* HTTP path for this webhook (e.g., "/webhook", "/telegram-updates")
|
|
14
|
+
* Multiple triggers can share the same path - handlers will be tried in order
|
|
15
|
+
* If not provided, defaults to /webhooks/{id}
|
|
16
|
+
*/
|
|
17
|
+
path?: string;
|
|
12
18
|
/** Zod schema defining the output structure */
|
|
13
19
|
outputSchema: z.ZodType<TOutput>;
|
|
14
20
|
/**
|
|
@@ -26,6 +32,7 @@ export interface WebhookTriggerDefinition {
|
|
|
26
32
|
id: string;
|
|
27
33
|
name: string;
|
|
28
34
|
description: string;
|
|
35
|
+
path: string;
|
|
29
36
|
outputSchema: any;
|
|
30
37
|
}
|
|
31
38
|
/**
|
|
@@ -42,6 +49,10 @@ export interface WebhookProcessResult {
|
|
|
42
49
|
*/
|
|
43
50
|
export declare class WebhookTriggerRegistry {
|
|
44
51
|
private triggers;
|
|
52
|
+
/**
|
|
53
|
+
* Normalize path: If not provided, use /webhooks/{id}
|
|
54
|
+
*/
|
|
55
|
+
private normalizePath;
|
|
45
56
|
/**
|
|
46
57
|
* Register a webhook trigger
|
|
47
58
|
*/
|
|
@@ -70,6 +81,14 @@ export declare class WebhookTriggerRegistry {
|
|
|
70
81
|
* Get all registered trigger IDs
|
|
71
82
|
*/
|
|
72
83
|
getTriggerIds(): string[];
|
|
84
|
+
/**
|
|
85
|
+
* Get all unique webhook paths
|
|
86
|
+
*/
|
|
87
|
+
getWebhookPaths(): string[];
|
|
88
|
+
/**
|
|
89
|
+
* Get all triggers for a specific path
|
|
90
|
+
*/
|
|
91
|
+
getTriggersForPath(path: string): WebhookTrigger<any>[];
|
|
73
92
|
/**
|
|
74
93
|
* Check if trigger is registered
|
|
75
94
|
*/
|
|
@@ -103,6 +122,7 @@ export declare function createSimpleTrigger<TOutput>(config: {
|
|
|
103
122
|
id: string;
|
|
104
123
|
name: string;
|
|
105
124
|
description: string;
|
|
125
|
+
path?: string;
|
|
106
126
|
outputSchema: z.ZodType<TOutput>;
|
|
107
127
|
matchCondition: (payload: any) => boolean;
|
|
108
128
|
transform: (payload: any) => TOutput;
|
package/dist/service/webhooks.js
CHANGED
|
@@ -4,13 +4,24 @@ exports.WebhookTriggerRegistry = void 0;
|
|
|
4
4
|
exports.createWebhookTriggerRegistry = createWebhookTriggerRegistry;
|
|
5
5
|
exports.createSimpleTrigger = createSimpleTrigger;
|
|
6
6
|
const zod_1 = require("zod");
|
|
7
|
-
const
|
|
7
|
+
const schemaStructure_1 = require("../lib/schemaStructure");
|
|
8
8
|
/**
|
|
9
9
|
* Webhook Trigger Registry
|
|
10
10
|
* Manages webhook triggers for a service
|
|
11
11
|
*/
|
|
12
12
|
class WebhookTriggerRegistry {
|
|
13
13
|
triggers = new Map();
|
|
14
|
+
/**
|
|
15
|
+
* Normalize path: If not provided, use /webhooks/{id}
|
|
16
|
+
*/
|
|
17
|
+
normalizePath(trigger) {
|
|
18
|
+
if (trigger.path) {
|
|
19
|
+
// Ensure path starts with /
|
|
20
|
+
return trigger.path.startsWith('/') ? trigger.path : `/${trigger.path}`;
|
|
21
|
+
}
|
|
22
|
+
// Default: /webhooks/{id}
|
|
23
|
+
return `/webhooks/${trigger.id}`;
|
|
24
|
+
}
|
|
14
25
|
/**
|
|
15
26
|
* Register a webhook trigger
|
|
16
27
|
*/
|
|
@@ -18,8 +29,13 @@ class WebhookTriggerRegistry {
|
|
|
18
29
|
if (this.triggers.has(trigger.id)) {
|
|
19
30
|
console.warn(`[WebhookTriggerRegistry] Overwriting existing trigger: ${trigger.id}`);
|
|
20
31
|
}
|
|
21
|
-
|
|
22
|
-
|
|
32
|
+
// Normalize path with default
|
|
33
|
+
const normalizedTrigger = {
|
|
34
|
+
...trigger,
|
|
35
|
+
path: this.normalizePath(trigger)
|
|
36
|
+
};
|
|
37
|
+
this.triggers.set(trigger.id, normalizedTrigger);
|
|
38
|
+
console.log(`[WebhookTriggerRegistry] Registered trigger: ${trigger.id} - ${trigger.name} at ${normalizedTrigger.path}`);
|
|
23
39
|
}
|
|
24
40
|
/**
|
|
25
41
|
* Register multiple triggers at once
|
|
@@ -79,6 +95,7 @@ class WebhookTriggerRegistry {
|
|
|
79
95
|
id: trigger.id,
|
|
80
96
|
name: trigger.name,
|
|
81
97
|
description: trigger.description,
|
|
98
|
+
path: trigger.path, // Guaranteed to exist after normalization
|
|
82
99
|
outputSchema: this.zodToJsonSchema(trigger.outputSchema)
|
|
83
100
|
}));
|
|
84
101
|
}
|
|
@@ -94,6 +111,23 @@ class WebhookTriggerRegistry {
|
|
|
94
111
|
getTriggerIds() {
|
|
95
112
|
return Array.from(this.triggers.keys());
|
|
96
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Get all unique webhook paths
|
|
116
|
+
*/
|
|
117
|
+
getWebhookPaths() {
|
|
118
|
+
const paths = new Set();
|
|
119
|
+
for (const trigger of this.triggers.values()) {
|
|
120
|
+
// Path is now guaranteed to exist (normalized in register)
|
|
121
|
+
paths.add(trigger.path);
|
|
122
|
+
}
|
|
123
|
+
return Array.from(paths);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Get all triggers for a specific path
|
|
127
|
+
*/
|
|
128
|
+
getTriggersForPath(path) {
|
|
129
|
+
return Array.from(this.triggers.values()).filter(trigger => trigger.path === path);
|
|
130
|
+
}
|
|
97
131
|
/**
|
|
98
132
|
* Check if trigger is registered
|
|
99
133
|
*/
|
|
@@ -123,10 +157,7 @@ class WebhookTriggerRegistry {
|
|
|
123
157
|
*/
|
|
124
158
|
zodToJsonSchema(zodSchema) {
|
|
125
159
|
try {
|
|
126
|
-
return (0,
|
|
127
|
-
name: undefined,
|
|
128
|
-
$refStrategy: 'none'
|
|
129
|
-
});
|
|
160
|
+
return (0, schemaStructure_1.zodToJsonSchema)(zodSchema);
|
|
130
161
|
}
|
|
131
162
|
catch (error) {
|
|
132
163
|
console.error('[WebhookTriggerRegistry] Failed to convert Zod to JSON Schema:', error);
|
|
@@ -153,6 +184,7 @@ function createSimpleTrigger(config) {
|
|
|
153
184
|
id: config.id,
|
|
154
185
|
name: config.name,
|
|
155
186
|
description: config.description,
|
|
187
|
+
path: config.path,
|
|
156
188
|
outputSchema: config.outputSchema,
|
|
157
189
|
handler: (payload) => {
|
|
158
190
|
if (config.matchCondition(payload)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/service/webhooks.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/service/webhooks.ts"],"names":[],"mappings":"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"}
|