@dainprotocol/service-sdk 2.0.65 → 2.0.66
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/service/hitl.d.ts +8 -2
- package/dist/service/hitl.js +34 -9
- package/dist/service/hitl.js.map +1 -1
- package/package.json +1 -1
package/dist/service/hitl.d.ts
CHANGED
|
@@ -33,12 +33,16 @@ export declare class HITLHandler {
|
|
|
33
33
|
constructor(config: HITLConfig);
|
|
34
34
|
/**
|
|
35
35
|
* Parse action data into components
|
|
36
|
-
*
|
|
36
|
+
*
|
|
37
|
+
* Formats:
|
|
38
|
+
* - Legacy: scope:id:action[:payload]
|
|
39
|
+
* - With waitId: run:runId:waitId:action[:payload]
|
|
37
40
|
*/
|
|
38
41
|
parseAction(actionData: string): {
|
|
39
42
|
scope: string;
|
|
40
43
|
id: string;
|
|
41
44
|
action: string;
|
|
45
|
+
waitId?: string;
|
|
42
46
|
payload?: string;
|
|
43
47
|
} | null;
|
|
44
48
|
/**
|
|
@@ -51,7 +55,9 @@ export declare class HITLHandler {
|
|
|
51
55
|
handleAction(actionData: string, context: HITLContext): Promise<HITLResult>;
|
|
52
56
|
/**
|
|
53
57
|
* Handle run actions (automation approvals)
|
|
54
|
-
*
|
|
58
|
+
* Formats:
|
|
59
|
+
* - Legacy: run:{runId}:{action}
|
|
60
|
+
* - With waitId: run:{runId}:{waitId}:{action}
|
|
55
61
|
*/
|
|
56
62
|
private handleRunAction;
|
|
57
63
|
/**
|
package/dist/service/hitl.js
CHANGED
|
@@ -27,18 +27,35 @@ class HITLHandler {
|
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* Parse action data into components
|
|
30
|
-
*
|
|
30
|
+
*
|
|
31
|
+
* Formats:
|
|
32
|
+
* - Legacy: scope:id:action[:payload]
|
|
33
|
+
* - With waitId: run:runId:waitId:action[:payload]
|
|
31
34
|
*/
|
|
32
35
|
parseAction(actionData) {
|
|
33
36
|
const parts = actionData.split(':');
|
|
34
37
|
if (parts.length < 3) {
|
|
35
38
|
return null;
|
|
36
39
|
}
|
|
40
|
+
const [scope, id, third, fourth, ...rest] = parts;
|
|
41
|
+
// Handle run scope with waitId (4+ parts where third looks like a waitId)
|
|
42
|
+
// waitIds are UUIDs (36 chars with dashes), actions are short words like 'approve'
|
|
43
|
+
const hasWaitId = scope === 'run' && fourth && (third.length > 10 || third.includes('-'));
|
|
44
|
+
if (hasWaitId) {
|
|
45
|
+
return {
|
|
46
|
+
scope,
|
|
47
|
+
id,
|
|
48
|
+
waitId: third,
|
|
49
|
+
action: fourth,
|
|
50
|
+
payload: rest.length > 0 ? rest.join(':') : undefined,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
// Standard format: scope:id:action[:payload]
|
|
37
54
|
return {
|
|
38
|
-
scope
|
|
39
|
-
id
|
|
40
|
-
action:
|
|
41
|
-
payload:
|
|
55
|
+
scope,
|
|
56
|
+
id,
|
|
57
|
+
action: third,
|
|
58
|
+
payload: fourth ? [fourth, ...rest].join(':') : undefined,
|
|
42
59
|
};
|
|
43
60
|
}
|
|
44
61
|
/**
|
|
@@ -70,7 +87,7 @@ class HITLHandler {
|
|
|
70
87
|
// Route based on scope
|
|
71
88
|
switch (scope) {
|
|
72
89
|
case 'run':
|
|
73
|
-
return await this.handleRunAction(id, action, payload, context);
|
|
90
|
+
return await this.handleRunAction(id, action, payload, context, parsed.waitId);
|
|
74
91
|
case 'user':
|
|
75
92
|
return await this.handleUserAction(id, action, payload, context);
|
|
76
93
|
case 'payment':
|
|
@@ -87,9 +104,11 @@ class HITLHandler {
|
|
|
87
104
|
}
|
|
88
105
|
/**
|
|
89
106
|
* Handle run actions (automation approvals)
|
|
90
|
-
*
|
|
107
|
+
* Formats:
|
|
108
|
+
* - Legacy: run:{runId}:{action}
|
|
109
|
+
* - With waitId: run:{runId}:{waitId}:{action}
|
|
91
110
|
*/
|
|
92
|
-
async handleRunAction(runId, action, payload, context) {
|
|
111
|
+
async handleRunAction(runId, action, payload, context, waitId) {
|
|
93
112
|
try {
|
|
94
113
|
// Call automation-core API to submit input
|
|
95
114
|
const url = `${this.automationApiUrl}/api/runs/${runId}/input`;
|
|
@@ -99,6 +118,11 @@ class HITLHandler {
|
|
|
99
118
|
if (this.automationApiKey) {
|
|
100
119
|
headers['Authorization'] = `Bearer ${this.automationApiKey}`;
|
|
101
120
|
}
|
|
121
|
+
// Merge waitId into metadata for traceability
|
|
122
|
+
const metadata = {
|
|
123
|
+
...context.metadata,
|
|
124
|
+
...(waitId && { waitId }),
|
|
125
|
+
};
|
|
102
126
|
const response = await fetch(url, {
|
|
103
127
|
method: 'POST',
|
|
104
128
|
headers,
|
|
@@ -106,7 +130,8 @@ class HITLHandler {
|
|
|
106
130
|
decision: action,
|
|
107
131
|
user: context.user,
|
|
108
132
|
platform: context.platform,
|
|
109
|
-
metadata
|
|
133
|
+
metadata,
|
|
134
|
+
waitId, // Also pass at top level for explicit access
|
|
110
135
|
payload: payload ? JSON.parse(payload) : undefined,
|
|
111
136
|
}),
|
|
112
137
|
});
|
package/dist/service/hitl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hitl.js","sourceRoot":"","sources":["../../src/service/hitl.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;
|
|
1
|
+
{"version":3,"file":"hitl.js","sourceRoot":"","sources":["../../src/service/hitl.ts"],"names":[],"mappings":"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"}
|