@optima-chat/optima-agent 0.2.33 → 0.3.1
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/.claude/settings.local.json +43 -0
- package/README.md +74 -0
- package/dist/bin/optima.js +13 -1
- package/dist/bin/optima.js.map +1 -1
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +7 -0
- package/dist/src/agent.js.map +1 -1
- package/dist/src/server/index.d.ts.map +1 -1
- package/dist/src/server/index.js +61 -1
- package/dist/src/server/index.js.map +1 -1
- package/dist/src/server/types.d.ts +17 -1
- package/dist/src/server/types.d.ts.map +1 -1
- package/dist/src/types.d.ts +24 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/ui/App.d.ts +6 -0
- package/dist/src/ui/App.d.ts.map +1 -0
- package/dist/src/ui/App.js +164 -0
- package/dist/src/ui/App.js.map +1 -0
- package/dist/src/ui/components/Composer.d.ts +10 -0
- package/dist/src/ui/components/Composer.d.ts.map +1 -0
- package/dist/src/ui/components/Composer.js +13 -0
- package/dist/src/ui/components/Composer.js.map +1 -0
- package/dist/src/ui/components/Header.d.ts +7 -0
- package/dist/src/ui/components/Header.d.ts.map +1 -0
- package/dist/src/ui/components/Header.js +7 -0
- package/dist/src/ui/components/Header.js.map +1 -0
- package/dist/src/ui/components/Message.d.ts +12 -0
- package/dist/src/ui/components/Message.d.ts.map +1 -0
- package/dist/src/ui/components/Message.js +21 -0
- package/dist/src/ui/components/Message.js.map +1 -0
- package/dist/src/ui/components/MessageList.d.ts +9 -0
- package/dist/src/ui/components/MessageList.d.ts.map +1 -0
- package/dist/src/ui/components/MessageList.js +18 -0
- package/dist/src/ui/components/MessageList.js.map +1 -0
- package/dist/src/ui/components/Spinner.d.ts +6 -0
- package/dist/src/ui/components/Spinner.d.ts.map +1 -0
- package/dist/src/ui/components/Spinner.js +7 -0
- package/dist/src/ui/components/Spinner.js.map +1 -0
- package/dist/src/ui/components/StatusBar.d.ts +11 -0
- package/dist/src/ui/components/StatusBar.d.ts.map +1 -0
- package/dist/src/ui/components/StatusBar.js +7 -0
- package/dist/src/ui/components/StatusBar.js.map +1 -0
- package/dist/src/ui/components/index.d.ts +7 -0
- package/dist/src/ui/components/index.d.ts.map +1 -0
- package/dist/src/ui/components/index.js +7 -0
- package/dist/src/ui/components/index.js.map +1 -0
- package/dist/src/ui/conversation-manager.d.ts +2 -0
- package/dist/src/ui/conversation-manager.d.ts.map +1 -1
- package/dist/src/ui/conversation-manager.js +8 -0
- package/dist/src/ui/conversation-manager.js.map +1 -1
- package/dist/src/ui/headless-types.d.ts +21 -2
- package/dist/src/ui/headless-types.d.ts.map +1 -1
- package/dist/src/ui/headless.d.ts.map +1 -1
- package/dist/src/ui/headless.js +73 -1
- package/dist/src/ui/headless.js.map +1 -1
- package/dist/src/ui/stream.d.ts.map +1 -1
- package/dist/src/ui/stream.js +184 -2
- package/dist/src/ui/stream.js.map +1 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/src/version.js +6 -1
- package/dist/src/version.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface ComposerProps {
|
|
3
|
+
value: string;
|
|
4
|
+
onChange: (value: string) => void;
|
|
5
|
+
onSubmit: (value: string) => void;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const Composer: React.NamedExoticComponent<ComposerProps>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=Composer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/Composer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,QAAQ,2CA6BnB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo, useCallback } from "react";
|
|
3
|
+
import { Box, Text } from "ink";
|
|
4
|
+
import TextInput from "ink-text-input";
|
|
5
|
+
export const Composer = memo(function Composer({ value, onChange, onSubmit, disabled = false, }) {
|
|
6
|
+
const handleSubmit = useCallback((text) => {
|
|
7
|
+
if (text.trim()) {
|
|
8
|
+
onSubmit(text.trim());
|
|
9
|
+
}
|
|
10
|
+
}, [onSubmit]);
|
|
11
|
+
return (_jsxs(Box, { borderStyle: "single", borderColor: disabled ? "gray" : "green", paddingX: 1, children: [_jsxs(Text, { color: disabled ? "gray" : "green", bold: true, children: [">", " "] }), disabled ? (_jsx(Text, { color: "gray", children: "\u8BF7\u7B49\u5F85\u54CD\u5E94..." })) : (_jsx(TextInput, { value: value, onChange: onChange, onSubmit: handleSubmit, placeholder: "\u8F93\u5165\u6D88\u606F\u6216 /help \u83B7\u53D6\u5E2E\u52A9" }))] }));
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=Composer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Composer.js","sourceRoot":"","sources":["../../../../src/ui/components/Composer.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AASvC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,QAAQ,CAAC,EAC7C,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,GAAG,KAAK,GACF;IACd,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE;QAChD,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACL,MAAC,GAAG,IAAC,WAAW,EAAC,QAAQ,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,aAC7E,MAAC,IAAI,IAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,mBAC3C,GAAG,EAAE,GAAG,IACJ,EACN,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,kDAAgB,CACnC,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAC,+DAAkB,GAC9B,CACH,IACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAGpC,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,MAAM,yCAWjB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { memo } from "react";
|
|
3
|
+
import { Box, Text } from "ink";
|
|
4
|
+
export const Header = memo(function Header({ version }) {
|
|
5
|
+
return (_jsxs(Box, { borderStyle: "single", paddingX: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "Optima Agent" }), _jsxs(Text, { color: "gray", children: [" v", version] }), _jsx(Box, { flexGrow: 1 }), _jsx(Text, { color: "gray", children: "[Ctrl+C \u9000\u51FA]" })] }));
|
|
6
|
+
});
|
|
7
|
+
//# sourceMappingURL=Header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../../src/ui/components/Header.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAMhC,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,MAAM,CAAC,EAAE,OAAO,EAAe;IACjE,OAAO,CACL,MAAC,GAAG,IAAC,WAAW,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACnC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,6BAEhB,EACP,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,mBAAI,OAAO,IAAQ,EACrC,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,GAAI,EACpB,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,sCAAmB,IACjC,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface MessageItem {
|
|
3
|
+
role: "user" | "assistant" | "tool" | "error" | "system";
|
|
4
|
+
content: string;
|
|
5
|
+
toolName?: string;
|
|
6
|
+
}
|
|
7
|
+
interface MessageProps {
|
|
8
|
+
message: MessageItem;
|
|
9
|
+
}
|
|
10
|
+
export declare const Message: React.NamedExoticComponent<MessageProps>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=Message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/Message.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAGpC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,eAAO,MAAM,OAAO,0CAmDlB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo } from "react";
|
|
3
|
+
import { Box, Text } from "ink";
|
|
4
|
+
export const Message = memo(function Message({ message }) {
|
|
5
|
+
const { role, content, toolName } = message;
|
|
6
|
+
if (role === "user") {
|
|
7
|
+
return (_jsxs(Box, { marginY: 1, children: [_jsxs(Text, { color: "green", bold: true, children: [">", " "] }), _jsx(Text, { children: content })] }));
|
|
8
|
+
}
|
|
9
|
+
if (role === "tool") {
|
|
10
|
+
return (_jsxs(Box, { marginY: 1, borderStyle: "round", borderColor: "gray", paddingX: 1, flexDirection: "column", children: [_jsx(Text, { color: "yellow", children: toolName || "Tool" }), _jsx(Text, { color: "gray", children: content })] }));
|
|
11
|
+
}
|
|
12
|
+
if (role === "error") {
|
|
13
|
+
return (_jsx(Box, { marginY: 1, children: _jsxs(Text, { color: "red", children: ["\u9519\u8BEF: ", content] }) }));
|
|
14
|
+
}
|
|
15
|
+
if (role === "system") {
|
|
16
|
+
return (_jsx(Box, { marginY: 1, children: _jsx(Text, { color: "gray", italic: true, children: content }) }));
|
|
17
|
+
}
|
|
18
|
+
// assistant
|
|
19
|
+
return (_jsx(Box, { marginY: 1, children: _jsx(Text, { children: content }) }));
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=Message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../../src/ui/components/Message.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAYhC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,EAAE,OAAO,EAAgB;IACpE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAE5C,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,CACL,MAAC,GAAG,IAAC,OAAO,EAAE,CAAC,aACb,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,mBACrB,GAAG,EAAE,GAAG,IACJ,EACP,KAAC,IAAI,cAAE,OAAO,GAAQ,IAClB,CACP,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,CACL,MAAC,GAAG,IACF,OAAO,EAAE,CAAC,EACV,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,MAAM,EAClB,QAAQ,EAAE,CAAC,EACX,aAAa,EAAC,QAAQ,aAEtB,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,QAAQ,IAAI,MAAM,GAAQ,EAChD,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,OAAO,GAAQ,IAC/B,CACP,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,OAAO,CACL,KAAC,GAAG,IAAC,OAAO,EAAE,CAAC,YACb,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,+BAAM,OAAO,IAAQ,GAClC,CACP,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,CACL,KAAC,GAAG,IAAC,OAAO,EAAE,CAAC,YACb,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,kBAAE,OAAO,GAAQ,GACtC,CACP,CAAC;IACJ,CAAC;IAED,YAAY;IACZ,OAAO,CACL,KAAC,GAAG,IAAC,OAAO,EAAE,CAAC,YACb,KAAC,IAAI,cAAE,OAAO,GAAQ,GAClB,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { MessageItem } from "./Message.js";
|
|
3
|
+
interface MessageListProps {
|
|
4
|
+
messages: MessageItem[];
|
|
5
|
+
maxVisible?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare const MessageList: React.NamedExoticComponent<MessageListProps>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=MessageList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/MessageList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAW,WAAW,EAAE,MAAM,cAAc,CAAC;AAEpD,UAAU,gBAAgB;IACxB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,WAAW,8CA6BtB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo, useMemo } from "react";
|
|
3
|
+
import { Box, Text } from "ink";
|
|
4
|
+
import { Message } from "./Message.js";
|
|
5
|
+
export const MessageList = memo(function MessageList({ messages, maxVisible = 10 }) {
|
|
6
|
+
// 只显示最近的消息,避免内容超出屏幕导致闪烁
|
|
7
|
+
const { visibleMessages, hiddenCount } = useMemo(() => {
|
|
8
|
+
if (messages.length <= maxVisible) {
|
|
9
|
+
return { visibleMessages: messages, hiddenCount: 0 };
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
visibleMessages: messages.slice(-maxVisible),
|
|
13
|
+
hiddenCount: messages.length - maxVisible,
|
|
14
|
+
};
|
|
15
|
+
}, [messages, maxVisible]);
|
|
16
|
+
return (_jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [hiddenCount > 0 && (_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: "gray", italic: true, children: ["... ", hiddenCount, " \u6761\u5386\u53F2\u6D88\u606F\u5DF2\u9690\u85CF (\u4F7F\u7528 /clear \u6E05\u7A7A)"] }) })), visibleMessages.map((msg, index) => (_jsx(Message, { message: msg }, messages.length - maxVisible + index)))] }));
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=MessageList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../../../src/ui/components/MessageList.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,OAAO,EAAe,MAAM,cAAc,CAAC;AAOpD,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,WAAW,CAAC,EACnD,QAAQ,EACR,UAAU,GAAG,EAAE,EACE;IACjB,wBAAwB;IACxB,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;QACpD,IAAI,QAAQ,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;YAClC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACvD,CAAC;QACD,OAAO;YACL,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;YAC5C,WAAW,EAAE,QAAQ,CAAC,MAAM,GAAG,UAAU;SAC1C,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAE3B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACpC,WAAW,GAAG,CAAC,IAAI,CAClB,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YAClB,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,2BAClB,WAAW,4FACX,GACH,CACP,EACA,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CACnC,KAAC,OAAO,IAA4C,OAAO,EAAE,GAAG,IAAlD,QAAQ,CAAC,MAAM,GAAG,UAAU,GAAG,KAAK,CAAkB,CACrE,CAAC,IACE,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/Spinner.tsx"],"names":[],"mappings":"AAIA,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,OAAO,CAAC,EAAE,OAAkB,EAAE,EAAE,YAAY,2CAS3D"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
import InkSpinner from "ink-spinner";
|
|
4
|
+
export function Spinner({ message = "思考中..." }) {
|
|
5
|
+
return (_jsxs(Box, { children: [_jsx(Text, { color: "cyan", children: _jsx(InkSpinner, { type: "dots" }) }), _jsxs(Text, { color: "gray", children: [" ", message] })] }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=Spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spinner.js","sourceRoot":"","sources":["../../../../src/ui/components/Spinner.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,UAAU,MAAM,aAAa,CAAC;AAMrC,MAAM,UAAU,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAgB;IAC1D,OAAO,CACL,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAChB,KAAC,UAAU,IAAC,IAAI,EAAC,MAAM,GAAG,GACrB,EACP,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,kBAAG,OAAO,IAAQ,IAChC,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface StatusBarProps {
|
|
3
|
+
skills: string[];
|
|
4
|
+
tokens?: {
|
|
5
|
+
input: number;
|
|
6
|
+
output: number;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export declare const StatusBar: React.NamedExoticComponent<StatusBarProps>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=StatusBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/StatusBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAGpC,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,eAAO,MAAM,SAAS,4CAoBpB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { memo } from "react";
|
|
3
|
+
import { Box, Text } from "ink";
|
|
4
|
+
export const StatusBar = memo(function StatusBar({ skills, tokens }) {
|
|
5
|
+
return (_jsxs(Box, { paddingX: 1, justifyContent: "space-between", children: [_jsxs(Box, { children: [_jsx(Text, { color: "gray", children: "Skills: " }), skills.length > 0 ? (_jsx(Text, { color: "cyan", children: skills.join(", ") })) : (_jsx(Text, { color: "gray", children: "\u65E0" }))] }), tokens && (_jsx(Box, { children: _jsxs(Text, { color: "gray", children: ["Tokens: ", tokens.input.toLocaleString(), " in / ", tokens.output.toLocaleString(), " out"] }) }))] }));
|
|
6
|
+
});
|
|
7
|
+
//# sourceMappingURL=StatusBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../../../src/ui/components/StatusBar.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAOhC,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAkB;IACjF,OAAO,CACL,MAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAC,eAAe,aAC9C,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,yBAAgB,EACjC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACnB,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAQ,CAC9C,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uBAAS,CAC5B,IACG,EACL,MAAM,IAAI,CACT,KAAC,GAAG,cACF,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,yBACP,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,YAAQ,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,YACvE,GACH,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { Header } from "./Header.js";
|
|
2
|
+
export { Spinner } from "./Spinner.js";
|
|
3
|
+
export { Message, type MessageItem } from "./Message.js";
|
|
4
|
+
export { MessageList } from "./MessageList.js";
|
|
5
|
+
export { Composer } from "./Composer.js";
|
|
6
|
+
export { StatusBar } from "./StatusBar.js";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { Header } from "./Header.js";
|
|
2
|
+
export { Spinner } from "./Spinner.js";
|
|
3
|
+
export { Message } from "./Message.js";
|
|
4
|
+
export { MessageList } from "./MessageList.js";
|
|
5
|
+
export { Composer } from "./Composer.js";
|
|
6
|
+
export { StatusBar } from "./StatusBar.js";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAoB,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -7,9 +7,11 @@ export declare class ConversationManager {
|
|
|
7
7
|
private conversations;
|
|
8
8
|
private cwd?;
|
|
9
9
|
private model?;
|
|
10
|
+
private canUseTool?;
|
|
10
11
|
constructor(options?: {
|
|
11
12
|
cwd?: string;
|
|
12
13
|
model?: string;
|
|
14
|
+
canUseTool?: (toolName: string, input: any, conversationId: string) => Promise<any>;
|
|
13
15
|
});
|
|
14
16
|
/**
|
|
15
17
|
* 获取或创建 conversation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-manager.d.ts","sourceRoot":"","sources":["../../../src/ui/conversation-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"conversation-manager.d.ts","sourceRoot":"","sources":["../../../src/ui/conversation-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,aAAa,CAIN;IAEf,OAAO,CAAC,GAAG,CAAC,CAAS;IACrB,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,UAAU,CAAC,CAAyE;gBAEhF,OAAO,GAAE;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;KAChF;IAMN;;OAEG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG;QACnC,KAAK,EAAE,iBAAiB,CAAC;QACzB,KAAK,EAAE,WAAW,CAAC;QACnB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;KACzC;IA4BD;;OAEG;IACH,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAQvC;;OAEG;IACH,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAcnC;;OAEG;IACH,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI;IAOpF;;OAEG;IACH,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAQnC;;OAEG;IACH,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,IAAI;IAOlF;;OAEG;IACH,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IASnD;;;OAGG;IACH,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC;QAC3B,eAAe,EAAE,MAAM,CAAC;QACxB,qBAAqB,EAAE,MAAM,CAAC;QAC9B,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC,GAAG,IAAI;CA2BV"}
|
|
@@ -6,9 +6,11 @@ export class ConversationManager {
|
|
|
6
6
|
conversations = new Map();
|
|
7
7
|
cwd;
|
|
8
8
|
model;
|
|
9
|
+
canUseTool;
|
|
9
10
|
constructor(options = {}) {
|
|
10
11
|
this.cwd = options.cwd;
|
|
11
12
|
this.model = options.model;
|
|
13
|
+
this.canUseTool = options.canUseTool;
|
|
12
14
|
}
|
|
13
15
|
/**
|
|
14
16
|
* 获取或创建 conversation
|
|
@@ -18,6 +20,9 @@ export class ConversationManager {
|
|
|
18
20
|
const agent = new OptimaAgent({
|
|
19
21
|
cwd: this.cwd,
|
|
20
22
|
model: this.model,
|
|
23
|
+
canUseTool: this.canUseTool
|
|
24
|
+
? (toolName, input) => this.canUseTool(toolName, input, conversationId)
|
|
25
|
+
: undefined,
|
|
21
26
|
});
|
|
22
27
|
const state = {
|
|
23
28
|
conversation_id: conversationId,
|
|
@@ -107,6 +112,9 @@ export class ConversationManager {
|
|
|
107
112
|
cwd: this.cwd,
|
|
108
113
|
model: this.model,
|
|
109
114
|
resumeSessionId: conv.claude_sdk_session_id,
|
|
115
|
+
canUseTool: this.canUseTool
|
|
116
|
+
? (toolName, input) => this.canUseTool(toolName, input, conv.conversation_id)
|
|
117
|
+
: undefined,
|
|
110
118
|
});
|
|
111
119
|
const state = {
|
|
112
120
|
conversation_id: conv.conversation_id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-manager.js","sourceRoot":"","sources":["../../../src/ui/conversation-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"conversation-manager.js","sourceRoot":"","sources":["../../../src/ui/conversation-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACtB,aAAa,GAIhB,IAAI,GAAG,EAAE,CAAC;IAEP,GAAG,CAAU;IACb,KAAK,CAAU;IACf,UAAU,CAA0E;IAE5F,YAAY,UAIR,EAAE;QACJ,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,cAAsB;QAKhC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC;gBAC5B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;oBACzB,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC;oBACxE,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;YAEH,MAAM,KAAK,GAAsB;gBAC/B,eAAe,EAAE,cAAc;gBAC/B,UAAU,EAAE,IAAI,IAAI,EAAE;gBACtB,eAAe,EAAE,IAAI,IAAI,EAAE;gBAC3B,aAAa,EAAE,CAAC;aACjB,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,EAAE;gBACrC,KAAK;gBACL,KAAK;gBACL,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;IACjD,CAAC;IAGD;;OAEG;IACH,MAAM,CAAC,cAAsB;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAsB;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACxD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;gBAC7B,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YACnC,CAAC;YACD,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACvB,QAAQ,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,IAAI,EAAE,CAAC;YAC5C,QAAQ,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;YACjC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC;QAClC,CAAC;IACH,CAAC;IAGD;;OAEG;IACH,kBAAkB,CAAC,cAAsB,EAAE,UAAkC;QAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAsB;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,wBAAwB,CAAC,cAAsB,EAAE,kBAA0B;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,kBAAkB,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,cAAsB;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IAGD;;;OAGG;IACH,OAAO,CAAC,aAKN;QACA,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,sCAAsC;YACtC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC;gBAC5B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,eAAe,EAAE,IAAI,CAAC,qBAAqB;gBAC3C,UAAU,EAAE,IAAI,CAAC,UAAU;oBACzB,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC;oBAC9E,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;YAEH,MAAM,KAAK,GAAsB;gBAC/B,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;gBACjD,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gBACrC,eAAe,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;gBAC/C,aAAa,EAAE,CAAC;aACjB,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE;gBAC3C,KAAK;gBACL,KAAK;gBACL,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type InputMessage = InitInputMessage | MessageInputMessage | AbortInputMessage | ResetConversationInputMessage | DeleteConversationInputMessage | RestoreConversationsInputMessage;
|
|
1
|
+
export type InputMessage = InitInputMessage | MessageInputMessage | AbortInputMessage | AnswerQuestionInputMessage | ResetConversationInputMessage | DeleteConversationInputMessage | RestoreConversationsInputMessage;
|
|
2
2
|
export interface InitInputMessage {
|
|
3
3
|
type: "init";
|
|
4
4
|
sessionId: string;
|
|
@@ -15,6 +15,11 @@ export interface AbortInputMessage {
|
|
|
15
15
|
sessionId: string;
|
|
16
16
|
conversation_id: string;
|
|
17
17
|
}
|
|
18
|
+
export interface AnswerQuestionInputMessage {
|
|
19
|
+
type: "answer_question";
|
|
20
|
+
request_id: string;
|
|
21
|
+
answers: Record<string, string>;
|
|
22
|
+
}
|
|
18
23
|
export interface ResetConversationInputMessage {
|
|
19
24
|
type: "reset_conversation";
|
|
20
25
|
conversation_id: string;
|
|
@@ -32,7 +37,7 @@ export interface RestoreConversationsInputMessage {
|
|
|
32
37
|
last_message_at: string;
|
|
33
38
|
}>;
|
|
34
39
|
}
|
|
35
|
-
export type OutputEvent = InitEvent | ThinkingEvent | ContentEvent | TextDeltaEvent | ToolCallEvent | ToolResultEvent | FinishEvent | ErrorEvent | InfoEvent | ConversationUpdateEvent;
|
|
40
|
+
export type OutputEvent = InitEvent | ThinkingEvent | ContentEvent | TextDeltaEvent | ToolCallEvent | ToolResultEvent | AskQuestionEvent | FinishEvent | ErrorEvent | InfoEvent | ConversationUpdateEvent;
|
|
36
41
|
export interface InitEvent {
|
|
37
42
|
type: "init";
|
|
38
43
|
conversation_id?: string;
|
|
@@ -79,6 +84,20 @@ export interface ToolResultEvent {
|
|
|
79
84
|
error?: string;
|
|
80
85
|
};
|
|
81
86
|
}
|
|
87
|
+
export interface AskQuestionEvent {
|
|
88
|
+
type: "ask_question";
|
|
89
|
+
conversation_id?: string;
|
|
90
|
+
request_id: string;
|
|
91
|
+
questions: Array<{
|
|
92
|
+
question: string;
|
|
93
|
+
header: string;
|
|
94
|
+
options: Array<{
|
|
95
|
+
label: string;
|
|
96
|
+
description: string;
|
|
97
|
+
}>;
|
|
98
|
+
multiSelect: boolean;
|
|
99
|
+
}>;
|
|
100
|
+
}
|
|
82
101
|
export interface FinishEvent {
|
|
83
102
|
type: "finish";
|
|
84
103
|
conversation_id?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless-types.d.ts","sourceRoot":"","sources":["../../../src/ui/headless-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"headless-types.d.ts","sourceRoot":"","sources":["../../../src/ui/headless-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"AAcA;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,iBA0ZrF"}
|
package/dist/src/ui/headless.js
CHANGED
|
@@ -7,7 +7,61 @@ import { ConversationManager } from "./conversation-manager.js";
|
|
|
7
7
|
* 此函数会阻塞,持续监听 stdin,直到进程被终止
|
|
8
8
|
*/
|
|
9
9
|
export async function startHeadlessMode(options = {}) {
|
|
10
|
-
|
|
10
|
+
// 待处理的问题(用于 AskUserQuestion 工具)
|
|
11
|
+
// request_id -> { resolve, reject, timeout }
|
|
12
|
+
const pendingQuestions = new Map();
|
|
13
|
+
// 生成唯一的 request_id
|
|
14
|
+
let requestIdCounter = 0;
|
|
15
|
+
function generateRequestId() {
|
|
16
|
+
return `ask_question_${Date.now()}_${++requestIdCounter}`;
|
|
17
|
+
}
|
|
18
|
+
// canUseTool 回调:处理 AskUserQuestion 工具
|
|
19
|
+
const canUseTool = async (toolName, input, conversationId) => {
|
|
20
|
+
if (toolName === "AskUserQuestion") {
|
|
21
|
+
// 生成唯一 request_id
|
|
22
|
+
const requestId = generateRequestId();
|
|
23
|
+
// 发送 ask_question 事件
|
|
24
|
+
sendOutput({
|
|
25
|
+
type: "ask_question",
|
|
26
|
+
conversation_id: conversationId,
|
|
27
|
+
request_id: requestId,
|
|
28
|
+
questions: input.questions,
|
|
29
|
+
});
|
|
30
|
+
// 等待前端回复(60s 超时)
|
|
31
|
+
return new Promise((resolve, reject) => {
|
|
32
|
+
const timeout = setTimeout(() => {
|
|
33
|
+
pendingQuestions.delete(requestId);
|
|
34
|
+
reject(new Error("Question timeout (60s)"));
|
|
35
|
+
}, 60000);
|
|
36
|
+
pendingQuestions.set(requestId, {
|
|
37
|
+
resolve: (answers) => {
|
|
38
|
+
clearTimeout(timeout);
|
|
39
|
+
resolve({
|
|
40
|
+
behavior: "allow",
|
|
41
|
+
updatedInput: { questions: input.questions, answers },
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
reject: (error) => {
|
|
45
|
+
clearTimeout(timeout);
|
|
46
|
+
reject(error);
|
|
47
|
+
},
|
|
48
|
+
timeout,
|
|
49
|
+
});
|
|
50
|
+
}).catch((error) => {
|
|
51
|
+
// 超时或用户取消,返回 deny
|
|
52
|
+
return {
|
|
53
|
+
behavior: "deny",
|
|
54
|
+
message: error instanceof Error ? error.message : "Question cancelled",
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
// 其他工具直接放行
|
|
59
|
+
return { behavior: "allow", updatedInput: input };
|
|
60
|
+
};
|
|
61
|
+
const conversationManager = new ConversationManager({
|
|
62
|
+
...options,
|
|
63
|
+
canUseTool,
|
|
64
|
+
});
|
|
11
65
|
// 输出 JSON 消息到 stdout
|
|
12
66
|
function sendOutput(event) {
|
|
13
67
|
console.log(JSON.stringify(event));
|
|
@@ -144,6 +198,24 @@ export async function startHeadlessMode(options = {}) {
|
|
|
144
198
|
});
|
|
145
199
|
break;
|
|
146
200
|
}
|
|
201
|
+
case "answer_question": {
|
|
202
|
+
const answerInput = input;
|
|
203
|
+
const pending = pendingQuestions.get(answerInput.request_id);
|
|
204
|
+
if (pending) {
|
|
205
|
+
pendingQuestions.delete(answerInput.request_id);
|
|
206
|
+
pending.resolve(answerInput.answers);
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
sendOutput({
|
|
210
|
+
type: "error",
|
|
211
|
+
error: {
|
|
212
|
+
message: `Question request ${answerInput.request_id} not found or already answered`,
|
|
213
|
+
code: "REQUEST_NOT_FOUND",
|
|
214
|
+
},
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
147
219
|
}
|
|
148
220
|
}
|
|
149
221
|
// 处理用户消息
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless.js","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"headless.js","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/ui/stream.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/ui/stream.ts"],"names":[],"mappings":"AA0OA,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,QAumC3C"}
|