@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.
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,26 +1,32 @@
1
1
  /**
2
- * PluginActionRunner:主动型 plugin action/command 执行模块。
2
+ * PluginActionRunnerplugin command/action 兼容执行模块。
3
+ *
4
+ * 关键点(中文)
5
+ * - 新模型中注册即生效,不再要求 plugin 处于 running 状态。
6
+ * - `command` 仅作为 CLI/RPC 对 action 的兼容入口;优先执行同名 action。
7
+ * - 延迟调度仍复用本模块,保证 schedule 到点后走统一 action 规则。
3
8
  */
4
9
  import type { AgentContext } from "../../types/runtime/agent/AgentContext.js";
5
- import type { BasePlugin } from "../../plugin/core/BasePlugin.js";
6
10
  import type { PluginAction, PluginActionResult, PluginCommandResult, PluginStateSnapshot } from "../../plugin/types/Plugin.js";
7
11
  import type { PluginActionScheduleInput } from "../../plugin/types/ActionSchedule.js";
8
12
  import type { JsonValue } from "../../types/common/Json.js";
9
13
  /**
10
- * 按名称解析主动型 plugin action。
14
+ * 按名称解析 plugin action。
11
15
  */
12
- export declare function resolvePluginAction(plugin: BasePlugin, actionName: string): PluginAction<JsonValue, JsonValue> | null;
16
+ export declare function resolvePluginAction(plugin: {
17
+ actions?: Record<string, PluginAction<JsonValue, JsonValue>>;
18
+ }, actionName: string): PluginAction<JsonValue, JsonValue> | null;
13
19
  /**
14
- * 执行一个主动型 plugin action。
20
+ * 执行一个 plugin action。
15
21
  */
16
22
  export declare function invokePluginAction(params: {
17
- plugin: BasePlugin;
23
+ pluginName: string;
18
24
  actionName: string;
19
25
  payload?: JsonValue;
20
26
  context: AgentContext;
21
27
  }): Promise<PluginActionResult<JsonValue>>;
22
28
  /**
23
- * 统一执行主动型 plugin command。
29
+ * 统一执行 plugin command。
24
30
  */
