@memberjunction/ai-agents 6.1.3 → 6.1.5
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/AgentRunner.d.ts +7 -0
- package/dist/AgentRunner.d.ts.map +1 -1
- package/dist/AgentRunner.js +16 -5
- package/dist/AgentRunner.js.map +1 -1
- package/dist/agent-types/loop-agent-type.d.ts +20 -0
- package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-type.js +73 -2
- package/dist/agent-types/loop-agent-type.js.map +1 -1
- package/dist/base-agent.d.ts +16 -6
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +32 -10
- package/dist/base-agent.js.map +1 -1
- package/dist/native-tools/action-tool-builder.d.ts +14 -0
- package/dist/native-tools/action-tool-builder.d.ts.map +1 -1
- package/dist/native-tools/action-tool-builder.js +62 -7
- package/dist/native-tools/action-tool-builder.js.map +1 -1
- package/dist/native-tools/control-tools.d.ts +17 -1
- package/dist/native-tools/control-tools.d.ts.map +1 -1
- package/dist/native-tools/control-tools.js +42 -3
- package/dist/native-tools/control-tools.js.map +1 -1
- package/package.json +18 -18
|
@@ -14,6 +14,8 @@ export interface ActionToolBinding {
|
|
|
14
14
|
/** The Action the framework dispatches when that name comes back. */
|
|
15
15
|
action: MJActionEntityExtended;
|
|
16
16
|
tool: ChatTool;
|
|
17
|
+
/** The Action's params the tool was built from — what {@link coerceActionArguments} reads back. */
|
|
18
|
+
params: readonly MJActionParamEntity[];
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
19
21
|
* A built tool set plus the reverse map from tool name back to Action.
|
|
@@ -55,6 +57,18 @@ export declare const MAX_TOOL_DESCRIPTION_LENGTH = 1024;
|
|
|
55
57
|
* here, so this stays a pure function of the name.
|
|
56
58
|
*/
|
|
57
59
|
export declare function sanitizeToolName(actionName: string): string;
|
|
60
|
+
/**
|
|
61
|
+
* Restores object-typed arguments a model sent as JSON strings, before the Action runs.
|
|
62
|
+
*
|
|
63
|
+
* Only `Simple Object` params are touched: an `Other` param is declared as `string` and may
|
|
64
|
+
* legitimately hold JSON-looking text. For an array param both the array itself and each element
|
|
65
|
+
* may arrive encoded.
|
|
66
|
+
*
|
|
67
|
+
* @param params The Action's params, as the tool was built from them
|
|
68
|
+
* @param args The call's arguments, as the provider returned them
|
|
69
|
+
* @returns A new argument object; `args` is not mutated
|
|
70
|
+
*/
|
|
71
|
+
export declare function coerceActionArguments(params: readonly MJActionParamEntity[], args: Record<string, unknown> | undefined): Record<string, unknown>;
|
|
58
72
|
/**
|
|
59
73
|
* Builds the `ChatTool` declaration for one Action.
|
|
60
74
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-tool-builder.d.ts","sourceRoot":"","sources":["../../src/native-tools/action-tool-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAE3E,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAC9B,gFAAgF;IAChF,IAAI,EAAE,QAAQ,CAAC;IACf,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,MAAM,EAAE,sBAAsB,CAAC;IAC/B,IAAI,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"action-tool-builder.d.ts","sourceRoot":"","sources":["../../src/native-tools/action-tool-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAE3E,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAC9B,gFAAgF;IAChF,IAAI,EAAE,QAAQ,CAAC;IACf,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,MAAM,EAAE,sBAAsB,CAAC;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,mGAAmG;IACnG,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,wCAAwC;IACxC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC9C;AAKD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAKhD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAO3D;AAyDD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,SAAS,mBAAmB,EAAE,EACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYzB;AA+FD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,SAAS,mBAAmB,EAAE,GAAG,QAAQ,CA4BpH;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,SAAS,sBAAsB,EAAE,EAC1C,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC,GACtE,aAAa,CAsBf;AAED,sFAAsF;AACtF,MAAM,WAAW,yBAAyB;IACtC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;CAChC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,SAAS,sBAAsB,EAAE,EAC1C,eAAe,EAAE,aAAa,CAAC,yBAAyB,CAAC,GAC1D,sBAAsB,EAAE,CAO1B"}
|
|
@@ -52,18 +52,72 @@ export function sanitizeToolName(actionName) {
|
|
|
52
52
|
* - **`Scalar` emits a union type.** It appears to violate the cross-provider common subset —
|
|
53
53
|
* OpenAPI 3.0, which Gemini's classic function declarations follow, has no union `type` — but it
|
|
54
54
|
* measured clean on every provider tested, so the plan's literal mapping stands.
|
|
55
|
-
* - **
|
|
56
|
-
*
|
|
55
|
+
* - **The opaque kinds emit `string`, not `object`.** §8.2 originally specified `object` for them,
|
|
56
|
+
* reasoning it was "exact parity with the prose catalog". It is not:
|
|
57
57
|
* `Run Ad-hoc Query.Query` is `ValueType: 'Other'` but holds SQL text, and typing it as an
|
|
58
58
|
* object made models emit `Query: {}` on 40% of calls — well-formed, dispatchable and useless,
|
|
59
59
|
* which no well-formedness check catches. Switching to `string` took usable arguments from
|
|
60
60
|
* 60% to 100% on the same prompts. The structural type beats the prose description whenever the
|
|
61
61
|
* two disagree, so it must not disagree.
|
|
62
|
+
* - **`Simple Object` emits `object`.** Unlike the opaque kinds it says what the value is, and
|
|
63
|
+
* typing a real object as `string` fails the other way: the model JSON-encodes it, and an Action
|
|
64
|
+
* expecting an object receives text. Skip's `Test SQL Statement.Parameters` failed exactly so.
|
|
65
|
+
* Models still stringify objects now and then, which {@link coerceActionArguments} absorbs.
|
|
66
|
+
*
|
|
67
|
+
* Both are stopgaps for a real per-param schema — see MJ issue #5050 (`ActionParam.ValueSchema`).
|
|
62
68
|
*/
|
|
63
69
|
function schemaForValueType(valueType) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
70
|
+
switch (valueType) {
|
|
71
|
+
case 'Scalar':
|
|
72
|
+
return { type: ['string', 'number', 'boolean'] };
|
|
73
|
+
case 'Simple Object':
|
|
74
|
+
return { type: 'object' };
|
|
75
|
+
default:
|
|
76
|
+
return { type: 'string' };
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Turns a JSON-encoded string back into the object or array a `Simple Object` param declares.
|
|
81
|
+
*
|
|
82
|
+
* Anything else is returned unchanged — a string that is not JSON, or JSON of the wrong shape, is
|
|
83
|
+
* the Action's to reject with its own message rather than ours to guess at.
|
|
84
|
+
*/
|
|
85
|
+
function decodeObjectValue(value, isArray) {
|
|
86
|
+
if (typeof value !== 'string') {
|
|
87
|
+
return value;
|
|
88
|
+
}
|
|
89
|
+
try {
|
|
90
|
+
const decoded = JSON.parse(value);
|
|
91
|
+
const shapeMatches = isArray ? Array.isArray(decoded) : decoded !== null && typeof decoded === 'object' && !Array.isArray(decoded);
|
|
92
|
+
return shapeMatches ? decoded : value;
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return value;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Restores object-typed arguments a model sent as JSON strings, before the Action runs.
|
|
100
|
+
*
|
|
101
|
+
* Only `Simple Object` params are touched: an `Other` param is declared as `string` and may
|
|
102
|
+
* legitimately hold JSON-looking text. For an array param both the array itself and each element
|
|
103
|
+
* may arrive encoded.
|
|
104
|
+
*
|
|
105
|
+
* @param params The Action's params, as the tool was built from them
|
|
106
|
+
* @param args The call's arguments, as the provider returned them
|
|
107
|
+
* @returns A new argument object; `args` is not mutated
|
|
108
|
+
*/
|
|
109
|
+
export function coerceActionArguments(params, args) {
|
|
110
|
+
const coerced = { ...(args ?? {}) };
|
|
111
|
+
for (const param of params) {
|
|
112
|
+
if (param.ValueType !== 'Simple Object' || !(param.Name in coerced)) {
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
const value = decodeObjectValue(coerced[param.Name], param.IsArray);
|
|
116
|
+
coerced[param.Name] = param.IsArray && Array.isArray(value)
|
|
117
|
+
? value.map((item) => decodeObjectValue(item, false))
|
|
118
|
+
: value;
|
|
119
|
+
}
|
|
120
|
+
return coerced;
|
|
67
121
|
}
|
|
68
122
|
/**
|
|
69
123
|
* Folds the metadata that has nowhere structural to go into the property description.
|
|
@@ -192,7 +246,8 @@ export function buildActionToolSet(actions, paramsByActionId) {
|
|
|
192
246
|
const byToolName = new Map();
|
|
193
247
|
const tools = [];
|
|
194
248
|
for (const action of actions) {
|
|
195
|
-
const
|
|
249
|
+
const params = paramsByActionId.get(action.ID) ?? [];
|
|
250
|
+
const tool = buildToolFromAction(action, params);
|
|
196
251
|
const existing = byToolName.get(tool.name);
|
|
197
252
|
if (existing) {
|
|
198
253
|
throw new Error(`Action tool name collision: '${existing.action.Name}' and '${action.Name}' both sanitize to `
|
|
@@ -201,7 +256,7 @@ export function buildActionToolSet(actions, paramsByActionId) {
|
|
|
201
256
|
if (tool.name.length === 0) {
|
|
202
257
|
throw new Error(`Action '${action.Name}' sanitizes to an empty tool name — it must contain at least one alphanumeric character.`);
|
|
203
258
|
}
|
|
204
|
-
byToolName.set(tool.name, { kind: 'action', toolName: tool.name, action, tool });
|
|
259
|
+
byToolName.set(tool.name, { kind: 'action', toolName: tool.name, action, tool, params });
|
|
205
260
|
tools.push(tool);
|
|
206
261
|
}
|
|
207
262
|
return { tools, byToolName };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-tool-builder.js","sourceRoot":"","sources":["../../src/native-tools/action-tool-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"action-tool-builder.js","sourceRoot":"","sources":["../../src/native-tools/action-tool-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview Control-flow tools for the implicit protocol (spec §2.2, §4): one tool per
|
|
3
|
-
* sub-agent, `payload_change_request`, `ask_user`. Built beside the Action tools so the reverse map
|
|
3
|
+
* sub-agent, `payload_change_request`, `ask_user`, `complete_task`. Built beside the Action tools so the reverse map
|
|
4
4
|
* resolves every call the model can make.
|
|
5
5
|
*
|
|
6
6
|
* The agent declares these without knowing which model will answer. The prompt runner keeps them
|
|
@@ -13,6 +13,7 @@ import type { MJAIAgentEntityExtended } from '@memberjunction/ai-core-plus';
|
|
|
13
13
|
import { type ActionToolBinding, type ActionToolSet } from './action-tool-builder.js';
|
|
14
14
|
export declare const PAYLOAD_CHANGE_TOOL = "payload_change_request";
|
|
15
15
|
export declare const ASK_USER_TOOL = "ask_user";
|
|
16
|
+
export declare const COMPLETE_TASK_TOOL = "complete_task";
|
|
16
17
|
export declare const SUB_AGENT_TOOL_PREFIX = "delegate_to_";
|
|
17
18
|
/** The fixed control tools. Sub-agent tools are recognised by {@link SUB_AGENT_TOOL_PREFIX}. */
|
|
18
19
|
export declare const NATIVE_CONTROL_TOOL_NAMES: readonly string[];
|
|
@@ -30,6 +31,10 @@ export type NativeToolBinding = ActionToolBinding | {
|
|
|
30
31
|
kind: 'askUser';
|
|
31
32
|
toolName: string;
|
|
32
33
|
tool: ChatTool;
|
|
34
|
+
} | {
|
|
35
|
+
kind: 'complete';
|
|
36
|
+
toolName: string;
|
|
37
|
+
tool: ChatTool;
|
|
33
38
|
};
|
|
34
39
|
export interface NativeToolSet {
|
|
35
40
|
tools: ChatTool[];
|
|
@@ -42,6 +47,17 @@ export interface NativeToolSet {
|
|
|
42
47
|
export declare function buildPayloadChangeTool(): ChatTool;
|
|
43
48
|
/** `ask_user` — the one explicit control tool: the run pauses as `Chat` / `AwaitingFeedback` (spec §1). */
|
|
44
49
|
export declare function buildAskUserTool(): ChatTool;
|
|
50
|
+
/**
|
|
51
|
+
* `complete_task` — the terminal tool: apply the final payload write and finish, in ONE turn.
|
|
52
|
+
*
|
|
53
|
+
* Without it, implicit control flow finishes in two turns — `payload_change_request`, then a
|
|
54
|
+
* plain-text reply — where the envelope finishes in one (`taskComplete` + `payloadChangeRequest`).
|
|
55
|
+
* That costs an iteration on every run, and on the last permitted iteration there is no second
|
|
56
|
+
* turn at all. Agent frameworks that need a structured result end on a designated tool for the
|
|
57
|
+
* same reason (OpenAI Agents SDK `StopAtTools`, SWE-agent's `submit`). Plain text still ends the
|
|
58
|
+
* turn, for agents whose answer is prose.
|
|
59
|
+
*/
|
|
60
|
+
export declare function buildCompleteTaskTool(): ChatTool;
|
|
45
61
|
/** One tool per sub-agent: `delegate_to_<sanitized name>`, described by the agent's own description. */
|
|
46
62
|
export declare function buildSubAgentTool(agent: MJAIAgentEntityExtended): ChatTool;
|
|
47
63
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-tools.d.ts","sourceRoot":"","sources":["../../src/native-tools/control-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAiD,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAElI,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAC5D,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,qBAAqB,iBAAiB,CAAC;AACpD,gGAAgG;AAChG,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"control-tools.d.ts","sourceRoot":"","sources":["../../src/native-tools/control-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAiD,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAElI,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAC5D,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,qBAAqB,iBAAiB,CAAC;AACpD,gGAAgG;AAChG,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAA6D,CAAC;AAIrH,8FAA8F;AAC9F,MAAM,MAAM,iBAAiB,GACvB,iBAAiB,GACjB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,uBAAuB,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GACtF;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,uCAAuC;IACvC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3C,4FAA4F;IAC5F,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAID,kFAAkF;AAClF,wBAAgB,sBAAsB,IAAI,QAAQ,CAsBjD;AAED,2GAA2G;AAC3G,wBAAgB,gBAAgB,IAAI,QAAQ,CA8B3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,CA0BhD;AAED,wGAAwG;AACxG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,GAAG,QAAQ,CAc1E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,uBAAuB,EAAE,GAAG,aAAa,CA+BzH"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { sanitizeToolName, MAX_TOOL_DESCRIPTION_LENGTH } from './action-tool-builder.js';
|
|
2
2
|
export const PAYLOAD_CHANGE_TOOL = 'payload_change_request';
|
|
3
3
|
export const ASK_USER_TOOL = 'ask_user';
|
|
4
|
+
export const COMPLETE_TASK_TOOL = 'complete_task';
|
|
4
5
|
export const SUB_AGENT_TOOL_PREFIX = 'delegate_to_';
|
|
5
6
|
/** The fixed control tools. Sub-agent tools are recognised by {@link SUB_AGENT_TOOL_PREFIX}. */
|
|
6
|
-
export const NATIVE_CONTROL_TOOL_NAMES = [PAYLOAD_CHANGE_TOOL, ASK_USER_TOOL];
|
|
7
|
+
export const NATIVE_CONTROL_TOOL_NAMES = [PAYLOAD_CHANGE_TOOL, ASK_USER_TOOL, COMPLETE_TASK_TOOL];
|
|
7
8
|
/** Providers cap tool names at 64 characters. */
|
|
8
9
|
const MAX_TOOL_NAME_LENGTH = 64;
|
|
9
10
|
const clip = (text, max) => (text.length <= max ? text : `${text.slice(0, max - 1)}…`);
|
|
@@ -60,6 +61,42 @@ export function buildAskUserTool() {
|
|
|
60
61
|
}
|
|
61
62
|
};
|
|
62
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* `complete_task` — the terminal tool: apply the final payload write and finish, in ONE turn.
|
|
66
|
+
*
|
|
67
|
+
* Without it, implicit control flow finishes in two turns — `payload_change_request`, then a
|
|
68
|
+
* plain-text reply — where the envelope finishes in one (`taskComplete` + `payloadChangeRequest`).
|
|
69
|
+
* That costs an iteration on every run, and on the last permitted iteration there is no second
|
|
70
|
+
* turn at all. Agent frameworks that need a structured result end on a designated tool for the
|
|
71
|
+
* same reason (OpenAI Agents SDK `StopAtTools`, SWE-agent's `submit`). Plain text still ends the
|
|
72
|
+
* turn, for agents whose answer is prose.
|
|
73
|
+
*/
|
|
74
|
+
export function buildCompleteTaskTool() {
|
|
75
|
+
return {
|
|
76
|
+
name: COMPLETE_TASK_TOOL,
|
|
77
|
+
description: clip('Finish the task. Call this when your work is done and verified: put any final writes to the shared payload ' +
|
|
78
|
+
'in payloadChangeRequest and your answer for the user or calling agent in message. The change is applied ' +
|
|
79
|
+
'and the run ends — unless the result fails validation, in which case you receive the reason and continue. ' +
|
|
80
|
+
'Must be the only call on its turn.', MAX_TOOL_DESCRIPTION_LENGTH),
|
|
81
|
+
inputSchema: {
|
|
82
|
+
type: 'object',
|
|
83
|
+
properties: {
|
|
84
|
+
message: { type: 'string', description: 'Your final answer or a brief summary of what you did.' },
|
|
85
|
+
// A JSON STRING, not an object. complete_task is the call the framework forces on the
|
|
86
|
+
// final turn, and a forced call is schema-constrained: an object whose sections declare
|
|
87
|
+
// no properties can only decode as `{}`. Replaying 5 real final turns 10 times each on
|
|
88
|
+
// Gemini 3 Flash: object schema 0/50 kept the payload (every call `{"updateElements":{}}`),
|
|
89
|
+
// open objects 2/50, JSON string 50/50. The loop decodes the string.
|
|
90
|
+
payloadChangeRequest: {
|
|
91
|
+
type: 'string',
|
|
92
|
+
description: 'Optional. Final payload changes as a JSON object string, applied before the task completes: '
|
|
93
|
+
+ '{"newElements"?: {...}, "updateElements"?: {...}, "replaceElements"?: {...}, "removeElements"?: {...}} — same shape as payload_change_request.'
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
required: ['message']
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
}
|
|
63
100
|
/** One tool per sub-agent: `delegate_to_<sanitized name>`, described by the agent's own description. */
|
|
64
101
|
export function buildSubAgentTool(agent) {
|
|
65
102
|
const name = `${SUB_AGENT_TOOL_PREFIX}${sanitizeToolName(agent.Name)}`.slice(0, MAX_TOOL_NAME_LENGTH);
|
|
@@ -104,10 +141,12 @@ export function buildNativeToolSet(actionSet, subAgents) {
|
|
|
104
141
|
}
|
|
105
142
|
const payload = buildPayloadChangeTool();
|
|
106
143
|
const ask = buildAskUserTool();
|
|
144
|
+
const complete = buildCompleteTaskTool();
|
|
107
145
|
byToolName.set(payload.name, { kind: 'payloadChange', toolName: payload.name, tool: payload });
|
|
108
146
|
byToolName.set(ask.name, { kind: 'askUser', toolName: ask.name, tool: ask });
|
|
109
|
-
|
|
110
|
-
|
|
147
|
+
byToolName.set(complete.name, { kind: 'complete', toolName: complete.name, tool: complete });
|
|
148
|
+
tools.push(payload, ask, complete);
|
|
149
|
+
controlToolNames.push(payload.name, ask.name, complete.name);
|
|
111
150
|
return { tools, byToolName, controlToolNames };
|
|
112
151
|
}
|
|
113
152
|
//# sourceMappingURL=control-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-tools.js","sourceRoot":"","sources":["../../src/native-tools/control-tools.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAA8C,MAAM,uBAAuB,CAAC;AAElI,MAAM,CAAC,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AAC5D,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAC;AACpD,gGAAgG;AAChG,MAAM,CAAC,MAAM,yBAAyB,GAAsB,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"control-tools.js","sourceRoot":"","sources":["../../src/native-tools/control-tools.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAA8C,MAAM,uBAAuB,CAAC;AAElI,MAAM,CAAC,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AAC5D,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAC;AACpD,gGAAgG;AAChG,MAAM,CAAC,MAAM,yBAAyB,GAAsB,CAAC,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC;AACrH,iDAAiD;AACjD,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAkBhC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,GAAW,EAAU,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAE/G,kFAAkF;AAClF,MAAM,UAAU,sBAAsB;IAClC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,OAAO;QACH,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,IAAI,CACb,gHAAgH;YAChH,iHAAiH;YACjH,wHAAwH;YACxH,wHAAwH;YACxH,+EAA+E,EAAE,2BAA2B,CAAC;QACjH,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,WAAW,EAAE,OAAO,CAAC,yDAAyD,CAAC;gBAC/E,cAAc,EAAE,OAAO,CAAC,uDAAuD,CAAC;gBAChF,eAAe,EAAE,OAAO,CAAC,uCAAuC,CAAC;gBACjE,cAAc,EAAE,OAAO,CAAC,iCAAiC,CAAC;gBAC1D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;aACjF;YACD,QAAQ,EAAE,EAAE;SACf;KACJ,CAAC;AACN,CAAC;AAED,2GAA2G;AAC3G,MAAM,UAAU,gBAAgB;IAC5B,OAAO;QACH,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,IAAI,CACb,wGAAwG;YACxG,6GAA6G;YAC7G,0GAA0G;YAC1G,0GAA0G;YAC1G,yBAAyB,EAAE,2BAA2B,CAAC;QAC3D,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0DAA0D,EAAE;gBACpG,YAAY,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EACP,sGAAsG;wBACtG,6GAA6G;wBAC7G,oGAAoG;oBACxG,UAAU,EAAE;wBACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC/B,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;qBAC1D;iBACJ;aACJ;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACxB;KACJ,CAAC;AACN,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB;IACjC,OAAO;QACH,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,IAAI,CACb,6GAA6G;YAC7G,0GAA0G;YAC1G,4GAA4G;YAC5G,oCAAoC,EAAE,2BAA2B,CAAC;QACtE,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;gBACjG,sFAAsF;gBACtF,wFAAwF;gBACxF,uFAAuF;gBACvF,4FAA4F;gBAC5F,qEAAqE;gBACrE,oBAAoB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8FAA8F;0BACrG,gJAAgJ;iBACzJ;aACJ;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACxB;KACJ,CAAC;AACN,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,iBAAiB,CAAC,KAA8B;IAC5D,MAAM,IAAI,GAAG,GAAG,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACtG,OAAO;QACH,IAAI;QACJ,WAAW,EAAE,IAAI,CAAC,mBAAmB,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,2BAA2B,CAAC;QAC5H,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4FAA4F,EAAE;gBACtI,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,oGAAoG,EAAE;aACzJ;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACxB;KACJ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAwB,EAAE,SAA6C;IACtG,MAAM,UAAU,GAAG,IAAI,GAAG,CAA4B,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAe,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,KAAK,MAAM,QAAQ,IAAI,yBAAyB,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,MAAM,CAAC,IAAI,mBAAmB,QAAQ,8DAA8D,CAAC,CAAC;QAC3I,CAAC;IACL,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG;gBACzE,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,cAAc,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,GAAG,CAAC;YACrG,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,CAAC,IAAI,SAAS,KAAK,kBAAkB,IAAI,CAAC,IAAI,gBAAgB,CAAC,CAAC;QAC5H,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/F,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7E,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7F,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACnC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AACnD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ai-agents",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "6.1.
|
|
4
|
+
"version": "6.1.5",
|
|
5
5
|
"description": "MemberJunction: AI Agent Execution and Management",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -11,23 +11,23 @@
|
|
|
11
11
|
"author": "MemberJunction.com",
|
|
12
12
|
"license": "BUSL-1.1",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@memberjunction/actions": "6.1.
|
|
15
|
-
"@memberjunction/actions-base": "6.1.
|
|
16
|
-
"@memberjunction/ai": "6.1.
|
|
17
|
-
"@memberjunction/ai-core-plus": "6.1.
|
|
18
|
-
"@memberjunction/ai-engine-base": "6.1.
|
|
19
|
-
"@memberjunction/ai-prompts": "6.1.
|
|
20
|
-
"@memberjunction/ai-reranker": "6.1.
|
|
21
|
-
"@memberjunction/ai-vector-dupe": "6.1.
|
|
22
|
-
"@memberjunction/ai-vector-sync": "6.1.
|
|
23
|
-
"@memberjunction/aiengine": "6.1.
|
|
24
|
-
"@memberjunction/context-crush": "6.1.
|
|
25
|
-
"@memberjunction/core": "6.1.
|
|
26
|
-
"@memberjunction/core-entities": "6.1.
|
|
27
|
-
"@memberjunction/global": "6.1.
|
|
28
|
-
"@memberjunction/search-engine": "6.1.
|
|
29
|
-
"@memberjunction/storage": "6.1.
|
|
30
|
-
"@memberjunction/templates": "6.1.
|
|
14
|
+
"@memberjunction/actions": "6.1.5",
|
|
15
|
+
"@memberjunction/actions-base": "6.1.5",
|
|
16
|
+
"@memberjunction/ai": "6.1.5",
|
|
17
|
+
"@memberjunction/ai-core-plus": "6.1.5",
|
|
18
|
+
"@memberjunction/ai-engine-base": "6.1.5",
|
|
19
|
+
"@memberjunction/ai-prompts": "6.1.5",
|
|
20
|
+
"@memberjunction/ai-reranker": "6.1.5",
|
|
21
|
+
"@memberjunction/ai-vector-dupe": "6.1.5",
|
|
22
|
+
"@memberjunction/ai-vector-sync": "6.1.5",
|
|
23
|
+
"@memberjunction/aiengine": "6.1.5",
|
|
24
|
+
"@memberjunction/context-crush": "6.1.5",
|
|
25
|
+
"@memberjunction/core": "6.1.5",
|
|
26
|
+
"@memberjunction/core-entities": "6.1.5",
|
|
27
|
+
"@memberjunction/global": "6.1.5",
|
|
28
|
+
"@memberjunction/search-engine": "6.1.5",
|
|
29
|
+
"@memberjunction/storage": "6.1.5",
|
|
30
|
+
"@memberjunction/templates": "6.1.5",
|
|
31
31
|
"dotenv": "^17.2.4",
|
|
32
32
|
"exceljs": "^4.4.0",
|
|
33
33
|
"lodash": "^4.17.23",
|