@downcity/agent 1.1.6 → 1.1.8

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 (284) hide show
  1. package/bin/agent/AgentContext.d.ts.map +1 -1
  2. package/bin/agent/AgentContext.js +1 -0
  3. package/bin/agent/AgentContext.js.map +1 -1
  4. package/bin/agent/AgentContextTypes.d.ts +5 -1
  5. package/bin/agent/AgentContextTypes.d.ts.map +1 -1
  6. package/bin/agent/AgentRuntime.d.ts +6 -1
  7. package/bin/agent/AgentRuntime.d.ts.map +1 -1
  8. package/bin/agent/AgentRuntime.js +22 -3
  9. package/bin/agent/AgentRuntime.js.map +1 -1
  10. package/bin/agent/AgentRuntimeState.d.ts.map +1 -1
  11. package/bin/agent/AgentRuntimeState.js +58 -2
  12. package/bin/agent/AgentRuntimeState.js.map +1 -1
  13. package/bin/agent/AgentRuntimeTypes.d.ts +5 -1
  14. package/bin/agent/AgentRuntimeTypes.d.ts.map +1 -1
  15. package/bin/agent/project/AgentInitializer.d.ts +3 -2
  16. package/bin/agent/project/AgentInitializer.d.ts.map +1 -1
  17. package/bin/agent/project/AgentInitializer.js +34 -44
  18. package/bin/agent/project/AgentInitializer.js.map +1 -1
  19. package/bin/config/Config.d.ts.map +1 -1
  20. package/bin/config/Config.js +2 -21
  21. package/bin/config/Config.js.map +1 -1
  22. package/bin/config/Paths.d.ts +1 -5
  23. package/bin/config/Paths.d.ts.map +1 -1
  24. package/bin/config/Paths.js +2 -8
  25. package/bin/config/Paths.js.map +1 -1
  26. package/bin/host/daemon/ProjectSetup.d.ts +2 -1
  27. package/bin/host/daemon/ProjectSetup.d.ts.map +1 -1
  28. package/bin/host/daemon/ProjectSetup.js +14 -21
  29. package/bin/host/daemon/ProjectSetup.js.map +1 -1
  30. package/bin/host/runtime/AgentHostRuntime.d.ts.map +1 -1
  31. package/bin/host/runtime/AgentHostRuntime.js +1 -2
  32. package/bin/host/runtime/AgentHostRuntime.js.map +1 -1
  33. package/bin/host/runtime/CityPaths.d.ts +0 -3
  34. package/bin/host/runtime/CityPaths.d.ts.map +1 -1
  35. package/bin/host/runtime/CityPaths.js +0 -3
  36. package/bin/host/runtime/CityPaths.js.map +1 -1
  37. package/bin/host/sdk/Agent.d.ts +4 -0
  38. package/bin/host/sdk/Agent.d.ts.map +1 -1
  39. package/bin/host/sdk/Agent.js +71 -2
  40. package/bin/host/sdk/Agent.js.map +1 -1
  41. package/bin/host/sdk/AgentSdkTypes.d.ts +9 -0
  42. package/bin/host/sdk/AgentSdkTypes.d.ts.map +1 -1
  43. package/bin/host/sdk/SdkSessionSystemComposer.d.ts +11 -2
  44. package/bin/host/sdk/SdkSessionSystemComposer.d.ts.map +1 -1
  45. package/bin/host/sdk/SdkSessionSystemComposer.js +19 -2
  46. package/bin/host/sdk/SdkSessionSystemComposer.js.map +1 -1
  47. package/bin/host/sdk/Session.d.ts +10 -0
  48. package/bin/host/sdk/Session.d.ts.map +1 -1
  49. package/bin/host/sdk/Session.js +8 -0
  50. package/bin/host/sdk/Session.js.map +1 -1
  51. package/bin/http/Server.d.ts.map +1 -1
  52. package/bin/http/Server.js +1 -11
  53. package/bin/http/Server.js.map +1 -1
  54. package/bin/http/auth/AuthEnv.d.ts +0 -9
  55. package/bin/http/auth/AuthEnv.d.ts.map +1 -1
  56. package/bin/http/auth/AuthEnv.js +0 -9
  57. package/bin/http/auth/AuthEnv.js.map +1 -1
  58. package/bin/http/auth/CliAuthStateStore.d.ts +0 -4
  59. package/bin/http/auth/CliAuthStateStore.d.ts.map +1 -1
  60. package/bin/http/auth/CliAuthStateStore.js +0 -4
  61. package/bin/http/auth/CliAuthStateStore.js.map +1 -1
  62. package/bin/http/control/ModelRoutes.d.ts.map +1 -1
  63. package/bin/http/control/ModelRoutes.js +3 -8
  64. package/bin/http/control/ModelRoutes.js.map +1 -1
  65. package/bin/index.d.ts +2 -6
  66. package/bin/index.d.ts.map +1 -1
  67. package/bin/index.js +2 -6
  68. package/bin/index.js.map +1 -1
  69. package/bin/model/CreateModel.d.ts +2 -2
  70. package/bin/model/CreateModel.d.ts.map +1 -1
  71. package/bin/model/CreateModel.js +13 -12
  72. package/bin/model/CreateModel.js.map +1 -1
  73. package/bin/plugin/Activation.d.ts +4 -0
  74. package/bin/plugin/Activation.d.ts.map +1 -1
  75. package/bin/plugin/Activation.js +2 -2
  76. package/bin/plugin/Activation.js.map +1 -1
  77. package/bin/plugin/LocalExecution.d.ts.map +1 -1
  78. package/bin/plugin/LocalExecution.js +23 -2
  79. package/bin/plugin/LocalExecution.js.map +1 -1
  80. package/bin/plugin/PluginRegistry.js +2 -2
  81. package/bin/plugin/PluginRegistry.js.map +1 -1
  82. package/bin/plugins/asr/Plugin.d.ts.map +1 -1
  83. package/bin/plugins/asr/Plugin.js +4 -5
  84. package/bin/plugins/asr/Plugin.js.map +1 -1
  85. package/bin/plugins/auth/Plugin.d.ts.map +1 -1
  86. package/bin/plugins/auth/Plugin.js +1 -0
  87. package/bin/plugins/auth/Plugin.js.map +1 -1
  88. package/bin/plugins/auth/runtime/AuthorizationConfig.d.ts +4 -4
  89. package/bin/plugins/auth/runtime/AuthorizationConfig.d.ts.map +1 -1
  90. package/bin/plugins/auth/runtime/AuthorizationConfig.js +28 -26
  91. package/bin/plugins/auth/runtime/AuthorizationConfig.js.map +1 -1
  92. package/bin/plugins/auth/runtime/AuthorizationPolicy.d.ts +2 -0
  93. package/bin/plugins/auth/runtime/AuthorizationPolicy.d.ts.map +1 -1
  94. package/bin/plugins/auth/runtime/AuthorizationPolicy.js +3 -2
  95. package/bin/plugins/auth/runtime/AuthorizationPolicy.js.map +1 -1
  96. package/bin/plugins/auth/runtime/AuthorizationStore.d.ts +1 -1
  97. package/bin/plugins/auth/runtime/AuthorizationStore.d.ts.map +1 -1
  98. package/bin/plugins/auth/runtime/AuthorizationStore.js +3 -4
  99. package/bin/plugins/auth/runtime/AuthorizationStore.js.map +1 -1
  100. package/bin/plugins/skill/Plugin.js +2 -2
  101. package/bin/plugins/skill/Plugin.js.map +1 -1
  102. package/bin/plugins/tts/Plugin.d.ts.map +1 -1
  103. package/bin/plugins/tts/Plugin.js +4 -5
  104. package/bin/plugins/tts/Plugin.js.map +1 -1
  105. package/bin/plugins/web/Plugin.d.ts.map +1 -1
  106. package/bin/plugins/web/Plugin.js +4 -5
  107. package/bin/plugins/web/Plugin.js.map +1 -1
  108. package/bin/plugins/workboard/Plugin.js +2 -2
  109. package/bin/plugins/workboard/Plugin.js.map +1 -1
  110. package/bin/service/builtins/chat/accounts/ChannelAccountService.d.ts +4 -1
  111. package/bin/service/builtins/chat/accounts/ChannelAccountService.d.ts.map +1 -1
  112. package/bin/service/builtins/chat/accounts/ChannelAccountService.js +64 -91
  113. package/bin/service/builtins/chat/accounts/ChannelAccountService.js.map +1 -1
  114. package/bin/service/builtins/chat/runtime/ChatChannelActions.d.ts.map +1 -1
  115. package/bin/service/builtins/chat/runtime/ChatChannelActions.js +11 -18
  116. package/bin/service/builtins/chat/runtime/ChatChannelActions.js.map +1 -1
  117. package/bin/service/builtins/chat/runtime/ChatChannelCore.d.ts +1 -1
  118. package/bin/service/builtins/chat/runtime/ChatChannelCore.d.ts.map +1 -1
  119. package/bin/service/builtins/chat/runtime/ChatChannelCore.js +9 -17
  120. package/bin/service/builtins/chat/runtime/ChatChannelCore.js.map +1 -1
  121. package/bin/service/builtins/memory/Action.d.ts +1 -5
  122. package/bin/service/builtins/memory/Action.d.ts.map +1 -1
  123. package/bin/service/builtins/memory/Action.js +4 -42
  124. package/bin/service/builtins/memory/Action.js.map +1 -1
  125. package/bin/service/builtins/memory/MemoryService.d.ts.map +1 -1
  126. package/bin/service/builtins/memory/MemoryService.js +2 -32
  127. package/bin/service/builtins/memory/MemoryService.js.map +1 -1
  128. package/bin/service/builtins/memory/runtime/Search.d.ts +7 -3
  129. package/bin/service/builtins/memory/runtime/Search.d.ts.map +1 -1
  130. package/bin/service/builtins/memory/runtime/Search.js +220 -16
  131. package/bin/service/builtins/memory/runtime/Search.js.map +1 -1
  132. package/bin/service/builtins/memory/runtime/Store.d.ts +9 -50
  133. package/bin/service/builtins/memory/runtime/Store.d.ts.map +1 -1
  134. package/bin/service/builtins/memory/runtime/Store.js +10 -130
  135. package/bin/service/builtins/memory/runtime/Store.js.map +1 -1
  136. package/bin/service/builtins/memory/runtime/Writer.d.ts.map +1 -1
  137. package/bin/service/builtins/memory/runtime/Writer.js +1 -2
  138. package/bin/service/builtins/memory/runtime/Writer.js.map +1 -1
  139. package/bin/service/builtins/memory/types/Memory.d.ts +3 -57
  140. package/bin/service/builtins/memory/types/Memory.d.ts.map +1 -1
  141. package/bin/service/schedule/Store.d.ts +22 -25
  142. package/bin/service/schedule/Store.d.ts.map +1 -1
  143. package/bin/service/schedule/Store.js +172 -154
  144. package/bin/service/schedule/Store.js.map +1 -1
  145. package/bin/session/composer/system/default/SystemDomain.d.ts.map +1 -1
  146. package/bin/session/composer/system/default/SystemDomain.js +1 -0
  147. package/bin/session/composer/system/default/SystemDomain.js.map +1 -1
  148. package/bin/shared/types/AgentHost.d.ts +120 -4
  149. package/bin/shared/types/AgentHost.d.ts.map +1 -1
  150. package/bin/shared/types/Plugin.d.ts +5 -1
  151. package/bin/shared/types/Plugin.d.ts.map +1 -1
  152. package/package.json +1 -4
  153. package/src/agent/AgentContext.ts +1 -0
  154. package/src/agent/AgentContextTypes.ts +5 -0
  155. package/src/agent/AgentRuntime.ts +32 -3
  156. package/src/agent/AgentRuntimeState.ts +66 -2
  157. package/src/agent/AgentRuntimeTypes.ts +5 -0
  158. package/src/agent/project/AgentInitializer.ts +40 -42
  159. package/src/config/Config.ts +2 -17
  160. package/src/config/Paths.ts +2 -9
  161. package/src/host/daemon/ProjectSetup.ts +19 -21
  162. package/src/host/runtime/AgentHostRuntime.ts +0 -2
  163. package/src/host/runtime/CityPaths.ts +0 -3
  164. package/src/host/sdk/Agent.ts +67 -2
  165. package/src/host/sdk/AgentSdkTypes.ts +10 -0
  166. package/src/host/sdk/SdkSessionSystemComposer.ts +39 -2
  167. package/src/host/sdk/Session.ts +18 -0
  168. package/src/http/Server.ts +0 -13
  169. package/src/http/auth/AuthEnv.ts +0 -9
  170. package/src/http/auth/CliAuthStateStore.ts +0 -4
  171. package/src/http/control/ModelRoutes.ts +3 -9
  172. package/src/index.ts +2 -12
  173. package/src/model/CreateModel.ts +15 -13
  174. package/src/plugin/Activation.ts +6 -2
  175. package/src/plugin/LocalExecution.ts +24 -2
  176. package/src/plugin/PluginRegistry.ts +2 -2
  177. package/src/plugins/asr/Plugin.ts +4 -5
  178. package/src/plugins/auth/Plugin.ts +1 -0
  179. package/src/plugins/auth/runtime/AuthorizationConfig.ts +47 -37
  180. package/src/plugins/auth/runtime/AuthorizationPolicy.ts +5 -2
  181. package/src/plugins/auth/runtime/AuthorizationStore.ts +6 -5
  182. package/src/plugins/skill/Plugin.ts +2 -2
  183. package/src/plugins/tts/Plugin.ts +4 -5
  184. package/src/plugins/web/Plugin.ts +4 -5
  185. package/src/plugins/workboard/Plugin.ts +2 -2
  186. package/src/service/builtins/chat/accounts/ChannelAccountService.ts +42 -62
  187. package/src/service/builtins/chat/runtime/ChatChannelActions.ts +12 -18
  188. package/src/service/builtins/chat/runtime/ChatChannelCore.ts +9 -14
  189. package/src/service/builtins/memory/Action.ts +6 -47
  190. package/src/service/builtins/memory/MemoryService.ts +1 -33
  191. package/src/service/builtins/memory/runtime/Search.ts +256 -16
  192. package/src/service/builtins/memory/runtime/Store.ts +13 -185
  193. package/src/service/builtins/memory/runtime/Writer.ts +1 -2
  194. package/src/service/builtins/memory/types/Memory.ts +2 -59
  195. package/src/service/schedule/Store.ts +215 -175
  196. package/src/session/composer/system/default/SystemDomain.ts +1 -0
  197. package/src/shared/types/AgentHost.ts +138 -4
  198. package/src/shared/types/Plugin.ts +5 -0
  199. package/tsconfig.tsbuildinfo +1 -1
  200. package/bin/http/auth/AuthMiddleware.d.ts +0 -36
  201. package/bin/http/auth/AuthMiddleware.d.ts.map +0 -1
  202. package/bin/http/auth/AuthMiddleware.js +0 -37
  203. package/bin/http/auth/AuthMiddleware.js.map +0 -1
  204. package/bin/http/auth/AuthRoutes.d.ts +0 -17
  205. package/bin/http/auth/AuthRoutes.d.ts.map +0 -1
  206. package/bin/http/auth/AuthRoutes.js +0 -78
  207. package/bin/http/auth/AuthRoutes.js.map +0 -1
  208. package/bin/http/auth/AuthService.d.ts +0 -119
  209. package/bin/http/auth/AuthService.d.ts.map +0 -1
  210. package/bin/http/auth/AuthService.js +0 -307
  211. package/bin/http/auth/AuthService.js.map +0 -1
  212. package/bin/http/auth/AuthStore.d.ts +0 -165
  213. package/bin/http/auth/AuthStore.d.ts.map +0 -1
  214. package/bin/http/auth/AuthStore.js +0 -442
  215. package/bin/http/auth/AuthStore.js.map +0 -1
  216. package/bin/http/auth/RoutePolicy.d.ts +0 -30
  217. package/bin/http/auth/RoutePolicy.d.ts.map +0 -1
  218. package/bin/http/auth/RoutePolicy.js +0 -229
  219. package/bin/http/auth/RoutePolicy.js.map +0 -1
  220. package/bin/plugin/Lifecycle.d.ts +0 -33
  221. package/bin/plugin/Lifecycle.d.ts.map +0 -1
  222. package/bin/plugin/Lifecycle.js +0 -102
  223. package/bin/plugin/Lifecycle.js.map +0 -1
  224. package/bin/service/builtins/memory/runtime/Indexer.d.ts +0 -71
  225. package/bin/service/builtins/memory/runtime/Indexer.d.ts.map +0 -1
  226. package/bin/service/builtins/memory/runtime/Indexer.js +0 -345
  227. package/bin/service/builtins/memory/runtime/Indexer.js.map +0 -1
  228. package/bin/service/schedule/Schema.d.ts +0 -171
  229. package/bin/service/schedule/Schema.d.ts.map +0 -1
  230. package/bin/service/schedule/Schema.js +0 -26
  231. package/bin/service/schedule/Schema.js.map +0 -1
  232. package/bin/shared/utils/store/StoreChannelAccountRepository.d.ts +0 -34
  233. package/bin/shared/utils/store/StoreChannelAccountRepository.d.ts.map +0 -1
  234. package/bin/shared/utils/store/StoreChannelAccountRepository.js +0 -198
  235. package/bin/shared/utils/store/StoreChannelAccountRepository.js.map +0 -1
  236. package/bin/shared/utils/store/StoreEnvRepository.d.ts +0 -98
  237. package/bin/shared/utils/store/StoreEnvRepository.d.ts.map +0 -1
  238. package/bin/shared/utils/store/StoreEnvRepository.js +0 -334
  239. package/bin/shared/utils/store/StoreEnvRepository.js.map +0 -1
  240. package/bin/shared/utils/store/StoreModelRepository.d.ts +0 -61
  241. package/bin/shared/utils/store/StoreModelRepository.d.ts.map +0 -1
  242. package/bin/shared/utils/store/StoreModelRepository.js +0 -278
  243. package/bin/shared/utils/store/StoreModelRepository.js.map +0 -1
  244. package/bin/shared/utils/store/StoreSchema.d.ts +0 -13
  245. package/bin/shared/utils/store/StoreSchema.d.ts.map +0 -1
  246. package/bin/shared/utils/store/StoreSchema.js +0 -319
  247. package/bin/shared/utils/store/StoreSchema.js.map +0 -1
  248. package/bin/shared/utils/store/StoreSecureSettings.d.ts +0 -33
  249. package/bin/shared/utils/store/StoreSecureSettings.d.ts.map +0 -1
  250. package/bin/shared/utils/store/StoreSecureSettings.js +0 -91
  251. package/bin/shared/utils/store/StoreSecureSettings.js.map +0 -1
  252. package/bin/shared/utils/store/StoreShared.d.ts +0 -44
  253. package/bin/shared/utils/store/StoreShared.d.ts.map +0 -1
  254. package/bin/shared/utils/store/StoreShared.js +0 -40
  255. package/bin/shared/utils/store/StoreShared.js.map +0 -1
  256. package/bin/shared/utils/store/crypto.d.ts +0 -24
  257. package/bin/shared/utils/store/crypto.d.ts.map +0 -1
  258. package/bin/shared/utils/store/crypto.js +0 -101
  259. package/bin/shared/utils/store/crypto.js.map +0 -1
  260. package/bin/shared/utils/store/index.d.ts +0 -230
  261. package/bin/shared/utils/store/index.d.ts.map +0 -1
  262. package/bin/shared/utils/store/index.js +0 -360
  263. package/bin/shared/utils/store/index.js.map +0 -1
  264. package/bin/shared/utils/store/schema.d.ts +0 -690
  265. package/bin/shared/utils/store/schema.d.ts.map +0 -1
  266. package/bin/shared/utils/store/schema.js +0 -81
  267. package/bin/shared/utils/store/schema.js.map +0 -1
  268. package/src/http/auth/AuthMiddleware.ts +0 -61
  269. package/src/http/auth/AuthRoutes.ts +0 -100
  270. package/src/http/auth/AuthService.ts +0 -367
  271. package/src/http/auth/AuthStore.ts +0 -572
  272. package/src/http/auth/RoutePolicy.ts +0 -255
  273. package/src/plugin/Lifecycle.ts +0 -116
  274. package/src/service/builtins/memory/runtime/Indexer.ts +0 -466
  275. package/src/service/schedule/Schema.ts +0 -34
  276. package/src/shared/utils/store/StoreChannelAccountRepository.ts +0 -269
  277. package/src/shared/utils/store/StoreEnvRepository.ts +0 -452
  278. package/src/shared/utils/store/StoreModelRepository.ts +0 -324
  279. package/src/shared/utils/store/StoreSchema.ts +0 -344
  280. package/src/shared/utils/store/StoreSecureSettings.ts +0 -126
  281. package/src/shared/utils/store/StoreShared.ts +0 -67
  282. package/src/shared/utils/store/crypto.ts +0 -112
  283. package/src/shared/utils/store/index.ts +0 -497
  284. package/src/shared/utils/store/schema.ts +0 -103
