@meetopenbot/plugin-sdk 1.0.5 → 1.0.6
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/hitl.d.ts +45 -0
- package/dist/hitl.d.ts.map +1 -0
- package/dist/hitl.js +181 -0
- package/dist/hitl.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/hitl.d.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { OpenBotEvent } from './events.js';
|
|
2
|
+
import type { PluginHost } from './plugin.js';
|
|
3
|
+
import type { Storage } from './storage.js';
|
|
4
|
+
import type { RenderUIWidgetData, UIWidgetAction, UIWidgetField } from './ui.js';
|
|
5
|
+
/** Tool-allow widget. Kept out of the collapsed tool-trace stack. */
|
|
6
|
+
export declare const HITL_PERMISSION_META = "approval:request";
|
|
7
|
+
/** Ask-the-user widget. Kept out of the collapsed tool-trace stack. */
|
|
8
|
+
export declare const HITL_QUESTION_META = "ui:request";
|
|
9
|
+
export type HitlResponse = {
|
|
10
|
+
actionId: string;
|
|
11
|
+
values?: Record<string, unknown>;
|
|
12
|
+
metadata?: Record<string, unknown>;
|
|
13
|
+
};
|
|
14
|
+
export type RequestUserInputArgs = {
|
|
15
|
+
emit: (event: OpenBotEvent) => Promise<void>;
|
|
16
|
+
host: PluginHost;
|
|
17
|
+
abortSignal?: AbortSignal;
|
|
18
|
+
agentId: string;
|
|
19
|
+
threadId?: string;
|
|
20
|
+
channelId?: string;
|
|
21
|
+
storage?: Storage;
|
|
22
|
+
widget: RenderUIWidgetData;
|
|
23
|
+
};
|
|
24
|
+
/** Flip working → needs_input. Returns true when this helper should restore working later. */
|
|
25
|
+
export declare function markThreadNeedsInput(args: RequestUserInputArgs, reason: string): Promise<boolean>;
|
|
26
|
+
/** Restore needs_input → working if the thread is still waiting on this HITL pause. */
|
|
27
|
+
export declare function restoreThreadWorking(args: RequestUserInputArgs): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Emit an interactive widget, wait for the click via `host.awaitWidgetResponse`,
|
|
30
|
+
* then collapse the same widgetId. Harness permission callbacks must use this
|
|
31
|
+
* (they cannot `yield` while the vendor SDK is blocked).
|
|
32
|
+
*/
|
|
33
|
+
export declare function requestUserInput(args: RequestUserInputArgs): Promise<HitlResponse>;
|
|
34
|
+
export declare function requestPermission(args: Omit<RequestUserInputArgs, 'widget'> & {
|
|
35
|
+
title: string;
|
|
36
|
+
body?: string;
|
|
37
|
+
description?: string;
|
|
38
|
+
}): Promise<HitlResponse>;
|
|
39
|
+
export declare function requestQuestion(args: Omit<RequestUserInputArgs, 'widget'> & {
|
|
40
|
+
title: string;
|
|
41
|
+
description?: string;
|
|
42
|
+
actions?: UIWidgetAction[];
|
|
43
|
+
fields?: UIWidgetField[];
|
|
44
|
+
}): Promise<HitlResponse>;
|
|
45
|
+
//# sourceMappingURL=hitl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hitl.d.ts","sourceRoot":"","sources":["../src/hitl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEjF,qEAAqE;AACrE,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAK/C,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAiEF,8FAA8F;AAC9F,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAyBvG;AAED,uFAAuF;AACvF,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBpF;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC,CAgBxF;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,GAAG;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,OAAO,CAAC,YAAY,CAAC,CAgBvB;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,GAAG;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;CAC1B,GACA,OAAO,CAAC,YAAY,CAAC,CAyBvB"}
|
package/dist/hitl.js
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
/** Tool-allow widget. Kept out of the collapsed tool-trace stack. */
|
|
3
|
+
export const HITL_PERMISSION_META = 'approval:request';
|
|
4
|
+
/** Ask-the-user widget. Kept out of the collapsed tool-trace stack. */
|
|
5
|
+
export const HITL_QUESTION_META = 'ui:request';
|
|
6
|
+
const WORKING_STATUS = 'working';
|
|
7
|
+
const NEEDS_INPUT_STATUS = 'needs_input';
|
|
8
|
+
function withWidgetId(widget) {
|
|
9
|
+
return {
|
|
10
|
+
...widget,
|
|
11
|
+
widgetId: widget.widgetId ?? randomUUID(),
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
async function emitWidget(args, widget) {
|
|
15
|
+
await args.emit({
|
|
16
|
+
type: 'client:ui:widget',
|
|
17
|
+
data: widget,
|
|
18
|
+
meta: {
|
|
19
|
+
agentId: args.agentId,
|
|
20
|
+
...(args.threadId ? { threadId: args.threadId } : {}),
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function settleWidget(widget, state) {
|
|
25
|
+
return {
|
|
26
|
+
...widget,
|
|
27
|
+
state,
|
|
28
|
+
display: 'collapsed',
|
|
29
|
+
actions: [],
|
|
30
|
+
...(widget.kind === 'form' ? { fields: widget.fields, submitLabel: undefined } : {}),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function readThreadStatus(state) {
|
|
34
|
+
if (!state || typeof state !== 'object' || Array.isArray(state))
|
|
35
|
+
return undefined;
|
|
36
|
+
const status = state.status;
|
|
37
|
+
return typeof status === 'string' && status ? status : undefined;
|
|
38
|
+
}
|
|
39
|
+
function statusReasonFromWidget(widget) {
|
|
40
|
+
return widget.title?.trim() || 'Waiting for your input';
|
|
41
|
+
}
|
|
42
|
+
async function emitThreadStatus(args, data) {
|
|
43
|
+
await args.emit({
|
|
44
|
+
type: 'action:set_thread_status:result',
|
|
45
|
+
data: {
|
|
46
|
+
success: true,
|
|
47
|
+
status: data.status,
|
|
48
|
+
previousStatus: data.previousStatus,
|
|
49
|
+
...(data.reason ? { reason: data.reason } : {}),
|
|
50
|
+
},
|
|
51
|
+
meta: {
|
|
52
|
+
agentId: args.agentId,
|
|
53
|
+
...(args.threadId ? { threadId: args.threadId } : {}),
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/** Flip working → needs_input. Returns true when this helper should restore working later. */
|
|
58
|
+
export async function markThreadNeedsInput(args, reason) {
|
|
59
|
+
const { storage, channelId, threadId } = args;
|
|
60
|
+
if (!storage || !channelId || !threadId)
|
|
61
|
+
return false;
|
|
62
|
+
try {
|
|
63
|
+
const details = await storage.getThreadDetails({ channelId, threadId });
|
|
64
|
+
const current = readThreadStatus(details.state) ?? WORKING_STATUS;
|
|
65
|
+
if (current !== WORKING_STATUS)
|
|
66
|
+
return false;
|
|
67
|
+
await storage.patchThreadState({
|
|
68
|
+
channelId,
|
|
69
|
+
threadId,
|
|
70
|
+
state: {
|
|
71
|
+
status: NEEDS_INPUT_STATUS,
|
|
72
|
+
statusUpdatedAt: new Date().toISOString(),
|
|
73
|
+
statusReason: reason,
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
await emitThreadStatus(args, {
|
|
77
|
+
status: NEEDS_INPUT_STATUS,
|
|
78
|
+
previousStatus: current,
|
|
79
|
+
reason,
|
|
80
|
+
});
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/** Restore needs_input → working if the thread is still waiting on this HITL pause. */
|
|
88
|
+
export async function restoreThreadWorking(args) {
|
|
89
|
+
const { storage, channelId, threadId } = args;
|
|
90
|
+
if (!storage || !channelId || !threadId)
|
|
91
|
+
return;
|
|
92
|
+
try {
|
|
93
|
+
const details = await storage.getThreadDetails({ channelId, threadId });
|
|
94
|
+
if (readThreadStatus(details.state) !== NEEDS_INPUT_STATUS)
|
|
95
|
+
return;
|
|
96
|
+
await storage.patchThreadState({
|
|
97
|
+
channelId,
|
|
98
|
+
threadId,
|
|
99
|
+
state: {
|
|
100
|
+
status: WORKING_STATUS,
|
|
101
|
+
statusUpdatedAt: new Date().toISOString(),
|
|
102
|
+
statusReason: '',
|
|
103
|
+
},
|
|
104
|
+
});
|
|
105
|
+
await emitThreadStatus(args, {
|
|
106
|
+
status: WORKING_STATUS,
|
|
107
|
+
previousStatus: NEEDS_INPUT_STATUS,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
// HITL resume should not fail because status restore failed.
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Emit an interactive widget, wait for the click via `host.awaitWidgetResponse`,
|
|
116
|
+
* then collapse the same widgetId. Harness permission callbacks must use this
|
|
117
|
+
* (they cannot `yield` while the vendor SDK is blocked).
|
|
118
|
+
*/
|
|
119
|
+
export async function requestUserInput(args) {
|
|
120
|
+
const widget = withWidgetId({ ...args.widget, state: 'open' });
|
|
121
|
+
await emitWidget(args, widget);
|
|
122
|
+
const paused = await markThreadNeedsInput(args, statusReasonFromWidget(widget));
|
|
123
|
+
try {
|
|
124
|
+
const response = await args.host.awaitWidgetResponse(widget.widgetId, args.abortSignal);
|
|
125
|
+
const denied = response.actionId === 'deny';
|
|
126
|
+
await emitWidget(args, settleWidget(widget, denied ? 'cancelled' : 'submitted'));
|
|
127
|
+
return response;
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
await emitWidget(args, settleWidget(widget, 'cancelled')).catch(() => undefined);
|
|
131
|
+
throw error;
|
|
132
|
+
}
|
|
133
|
+
finally {
|
|
134
|
+
if (paused)
|
|
135
|
+
await restoreThreadWorking(args);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
export async function requestPermission(args) {
|
|
139
|
+
const { title, body, description, ...rest } = args;
|
|
140
|
+
return requestUserInput({
|
|
141
|
+
...rest,
|
|
142
|
+
widget: {
|
|
143
|
+
kind: 'message',
|
|
144
|
+
title,
|
|
145
|
+
...(description ? { description } : {}),
|
|
146
|
+
...(body ? { body } : {}),
|
|
147
|
+
actions: [
|
|
148
|
+
{ id: 'allow', label: 'Allow', variant: 'primary' },
|
|
149
|
+
{ id: 'deny', label: 'Deny', variant: 'danger' },
|
|
150
|
+
],
|
|
151
|
+
metadata: { type: HITL_PERMISSION_META },
|
|
152
|
+
},
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
export async function requestQuestion(args) {
|
|
156
|
+
const { title, description, actions, fields, ...rest } = args;
|
|
157
|
+
if (fields?.length) {
|
|
158
|
+
return requestUserInput({
|
|
159
|
+
...rest,
|
|
160
|
+
widget: {
|
|
161
|
+
kind: 'form',
|
|
162
|
+
title,
|
|
163
|
+
...(description ? { description } : {}),
|
|
164
|
+
fields,
|
|
165
|
+
submitLabel: 'Submit',
|
|
166
|
+
metadata: { type: HITL_QUESTION_META },
|
|
167
|
+
},
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
return requestUserInput({
|
|
171
|
+
...rest,
|
|
172
|
+
widget: {
|
|
173
|
+
kind: 'choice',
|
|
174
|
+
title,
|
|
175
|
+
...(description ? { description } : {}),
|
|
176
|
+
actions: actions ?? [],
|
|
177
|
+
metadata: { type: HITL_QUESTION_META },
|
|
178
|
+
},
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=hitl.js.map
|
package/dist/hitl.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hitl.js","sourceRoot":"","sources":["../src/hitl.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
|