@cicctencent/agent-core 1.0.59 → 1.0.60
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/cjs/tool/ask-user.d.ts +4 -1
- package/dist/cjs/tool/ask-user.d.ts.map +1 -1
- package/dist/cjs/tool/ask-user.js +37 -15
- package/dist/cjs/tool/ask-user.js.map +1 -1
- package/dist/esm/tool/ask-user.d.ts +4 -1
- package/dist/esm/tool/ask-user.d.ts.map +1 -1
- package/dist/esm/tool/ask-user.js +37 -15
- package/dist/esm/tool/ask-user.js.map +1 -1
- package/package.json +1 -1
|
@@ -11,7 +11,10 @@ export interface AskUserArgs {
|
|
|
11
11
|
type: InteractionType;
|
|
12
12
|
/** 选项列表(choice / multi-choice 类型) */
|
|
13
13
|
options?: InteractionOption[];
|
|
14
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* 是否允许自由文本输入。
|
|
16
|
+
* 未显式传入时按类型推断:`input` 为 true,其余类型为 false。
|
|
17
|
+
*/
|
|
15
18
|
allowFreeText?: boolean;
|
|
16
19
|
}
|
|
17
20
|
/** ask_user 工具定义 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-user.d.ts","sourceRoot":"","sources":["../../../src/tool/ask-user.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAyC,eAAe,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAiBzH,qBAAqB;AACrB,MAAM,WAAW,WAAW;IAC1B,SAAS;IACT,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,qCAAqC;IACrC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B
|
|
1
|
+
{"version":3,"file":"ask-user.d.ts","sourceRoot":"","sources":["../../../src/tool/ask-user.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAyC,eAAe,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAiBzH,qBAAqB;AACrB,MAAM,WAAW,WAAW;IAC1B,SAAS;IACT,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,qCAAqC;IACrC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAaD,oBAAoB;AACpB,eAAO,MAAM,wBAAwB,EAAE,cA2CtC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,cAAc,CAqLxF"}
|
|
@@ -16,6 +16,17 @@ function ctxKey(sessionId, parentToolCallId) {
|
|
|
16
16
|
}
|
|
17
17
|
/** 超时后返回给 Agent 的收敛指令:明确要求直接继续/结束,不得再次发起交互 */
|
|
18
18
|
const ASK_USER_TIMEOUT_RESULT = '用户交互请求已超时,未收到回答。请勿再次发起同类交互,直接基于已掌握的信息继续完成任务或给出结论。';
|
|
19
|
+
/**
|
|
20
|
+
* 解析是否允许自由文本输入。
|
|
21
|
+
*
|
|
22
|
+
* `input` 类型的语义就是收集用户键入的文本,未显式传值时默认开启;
|
|
23
|
+
* 显式传入(含 false)始终优先,保证调用方可以关闭输入框。
|
|
24
|
+
*/
|
|
25
|
+
function resolveAllowFreeText(type, explicit) {
|
|
26
|
+
if (typeof explicit === 'boolean')
|
|
27
|
+
return explicit;
|
|
28
|
+
return type === 'input';
|
|
29
|
+
}
|
|
19
30
|
/** ask_user 工具定义 */
|
|
20
31
|
exports.ASK_USER_TOOL_DEFINITION = {
|
|
21
32
|
type: 'function',
|
|
@@ -35,7 +46,7 @@ exports.ASK_USER_TOOL_DEFINITION = {
|
|
|
35
46
|
},
|
|
36
47
|
type: {
|
|
37
48
|
type: 'string',
|
|
38
|
-
description: '交互类型:confirm(确认/取消)、choice(单选)、multi-choice(多选)、input
|
|
49
|
+
description: '交互类型:confirm(确认/取消)、choice(单选)、multi-choice(多选)、input(自由文本输入,用户会看到文本输入框)',
|
|
39
50
|
enum: ['confirm', 'choice', 'multi-choice', 'input'],
|
|
40
51
|
},
|
|
41
52
|
options: {
|
|
@@ -54,7 +65,7 @@ exports.ASK_USER_TOOL_DEFINITION = {
|
|
|
54
65
|
},
|
|
55
66
|
allowFreeText: {
|
|
56
67
|
type: 'boolean',
|
|
57
|
-
description: '
|
|
68
|
+
description: '是否允许用户键入自由文本。input 类型默认为 true(渲染文本输入框),其余类型默认为 false;显式传入时以传入值为准',
|
|
58
69
|
},
|
|
59
70
|
},
|
|
60
71
|
required: ['title', 'message', 'type'],
|
|
@@ -77,7 +88,11 @@ function createAskUserTool(interactionService) {
|
|
|
77
88
|
prompt: '### User Interaction (CRITICAL)\n' +
|
|
78
89
|
'- 当你需要用户**做出选择、确认或提供输入**时,**必须调用 `ask_user` 工具**,而不是在回复中输出"您是否需要我…"、"请确认是否…"等自由文本。\n' +
|
|
79
90
|
'- `ask_user` 会**暂停当前执行**并等待用户回答;收到答案后继续执行任务。\n' +
|
|
80
|
-
'-
|
|
91
|
+
'- 适用场景:\n' +
|
|
92
|
+
' - 需要确认:`type: "confirm"`(不传 options 时自动生成「确认 / 取消」两个选项)\n' +
|
|
93
|
+
' - 需要选择:`type: "choice"`(单选)/ `type: "multi-choice"`(多选),并提供 `options`\n' +
|
|
94
|
+
' - 需要用户自由输入文本:`type: "input"`,用户会看到文本输入框,答案通过 `text` 返回,无需传 `options`\n' +
|
|
95
|
+
'- 想在选项之外额外收集用户补充文本时,传 `allowFreeText: true`。\n' +
|
|
81
96
|
'- 不要用大段文字把问题抛给用户然后结束回复;应当通过 `ask_user` 真正等待答案。\n' +
|
|
82
97
|
'- 仅在确实需要从用户处获取信息时才使用,避免无谓地打断用户。',
|
|
83
98
|
executor: async (args, ctx) => {
|
|
@@ -88,14 +103,18 @@ function createAskUserTool(interactionService) {
|
|
|
88
103
|
if (TIMED_OUT_CONTEXTS.has(key)) {
|
|
89
104
|
return ASK_USER_TIMEOUT_RESULT;
|
|
90
105
|
}
|
|
91
|
-
//
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
106
|
+
// input 类型的答案落在 text,选项只会干扰用户:即便模型误传 options 也一并忽略
|
|
107
|
+
const isInputType = typedArgs.type === 'input';
|
|
108
|
+
// 构建选项(input 类型不构建,避免把选项下发给交互渠道)
|
|
109
|
+
const options = isInputType
|
|
110
|
+
? []
|
|
111
|
+
: (typedArgs.options || []).map((opt) => ({
|
|
112
|
+
id: String(opt.id),
|
|
113
|
+
label: String(opt.label),
|
|
114
|
+
value: opt.value ?? opt.id,
|
|
115
|
+
primary: Boolean(opt.primary),
|
|
116
|
+
danger: Boolean(opt.danger),
|
|
117
|
+
}));
|
|
99
118
|
// 对于 confirm 类型,如果没有选项则自动生成
|
|
100
119
|
if (typedArgs.type === 'confirm' && options.length === 0) {
|
|
101
120
|
options.push({ id: 'yes', label: '确认', primary: true }, { id: 'no', label: '取消', danger: true });
|
|
@@ -143,7 +162,7 @@ function createAskUserTool(interactionService) {
|
|
|
143
162
|
title,
|
|
144
163
|
message: typedArgs.message,
|
|
145
164
|
options: options.length > 0 ? options : undefined,
|
|
146
|
-
allowFreeText: typedArgs.allowFreeText
|
|
165
|
+
allowFreeText: resolveAllowFreeText(typedArgs.type, typedArgs.allowFreeText),
|
|
147
166
|
abortSignal: ctx.abortSignal,
|
|
148
167
|
emit: (request) => {
|
|
149
168
|
interactionRequestId = request.requestId;
|
|
@@ -185,11 +204,14 @@ function createAskUserTool(interactionService) {
|
|
|
185
204
|
.join('、');
|
|
186
205
|
parts.push(`用户选择了:${selectedLabels}`);
|
|
187
206
|
}
|
|
188
|
-
|
|
189
|
-
|
|
207
|
+
// 按 trim 后取值,避免纯空白被当作有效输入
|
|
208
|
+
const submittedText = typeof answer.text === 'string' ? answer.text.trim() : '';
|
|
209
|
+
if (submittedText) {
|
|
210
|
+
parts.push(`用户输入:${submittedText}`);
|
|
190
211
|
}
|
|
191
212
|
if (parts.length === 0) {
|
|
192
|
-
|
|
213
|
+
// input 类型未收到非空文本时不得表述为「已确认」,避免模型把空回答误读为肯定答复
|
|
214
|
+
return isInputType ? '用户未输入内容,交互已结束。' : '用户已确认。';
|
|
193
215
|
}
|
|
194
216
|
return parts.join('\n');
|
|
195
217
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../../../src/tool/ask-user.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,kCAAkC;AAClC,+DAA+D;;;
|
|
1
|
+
{"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../../../src/tool/ask-user.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,10 @@ export interface AskUserArgs {
|
|
|
11
11
|
type: InteractionType;
|
|
12
12
|
/** 选项列表(choice / multi-choice 类型) */
|
|
13
13
|
options?: InteractionOption[];
|
|
14
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* 是否允许自由文本输入。
|
|
16
|
+
* 未显式传入时按类型推断:`input` 为 true,其余类型为 false。
|
|
17
|
+
*/
|
|
15
18
|
allowFreeText?: boolean;
|
|
16
19
|
}
|
|
17
20
|
/** ask_user 工具定义 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-user.d.ts","sourceRoot":"","sources":["../../../src/tool/ask-user.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAyC,eAAe,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAiBzH,qBAAqB;AACrB,MAAM,WAAW,WAAW;IAC1B,SAAS;IACT,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,qCAAqC;IACrC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B
|
|
1
|
+
{"version":3,"file":"ask-user.d.ts","sourceRoot":"","sources":["../../../src/tool/ask-user.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAyC,eAAe,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAiBzH,qBAAqB;AACrB,MAAM,WAAW,WAAW;IAC1B,SAAS;IACT,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,qCAAqC;IACrC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAaD,oBAAoB;AACpB,eAAO,MAAM,wBAAwB,EAAE,cA2CtC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,cAAc,CAqLxF"}
|
|
@@ -12,6 +12,17 @@ function ctxKey(sessionId, parentToolCallId) {
|
|
|
12
12
|
}
|
|
13
13
|
/** 超时后返回给 Agent 的收敛指令:明确要求直接继续/结束,不得再次发起交互 */
|
|
14
14
|
const ASK_USER_TIMEOUT_RESULT = '用户交互请求已超时,未收到回答。请勿再次发起同类交互,直接基于已掌握的信息继续完成任务或给出结论。';
|
|
15
|
+
/**
|
|
16
|
+
* 解析是否允许自由文本输入。
|
|
17
|
+
*
|
|
18
|
+
* `input` 类型的语义就是收集用户键入的文本,未显式传值时默认开启;
|
|
19
|
+
* 显式传入(含 false)始终优先,保证调用方可以关闭输入框。
|
|
20
|
+
*/
|
|
21
|
+
function resolveAllowFreeText(type, explicit) {
|
|
22
|
+
if (typeof explicit === 'boolean')
|
|
23
|
+
return explicit;
|
|
24
|
+
return type === 'input';
|
|
25
|
+
}
|
|
15
26
|
/** ask_user 工具定义 */
|
|
16
27
|
export const ASK_USER_TOOL_DEFINITION = {
|
|
17
28
|
type: 'function',
|
|
@@ -31,7 +42,7 @@ export const ASK_USER_TOOL_DEFINITION = {
|
|
|
31
42
|
},
|
|
32
43
|
type: {
|
|
33
44
|
type: 'string',
|
|
34
|
-
description: '交互类型:confirm(确认/取消)、choice(单选)、multi-choice(多选)、input
|
|
45
|
+
description: '交互类型:confirm(确认/取消)、choice(单选)、multi-choice(多选)、input(自由文本输入,用户会看到文本输入框)',
|
|
35
46
|
enum: ['confirm', 'choice', 'multi-choice', 'input'],
|
|
36
47
|
},
|
|
37
48
|
options: {
|
|
@@ -50,7 +61,7 @@ export const ASK_USER_TOOL_DEFINITION = {
|
|
|
50
61
|
},
|
|
51
62
|
allowFreeText: {
|
|
52
63
|
type: 'boolean',
|
|
53
|
-
description: '
|
|
64
|
+
description: '是否允许用户键入自由文本。input 类型默认为 true(渲染文本输入框),其余类型默认为 false;显式传入时以传入值为准',
|
|
54
65
|
},
|
|
55
66
|
},
|
|
56
67
|
required: ['title', 'message', 'type'],
|
|
@@ -73,7 +84,11 @@ export function createAskUserTool(interactionService) {
|
|
|
73
84
|
prompt: '### User Interaction (CRITICAL)\n' +
|
|
74
85
|
'- 当你需要用户**做出选择、确认或提供输入**时,**必须调用 `ask_user` 工具**,而不是在回复中输出"您是否需要我…"、"请确认是否…"等自由文本。\n' +
|
|
75
86
|
'- `ask_user` 会**暂停当前执行**并等待用户回答;收到答案后继续执行任务。\n' +
|
|
76
|
-
'-
|
|
87
|
+
'- 适用场景:\n' +
|
|
88
|
+
' - 需要确认:`type: "confirm"`(不传 options 时自动生成「确认 / 取消」两个选项)\n' +
|
|
89
|
+
' - 需要选择:`type: "choice"`(单选)/ `type: "multi-choice"`(多选),并提供 `options`\n' +
|
|
90
|
+
' - 需要用户自由输入文本:`type: "input"`,用户会看到文本输入框,答案通过 `text` 返回,无需传 `options`\n' +
|
|
91
|
+
'- 想在选项之外额外收集用户补充文本时,传 `allowFreeText: true`。\n' +
|
|
77
92
|
'- 不要用大段文字把问题抛给用户然后结束回复;应当通过 `ask_user` 真正等待答案。\n' +
|
|
78
93
|
'- 仅在确实需要从用户处获取信息时才使用,避免无谓地打断用户。',
|
|
79
94
|
executor: async (args, ctx) => {
|
|
@@ -84,14 +99,18 @@ export function createAskUserTool(interactionService) {
|
|
|
84
99
|
if (TIMED_OUT_CONTEXTS.has(key)) {
|
|
85
100
|
return ASK_USER_TIMEOUT_RESULT;
|
|
86
101
|
}
|
|
87
|
-
//
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
102
|
+
// input 类型的答案落在 text,选项只会干扰用户:即便模型误传 options 也一并忽略
|
|
103
|
+
const isInputType = typedArgs.type === 'input';
|
|
104
|
+
// 构建选项(input 类型不构建,避免把选项下发给交互渠道)
|
|
105
|
+
const options = isInputType
|
|
106
|
+
? []
|
|
107
|
+
: (typedArgs.options || []).map((opt) => ({
|
|
108
|
+
id: String(opt.id),
|
|
109
|
+
label: String(opt.label),
|
|
110
|
+
value: opt.value ?? opt.id,
|
|
111
|
+
primary: Boolean(opt.primary),
|
|
112
|
+
danger: Boolean(opt.danger),
|
|
113
|
+
}));
|
|
95
114
|
// 对于 confirm 类型,如果没有选项则自动生成
|
|
96
115
|
if (typedArgs.type === 'confirm' && options.length === 0) {
|
|
97
116
|
options.push({ id: 'yes', label: '确认', primary: true }, { id: 'no', label: '取消', danger: true });
|
|
@@ -139,7 +158,7 @@ export function createAskUserTool(interactionService) {
|
|
|
139
158
|
title,
|
|
140
159
|
message: typedArgs.message,
|
|
141
160
|
options: options.length > 0 ? options : undefined,
|
|
142
|
-
allowFreeText: typedArgs.allowFreeText
|
|
161
|
+
allowFreeText: resolveAllowFreeText(typedArgs.type, typedArgs.allowFreeText),
|
|
143
162
|
abortSignal: ctx.abortSignal,
|
|
144
163
|
emit: (request) => {
|
|
145
164
|
interactionRequestId = request.requestId;
|
|
@@ -181,11 +200,14 @@ export function createAskUserTool(interactionService) {
|
|
|
181
200
|
.join('、');
|
|
182
201
|
parts.push(`用户选择了:${selectedLabels}`);
|
|
183
202
|
}
|
|
184
|
-
|
|
185
|
-
|
|
203
|
+
// 按 trim 后取值,避免纯空白被当作有效输入
|
|
204
|
+
const submittedText = typeof answer.text === 'string' ? answer.text.trim() : '';
|
|
205
|
+
if (submittedText) {
|
|
206
|
+
parts.push(`用户输入:${submittedText}`);
|
|
186
207
|
}
|
|
187
208
|
if (parts.length === 0) {
|
|
188
|
-
|
|
209
|
+
// input 类型未收到非空文本时不得表述为「已确认」,避免模型把空回答误读为肯定答复
|
|
210
|
+
return isInputType ? '用户未输入内容,交互已结束。' : '用户已确认。';
|
|
189
211
|
}
|
|
190
212
|
return parts.join('\n');
|
|
191
213
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../../../src/tool/ask-user.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,kCAAkC;AAClC,+DAA+D;AAM/D;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE7C,SAAS,MAAM,CAAC,SAAiB,EAAE,gBAAyB;IAC1D,OAAO,GAAG,SAAS,KAAK,gBAAgB,IAAI,EAAE,EAAE,CAAC;AACnD,CAAC;AAED,8CAA8C;AAC9C,MAAM,uBAAuB,GAC3B,mDAAmD,CAAC;
|
|
1
|
+
{"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../../../src/tool/ask-user.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cicctencent/agent-core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.60",
|
|
4
4
|
"description": "Core engine for AI agent — LLM orchestration, tool execution, MCP, skill routing, security, and memory pipeline.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|