25
31
  export declare function runPluginCommand(params: {
26
32
  pluginName: string;
@@ -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,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"}
1
+ {"version":3,"file":"PluginActionRunner.d.ts","sourceRoot":"","sources":["../../../src/plugin/core/PluginActionRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAIxD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE;IACN,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;CAC9D,EACD,UAAU,EAAE,MAAM,GACjB,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAI3C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,UAAU,EAAE,MAAM,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,CAMzC;AA8CD;;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,CA8FlE"}
@@ -1,68 +1,31 @@
1
1
  /**
2
- * PluginActionRunner:主动型 plugin action/command 执行模块。
2
+ * PluginActionRunnerplugin command/action 兼容执行模块。
3
+ *
4
+ * 关键点(中文)
5
+ * - 新模型中注册即生效,不再要求 plugin 处于 running 状态。
6
+ * - `command` 仅作为 CLI/RPC 对 action 的兼容入口;优先执行同名 action。
7
+ * - 延迟调度仍复用本模块,保证 schedule 到点后走统一 action 规则。
3
8
  */
4
9
  import { ActionScheduleStore } from "../../plugin/core/ActionScheduleStore.js";
5
10
  import { normalizeRunAtMsOrThrow } from "../../plugin/core/ActionScheduleTime.js";
6
- import { controlPluginState, ensurePluginStateRecord, markPluginCommand, markPluginState, resolvePluginByName, toPluginStateSnapshot, } from "../../plugin/core/PluginStateController.js";
7
- function resolveLifecycle(plugin) {
8
- return plugin.lifecycle;
9
- }
10
11
  /**
11
- * 按名称解析主动型 plugin action。
12
+ * 按名称解析 plugin action。
12
13
  */
13
14
  export function resolvePluginAction(plugin, actionName) {
14
15
  const key = String(actionName || "").trim();
15
16
  if (!key)
16
17
  return null;
17
- return plugin.actions[key] || null;
18
+ return plugin.actions?.[key] || null;
18
19
  }
19
20
  /**
20
- * 执行一个主动型 plugin action。
21
+ * 执行一个 plugin action。
21
22
  */
22
23
  export async function invokePluginAction(params) {
23
- const action = resolvePluginAction(params.plugin, params.actionName);
24
- if (!action) {
25
- return {
26
- success: false,
27
- error: `Plugin "${params.plugin.name}" does not implement action "${params.actionName}"`,
28
- };
29
- }
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;
43
- return await action.execute({
44
- context: params.context,
45
- payload: input_payload,
46
- input: input_payload,
47
- pluginName: params.plugin.name,
48
- actionName: params.actionName,
49
- });
50
- }
51
- catch (error) {
52
- return {
53
- success: false,
54
- error: String(error),
55
- };
56
- }
57
- }
58
- function toControlCommandAction(command) {
59
- if (command === "status" ||
60
- command === "start" ||
61
- command === "stop" ||
62
- command === "restart") {
63
- return command;
64
- }
65
- return null;
24
+ return await params.context.plugins.runAction({
25
+ plugin: params.pluginName,
26
+ action: params.actionName,
27
+ payload: params.payload,
28
+ });
66
29
  }
67
30
  async function schedulePluginAction(params) {
68
31
  try {
@@ -71,7 +34,7 @@ async function schedulePluginAction(params) {
71
34
  const store = new ActionScheduleStore(params.context.rootPath);
72
35
  try {
73
36
  const job = store.createJob({
74
- pluginName: params.plugin.name,
37
+ pluginName: params.pluginName,
75
38
  actionName: params.command,
76
39
  payload: params.payload ?? null,
77
40
  runAtMs,
@@ -100,96 +63,69 @@ async function schedulePluginAction(params) {
100
63
  }
101
64
  }
102
65
  /**
103
- * 统一执行主动型 plugin command。
66
+ * 统一执行 plugin command。
104
67
  */
105
68
  export async function runPluginCommand(params) {
106
- const plugin = resolvePluginByName(params.pluginName, {
107
- context: params.context,
108
- });
109
- if (!plugin) {
69
+ const pluginName = String(params.pluginName || "").trim();
70
+ const command = String(params.command || "")
71
+ .trim()
72
+ .toLowerCase();
73
+ const plugin = params.context.plugins.get(pluginName);
74
+ const snapshot = params.context.plugins.status(pluginName) || undefined;
75
+ if (!plugin || !snapshot) {
110
76
  return {
111
77
  success: false,
112
78
  message: `Unknown plugin: ${params.pluginName}`,
113
79
  };
114
80
  }
115
- const record = ensurePluginStateRecord(plugin);
116
- const command = String(params.command || "")
117
- .trim()
118
- .toLowerCase();
119
81
  if (!command) {
120
82
  return {
121
83
  success: false,
122
- plugin: toPluginStateSnapshot(record, plugin),
84
+ plugin: snapshot,
123
85
  message: "command is required",
124
86
  };
125
87
  }
126
- markPluginCommand(record, command);
88
+ if (command === "status") {
89
+ return {
90
+ success: true,
91
+ plugin: snapshot,
92
+ };
93
+ }
127
94
  const action = resolvePluginAction(plugin, command);
128
95
  if (params.schedule !== undefined && params.schedule !== null) {
129
96
  if (!action) {
130
97
  return {
131
98
  success: false,
132
- plugin: toPluginStateSnapshot(record, plugin),
99
+ plugin: snapshot,
133
100
  message: `Scheduling only supports plugin actions. "${plugin.name}.${command}" is not a schedulable action.`,
134
101
  };
135
102
  }
136
103
  return await schedulePluginAction({
137
- plugin,
104
+ pluginName: plugin.name,
138
105
  command,
139
106
  payload: params.payload,
140
107
  schedule: params.schedule,
141
- recordSnapshot: toPluginStateSnapshot(record, plugin),
108
+ recordSnapshot: snapshot,
142
109
  context: params.context,
143
110
  });
144
111
  }
145
112
  if (action) {
146
- if (record.state !== "running") {
147
- return {
148
- success: false,
149
- plugin: toPluginStateSnapshot(record, plugin),
150
- message: `Plugin "${plugin.name}" is not running`,
151
- };
152
- }
153
- const result = await invokePluginAction({
154
- plugin,
155
- actionName: command,
113
+ const result = await params.context.plugins.runAction({
114
+ plugin: plugin.name,
115
+ action: command,
156
116
  payload: params.payload,
157
- context: params.context,
158
- });
159
- if (!result.success) {
160
- return {
161
- success: false,
162
- plugin: toPluginStateSnapshot(record, plugin),
163
- message: result.error || "plugin action failed",
164
- };
165
- }
166
- return {
167
- success: true,
168
- plugin: toPluginStateSnapshot(record, plugin),
169
- ...(result.data !== undefined ? { data: result.data } : {}),
170
- };
171
- }
172
- const controlAction = toControlCommandAction(command);
173
- if (controlAction) {
174
- const result = await controlPluginState({
175
- pluginName: plugin.name,
176
- action: controlAction,
177
- context: params.context,
178
117
  });
179
118
  return {
180
119
  success: result.success,
181
- ...(result.plugin ? { plugin: result.plugin } : {}),
182
- ...(result.error ? { message: result.error } : {}),
183
- };
184
- }
185
- if (record.state !== "running") {
186
- return {
187
- success: false,
188
- plugin: toPluginStateSnapshot(record, plugin),
189
- message: `Plugin "${plugin.name}" is not running`,
120
+ plugin: params.context.plugins.status(plugin.name) || snapshot,
121
+ ...(result.message || result.error
122
+ ? { message: result.message || result.error }
123
+ : {}),
124
+ ...(result.data !== undefined ? { data: result.data } : {}),
125
+ ...(result.error ? { error: result.error } : {}),
190
126
  };
191
127
  }
192
- const handler = resolveLifecycle(plugin)?.command;
128
+ const handler = plugin.lifecycle?.command;
193
129
  if (handler) {
194
130
  try {
195
131
  const result = await handler({
@@ -199,21 +135,20 @@ export async function runPluginCommand(params) {
199
135
  });
200
136
  return {
201
137
  ...result,
202
- plugin: toPluginStateSnapshot(record, plugin),
138
+ plugin: params.context.plugins.status(plugin.name) || snapshot,
203
139
  };
204
140
  }
205
141
  catch (error) {
206
- markPluginState(record, "error", String(error));
207
142
  return {
208
143
  success: false,
209
- plugin: toPluginStateSnapshot(record, plugin),
144
+ plugin: params.context.plugins.status(plugin.name) || snapshot,
210
145
  message: String(error),
211
146
  };
212
147
  }
213
148
  }
214
149
  return {
215
150
  success: false,
216
- plugin: toPluginStateSnapshot(record, plugin),
151
+ plugin: snapshot,
217
152
  message: `Plugin "${plugin.name}" does not implement command "${command}"`,
218
153
  };
219
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PluginActionRunner.js","sourceRoot":"","sources":["../../../src/plugin/core/PluginActionRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PluginActionRunner.js","sourceRoot":"","sources":["../../../src/plugin/core/PluginActionRunner.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ export declare function listPluginViews(plugins: Iterable<Plugin>): PluginView[]
37
37
  *
38
38
  * 关键点(中文)
39
39
  * - 传入 context 时会调用 plugin 自己的 availability。
40
- * - 未传 context 时只做静态启用态检查,适合 Console 或 CLI 的目录回退展示。
40
+ * - 未传 context 时只返回静态目录说明,适合 Console 或 CLI 的目录回退展示。
41
41
  */
42
42
  export declare function resolvePluginAvailability(params: {
43
43
  plugins: Iterable<Plugin>;
@@ -1 +1 @@
1
- {"version":3,"file":"PluginCatalog.d.ts","sourceRoot":"","sources":["../../../src/plugin/core/PluginCatalog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EACV,MAAM,EACN,kBAAkB,EAClB,UAAU,EACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAE1E;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAEpF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAEvF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EACpB,UAAU,EAAE,MAAM,GACjB,CAAC,GAAG,IAAI,CAIV;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAuBvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,UAAU,EAAE,CAIvE;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE;IACtD,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0C9B;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE;IACpD,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,kBAAkB,CA2BrB"}
1
+ {"version":3,"file":"PluginCatalog.d.ts","sourceRoot":"","sources":["../../../src/plugin/core/PluginCatalog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,MAAM,EACN,kBAAkB,EAClB,UAAU,EACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAE1E;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAEpF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAEvF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EACpB,UAAU,EAAE,MAAM,GACjB,CAAC,GAAG,IAAI,CAIV;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAuBvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,UAAU,EAAE,CAIvE;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE;IACtD,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA8B9B;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE;IACpD,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,kBAAkB,CAkBrB"}
@@ -6,7 +6,6 @@
6
6
  * - 调用方只需要传入当前已注册或准备展示的 plugin 实例集合。
7
7
  * - Agent 的视角只有“传入的 plugin”,目录视图和可用性检查都从这些实例推导。
8
8
  */
9
- import { isPluginEnabled } from "../../plugin/core/Activation.js";
10
9
  /**
11
10
  * 判断 plugin 是否声明了运行时生命周期。
12
11
  */
@@ -64,7 +63,7 @@ export function listPluginViews(plugins) {
64
63
  *
65
64
  * 关键点(中文)
66
65
  * - 传入 context 时会调用 plugin 自己的 availability。
67
- * - 未传 context 时只做静态启用态检查,适合 Console 或 CLI 的目录回退展示。
66
+ * - 未传 context 时只返回静态目录说明,适合 Console 或 CLI 的目录回退展示。
68
67
  */
69
68
  export async function resolvePluginAvailability(params) {
70
69
  const plugin = findPluginByName(params.plugins, params.pluginName);
@@ -78,17 +77,6 @@ export async function resolvePluginAvailability(params) {
78
77
  if (params.context && plugin.availability) {
79
78
  return await plugin.availability(params.context);
80
79
  }
81
- const enabled = isPluginEnabled({
82
- plugin,
83
- ...(params.context ? { context: params.context } : {}),
84
- });
85
- if (!enabled) {
86
- return {
87
- enabled: false,
88
- available: false,
89
- reasons: [`Plugin "${plugin.name}" is disabled`],
90
- };
91
- }
92
80
  const agentReason = String(params.agentError || "").trim();
93
81
  if (agentReason || !params.context) {
94
82
  return {
@@ -117,14 +105,6 @@ export function buildStaticPluginAvailability(params) {
117
105
  reasons: [`Unknown plugin: ${params.pluginName}`],
118
106
  };
119
107
  }
120
- const enabled = isPluginEnabled({ plugin });
121
- if (!enabled) {
122
- return {
123
- enabled: false,
124
- available: false,
125
- reasons: [`Plugin "${plugin.name}" is disabled`],
126
- };
127
- }
128
108
  const agentReason = String(params.agentError || "").trim();
129
109
  return {
130
110
  enabled: true,
@@ -1 +1 @@
1
- {"version":3,"file":"PluginCatalog.js","sourceRoot":"","sources":["../../../src/plugin/core/PluginCatalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PluginCatalog.js","sourceRoot":"","sources":["../../../src/plugin/core/PluginCatalog.ts"],"names":[],"mappings":"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"}
@@ -4,14 +4,21 @@
4
4
  * 关键点(中文)
5
5
  * - 这里不创建或维护任何全局注册表,调用方必须显式传入 plugin 集合。
6
6
  * - 用于 CLI / 控制面这类没有运行中 Agent 实例、但需要执行 setup action 的场景。
7
- * - 真正运行中的 Agent 仍应优先使用 `PluginRegistry.runAction`。
7
+ * - 真正运行中的 Agent 仍应优先使用 `Agent.plugins.runAction`。
8
8
  */
9
9
  import type { JsonValue } from "../../types/common/Json.js";
10
10
  import type { Plugin, PluginActionResult, PluginAvailability, PluginCommandContext } from "../../plugin/types/Plugin.js";
11
+ import type { DowncityConfig } from "../../types/config/DowncityConfig.js";
12
+ type LocalPluginCommandContextInput = {
13
+ /** 当前项目根目录。 */
14
+ projectRoot: string;
15
+ /** 宿主显式传入的 agent 配置。 */
16
+ config?: DowncityConfig;
17
+ };
11
18
  /**
12
19
  * 创建本地 plugin 命令上下文。
13
20
  */
14
- export declare function createLocalPluginCommandContext(projectRoot: string): PluginCommandContext;
21
+ export declare function createLocalPluginCommandContext(input: string | LocalPluginCommandContextInput): PluginCommandContext;
15
22
  /**
16
23
  * 读取本地 plugin availability。
17
24
  */
@@ -19,6 +26,7 @@ export declare function getLocalPluginAvailability(params: {
19
26
  plugins: Iterable<Plugin>;
20
27
  projectRoot: string;
21
28
  pluginName: string;
29
+ config?: DowncityConfig;
22
30
  }): Promise<PluginAvailability>;
23
31
  /**
24
32
  * 直接执行本地 plugin action。
@@ -29,5 +37,7 @@ export declare function runLocalPluginAction(params: {
29
37
  pluginName: string;
30
38
  actionName: string;
31
39
  payload?: JsonValue;
40
+ config?: DowncityConfig;
32
41
  }): Promise<PluginActionResult<JsonValue>>;
42
+ export {};
33
43
  //# sourceMappingURL=PluginLocalExecution.d.ts.map
@@ -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,CAkEzC"}
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;AAElC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,KAAK,8BAA8B,GAAG;IACpC,eAAe;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,MAAM,GAAG,8BAA8B,GAC7C,oBAAoB,CAuBtB;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;IACnB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuB9B;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;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CA6DzC"}
@@ -4,21 +4,25 @@
4
4
  * 关键点(中文)
5
5
  * - 这里不创建或维护任何全局注册表,调用方必须显式传入 plugin 集合。
6
6
  * - 用于 CLI / 控制面这类没有运行中 Agent 实例、但需要执行 setup action 的场景。
7
- * - 真正运行中的 Agent 仍应优先使用 `PluginRegistry.runAction`。
7
+ * - 真正运行中的 Agent 仍应优先使用 `Agent.plugins.runAction`。
8
8
  */
9
9
  import path from "node:path";
10
10
  import { logger as defaultLogger } from "../../utils/logger/Logger.js";
11
- import { loadDowncityConfig, resolveAgentEnv } from "../../config/Config.js";
12
- import { isPluginEnabled } from "../../plugin/core/Activation.js";
11
+ import { resolveAgentEnv } from "../../config/Config.js";
13
12
  import { findPluginByName } from "../../plugin/core/PluginCatalog.js";
14
13
  import { createAgentPathRuntime, createAgentPluginConfigRuntime, } from "../../agent/local/AgentRuntimeAssembly.js";
14
+ import { createFallbackSdkConfig } from "../../agent/local/AgentInstructions.js";
15
15
  /**
16
16
  * 创建本地 plugin 命令上下文。
17
17
  */
18
- export function createLocalPluginCommandContext(projectRoot) {
18
+ export function createLocalPluginCommandContext(input) {
19
+ const projectRoot = typeof input === "string" ? input : input.projectRoot;
19
20
  const rootPath = path.resolve(String(projectRoot || "").trim() || ".");
20
21
  const env = resolveAgentEnv(rootPath);
21
- const config = loadDowncityConfig(rootPath);
22
+ const config = typeof input === "string" || !input.config
23
+ ? createFallbackSdkConfig(path.basename(rootPath) || "agent")
24
+ : input.config;
25
+ const agent_id = String(config.id || "").trim() || path.basename(rootPath) || "agent";
22
26
  defaultLogger.bindProjectRoot(rootPath);
23
27
  return {
24
28
  cwd: rootPath,
@@ -26,7 +30,7 @@ export function createLocalPluginCommandContext(projectRoot) {
26
30
  logger: defaultLogger,
27
31
  config,
28
32
  env,
29
- paths: createAgentPathRuntime(rootPath, String(config.id || "").trim() || path.basename(rootPath) || "agent"),
33
+ paths: createAgentPathRuntime(rootPath, agent_id),
30
34
  pluginConfig: createAgentPluginConfigRuntime(rootPath),
31
35
  };
32
36
  }
@@ -42,18 +46,13 @@ export async function getLocalPluginAvailability(params) {
42
46
  reasons: [`Unknown plugin: ${params.pluginName}`],
43
47
  };
44
48
  }
45
- const context = createLocalPluginCommandContext(params.projectRoot);
49
+ const context = createLocalPluginCommandContext({
50
+ projectRoot: params.projectRoot,
51
+ config: params.config,
52
+ });
46
53
  if (plugin.availability) {
47
54
  return await plugin.availability(context);
48
55
  }
49
- const enabled = isPluginEnabled({ plugin, context });
50
- if (!enabled) {
51
- return {
52
- enabled: false,
53
- available: false,
54
- reasons: [`Plugin "${plugin.name}" is disabled`],
55
- };
56
- }
57
56
  return {
58
57
  enabled: true,
59
58
  available: true,
@@ -88,15 +87,10 @@ export async function runLocalPluginAction(params) {
88
87
  message: `Plugin "${plugin.name}" does not implement action "${actionName}"`,
89
88
  };
90
89
  }
91
- const context = createLocalPluginCommandContext(params.projectRoot);
92
- const enabled = isPluginEnabled({ plugin, context });
93
- if (!enabled && action.allowWhenDisabled !== true) {
94
- return {
95
- success: false,
96
- error: `Plugin "${plugin.name}" is disabled`,
97
- message: `Plugin "${plugin.name}" is disabled`,
98
- };
99
- }
90
+ const context = createLocalPluginCommandContext({
91
+ projectRoot: params.projectRoot,
92
+ config: params.config,
93
+ });
100
94
  try {
101
95
  const payload = (params.payload ?? {});
102
96
  const schema = action.input_schema?.zod;
@@ -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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"}