@ai-zen/cli 0.9.0 → 1.0.0-alpha.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/CHANGELOG.md +42 -1
- package/README.md +94 -40
- package/README.zh.md +94 -40
- package/dist/agent-creator.d.ts +7 -1
- package/dist/agent-creator.d.ts.map +1 -1
- package/dist/agent-creator.js +16 -1
- package/dist/agent-creator.js.map +1 -1
- package/dist/agents-store.d.ts +33 -0
- package/dist/agents-store.d.ts.map +1 -0
- package/dist/agents-store.js +50 -0
- package/dist/agents-store.js.map +1 -0
- package/dist/auto-migrate-confirm-plugin.d.ts +7 -7
- package/dist/auto-migrate-confirm-plugin.d.ts.map +1 -1
- package/dist/auto-migrate-confirm-plugin.js +3 -21
- package/dist/auto-migrate-confirm-plugin.js.map +1 -1
- package/dist/config-editor.d.ts +201 -0
- package/dist/config-editor.d.ts.map +1 -0
- package/dist/config-editor.js +511 -0
- package/dist/config-editor.js.map +1 -0
- package/dist/config.d.ts +41 -16
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +32 -29
- package/dist/config.js.map +1 -1
- package/dist/conversation-commands/registry.d.ts +4 -5
- package/dist/conversation-commands/registry.d.ts.map +1 -1
- package/dist/conversation-commands/registry.js +9 -6
- package/dist/conversation-commands/registry.js.map +1 -1
- package/dist/conversation-persist-plugin.d.ts +25 -0
- package/dist/conversation-persist-plugin.d.ts.map +1 -0
- package/dist/conversation-persist-plugin.js +44 -0
- package/dist/conversation-persist-plugin.js.map +1 -0
- package/dist/conversation-repository.d.ts +19 -2
- package/dist/conversation-repository.d.ts.map +1 -1
- package/dist/conversation-repository.js +48 -5
- package/dist/conversation-repository.js.map +1 -1
- package/dist/format-time.d.ts +2 -2
- package/dist/format-time.js +2 -2
- package/dist/hook.d.ts.map +1 -1
- package/dist/hook.js +58 -46
- package/dist/hook.js.map +1 -1
- package/dist/index.js +65 -36
- package/dist/index.js.map +1 -1
- package/dist/migration-service.d.ts +3 -1
- package/dist/migration-service.d.ts.map +1 -1
- package/dist/migration-service.js +26 -23
- package/dist/migration-service.js.map +1 -1
- package/dist/mode.d.ts +56 -0
- package/dist/mode.d.ts.map +1 -0
- package/dist/mode.js +83 -0
- package/dist/mode.js.map +1 -0
- package/dist/session-pointer.d.ts +22 -0
- package/dist/session-pointer.d.ts.map +1 -0
- package/dist/session-pointer.js +49 -0
- package/dist/session-pointer.js.map +1 -0
- package/dist/stdio-runner.d.ts +34 -0
- package/dist/stdio-runner.d.ts.map +1 -0
- package/dist/stdio-runner.js +161 -0
- package/dist/stdio-runner.js.map +1 -0
- package/dist/tui/chat-session.d.ts +100 -0
- package/dist/tui/chat-session.d.ts.map +1 -0
- package/dist/tui/chat-session.js +263 -0
- package/dist/tui/chat-session.js.map +1 -0
- package/dist/tui/components.d.ts +44 -0
- package/dist/tui/components.d.ts.map +1 -0
- package/dist/tui/components.js +62 -0
- package/dist/tui/components.js.map +1 -0
- package/dist/tui/config-wizard/detail.d.ts +51 -0
- package/dist/tui/config-wizard/detail.d.ts.map +1 -0
- package/dist/tui/config-wizard/detail.js +273 -0
- package/dist/tui/config-wizard/detail.js.map +1 -0
- package/dist/tui/config-wizard/engine.d.ts +36 -0
- package/dist/tui/config-wizard/engine.d.ts.map +1 -0
- package/dist/tui/config-wizard/engine.js +187 -0
- package/dist/tui/config-wizard/engine.js.map +1 -0
- package/dist/tui/config-wizard/fields.d.ts +24 -0
- package/dist/tui/config-wizard/fields.d.ts.map +1 -0
- package/dist/tui/config-wizard/fields.js +411 -0
- package/dist/tui/config-wizard/fields.js.map +1 -0
- package/dist/tui/config-wizard/frame.d.ts +27 -0
- package/dist/tui/config-wizard/frame.d.ts.map +1 -0
- package/dist/tui/config-wizard/frame.js +28 -0
- package/dist/tui/config-wizard/frame.js.map +1 -0
- package/dist/tui/config-wizard/index.d.ts +6 -0
- package/dist/tui/config-wizard/index.d.ts.map +1 -0
- package/dist/tui/config-wizard/index.js +7 -0
- package/dist/tui/config-wizard/index.js.map +1 -0
- package/dist/tui/config-wizard/kv-editor.d.ts +18 -0
- package/dist/tui/config-wizard/kv-editor.d.ts.map +1 -0
- package/dist/tui/config-wizard/kv-editor.js +116 -0
- package/dist/tui/config-wizard/kv-editor.js.map +1 -0
- package/dist/tui/config-wizard/list.d.ts +13 -0
- package/dist/tui/config-wizard/list.d.ts.map +1 -0
- package/dist/tui/config-wizard/list.js +29 -0
- package/dist/tui/config-wizard/list.js.map +1 -0
- package/dist/tui/config-wizard/mcp-helpers.d.ts +9 -0
- package/dist/tui/config-wizard/mcp-helpers.d.ts.map +1 -0
- package/dist/tui/config-wizard/mcp-helpers.js +19 -0
- package/dist/tui/config-wizard/mcp-helpers.js.map +1 -0
- package/dist/tui/config-wizard/menu.d.ts +18 -0
- package/dist/tui/config-wizard/menu.d.ts.map +1 -0
- package/dist/tui/config-wizard/menu.js +70 -0
- package/dist/tui/config-wizard/menu.js.map +1 -0
- package/dist/tui/config-wizard/prompt-editor.d.ts +24 -0
- package/dist/tui/config-wizard/prompt-editor.d.ts.map +1 -0
- package/dist/tui/config-wizard/prompt-editor.js +83 -0
- package/dist/tui/config-wizard/prompt-editor.js.map +1 -0
- package/dist/tui/config-wizard/prompt.d.ts +57 -0
- package/dist/tui/config-wizard/prompt.d.ts.map +1 -0
- package/dist/tui/config-wizard/prompt.js +130 -0
- package/dist/tui/config-wizard/prompt.js.map +1 -0
- package/dist/tui/config-wizard/step-agents.d.ts +4 -0
- package/dist/tui/config-wizard/step-agents.d.ts.map +1 -0
- package/dist/tui/config-wizard/step-agents.js +110 -0
- package/dist/tui/config-wizard/step-agents.js.map +1 -0
- package/dist/tui/config-wizard/step-defaults.d.ts +4 -0
- package/dist/tui/config-wizard/step-defaults.d.ts.map +1 -0
- package/dist/tui/config-wizard/step-defaults.js +76 -0
- package/dist/tui/config-wizard/step-defaults.js.map +1 -0
- package/dist/tui/config-wizard/step-endpoints.d.ts +4 -0
- package/dist/tui/config-wizard/step-endpoints.d.ts.map +1 -0
- package/dist/tui/config-wizard/step-endpoints.js +43 -0
- package/dist/tui/config-wizard/step-endpoints.js.map +1 -0
- package/dist/tui/config-wizard/step-mcp.d.ts +4 -0
- package/dist/tui/config-wizard/step-mcp.d.ts.map +1 -0
- package/dist/tui/config-wizard/step-mcp.js +97 -0
- package/dist/tui/config-wizard/step-mcp.js.map +1 -0
- package/dist/tui/config-wizard/step-menu.d.ts +4 -0
- package/dist/tui/config-wizard/step-menu.d.ts.map +1 -0
- package/dist/tui/config-wizard/step-menu.js +28 -0
- package/dist/tui/config-wizard/step-menu.js.map +1 -0
- package/dist/tui/config-wizard/step-models.d.ts +4 -0
- package/dist/tui/config-wizard/step-models.d.ts.map +1 -0
- package/dist/tui/config-wizard/step-models.js +114 -0
- package/dist/tui/config-wizard/step-models.js.map +1 -0
- package/dist/tui/config-wizard/step-new-endpoint.d.ts +4 -0
- package/dist/tui/config-wizard/step-new-endpoint.d.ts.map +1 -0
- package/dist/tui/config-wizard/step-new-endpoint.js +54 -0
- package/dist/tui/config-wizard/step-new-endpoint.js.map +1 -0
- package/dist/tui/config-wizard/step-simple.d.ts +4 -0
- package/dist/tui/config-wizard/step-simple.d.ts.map +1 -0
- package/dist/tui/config-wizard/step-simple.js +55 -0
- package/dist/tui/config-wizard/step-simple.js.map +1 -0
- package/dist/tui/config-wizard/types.d.ts +138 -0
- package/dist/tui/config-wizard/types.d.ts.map +1 -0
- package/dist/tui/config-wizard/types.js +12 -0
- package/dist/tui/config-wizard/types.js.map +1 -0
- package/dist/tui/config-wizard/wizard.d.ts +9 -0
- package/dist/tui/config-wizard/wizard.d.ts.map +1 -0
- package/dist/tui/config-wizard/wizard.js +33 -0
- package/dist/tui/config-wizard/wizard.js.map +1 -0
- package/dist/tui/highlight.d.ts +34 -0
- package/dist/tui/highlight.d.ts.map +1 -0
- package/dist/tui/highlight.js +116 -0
- package/dist/tui/highlight.js.map +1 -0
- package/dist/tui/index.d.ts +33 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +265 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/screens/chat-commands.d.ts +27 -0
- package/dist/tui/screens/chat-commands.d.ts.map +1 -0
- package/dist/tui/screens/chat-commands.js +176 -0
- package/dist/tui/screens/chat-commands.js.map +1 -0
- package/dist/tui/screens/chat.d.ts +25 -0
- package/dist/tui/screens/chat.d.ts.map +1 -0
- package/dist/tui/screens/chat.js +494 -0
- package/dist/tui/screens/chat.js.map +1 -0
- package/dist/tui/screens/index.d.ts +13 -0
- package/dist/tui/screens/index.d.ts.map +1 -0
- package/dist/tui/screens/index.js +14 -0
- package/dist/tui/screens/index.js.map +1 -0
- package/dist/tui/screens/input.d.ts +29 -0
- package/dist/tui/screens/input.d.ts.map +1 -0
- package/dist/tui/screens/input.js +54 -0
- package/dist/tui/screens/input.js.map +1 -0
- package/dist/tui/screens/layout.d.ts +42 -0
- package/dist/tui/screens/layout.d.ts.map +1 -0
- package/dist/tui/screens/layout.js +45 -0
- package/dist/tui/screens/layout.js.map +1 -0
- package/dist/tui/screens/lines.d.ts +71 -0
- package/dist/tui/screens/lines.d.ts.map +1 -0
- package/dist/tui/screens/lines.js +198 -0
- package/dist/tui/screens/lines.js.map +1 -0
- package/dist/tui/screens/overlays.d.ts +12 -0
- package/dist/tui/screens/overlays.d.ts.map +1 -0
- package/dist/tui/screens/overlays.js +34 -0
- package/dist/tui/screens/overlays.js.map +1 -0
- package/dist/tui/screens/render.d.ts +9 -0
- package/dist/tui/screens/render.d.ts.map +1 -0
- package/dist/tui/screens/render.js +97 -0
- package/dist/tui/screens/render.js.map +1 -0
- package/dist/tui/screens/splash.d.ts +5 -0
- package/dist/tui/screens/splash.d.ts.map +1 -0
- package/dist/tui/screens/splash.js +51 -0
- package/dist/tui/screens/splash.js.map +1 -0
- package/dist/tui/screens/state.d.ts +13 -0
- package/dist/tui/screens/state.d.ts.map +1 -0
- package/dist/tui/screens/state.js +75 -0
- package/dist/tui/screens/state.js.map +1 -0
- package/dist/tui/text.d.ts +71 -0
- package/dist/tui/text.d.ts.map +1 -0
- package/dist/tui/text.js +191 -0
- package/dist/tui/text.js.map +1 -0
- package/dist/tui/theme.d.ts +62 -0
- package/dist/tui/theme.d.ts.map +1 -0
- package/dist/tui/theme.js +120 -0
- package/dist/tui/theme.js.map +1 -0
- package/dist/types.d.ts +1 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/package.json +11 -6
- package/dist/config-wizard.d.ts +0 -6
- package/dist/config-wizard.d.ts.map +0 -1
- package/dist/config-wizard.js +0 -46
- package/dist/config-wizard.js.map +0 -1
- package/dist/conversation-commands/back.d.ts +0 -3
- package/dist/conversation-commands/back.d.ts.map +0 -1
- package/dist/conversation-commands/back.js +0 -144
- package/dist/conversation-commands/back.js.map +0 -1
- package/dist/conversation-commands/clear.d.ts +0 -3
- package/dist/conversation-commands/clear.d.ts.map +0 -1
- package/dist/conversation-commands/clear.js +0 -8
- package/dist/conversation-commands/clear.js.map +0 -1
- package/dist/conversation-commands/editor.d.ts +0 -3
- package/dist/conversation-commands/editor.d.ts.map +0 -1
- package/dist/conversation-commands/editor.js +0 -15
- package/dist/conversation-commands/editor.js.map +0 -1
- package/dist/conversation-commands/exit.d.ts +0 -3
- package/dist/conversation-commands/exit.d.ts.map +0 -1
- package/dist/conversation-commands/exit.js +0 -37
- package/dist/conversation-commands/exit.js.map +0 -1
- package/dist/conversation-commands/help.d.ts +0 -3
- package/dist/conversation-commands/help.d.ts.map +0 -1
- package/dist/conversation-commands/help.js +0 -10
- package/dist/conversation-commands/help.js.map +0 -1
- package/dist/conversation-commands/index.d.ts +0 -13
- package/dist/conversation-commands/index.d.ts.map +0 -1
- package/dist/conversation-commands/index.js +0 -66
- package/dist/conversation-commands/index.js.map +0 -1
- package/dist/conversation-commands/migrate.d.ts +0 -12
- package/dist/conversation-commands/migrate.d.ts.map +0 -1
- package/dist/conversation-commands/migrate.js +0 -56
- package/dist/conversation-commands/migrate.js.map +0 -1
- package/dist/conversation-commands/new.d.ts +0 -3
- package/dist/conversation-commands/new.d.ts.map +0 -1
- package/dist/conversation-commands/new.js +0 -45
- package/dist/conversation-commands/new.js.map +0 -1
- package/dist/conversation-commands/save.d.ts +0 -3
- package/dist/conversation-commands/save.d.ts.map +0 -1
- package/dist/conversation-commands/save.js +0 -32
- package/dist/conversation-commands/save.js.map +0 -1
- package/dist/conversation-runner.d.ts +0 -17
- package/dist/conversation-runner.d.ts.map +0 -1
- package/dist/conversation-runner.js +0 -176
- package/dist/conversation-runner.js.map +0 -1
- package/dist/delta-renderer.d.ts +0 -33
- package/dist/delta-renderer.d.ts.map +0 -1
- package/dist/delta-renderer.js +0 -120
- package/dist/delta-renderer.js.map +0 -1
- package/dist/draft-plugin.d.ts +0 -19
- package/dist/draft-plugin.d.ts.map +0 -1
- package/dist/draft-plugin.js +0 -30
- package/dist/draft-plugin.js.map +0 -1
- package/dist/draft-repository.d.ts +0 -34
- package/dist/draft-repository.d.ts.map +0 -1
- package/dist/draft-repository.js +0 -64
- package/dist/draft-repository.js.map +0 -1
- package/dist/menus/agents.d.ts +0 -5
- package/dist/menus/agents.d.ts.map +0 -1
- package/dist/menus/agents.js +0 -219
- package/dist/menus/agents.js.map +0 -1
- package/dist/menus/common.d.ts +0 -41
- package/dist/menus/common.d.ts.map +0 -1
- package/dist/menus/common.js +0 -104
- package/dist/menus/common.js.map +0 -1
- package/dist/menus/config-display.d.ts +0 -2
- package/dist/menus/config-display.d.ts.map +0 -1
- package/dist/menus/config-display.js +0 -82
- package/dist/menus/config-display.js.map +0 -1
- package/dist/menus/config.d.ts +0 -8
- package/dist/menus/config.d.ts.map +0 -1
- package/dist/menus/config.js +0 -407
- package/dist/menus/config.js.map +0 -1
- package/dist/menus/conversations.d.ts +0 -20
- package/dist/menus/conversations.d.ts.map +0 -1
- package/dist/menus/conversations.js +0 -83
- package/dist/menus/conversations.js.map +0 -1
- package/dist/menus/index.d.ts +0 -5
- package/dist/menus/index.d.ts.map +0 -1
- package/dist/menus/index.js +0 -59
- package/dist/menus/index.js.map +0 -1
- package/dist/menus/start-conversation.d.ts +0 -16
- package/dist/menus/start-conversation.d.ts.map +0 -1
- package/dist/menus/start-conversation.js +0 -176
- package/dist/menus/start-conversation.js.map +0 -1
- package/dist/slash-hint-prompt.d.ts +0 -41
- package/dist/slash-hint-prompt.d.ts.map +0 -1
- package/dist/slash-hint-prompt.js +0 -92
- package/dist/slash-hint-prompt.js.map +0 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent / Sub-agent 定义仓储 —— CLI 层
|
|
3
|
+
*
|
|
4
|
+
* 管理两处定义目录(均为「每实体一个 JSON,文件名 = `<id>.json`」):
|
|
5
|
+
* - 顶层 Agent:`~/.ai-zen/agents/*.json`(`/config`「默认 Agent」可选的那些)
|
|
6
|
+
* - 子 Agent: `~/.ai-zen/sub-agents/*.json`(可被委派,额外带 `function` 定义)
|
|
7
|
+
*
|
|
8
|
+
* 单文件读写委托 SDK 的 `AgentRepository`(`EntityRepository`),本模块只做「按 kind 分派」
|
|
9
|
+
* 与「快照 + 写操作」的组装,便于 TUI 与单测共用。
|
|
10
|
+
*/
|
|
11
|
+
import { AgentRepository } from "@ai-zen/agents-sdk";
|
|
12
|
+
import { AGENTS_DIR, SUB_AGENTS_DIR } from "./config.js";
|
|
13
|
+
/** 某个 kind 对应的定义目录 */
|
|
14
|
+
export function agentDir(kind) {
|
|
15
|
+
return kind === "agent" ? AGENTS_DIR : SUB_AGENTS_DIR;
|
|
16
|
+
}
|
|
17
|
+
/** kind 的中文名 */
|
|
18
|
+
export function agentKindLabel(kind) {
|
|
19
|
+
return kind === "agent" ? "Agent" : "Sub-agent";
|
|
20
|
+
}
|
|
21
|
+
/** 取某 kind 的定义列表 */
|
|
22
|
+
export function agentList(store, kind) {
|
|
23
|
+
return kind === "agent" ? store.agents : store.subAgents;
|
|
24
|
+
}
|
|
25
|
+
/** 按 id 查找某 kind 的定义 */
|
|
26
|
+
export function findAgentDefinition(store, kind, id) {
|
|
27
|
+
if (!id)
|
|
28
|
+
return undefined;
|
|
29
|
+
return agentList(store, kind).find((def) => def.id === id);
|
|
30
|
+
}
|
|
31
|
+
/** 用给定快照 + 真实文件读写构造仓储 */
|
|
32
|
+
export function createAgentStore(agents, subAgents) {
|
|
33
|
+
return {
|
|
34
|
+
agents,
|
|
35
|
+
subAgents,
|
|
36
|
+
save: async (kind, def) => {
|
|
37
|
+
await new AgentRepository(agentDir(kind)).write(def);
|
|
38
|
+
},
|
|
39
|
+
remove: async (kind, id) => {
|
|
40
|
+
await new AgentRepository(agentDir(kind)).delete(id);
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/** 从磁盘读取 Agent / Sub-agent 快照,并附带真实读写能力 */
|
|
45
|
+
export async function readAgentStore() {
|
|
46
|
+
const agents = await new AgentRepository(AGENTS_DIR).list();
|
|
47
|
+
const subAgents = await new AgentRepository(SUB_AGENTS_DIR).list();
|
|
48
|
+
return createAgentStore(agents, subAgents);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=agents-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents-store.js","sourceRoot":"","sources":["../src/agents-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKzD,sBAAsB;AACtB,MAAM,UAAU,QAAQ,CAAC,IAAe;IACtC,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC;AACxD,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,cAAc,CAAC,IAAe;IAC5C,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;AAClD,CAAC;AAUD,oBAAoB;AACpB,MAAM,UAAU,SAAS,CAAC,KAAiB,EAAE,IAAe;IAC1D,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,mBAAmB,CACjC,KAAiB,EACjB,IAAe,EACf,EAAsB;IAEtB,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAC1B,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,gBAAgB,CAAC,MAAyB,EAAE,SAA4B;IACtF,OAAO;QACL,MAAM;QACN,SAAS;QACT,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YACxB,MAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;YACzB,MAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,2CAA2C;AAC3C,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,MAAM,GAAG,MAAM,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,MAAM,SAAS,GAAG,MAAM,IAAI,eAAe,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;IACnE,OAAO,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -34,16 +34,16 @@ export interface AutoMigrateConfirmOptions {
|
|
|
34
34
|
maxTokens: number;
|
|
35
35
|
/** 是否需要向用户确认;默认「stdin 与 stdout 均为 TTY」。可注入,便于单测 */
|
|
36
36
|
shouldConfirm?: () => boolean;
|
|
37
|
-
/**
|
|
38
|
-
|
|
37
|
+
/**
|
|
38
|
+
* 确认实现,由调用方注入(例如 TUI 的 Ink 确认框)。本模块不再内置任何交互 UI;
|
|
39
|
+
* 仅当 `shouldConfirm()` 为真时才会被调用。
|
|
40
|
+
*/
|
|
41
|
+
confirm: (info: AutoMigrateTriggerInfo) => Promise<boolean>;
|
|
42
|
+
/** 输出信息(如「已跳过本次迁移」);由调用方注入(TUI 走 Ink notice),默认丢弃 */
|
|
43
|
+
log?: (text: string) => void;
|
|
39
44
|
}
|
|
40
45
|
/** 默认交互判定:仅当 stdin 与 stdout 均为 TTY 时才具备确认通道 */
|
|
41
46
|
export declare function canPromptUser(): boolean;
|
|
42
|
-
/**
|
|
43
|
-
* 默认确认实现:inquirer 确认框。
|
|
44
|
-
* 默认「是」——回车即迁移,保持自动迁移的既有默认行为不被阻塞。
|
|
45
|
-
*/
|
|
46
|
-
export declare function confirmAutoMigrate(info: AutoMigrateTriggerInfo): Promise<boolean>;
|
|
47
47
|
/**
|
|
48
48
|
* 自动迁移二次确认插件。
|
|
49
49
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-migrate-confirm-plugin.d.ts","sourceRoot":"","sources":["../src/auto-migrate-confirm-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
1
|
+
{"version":3,"file":"auto-migrate-confirm-plugin.d.ts","sourceRoot":"","sources":["../src/auto-migrate-confirm-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,oCAAoC;AACpC,MAAM,WAAW,sBAAsB;IACrC,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,oCAAoC;IACpC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;IAC9B;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,qDAAqD;IACrD,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,+CAA+C;AAC/C,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;;;GAKG;AACH,qBAAa,wBAAyB,SAAQ,iBAAiB;IAC7D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;gBAE/C,OAAO,EAAE,yBAAyB;IAKxC,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CA2BnD"}
|
|
@@ -18,29 +18,11 @@
|
|
|
18
18
|
* - 用户拒绝时仅跳过**本次**迁移,不记录任何隐式状态:只要仍处于超限状态,下次发送后
|
|
19
19
|
* 会再次询问;跳过不影响当前对话(历史未被剔除,语义与迁移前一致)。
|
|
20
20
|
*/
|
|
21
|
-
import chalk from "chalk";
|
|
22
|
-
import inquirer from "inquirer";
|
|
23
21
|
import { AutoMigratePlugin } from "@ai-zen/agents-sdk";
|
|
24
22
|
/** 默认交互判定:仅当 stdin 与 stdout 均为 TTY 时才具备确认通道 */
|
|
25
23
|
export function canPromptUser() {
|
|
26
24
|
return Boolean(process.stdin.isTTY && process.stdout.isTTY);
|
|
27
25
|
}
|
|
28
|
-
/**
|
|
29
|
-
* 默认确认实现:inquirer 确认框。
|
|
30
|
-
* 默认「是」——回车即迁移,保持自动迁移的既有默认行为不被阻塞。
|
|
31
|
-
*/
|
|
32
|
-
export async function confirmAutoMigrate(info) {
|
|
33
|
-
const { confirmed } = await inquirer.prompt([
|
|
34
|
-
{
|
|
35
|
-
type: "confirm",
|
|
36
|
-
name: "confirmed",
|
|
37
|
-
message: `检测到上下文即将超限(${info.promptTokens}/${info.maxTokens} tokens),是否立即执行任务迁移?\n` +
|
|
38
|
-
"迁移将:生成交接文档 → 保存当前对话 → 开启新会话继续。",
|
|
39
|
-
default: true,
|
|
40
|
-
},
|
|
41
|
-
]);
|
|
42
|
-
return Boolean(confirmed);
|
|
43
|
-
}
|
|
44
26
|
/**
|
|
45
27
|
* 自动迁移二次确认插件。
|
|
46
28
|
*
|
|
@@ -54,7 +36,7 @@ export class AutoMigrateConfirmPlugin extends AutoMigratePlugin {
|
|
|
54
36
|
this.confirmOptions = options;
|
|
55
37
|
}
|
|
56
38
|
async onAfterSend(ctx) {
|
|
57
|
-
const { maxTokens, shouldConfirm = canPromptUser, confirm =
|
|
39
|
+
const { maxTokens, shouldConfirm = canPromptUser, confirm, log = () => { } } = this.confirmOptions;
|
|
58
40
|
const promptTokens = ctx.agent.lastUsage?.prompt_tokens;
|
|
59
41
|
// 未超阈值(或无用量信息):无需询问,交由基类按原语义处理
|
|
60
42
|
if (promptTokens == null || promptTokens <= maxTokens) {
|
|
@@ -68,8 +50,8 @@ export class AutoMigrateConfirmPlugin extends AutoMigratePlugin {
|
|
|
68
50
|
}
|
|
69
51
|
const confirmed = await confirm({ promptTokens, maxTokens });
|
|
70
52
|
if (!confirmed) {
|
|
71
|
-
|
|
72
|
-
|
|
53
|
+
log("⏭️ 已跳过本次任务迁移,继续当前对话。");
|
|
54
|
+
log("💡 上下文仍接近上限:可随时输入 /migrate 手动迁移;若继续增长至严重超限,对话会被安全护栏中断。");
|
|
73
55
|
return;
|
|
74
56
|
}
|
|
75
57
|
// 用户已确认:交由基类完成「触发 + 委托共享迁移服务」的原逻辑
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-migrate-confirm-plugin.js","sourceRoot":"","sources":["../src/auto-migrate-confirm-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"auto-migrate-confirm-plugin.js","sourceRoot":"","sources":["../src/auto-migrate-confirm-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AA2BvD,+CAA+C;AAC/C,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,wBAAyB,SAAQ,iBAAiB;IAC5C,cAAc,CAA4B;IAE3D,YAAY,OAAkC;QAC5C,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAgB;QAChC,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,aAAa,EAAE,OAAO,EAAE,GAAG,GAAG,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAElG,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC;QAExD,+BAA+B;QAC/B,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;YACtD,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACrB,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAC5B,GAAG,CAAC,wDAAwD,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,kCAAkC;QAClC,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 配置编辑 —— 纯函数层
|
|
3
|
+
*
|
|
4
|
+
* TUI 的「凭据设置屏」与「配置中心」只做渲染与键盘分发,所有对 `AppConfig` 的
|
|
5
|
+
* 读取与不可变改写集中在本模块,以便脱离 Ink 单测。
|
|
6
|
+
*
|
|
7
|
+
* 设计原则:
|
|
8
|
+
* - 每个改写函数都返回**新对象**,调用方负责持久化(`saveConfig()`);
|
|
9
|
+
* - 不抛异常、不写盘、不读盘,纯输入 → 输出。
|
|
10
|
+
*/
|
|
11
|
+
import type { AgentDefinition, AgentPermissions, AppConfig, Endpoint, ImageModel, Model, PermissionPolicy } from "@ai-zen/agents-sdk";
|
|
12
|
+
import type { AgentNS } from "@ai-zen/agents-core";
|
|
13
|
+
import type { McpConfig, McpServerEntry } from "./config.js";
|
|
14
|
+
/** 按 id 查找模型 */
|
|
15
|
+
export declare function findModel(config: AppConfig, modelId: string | undefined): Model | undefined;
|
|
16
|
+
/** 按 id 查找端点 */
|
|
17
|
+
export declare function findEndpoint(config: AppConfig, endpointId: string | undefined): Endpoint | undefined;
|
|
18
|
+
/** 引用某端点的模型清单(用于提示改动波及范围) */
|
|
19
|
+
export declare function modelsUsingEndpoint(config: AppConfig, endpointId: string): Model[];
|
|
20
|
+
/** API Key 是否已设置(空白视为未设置) */
|
|
21
|
+
export declare function isApiKeySet(apiKey: string | undefined): boolean;
|
|
22
|
+
/** 一次「凭据检查」的结果:某模型绑定的端点及其密钥状态 */
|
|
23
|
+
export interface CredentialInfo {
|
|
24
|
+
modelId: string;
|
|
25
|
+
modelName: string;
|
|
26
|
+
endpointId: string;
|
|
27
|
+
endpointName: string;
|
|
28
|
+
baseUrl: string;
|
|
29
|
+
apiKey: string;
|
|
30
|
+
/** 密钥是否已设置 */
|
|
31
|
+
configured: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 解析某模型对应的端点凭据。
|
|
35
|
+
*
|
|
36
|
+
* 模型缺失或端点缺失时返回 `undefined`(此时无法给出「输入 Key」的引导,
|
|
37
|
+
* 属于配置本身残缺,交由调用方报错)。
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveCredential(config: AppConfig, modelId: string | undefined): CredentialInfo | undefined;
|
|
40
|
+
/** 端点清单的一行摘要,如 `OpenAI ✗ · DeepSeek ✓` */
|
|
41
|
+
export declare function summarizeEndpoints(config: AppConfig): string;
|
|
42
|
+
/**
|
|
43
|
+
* 密钥掩码:保留首 4 / 末 4 位,中间省略。未设置时返回 `未设置`。
|
|
44
|
+
* 已知密钥(如 `sk-` 开头)同样按此规则裁剪,避免整串回显到屏幕。
|
|
45
|
+
*/
|
|
46
|
+
export declare function maskApiKey(apiKey: string | undefined): string;
|
|
47
|
+
/** 凭据申请指引:按 baseUrl 识别厂商 */
|
|
48
|
+
export interface ApiKeyGuide {
|
|
49
|
+
vendor: string;
|
|
50
|
+
/** 申请页面(未识别厂商时为 undefined,只给通用提示) */
|
|
51
|
+
url?: string;
|
|
52
|
+
}
|
|
53
|
+
export declare function apiKeyGuide(baseUrl: string | undefined): ApiKeyGuide;
|
|
54
|
+
/** 写入某端点的 API Key(去除首尾空白) */
|
|
55
|
+
export declare function setEndpointApiKey(config: AppConfig, endpointId: string, apiKey: string): AppConfig;
|
|
56
|
+
/** 写入某端点的 Base URL(去除首尾空白) */
|
|
57
|
+
export declare function setEndpointBaseUrl(config: AppConfig, endpointId: string, baseUrl: string): AppConfig;
|
|
58
|
+
/** 设置默认模型(传 `undefined` 表示清空,交由 SDK 回退出厂默认) */
|
|
59
|
+
export declare function setDefaultModel(config: AppConfig, modelId: string | undefined): AppConfig;
|
|
60
|
+
/** 由端点名派生唯一的端点 id */
|
|
61
|
+
export declare function uniqueEndpointId(config: AppConfig, name: string): string;
|
|
62
|
+
/** 由模型名派生唯一的模型 id */
|
|
63
|
+
export declare function uniqueModelId(config: AppConfig, name: string): string;
|
|
64
|
+
/** 由图片模型名派生唯一的图片模型 id */
|
|
65
|
+
export declare function uniqueImageModelId(config: AppConfig, name: string): string;
|
|
66
|
+
/** 新增端点(id 由名称派生) */
|
|
67
|
+
export declare function addEndpoint(config: AppConfig, input: {
|
|
68
|
+
name: string;
|
|
69
|
+
baseUrl: string;
|
|
70
|
+
apiKey: string;
|
|
71
|
+
}): {
|
|
72
|
+
config: AppConfig;
|
|
73
|
+
endpoint: Endpoint;
|
|
74
|
+
};
|
|
75
|
+
/** 通用端点字段改写(不可变) */
|
|
76
|
+
export declare function updateEndpoint(config: AppConfig, endpointId: string, patch: Partial<Endpoint>): AppConfig;
|
|
77
|
+
/** 删除端点(调用方负责确认它不再被任何模型引用) */
|
|
78
|
+
export declare function removeEndpoint(config: AppConfig, endpointId: string): AppConfig;
|
|
79
|
+
/** 通用模型字段改写(不可变) */
|
|
80
|
+
export declare function updateModel(config: AppConfig, modelId: string, patch: Partial<Model>): AppConfig;
|
|
81
|
+
/**
|
|
82
|
+
* 删除模型;若 `defaultModel` / `defaultMigrationModel` 指向它,
|
|
83
|
+
* 则改指剩余的第一个模型(无剩余模型则清空)。
|
|
84
|
+
*/
|
|
85
|
+
export declare function removeModel(config: AppConfig, modelId: string): AppConfig;
|
|
86
|
+
/** 新增模型(id 由名称派生;默认 `custom: true`,避免被 SDK 出厂清单托管覆盖) */
|
|
87
|
+
export declare function addModel(config: AppConfig, input: {
|
|
88
|
+
name: string;
|
|
89
|
+
endpointId: string;
|
|
90
|
+
modelName?: string;
|
|
91
|
+
}): {
|
|
92
|
+
config: AppConfig;
|
|
93
|
+
model: Model;
|
|
94
|
+
};
|
|
95
|
+
/** 通用图片模型字段改写(不可变) */
|
|
96
|
+
export declare function updateImageModel(config: AppConfig, modelId: string, patch: Partial<ImageModel>): AppConfig;
|
|
97
|
+
/** 删除图片模型;若 `defaultImageModel` 指向它,则改指剩余的第一个(无剩余则清空) */
|
|
98
|
+
export declare function removeImageModel(config: AppConfig, modelId: string): AppConfig;
|
|
99
|
+
/** 新增图片模型(id 由名称派生;默认 `custom: true`) */
|
|
100
|
+
export declare function addImageModel(config: AppConfig, input: {
|
|
101
|
+
name: string;
|
|
102
|
+
endpointId: string;
|
|
103
|
+
}): {
|
|
104
|
+
config: AppConfig;
|
|
105
|
+
model: ImageModel;
|
|
106
|
+
};
|
|
107
|
+
/** 设置默认图片模型(传 `undefined` 表示清空) */
|
|
108
|
+
export declare function setDefaultImageModel(config: AppConfig, modelId: string | undefined): AppConfig;
|
|
109
|
+
/** 设置默认 Agent(传 `undefined` 表示清空,交给 SDK 选第一个 Agent) */
|
|
110
|
+
export declare function setDefaultAgent(config: AppConfig, agentId: string | undefined): AppConfig;
|
|
111
|
+
/** 设置默认迁移模型(传 `undefined` 表示清空,交由 SDK 回退出厂默认) */
|
|
112
|
+
export declare function setDefaultMigrationModel(config: AppConfig, modelId: string | undefined): AppConfig;
|
|
113
|
+
/** 设置工具输出上限(字符数) */
|
|
114
|
+
export declare function setMaxToolOutput(config: AppConfig, value: number): AppConfig;
|
|
115
|
+
/**
|
|
116
|
+
* 解析参数串为 argv:支持单 / 双引号包裹,以及反斜杠转义空白。
|
|
117
|
+
* 例如 `-y chrome-devtools-mcp@latest` → `["-y", "chrome-devtools-mcp@latest"]`。
|
|
118
|
+
*/
|
|
119
|
+
export declare function parseArgs(raw: string): string[];
|
|
120
|
+
/** argv → 单行文本(含空白 / 引号 / 反斜杠的参数用双引号包裹并转义) */
|
|
121
|
+
export declare function formatArgs(args: string[] | undefined): string;
|
|
122
|
+
/** 解析 `KEY=VALUE`(以首个 `=` 分割;KEY 去空白,VALUE 原样保留);不含 `=` 或 KEY 为空返回 null */
|
|
123
|
+
export declare function parseKvInput(raw: string): {
|
|
124
|
+
key: string;
|
|
125
|
+
value: string;
|
|
126
|
+
} | null;
|
|
127
|
+
/** 键值映射 → 有序数组(保持插入顺序) */
|
|
128
|
+
export declare function kvEntries(map: Record<string, string> | undefined): {
|
|
129
|
+
key: string;
|
|
130
|
+
value: string;
|
|
131
|
+
}[];
|
|
132
|
+
/** 键值映射的展示摘要,如 `2 项(PATH, HOME)` / `(空)` */
|
|
133
|
+
export declare function kvSummary(map: Record<string, string> | undefined): string;
|
|
134
|
+
/** 按 id 查找 MCP 服务器 */
|
|
135
|
+
export declare function findMcpServer(mcp: McpConfig, id: string | undefined): McpServerEntry | undefined;
|
|
136
|
+
/** id 是否已被占用(`except` 用于重命名时排除自身) */
|
|
137
|
+
export declare function mcpServerIdTaken(mcp: McpConfig, id: string, except?: string): boolean;
|
|
138
|
+
/** 由名称派生唯一的 MCP 服务器 id */
|
|
139
|
+
export declare function uniqueMcpServerId(mcp: McpConfig, name: string): string;
|
|
140
|
+
/** 新增 MCP 服务器(id 由名称派生;默认 stdio、启用) */
|
|
141
|
+
export declare function addMcpServer(mcp: McpConfig, name: string): {
|
|
142
|
+
mcp: McpConfig;
|
|
143
|
+
id: string;
|
|
144
|
+
};
|
|
145
|
+
/** 改写某 MCP 服务器的字段(不可变;未列出的字段原样保留) */
|
|
146
|
+
export declare function updateMcpServer(mcp: McpConfig, id: string, patch: Partial<McpServerEntry>): McpConfig;
|
|
147
|
+
/** 删除 MCP 服务器 */
|
|
148
|
+
export declare function removeMcpServer(mcp: McpConfig, id: string): McpConfig;
|
|
149
|
+
/** 重命名 MCP 服务器(改 key;保持原有顺序;假定新名已通过唯一性校验) */
|
|
150
|
+
export declare function renameMcpServer(mcp: McpConfig, oldId: string, newId: string): McpConfig;
|
|
151
|
+
/** Agent 四维权限的维度顺序 */
|
|
152
|
+
export declare const PERMISSION_DIMENSIONS: readonly ["tools", "skills", "mcps", "subagents"];
|
|
153
|
+
export type PermissionDimension = (typeof PERMISSION_DIMENSIONS)[number];
|
|
154
|
+
/** 由名称派生唯一的 Agent id(在既有 id 集合内避让) */
|
|
155
|
+
export declare function uniqueAgentId(taken: Iterable<string>, name: string, fallback?: string): string;
|
|
156
|
+
/** 提示词 = 首条 system 消息的文本内容(无则空串) */
|
|
157
|
+
export declare function getAgentPrompt(def: AgentDefinition): string;
|
|
158
|
+
/** 写入提示词:替换首条 system 消息;不存在则前插一条 */
|
|
159
|
+
export declare function setAgentPrompt(def: AgentDefinition, text: string): AgentDefinition;
|
|
160
|
+
/** 权限策略 → 紧凑文本(`allow: a, b` / `deny: *`);未设置 → 空串 */
|
|
161
|
+
export declare function formatPermission(policy: PermissionPolicy | undefined): string;
|
|
162
|
+
/**
|
|
163
|
+
* 紧凑文本 → 权限策略:
|
|
164
|
+
* - 空串 → `null`(未设置)
|
|
165
|
+
* - 非法 → 返回错误文本(string)
|
|
166
|
+
* - 合法 → 返回 `PermissionPolicy`
|
|
167
|
+
*/
|
|
168
|
+
export declare function parsePermission(raw: string): PermissionPolicy | null | string;
|
|
169
|
+
/** 读某维权限的紧凑文本 */
|
|
170
|
+
export declare function formatAgentPermission(permissions: AgentPermissions | undefined, dim: PermissionDimension): string;
|
|
171
|
+
/** 权限总览:列出已配置的维度(如 `4 维(tools, skills, mcps, subagents)`) */
|
|
172
|
+
export declare function summarizePermissions(permissions: AgentPermissions | undefined): string;
|
|
173
|
+
/** 写入某一维权限(`policy` 为 null 时删除该维) */
|
|
174
|
+
export declare function setAgentPermission(def: AgentDefinition, dim: PermissionDimension, policy: PermissionPolicy | null): AgentDefinition;
|
|
175
|
+
/** 通用 Agent 字段改写(纯合并;`updatedAt` 由写盘侧统一刷新) */
|
|
176
|
+
export declare function updateAgentDefinition(def: AgentDefinition, patch: Partial<AgentDefinition>): AgentDefinition;
|
|
177
|
+
/** 函数参数 schema → 紧凑 JSON 文本 */
|
|
178
|
+
export declare function formatFunctionParameters(fn: AgentNS.FunctionDefine | undefined): string;
|
|
179
|
+
/** 解析函数参数 JSON;合法返回对象,非法返回错误文本 */
|
|
180
|
+
export declare function parseFunctionParameters(raw: string): Record<string, unknown> | string;
|
|
181
|
+
/** 改写 Sub-agent 的 `function`(缺省时补一个骨架) */
|
|
182
|
+
export declare function updateAgentFunction(def: AgentDefinition, patch: {
|
|
183
|
+
name?: string;
|
|
184
|
+
description?: string;
|
|
185
|
+
parameters?: Record<string, unknown>;
|
|
186
|
+
}): AgentDefinition;
|
|
187
|
+
/** 新建顶层 Agent 定义 */
|
|
188
|
+
export declare function createAgentDefinition(input: {
|
|
189
|
+
id: string;
|
|
190
|
+
name: string;
|
|
191
|
+
prompt?: string;
|
|
192
|
+
now?: string;
|
|
193
|
+
}): AgentDefinition;
|
|
194
|
+
/** 新建 Sub-agent 定义(带 function 骨架,尾部保留 `{{task}}` 用户消息) */
|
|
195
|
+
export declare function createSubAgentDefinition(input: {
|
|
196
|
+
id: string;
|
|
197
|
+
name: string;
|
|
198
|
+
prompt?: string;
|
|
199
|
+
now?: string;
|
|
200
|
+
}): AgentDefinition;
|
|
201
|
+
//# sourceMappingURL=config-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-editor.d.ts","sourceRoot":"","sources":["../src/config-editor.ts"],"names":[],"mappings":"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"}
|