@downcity/agent 1.1.175 → 1.1.179

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.
Files changed (139) hide show
  1. package/bin/agent/local/AgentPluginFactory.d.ts +4 -2
  2. package/bin/agent/local/AgentPluginFactory.d.ts.map +1 -1
  3. package/bin/agent/local/AgentPluginFactory.js +4 -6
  4. package/bin/agent/local/AgentPluginFactory.js.map +1 -1
  5. package/bin/agent/local/AgentRuntimeAssembly.d.ts.map +1 -1
  6. package/bin/agent/local/AgentRuntimeAssembly.js +3 -8
  7. package/bin/agent/local/AgentRuntimeAssembly.js.map +1 -1
  8. package/bin/agent/local/ProjectSetup.d.ts +1 -1
  9. package/bin/agent/local/ProjectSetup.d.ts.map +1 -1
  10. package/bin/agent/local/ProjectSetup.js +2 -6
  11. package/bin/agent/local/ProjectSetup.js.map +1 -1
  12. package/bin/agent/local/services/AgentAssemblyService.d.ts +2 -3
  13. package/bin/agent/local/services/AgentAssemblyService.d.ts.map +1 -1
  14. package/bin/agent/local/services/AgentAssemblyService.js +9 -14
  15. package/bin/agent/local/services/AgentAssemblyService.js.map +1 -1
  16. package/bin/agent/local/services/AgentBackgroundService.d.ts.map +1 -1
  17. package/bin/agent/local/services/AgentBackgroundService.js +5 -6
  18. package/bin/agent/local/services/AgentBackgroundService.js.map +1 -1
  19. package/bin/agent/local/services/AgentSessionManager.d.ts +2 -2
  20. package/bin/agent/local/services/AgentSessionManager.d.ts.map +1 -1
  21. package/bin/agent/local/services/AgentSessionManager.js +1 -28
  22. package/bin/agent/local/services/AgentSessionManager.js.map +1 -1
  23. package/bin/config/AgentInitializer.d.ts +4 -4
  24. package/bin/config/AgentInitializer.d.ts.map +1 -1
  25. package/bin/config/AgentInitializer.js +7 -49
  26. package/bin/config/AgentInitializer.js.map +1 -1
  27. package/bin/config/DowncitySchema.d.ts +3 -4
  28. package/bin/config/DowncitySchema.d.ts.map +1 -1
  29. package/bin/config/DowncitySchema.js +1 -2
  30. package/bin/config/DowncitySchema.js.map +1 -1
  31. package/bin/executor/composer/system/default/SystemDomain.d.ts.map +1 -1
  32. package/bin/executor/composer/system/default/SystemDomain.js +1 -2
  33. package/bin/executor/composer/system/default/SystemDomain.js.map +1 -1
  34. package/bin/executor/composer/system/default/assets/core.prompt.d.ts +1 -1
  35. package/bin/executor/composer/system/default/assets/core.prompt.d.ts.map +1 -1
  36. package/bin/executor/composer/system/default/assets/core.prompt.js +1 -1
  37. package/bin/executor/composer/system/default/assets/core.prompt.js.map +1 -1
  38. package/bin/index.d.ts +0 -2
  39. package/bin/index.d.ts.map +1 -1
  40. package/bin/index.js +1 -4
  41. package/bin/index.js.map +1 -1
  42. package/bin/plugin/core/Activation.d.ts +6 -5
  43. package/bin/plugin/core/Activation.d.ts.map +1 -1
  44. package/bin/plugin/core/Activation.js +9 -9
  45. package/bin/plugin/core/Activation.js.map +1 -1
  46. package/bin/plugin/core/BasePlugin.d.ts +5 -4
  47. package/bin/plugin/core/BasePlugin.d.ts.map +1 -1
  48. package/bin/plugin/core/BasePlugin.js +7 -4
  49. package/bin/plugin/core/BasePlugin.js.map +1 -1
  50. package/bin/plugin/core/HookRegistry.d.ts +4 -0
  51. package/bin/plugin/core/HookRegistry.d.ts.map +1 -1
  52. package/bin/plugin/core/HookRegistry.js +40 -0
  53. package/bin/plugin/core/HookRegistry.js.map +1 -1
  54. package/bin/plugin/core/Manager.d.ts +1 -1
  55. package/bin/plugin/core/Manager.d.ts.map +1 -1
  56. package/bin/plugin/core/Manager.js +1 -1
  57. package/bin/plugin/core/Manager.js.map +1 -1
  58. package/bin/plugin/core/PluginActionRunner.d.ts +13 -7
  59. package/bin/plugin/core/PluginActionRunner.d.ts.map +1 -1
  60. package/bin/plugin/core/PluginActionRunner.js +46 -111
  61. package/bin/plugin/core/PluginActionRunner.js.map +1 -1
  62. package/bin/plugin/core/PluginCatalog.d.ts +1 -1
  63. package/bin/plugin/core/PluginCatalog.d.ts.map +1 -1
  64. package/bin/plugin/core/PluginCatalog.js +1 -21
  65. package/bin/plugin/core/PluginCatalog.js.map +1 -1
  66. package/bin/plugin/core/PluginLocalExecution.d.ts +12 -2
  67. package/bin/plugin/core/PluginLocalExecution.d.ts.map +1 -1
  68. package/bin/plugin/core/PluginLocalExecution.js +18 -24
  69. package/bin/plugin/core/PluginLocalExecution.js.map +1 -1
  70. package/bin/plugin/core/PluginRegistry.d.ts +60 -7
  71. package/bin/plugin/core/PluginRegistry.d.ts.map +1 -1
  72. package/bin/plugin/core/PluginRegistry.js +269 -42
  73. package/bin/plugin/core/PluginRegistry.js.map +1 -1
  74. package/bin/plugin/core/PluginStateController.d.ts +11 -36
  75. package/bin/plugin/core/PluginStateController.d.ts.map +1 -1
  76. package/bin/plugin/core/PluginStateController.js +45 -190
  77. package/bin/plugin/core/PluginStateController.js.map +1 -1
  78. package/bin/plugin/types/Plugin.d.ts +1 -1
  79. package/bin/plugin/types/Plugin.d.ts.map +1 -1
  80. package/bin/plugin/types/PluginState.d.ts +1 -1
  81. package/bin/plugin/types/PluginState.d.ts.map +1 -1
  82. package/bin/plugin/types/Plugins.d.ts +12 -12
  83. package/bin/plugin/types/Plugins.d.ts.map +1 -1
  84. package/bin/types/agent/AgentOptions.d.ts +12 -3
  85. package/bin/types/agent/AgentOptions.d.ts.map +1 -1
  86. package/bin/types/agent/AgentRuntimeAssembly.d.ts +1 -1
  87. package/bin/types/config/AgentProject.d.ts +6 -14
  88. package/bin/types/config/AgentProject.d.ts.map +1 -1
  89. package/bin/types/plugin/PluginRuntime.d.ts +23 -2
  90. package/bin/types/plugin/PluginRuntime.d.ts.map +1 -1
  91. package/bin/types/plugin/PluginState.d.ts +47 -36
  92. package/bin/types/plugin/PluginState.d.ts.map +1 -1
  93. package/bin/types/plugin/PluginState.js +4 -3
  94. package/bin/types/plugin/PluginState.js.map +1 -1
  95. package/bin/types/runtime/agent/AgentContext.d.ts +3 -3
  96. package/bin/types/runtime/agent/AgentContext.d.ts.map +1 -1
  97. package/bin/types/runtime/agent/AgentContext.js.map +1 -1
  98. package/package.json +3 -3
  99. package/src/agent/local/AgentPluginFactory.ts +8 -8
  100. package/src/agent/local/AgentRuntimeAssembly.ts +3 -9
  101. package/src/agent/local/ProjectSetup.ts +1 -8
  102. package/src/agent/local/services/AgentAssemblyService.ts +13 -23
  103. package/src/agent/local/services/AgentBackgroundService.ts +5 -6
  104. package/src/agent/local/services/AgentSessionManager.ts +4 -26
  105. package/src/config/AgentInitializer.ts +7 -57
  106. package/src/config/DowncitySchema.ts +3 -4
  107. package/src/executor/composer/system/default/SystemDomain.ts +1 -2
  108. package/src/executor/composer/system/default/assets/core.prompt.ts +1 -1
  109. package/src/executor/composer/system/default/assets/core.prompt.ts.txt +1 -1
  110. package/src/index.ts +1 -8
  111. package/src/plugin/core/Activation.ts +10 -10
  112. package/src/plugin/core/BasePlugin.ts +9 -6
  113. package/src/plugin/core/HookRegistry.ts +41 -0
  114. package/src/plugin/core/Manager.ts +0 -2
  115. package/src/plugin/core/PluginActionRunner.ts +52 -133
  116. package/src/plugin/core/PluginCatalog.ts +1 -23
  117. package/src/plugin/core/PluginLocalExecution.ts +30 -25
  118. package/src/plugin/core/PluginRegistry.ts +298 -44
  119. package/src/plugin/core/PluginStateController.ts +45 -235
  120. package/src/plugin/types/Plugin.ts +2 -1
  121. package/src/plugin/types/PluginState.ts +2 -1
  122. package/src/plugin/types/Plugins.ts +12 -12
  123. package/src/types/agent/AgentOptions.ts +13 -3
  124. package/src/types/agent/AgentRuntimeAssembly.ts +1 -1
  125. package/src/types/config/AgentProject.ts +7 -15
  126. package/src/types/plugin/PluginRuntime.ts +23 -2
  127. package/src/types/plugin/PluginState.ts +50 -43
  128. package/src/types/runtime/agent/AgentContext.ts +3 -3
  129. package/tsconfig.tsbuildinfo +1 -1
  130. package/bin/config/Defaults.d.ts +0 -21
  131. package/bin/config/Defaults.d.ts.map +0 -1
  132. package/bin/config/Defaults.js +0 -47
  133. package/bin/config/Defaults.js.map +0 -1
  134. package/bin/plugin/core/ProjectConfigStore.d.ts +0 -84
  135. package/bin/plugin/core/ProjectConfigStore.d.ts.map +0 -1
  136. package/bin/plugin/core/ProjectConfigStore.js +0 -89
  137. package/bin/plugin/core/ProjectConfigStore.js.map +0 -1
  138. package/src/config/Defaults.ts +0 -49
  139. 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;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAEV,WAAW,EACX,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAU9D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE;IAC1C,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,GAAG,UAAU,EAAE,CAMf;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE;IACN,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,GACA,UAAU,GAAG,IAAI,CAInB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,UAAU,GACjB,iBAAiB,CAEnB;AAMD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,UAAU,GACjB,mBAAmB,CAcrB;AAcD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,WAAW,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,IAAI,CAQN;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM,GACd,IAAI,CAIN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE;IACvC,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,GAAG,mBAAmB,EAAE,CAMxB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE;IACN,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,GACA,OAAO,CAIT;AAgED;;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,CA8BpC;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,CAeD;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,CAeD"}
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
- * PluginStateController:主动型 plugin 状态控制与状态记录模块。
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
- * 确保 plugin 对应的状态记录存在。
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 listPluginInstances(input)
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
- * 判断指定主动型 plugin 是否处于运行中。
15
+ * 判断指定 plugin 是否已注册且 ready。
91
16
  */
