@downcity/agent 1.1.175 → 1.1.178
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/AgentPluginFactory.d.ts +4 -2
- package/bin/agent/local/AgentPluginFactory.d.ts.map +1 -1
- package/bin/agent/local/AgentPluginFactory.js +4 -6
- package/bin/agent/local/AgentPluginFactory.js.map +1 -1
- package/bin/agent/local/AgentRuntimeAssembly.d.ts.map +1 -1
- package/bin/agent/local/AgentRuntimeAssembly.js +3 -8
- package/bin/agent/local/AgentRuntimeAssembly.js.map +1 -1
- package/bin/agent/local/ProjectSetup.d.ts +1 -1
- package/bin/agent/local/ProjectSetup.d.ts.map +1 -1
- package/bin/agent/local/ProjectSetup.js +2 -6
- package/bin/agent/local/ProjectSetup.js.map +1 -1
- package/bin/agent/local/services/AgentAssemblyService.d.ts +2 -3
- package/bin/agent/local/services/AgentAssemblyService.d.ts.map +1 -1
- package/bin/agent/local/services/AgentAssemblyService.js +9 -14
- package/bin/agent/local/services/AgentAssemblyService.js.map +1 -1
- package/bin/agent/local/services/AgentBackgroundService.d.ts.map +1 -1
- package/bin/agent/local/services/AgentBackgroundService.js +5 -6
- package/bin/agent/local/services/AgentBackgroundService.js.map +1 -1
- package/bin/agent/local/services/AgentSessionManager.d.ts +2 -2
- package/bin/agent/local/services/AgentSessionManager.d.ts.map +1 -1
- package/bin/agent/local/services/AgentSessionManager.js +1 -28
- package/bin/agent/local/services/AgentSessionManager.js.map +1 -1
- package/bin/config/AgentInitializer.d.ts +4 -4
- package/bin/config/AgentInitializer.d.ts.map +1 -1
- package/bin/config/AgentInitializer.js +7 -49
- package/bin/config/AgentInitializer.js.map +1 -1
- package/bin/config/DowncitySchema.d.ts +3 -4
- package/bin/config/DowncitySchema.d.ts.map +1 -1
- package/bin/config/DowncitySchema.js +1 -2
- package/bin/config/DowncitySchema.js.map +1 -1
- package/bin/executor/composer/system/default/SystemDomain.d.ts.map +1 -1
- package/bin/executor/composer/system/default/SystemDomain.js +1 -2
- package/bin/executor/composer/system/default/SystemDomain.js.map +1 -1
- package/bin/executor/composer/system/default/assets/core.prompt.d.ts +1 -1
- package/bin/executor/composer/system/default/assets/core.prompt.d.ts.map +1 -1
- package/bin/executor/composer/system/default/assets/core.prompt.js +1 -1
- package/bin/executor/composer/system/default/assets/core.prompt.js.map +1 -1
- package/bin/index.d.ts +0 -2
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +1 -4
- package/bin/index.js.map +1 -1
- package/bin/plugin/core/Activation.d.ts +6 -5
- package/bin/plugin/core/Activation.d.ts.map +1 -1
- package/bin/plugin/core/Activation.js +9 -9
- package/bin/plugin/core/Activation.js.map +1 -1
- package/bin/plugin/core/BasePlugin.d.ts +5 -4
- package/bin/plugin/core/BasePlugin.d.ts.map +1 -1
- package/bin/plugin/core/BasePlugin.js +7 -4
- package/bin/plugin/core/BasePlugin.js.map +1 -1
- package/bin/plugin/core/HookRegistry.d.ts +4 -0
- package/bin/plugin/core/HookRegistry.d.ts.map +1 -1
- package/bin/plugin/core/HookRegistry.js +40 -0
- package/bin/plugin/core/HookRegistry.js.map +1 -1
- package/bin/plugin/core/Manager.d.ts +1 -1
- package/bin/plugin/core/Manager.d.ts.map +1 -1
- package/bin/plugin/core/Manager.js +1 -1
- package/bin/plugin/core/Manager.js.map +1 -1
- package/bin/plugin/core/PluginActionRunner.d.ts +13 -7
- package/bin/plugin/core/PluginActionRunner.d.ts.map +1 -1
- package/bin/plugin/core/PluginActionRunner.js +46 -111
- package/bin/plugin/core/PluginActionRunner.js.map +1 -1
- package/bin/plugin/core/PluginCatalog.d.ts +1 -1
- package/bin/plugin/core/PluginCatalog.d.ts.map +1 -1
- package/bin/plugin/core/PluginCatalog.js +1 -21
- package/bin/plugin/core/PluginCatalog.js.map +1 -1
- package/bin/plugin/core/PluginLocalExecution.d.ts +12 -2
- package/bin/plugin/core/PluginLocalExecution.d.ts.map +1 -1
- package/bin/plugin/core/PluginLocalExecution.js +18 -24
- package/bin/plugin/core/PluginLocalExecution.js.map +1 -1
- package/bin/plugin/core/PluginRegistry.d.ts +60 -7
- package/bin/plugin/core/PluginRegistry.d.ts.map +1 -1
- package/bin/plugin/core/PluginRegistry.js +269 -42
- package/bin/plugin/core/PluginRegistry.js.map +1 -1
- package/bin/plugin/core/PluginStateController.d.ts +11 -36
- package/bin/plugin/core/PluginStateController.d.ts.map +1 -1
- package/bin/plugin/core/PluginStateController.js +45 -190
- package/bin/plugin/core/PluginStateController.js.map +1 -1
- package/bin/plugin/types/Plugin.d.ts +1 -1
- package/bin/plugin/types/Plugin.d.ts.map +1 -1
- package/bin/plugin/types/PluginState.d.ts +1 -1
- package/bin/plugin/types/PluginState.d.ts.map +1 -1
- package/bin/plugin/types/Plugins.d.ts +12 -12
- package/bin/plugin/types/Plugins.d.ts.map +1 -1
- package/bin/types/agent/AgentOptions.d.ts +12 -3
- package/bin/types/agent/AgentOptions.d.ts.map +1 -1
- package/bin/types/agent/AgentRuntimeAssembly.d.ts +1 -1
- package/bin/types/config/AgentProject.d.ts +6 -14
- package/bin/types/config/AgentProject.d.ts.map +1 -1
- package/bin/types/plugin/PluginRuntime.d.ts +23 -2
- package/bin/types/plugin/PluginRuntime.d.ts.map +1 -1
- package/bin/types/plugin/PluginState.d.ts +47 -36
- package/bin/types/plugin/PluginState.d.ts.map +1 -1
- package/bin/types/plugin/PluginState.js +4 -3
- package/bin/types/plugin/PluginState.js.map +1 -1
- package/bin/types/runtime/agent/AgentContext.d.ts +3 -3
- package/bin/types/runtime/agent/AgentContext.d.ts.map +1 -1
- package/bin/types/runtime/agent/AgentContext.js.map +1 -1
- package/package.json +3 -3
- package/src/agent/local/AgentPluginFactory.ts +8 -8
- package/src/agent/local/AgentRuntimeAssembly.ts +3 -9
- package/src/agent/local/ProjectSetup.ts +1 -8
- package/src/agent/local/services/AgentAssemblyService.ts +13 -23
- package/src/agent/local/services/AgentBackgroundService.ts +5 -6
- package/src/agent/local/services/AgentSessionManager.ts +4 -26
- package/src/config/AgentInitializer.ts +7 -57
- package/src/config/DowncitySchema.ts +3 -4
- package/src/executor/composer/system/default/SystemDomain.ts +1 -2
- package/src/executor/composer/system/default/assets/core.prompt.ts +1 -1
- package/src/executor/composer/system/default/assets/core.prompt.ts.txt +1 -1
- package/src/index.ts +1 -8
- package/src/plugin/core/Activation.ts +10 -10
- package/src/plugin/core/BasePlugin.ts +9 -6
- package/src/plugin/core/HookRegistry.ts +41 -0
- package/src/plugin/core/Manager.ts +0 -2
- package/src/plugin/core/PluginActionRunner.ts +52 -133
- package/src/plugin/core/PluginCatalog.ts +1 -23
- package/src/plugin/core/PluginLocalExecution.ts +30 -25
- package/src/plugin/core/PluginRegistry.ts +298 -44
- package/src/plugin/core/PluginStateController.ts +45 -235
- package/src/plugin/types/Plugin.ts +2 -1
- package/src/plugin/types/PluginState.ts +2 -1
- package/src/plugin/types/Plugins.ts +12 -12
- package/src/types/agent/AgentOptions.ts +13 -3
- package/src/types/agent/AgentRuntimeAssembly.ts +1 -1
- package/src/types/config/AgentProject.ts +7 -15
- package/src/types/plugin/PluginRuntime.ts +23 -2
- package/src/types/plugin/PluginState.ts +50 -43
- package/src/types/runtime/agent/AgentContext.ts +3 -3
- package/tsconfig.tsbuildinfo +1 -1
- package/bin/config/Defaults.d.ts +0 -21
- package/bin/config/Defaults.d.ts.map +0 -1
- package/bin/config/Defaults.js +0 -47
- package/bin/config/Defaults.js.map +0 -1
- package/bin/plugin/core/ProjectConfigStore.d.ts +0 -84
- package/bin/plugin/core/ProjectConfigStore.d.ts.map +0 -1
- package/bin/plugin/core/ProjectConfigStore.js +0 -89
- package/bin/plugin/core/ProjectConfigStore.js.map +0 -1
- package/src/config/Defaults.ts +0 -49
- package/src/plugin/core/ProjectConfigStore.ts +0 -155
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginStateController.d.ts","sourceRoot":"","sources":["../../../src/plugin/core/PluginStateController.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"PluginStateController.d.ts","sourceRoot":"","sources":["../../../src/plugin/core/PluginStateController.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE;IACvC,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,GAAG,mBAAmB,EAAE,CAExB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE;IACN,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,GACA,OAAO,CAET;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,wBAAwB,CAAC;IACjC,OAAO,EAAE,YAAY,CAAC;CACvB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA6BpC;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC;IACpE,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,wBAAwB,EAAE,CAAC;CACrC,CAAC,CAUD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,wBAAwB,EAAE,CAAC;CACrC,CAAC,CAUD"}
|
|
@@ -1,223 +1,78 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Plugin 注册状态兼容控制模块。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - 新模型中 plugin 只有注册 / 卸载,不再暴露 start / stop / restart。
|
|
6
|
+
* - 该模块保留旧内部函数名,方便 RPC、CLI 与内建 plugin 渐进迁移。
|
|
3
7
|
*/
|
|
4
|
-
function nowMs() {
|
|
5
|
-
return Date.now();
|
|
6
|
-
}
|
|
7
|
-
function resolveLifecycle(plugin) {
|
|
8
|
-
return plugin.lifecycle;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* 列出当前进程内可见的主动型 plugin 实例。
|
|
12
|
-
*/
|
|
13
|
-
export function listPluginInstances(input) {
|
|
14
|
-
const contextPlugins = input?.context?.pluginInstances;
|
|
15
|
-
if (contextPlugins instanceof Map && contextPlugins.size > 0) {
|
|
16
|
-
return [...contextPlugins.values()];
|
|
17
|
-
}
|
|
18
|
-
return [];
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* 按名称解析主动型 plugin 实例。
|
|
22
|
-
*/
|
|
23
|
-
export function resolvePluginByName(name, input) {
|
|
24
|
-
const key = String(name || "").trim();
|
|
25
|
-
if (!key)
|
|
26
|
-
return null;
|
|
27
|
-
return listPluginInstances(input).find((plugin) => plugin.name === key) || null;
|
|
28
|
-
}
|
|
29
8
|
/**
|
|
30
|
-
*
|
|
31
|
-
*/
|
|
32
|
-
export function ensurePluginStateRecord(plugin) {
|
|
33
|
-
return plugin.pluginStateRecord;
|
|
34
|
-
}
|
|
35
|
-
function hasCommandActions(plugin) {
|
|
36
|
-
return Object.values(plugin.actions).some((action) => Boolean(action.command));
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* 把内部 record 映射为对外快照。
|
|
40
|
-
*/
|
|
41
|
-
export function toPluginStateSnapshot(record, plugin) {
|
|
42
|
-
const lifecycle = resolveLifecycle(plugin);
|
|
43
|
-
return {
|
|
44
|
-
name: plugin.name,
|
|
45
|
-
state: record.state,
|
|
46
|
-
updatedAt: record.updatedAt,
|
|
47
|
-
...(record.lastError ? { lastError: record.lastError } : {}),
|
|
48
|
-
...(record.lastCommand ? { lastCommand: record.lastCommand } : {}),
|
|
49
|
-
...(typeof record.lastCommandAt === "number"
|
|
50
|
-
? { lastCommandAt: record.lastCommandAt }
|
|
51
|
-
: {}),
|
|
52
|
-
supportsLifecycle: Boolean(lifecycle?.start || lifecycle?.stop),
|
|
53
|
-
supportsCommand: Boolean(lifecycle?.command) || hasCommandActions(plugin),
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
async function runSerialByPlugin(record, step) {
|
|
57
|
-
const next = record.chain.then(() => Promise.resolve(step()));
|
|
58
|
-
record.chain = next.then(() => undefined, () => undefined);
|
|
59
|
-
await next;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* 标记 plugin 当前状态。
|
|
63
|
-
*/
|
|
64
|
-
export function markPluginState(record, state, error) {
|
|
65
|
-
record.state = state;
|
|
66
|
-
record.updatedAt = nowMs();
|
|
67
|
-
if (error) {
|
|
68
|
-
record.lastError = error;
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
delete record.lastError;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* 标记最近一次 plugin command。
|
|
75
|
-
*/
|
|
76
|
-
export function markPluginCommand(record, command) {
|
|
77
|
-
record.lastCommand = command;
|
|
78
|
-
record.lastCommandAt = nowMs();
|
|
79
|
-
record.updatedAt = nowMs();
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* 列出全部主动型 plugin 状态快照。
|
|
9
|
+
* 列出当前 Agent 已注册 plugin 快照。
|
|
83
10
|
*/
|
|
84
11
|
export function listPluginStates(input) {
|
|
85
|
-
return
|
|
86
|
-
.map((plugin) => toPluginStateSnapshot(ensurePluginStateRecord(plugin), plugin))
|
|
87
|
-
.sort((a, b) => a.name.localeCompare(b.name));
|
|
12
|
+
return input?.context?.plugins.snapshots() || [];
|
|
88
13
|
}
|
|
89
14
|
/**
|
|
90
|
-
*
|
|
15
|
+
* 判断指定 plugin 是否已注册且 ready。
|
|
91
16
|
*/
|
|
92
17
|
export function isPluginRunning(pluginName, input) {
|
|
93
|
-
|
|
94
|
-
if (!plugin)
|
|
95
|
-
return false;
|
|
96
|
-
return ensurePluginStateRecord(plugin).state === "running";
|
|
97
|
-
}
|
|
98
|
-
async function startPluginInternal(plugin, context) {
|
|
99
|
-
const record = ensurePluginStateRecord(plugin);
|
|
100
|
-
const lifecycle = resolveLifecycle(plugin);
|
|
101
|
-
try {
|
|
102
|
-
await runSerialByPlugin(record, async () => {
|
|
103
|
-
if (record.state === "running")
|
|
104
|
-
return;
|
|
105
|
-
markPluginState(record, "starting");
|
|
106
|
-
try {
|
|
107
|
-
await lifecycle?.start?.(context);
|
|
108
|
-
markPluginState(record, "running");
|
|
109
|
-
}
|
|
110
|
-
catch (error) {
|
|
111
|
-
markPluginState(record, "error", String(error));
|
|
112
|
-
throw error;
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
return {
|
|
116
|
-
success: true,
|
|
117
|
-
plugin: toPluginStateSnapshot(record, plugin),
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
catch (error) {
|
|
121
|
-
return {
|
|
122
|
-
success: false,
|
|
123
|
-
plugin: toPluginStateSnapshot(record, plugin),
|
|
124
|
-
error: String(error),
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
async function stopPluginInternal(plugin, context) {
|
|
129
|
-
const record = ensurePluginStateRecord(plugin);
|
|
130
|
-
const lifecycle = resolveLifecycle(plugin);
|
|
131
|
-
try {
|
|
132
|
-
await runSerialByPlugin(record, async () => {
|
|
133
|
-
if (record.state === "stopped")
|
|
134
|
-
return;
|
|
135
|
-
markPluginState(record, "stopping");
|
|
136
|
-
try {
|
|
137
|
-
await lifecycle?.stop?.(context);
|
|
138
|
-
markPluginState(record, "stopped");
|
|
139
|
-
}
|
|
140
|
-
catch (error) {
|
|
141
|
-
markPluginState(record, "error", String(error));
|
|
142
|
-
throw error;
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
return {
|
|
146
|
-
success: true,
|
|
147
|
-
plugin: toPluginStateSnapshot(record, plugin),
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
catch (error) {
|
|
151
|
-
return {
|
|
152
|
-
success: false,
|
|
153
|
-
plugin: toPluginStateSnapshot(record, plugin),
|
|
154
|
-
error: String(error),
|
|
155
|
-
};
|
|
156
|
-
}
|
|
18
|
+
return input?.context?.plugins.status(pluginName)?.status === "ready";
|
|
157
19
|
}
|
|
158
20
|
/**
|
|
159
|
-
*
|
|
21
|
+
* 执行兼容 plugin 控制动作。
|
|
160
22
|
*/
|
|
161
23
|
export async function controlPluginState(params) {
|
|
162
|
-
const
|
|
163
|
-
|
|
164
|
-
});
|
|
165
|
-
if (!plugin) {
|
|
24
|
+
const pluginName = String(params.pluginName || "").trim();
|
|
25
|
+
if (!pluginName) {
|
|
166
26
|
return {
|
|
167
27
|
success: false,
|
|
168
|
-
error:
|
|
28
|
+
error: "pluginName is required",
|
|
169
29
|
};
|
|
170
30
|
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
31
|
+
const action = String(params.action || "").trim().toLowerCase();
|
|
32
|
+
if (action === "status" || action === "start" || action === "restart") {
|
|
33
|
+
const plugin = params.context.plugins.status(pluginName);
|
|
34
|
+
return plugin
|
|
35
|
+
? { success: true, plugin }
|
|
36
|
+
: { success: false, error: `Unknown plugin: ${pluginName}` };
|
|
177
37
|
}
|
|
178
|
-
if (
|
|
179
|
-
|
|
38
|
+
if (action === "unregister" || action === "stop") {
|
|
39
|
+
const plugin = params.context.plugins.status(pluginName) || undefined;
|
|
40
|
+
const success = await params.context.plugins.unregister(pluginName);
|
|
41
|
+
return success
|
|
42
|
+
? { success: true, ...(plugin ? { plugin } : {}) }
|
|
43
|
+
: { success: false, error: `Unknown plugin: ${pluginName}` };
|
|
180
44
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
if (!stopResult.success)
|
|
186
|
-
return stopResult;
|
|
187
|
-
return await startPluginInternal(plugin, params.context);
|
|
45
|
+
return {
|
|
46
|
+
success: false,
|
|
47
|
+
error: `Unsupported plugin control action: ${params.action}`,
|
|
48
|
+
};
|
|
188
49
|
}
|
|
189
50
|
/**
|
|
190
|
-
*
|
|
51
|
+
* 启动当前上下文中全部已挂载 plugin。
|
|
191
52
|
*/
|
|
192
53
|
export async function startAllPlugins(context) {
|
|
193
|
-
const
|
|
194
|
-
for (const plugin of listPluginInstances({ context })) {
|
|
195
|
-
results.push(await controlPluginState({
|
|
196
|
-
pluginName: plugin.name,
|
|
197
|
-
action: "start",
|
|
198
|
-
context,
|
|
199
|
-
}));
|
|
200
|
-
}
|
|
54
|
+
const snapshots = await context.plugins.startAll();
|
|
201
55
|
return {
|
|
202
|
-
success:
|
|
203
|
-
results
|
|
56
|
+
success: snapshots.every((item) => item.status === "ready"),
|
|
57
|
+
results: snapshots.map((plugin) => ({
|
|
58
|
+
success: plugin.status === "ready",
|
|
59
|
+
plugin,
|
|
60
|
+
...(plugin.last_error ? { error: plugin.last_error } : {}),
|
|
61
|
+
})),
|
|
204
62
|
};
|
|
205
63
|
}
|
|
206
64
|
/**
|
|
207
|
-
*
|
|
65
|
+
* 卸载当前上下文中全部 plugin。
|
|
208
66
|
*/
|
|
209
67
|
export async function stopAllPlugins(context) {
|
|
210
|
-
const
|
|
211
|
-
|
|
212
|
-
results.push(await controlPluginState({
|
|
213
|
-
pluginName: plugin.name,
|
|
214
|
-
action: "stop",
|
|
215
|
-
context,
|
|
216
|
-
}));
|
|
217
|
-
}
|
|
68
|
+
const snapshots = context.plugins.snapshots();
|
|
69
|
+
await context.plugins.unregisterAll();
|
|
218
70
|
return {
|
|
219
|
-
success:
|
|
220
|
-
results
|
|
71
|
+
success: true,
|
|
72
|
+
results: snapshots.map((plugin) => ({
|
|
73
|
+
success: true,
|
|
74
|
+
plugin,
|
|
75
|
+
})),
|
|
221
76
|
};
|
|
222
77
|
}
|
|
223
78
|
//# sourceMappingURL=PluginStateController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginStateController.js","sourceRoot":"","sources":["../../../src/plugin/core/PluginStateController.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"PluginStateController.js","sourceRoot":"","sources":["../../../src/plugin/core/PluginStateController.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* - 保留旧的 `@/plugin/types/Plugin.js` 导入路径。
|
|
6
6
|
* - 真实类型按职责拆到 `src/types/plugin/*`,避免单文件继续膨胀。
|
|
7
7
|
*/
|
|
8
|
-
export type { PluginState, PluginStateControlAction, PluginStateControlResult,
|
|
8
|
+
export type { PluginState, PluginStateControlAction, PluginStateControlResult, PluginRuntimeRecord, PluginSnapshot, PluginStateSnapshot, } from "../../types/plugin/PluginState.js";
|
|
9
9
|
export type { PluginCommandContext, PluginCommandParams, PluginCommandResult, PluginLifecycle, } from "../../types/plugin/PluginCommand.js";
|
|
10
10
|
export type { PluginAction, PluginActionApi, PluginActionCommand, PluginActionCommandInput, PluginActionExample, PluginActionInvokeParams, PluginActionInvokePort, PluginActionInvokeResult, PluginActionInputSchema, PluginActionMetadata, PluginActionResult, PluginActions, } from "../../types/plugin/PluginAction.js";
|
|
11
11
|
export type { PluginAvailability, PluginConfigDefinition, PluginEffectHook, PluginGuardHook, PluginHooks, PluginPipelineHook, AgentPlugins, PluginActionReadView, PluginResolveHook, PluginResolves, PluginReadView, PluginView, } from "../../types/plugin/PluginRuntime.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,
|
|
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,mBAAmB,EACnB,cAAc,EACd,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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PluginState:plugin 运行状态相关共享类型导出。
|
|
3
3
|
*/
|
|
4
|
-
export type { PluginState, PluginStateControlAction, PluginStateControlResult,
|
|
4
|
+
export type { PluginState, PluginStateControlAction, PluginStateControlResult, PluginRuntimeRecord, PluginSnapshot, PluginStateSnapshot, } from "../../types/plugin/PluginState.js";
|
|
5
5
|
//# sourceMappingURL=PluginState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginState.d.ts","sourceRoot":"","sources":["../../../src/plugin/types/PluginState.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACV,WAAW,EACX,wBAAwB,EACxB,wBAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"PluginState.d.ts","sourceRoot":"","sources":["../../../src/plugin/types/PluginState.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACV,WAAW,EACX,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,GACpB,MAAM,+BAA+B,CAAC"}
|
|
@@ -2,27 +2,27 @@
|
|
|
2
2
|
* plugin 管理命令类型。
|
|
3
3
|
*/
|
|
4
4
|
import type { JsonValue } from "../../types/common/Json.js";
|
|
5
|
-
export type PluginControlAction = "
|
|
5
|
+
export type PluginControlAction = "status" | "unregister";
|
|
6
6
|
/**
|
|
7
7
|
* 单个 plugin 的对外状态视图。
|
|
8
8
|
*/
|
|
9
9
|
export type PluginStateView = {
|
|
10
10
|
/** plugin 稳定名称。 */
|
|
11
11
|
name: string;
|
|
12
|
-
/**
|
|
13
|
-
state: "
|
|
14
|
-
/**
|
|
12
|
+
/** 当前注册状态。 */
|
|
13
|
+
state: "ready" | "error";
|
|
14
|
+
/** 当前注册状态。 */
|
|
15
|
+
status: "ready" | "error";
|
|
16
|
+
/** 注册时间(毫秒时间戳)。 */
|
|
17
|
+
registered_at: number;
|
|
18
|
+
/** 最近更新时间(毫秒时间戳)。 */
|
|
19
|
+
updated_at: number;
|
|
20
|
+
/** 兼容旧字段的最近一次状态更新时间。 */
|
|
15
21
|
updatedAt: number;
|
|
16
22
|
/** 最近一次错误信息。 */
|
|
17
23
|
lastError?: string;
|
|
18
|
-
/**
|
|
19
|
-
|
|
20
|
-
/** 最近一次执行命令的时间(毫秒时间戳)。 */
|
|
21
|
-
lastCommandAt?: number;
|
|
22
|
-
/** 当前 plugin 是否支持显式 start/stop 生命周期控制。 */
|
|
23
|
-
supportsLifecycle: boolean;
|
|
24
|
-
/** 当前 plugin 是否支持 command/action 调用。 */
|
|
25
|
-
supportsCommand: boolean;
|
|
24
|
+
/** 最近一次错误信息。 */
|
|
25
|
+
last_error?: string;
|
|
26
26
|
};
|
|
27
27
|
/**
|
|
28
28
|
* plugin 状态列表响应。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugins.d.ts","sourceRoot":"","sources":["../../../src/plugin/types/Plugins.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,MAAM,mBAAmB,GAAG,
|
|
1
|
+
{"version":3,"file":"Plugins.d.ts","sourceRoot":"","sources":["../../../src/plugin/types/Plugins.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc;IACd,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,cAAc;IACd,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAC1B,mBAAmB;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC"}
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { Tool } from "ai";
|
|
9
9
|
import type { Shell } from "@downcity/shell";
|
|
10
|
-
import type {
|
|
10
|
+
import type { Plugin } from "../../types/plugin/PluginDefinition.js";
|
|
11
11
|
import type { AgentModel } from "../../model/CityModelAdapter.js";
|
|
12
|
+
import type { DowncityConfig } from "../../types/config/DowncityConfig.js";
|
|
12
13
|
import type { AgentManagedSession, SessionOptions } from "../../types/session/SessionOptions.js";
|
|
13
14
|
/**
|
|
14
15
|
* Agent 可使用的 Session 类。
|
|
@@ -70,12 +71,12 @@ export interface AgentOptions {
|
|
|
70
71
|
* 当前 agent 显式持有的插件实例集合。
|
|
71
72
|
*
|
|
72
73
|
* 关键点(中文)
|
|
73
|
-
* -
|
|
74
|
+
* - 这里接收已经创建好的 `Plugin` 对象,而不是 plugin class。
|
|
74
75
|
* - `Agent` 会在构造阶段按名称注册这些实例,并自动绑定到当前 runtime。
|
|
75
76
|
* - 同名 plugin 会直接报错,避免 action / hook / resolve 行为被静默覆盖。
|
|
76
77
|
* - SDK 不再自动注入任何 built-in plugin;需要的能力都应由宿主显式传入。
|
|
77
78
|
*/
|
|
78
|
-
plugins?:
|
|
79
|
+
plugins?: Plugin[];
|
|
79
80
|
/**
|
|
80
81
|
* 当前 agent 使用的本地 Session 类。
|
|
81
82
|
*
|
|
@@ -94,5 +95,13 @@ export interface AgentOptions {
|
|
|
94
95
|
* - 覆盖后的最终 env 会参与配置解析与运行时上下文装配,但不会回写到宿主环境。
|
|
95
96
|
*/
|
|
96
97
|
env?: Record<string, string>;
|
|
98
|
+
/**
|
|
99
|
+
* 宿主显式传入的运行时配置。
|
|
100
|
+
*
|
|
101
|
+
* 关键点(中文)
|
|
102
|
+
* - SDK 不要求项目目录存在 `downcity.json`。
|
|
103
|
+
* - CLI / Console 可从自己的配置存储读取后传入这里。
|
|
104
|
+
*/
|
|
105
|
+
config?: DowncityConfig;
|
|
97
106
|
}
|
|
98
107
|
//# sourceMappingURL=AgentOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentOptions.d.ts","sourceRoot":"","sources":["../../../src/types/agent/AgentOptions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"AgentOptions.d.ts","sourceRoot":"","sources":["../../../src/types/agent/AgentOptions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACf,MAAM,mCAAmC,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG,KACpC,OAAO,EAAE,cAAc,KACpB,mBAAmB,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;OAMG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE7B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEhC;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAElC;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB"}
|
|
@@ -65,7 +65,7 @@ export interface AgentPathRuntime {
|
|
|
65
65
|
*/
|
|
66
66
|
export interface AgentPluginConfigRuntime {
|
|
67
67
|
/**
|
|
68
|
-
* 将当前 `plugins`
|
|
68
|
+
* 将当前 `plugins` 配置块写回宿主配置存储。
|
|
69
69
|
*/
|
|
70
70
|
persistProjectPlugins(plugins: DowncityConfig["plugins"] | undefined): Promise<string>;
|
|
71
71
|
}
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
* - 所有字段都面向"项目骨架创建"语义,不掺杂 runtime 状态。
|
|
7
7
|
*/
|
|
8
8
|
import type { ExecutionBindingConfig } from "../../types/config/ExecutionBinding.js";
|
|
9
|
-
import type { DowncityConfig } from "../../types/config/DowncityConfig.js";
|
|
10
9
|
/**
|
|
11
10
|
* 可选的 chat channel 标识。
|
|
12
11
|
*/
|
|
@@ -24,7 +23,7 @@ export interface AgentProjectInitializationInput {
|
|
|
24
23
|
*
|
|
25
24
|
* 关键点(中文)
|
|
26
25
|
* - 为空时会自动回退到目录名推导出的默认 id。
|
|
27
|
-
* -
|
|
26
|
+
* - CLI 可把该字段写入自己的全局配置存储。
|
|
28
27
|
*/
|
|
29
28
|
id?: string;
|
|
30
29
|
/**
|
|
@@ -34,24 +33,13 @@ export interface AgentProjectInitializationInput {
|
|
|
34
33
|
* - 绑定 City AIService 暴露的模型 ID。
|
|
35
34
|
*/
|
|
36
35
|
execution: ExecutionBindingConfig;
|
|
37
|
-
/**
|
|
38
|
-
* 需要一并写入项目的 plugin 配置补丁。
|
|
39
|
-
*
|
|
40
|
-
* 说明(中文)
|
|
41
|
-
* - 这里只承载初始化时的最小配置,不负责 city 级 plugin lifecycle。
|
|
42
|
-
*/
|
|
43
|
-
plugins?: DowncityConfig["plugins"];
|
|
44
36
|
/**
|
|
45
37
|
* 需要启用的 chat channels。
|
|
46
38
|
*
|
|
47
39
|
* 关键点(中文)
|
|
48
|
-
* -
|
|
40
|
+
* - SDK 初始化器只返回选择结果,不负责配置持久化。
|
|
49
41
|
*/
|
|
50
42
|
channels?: AgentProjectChannel[];
|
|
51
|
-
/**
|
|
52
|
-
* 是否允许覆盖已存在的 `downcity.json`。
|
|
53
|
-
*/
|
|
54
|
-
forceOverwriteShipJson?: boolean;
|
|
55
43
|
}
|
|
56
44
|
/**
|
|
57
45
|
* 初始化完成后的摘要结果。
|
|
@@ -69,6 +57,10 @@ export interface AgentProjectInitializationResult {
|
|
|
69
57
|
* 最终启用的 chat channels。
|
|
70
58
|
*/
|
|
71
59
|
channels: AgentProjectChannel[];
|
|
60
|
+
/**
|
|
61
|
+
* 最终选择的 City AIService 模型 ID。
|
|
62
|
+
*/
|
|
63
|
+
modelId?: string;
|
|
72
64
|
/**
|
|
73
65
|
* 本次实际创建/写入的文件列表。
|
|
74
66
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentProject.d.ts","sourceRoot":"","sources":["../../../src/types/config/AgentProject.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentProject.d.ts","sourceRoot":"","sources":["../../../src/types/config/AgentProject.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAEjF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;;;OAKG;IACH,SAAS,EAAE,sBAAsB,CAAC;IAElC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAElC;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB;;OAEG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB"}
|
|
@@ -9,6 +9,9 @@ import type { AgentContext, StructuredConfig } from "../../types/runtime/agent/A
|
|
|
9
9
|
import type { JsonValue } from "../../types/common/Json.js";
|
|
10
10
|
import type { PluginActionResult } from "../../types/plugin/PluginAction.js";
|
|
11
11
|
import type { PluginActionExample } from "../../types/plugin/PluginAction.js";
|
|
12
|
+
import type { Plugin } from "../../types/plugin/PluginDefinition.js";
|
|
13
|
+
import type { AgentSessionSystemBlock } from "../../types/agent/AgentTypes.js";
|
|
14
|
+
import type { PluginSnapshot } from "../../types/plugin/PluginState.js";
|
|
12
15
|
/**
|
|
13
16
|
* Plugin 概览视图。
|
|
14
17
|
*/
|
|
@@ -72,9 +75,9 @@ export interface PluginReadView {
|
|
|
72
75
|
* Plugin 可用性结果。
|
|
73
76
|
*/
|
|
74
77
|
export interface PluginAvailability {
|
|
75
|
-
/** Plugin
|
|
78
|
+
/** Plugin 是否已注册。 */
|
|
76
79
|
enabled: boolean;
|
|
77
|
-
/** Plugin
|
|
80
|
+
/** Plugin 当前环境是否可用。 */
|
|
78
81
|
available: boolean;
|
|
79
82
|
/** 不可用原因列表。 */
|
|
80
83
|
reasons: string[];
|
|
@@ -83,6 +86,22 @@ export interface PluginAvailability {
|
|
|
83
86
|
* 当前 Agent 可用的 plugin 调用面。
|
|
84
87
|
*/
|
|
85
88
|
export interface AgentPlugins {
|
|
89
|
+
/** 注册或替换一个 plugin。 */
|
|
90
|
+
register(plugin: Plugin): Promise<PluginSnapshot>;
|
|
91
|
+
/** 卸载一个 plugin。 */
|
|
92
|
+
unregister(pluginName: string): Promise<boolean>;
|
|
93
|
+
/** 启动全部已挂载 plugin lifecycle。 */
|
|
94
|
+
startAll(): Promise<PluginSnapshot[]>;
|
|
95
|
+
/** 卸载全部 plugin。 */
|
|
96
|
+
unregisterAll(): Promise<void>;
|
|
97
|
+
/** 判断 plugin 是否已注册。 */
|
|
98
|
+
has(pluginName: string): boolean;
|
|
99
|
+
/** 读取单个 plugin 定义。 */
|
|
100
|
+
get(pluginName: string): Plugin | null;
|
|
101
|
+
/** 读取单个 plugin 注册快照。 */
|
|
102
|
+
status(pluginName: string): PluginSnapshot | null;
|
|
103
|
+
/** 列出全部已注册 plugin 快照。 */
|
|
104
|
+
snapshots(): PluginSnapshot[];
|
|
86
105
|
/** 列出全部已注册 plugin。 */
|
|
87
106
|
list(): PluginView[];
|
|
88
107
|
/** 读取 plugin / action metadata。 */
|
|
@@ -105,6 +124,8 @@ export interface AgentPlugins {
|
|
|
105
124
|
/** Action Payload(可选)。 */
|
|
106
125
|
payload?: JsonValue;
|
|
107
126
|
}): Promise<PluginActionResult<JsonValue>>;
|
|
127
|
+
/** 读取当前生效的 plugin system blocks。 */
|
|
128
|
+
systemBlocks(): Promise<AgentSessionSystemBlock[]>;
|
|
108
129
|
/** 运行 pipeline 点,按顺序链式变换值。 */
|
|
109
130
|
pipeline<T = JsonValue>(pointName: string, value: T): Promise<T>;
|
|
110
131
|
/** 运行 guard 点;任一插件抛错即终止。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginRuntime.d.ts","sourceRoot":"","sources":["../../../src/types/plugin/PluginRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"PluginRuntime.d.ts","sourceRoot":"","sources":["../../../src/types/plugin/PluginRuntime.ts"],"names":[],"mappings":"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"}
|