@downcity/agent 1.1.152 → 1.1.157
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/bin/agent/local/services/AgentAssemblyService.d.ts.map +1 -1
- package/bin/agent/local/services/AgentAssemblyService.js +1 -0
- package/bin/agent/local/services/AgentAssemblyService.js.map +1 -1
- package/bin/executor/composer/system/default/assets/plugin.prompt.d.ts +1 -1
- package/bin/executor/composer/system/default/assets/plugin.prompt.d.ts.map +1 -1
- package/bin/executor/composer/system/default/assets/plugin.prompt.js +1 -1
- package/bin/executor/composer/system/default/assets/plugin.prompt.js.map +1 -1
- package/bin/executor/tools/plugin/PluginToolBridge.d.ts +6 -2
- package/bin/executor/tools/plugin/PluginToolBridge.d.ts.map +1 -1
- package/bin/executor/tools/plugin/PluginToolBridge.js +71 -17
- package/bin/executor/tools/plugin/PluginToolBridge.js.map +1 -1
- package/bin/executor/tools/plugin/PluginToolDefinition.d.ts +11 -0
- package/bin/executor/tools/plugin/PluginToolDefinition.d.ts.map +1 -1
- package/bin/executor/tools/plugin/PluginToolDefinition.js +12 -3
- package/bin/executor/tools/plugin/PluginToolDefinition.js.map +1 -1
- package/bin/executor/tools/plugin/PluginToolSchemas.d.ts +4 -0
- package/bin/executor/tools/plugin/PluginToolSchemas.d.ts.map +1 -1
- package/bin/executor/tools/plugin/PluginToolSchemas.js +11 -1
- package/bin/executor/tools/plugin/PluginToolSchemas.js.map +1 -1
- package/bin/executor/tools/plugin/types/PluginTool.d.ts +37 -0
- package/bin/executor/tools/plugin/types/PluginTool.d.ts.map +1 -1
- package/bin/index.d.ts +3 -1
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +1 -0
- package/bin/index.js.map +1 -1
- package/bin/plugin/core/PluginActionFactory.d.ts +99 -0
- package/bin/plugin/core/PluginActionFactory.d.ts.map +1 -0
- package/bin/plugin/core/PluginActionFactory.js +59 -0
- package/bin/plugin/core/PluginActionFactory.js.map +1 -0
- package/bin/plugin/core/PluginActionRunner.d.ts.map +1 -1
- package/bin/plugin/core/PluginActionRunner.js +14 -1
- package/bin/plugin/core/PluginActionRunner.js.map +1 -1
- package/bin/plugin/core/PluginLocalExecution.d.ts.map +1 -1
- package/bin/plugin/core/PluginLocalExecution.js +15 -1
- package/bin/plugin/core/PluginLocalExecution.js.map +1 -1
- package/bin/plugin/core/PluginRegistry.d.ts +18 -1
- package/bin/plugin/core/PluginRegistry.d.ts.map +1 -1
- package/bin/plugin/core/PluginRegistry.js +74 -1
- package/bin/plugin/core/PluginRegistry.js.map +1 -1
- package/bin/plugin/types/Plugin.d.ts +2 -2
- package/bin/plugin/types/Plugin.d.ts.map +1 -1
- package/bin/types/plugin/PluginAction.d.ts +40 -2
- package/bin/types/plugin/PluginAction.d.ts.map +1 -1
- package/bin/types/plugin/PluginRuntime.d.ts +44 -0
- package/bin/types/plugin/PluginRuntime.d.ts.map +1 -1
- package/package.json +3 -3
- package/scripts/image-plugin-job.test.mjs +308 -32
- package/scripts/plugin-tool-bridge.test.mjs +199 -0
- package/src/agent/local/services/AgentAssemblyService.ts +1 -0
- package/src/executor/composer/system/default/assets/plugin.prompt.ts +1 -1
- package/src/executor/composer/system/default/assets/plugin.prompt.ts.txt +3 -2
- package/src/executor/tools/plugin/PluginToolBridge.ts +84 -18
- package/src/executor/tools/plugin/PluginToolDefinition.ts +25 -4
- package/src/executor/tools/plugin/PluginToolSchemas.ts +12 -1
- package/src/executor/tools/plugin/types/PluginTool.ts +40 -0
- package/src/index.ts +11 -0
- package/src/plugin/core/PluginActionFactory.ts +185 -0
- package/src/plugin/core/PluginActionRunner.ts +14 -1
- package/src/plugin/core/PluginLocalExecution.ts +15 -1
- package/src/plugin/core/PluginRegistry.ts +89 -1
- package/src/plugin/types/Plugin.ts +5 -0
- package/src/types/plugin/PluginAction.ts +43 -2
- package/src/types/plugin/PluginRuntime.ts +44 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PluginActionFactory:创建带 metadata 和 schema 的 plugin/action。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - `createAction` 让 action 的运行时 schema 与 TypeScript 输入类型保持一致。
|
|
6
|
+
* - `createPlugin` 只做轻量对象装配,不强制继承 BasePlugin。
|
|
7
|
+
* - 旧的 class extends BasePlugin 写法仍可继续使用。
|
|
8
|
+
*/
|
|
9
|
+
import type { z } from "zod";
|
|
10
|
+
import type { AgentContext } from "../../types/runtime/agent/AgentContext.js";
|
|
11
|
+
import type { JsonValue } from "../../types/common/Json.js";
|
|
12
|
+
import type { PluginAction, PluginActionApi, PluginActionCommand, PluginActionExample, PluginActionInputSchema, PluginActionResult, PluginActions } from "../../types/plugin/PluginAction.js";
|
|
13
|
+
import type { Plugin } from "../../types/plugin/PluginDefinition.js";
|
|
14
|
+
import type { PluginAvailability, PluginConfigDefinition, PluginHooks, PluginResolves } from "../../types/plugin/PluginRuntime.js";
|
|
15
|
+
import type { PluginCommandContext, PluginLifecycle } from "../../types/plugin/PluginCommand.js";
|
|
16
|
+
import type { PluginSetupDefinition, PluginUsageDefinition } from "../../types/plugin/PluginSetup.js";
|
|
17
|
+
import type { PluginHttpDefinition } from "../../types/plugin/PluginHttp.js";
|
|
18
|
+
import type { StructuredConfig } from "../../types/runtime/agent/AgentContext.js";
|
|
19
|
+
/**
|
|
20
|
+
* 从 Zod schema 推导 JSON 输入类型。
|
|
21
|
+
*/
|
|
22
|
+
type InferZodJson<TSchema extends z.ZodTypeAny> = z.infer<TSchema> extends JsonValue ? z.infer<TSchema> : JsonValue;
|
|
23
|
+
/**
|
|
24
|
+
* createAction 参数。
|
|
25
|
+
*/
|
|
26
|
+
export interface CreatePluginActionOptions<P extends JsonValue, R extends JsonValue> {
|
|
27
|
+
/** Action 用途说明。 */
|
|
28
|
+
description?: string;
|
|
29
|
+
/** Zod 输入 schema。 */
|
|
30
|
+
input_schema?: z.ZodTypeAny | PluginActionInputSchema<P>;
|
|
31
|
+
/** Action 调用示例。 */
|
|
32
|
+
examples?: PluginActionExample<P>[];
|
|
33
|
+
/** disabled 状态下是否仍允许执行。 */
|
|
34
|
+
allowWhenDisabled?: boolean;
|
|
35
|
+
/** CLI 定义。 */
|
|
36
|
+
command?: PluginActionCommand<P>;
|
|
37
|
+
/** HTTP 定义。 */
|
|
38
|
+
api?: PluginActionApi<P>;
|
|
39
|
+
/** Action 执行器。 */
|
|
40
|
+
execute: (params: {
|
|
41
|
+
/** 当前执行上下文。 */
|
|
42
|
+
context: AgentContext;
|
|
43
|
+
/** 已通过 schema 校验后的输入。 */
|
|
44
|
+
input: P;
|
|
45
|
+
/** 兼容旧命名的 payload。 */
|
|
46
|
+
payload: P;
|
|
47
|
+
/** 当前插件名称。 */
|
|
48
|
+
pluginName: string;
|
|
49
|
+
/** 当前 Action 名称。 */
|
|
50
|
+
actionName: string;
|
|
51
|
+
}) => Promise<PluginActionResult<R>> | PluginActionResult<R>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* createPlugin 参数。
|
|
55
|
+
*/
|
|
56
|
+
export interface CreatePluginOptions<TActions extends PluginActions> {
|
|
57
|
+
/** Plugin 稳定名称。 */
|
|
58
|
+
name: string;
|
|
59
|
+
/** Plugin 展示标题。 */
|
|
60
|
+
title?: string;
|
|
61
|
+
/** Plugin 用途说明。 */
|
|
62
|
+
description?: string;
|
|
63
|
+
/** Plugin 显式 action 集合。 */
|
|
64
|
+
actions?: TActions;
|
|
65
|
+
/** Plugin 配置定义。 */
|
|
66
|
+
config?: PluginConfigDefinition<StructuredConfig>;
|
|
67
|
+
/** Plugin setup 定义。 */
|
|
68
|
+
setup?: PluginSetupDefinition;
|
|
69
|
+
/** Plugin usage 定义。 */
|
|
70
|
+
usage?: PluginUsageDefinition;
|
|
71
|
+
/** Plugin hook 集合。 */
|
|
72
|
+
hooks?: PluginHooks;
|
|
73
|
+
/** Plugin resolve 集合。 */
|
|
74
|
+
resolves?: PluginResolves;
|
|
75
|
+
/** Plugin system 文本构建器。 */
|
|
76
|
+
system?: (context: AgentContext) => string | Promise<string>;
|
|
77
|
+
/** 旧生命周期兼容定义。 */
|
|
78
|
+
lifecycle?: PluginLifecycle;
|
|
79
|
+
/** Plugin 可用性检查。 */
|
|
80
|
+
availability?: (context: PluginCommandContext | AgentContext) => Promise<PluginAvailability> | PluginAvailability;
|
|
81
|
+
/** Plugin HTTP 注入定义。 */
|
|
82
|
+
http?: PluginHttpDefinition;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* 创建带 metadata 的 action。
|
|
86
|
+
*/
|
|
87
|
+
export declare function createAction<TSchema extends z.ZodTypeAny, R extends JsonValue = JsonValue>(options: CreatePluginActionOptions<InferZodJson<TSchema>, R> & {
|
|
88
|
+
/** Zod 输入 schema。 */
|
|
89
|
+
input_schema?: TSchema | PluginActionInputSchema<InferZodJson<TSchema>>;
|
|
90
|
+
}): PluginAction<InferZodJson<TSchema>, R>;
|
|
91
|
+
export declare function createAction<R extends JsonValue = JsonValue>(options: CreatePluginActionOptions<JsonValue, R>): PluginAction<JsonValue, R>;
|
|
92
|
+
/**
|
|
93
|
+
* 创建 plugin 对象。
|
|
94
|
+
*/
|
|
95
|
+
export declare function createPlugin<TActions extends PluginActions>(options: CreatePluginOptions<TActions>): Plugin & {
|
|
96
|
+
actions: TActions;
|
|
97
|
+
};
|
|
98
|
+
export {};
|
|
99
|
+
//# sourceMappingURL=PluginActionFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginActionFactory.d.ts","sourceRoot":"","sources":["../../../src/plugin/core/PluginActionFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACd,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,cAAc,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAE9E;;GAEG;AACH,KAAK,YAAY,CAAC,OAAO,SAAS,CAAC,CAAC,UAAU,IAC5C,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,yBAAyB,CACxC,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS;IAEnB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,YAAY,CAAC,EAAE,CAAC,CAAC,UAAU,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;IACzD,mBAAmB;IACnB,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,2BAA2B;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc;IACd,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACjC,eAAe;IACf,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACzB,kBAAkB;IAClB,OAAO,EAAE,CAAC,MAAM,EAAE;QAChB,eAAe;QACf,OAAO,EAAE,YAAY,CAAC;QACtB,yBAAyB;QACzB,KAAK,EAAE,CAAC,CAAC;QACT,sBAAsB;QACtB,OAAO,EAAE,CAAC,CAAC;QACX,cAAc;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,oBAAoB;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,QAAQ,SAAS,aAAa;IACjE,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,mBAAmB;IACnB,MAAM,CAAC,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;IAClD,uBAAuB;IACvB,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,uBAAuB;IACvB,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,sBAAsB;IACtB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,2BAA2B;IAC3B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,iBAAiB;IACjB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,oBAAoB;IACpB,YAAY,CAAC,EAAE,CACb,OAAO,EAAE,oBAAoB,GAAG,YAAY,KACzC,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAAC;IACtD,wBAAwB;IACxB,IAAI,CAAC,EAAE,oBAAoB,CAAC;CAC7B;AAeD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,SAAS,CAAC,CAAC,UAAU,EAC5B,CAAC,SAAS,SAAS,GAAG,SAAS,EAE/B,OAAO,EAAE,yBAAyB,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG;IAC7D,qBAAqB;IACrB,YAAY,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;CACzE,GACA,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1C,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAC1D,OAAO,EAAE,yBAAyB,CAAC,SAAS,EAAE,CAAC,CAAC,GAC/C,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAmB9B;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,SAAS,aAAa,EACzD,OAAO,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GACrC,MAAM,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,CAoBhC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PluginActionFactory:创建带 metadata 和 schema 的 plugin/action。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - `createAction` 让 action 的运行时 schema 与 TypeScript 输入类型保持一致。
|
|
6
|
+
* - `createPlugin` 只做轻量对象装配,不强制继承 BasePlugin。
|
|
7
|
+
* - 旧的 class extends BasePlugin 写法仍可继续使用。
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* 归一化输入 schema。
|
|
11
|
+
*/
|
|
12
|
+
function normalize_input_schema(input_schema) {
|
|
13
|
+
if (!input_schema)
|
|
14
|
+
return undefined;
|
|
15
|
+
if (typeof input_schema.safeParse === "function") {
|
|
16
|
+
return { zod: input_schema };
|
|
17
|
+
}
|
|
18
|
+
return input_schema;
|
|
19
|
+
}
|
|
20
|
+
export function createAction(options) {
|
|
21
|
+
return {
|
|
22
|
+
...(options.description ? { description: options.description } : {}),
|
|
23
|
+
...(options.input_schema
|
|
24
|
+
? { input_schema: normalize_input_schema(options.input_schema) }
|
|
25
|
+
: {}),
|
|
26
|
+
...(options.examples ? { examples: options.examples } : {}),
|
|
27
|
+
...(typeof options.allowWhenDisabled === "boolean"
|
|
28
|
+
? { allowWhenDisabled: options.allowWhenDisabled }
|
|
29
|
+
: {}),
|
|
30
|
+
...(options.command ? { command: options.command } : {}),
|
|
31
|
+
...(options.api ? { api: options.api } : {}),
|
|
32
|
+
execute: options.execute,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 创建 plugin 对象。
|
|
37
|
+
*/
|
|
38
|
+
export function createPlugin(options) {
|
|
39
|
+
const name = String(options.name || "").trim();
|
|
40
|
+
if (!name) {
|
|
41
|
+
throw new Error("createPlugin requires a non-empty name");
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
name,
|
|
45
|
+
title: String(options.title || name).trim(),
|
|
46
|
+
description: String(options.description || "").trim(),
|
|
47
|
+
actions: options.actions || {},
|
|
48
|
+
...(options.config ? { config: options.config } : {}),
|
|
49
|
+
...(options.setup ? { setup: options.setup } : {}),
|
|
50
|
+
...(options.usage ? { usage: options.usage } : {}),
|
|
51
|
+
...(options.hooks ? { hooks: options.hooks } : {}),
|
|
52
|
+
...(options.resolves ? { resolves: options.resolves } : {}),
|
|
53
|
+
...(options.system ? { system: options.system } : {}),
|
|
54
|
+
...(options.lifecycle ? { lifecycle: options.lifecycle } : {}),
|
|
55
|
+
...(options.availability ? { availability: options.availability } : {}),
|
|
56
|
+
...(options.http ? { http: options.http } : {}),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=PluginActionFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginActionFactory.js","sourceRoot":"","sources":["../../../src/plugin/core/PluginActionFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginActionRunner.d.ts","sourceRoot":"","sources":["../../../src/plugin/core/PluginActionRunner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EAEnB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAgBxD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,GACjB,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAI3C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;CACvB,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"PluginActionRunner.d.ts","sourceRoot":"","sources":["../../../src/plugin/core/PluginActionRunner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EAEnB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAgBxD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,GACjB,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAI3C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;CACvB,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAmCzC;AA4DD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,GAAG,yBAAyB,CAAC;IACjD,OAAO,EAAE,YAAY,CAAC;CACvB,GAAG,OAAO,CAAC,mBAAmB,GAAG;IAAE,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAAE,CAAC,CA6HlE"}
|
|
@@ -28,9 +28,22 @@ export async function invokePluginAction(params) {
|
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
try {
|
|
31
|
+
const payload = (params.payload ?? {});
|
|
32
|
+
const schema = action.input_schema?.zod;
|
|
33
|
+
const parsed_payload = schema ? schema.safeParse(payload) : null;
|
|
34
|
+
if (parsed_payload && !parsed_payload.success) {
|
|
35
|
+
return {
|
|
36
|
+
success: false,
|
|
37
|
+
error: `Invalid payload for ${params.plugin.name}.${params.actionName}: ${parsed_payload.error.message}`,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
const input_payload = parsed_payload?.success
|
|
41
|
+
? parsed_payload.data
|
|
42
|
+
: payload;
|
|
31
43
|
return await action.execute({
|
|
32
44
|
context: params.context,
|
|
33
|
-
payload:
|
|
45
|
+
payload: input_payload,
|
|
46
|
+
input: input_payload,
|
|
34
47
|
pluginName: params.plugin.name,
|
|
35
48
|
actionName: params.actionName,
|
|
36
49
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginActionRunner.js","sourceRoot":"","sources":["../../../src/plugin/core/PluginActionRunner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,wCAAwC,CAAC;AAEhD,SAAS,gBAAgB,CAAC,MAAkB;IAC1C,OAAO,MAAM,CAAC,SAAS,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAkB,EAClB,UAAkB;IAElB,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAKxC;IACC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,WAAW,MAAM,CAAC,MAAM,CAAC,IAAI,gCAAgC,MAAM,CAAC,UAAU,GAAG;SACzF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"PluginActionRunner.js","sourceRoot":"","sources":["../../../src/plugin/core/PluginActionRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginLocalExecution.d.ts","sourceRoot":"","sources":["../../../src/plugin/core/PluginLocalExecution.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EACV,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAGlC;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,CAmBzF;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IACvD,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6B9B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"PluginLocalExecution.d.ts","sourceRoot":"","sources":["../../../src/plugin/core/PluginLocalExecution.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EACV,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAGlC;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,CAmBzF;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IACvD,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6B9B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAkEzC"}
|
|
@@ -98,9 +98,23 @@ export async function runLocalPluginAction(params) {
|
|
|
98
98
|
};
|
|
99
99
|
}
|
|
100
100
|
try {
|
|
101
|
+
const payload = (params.payload ?? {});
|
|
102
|
+
const schema = action.input_schema?.zod;
|
|
103
|
+
const parsed_payload = schema ? schema.safeParse(payload) : null;
|
|
104
|
+
if (parsed_payload && !parsed_payload.success) {
|
|
105
|
+
return {
|
|
106
|
+
success: false,
|
|
107
|
+
error: `Invalid payload for ${plugin.name}.${actionName}: ${parsed_payload.error.message}`,
|
|
108
|
+
message: `Invalid payload for ${plugin.name}.${actionName}`,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
const input_payload = parsed_payload?.success
|
|
112
|
+
? parsed_payload.data
|
|
113
|
+
: payload;
|
|
101
114
|
return await action.execute({
|
|
102
115
|
context: context,
|
|
103
|
-
payload:
|
|
116
|
+
payload: input_payload,
|
|
117
|
+
input: input_payload,
|
|
104
118
|
pluginName: plugin.name,
|
|
105
119
|
actionName,
|
|
106
120
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginLocalExecution.js","sourceRoot":"","sources":["../../../src/plugin/core/PluginLocalExecution.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PluginLocalExecution.js","sourceRoot":"","sources":["../../../src/plugin/core/PluginLocalExecution.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* - Plugin 自身不维护独立状态机;可用性由 enabled 配置与 plugin 自定义 availability 决定。
|
|
7
7
|
*/
|
|
8
8
|
import type { HookRegistry } from "../../plugin/core/HookRegistry.js";
|
|
9
|
-
import type { Plugin, PluginActionResult, AgentPlugins, PluginAvailability, PluginView } from "../../plugin/types/Plugin.js";
|
|
9
|
+
import type { Plugin, PluginActionResult, AgentPlugins, PluginAvailability, PluginReadView, PluginView } from "../../plugin/types/Plugin.js";
|
|
10
10
|
import type { AgentContext } from "../../types/runtime/agent/AgentContext.js";
|
|
11
11
|
import type { JsonValue } from "../../types/common/Json.js";
|
|
12
12
|
type ContextResolver = () => AgentContext;
|
|
@@ -49,10 +49,27 @@ export declare class PluginRegistry implements AgentPlugins {
|
|
|
49
49
|
* 列出全部 plugin 概览视图。
|
|
50
50
|
*/
|
|
51
51
|
list(): PluginView[];
|
|
52
|
+
/**
|
|
53
|
+
* 读取 action metadata。
|
|
54
|
+
*/
|
|
55
|
+
private readAction;
|
|
56
|
+
/**
|
|
57
|
+
* 读取 plugin / action metadata。
|
|
58
|
+
*/
|
|
59
|
+
read(params: {
|
|
60
|
+
plugin?: string;
|
|
61
|
+
action?: string;
|
|
62
|
+
}): PluginReadView | {
|
|
63
|
+
plugins: PluginView[];
|
|
64
|
+
};
|
|
52
65
|
/**
|
|
53
66
|
* 检查 plugin 可用性。
|
|
54
67
|
*/
|
|
55
68
|
availability(pluginName: string): Promise<PluginAvailability>;
|
|
69
|
+
/**
|
|
70
|
+
* 按 action schema 校验 payload。
|
|
71
|
+
*/
|
|
72
|
+
private parseActionPayload;
|
|
56
73
|
/**
|
|
57
74
|
* 运行 plugin action。
|
|
58
75
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginRegistry.d.ts","sourceRoot":"","sources":["../../../src/plugin/core/PluginRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EACV,MAAM,EACN,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,
|
|
1
|
+
{"version":3,"file":"PluginRegistry.d.ts","sourceRoot":"","sources":["../../../src/plugin/core/PluginRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EACV,MAAM,EACN,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAElB,cAAc,EACd,UAAU,EACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,KAAK,eAAe,GAAG,MAAM,YAAY,CAAC;AAE1C;;GAEG;AACH,qBAAa,cAAe,YAAW,YAAY;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAElD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;gBAEzC,MAAM,EAAE;QAClB,eAAe,EAAE,eAAe,CAAC;QACjC,YAAY,EAAE,YAAY,CAAC;KAC5B;IAKD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAuC9B;;OAEG;IACG,QAAQ,CAAC,CAAC,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAItE;;OAEG;IACG,KAAK,CAAC,CAAC,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE;;OAEG;IACG,MAAM,CAAC,CAAC,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE;;OAEG;IACG,OAAO,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,GAAG,SAAS,EACnD,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC;IAInB;;OAEG;IACH,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAItC;;OAEG;IACH,IAAI,IAAI,UAAU,EAAE;IAMpB;;OAEG;IACH,OAAO,CAAC,UAAU;IAkBlB;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,cAAc,GAAG;QAAE,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE;IA2B9C;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA+BnE;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,SAAS,CAAC;KACrB,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;CA+D3C"}
|
|
@@ -87,6 +87,52 @@ export class PluginRegistry {
|
|
|
87
87
|
.map((plugin) => toPluginView(plugin))
|
|
88
88
|
.sort((a, b) => a.name.localeCompare(b.name));
|
|
89
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* 读取 action metadata。
|
|
92
|
+
*/
|
|
93
|
+
readAction(actionName, action) {
|
|
94
|
+
return {
|
|
95
|
+
name: actionName,
|
|
96
|
+
description: String(action.description || "").trim(),
|
|
97
|
+
has_input_schema: Boolean(action.input_schema),
|
|
98
|
+
...(action.input_schema?.json_schema
|
|
99
|
+
? { input_schema: action.input_schema.json_schema }
|
|
100
|
+
: {}),
|
|
101
|
+
...(action.examples ? { examples: action.examples } : {}),
|
|
102
|
+
allow_when_disabled: action.allowWhenDisabled === true,
|
|
103
|
+
has_command: Boolean(action.command),
|
|
104
|
+
has_api: Boolean(action.api),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* 读取 plugin / action metadata。
|
|
109
|
+
*/
|
|
110
|
+
read(params) {
|
|
111
|
+
const pluginName = String(params.plugin || "").trim();
|
|
112
|
+
if (!pluginName) {
|
|
113
|
+
return { plugins: this.list() };
|
|
114
|
+
}
|
|
115
|
+
const plugin = this.get(pluginName);
|
|
116
|
+
if (!plugin) {
|
|
117
|
+
return {
|
|
118
|
+
name: pluginName,
|
|
119
|
+
title: pluginName,
|
|
120
|
+
description: "",
|
|
121
|
+
actions: [],
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
const actionName = String(params.action || "").trim();
|
|
125
|
+
const actions = Object.entries(plugin.actions || {})
|
|
126
|
+
.filter(([name]) => !actionName || name === actionName)
|
|
127
|
+
.sort(([left], [right]) => left.localeCompare(right))
|
|
128
|
+
.map(([name, action]) => this.readAction(name, action));
|
|
129
|
+
return {
|
|
130
|
+
name: plugin.name,
|
|
131
|
+
title: String(plugin.title || plugin.name || "").trim(),
|
|
132
|
+
description: String(plugin.description || "").trim(),
|
|
133
|
+
actions,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
90
136
|
/**
|
|
91
137
|
* 检查 plugin 可用性。
|
|
92
138
|
*/
|
|
@@ -117,6 +163,23 @@ export class PluginRegistry {
|
|
|
117
163
|
reasons: [],
|
|
118
164
|
};
|
|
119
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* 按 action schema 校验 payload。
|
|
168
|
+
*/
|
|
169
|
+
parseActionPayload(params) {
|
|
170
|
+
const schema = params.action.input_schema?.zod;
|
|
171
|
+
if (!schema)
|
|
172
|
+
return { input: params.payload };
|
|
173
|
+
const parsed = schema.safeParse(params.payload);
|
|
174
|
+
if (parsed.success) {
|
|
175
|
+
return { input: parsed.data };
|
|
176
|
+
}
|
|
177
|
+
return {
|
|
178
|
+
success: false,
|
|
179
|
+
error: `Invalid payload for ${params.pluginName}.${params.actionName}: ${parsed.error.message}`,
|
|
180
|
+
message: `Invalid payload for ${params.pluginName}.${params.actionName}`,
|
|
181
|
+
};
|
|
182
|
+
}
|
|
120
183
|
/**
|
|
121
184
|
* 运行 plugin action。
|
|
122
185
|
*/
|
|
@@ -155,9 +218,19 @@ export class PluginRegistry {
|
|
|
155
218
|
};
|
|
156
219
|
}
|
|
157
220
|
try {
|
|
221
|
+
const parsed_payload = this.parseActionPayload({
|
|
222
|
+
pluginName: plugin.name,
|
|
223
|
+
actionName,
|
|
224
|
+
payload: (params.payload ?? {}),
|
|
225
|
+
action,
|
|
226
|
+
});
|
|
227
|
+
if (!("input" in parsed_payload)) {
|
|
228
|
+
return parsed_payload;
|
|
229
|
+
}
|
|
158
230
|
return await action.execute({
|
|
159
231
|
context,
|
|
160
|
-
payload:
|
|
232
|
+
payload: parsed_payload.input,
|
|
233
|
+
input: parsed_payload.input,
|
|
161
234
|
pluginName: plugin.name,
|
|
162
235
|
actionName,
|
|
163
236
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginRegistry.js","sourceRoot":"","sources":["../../../src/plugin/core/PluginRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"PluginRegistry.js","sourceRoot":"","sources":["../../../src/plugin/core/PluginRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export type { PluginState, PluginStateControlAction, PluginStateControlResult, PluginStateRecord, PluginStateSnapshot, } from "../../types/plugin/PluginState.js";
|
|
9
9
|
export type { PluginCommandContext, PluginCommandParams, PluginCommandResult, PluginLifecycle, } from "../../types/plugin/PluginCommand.js";
|
|
10
|
-
export type { PluginAction, PluginActionApi, PluginActionCommand, PluginActionCommandInput, PluginActionInvokeParams, PluginActionInvokePort, PluginActionInvokeResult, PluginActionResult, PluginActions, } from "../../types/plugin/PluginAction.js";
|
|
11
|
-
export type { PluginAvailability, PluginConfigDefinition, PluginEffectHook, PluginGuardHook, PluginHooks, PluginPipelineHook, AgentPlugins, PluginResolveHook, PluginResolves, PluginView, } from "../../types/plugin/PluginRuntime.js";
|
|
10
|
+
export type { PluginAction, PluginActionApi, PluginActionCommand, PluginActionCommandInput, PluginActionExample, PluginActionInvokeParams, PluginActionInvokePort, PluginActionInvokeResult, PluginActionInputSchema, PluginActionMetadata, PluginActionResult, PluginActions, } from "../../types/plugin/PluginAction.js";
|
|
11
|
+
export type { PluginAvailability, PluginConfigDefinition, PluginEffectHook, PluginGuardHook, PluginHooks, PluginPipelineHook, AgentPlugins, PluginActionReadView, PluginResolveHook, PluginResolves, PluginReadView, PluginView, } from "../../types/plugin/PluginRuntime.js";
|
|
12
12
|
export type { PluginSetupDefinition, PluginSetupField, PluginSetupFieldOption, PluginUsageDefinition, PluginUsageField, PluginUsageFieldOption, } from "../../types/plugin/PluginSetup.js";
|
|
13
13
|
export type { PluginHttpDefinition, PluginHttpRegistration, } from "../../types/plugin/PluginHttp.js";
|
|
14
14
|
export type { Plugin } from "../../types/plugin/PluginDefinition.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../../src/plugin/types/Plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EACV,WAAW,EACX,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAChB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,aAAa,GACd,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,UAAU,GACX,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../../src/plugin/types/Plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EACV,WAAW,EACX,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAChB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,GACd,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,UAAU,GACX,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC"}
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { Command } from "commander";
|
|
9
9
|
import type { Context as HonoContext } from "hono";
|
|
10
|
+
import type { z } from "zod";
|
|
10
11
|
import type { AgentContext } from "../../types/runtime/agent/AgentContext.js";
|
|
11
|
-
import type { JsonValue } from "../../types/common/Json.js";
|
|
12
|
+
import type { JsonObject, JsonValue } from "../../types/common/Json.js";
|
|
12
13
|
/**
|
|
13
14
|
* Plugin action 调用参数。
|
|
14
15
|
*/
|
|
@@ -82,10 +83,45 @@ export interface PluginActionApi<P extends JsonValue = JsonValue> {
|
|
|
82
83
|
/** 将 HTTP 输入映射为 payload(可选)。 */
|
|
83
84
|
mapInput?: (ctx: HonoContext) => P | Promise<P>;
|
|
84
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Plugin Action 示例。
|
|
88
|
+
*/
|
|
89
|
+
export interface PluginActionExample<P extends JsonValue = JsonValue> {
|
|
90
|
+
/** 示例标题。 */
|
|
91
|
+
title: string;
|
|
92
|
+
/** 示例说明。 */
|
|
93
|
+
description?: string;
|
|
94
|
+
/** 示例 payload。 */
|
|
95
|
+
payload: P;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Plugin Action 输入 schema。
|
|
99
|
+
*
|
|
100
|
+
* 关键点(中文)
|
|
101
|
+
* - 优先支持 Zod,运行时用 safeParse 做校验。
|
|
102
|
+
* - `json_schema` 用于给模型或 UI 读取;没有时仍可依赖 description/examples。
|
|
103
|
+
*/
|
|
104
|
+
export interface PluginActionInputSchema<P extends JsonValue = JsonValue> {
|
|
105
|
+
/** Zod schema,负责运行时校验与 TypeScript 推导。 */
|
|
106
|
+
zod?: z.ZodTypeAny;
|
|
107
|
+
/** 面向模型和 UI 的 JSON Schema 描述。 */
|
|
108
|
+
json_schema?: JsonObject;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Plugin Action 元数据。
|
|
112
|
+
*/
|
|
113
|
+
export interface PluginActionMetadata<P extends JsonValue = JsonValue> {
|
|
114
|
+
/** Action 用途说明。 */
|
|
115
|
+
description?: string;
|
|
116
|
+
/** Action 输入 schema。 */
|
|
117
|
+
input_schema?: PluginActionInputSchema<P>;
|
|
118
|
+
/** Action 调用示例。 */
|
|
119
|
+
examples?: PluginActionExample<P>[];
|
|
120
|
+
}
|
|
85
121
|
/**
|
|
86
122
|
* Plugin Action 定义。
|
|
87
123
|
*/
|
|
88
|
-
export interface PluginAction<P extends JsonValue = JsonValue, R extends JsonValue = JsonValue> {
|
|
124
|
+
export interface PluginAction<P extends JsonValue = JsonValue, R extends JsonValue = JsonValue> extends PluginActionMetadata<P> {
|
|
89
125
|
/**
|
|
90
126
|
* disabled 状态下是否仍允许执行。
|
|
91
127
|
*
|
|
@@ -104,6 +140,8 @@ export interface PluginAction<P extends JsonValue = JsonValue, R extends JsonVal
|
|
|
104
140
|
context: AgentContext;
|
|
105
141
|
/** 输入 payload。 */
|
|
106
142
|
payload: P;
|
|
143
|
+
/** 已通过 schema 校验后的输入。 */
|
|
144
|
+
input: P;
|
|
107
145
|
/** 当前插件名称。 */
|
|
108
146
|
pluginName: string;
|
|
109
147
|
/** 当前 Action 名称。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginAction.d.ts","sourceRoot":"","sources":["../../../src/types/plugin/PluginAction.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,MAAM,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"PluginAction.d.ts","sourceRoot":"","sources":["../../../src/types/plugin/PluginAction.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import type { AgentContext, StructuredConfig } from "../../types/runtime/agent/AgentContext.js";
|
|
9
9
|
import type { JsonValue } from "../../types/common/Json.js";
|
|
10
10
|
import type { PluginActionResult } from "../../types/plugin/PluginAction.js";
|
|
11
|
+
import type { PluginActionExample } from "../../types/plugin/PluginAction.js";
|
|
11
12
|
/**
|
|
12
13
|
* Plugin 概览视图。
|
|
13
14
|
*/
|
|
@@ -33,6 +34,40 @@ export interface PluginView {
|
|
|
33
34
|
/** 是否声明了 availability 检查。 */
|
|
34
35
|
hasAvailability: boolean;
|
|
35
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Plugin Action 读取视图。
|
|
39
|
+
*/
|
|
40
|
+
export interface PluginActionReadView {
|
|
41
|
+
/** Action 名称。 */
|
|
42
|
+
name: string;
|
|
43
|
+
/** Action 用途说明。 */
|
|
44
|
+
description: string;
|
|
45
|
+
/** 是否声明输入 schema。 */
|
|
46
|
+
has_input_schema: boolean;
|
|
47
|
+
/** JSON Schema 形式的输入说明。 */
|
|
48
|
+
input_schema?: JsonValue;
|
|
49
|
+
/** Action 调用示例。 */
|
|
50
|
+
examples?: PluginActionExample[];
|
|
51
|
+
/** disabled 状态下是否仍允许执行。 */
|
|
52
|
+
allow_when_disabled: boolean;
|
|
53
|
+
/** 是否声明 CLI command。 */
|
|
54
|
+
has_command: boolean;
|
|
55
|
+
/** 是否声明 HTTP API。 */
|
|
56
|
+
has_api: boolean;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Plugin 读取视图。
|
|
60
|
+
*/
|
|
61
|
+
export interface PluginReadView {
|
|
62
|
+
/** Plugin 稳定名称。 */
|
|
63
|
+
name: string;
|
|
64
|
+
/** Plugin 展示标题。 */
|
|
65
|
+
title: string;
|
|
66
|
+
/** Plugin 用途说明。 */
|
|
67
|
+
description: string;
|
|
68
|
+
/** Action 列表或指定 action。 */
|
|
69
|
+
actions: PluginActionReadView[];
|
|
70
|
+
}
|
|
36
71
|
/**
|
|
37
72
|
* Plugin 可用性结果。
|
|
38
73
|
*/
|
|
@@ -50,6 +85,15 @@ export interface PluginAvailability {
|
|
|
50
85
|
export interface AgentPlugins {
|
|
51
86
|
/** 列出全部已注册 plugin。 */
|
|
52
87
|
list(): PluginView[];
|
|
88
|
+
/** 读取 plugin / action metadata。 */
|
|
89
|
+
read(params: {
|
|
90
|
+
/** Plugin 名称。 */
|
|
91
|
+
plugin?: string;
|
|
92
|
+
/** Action 名称。 */
|
|
93
|
+
action?: string;
|
|
94
|
+
}): PluginReadView | {
|
|
95
|
+
plugins: PluginView[];
|
|
96
|
+
};
|
|
53
97
|
/** 检查指定 plugin 可用性。 */
|
|
54
98
|
availability(pluginName: string): Promise<PluginAvailability>;
|
|
55
99
|
/** 运行指定 plugin action。 */
|