@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.
@@ -65,12 +65,40 @@ function zodToJsonSchema(schema) {
65
65
  case "ZodNullable":
66
66
  case "ZodDefault": {
67
67
  const innerType = schema._def.innerType;
68
- return zodToJsonSchema(innerType);
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
- return { type: 'number', ...baseInfo };
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: Array.from(duDef.options.values()).map((option) => zodToJsonSchema(option)),
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":"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"}
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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"}
@@ -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';
@@ -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;AAsBrE,kGAtB4B,+BAAiB,OAsB5B;AArBnB,+CAAuE;AAsBrE,kGAtB4B,+BAAiB,OAsB5B;AArBnB,2DAAmF;AAsBjF,wGAtB4B,qCAAuB,OAsB5B;AArBzB,+CAAsD;AAsBpD,sGAtBO,mCAAqB,OAsBP;AArBvB,iCAA4G;AAsB1G,2FAtBO,iBAAU,OAsBP;AACV,8FAvBmB,oBAAa,OAuBnB;AACb,8FAxBkC,oBAAa,OAwBlC;AACb,0FAzBiD,gBAAS,OAyBjD;AACT,iGA1B4D,uBAAgB,OA0B5D;AAChB,4FA3B8E,kBAAW,OA2B9E;AA1Bb,2CAAoF;AA2BlF,+FA3BO,0BAAc,OA2BP;AACd,kGA5BuB,6BAAiB,OA4BvB;AACjB,mGA7B0C,8BAAkB,OA6B1C;AA5BpB,qCAAwC;AA6BtC,6FA7BO,qBAAY,OA6BP;AA5Bd,iCAA6D;AA6B3D,yFA7BO,eAAQ,OA6BP;AACR,6FA9BiB,mBAAY,OA8BjB;AACZ,4FA/B+B,kBAAW,OA+B/B;AA9Bb,yCAOoB;AAyBlB,uGA/BA,iCAAsB,OA+BA;AACtB,6GA/BA,uCAA4B,OA+BA;AAC5B,oGA/BA,8BAAmB,OA+BA;AAzBd,MAAM,iBAAiB,GAAG,CAAC,MAAyB,EAAe,EAAE;IAC1E,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;AACrG,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AA6BF,sBAAsB;AACtB,kDAAwB;AAExB,wDAA8B"}
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":";;;AAaA,8CAqDC;;AAjED,uCAAkD;AAClD,iCAOgB;AA4Dd,2FAlEA,iBAAU,OAkEA;AACV,8FAlEA,oBAAa,OAkEA;AACb,8FAlEA,oBAAa,OAkEA;AACb,0FAlEA,gBAAS,OAkEA;AACT,iGAlEA,uBAAgB,OAkEA;AAChB,4FAlEA,kBAAW,OAkEA;AA/Db,2CAAoF;AAgElF,+FAhEO,0BAAc,OAgEP;AACd,kGAjEuB,6BAAiB,OAiEvB;AACjB,mGAlE0C,8BAAkB,OAkE1C;AAhEpB,SAAgB,iBAAiB,CAAC,MAAyB;IACzD,MAAM,WAAW,GAAG,IAAA,+BAAqB,EAAC,MAAM,CAAC,CAAC;IAElD,MAAM,SAAS,GAAG,KAAK,EACrB,UAA6B;QAC3B,IAAI,EAAE,SAAS;KAChB,EACiD,EAAE;QACpD,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC;QAChF,MAAM,EAAE,KAAK,EAAE,GAAG,gEAAa,mBAAmB,GAAC,CAAC;QACpD,MAAM,OAAO,GAAG,WAAW,CAAC,YAAa,EAAE,CAAC;QAE5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,KAAK,CAAC;gBACnB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI;aACL,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC5B,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;oBAC5C,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,sBAAsB,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CACT,sCAAsC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAChE,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;gBACzB,QAAQ,EAAE,KAAK,IAAI,EAAE;oBACnB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;oBAC7C,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,CAAC;gBACD,GAAG,EAAE,OAAO;gBACZ,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;gBACrE,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACnE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ;oBACrC,CAAC,CAAC,2GAA2G,IAAI,GAAG,CAAC,IAAI;oBACzH,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,yGAAyG,UAAU,EAAE,CAAC,CAAC;YACnK,CAAC;YACD,MAAM,KAAK,CAAC,CAAC,wBAAwB;QACvC,CAAC;IACH,CAAC,CAAC;IACF,OAAO;QACL,GAAG,WAAW;QACd,SAAS;KACK,CAAC;AACnB,CAAC;AAcD,sBAAsB;AACtB,kDAAwB"}
1
+ {"version":3,"file":"nodeService.js","sourceRoot":"","sources":["../../src/service/nodeService.ts"],"names":[],"mappings":"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"}
@@ -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.getDetailedSchemaStructure)(agent.input),
705
- outputSchema: (0, schemaStructure_1.getDetailedSchemaStructure)(agent.output),
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.getDetailedSchemaStructure)(agent.input),
730
- outputSchema: (0, schemaStructure_1.getDetailedSchemaStructure)(agent.output),
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.getDetailedSchemaStructure)(agent.input),
748
- outputSchema: (0, schemaStructure_1.getDetailedSchemaStructure)(agent.output),
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.getDetailedSchemaStructure)(agent.input),
779
- outputSchema: (0, schemaStructure_1.getDetailedSchemaStructure)(agent.output),
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
- const inputSchema = (0, schemaStructure_1.zodToJsonSchema)(tool.input);
826
- const outputSchema = (0, schemaStructure_1.zodToJsonSchema)(tool.output);
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] Stack:`, error.stack);
1555
- throw new http_exception_1.HTTPException(500, { message: "Internal server error" });
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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"}
@@ -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;
@@ -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 zod_to_json_schema_1 = require("zod-to-json-schema");
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
- this.triggers.set(trigger.id, trigger);
22
- console.log(`[WebhookTriggerRegistry] Registered trigger: ${trigger.id} - ${trigger.name}`);
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, zod_to_json_schema_1.zodToJsonSchema)(zodSchema, {
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":"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"}
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/service/webhooks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dainprotocol/service-sdk",
3
- "version": "2.0.50",
3
+ "version": "2.0.51",
4
4
  "description": "DAIN Service SDK",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",