@dainprotocol/service-sdk 1.0.78 → 1.0.79

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.
@@ -32,7 +32,38 @@ export type ProcessFailedPayload = WebhookPayloadBase & {
32
32
  type: "process_failed";
33
33
  error: string;
34
34
  };
35
- export type WebhookPayload = ProcessCreatedPayload | ProcessUpdatePayload | ProcessResultPayload | ProcessFailedPayload;
35
+ export interface HumanActionStep {
36
+ id: string;
37
+ processId: string;
38
+ message: string;
39
+ ui?: any;
40
+ actions: {
41
+ id: string;
42
+ title: string;
43
+ description?: string;
44
+ requiresResponse?: boolean;
45
+ callbackUrl?: string;
46
+ }[];
47
+ status: 'pending' | 'completed' | 'failed' | 'timeout';
48
+ response?: {
49
+ actionId: string;
50
+ responseText?: string;
51
+ timestamp: Date;
52
+ data?: any;
53
+ };
54
+ createdAt: Date;
55
+ timeoutAt?: Date;
56
+ _metadata?: Record<string, any>;
57
+ }
58
+ export type HumanActionRequestedPayload = WebhookPayloadBase & {
59
+ type: "human_action_requested";
60
+ step: Omit<HumanActionStep, '_metadata'>;
61
+ };
62
+ export type HumanActionCompletedPayload = WebhookPayloadBase & {
63
+ type: "human_action_completed";
64
+ step: Omit<HumanActionStep, '_metadata'>;
65
+ };
66
+ export type WebhookPayload = ProcessCreatedPayload | ProcessUpdatePayload | ProcessResultPayload | ProcessFailedPayload | HumanActionRequestedPayload | HumanActionCompletedPayload;
36
67
  export interface ProcessResult {
37
68
  text: string;
38
69
  data: any;
@@ -49,17 +80,22 @@ export interface Process {
49
80
  updates: ProcessUpdate[];
50
81
  results: ProcessResult[];
51
82
  agentInfo: AgentInfo;
83
+ humanActions: HumanActionStep[];
52
84
  }
53
- export declare class MemoryProcessStore {
85
+ export declare class MemoryProcessStore implements ProcessStoreAdapter {
54
86
  private processes;
55
87
  saveProcess(process: Process): Promise<void>;
56
88
  getProcess(processId: string): Promise<Process | null>;
57
89
  updateProcess(processId: string, updates: Partial<Process>): Promise<void>;
90
+ getHumanAction(processId: string, stepId: string): Promise<HumanActionStep | null>;
91
+ updateHumanAction(processId: string, stepId: string, updates: Partial<HumanActionStep>): Promise<void>;
58
92
  }
59
93
  export interface ProcessStoreAdapter {
60
94
  saveProcess(process: Process): Promise<void>;
61
95
  getProcess(processId: string): Promise<Process | null>;
62
96
  updateProcess(processId: string, updates: Partial<Process>): Promise<void>;
97
+ getHumanAction(processId: string, stepId: string): Promise<HumanActionStep | null>;
98
+ updateHumanAction(processId: string, stepId: string, updates: Partial<HumanActionStep>): Promise<void>;
63
99
  }
64
100
  export declare class RedisProcessStore implements ProcessStoreAdapter {
65
101
  private redis;
@@ -68,6 +104,8 @@ export declare class RedisProcessStore implements ProcessStoreAdapter {
68
104
  saveProcess(process: Process): Promise<void>;
69
105
  getProcess(processId: string): Promise<Process | null>;
70
106
  updateProcess(processId: string, updates: Partial<Process>): Promise<void>;
107
+ getHumanAction(processId: string, stepId: string): Promise<HumanActionStep | null>;
108
+ updateHumanAction(processId: string, stepId: string, updates: Partial<HumanActionStep>): Promise<void>;
71
109
  }
72
110
  export declare class UpstashProcessStore implements ProcessStoreAdapter {
73
111
  private baseUrl;
@@ -77,13 +115,25 @@ export declare class UpstashProcessStore implements ProcessStoreAdapter {
77
115
  saveProcess(process: Process): Promise<void>;
78
116
  getProcess(processId: string): Promise<Process | null>;
79
117
  updateProcess(processId: string, updates: Partial<Process>): Promise<void>;
118
+ getHumanAction(processId: string, stepId: string): Promise<HumanActionStep | null>;
119
+ updateHumanAction(processId: string, stepId: string, updates: Partial<HumanActionStep>): Promise<void>;
80
120
  }
81
121
  export declare class ProcessHandler {
82
122
  private store;
83
123
  private serviceId;
84
124
  private privateKey;
85
- constructor({ serviceId, privateKey, apiKey, store, }: {
125
+ private baseUrl?;
126
+ private onHumanActionResponse?;
127
+ constructor({ serviceId, privateKey, apiKey, store, baseUrl, onHumanActionResponse, }: {
86
128
  serviceId: string;
129
+ baseUrl?: string;
130
+ onHumanActionResponse?: (response: {
131
+ process: Process;
132
+ stepId: string;
133
+ actionId: string;
134
+ responseText?: string;
135
+ data?: any;
136
+ }) => Promise<void>;
87
137
  } & ({
88
138
  privateKey: Uint8Array;
89
139
  apiKey?: never;
@@ -105,5 +155,31 @@ export declare class ProcessHandler {
105
155
  status: Process["status"];
106
156
  updates: ProcessUpdate[];
107
157
  results: ProcessResult[];
158
+ humanActions: HumanActionStep[];
108
159
  } | null>;
160
+ requestHumanAction(processId: string, options: {
161
+ message: string;
162
+ ui?: any;
163
+ actions: Array<{
164
+ id: string;
165
+ title: string;
166
+ requiresResponse?: boolean;
167
+ }>;
168
+ metadata?: any;
169
+ timeoutMs?: number;
170
+ }): Promise<string>;
171
+ checkHumanAction(processId: string, stepId: string): Promise<{
172
+ status: 'pending' | 'completed' | 'failed' | 'timeout';
173
+ response?: {
174
+ actionId: string;
175
+ responseText?: string;
176
+ data?: any;
177
+ };
178
+ }>;
179
+ waitForHumanAction(processId: string, stepId: string, timeoutMs?: number): Promise<{
180
+ actionId: string;
181
+ responseText?: string;
182
+ data?: any;
183
+ }>;
184
+ respondToHumanAction(processId: string, stepId: string, actionId: string, responseText?: string, data?: any): Promise<void>;
109
185
  }
@@ -25,6 +25,25 @@ class MemoryProcessStore {
25
25
  this.processes.set(processId, { ...process, ...updates });
26
26
  }
27
27
  }
28
+ async getHumanAction(processId, stepId) {
29
+ const process = await this.getProcess(processId);
30
+ if (!process)
31
+ return null;
32
+ return process.humanActions.find(step => step.id === stepId) || null;
33
+ }
34
+ async updateHumanAction(processId, stepId, updates) {
35
+ const process = await this.getProcess(processId);
36
+ if (!process)
37
+ throw new Error("Process not found");
38
+ const stepIndex = process.humanActions.findIndex(step => step.id === stepId);
39
+ if (stepIndex === -1)
40
+ throw new Error("Human action step not found");
41
+ process.humanActions[stepIndex] = {
42
+ ...process.humanActions[stepIndex],
43
+ ...updates
44
+ };
45
+ await this.saveProcess(process);
46
+ }
28
47
  }
29
48
  exports.MemoryProcessStore = MemoryProcessStore;
30
49
  class RedisProcessStore {
@@ -54,6 +73,25 @@ class RedisProcessStore {
54
73
  const updatedProcess = { ...process, ...updates };
55
74
  await this.saveProcess(updatedProcess);
56
75
  }
76
+ async getHumanAction(processId, stepId) {
77
+ const process = await this.getProcess(processId);
78
+ if (!process)
79
+ return null;
80
+ return process.humanActions.find(step => step.id === stepId) || null;
81
+ }
82
+ async updateHumanAction(processId, stepId, updates) {
83
+ const process = await this.getProcess(processId);
84
+ if (!process)
85
+ throw new Error("Process not found");
86
+ const stepIndex = process.humanActions.findIndex(step => step.id === stepId);
87
+ if (stepIndex === -1)
88
+ throw new Error("Human action step not found");
89
+ process.humanActions[stepIndex] = {
90
+ ...process.humanActions[stepIndex],
91
+ ...updates
92
+ };
93
+ await this.saveProcess(process);
94
+ }
57
95
  }
58
96
  exports.RedisProcessStore = RedisProcessStore;
59
97
  class UpstashProcessStore {
@@ -94,14 +132,36 @@ class UpstashProcessStore {
94
132
  const updatedProcess = { ...process, ...updates };
95
133
  await this.saveProcess(updatedProcess);
96
134
  }
135
+ async getHumanAction(processId, stepId) {
136
+ const process = await this.getProcess(processId);
137
+ if (!process)
138
+ return null;
139
+ return process.humanActions.find(step => step.id === stepId) || null;
140
+ }
141
+ async updateHumanAction(processId, stepId, updates) {
142
+ const process = await this.getProcess(processId);
143
+ if (!process)
144
+ throw new Error("Process not found");
145
+ const stepIndex = process.humanActions.findIndex(step => step.id === stepId);
146
+ if (stepIndex === -1)
147
+ throw new Error("Human action step not found");
148
+ process.humanActions[stepIndex] = {
149
+ ...process.humanActions[stepIndex],
150
+ ...updates
151
+ };
152
+ await this.saveProcess(process);
153
+ }
97
154
  }
98
155
  exports.UpstashProcessStore = UpstashProcessStore;
99
156
  class ProcessHandler {
100
157
  store;
101
158
  serviceId;
102
159
  privateKey;
103
- constructor({ serviceId, privateKey, apiKey, store, }) {
160
+ baseUrl;
161
+ onHumanActionResponse;
162
+ constructor({ serviceId, privateKey, apiKey, store, baseUrl, onHumanActionResponse, }) {
104
163
  this.serviceId = serviceId;
164
+ this.baseUrl = baseUrl;
105
165
  if (apiKey) {
106
166
  const identity = (0, service_1.parseApiKey)(apiKey);
107
167
  this.privateKey = bs58_1.default.decode(identity.privateKey);
@@ -110,6 +170,7 @@ class ProcessHandler {
110
170
  this.privateKey = privateKey;
111
171
  }
112
172
  this.store = store || new MemoryProcessStore();
173
+ this.onHumanActionResponse = onHumanActionResponse;
113
174
  }
114
175
  generateProcessId() {
115
176
  return `${this.serviceId}_${Date.now()}_${(0, cuid2_1.createId)()}`;
@@ -134,6 +195,7 @@ class ProcessHandler {
134
195
  updates: [],
135
196
  results: [],
136
197
  agentInfo,
198
+ humanActions: [],
137
199
  };
138
200
  await this.store.saveProcess(process);
139
201
  if (process.webhookUrl) {
@@ -279,7 +341,182 @@ class ProcessHandler {
279
341
  status: process.status,
280
342
  updates: process.updates,
281
343
  results: process.results,
344
+ humanActions: process.humanActions || [],
345
+ };
346
+ }
347
+ async requestHumanAction(processId, options) {
348
+ const process = await this.store.getProcess(processId);
349
+ if (!process)
350
+ throw new Error("Process not found");
351
+ const stepId = (0, cuid2_1.createId)();
352
+ const actionsWithCallbacks = options.actions.map(action => ({
353
+ ...action,
354
+ callbackUrl: this.baseUrl
355
+ ? `${this.baseUrl}/processes/${processId}/human-actions/${stepId}/respond`
356
+ : undefined
357
+ }));
358
+ const step = {
359
+ id: stepId,
360
+ processId,
361
+ message: options.message,
362
+ ui: options.ui,
363
+ actions: actionsWithCallbacks,
364
+ status: 'pending',
365
+ createdAt: new Date(),
366
+ timeoutAt: options.timeoutMs ? new Date(Date.now() + options.timeoutMs) : undefined,
367
+ _metadata: options.metadata
282
368
  };
369
+ if (!process.humanActions) {
370
+ process.humanActions = [];
371
+ }
372
+ process.humanActions.push(step);
373
+ await this.store.saveProcess(process);
374
+ if (process.webhookUrl) {
375
+ try {
376
+ const { _metadata, ...stepWithoutMetadata } = step;
377
+ const payload = {
378
+ type: "human_action_requested",
379
+ processId,
380
+ agentId: process.agentId,
381
+ serviceId: this.serviceId,
382
+ step: stepWithoutMetadata
383
+ };
384
+ const { signature, timestamp } = this.signWebhookPayload(payload);
385
+ await axios_1.default.post(process.webhookUrl, payload, {
386
+ headers: {
387
+ "X-DAIN-SIGNATURE": signature,
388
+ "X-DAIN-TIMESTAMP": timestamp,
389
+ "X-DAIN-PROCESS-ID": processId,
390
+ },
391
+ });
392
+ }
393
+ catch (error) {
394
+ console.error("Failed to send human action webhook:", error);
395
+ }
396
+ }
397
+ // Set up timeout if specified
398
+ if (options.timeoutMs) {
399
+ setTimeout(async () => {
400
+ const currentStep = await this.store.getHumanAction(processId, stepId);
401
+ if (currentStep && currentStep.status === 'pending') {
402
+ await this.store.updateHumanAction(processId, stepId, {
403
+ status: 'timeout'
404
+ });
405
+ }
406
+ }, options.timeoutMs);
407
+ }
408
+ return stepId;
409
+ }
410
+ async checkHumanAction(processId, stepId) {
411
+ const step = await this.store.getHumanAction(processId, stepId);
412
+ if (!step)
413
+ throw new Error("Human action step not found");
414
+ return {
415
+ status: step.status,
416
+ response: step.response
417
+ };
418
+ }
419
+ async waitForHumanAction(processId, stepId, timeoutMs = 300000 // Default 5 minute timeout
420
+ ) {
421
+ return new Promise(async (resolve, reject) => {
422
+ const timeoutId = setTimeout(() => {
423
+ reject(new Error("Waiting for human action timed out"));
424
+ }, timeoutMs);
425
+ const checkStatus = async () => {
426
+ try {
427
+ const status = await this.checkHumanAction(processId, stepId);
428
+ switch (status.status) {
429
+ case 'completed':
430
+ clearTimeout(timeoutId);
431
+ if (!status.response) {
432
+ reject(new Error("No response found for completed action"));
433
+ return;
434
+ }
435
+ resolve(status.response);
436
+ break;
437
+ case 'failed':
438
+ case 'timeout':
439
+ clearTimeout(timeoutId);
440
+ reject(new Error(`Human action ${status.status}`));
441
+ break;
442
+ case 'pending':
443
+ setTimeout(checkStatus, 1000); // Poll every second
444
+ break;
445
+ }
446
+ }
447
+ catch (error) {
448
+ clearTimeout(timeoutId);
449
+ reject(error);
450
+ }
451
+ };
452
+ await checkStatus();
453
+ });
454
+ }
455
+ async respondToHumanAction(processId, stepId, actionId, responseText, data) {
456
+ const step = await this.store.getHumanAction(processId, stepId);
457
+ if (!step)
458
+ throw new Error("Human action step not found");
459
+ if (step.status !== 'pending')
460
+ throw new Error("Human action is no longer pending");
461
+ // Validate action ID
462
+ const validAction = step.actions.find(action => action.id === actionId);
463
+ if (!validAction) {
464
+ throw new Error(`Invalid action ID: ${actionId}`);
465
+ }
466
+ // Check if response is required but missing
467
+ if (validAction.requiresResponse && !responseText) {
468
+ throw new Error(`Response text is required for action: ${actionId}`);
469
+ }
470
+ const response = {
471
+ actionId,
472
+ responseText,
473
+ timestamp: new Date(),
474
+ data
475
+ };
476
+ const process = await this.store.getProcess(processId);
477
+ if (!process)
478
+ throw new Error("Process not found");
479
+ await this.store.updateHumanAction(processId, stepId, {
480
+ status: 'completed',
481
+ response
482
+ });
483
+ // Notify service handler if configured
484
+ if (this.onHumanActionResponse) {
485
+ await this.onHumanActionResponse({
486
+ process,
487
+ stepId,
488
+ actionId,
489
+ responseText,
490
+ data
491
+ });
492
+ }
493
+ if (process.webhookUrl) {
494
+ try {
495
+ const { _metadata, ...stepWithoutMetadata } = step;
496
+ const payload = {
497
+ type: "human_action_completed",
498
+ processId,
499
+ agentId: process.agentId,
500
+ serviceId: this.serviceId,
501
+ step: {
502
+ ...stepWithoutMetadata,
503
+ status: 'completed',
504
+ response
505
+ }
506
+ };
507
+ const { signature, timestamp } = this.signWebhookPayload(payload);
508
+ await axios_1.default.post(process.webhookUrl, payload, {
509
+ headers: {
510
+ "X-DAIN-SIGNATURE": signature,
511
+ "X-DAIN-TIMESTAMP": timestamp,
512
+ "X-DAIN-PROCESS-ID": processId,
513
+ },
514
+ });
515
+ }
516
+ catch (error) {
517
+ console.error("Failed to send human action completion webhook:", error);
518
+ }
519
+ }
283
520
  }
284
521
  }
285
522
  exports.ProcessHandler = ProcessHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"processes.js","sourceRoot":"","sources":["../../src/service/processes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processes.js","sourceRoot":"","sources":["../../src/service/processes.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,9 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
17
17
  const processHandler = new processes_1.ProcessHandler({
18
18
  serviceId: "service_" + config.identity.orgId + "_" + config.identity.agentId,
19
19
  privateKey,
20
- store: config.processStore
20
+ store: config.processStore,
21
+ baseUrl: config.baseUrl,
22
+ onHumanActionResponse: config.onHumanActionResponse
21
23
  });
22
24
  app.processes = processHandler;
23
25
  // CORS middleware - apply to all routes
@@ -114,6 +116,7 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
114
116
  pricing: tool.pricing,
115
117
  inputSchema: (0, schemaStructure_1.getDetailedSchemaStructure)(tool.input),
116
118
  outputSchema: (0, schemaStructure_1.getDetailedSchemaStructure)(tool.output),
119
+ suggestConfirmation: tool.suggestConfirmation,
117
120
  }));
118
121
  return c.json(toolInfo);
119
122
  });
@@ -268,6 +271,7 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
268
271
  description: tool.description,
269
272
  inputSchema: (0, zod_to_json_schema_1.default)(tool.input),
270
273
  outputSchema: (0, zod_to_json_schema_1.default)(tool.output),
274
+ suggestConfirmation: tool.suggestConfirmation,
271
275
  }));
272
276
  return c.json({
273
277
  tools: toolInfo,
@@ -285,6 +289,7 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
285
289
  pricing: tool.pricing,
286
290
  inputSchema: (0, schemaStructure_1.getDetailedSchemaStructure)(tool.input),
287
291
  outputSchema: (0, schemaStructure_1.getDetailedSchemaStructure)(tool.output),
292
+ suggestConfirmation: tool.suggestConfirmation,
288
293
  };
289
294
  return c.json(toolDetails);
290
295
  }
@@ -444,6 +449,85 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
444
449
  });
445
450
  }
446
451
  });