92
17
  export function isPluginRunning(pluginName, input) {
93
- const plugin = resolvePluginByName(pluginName, input);
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
- * 执行单个主动型 plugin 状态控制动作。
21
+ * 执行兼容 plugin 控制动作。
160
22
  */
161
23
  export async function controlPluginState(params) {
162
- const plugin = resolvePluginByName(params.pluginName, {
163
- context: params.context,
164
- });
165
- if (!plugin) {
24
+ const pluginName = String(params.pluginName || "").trim();
25
+ if (!pluginName) {
166
26
  return {
167
27
  success: false,
168
- error: `Unknown plugin: ${params.pluginName}`,
28
+ error: "pluginName is required",
169
29
  };
170
30
  }
171
- if (params.action === "status") {
172
- const record = ensurePluginStateRecord(plugin);
173
- return {
174
- success: true,
175
- plugin: toPluginStateSnapshot(record, plugin),
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 (params.action === "start") {
179
- return await startPluginInternal(plugin, params.context);
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
- if (params.action === "stop") {
182
- return await stopPluginInternal(plugin, params.context);
183
- }
184
- const stopResult = await stopPluginInternal(plugin, params.context);
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
- * 启动当前上下文中全部主动型 plugin。
51
+ * 启动当前上下文中全部已挂载 plugin。
191
52
  */
192
53
  export async function startAllPlugins(context) {
193
- const results = [];
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: results.every((item) => item.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
- * 停止当前上下文中全部主动型 plugin。
65
+ * 卸载当前上下文中全部 plugin。
208
66
  */
209
67
  export async function stopAllPlugins(context) {
210
- const results = [];
211
- for (const plugin of listPluginInstances({ context })) {
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: results.every((item) => item.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":"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"}
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, PluginStateRecord, PluginStateSnapshot, } from "../../types/plugin/PluginState.js";
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,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"}
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, PluginStateRecord, PluginStateSnapshot, } from "../../types/plugin/PluginState.js";
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,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC"}
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 = "start" | "stop" | "restart" | "status";
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: "running" | "stopped" | "starting" | "stopping" | "error";
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
- lastCommand?: string;
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,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc;IACd,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;IACjE,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wCAAwC;IACxC,eAAe,EAAE,OAAO,CAAC;CAC1B,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"}
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 { BasePlugin } from "../../plugin/core/BasePlugin.js";
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
- * - 这里接收已经实例化好的 `BasePlugin` 对象,而不是 plugin class。
74
+ * - 这里接收已经创建好的 `Plugin` 对象,而不是 plugin class。
74
75
  * - `Agent` 会在构造阶段按名称注册这些实例,并自动绑定到当前 runtime。
75
76
  * - 同名 plugin 会直接报错,避免 action / hook / resolve 行为被静默覆盖。
76
77
  * - SDK 不再自动注入任何 built-in plugin;需要的能力都应由宿主显式传入。
77
78
  */
78
- plugins?: BasePlugin[];
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,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,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,UAAU,EAAE,CAAC;IAEvB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAElC;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B"}
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` 配置块写回项目 `downcity.json`。
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
- * - 该字段会直接写入 `downcity.json.id`。
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
- * - 仅写入用户选择的渠道,未选择的渠道不会写入 `downcity.json`。
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;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE;;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,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IAEpC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAEjC;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;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,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB;;OAEG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB"}
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":"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"}
1
+ {"version":3,"file":"PluginRuntime.d.ts","sourceRoot":"","sources":["../../../src/types/plugin/PluginRuntime.ts"],"names":[],"mappings":"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"}