@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
@@ -5,7 +5,7 @@
5
5
  * - 这里只负责把 plugin 实例装配成 registry。
6
6
  * - Agent 仍然持有长期状态;这里不创建新的运行时层级。
7
7
  */
8
- import type { BasePlugin } from "../../plugin/core/BasePlugin.js";
8
+ import type { Plugin } from "../../types/plugin/PluginDefinition.js";
9
9
  import type { AgentContext } from "../../types/runtime/agent/AgentContext.js";
10
10
  import { PluginRegistry } from "../../plugin/core/PluginRegistry.js";
11
11
  /**
@@ -13,7 +13,9 @@ import { PluginRegistry } from "../../plugin/core/PluginRegistry.js";
13
13
  */
14
14
  export interface CreateAgentPluginRegistryOptions {
15
15
  /** 当前 agent 显式注册的 plugin 实例。 */
16
- plugins: BasePlugin[];
16
+ plugins: Plugin[];
17
+ /** 当前 agent plugin 实例集合。 */
18
+ plugin_instances: Map<string, Plugin>;
17
19
  /** 延迟读取当前 AgentContext。 */
18
20
  get_context: () => AgentContext;
19
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AgentPluginFactory.d.ts","sourceRoot":"","sources":["../../../src/agent/local/AgentPluginFactory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGjE;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,gCAAgC;IAChC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,YAAY,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC,cAAc,CAqBhB"}
1
+ {"version":3,"file":"AgentPluginFactory.d.ts","sourceRoot":"","sources":["../../../src/agent/local/AgentPluginFactory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,gCAAgC;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4BAA4B;IAC5B,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,2BAA2B;IAC3B,WAAW,EAAE,MAAM,YAAY,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC,cAAc,CAoBhB"}
@@ -7,7 +7,6 @@
7
7
  */
8
8
  import { HookRegistry } from "../../plugin/core/HookRegistry.js";
9
9
  import { PluginRegistry } from "../../plugin/core/PluginRegistry.js";
10
- import { isPluginEnabled } from "../../plugin/core/Activation.js";
11
10
  /**
12
11
  * 创建 plugin 注册表。
13
12
  */
@@ -16,19 +15,18 @@ export function createAgentPluginRegistry(options) {
16
15
  const hook_registry = new HookRegistry({
17
16
  contextResolver: options.get_context,
18
17
  pluginEnabledChecker: (plugin_name) => {
19
- const plugin = plugin_registry_ref?.get(plugin_name);
20
- return plugin
21
- ? isPluginEnabled({ plugin, context: options.get_context() })
22
- : false;
18
+ void options;
19
+ return plugin_registry_ref?.isReady(plugin_name) || false;
23
20
  },
24
21
  });
25
22
  const registry = new PluginRegistry({
26
23
  contextResolver: options.get_context,
27
24
  hookRegistry: hook_registry,
25
+ pluginInstances: options.plugin_instances,
28
26
  });
29
27
  plugin_registry_ref = registry;
30
28
  for (const plugin of options.plugins) {
31
- registry.register(plugin);
29
+ registry.mount(plugin);
32
30
  }
33
31
  return registry;
34
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AgentPluginFactory.js","sourceRoot":"","sources":["../../../src/agent/local/AgentPluginFactory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAY9D;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAyC;IAEzC,IAAI,mBAAmB,GAA0B,IAAI,CAAC;IACtD,MAAM,aAAa,GAAG,IAAI,YAAY,CAAC;QACrC,eAAe,EAAE,OAAO,CAAC,WAAW;QACpC,oBAAoB,EAAE,CAAC,WAAW,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,mBAAmB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YACrD,OAAO,MAAM;gBACX,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC7D,CAAC,CAAC,KAAK,CAAC;QACZ,CAAC;KACF,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC;QAClC,eAAe,EAAE,OAAO,CAAC,WAAW;QACpC,YAAY,EAAE,aAAa;KAC5B,CAAC,CAAC;IACH,mBAAmB,GAAG,QAAQ,CAAC;IAE/B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"AgentPluginFactory.js","sourceRoot":"","sources":["../../../src/agent/local/AgentPluginFactory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAcjE;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAyC;IAEzC,IAAI,mBAAmB,GAA0B,IAAI,CAAC;IACtD,MAAM,aAAa,GAAG,IAAI,YAAY,CAAC;QACrC,eAAe,EAAE,OAAO,CAAC,WAAW;QACpC,oBAAoB,EAAE,CAAC,WAAW,EAAE,EAAE;YACpC,KAAK,OAAO,CAAC;YACb,OAAO,mBAAmB,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;QAC5D,CAAC;KACF,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC;QAClC,eAAe,EAAE,OAAO,CAAC,WAAW;QACpC,YAAY,EAAE,aAAa;QAC3B,eAAe,EAAE,OAAO,CAAC,gBAAgB;KAC1C,CAAC,CAAC;IACH,mBAAmB,GAAG,QAAQ,CAAC;IAE/B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRuntimeAssembly.d.ts","sourceRoot":"","sources":["../../../src/agent/local/AgentRuntimeAssembly.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,uCAAuC,CAAC;AAG/C;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,gBAAgB,CAkBlB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,wBAAwB,CAY5F"}
1
+ {"version":3,"file":"AgentRuntimeAssembly.d.ts","sourceRoot":"","sources":["../../../src/agent/local/AgentRuntimeAssembly.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,uCAAuC,CAAC;AAE/C;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,gBAAgB,CAkBlB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,wBAAwB,CAO5F"}
@@ -5,9 +5,9 @@
5
5
  * - agent runtime 负责创建这些宿主能力对象,再注入到 AgentRuntime。
6
6
  * - plugin runtime / session / plugin 作者 API 只消费这些对象,不直接依赖具体宿主实现。
7
7
  * - 当前先收敛路径与 plugin 配置持久化两类宿主能力。
8
+ * - SDK 默认不把 plugin 配置写回项目文件;宿主如 CLI 可接管持久化。
8
9
  */
9
10
  import { getCacheDirPath, getDowncityChannelDirPath, getDowncityChannelMetaPath, getDowncityChatHistoryPath, getDowncityDirPath, getDowncityMemoryDailyDirPath, getDowncityMemoryDailyPath, getDowncityMemoryLongTermPath, getDowncitySessionDirPath, getDowncitySessionRootDirPath, } from "../../config/Paths.js";
10
- import { persistProjectPluginConfig } from "../../plugin/core/ProjectConfigStore.js";
11
11
  /**
12
12
  * 创建当前项目的路径能力集合。
13
13
  */
@@ -35,13 +35,8 @@ export function createAgentPathRuntime(projectRoot, agentIdInput) {
35
35
  export function createAgentPluginConfigRuntime(projectRoot) {
36
36
  const rootPath = String(projectRoot || "").trim();
37
37
  return {
38
- async persistProjectPlugins(plugins) {
39
- return persistProjectPluginConfig({
40
- projectRoot: rootPath,
41
- sections: {
42
- ...(plugins !== undefined ? { plugins } : {}),
43
- },
44
- });
38
+ async persistProjectPlugins() {
39
+ return rootPath;
45
40
  },
46
41
  };
47
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRuntimeAssembly.js","sourceRoot":"","sources":["../../../src/agent/local/AgentRuntimeAssembly.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,kBAAkB,EAClB,6BAA6B,EAC7B,0BAA0B,EAC1B,6BAA6B,EAC7B,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAOjF;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAmB,EACnB,YAAoB;IAEpB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,OAAO;QACL,WAAW,EAAE,QAAQ;QACrB,OAAO;QACP,kBAAkB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACtD,eAAe,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC;QAChD,yBAAyB,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC;QACpE,0BAA0B,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAAC,QAAQ,CAAC;QACtE,0BAA0B,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,0BAA0B,CAAC,QAAQ,EAAE,SAAS,CAAC;QAC1F,6BAA6B,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,QAAQ,CAAC;QAC5E,6BAA6B,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,QAAQ,CAAC;QAC5E,0BAA0B,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC;QAChF,6BAA6B,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,QAAQ,EAAE,OAAO,CAAC;QACrF,yBAAyB,EAAE,CAAC,SAAS,EAAE,EAAE,CACvC,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,WAAmB;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,OAAO;QACL,KAAK,CAAC,qBAAqB,CAAC,OAA8C;YACxE,OAAO,0BAA0B,CAAC;gBAChC,WAAW,EAAE,QAAQ;gBACrB,QAAQ,EAAE;oBACR,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9C;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"AgentRuntimeAssembly.js","sourceRoot":"","sources":["../../../src/agent/local/AgentRuntimeAssembly.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,kBAAkB,EAClB,6BAA6B,EAC7B,0BAA0B,EAC1B,6BAA6B,EAC7B,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAM3B;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAmB,EACnB,YAAoB;IAEpB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,OAAO;QACL,WAAW,EAAE,QAAQ;QACrB,OAAO;QACP,kBAAkB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACtD,eAAe,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC;QAChD,yBAAyB,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC;QACpE,0BAA0B,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAAC,QAAQ,CAAC;QACtE,0BAA0B,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,0BAA0B,CAAC,QAAQ,EAAE,SAAS,CAAC;QAC1F,6BAA6B,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,QAAQ,CAAC;QAC5E,6BAA6B,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,QAAQ,CAAC;QAC5E,0BAA0B,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC;QAChF,6BAA6B,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,QAAQ,EAAE,OAAO,CAAC;QACrF,yBAAyB,EAAE,CAAC,SAAS,EAAE,EAAE,CACvC,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,WAAmB;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,OAAO;QACL,KAAK,CAAC,qBAAqB;YACzB,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * ProjectSetup:本地 Agent 启动前项目结构准备模块。
3
3
  *
4
4
  * 关键点(中文)
5
- * - 统一校验初始化必要文件(PROFILE.md / downcity.json)。
5
+ * - 统一校验初始化必要文件(PROFILE.md)。
6
6
  * - 统一确保 `.downcity/*` 目录结构存在,避免调用方重复拼装目录逻辑。
7
7
  */
8
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectSetup.d.ts","sourceRoot":"","sources":["../../../src/agent/local/ProjectSetup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyDH;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAGnE"}
1
+ {"version":3,"file":"ProjectSetup.d.ts","sourceRoot":"","sources":["../../../src/agent/local/ProjectSetup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkDH;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAGnE"}
@@ -2,12 +2,12 @@
2
2
  * ProjectSetup:本地 Agent 启动前项目结构准备模块。
3
3
  *
4
4
  * 关键点(中文)
5
- * - 统一校验初始化必要文件(PROFILE.md / downcity.json)。
5
+ * - 统一校验初始化必要文件(PROFILE.md)。
6
6
  * - 统一确保 `.downcity/*` 目录结构存在,避免调用方重复拼装目录逻辑。
7
7
  */
8
8
  import fs from "fs-extra";
9
9
  import path from "node:path";
10
- import { getCacheDirPath, getDowncityAgentsRootDirPath, getLogsDirPath, getProfileMdPath, getDowncityConfigDirPath, getDowncityDataDirPath, getDowncityDebugDirPath, getDowncityDirPath, getDowncityJsonPath, getDowncityProfileDirPath, getDowncityPublicDirPath, getDowncityTasksDirPath, } from "../../config/Paths.js";
10
+ import { getCacheDirPath, getDowncityAgentsRootDirPath, getLogsDirPath, getProfileMdPath, getDowncityConfigDirPath, getDowncityDataDirPath, getDowncityDebugDirPath, getDowncityDirPath, getDowncityProfileDirPath, getDowncityPublicDirPath, getDowncityTasksDirPath, } from "../../config/Paths.js";
11
11
  /**
12
12
  * 校验项目初始化关键文件。
13
13
  */
@@ -17,10 +17,6 @@ function ensureContextFiles(projectRoot) {
17
17
  console.error('❌ Project not initialized. Please run "downcity agent create" first');
18
18
  process.exit(1);
19
19
  }
20
- if (!fs.existsSync(getDowncityJsonPath(projectRoot))) {
21
- console.error('❌ downcity.json does not exist. Please run "downcity agent create" first');
22
- process.exit(1);
23
- }
24
20
  }
25
21
  /**
26
22
  * 确保 `.downcity` 运行目录结构完整。
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectSetup.js","sourceRoot":"","sources":["../../../src/agent/local/ProjectSetup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,4BAA4B,EAC5B,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,4CAA4C;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,KAAK,CACX,qEAAqE,CACtE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,KAAK,CACX,0EAA0E,CAC3E,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,WAAmB;IAChD,yDAAyD;IACzD,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;IAClD,EAAE,CAAC,aAAa,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9C,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,EAAE,CAAC,aAAa,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;IACtD,EAAE,CAAC,aAAa,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,EAAE,CAAC,aAAa,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvE,EAAE,CAAC,aAAa,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IAC3D,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAChC,qBAAqB,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"ProjectSetup.js","sourceRoot":"","sources":["../../../src/agent/local/ProjectSetup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,4BAA4B,EAC5B,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,4CAA4C;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,KAAK,CACX,qEAAqE,CACtE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AAEH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,WAAmB;IAChD,yDAAyD;IACzD,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;IAClD,EAAE,CAAC,aAAa,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9C,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,EAAE,CAAC,aAAa,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;IACtD,EAAE,CAAC,aAAa,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,EAAE,CAAC,aAAa,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvE,EAAE,CAAC,aAAa,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IAC3D,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAChC,qBAAqB,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC"}
@@ -7,7 +7,7 @@
7
7
  * - session/lifecycle service 通过它暴露的长期对象协作,避免在 facade 中重复拼装。
8
8
  */
9
9
  import type { LanguageModel, Tool } from "ai";
10
- import type { BasePlugin } from "../../../plugin/core/BasePlugin.js";
10
+ import type { Plugin } from "../../../types/plugin/PluginDefinition.js";
11
11
  import { AgentContext } from "../../../types/runtime/agent/AgentContext.js";
12
12
  import type { DowncityConfig } from "../../../types/config/DowncityConfig.js";
13
13
  import type { AgentPlugins } from "../../../plugin/types/Plugin.js";
@@ -69,7 +69,7 @@ export interface AgentAssemblyResult {
69
69
  /**
70
70
  * 当前 plugin 实例集合。
71
71
  */
72
- plugin_instances: Map<string, BasePlugin>;
72
+ plugin_instances: Map<string, Plugin>;
73
73
  /**
74
74
  * 当前 plugin 注册表。
75
75
  */
@@ -101,7 +101,6 @@ export declare class AgentAssemblyService {
101
101
  */
102
102
  assemble(): AgentAssemblyResult;
103
103
  private load_config;
104
- private register_plugins;
105
104
  /**
106
105
  * 判断是否需要自动注册 plugin_call tool。
107
106
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AgentAssemblyService.d.ts","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentAssemblyService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAgBjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAGzE,KAAK,2BAA2B,GAAG;IACjC;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,oBAAoB,EAAE,MAAM,mBAAmB,EAAE,CAAC;IAElD;;OAEG;IACH,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,WAAW,CAAC;IAEtD;;OAEG;IACH,qBAAqB,EAAE,CACrB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B;;OAEG;IACH,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE1C;;OAEG;IACH,eAAe,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsD;IAC3F,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkD;IACnF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuD;gBAEjF,OAAO,EAAE,2BAA2B;IAOhD;;OAEG;IACH,QAAQ,IAAI,mBAAmB;IAwG/B,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,OAAO,CAAC,gCAAgC;CAezC"}
1
+ {"version":3,"file":"AgentAssemblyService.d.ts","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentAssemblyService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAgBjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAGzE,KAAK,2BAA2B,GAAG;IACjC;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,oBAAoB,EAAE,MAAM,mBAAmB,EAAE,CAAC;IAElD;;OAEG;IACH,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,WAAW,CAAC;IAEtD;;OAEG;IACH,qBAAqB,EAAE,CACrB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B;;OAEG;IACH,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC;;OAEG;IACH,eAAe,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsD;IAC3F,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkD;IACnF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuD;gBAEjF,OAAO,EAAE,2BAA2B;IAOhD;;OAEG;IACH,QAAQ,IAAI,mBAAmB;IAuG/B,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,gCAAgC;CAezC"}
@@ -51,13 +51,13 @@ export class AgentAssemblyService {
51
51
  const instruction = normalizeInstructionInput(this.options.instruction);
52
52
  const config = this.load_config(id, path);
53
53
  const plugin_instances = new Map();
54
- this.register_plugins(plugin_instances, this.options.plugins || []);
55
54
  // 关键点(中文)
56
55
  // - plugin_registry 仍然延迟读取 agent_context(避免循环依赖)。
57
56
  // - context 一构造完就赋值,registry 第一次读 get_context 时已经是非空。
58
57
  let agent_context;
59
58
  const plugin_registry = createAgentPluginRegistry({
60
- plugins: [...plugin_instances.values()],
59
+ plugins: this.options.plugins || [],
60
+ plugin_instances,
61
61
  get_context: () => {
62
62
  if (!agent_context) {
63
63
  throw new Error("AgentContext is not assembled yet");
@@ -127,6 +127,13 @@ export class AgentAssemblyService {
127
127
  };
128
128
  }
129
129
  load_config(agent_id, project_root) {
130
+ if (this.options.config) {
131
+ return {
132
+ ...this.options.config,
133
+ id: String(this.options.config.id || "").trim() || agent_id,
134
+ version: String(this.options.config.version || "").trim() || "1.0.0",
135
+ };
136
+ }
130
137
  try {
131
138
  return loadDowncityConfig(project_root);
132
139
  }
@@ -134,18 +141,6 @@ export class AgentAssemblyService {
134
141
  return createFallbackSdkConfig(agent_id);
135
142
  }
136
143
  }
137
- register_plugins(plugin_instances, plugins) {
138
- for (const plugin of plugins) {
139
- const name = String(plugin?.name || "").trim();
140
- if (!name) {
141
- throw new Error("Agent received a plugin without a valid name");
142
- }
143
- if (plugin_instances.has(name)) {
144
- throw new Error(`Duplicate plugin registration: ${name}`);
145
- }
146
- plugin_instances.set(name, plugin);
147
- }
148
- }
149
144
  /**
150
145
  * 判断是否需要自动注册 plugin_call tool。
151
146
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AgentAssemblyService.js","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentAssemblyService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentAssemblyService.js","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentAssemblyService.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentBackgroundService.d.ts","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentBackgroundService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAIvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,KAAK,6BAA6B,GAAG;IACnC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,KAAK,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;IAEvE,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,uBAAuB,CAA4C;IAC3E,OAAO,CAAC,aAAa,CAA8B;gBAEvC,OAAO,EAAE,6BAA6B;IAQlD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAahB,IAAI;YAIJ,sBAAsB;YActB,sCAAsC;YAWtC,4BAA4B;CAK3C"}
1
+ {"version":3,"file":"AgentBackgroundService.d.ts","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentBackgroundService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,KAAK,6BAA6B,GAAG;IACnC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,KAAK,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;IAEvE,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,uBAAuB,CAA4C;IAC3E,OAAO,CAAC,aAAa,CAA8B;gBAEvC,OAAO,EAAE,6BAA6B;IAQlD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAahB,IAAI;YAIJ,sBAAsB;YActB,sCAAsC;YAWtC,4BAA4B;CAK3C"}
@@ -7,7 +7,6 @@
7
7
  * - RPC / HTTP 等 transport 不再属于 Agent 内部职责,由 `@downcity/server` 等外部包按需挂载。
8
8
  */
9
9
  import { startActionScheduleRuntime } from "../../../plugin/core/ActionScheduleRuntime.js";
10
- import { startAllPlugins, stopAllPlugins } from "../../../plugin/core/Manager.js";
11
10
  /**
12
11
  * 本地 Agent 后台能力生命周期服务。
13
12
  *
@@ -47,7 +46,7 @@ export class AgentBackgroundService {
47
46
  }
48
47
  if (this.plugins_started) {
49
48
  await this.stop_action_schedule_runtime();
50
- await stopAllPlugins(this.agent_context);
49
+ await this.agent_context.plugins.unregisterAll();
51
50
  this.plugins_started = false;
52
51
  }
53
52
  await this.get_shell?.()?.dispose();
@@ -58,11 +57,11 @@ export class AgentBackgroundService {
58
57
  async ensure_plugins_started() {
59
58
  if (this.plugins_started)
60
59
  return;
61
- const lifecycle = await startAllPlugins(this.agent_context);
60
+ const snapshots = await this.agent_context.plugins.startAll();
62
61
  this.plugins_started = true;
63
- for (const item of lifecycle.results) {
64
- if (!item.success) {
65
- this.logger.error(`Plugin start failed: ${item.plugin?.name || "unknown"} - ${item.error || "unknown error"}`);
62
+ for (const item of snapshots) {
63
+ if (item.status === "error") {
64
+ this.logger.error(`Plugin start failed: ${item.name} - ${item.last_error || "unknown error"}`);
66
65
  }
67
66
  }
68
67
  await this.ensure_action_schedule_runtime_started();
@@ -1 +1 @@
1
- {"version":3,"file":"AgentBackgroundService.js","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentBackgroundService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAoB3E;;;;;;GAMG;AACH,MAAM,OAAO,sBAAsB;IAChB,MAAM,CAAS;IACf,aAAa,CAAe;IAC5B,SAAS,CAA6C;IAE/D,eAAe,GAAG,KAAK,CAAC;IACxB,uBAAuB,GAAuC,IAAI,CAAC;IACnE,aAAa,GAAyB,IAAI,CAAC;IAEnD,YAAY,OAAsC;QAChD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,gDAAgD;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,MAAM,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAC1C,MAAM,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/B,CAAC;QACD,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAClC,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QACjC,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wBAAwB,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,SAAS,MAAM,IAAI,CAAC,KAAK,IAAI,eAAe,EAAE,CAC5F,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,IAAI,CAAC,sCAAsC,EAAE,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,sCAAsC;QAClD,IAAI,IAAI,CAAC,uBAAuB;YAAE,OAAO;QACzC,IAAI,CAAC;YACH,IAAI,CAAC,uBAAuB,GAAG,MAAM,0BAA0B,CAC7D,IAAI,CAAC,aAAa,CACnB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,4BAA4B;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAC7C,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"AgentBackgroundService.js","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentBackgroundService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AAoBpF;;;;;;GAMG;AACH,MAAM,OAAO,sBAAsB;IAChB,MAAM,CAAS;IACf,aAAa,CAAe;IAC5B,SAAS,CAA6C;IAE/D,eAAe,GAAG,KAAK,CAAC;IACxB,uBAAuB,GAAuC,IAAI,CAAC;IACnE,aAAa,GAAyB,IAAI,CAAC;IAEnD,YAAY,OAAsC;QAChD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,gDAAgD;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,MAAM,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YACjD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/B,CAAC;QACD,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAClC,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC9D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wBAAwB,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,UAAU,IAAI,eAAe,EAAE,CAC5E,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,IAAI,CAAC,sCAAsC,EAAE,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,sCAAsC;QAClD,IAAI,IAAI,CAAC,uBAAuB;YAAE,OAAO;QACzC,IAAI,CAAC;YACH,IAAI,CAAC,uBAAuB,GAAG,MAAM,0BAA0B,CAC7D,IAAI,CAAC,aAAa,CACnB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,4BAA4B;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAC7C,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;CACF"}
@@ -11,7 +11,7 @@ import type { Logger } from "../../../utils/logger/Logger.js";
11
11
  import type { AgentCreateSessionInput, AgentArchiveSessionInput, AgentArchiveSessionsInput, AgentArchiveSessionResult, AgentArchiveSessionsResult, AgentCleanArchiveResult, AgentListSessionsInput, AgentManagedSession, AgentModel, AgentSession, AgentSessionCollection, AgentSessionConstructor, AgentSessionSummaryPage } from "../../../types/agent/AgentTypes.js";
12
12
  import type { AgentContext } from "../../../types/runtime/agent/AgentContext.js";
13
13
  import type { SessionPort } from "../../../types/runtime/agent/AgentContext.js";
14
- import type { BasePlugin } from "../../../plugin/core/BasePlugin.js";
14
+ import type { Plugin } from "../../../types/plugin/PluginDefinition.js";
15
15
  type AgentSessionManagerOptions = {
16
16
  /**
17
17
  * 当前 agent 稳定标识。
@@ -43,7 +43,7 @@ type AgentSessionManagerOptions = {
43
43
  /**
44
44
  * 当前 plugin 实例集合。
45
45
  */
46
- plugin_instances: Map<string, BasePlugin>;
46
+ plugin_instances: Map<string, Plugin>;
47
47
  /**
48
48
  * 当前默认模型实例。
49
49
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AgentSessionManager.d.ts","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentSessionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentSessionManager.d.ts","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentSessionManager.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,6 @@ import fs from "fs-extra";
10
10
  import { nanoid } from "nanoid";
11
11
  import { Session } from "../../../session/Session.js";
12
12
  import { getSdkAgentArchivedSessionDirPath, getSdkAgentArchivedSessionsDirPath, getSdkAgentSessionDirPath, listArchivedAgentSessionSummaryPage, listAgentSessionSummaryPage, } from "../../../session/index.js";
13
- import { isPluginEnabled } from "../../../plugin/core/Activation.js";
14
13
  import { createInstructionSystemBlocks } from "../../../agent/local/AgentInstructions.js";
15
14
  function decodeMaybe(input) {
16
15
  try {
@@ -225,33 +224,7 @@ export class AgentSessionManager {
225
224
  return createInstructionSystemBlocks(this.get_instruction(), this.project_root);
226
225
  }
227
226
  async load_plugin_system_blocks() {
228
- const context = this.get_agent_context();
229
- const out = [];
230
- for (const plugin of this.plugin_instances.values()) {
231
- if (typeof plugin.system !== "function")
232
- continue;
233
- try {
234
- if (!isPluginEnabled({ plugin, context }))
235
- continue;
236
- if (typeof plugin.availability === "function") {
237
- const availability = await plugin.availability(context);
238
- if (!availability.available)
239
- continue;
240
- }
241
- const text = String(await plugin.system(context)).trim();
242
- if (!text)
243
- continue;
244
- out.push({
245
- source: "plugin",
246
- name: plugin.name,
247
- content: text,
248
- });
249
- }
250
- catch {
251
- // 单个 plugin system 失败不应阻断 SDK session 主链路。
252
- }
253
- }
254
- return out;
227
+ return await this.get_agent_context().plugins.systemBlocks();
255
228
  }
256
229
  }
257
230
  //# sourceMappingURL=AgentSessionManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentSessionManager.js","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentSessionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentSessionManager.js","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentSessionManager.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * 职责说明(中文)
5
5
  * - CLI `downcity agent create` 与 Console 共用同一套初始化逻辑,避免模板与目录结构分叉。
6
- * - 负责创建项目骨架、静态 prompt、默认 `downcity.json`、基础目录与 schema 文件。
7
- * - 负责把用户在创建阶段提供的最小执行配置与渠道配置写入项目。
6
+ * - 负责创建项目骨架、静态 prompt、基础目录与 schema 文件。
7
+ * - CLI 侧运行配置应写入宿主配置存储,不再由 SDK 初始化器写项目配置文件。
8
8
  *
9
9
  * 边界说明(中文)
10
10
  * - 这里只处理“初始化一个新项目”所需的静态文件与目录,不处理 downcity 托管进程启停。
@@ -23,7 +23,7 @@ export declare function normalizeDefaultAgentId(input: string): string;
23
23
  * 判断项目是否已经具备最小初始化文件。
24
24
  *
25
25
  * 关键点(中文)
26
- * - 当前只检查 `PROFILE.md` 与 `downcity.json`,用于快速判断是否已初始化过。
26
+ * - 当前只检查 `PROFILE.md`,用于快速判断项目行为资产是否已初始化过。
27
27
  * - 不把 `.downcity/` 目录作为硬性条件,避免用户手动清理缓存后被误判为未初始化。
28
28
  */
29
29
  export declare function isAgentProjectInitialized(projectRoot: string): Promise<boolean>;
@@ -31,7 +31,7 @@ export declare function isAgentProjectInitialized(projectRoot: string): Promise<
31
31
  * 初始化 agent 项目骨架。
32
32
  *
33
33
  * 关键点(中文)
34
- * - 会创建 prompt 文件、配置文件、`.downcity` 目录结构以及 schema 快照。
34
+ * - 会创建 prompt 文件、`.downcity` 目录结构以及 schema 快照。
35
35
  * - 对已存在文件采取“能跳过就跳过、明确冲突则报错”的策略,降低误覆盖风险。
36
36
  * - 返回结果只描述本次初始化写入摘要,方便 CLI 与控制台直接展示。
37
37
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AgentInitializer.d.ts","sourceRoot":"","sources":["../../src/config/AgentInitializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAoCH,OAAO,KAAK,EAEV,+BAA+B,EAC/B,gCAAgC,EACjC,MAAM,gCAAgC,CAAC;AAIxC;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ7D;AAoBD;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKrF;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,gCAAgC,CAAC,CAiJ3C"}
1
+ {"version":3,"file":"AgentInitializer.d.ts","sourceRoot":"","sources":["../../src/config/AgentInitializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA8BH,OAAO,KAAK,EAEV,+BAA+B,EAC/B,gCAAgC,EACjC,MAAM,gCAAgC,CAAC;AAIxC;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ7D;AAoBD;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAIrF;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,gCAAgC,CAAC,CAsG3C"}
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * 职责说明(中文)
5
5
  * - CLI `downcity agent create` 与 Console 共用同一套初始化逻辑,避免模板与目录结构分叉。
6
- * - 负责创建项目骨架、静态 prompt、默认 `downcity.json`、基础目录与 schema 文件。
7
- * - 负责把用户在创建阶段提供的最小执行配置与渠道配置写入项目。
6
+ * - 负责创建项目骨架、静态 prompt、基础目录与 schema 文件。
7
+ * - CLI 侧运行配置应写入宿主配置存储,不再由 SDK 初始化器写项目配置文件。
8
8
  *
9
9
  * 边界说明(中文)
10
10
  * - 这里只处理“初始化一个新项目”所需的静态文件与目录,不处理 downcity 托管进程启停。
@@ -12,14 +12,12 @@
12
12
  */
13
13
  import fs from "fs-extra";
14
14
  import path from "node:path";
15
- import { getCacheDirPath, getDowncityAgentsRootDirPath, getLogsDirPath, getProfileMdPath, getDowncityConfigDirPath, getDowncityDataDirPath, getDowncityDebugDirPath, getDowncityDirPath, getDowncityJsonPath, getDowncityProfileDirPath, getDowncityProfileOtherPath, getDowncityProfilePrimaryPath, getDowncityPublicDirPath, getDowncityResourcesDirPath, getDowncitySchemaPath, getDowncityTasksDirPath, getSoulMdPath, } from "../config/Paths.js";
16
- import { DEFAULT_DOWNCITY_JSON } from "../config/Defaults.js";
17
- import { DOWNCITY_JSON_SCHEMA } from "../config/DowncitySchema.js";
15
+ import { getCacheDirPath, getDowncityAgentsRootDirPath, getLogsDirPath, getProfileMdPath, getDowncityConfigDirPath, getDowncityDataDirPath, getDowncityDebugDirPath, getDowncityDirPath, getDowncityProfileDirPath, getDowncityProfileOtherPath, getDowncityProfilePrimaryPath, getDowncityPublicDirPath, getDowncityResourcesDirPath, getDowncityTasksDirPath, getSoulMdPath, } from "../config/Paths.js";
18
16
  import { DEFAULT_PROFILE_MD_TEMPLATE, DEFAULT_SOUL_MD_TEMPLATE, } from "../executor/composer/system/default/InitPrompts.js";
19
17
  import { appendMissingEnvEntries } from "../config/EnvFile.js";
20
18
  import { ensureGitignoreEntry } from "../config/Gitignore.js";
21
19
  import { renderTemplateVariables } from "../utils/Template.js";
22
- import { ensureDir, saveJson } from "../utils/storage/index.js";
20
+ import { ensureDir } from "../utils/storage/index.js";
23
21
  import { assertProjectExecutionTarget } from "../config/ExecutionBinding.js";
24
22
  /**
25
23
  * 规范化默认 Agent ID。
@@ -59,20 +57,19 @@ function normalizeChannels(input) {
59
57
  * 判断项目是否已经具备最小初始化文件。
60
58
  *
61
59
  * 关键点(中文)
62
- * - 当前只检查 `PROFILE.md` 与 `downcity.json`,用于快速判断是否已初始化过。
60
+ * - 当前只检查 `PROFILE.md`,用于快速判断项目行为资产是否已初始化过。
63
61
  * - 不把 `.downcity/` 目录作为硬性条件,避免用户手动清理缓存后被误判为未初始化。
64
62
  */
65
63
  export async function isAgentProjectInitialized(projectRoot) {
66
64
  const normalizedRoot = path.resolve(String(projectRoot || "").trim() || ".");
67
65
  const profileReady = await fs.pathExists(getProfileMdPath(normalizedRoot));
68
- const shipReady = await fs.pathExists(getDowncityJsonPath(normalizedRoot));
69
- return profileReady && shipReady;
66
+ return profileReady;
70
67
  }
71
68
  /**
72
69
  * 初始化 agent 项目骨架。
73
70
  *
74
71
  * 关键点(中文)
75
- * - 会创建 prompt 文件、配置文件、`.downcity` 目录结构以及 schema 快照。
72
+ * - 会创建 prompt 文件、`.downcity` 目录结构以及 schema 快照。
76
73
  * - 对已存在文件采取“能跳过就跳过、明确冲突则报错”的策略,降低误覆盖风险。
77
74
  * - 返回结果只描述本次初始化写入摘要,方便 CLI 与控制台直接展示。
78
75
  */
@@ -95,11 +92,6 @@ export async function initializeAgentProject(input) {
95
92
  await ensureDir(projectRoot);
96
93
  const profileMdPath = getProfileMdPath(projectRoot);
97
94
  const soulMdPath = getSoulMdPath(projectRoot);
98
- const shipJsonPath = getDowncityJsonPath(projectRoot);
99
- const existingShipJson = await fs.pathExists(shipJsonPath);
100
- if (existingShipJson && input.forceOverwriteShipJson !== true) {
101
- throw new Error(`downcity.json already exists: ${shipJsonPath}`);
102
- }
103
95
  const initTemplateVariables = {
104
96
  agent_id,
105
97
  };
@@ -123,35 +115,6 @@ export async function initializeAgentProject(input) {
123
115
  await fs.writeFile(file.filePath, file.content, "utf-8");
124
116
  createdFiles.push(file.filename);
125
117
  }
126
- const channelsConfig = {};
127
- if (channels.includes("telegram")) {
128
- channelsConfig.telegram = { enabled: true };
129
- }
130
- if (channels.includes("feishu")) {
131
- channelsConfig.feishu = { enabled: true };
132
- }
133
- if (channels.includes("qq")) {
134
- channelsConfig.qq = { enabled: true };
135
- }
136
- const shipConfig = {
137
- $schema: DEFAULT_DOWNCITY_JSON.$schema,
138
- id: agent_id,
139
- version: "1.0.0",
140
- execution,
141
- plugins: {
142
- ...(input.plugins || {}),
143
- ...(Object.keys(channelsConfig).length > 0
144
- ? {
145
- chat: {
146
- ...input.plugins?.chat,
147
- channels: channelsConfig,
148
- },
149
- }
150
- : {}),
151
- },
152
- };
153
- await saveJson(shipJsonPath, shipConfig);
154
- createdFiles.push("downcity.json");
155
118
  await appendMissingEnvEntries(dotEnvPath, "Downcity Create", []);
156
119
  await appendMissingEnvEntries(dotEnvExamplePath, "Downcity Create Example", []);
157
120
  const gitignoreStatus = await ensureGitignoreEntry(projectRoot, ".downcity");
@@ -173,16 +136,11 @@ export async function initializeAgentProject(input) {
173
136
  getDowncityResourcesDirPath(projectRoot),
174
137
  getDowncityConfigDirPath(projectRoot),
175
138
  path.join(projectRoot, ".agents", "skills"),
176
- path.join(getDowncityDirPath(projectRoot), "schema"),
177
139
  getDowncityDebugDirPath(projectRoot),
178
140
  ];
179
141
  for (const dir of dirs) {
180
142
  await ensureDir(dir);
181
143
  }
182
- const shipSchemaPath = getDowncitySchemaPath(projectRoot);
183
- await ensureDir(path.dirname(shipSchemaPath));
184
- await saveJson(shipSchemaPath, DOWNCITY_JSON_SCHEMA);
185
- createdFiles.push(".downcity/schema/downcity.schema.json");
186
144
  try {
187
145
  await ensureDir(getDowncityProfileDirPath(projectRoot));
188
146
  await fs.ensureFile(getDowncityProfilePrimaryPath(projectRoot));