452
+ // Get all human actions for a process
453
+ app.get("/processes/:processId/human-actions", async (c) => {
454
+ const processId = c.req.param("processId");
455
+ const agentInfo = await getAgentInfo(c);
456
+ const process = await app.processes.getProcess(processId);
457
+ if (!process) {
458
+ throw new http_exception_1.HTTPException(404, { message: "Process not found" });
459
+ }
460
+ if (process.agentId !== agentInfo.id) {
461
+ console.log("Unauthorized access to process", process.agentId, agentInfo.id);
462
+ throw new http_exception_1.HTTPException(403, { message: "Unauthorized access to process" });
463
+ }
464
+ return c.json(process.humanActions);
465
+ });
466
+ // Get specific human action
467
+ app.get("/processes/:processId/human-actions/:stepId", async (c) => {
468
+ console.log('GET human action request:', c.req.path);
469
+ const processId = c.req.param("processId");
470
+ const stepId = c.req.param("stepId");
471
+ const agentInfo = await getAgentInfo(c);
472
+ const process = await app.processes.getProcess(processId);
473
+ if (!process) {
474
+ throw new http_exception_1.HTTPException(404, { message: "Process not found" });
475
+ }
476
+ if (process.agentId !== agentInfo.id) {
477
+ console.log("Unauthorized access to process", process.agentId, agentInfo.id);
478
+ throw new http_exception_1.HTTPException(403, { message: "Unauthorized access to process" });
479
+ }
480
+ const step = await app.processes.checkHumanAction(processId, stepId);
481
+ if (!step) {
482
+ throw new http_exception_1.HTTPException(404, { message: "Human action not found" });
483
+ }
484
+ return c.json(step);
485
+ });
486
+ // Respond to human action
487
+ app.post("/processes/:processId/human-actions/:stepId/respond", async (c) => {
488
+ const processId = c.req.param("processId");
489
+ const stepId = c.req.param("stepId");
490
+ const agentInfo = await getAgentInfo(c);
491
+ const process = await app.processes.getProcess(processId);
492
+ if (!process) {
493
+ throw new http_exception_1.HTTPException(404, { message: "Process not found" });
494
+ }
495
+ if (process.agentId !== agentInfo.id) {
496
+ console.log("Unauthorized access to process", process.agentId, agentInfo.id);
497
+ throw new http_exception_1.HTTPException(403, { message: "Unauthorized access to process" });
498
+ }
499
+ const body = await c.req.json();
500
+ const { actionId, responseText, data } = body;
501
+ if (!actionId) {
502
+ throw new http_exception_1.HTTPException(400, { message: "actionId is required" });
503
+ }
504
+ try {
505
+ await app.processes.respondToHumanAction(processId, stepId, actionId, responseText, data);
506
+ return c.json({ success: true });
507
+ }
508
+ catch (error) {
509
+ throw new http_exception_1.HTTPException(400, { message: error.message });
510
+ }
511
+ });
512
+ // Add new endpoint for getting confirmation UI
513
+ app.post(`/tools/:toolId/confirmation`, async (c) => {
514
+ const tool = tools.find((t) => t.id === c.req.param("toolId"));
515
+ if (!tool) {
516
+ throw new http_exception_1.HTTPException(404, { message: "Tool not found" });
517
+ }
518
+ if (!tool.suggestConfirmationUI) {
519
+ return c.json({ success: true }); // Default to success if no UI generator
520
+ }
521
+ try {
522
+ const body = await c.req.json();
523
+ const confirmationUI = await tool.suggestConfirmationUI(body);
524
+ return c.json(confirmationUI);
525
+ }
526
+ catch (error) {
527
+ console.error(`Error generating confirmation UI for tool ${tool.id}:`, error);
528
+ throw new http_exception_1.HTTPException(500, { message: "Error generating confirmation UI" });
529
+ }
530
+ });
447
531
  return app;
448
532
  }
449
533
  //# sourceMappingURL=server.js.map