@@ -1,61 +0,0 @@
1
- /**
2
- * PlatformStore 模型与 Provider 仓储。
3
- *
4
- * 关键点(中文)
5
- * - 只负责 model/provider 相关读写,不处理 env、channel account、secure settings。
6
- * - 对外暴露纯函数,`PlatformStore` 作为门面调用。
7
- */
8
- import type { StoredModel, StoredModelProvider, StoredProviderMeta, UpsertModelInput, UpsertModelProviderInput } from "../../../shared/types/Store.js";
9
- import type { PlatformStoreContext } from "./StoreShared.js";
10
- /**
11
- * 列出 providers。
12
- */
13
- export declare function listStoredProviders(context: PlatformStoreContext): Promise<StoredModelProvider[]>;
14
- /**
15
- * 同步列出 provider 元信息(不含 API Key)。
16
- */
17
- export declare function listStoredProviderMetas(context: PlatformStoreContext): StoredProviderMeta[];
18
- /**
19
- * 获取单个 provider。
20
- */
21
- export declare function getStoredProvider(context: PlatformStoreContext, providerId: string): Promise<StoredModelProvider | null>;
22
- /**
23
- * 新增或更新 provider。
24
- */
25
- export declare function upsertStoredProvider(context: PlatformStoreContext, input: UpsertModelProviderInput): Promise<void>;
26
- /**
27
- * 删除 provider。
28
- */
29
- export declare function removeStoredProvider(context: PlatformStoreContext, providerId: string): void;
30
- /**
31
- * 列出 models。
32
- */
33
- export declare function listStoredModels(context: PlatformStoreContext): StoredModel[];
34
- /**
35
- * 获取单个 model。
36
- */
37
- export declare function getStoredModel(context: PlatformStoreContext, modelId: string): StoredModel | null;
38
- /**
39
- * 新增或更新 model。
40
- */
41
- export declare function upsertStoredModel(context: PlatformStoreContext, input: UpsertModelInput): void;
42
- /**
43
- * 切换 model 暂停状态。
44
- */
45
- export declare function setStoredModelPaused(context: PlatformStoreContext, modelId: string, paused: boolean): void;
46
- /**
47
- * 删除 model。
48
- */
49
- export declare function removeStoredModel(context: PlatformStoreContext, modelId: string): void;
50
- /**
51
- * 获取“model + provider”聚合信息。
52
- */
53
- export declare function getResolvedStoredModel(context: PlatformStoreContext, modelId: string): Promise<{
54
- model: StoredModel;
55
- provider: StoredModelProvider;
56
- } | null>;
57
- /**
58
- * 清空模型相关表。
59
- */
60
- export declare function clearStoredModelsAndProviders(context: PlatformStoreContext): void;
61
- //# sourceMappingURL=StoreModelRepository.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StoreModelRepository.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/store/StoreModelRepository.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAG7D;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAkBhC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,oBAAoB,GAC5B,kBAAkB,EAAE,CAOtB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,oBAAoB,EAC7B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAmBrC;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,oBAAoB,EAC7B,UAAU,EAAE,MAAM,GACjB,IAAI,CAeN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,GAAG,WAAW,EAAE,CAgB7E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,MAAM,GACd,WAAW,GAAG,IAAI,CAqBpB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,gBAAgB,GACtB,IAAI,CAoDN;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,GACd,IAAI,CAaN;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,MAAM,GACd,IAAI,CAEN;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,mBAAmB,CAAA;CAAE,GAAG,IAAI,CAAC,CAMvE;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAGN"}
@@ -1,278 +0,0 @@
1
- /**
2
- * PlatformStore 模型与 Provider 仓储。
3
- *
4
- * 关键点(中文)
5
- * - 只负责 model/provider 相关读写,不处理 env、channel account、secure settings。
6
- * - 对外暴露纯函数,`PlatformStore` 作为门面调用。
7
- */
8
- import { eq } from "drizzle-orm";
9
- import { decryptText, encryptText } from "./crypto.js";
10
- import { modelProvidersTable, modelsTable } from "./schema.js";
11
- import { nowIso } from "./StoreShared.js";
12
- /**
13
- * 列出 providers。
14
- */
15
- export async function listStoredProviders(context) {
16
- const rows = context.db.select().from(modelProvidersTable).all();
17
- const result = [];
18
- for (const row of rows) {
19
- let apiKey;
20
- if (row.apiKeyEncrypted) {
21
- apiKey = await decryptText(row.apiKeyEncrypted);
22
- }
23
- result.push({
24
- id: row.id,
25
- type: row.type,
26
- baseUrl: row.baseUrl || undefined,
27
- apiKey,
28
- createdAt: row.createdAt,
29
- updatedAt: row.updatedAt,
30
- });
31
- }
32
- return result;
33
- }
34
- /**
35
- * 同步列出 provider 元信息(不含 API Key)。
36
- */
37
- export function listStoredProviderMetas(context) {
38
- const rows = context.db.select().from(modelProvidersTable).all();
39
- return rows.map((row) => ({
40
- id: row.id,
41
- type: row.type,
42
- baseUrl: row.baseUrl || undefined,
43
- }));
44
- }
45
- /**
46
- * 获取单个 provider。
47
- */
48
- export async function getStoredProvider(context, providerId) {
49
- const row = context.db
50
- .select()
51
- .from(modelProvidersTable)
52
- .where(eq(modelProvidersTable.id, providerId))
53
- .get();
54
- if (!row)
55
- return null;
56
- let apiKey;
57
- if (row.apiKeyEncrypted) {
58
- apiKey = await decryptText(row.apiKeyEncrypted);
59
- }
60
- return {
61
- id: row.id,
62
- type: row.type,
63
- baseUrl: row.baseUrl || undefined,
64
- apiKey,
65
- createdAt: row.createdAt,
66
- updatedAt: row.updatedAt,
67
- };
68
- }
69
- /**
70
- * 新增或更新 provider。
71
- */
72
- export async function upsertStoredProvider(context, input) {
73
- const id = String(input.id || "").trim();
74
- if (!id)
75
- throw new Error("providerId cannot be empty");
76
- const existing = context.db
77
- .select()
78
- .from(modelProvidersTable)
79
- .where(eq(modelProvidersTable.id, id))
80
- .get();
81
- const createdAt = existing?.createdAt || nowIso();
82
- const updatedAt = nowIso();
83
- const hasApiKeyField = Object.prototype.hasOwnProperty.call(input, "apiKey");
84
- let apiKeyEncrypted = existing?.apiKeyEncrypted || null;
85
- if (hasApiKeyField) {
86
- if (typeof input.apiKey === "string" && input.apiKey.length > 0) {
87
- apiKeyEncrypted = await encryptText(input.apiKey);
88
- }
89
- else {
90
- apiKeyEncrypted = null;
91
- }
92
- }
93
- context.db
94
- .insert(modelProvidersTable)
95
- .values({
96
- id,
97
- type: input.type,
98
- baseUrl: input.baseUrl || null,
99
- apiKeyEncrypted,
100
- createdAt,
101
- updatedAt,
102
- })
103
- .onConflictDoUpdate({
104
- target: modelProvidersTable.id,
105
- set: {
106
- type: input.type,
107
- baseUrl: input.baseUrl || null,
108
- apiKeyEncrypted,
109
- updatedAt,
110
- },
111
- })
112
- .run();
113
- }
114
- /**
115
- * 删除 provider。
116
- */
117
- export function removeStoredProvider(context, providerId) {
118
- const refs = context.db
119
- .select()
120
- .from(modelsTable)
121
- .where(eq(modelsTable.providerId, providerId))
122
- .all();
123
- if (refs.length > 0) {
124
- throw new Error(`Provider "${providerId}" is referenced by models: ${refs.map((item) => item.id).join(", ")}`);
125
- }
126
- context.db
127
- .delete(modelProvidersTable)
128
- .where(eq(modelProvidersTable.id, providerId))
129
- .run();
130
- }
131
- /**
132
- * 列出 models。
133
- */
134
- export function listStoredModels(context) {
135
- const rows = context.db.select().from(modelsTable).all();
136
- return rows.map((row) => ({
137
- id: row.id,
138
- providerId: row.providerId,
139
- name: row.name,
140
- temperature: row.temperature ?? undefined,
141
- maxTokens: row.maxTokens ?? undefined,
142
- topP: row.topP ?? undefined,
143
- frequencyPenalty: row.frequencyPenalty ?? undefined,
144
- presencePenalty: row.presencePenalty ?? undefined,
145
- anthropicVersion: row.anthropicVersion ?? undefined,
146
- isPaused: Number(row.isPaused || 0) === 1,
147
- createdAt: row.createdAt,
148
- updatedAt: row.updatedAt,
149
- }));
150
- }
151
- /**
152
- * 获取单个 model。
153
- */
154
- export function getStoredModel(context, modelId) {
155
- const row = context.db
156
- .select()
157
- .from(modelsTable)
158
- .where(eq(modelsTable.id, modelId))
159
- .get();
160
- if (!row)
161
- return null;
162
- return {
163
- id: row.id,
164
- providerId: row.providerId,
165
- name: row.name,
166
- temperature: row.temperature ?? undefined,
167
- maxTokens: row.maxTokens ?? undefined,
168
- topP: row.topP ?? undefined,
169
- frequencyPenalty: row.frequencyPenalty ?? undefined,
170
- presencePenalty: row.presencePenalty ?? undefined,
171
- anthropicVersion: row.anthropicVersion ?? undefined,
172
- isPaused: Number(row.isPaused || 0) === 1,
173
- createdAt: row.createdAt,
174
- updatedAt: row.updatedAt,
175
- };
176
- }
177
- /**
178
- * 新增或更新 model。
179
- */
180
- export function upsertStoredModel(context, input) {
181
- const id = String(input.id || "").trim();
182
- if (!id)
183
- throw new Error("modelId cannot be empty");
184
- const providerId = String(input.providerId || "").trim();
185
- if (!providerId)
186
- throw new Error("providerId cannot be empty");
187
- const provider = context.db
188
- .select()
189
- .from(modelProvidersTable)
190
- .where(eq(modelProvidersTable.id, providerId))
191
- .get();
192
- if (!provider)
193
- throw new Error(`Provider not found: ${providerId}`);
194
- const existing = context.db
195
- .select()
196
- .from(modelsTable)
197
- .where(eq(modelsTable.id, id))
198
- .get();
199
- const createdAt = existing?.createdAt || nowIso();
200
- const updatedAt = nowIso();
201
- context.db
202
- .insert(modelsTable)
203
- .values({
204
- id,
205
- providerId,
206
- name: input.name,
207
- temperature: input.temperature ?? null,
208
- maxTokens: input.maxTokens ?? null,
209
- topP: input.topP ?? null,
210
- frequencyPenalty: input.frequencyPenalty ?? null,
211
- presencePenalty: input.presencePenalty ?? null,
212
- anthropicVersion: input.anthropicVersion ?? null,
213
- isPaused: input.isPaused === true ? 1 : 0,
214
- createdAt,
215
- updatedAt,
216
- })
217
- .onConflictDoUpdate({
218
- target: modelsTable.id,
219
- set: {
220
- providerId,
221
- name: input.name,
222
- temperature: input.temperature ?? null,
223
- maxTokens: input.maxTokens ?? null,
224
- topP: input.topP ?? null,
225
- frequencyPenalty: input.frequencyPenalty ?? null,
226
- presencePenalty: input.presencePenalty ?? null,
227
- anthropicVersion: input.anthropicVersion ?? null,
228
- isPaused: input.isPaused === true ? 1 : 0,
229
- updatedAt,
230
- },
231
- })
232
- .run();
233
- }
234
- /**
235
- * 切换 model 暂停状态。
236
- */
237
- export function setStoredModelPaused(context, modelId, paused) {
238
- const id = String(modelId || "").trim();
239
- if (!id)
240
- throw new Error("modelId cannot be empty");
241
- const current = getStoredModel(context, id);
242
- if (!current)
243
- throw new Error(`Model not found: ${id}`);
244
- context.db
245
- .update(modelsTable)
246
- .set({
247
- isPaused: paused ? 1 : 0,
248
- updatedAt: nowIso(),
249
- })
250
- .where(eq(modelsTable.id, id))
251
- .run();
252
- }
253
- /**
254
- * 删除 model。
255
- */
256
- export function removeStoredModel(context, modelId) {
257
- context.db.delete(modelsTable).where(eq(modelsTable.id, modelId)).run();
258
- }
259
- /**
260
- * 获取“model + provider”聚合信息。
261
- */
262
- export async function getResolvedStoredModel(context, modelId) {
263
- const model = getStoredModel(context, modelId);
264
- if (!model)
265
- return null;
266
- const provider = await getStoredProvider(context, model.providerId);
267
- if (!provider)
268
- return null;
269
- return { model, provider };
270
- }
271
- /**
272
- * 清空模型相关表。
273
- */
274
- export function clearStoredModelsAndProviders(context) {
275
- context.sqlite.exec("DELETE FROM models;");
276
- context.sqlite.exec("DELETE FROM model_providers;");
277
- }
278
- //# sourceMappingURL=StoreModelRepository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StoreModelRepository.js","sourceRoot":"","sources":["../../../../src/shared/utils/store/StoreModelRepository.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * PlatformStore Schema 管理。
3
- *
4
- * 关键点(中文)
5
- * - 负责 `PlatformStore` 的建表与轻量迁移。
6
- * - 启动时执行,不承担任何查询写入业务逻辑。
7
- */
8
- import type { PlatformStoreContext } from "./StoreShared.js";
9
- /**
10
- * 初始化 PlatformStore 所需表结构。
11
- */
12
- export declare function ensurePlatformStoreSchema(context: PlatformStoreContext): void;
13
- //# sourceMappingURL=StoreSchema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StoreSchema.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/store/StoreSchema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAoF7E"}
@@ -1,319 +0,0 @@
1
- /**
2
- * PlatformStore Schema 管理。
3
- *
4
- * 关键点(中文)
5
- * - 负责 `PlatformStore` 的建表与轻量迁移。
6
- * - 启动时执行,不承担任何查询写入业务逻辑。
7
- */
8
- /**
9
- * 初始化 PlatformStore 所需表结构。
10
- */
11
- export function ensurePlatformStoreSchema(context) {
12
- context.sqlite.exec(`
13
- CREATE TABLE IF NOT EXISTS model_providers (
14
- id TEXT PRIMARY KEY NOT NULL,
15
- type TEXT NOT NULL,
16
- base_url TEXT,
17
- api_key_encrypted TEXT,
18
- created_at TEXT NOT NULL,
19
- updated_at TEXT NOT NULL
20
- );
21
- `);
22
- context.sqlite.exec(`
23
- CREATE TABLE IF NOT EXISTS models (
24
- id TEXT PRIMARY KEY NOT NULL,
25
- provider_id TEXT NOT NULL,
26
- name TEXT NOT NULL,
27
- temperature REAL,
28
- max_tokens INTEGER,
29
- top_p REAL,
30
- frequency_penalty REAL,
31
- presence_penalty REAL,
32
- anthropic_version TEXT,
33
- is_paused INTEGER NOT NULL DEFAULT 0,
34
- created_at TEXT NOT NULL,
35
- updated_at TEXT NOT NULL
36
- );
37
- `);
38
- ensureModelsTableColumns(context);
39
- context.sqlite.exec(`
40
- CREATE INDEX IF NOT EXISTS models_provider_id_idx
41
- ON models(provider_id);
42
- `);
43
- context.sqlite.exec(`
44
- CREATE TABLE IF NOT EXISTS platform_secure_settings (
45
- key TEXT PRIMARY KEY NOT NULL,
46
- value_encrypted TEXT NOT NULL,
47
- created_at TEXT NOT NULL,
48
- updated_at TEXT NOT NULL
49
- );
50
- `);
51
- context.sqlite.exec(`
52
- CREATE TABLE IF NOT EXISTS env_entries (
53
- scope TEXT NOT NULL,
54
- agent_id TEXT NOT NULL DEFAULT '',
55
- key TEXT NOT NULL,
56
- description TEXT,
57
- value_encrypted TEXT NOT NULL,
58
- created_at TEXT NOT NULL,
59
- updated_at TEXT NOT NULL,
60
- PRIMARY KEY (scope, agent_id, key)
61
- );
62
- `);
63
- context.sqlite.exec(`
64
- CREATE INDEX IF NOT EXISTS env_entries_scope_idx
65
- ON env_entries(scope);
66
- `);
67
- context.sqlite.exec(`
68
- CREATE INDEX IF NOT EXISTS env_entries_agent_id_idx
69
- ON env_entries(agent_id);
70
- `);
71
- ensureEnvEntriesMigration(context);
72
- context.sqlite.exec(`
73
- CREATE TABLE IF NOT EXISTS channel_accounts (
74
- id TEXT PRIMARY KEY NOT NULL,
75
- channel TEXT NOT NULL,
76
- name TEXT NOT NULL,
77
- identity TEXT,
78
- owner TEXT,
79
- creator TEXT,
80
- bot_token_encrypted TEXT,
81
- app_id_encrypted TEXT,
82
- app_secret_encrypted TEXT,
83
- domain TEXT,
84
- sandbox INTEGER,
85
- created_at TEXT NOT NULL,
86
- updated_at TEXT NOT NULL
87
- );
88
- `);
89
- context.sqlite.exec(`
90
- CREATE INDEX IF NOT EXISTS channel_accounts_channel_idx
91
- ON channel_accounts(channel);
92
- `);
93
- ensureChannelAccountsTableColumns(context);
94
- ensureAuthSchema(context);
95
- }
96
- /**
97
- * 初始化平台认证与授权表结构。
98
- *
99
- * 关键点(中文)
100
- * - 该 schema 属于平台级全局能力,不依赖任何单个 agent 项目。
101
- * - V1 只建表与索引,不在这里写入默认数据,默认数据由 auth bootstrap 负责。
102
- */
103
- function ensureAuthSchema(context) {
104
- context.sqlite.exec(`
105
- CREATE TABLE IF NOT EXISTS auth_users (
106
- id TEXT PRIMARY KEY NOT NULL,
107
- username TEXT NOT NULL,
108
- password_hash TEXT NOT NULL,
109
- display_name TEXT,
110
- status TEXT NOT NULL,
111
- created_at TEXT NOT NULL,
112
- updated_at TEXT NOT NULL
113
- );
114
- `);
115
- context.sqlite.exec(`
116
- CREATE UNIQUE INDEX IF NOT EXISTS auth_users_username_uq
117
- ON auth_users(username);
118
- `);
119
- context.sqlite.exec(`
120
- CREATE TABLE IF NOT EXISTS auth_roles (
121
- id TEXT PRIMARY KEY NOT NULL,
122
- name TEXT NOT NULL,
123
- description TEXT,
124
- created_at TEXT NOT NULL,
125
- updated_at TEXT NOT NULL
126
- );
127
- `);
128
- context.sqlite.exec(`
129
- CREATE UNIQUE INDEX IF NOT EXISTS auth_roles_name_uq
130
- ON auth_roles(name);
131
- `);
132
- context.sqlite.exec(`
133
- CREATE TABLE IF NOT EXISTS auth_permissions (
134
- id TEXT PRIMARY KEY NOT NULL,
135
- key TEXT NOT NULL,
136
- description TEXT,
137
- created_at TEXT NOT NULL,
138
- updated_at TEXT NOT NULL
139
- );
140
- `);
141
- context.sqlite.exec(`
142
- CREATE UNIQUE INDEX IF NOT EXISTS auth_permissions_key_uq
143
- ON auth_permissions(key);
144
- `);
145
- context.sqlite.exec(`
146
- CREATE TABLE IF NOT EXISTS auth_user_roles (
147
- id TEXT PRIMARY KEY NOT NULL,
148
- user_id TEXT NOT NULL,
149
- role_id TEXT NOT NULL,
150
- created_at TEXT NOT NULL
151
- );
152
- `);
153
- context.sqlite.exec(`
154
- CREATE UNIQUE INDEX IF NOT EXISTS auth_user_roles_user_role_uq
155
- ON auth_user_roles(user_id, role_id);
156
- `);
157
- context.sqlite.exec(`
158
- CREATE INDEX IF NOT EXISTS auth_user_roles_user_id_idx
159
- ON auth_user_roles(user_id);
160
- `);
161
- context.sqlite.exec(`
162
- CREATE INDEX IF NOT EXISTS auth_user_roles_role_id_idx
163
- ON auth_user_roles(role_id);
164
- `);
165
- context.sqlite.exec(`
166
- CREATE TABLE IF NOT EXISTS auth_role_permissions (
167
- id TEXT PRIMARY KEY NOT NULL,
168
- role_id TEXT NOT NULL,
169
- permission_id TEXT NOT NULL,
170
- created_at TEXT NOT NULL
171
- );
172
- `);
173
- context.sqlite.exec(`
174
- CREATE UNIQUE INDEX IF NOT EXISTS auth_role_permissions_role_permission_uq
175
- ON auth_role_permissions(role_id, permission_id);
176
- `);
177
- context.sqlite.exec(`
178
- CREATE INDEX IF NOT EXISTS auth_role_permissions_role_id_idx
179
- ON auth_role_permissions(role_id);
180
- `);
181
- context.sqlite.exec(`
182
- CREATE INDEX IF NOT EXISTS auth_role_permissions_permission_id_idx
183
- ON auth_role_permissions(permission_id);
184
- `);
185
- context.sqlite.exec(`
186
- CREATE TABLE IF NOT EXISTS auth_tokens (
187
- id TEXT PRIMARY KEY NOT NULL,
188
- user_id TEXT NOT NULL,
189
- name TEXT NOT NULL,
190
- token_hash TEXT NOT NULL,
191
- expires_at TEXT,
192
- revoked_at TEXT,
193
- last_used_at TEXT,
194
- created_at TEXT NOT NULL,
195
- updated_at TEXT NOT NULL
196
- );
197
- `);
198
- context.sqlite.exec(`
199
- CREATE UNIQUE INDEX IF NOT EXISTS auth_tokens_token_hash_uq
200
- ON auth_tokens(token_hash);
201
- `);
202
- context.sqlite.exec(`
203
- CREATE INDEX IF NOT EXISTS auth_tokens_user_id_idx
204
- ON auth_tokens(user_id);
205
- `);
206
- context.sqlite.exec(`
207
- CREATE INDEX IF NOT EXISTS auth_tokens_expires_at_idx
208
- ON auth_tokens(expires_at);
209
- `);
210
- context.sqlite.exec(`
211
- CREATE TABLE IF NOT EXISTS auth_audit_logs (
212
- id TEXT PRIMARY KEY NOT NULL,
213
- actor_user_id TEXT,
214
- actor_token_id TEXT,
215
- resource_type TEXT NOT NULL,
216
- resource_id TEXT,
217
- action TEXT NOT NULL,
218
- result TEXT NOT NULL,
219
- request_id TEXT,
220
- ip TEXT,
221
- user_agent TEXT,
222
- meta_json TEXT,
223
- created_at TEXT NOT NULL
224
- );
225
- `);
226
- context.sqlite.exec(`
227
- CREATE INDEX IF NOT EXISTS auth_audit_logs_actor_created_idx
228
- ON auth_audit_logs(actor_user_id, created_at);
229
- `);
230
- context.sqlite.exec(`
231
- CREATE INDEX IF NOT EXISTS auth_audit_logs_action_created_idx
232
- ON auth_audit_logs(action, created_at);
233
- `);
234
- context.sqlite.exec(`
235
- CREATE INDEX IF NOT EXISTS auth_audit_logs_resource_idx
236
- ON auth_audit_logs(resource_type, resource_id);
237
- `);
238
- }
239
- /**
240
- * 补齐 models 表的增量列。
241
- */
242
- function ensureModelsTableColumns(context) {
243
- const rows = context.sqlite
244
- .prepare("PRAGMA table_info(models)")
245
- .all();
246
- const columns = new Set(rows.map((row) => String(row.name || "").trim()).filter(Boolean));
247
- if (!columns.has("is_paused")) {
248
- context.sqlite.exec("ALTER TABLE models ADD COLUMN is_paused INTEGER NOT NULL DEFAULT 0;");
249
- }
250
- }
251
- /**
252
- * 补齐 channel_accounts 表的增量列。
253
- */
254
- function ensureChannelAccountsTableColumns(context) {
255
- const rows = context.sqlite
256
- .prepare("PRAGMA table_info(channel_accounts)")
257
- .all();
258
- const columns = new Set(rows.map((row) => String(row.name || "").trim()).filter(Boolean));
259
- if (!columns.has("owner")) {
260
- context.sqlite.exec("ALTER TABLE channel_accounts ADD COLUMN owner TEXT;");
261
- }
262
- if (!columns.has("creator")) {
263
- context.sqlite.exec("ALTER TABLE channel_accounts ADD COLUMN creator TEXT;");
264
- }
265
- }
266
- /**
267
- * 迁移历史 env 双表到统一单表。
268
- */
269
- function ensureEnvEntriesMigration(context) {
270
- const envEntryColumns = context.sqlite
271
- .prepare("PRAGMA table_info(env_entries)")
272
- .all();
273
- const envEntryColumnNames = new Set(envEntryColumns.map((row) => String(row.name || "").trim()).filter(Boolean));
274
- if (!envEntryColumnNames.has("description")) {
275
- context.sqlite.exec("ALTER TABLE env_entries ADD COLUMN description TEXT;");
276
- }
277
- const tableRows = context.sqlite
278
- .prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name IN ('global_env', 'agent_env');")
279
- .all();
280
- const tableNames = new Set(tableRows.map((row) => String(row.name || "").trim()).filter(Boolean));
281
- if (tableNames.has("global_env")) {
282
- context.sqlite.exec(`
283
- INSERT OR IGNORE INTO env_entries (
284
- scope, agent_id, key, description, value_encrypted, created_at, updated_at
285
- )
286
- SELECT
287
- 'global',
288
- '',
289
- key,
290
- NULL,
291
- value_encrypted,
292
- created_at,
293
- updated_at
294
- FROM global_env;
295
- `);
296
- }
297
- if (tableNames.has("agent_env")) {
298
- context.sqlite.exec(`
299
- INSERT OR IGNORE INTO env_entries (
300
- scope, agent_id, key, description, value_encrypted, created_at, updated_at
301
- )
302
- SELECT
303
- 'agent',
304
- agent_id,
305
- key,
306
- NULL,
307
- value_encrypted,
308
- created_at,
309
- updated_at
310
- FROM agent_env;
311
- `);
312
- context.sqlite.exec(`
313
- UPDATE env_entries
314
- SET agent_id = ''
315
- WHERE scope = 'global' AND agent_id IS NULL;
316
- `);
317
- }
318
- }
319
- //# sourceMappingURL=StoreSchema.js.map