@oni.bot/core 0.6.1 → 0.6.2
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.
|
@@ -2,6 +2,7 @@ import type { ONIMessage, MessageState } from "../graph.js";
|
|
|
2
2
|
import type { ONISkeleton, RetryPolicy } from "../types.js";
|
|
3
3
|
import type { ONICheckpointer } from "../types.js";
|
|
4
4
|
import { type ONITool } from "./tool-node.js";
|
|
5
|
+
import type { ONIModel } from "../models/types.js";
|
|
5
6
|
export interface ONILanguageModel {
|
|
6
7
|
invoke(messages: ONIMessage[], config?: {
|
|
7
8
|
tools?: LLMToolSchema[];
|
|
@@ -14,8 +15,8 @@ export interface LLMToolSchema {
|
|
|
14
15
|
parameters: Record<string, unknown>;
|
|
15
16
|
}
|
|
16
17
|
export interface CreateReactAgentOptions {
|
|
17
|
-
/** The LLM to use as the agent brain */
|
|
18
|
-
llm: ONILanguageModel;
|
|
18
|
+
/** The LLM to use as the agent brain (ONIModel or legacy ONILanguageModel) */
|
|
19
|
+
llm: ONIModel | ONILanguageModel;
|
|
19
20
|
/** Tools the agent can call */
|
|
20
21
|
tools?: ONITool[];
|
|
21
22
|
/** System prompt prepended to every invocation */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-agent.d.ts","sourceRoot":"","sources":["../../src/prebuilt/react-agent.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAe,YAAY,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAa,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAkC,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"react-agent.d.ts","sourceRoot":"","sources":["../../src/prebuilt/react-agent.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAe,YAAY,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAa,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAkC,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAOnD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CACJ,QAAQ,EAAE,UAAU,EAAE,EACtB,MAAM,CAAC,EAAG;QAAE,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC1D,OAAO,CAAC,UAAU,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAS,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAsDD,MAAM,WAAW,uBAAuB;IACtC,8EAA8E;IAC9E,GAAG,EAAe,QAAQ,GAAG,gBAAgB,CAAC;IAC9C,+BAA+B;IAC/B,KAAK,CAAC,EAAY,OAAO,EAAE,CAAC;IAC5B,kDAAkD;IAClD,YAAY,CAAC,EAAK,MAAM,CAAC;IACzB,sCAAsC;IACtC,UAAU,CAAC,EAAO,WAAW,CAAC;IAC9B,qCAAqC;IACrC,SAAS,CAAC,EAAQ,WAAW,CAAC;IAC9B,4CAA4C;IAC5C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAG,MAAM,EAAE,CAAC;IAC3B,mCAAmC;IACnC,YAAY,CAAC,EAAK,eAAe,CAAC,YAAY,CAAC,CAAC;CACjD;AAMD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,uBAAuB,GAC5B,WAAW,CAAC,YAAY,CAAC,CA2D3B;AAGD,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -12,11 +12,57 @@ import { StateGraph } from "../graph.js";
|
|
|
12
12
|
import { START, END } from "../types.js";
|
|
13
13
|
import { appendList } from "../types.js";
|
|
14
14
|
import { createToolNode, toolsCondition } from "./tool-node.js";
|
|
15
|
+
/** Detect if value is an ONIModel (has chat method, no invoke method) */
|
|
16
|
+
function isONIModel(obj) {
|
|
17
|
+
return (typeof obj === "object" &&
|
|
18
|
+
obj !== null &&
|
|
19
|
+
typeof obj.chat === "function" &&
|
|
20
|
+
typeof obj.provider === "string");
|
|
21
|
+
}
|
|
22
|
+
/** Adapt ONIModel to the ONILanguageModel interface used by createReactAgent */
|
|
23
|
+
function adaptModel(model) {
|
|
24
|
+
return {
|
|
25
|
+
async invoke(messages, config) {
|
|
26
|
+
const response = await model.chat({
|
|
27
|
+
messages: messages.map((m) => ({
|
|
28
|
+
role: m.role,
|
|
29
|
+
content: m.content,
|
|
30
|
+
toolCalls: m.tool_calls?.map((tc) => ({
|
|
31
|
+
id: tc.id,
|
|
32
|
+
name: tc.name,
|
|
33
|
+
args: tc.args,
|
|
34
|
+
})),
|
|
35
|
+
toolCallId: m.tool_call_id,
|
|
36
|
+
})),
|
|
37
|
+
tools: config?.tools?.map((t) => ({
|
|
38
|
+
name: t.name,
|
|
39
|
+
description: t.description,
|
|
40
|
+
parameters: t.parameters,
|
|
41
|
+
})),
|
|
42
|
+
signal: config?.signal,
|
|
43
|
+
});
|
|
44
|
+
const msg = {
|
|
45
|
+
role: "assistant",
|
|
46
|
+
content: response.content,
|
|
47
|
+
};
|
|
48
|
+
if (response.toolCalls?.length) {
|
|
49
|
+
msg.tool_calls = response.toolCalls.map((tc) => ({
|
|
50
|
+
id: tc.id,
|
|
51
|
+
name: tc.name,
|
|
52
|
+
args: tc.args,
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
return msg;
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
}
|
|
15
59
|
// ----------------------------------------------------------------
|
|
16
60
|
// Factory
|
|
17
61
|
// ----------------------------------------------------------------
|
|
18
62
|
export function createReactAgent(opts) {
|
|
19
|
-
const { llm, tools = [], systemPrompt, agentRetry, toolRetry, interruptBefore, interruptAfter, checkpointer, } = opts;
|
|
63
|
+
const { llm: rawLlm, tools = [], systemPrompt, agentRetry, toolRetry, interruptBefore, interruptAfter, checkpointer, } = opts;
|
|
64
|
+
// Auto-adapt ONIModel to the internal ONILanguageModel interface
|
|
65
|
+
const llm = isONIModel(rawLlm) ? adaptModel(rawLlm) : rawLlm;
|
|
20
66
|
const graph = new StateGraph({
|
|
21
67
|
channels: { messages: appendList(() => []) },
|
|
22
68
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-agent.js","sourceRoot":"","sources":["../../src/prebuilt/react-agent.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,4CAA4C;AAC5C,+DAA+D;AAC/D,yDAAyD;AACzD,iCAAiC;AACjC,EAAE;AACF,SAAS;AACT,kDAAkD;AAClD,8DAA8D;AAC9D,+DAA+D;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAgB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"react-agent.js","sourceRoot":"","sources":["../../src/prebuilt/react-agent.ts"],"names":[],"mappings":"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"}
|