@downcity/city 1.1.6 → 1.1.9

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 (153) hide show
  1. package/bin/cli/agent/AgentManager.js +1 -1
  2. package/bin/cli/agent/AgentManager.js.map +1 -1
  3. package/bin/cli/agent/AgentReset.js +1 -1
  4. package/bin/cli/agent/AgentReset.js.map +1 -1
  5. package/bin/cli/agent/Init.d.ts.map +1 -1
  6. package/bin/cli/agent/Init.js +4 -2
  7. package/bin/cli/agent/Init.js.map +1 -1
  8. package/bin/cli/agent/Run.d.ts.map +1 -1
  9. package/bin/cli/agent/Run.js +4 -1
  10. package/bin/cli/agent/Run.js.map +1 -1
  11. package/bin/cli/control-plane/ControlPlaneInit.js +1 -1
  12. package/bin/cli/control-plane/ControlPlaneInit.js.map +1 -1
  13. package/bin/cli/control-plane/ControlPlaneProcess.d.ts.map +1 -1
  14. package/bin/cli/control-plane/ControlPlaneProcess.js +2 -1
  15. package/bin/cli/control-plane/ControlPlaneProcess.js.map +1 -1
  16. package/bin/cli/model/ModelCommandShared.d.ts +1 -1
  17. package/bin/cli/model/ModelCommandShared.d.ts.map +1 -1
  18. package/bin/cli/model/ModelCommandShared.js +1 -1
  19. package/bin/cli/model/ModelCommandShared.js.map +1 -1
  20. package/bin/cli/model/ModelCreateCommand.js +1 -1
  21. package/bin/cli/model/ModelCreateCommand.js.map +1 -1
  22. package/bin/cli/model/ModelManager.js +1 -1
  23. package/bin/cli/model/ModelManager.js.map +1 -1
  24. package/bin/cli/model/ModelReadCommand.js +1 -1
  25. package/bin/cli/model/ModelReadCommand.js.map +1 -1
  26. package/bin/cli/service/ServiceCommandSupport.d.ts.map +1 -1
  27. package/bin/cli/service/ServiceCommandSupport.js +2 -1
  28. package/bin/cli/service/ServiceCommandSupport.js.map +1 -1
  29. package/bin/cli/shared/ChatAuth.d.ts.map +1 -1
  30. package/bin/cli/shared/ChatAuth.js +6 -5
  31. package/bin/cli/shared/ChatAuth.js.map +1 -1
  32. package/bin/cli/shared/ChatManager.d.ts.map +1 -1
  33. package/bin/cli/shared/ChatManager.js +11 -7
  34. package/bin/cli/shared/ChatManager.js.map +1 -1
  35. package/bin/cli/shared/Env.js +1 -1
  36. package/bin/cli/shared/Env.js.map +1 -1
  37. package/bin/cli/shared/Plugins.js +2 -1
  38. package/bin/cli/shared/Plugins.js.map +1 -1
  39. package/bin/cli/shared/PublicHostEnv.js +1 -1
  40. package/bin/cli/shared/PublicHostEnv.js.map +1 -1
  41. package/bin/config/Paths.d.ts +1 -5
  42. package/bin/config/Paths.d.ts.map +1 -1
  43. package/bin/config/Paths.js +2 -8
  44. package/bin/config/Paths.js.map +1 -1
  45. package/bin/control/ChannelAccountApiRoutes.d.ts.map +1 -1
  46. package/bin/control/ChannelAccountApiRoutes.js +2 -1
  47. package/bin/control/ChannelAccountApiRoutes.js.map +1 -1
  48. package/bin/control/EnvApiRoutes.js +1 -1
  49. package/bin/control/EnvApiRoutes.js.map +1 -1
  50. package/bin/control/ModelApiRoutes.js +1 -1
  51. package/bin/control/ModelApiRoutes.js.map +1 -1
  52. package/bin/control/ModelPoolService.js +1 -1
  53. package/bin/control/ModelPoolService.js.map +1 -1
  54. package/bin/control/PluginApiRoutes.d.ts.map +1 -1
  55. package/bin/control/PluginApiRoutes.js +2 -1
  56. package/bin/control/PluginApiRoutes.js.map +1 -1
  57. package/bin/control/gateway/AgentActions.d.ts.map +1 -1
  58. package/bin/control/gateway/AgentActions.js +4 -3
  59. package/bin/control/gateway/AgentActions.js.map +1 -1
  60. package/bin/control/gateway/AgentCatalog.js +4 -4
  61. package/bin/control/gateway/AgentCatalog.js.map +1 -1
  62. package/bin/http/auth/AuthService.d.ts.map +1 -1
  63. package/bin/http/auth/AuthService.js +1 -1
  64. package/bin/http/auth/AuthService.js.map +1 -1
  65. package/bin/http/auth/AuthStore.js +2 -2
  66. package/bin/http/auth/AuthStore.js.map +1 -1
  67. package/bin/platform/PluginLifecycle.d.ts +51 -0
  68. package/bin/platform/PluginLifecycle.d.ts.map +1 -0
  69. package/bin/platform/PluginLifecycle.js +98 -0
  70. package/bin/platform/PluginLifecycle.js.map +1 -0
  71. package/bin/platform/chatAuthorization/Store.d.ts +31 -0
  72. package/bin/platform/chatAuthorization/Store.d.ts.map +1 -0
  73. package/bin/platform/chatAuthorization/Store.js +145 -0
  74. package/bin/platform/chatAuthorization/Store.js.map +1 -0
  75. package/bin/platform/store/StoreChannelAccountRepository.d.ts +34 -0
  76. package/bin/platform/store/StoreChannelAccountRepository.d.ts.map +1 -0
  77. package/bin/platform/store/StoreChannelAccountRepository.js +198 -0
  78. package/bin/platform/store/StoreChannelAccountRepository.js.map +1 -0
  79. package/bin/platform/store/StoreEnvRepository.d.ts +98 -0
  80. package/bin/platform/store/StoreEnvRepository.d.ts.map +1 -0
  81. package/bin/platform/store/StoreEnvRepository.js +334 -0
  82. package/bin/platform/store/StoreEnvRepository.js.map +1 -0
  83. package/bin/platform/store/StoreModelRepository.d.ts +61 -0
  84. package/bin/platform/store/StoreModelRepository.d.ts.map +1 -0
  85. package/bin/platform/store/StoreModelRepository.js +278 -0
  86. package/bin/platform/store/StoreModelRepository.js.map +1 -0
  87. package/bin/platform/store/StoreSchema.d.ts +13 -0
  88. package/bin/platform/store/StoreSchema.d.ts.map +1 -0
  89. package/bin/platform/store/StoreSchema.js +319 -0
  90. package/bin/platform/store/StoreSchema.js.map +1 -0
  91. package/bin/platform/store/StoreSecureSettings.d.ts +33 -0
  92. package/bin/platform/store/StoreSecureSettings.d.ts.map +1 -0
  93. package/bin/platform/store/StoreSecureSettings.js +91 -0
  94. package/bin/platform/store/StoreSecureSettings.js.map +1 -0
  95. package/bin/platform/store/StoreShared.d.ts +44 -0
  96. package/bin/platform/store/StoreShared.d.ts.map +1 -0
  97. package/bin/platform/store/StoreShared.js +40 -0
  98. package/bin/platform/store/StoreShared.js.map +1 -0
  99. package/bin/platform/store/crypto.d.ts +24 -0
  100. package/bin/platform/store/crypto.d.ts.map +1 -0
  101. package/bin/platform/store/crypto.js +101 -0
  102. package/bin/platform/store/crypto.js.map +1 -0
  103. package/bin/platform/store/index.d.ts +230 -0
  104. package/bin/platform/store/index.d.ts.map +1 -0
  105. package/bin/platform/store/index.js +360 -0
  106. package/bin/platform/store/index.js.map +1 -0
  107. package/bin/platform/store/schema.d.ts +690 -0
  108. package/bin/platform/store/schema.d.ts.map +1 -0
  109. package/bin/platform/store/schema.js +81 -0
  110. package/bin/platform/store/schema.js.map +1 -0
  111. package/bin/process/registry/AgentHostRuntime.d.ts +9 -1
  112. package/bin/process/registry/AgentHostRuntime.d.ts.map +1 -1
  113. package/bin/process/registry/AgentHostRuntime.js +77 -3
  114. package/bin/process/registry/AgentHostRuntime.js.map +1 -1
  115. package/package.json +2 -2
  116. package/src/cli/agent/AgentManager.ts +1 -1
  117. package/src/cli/agent/AgentReset.ts +1 -1
  118. package/src/cli/agent/Init.ts +13 -8
  119. package/src/cli/agent/Run.ts +4 -1
  120. package/src/cli/control-plane/ControlPlaneInit.ts +1 -1
  121. package/src/cli/control-plane/ControlPlaneProcess.ts +2 -1
  122. package/src/cli/model/ModelCommandShared.ts +1 -1
  123. package/src/cli/model/ModelCreateCommand.ts +1 -1
  124. package/src/cli/model/ModelManager.ts +1 -1
  125. package/src/cli/model/ModelReadCommand.ts +1 -1
  126. package/src/cli/service/ServiceCommandSupport.ts +2 -1
  127. package/src/cli/shared/ChatAuth.ts +5 -6
  128. package/src/cli/shared/ChatManager.ts +12 -7
  129. package/src/cli/shared/Env.ts +1 -1
  130. package/src/cli/shared/Plugins.ts +1 -1
  131. package/src/cli/shared/PublicHostEnv.ts +1 -1
  132. package/src/config/Paths.ts +2 -9
  133. package/src/control/ChannelAccountApiRoutes.ts +2 -1
  134. package/src/control/EnvApiRoutes.ts +1 -1
  135. package/src/control/ModelApiRoutes.ts +1 -1
  136. package/src/control/ModelPoolService.ts +1 -1
  137. package/src/control/PluginApiRoutes.ts +4 -2
  138. package/src/control/gateway/AgentActions.ts +24 -17
  139. package/src/control/gateway/AgentCatalog.ts +4 -4
  140. package/src/http/auth/AuthService.ts +1 -1
  141. package/src/http/auth/AuthStore.ts +2 -2
  142. package/src/platform/PluginLifecycle.ts +132 -0
  143. package/src/platform/chatAuthorization/Store.ts +181 -0
  144. package/src/platform/store/StoreChannelAccountRepository.ts +269 -0
  145. package/src/platform/store/StoreEnvRepository.ts +452 -0
  146. package/src/platform/store/StoreModelRepository.ts +324 -0
  147. package/src/platform/store/StoreSchema.ts +344 -0
  148. package/src/platform/store/StoreSecureSettings.ts +126 -0
  149. package/src/platform/store/StoreShared.ts +67 -0
  150. package/src/platform/store/crypto.ts +112 -0
  151. package/src/platform/store/index.ts +497 -0
  152. package/src/platform/store/schema.ts +103 -0
  153. package/src/process/registry/AgentHostRuntime.ts +79 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreModelRepository.js","sourceRoot":"","sources":["../../../src/platform/store/StoreModelRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreSchema.d.ts","sourceRoot":"","sources":["../../../src/platform/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"}
@@ -0,0 +1,319 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreSchema.js","sourceRoot":"","sources":["../../../src/platform/store/StoreSchema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * PlatformStore 加密配置仓储。
3
+ *
4
+ * 关键点(中文)
5
+ * - 管理 `platform_secure_settings` 表。
6
+ * - 平台级与 agent 级敏感配置都复用这套存储。
7
+ */
8
+ import type { PlatformStoreContext } from "./StoreShared.js";
9
+ /**
10
+ * 同步读取加密 JSON 配置。
11
+ */
12
+ export declare function getSecureSettingJsonSync<T>(context: PlatformStoreContext, key: string): T | null;
13
+ /**
14
+ * 同步写入加密 JSON 配置。
15
+ */
16
+ export declare function setSecureSettingJsonSync(context: PlatformStoreContext, key: string, value: unknown): void;
17
+ /**
18
+ * 删除加密配置。
19
+ */
20
+ export declare function removeSecureSetting(context: PlatformStoreContext, key: string): void;
21
+ /**
22
+ * 异步读取加密 JSON 配置。
23
+ */
24
+ export declare function getSecureSettingJson<T>(context: PlatformStoreContext, key: string): Promise<T | null>;
25
+ /**
26
+ * 异步写入加密 JSON 配置。
27
+ */
28
+ export declare function setSecureSettingJson(context: PlatformStoreContext, key: string, value: unknown): Promise<void>;
29
+ /**
30
+ * 构造 agent 级加密配置 key。
31
+ */
32
+ export declare function buildAgentSecureSettingKey(agentIdInput: string, keyInput: string): string;
33
+ //# sourceMappingURL=StoreSecureSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreSecureSettings.d.ts","sourceRoot":"","sources":["../../../src/platform/store/StoreSecureSettings.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAG7D;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,OAAO,EAAE,oBAAoB,EAC7B,GAAG,EAAE,MAAM,GACV,CAAC,GAAG,IAAI,CAYV;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,oBAAoB,EAC7B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,oBAAoB,EAC7B,GAAG,EAAE,MAAM,GACV,IAAI,CAKN;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,OAAO,EAAE,oBAAoB,EAC7B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAYnB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,oBAAoB,EAC7B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,MAAM,CAIR"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * PlatformStore 加密配置仓储。
3
+ *
4
+ * 关键点(中文)
5
+ * - 管理 `platform_secure_settings` 表。
6
+ * - 平台级与 agent 级敏感配置都复用这套存储。
7
+ */
8
+ import { decryptText, decryptTextSync, encryptText, encryptTextSync } from "./crypto.js";
9
+ import { normalizeNonEmptyText, nowIso } from "./StoreShared.js";
10
+ /**
11
+ * 同步读取加密 JSON 配置。
12
+ */
13
+ export function getSecureSettingJsonSync(context, key) {
14
+ const settingKey = normalizeNonEmptyText(key, "setting key");
15
+ const row = context.sqlite
16
+ .prepare("SELECT value_encrypted FROM platform_secure_settings WHERE key = ? LIMIT 1;")
17
+ .get(settingKey);
18
+ if (!row || typeof row.value_encrypted !== "string" || !row.value_encrypted) {
19
+ return null;
20
+ }
21
+ const raw = decryptTextSync(row.value_encrypted);
22
+ return JSON.parse(raw);
23
+ }
24
+ /**
25
+ * 同步写入加密 JSON 配置。
26
+ */
27
+ export function setSecureSettingJsonSync(context, key, value) {
28
+ const settingKey = normalizeNonEmptyText(key, "setting key");
29
+ const raw = JSON.stringify(value ?? null);
30
+ const encrypted = encryptTextSync(raw);
31
+ const now = nowIso();
32
+ context.sqlite
33
+ .prepare(`
34
+ INSERT INTO platform_secure_settings (key, value_encrypted, created_at, updated_at)
35
+ VALUES (?, ?, ?, ?)
36
+ ON CONFLICT(key) DO UPDATE SET
37
+ value_encrypted = excluded.value_encrypted,
38
+ updated_at = excluded.updated_at;
39
+ `)
40
+ .run(settingKey, encrypted, now, now);
41
+ }
42
+ /**
43
+ * 删除加密配置。
44
+ */
45
+ export function removeSecureSetting(context, key) {
46
+ const settingKey = normalizeNonEmptyText(key, "setting key");
47
+ context.sqlite
48
+ .prepare("DELETE FROM platform_secure_settings WHERE key = ?;")
49
+ .run(settingKey);
50
+ }
51
+ /**
52
+ * 异步读取加密 JSON 配置。
53
+ */
54
+ export async function getSecureSettingJson(context, key) {
55
+ const settingKey = normalizeNonEmptyText(key, "setting key");
56
+ const row = context.sqlite
57
+ .prepare("SELECT value_encrypted FROM platform_secure_settings WHERE key = ? LIMIT 1;")
58
+ .get(settingKey);
59
+ if (!row || typeof row.value_encrypted !== "string" || !row.value_encrypted) {
60
+ return null;
61
+ }
62
+ const raw = await decryptText(row.value_encrypted);
63
+ return JSON.parse(raw);
64
+ }
65
+ /**
66
+ * 异步写入加密 JSON 配置。
67
+ */
68
+ export async function setSecureSettingJson(context, key, value) {
69
+ const settingKey = normalizeNonEmptyText(key, "setting key");
70
+ const raw = JSON.stringify(value ?? null);
71
+ const encrypted = await encryptText(raw);
72
+ const now = nowIso();
73
+ context.sqlite
74
+ .prepare(`
75
+ INSERT INTO platform_secure_settings (key, value_encrypted, created_at, updated_at)
76
+ VALUES (?, ?, ?, ?)
77
+ ON CONFLICT(key) DO UPDATE SET
78
+ value_encrypted = excluded.value_encrypted,
79
+ updated_at = excluded.updated_at;
80
+ `)
81
+ .run(settingKey, encrypted, now, now);
82
+ }
83
+ /**
84
+ * 构造 agent 级加密配置 key。
85
+ */
86
+ export function buildAgentSecureSettingKey(agentIdInput, keyInput) {
87
+ const agentId = normalizeNonEmptyText(agentIdInput, "agentId");
88
+ const key = normalizeNonEmptyText(keyInput, "agent secure setting key");
89
+ return `agent:${agentId}:${key}`;
90
+ }
91
+ //# sourceMappingURL=StoreSecureSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreSecureSettings.js","sourceRoot":"","sources":["../../../src/platform/store/StoreSecureSettings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * PlatformStore 共享内部工具。
3
+ *
4
+ * 关键点(中文)
5
+ * - 这里只放 `PlatformStore` 内部多个子模块共用的类型与纯函数。
6
+ * - 对外不暴露业务语义,只服务 `utils/store/*` 内部实现。
7
+ */
8
+ import Database from "better-sqlite3";
9
+ import { drizzle } from "drizzle-orm/better-sqlite3";
10
+ import type { StoredChannelAccountChannel } from "@downcity/agent";
11
+ /**
12
+ * Drizzle SQLite 实例类型。
13
+ */
14
+ export type PlatformDrizzleDb = ReturnType<typeof drizzle>;
15
+ /**
16
+ * PlatformStore 子模块上下文。
17
+ */
18
+ export interface PlatformStoreContext {
19
+ /**
20
+ * 原始 SQLite 连接。
21
+ */
22
+ sqlite: Database.Database;
23
+ /**
24
+ * Drizzle 查询实例。
25
+ */
26
+ db: PlatformDrizzleDb;
27
+ }
28
+ /**
29
+ * 返回当前时间的 ISO 字符串。
30
+ */
31
+ export declare function nowIso(): string;
32
+ /**
33
+ * 归一化非空文本。
34
+ */
35
+ export declare function normalizeNonEmptyText(value: string, fieldName: string): string;
36
+ /**
37
+ * 把字符串裁剪为可选文本。
38
+ */
39
+ export declare function optionalTrimmedText(value: string | undefined): string | undefined;
40
+ /**
41
+ * 规范化 channel account 的 channel 字段。
42
+ */
43
+ export declare function normalizeChannelAccountChannel(input: string): StoredChannelAccountChannel;
44
+ //# sourceMappingURL=StoreShared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreShared.d.ts","sourceRoot":"","sources":["../../../src/platform/store/StoreShared.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC1B;;OAEG;IACH,EAAE,EAAE,iBAAiB,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,MAAM,CAE/B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAI9E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGjF;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,GACZ,2BAA2B,CAM7B"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * PlatformStore 共享内部工具。
3
+ *
4
+ * 关键点(中文)
5
+ * - 这里只放 `PlatformStore` 内部多个子模块共用的类型与纯函数。
6
+ * - 对外不暴露业务语义,只服务 `utils/store/*` 内部实现。
7
+ */
8
+ /**
9
+ * 返回当前时间的 ISO 字符串。
10
+ */
11
+ export function nowIso() {
12
+ return new Date().toISOString();
13
+ }
14
+ /**
15
+ * 归一化非空文本。
16
+ */
17
+ export function normalizeNonEmptyText(value, fieldName) {
18
+ const normalized = String(value || "").trim();
19
+ if (!normalized)
20
+ throw new Error(`${fieldName} cannot be empty`);
21
+ return normalized;
22
+ }
23
+ /**
24
+ * 把字符串裁剪为可选文本。
25
+ */
26
+ export function optionalTrimmedText(value) {
27
+ const normalized = String(value || "").trim();
28
+ return normalized || undefined;
29
+ }
30
+ /**
31
+ * 规范化 channel account 的 channel 字段。
32
+ */
33
+ export function normalizeChannelAccountChannel(input) {
34
+ const channel = String(input || "").trim().toLowerCase();
35
+ if (channel === "telegram" || channel === "feishu" || channel === "qq") {
36
+ return channel;
37
+ }
38
+ throw new Error(`Unsupported channel account type: ${input}`);
39
+ }
40
+ //# sourceMappingURL=StoreShared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreShared.js","sourceRoot":"","sources":["../../../src/platform/store/StoreShared.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyBH;;GAEG;AACH,MAAM,UAAU,MAAM;IACpB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,SAAiB;IACpE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,kBAAkB,CAAC,CAAC;IACjE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,OAAO,UAAU,IAAI,SAAS,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAC5C,KAAa;IAEb,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzD,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACvE,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * 重置缓存密钥。
3
+ *
4
+ * 关键点(中文)
5
+ * - 仅在迁移阶段替换 key 文件后调用,确保后续解密重新从磁盘加载最新 key。
6
+ */
7
+ export declare function resetModelDbKeyCache(): void;
8
+ /**
9
+ * 同步加密字符串(用于同步配置读取链路)。
10
+ */
11
+ export declare function encryptTextSync(plainText: string): string;
12
+ /**
13
+ * 同步解密字符串(用于同步配置读取链路)。
14
+ */
15
+ export declare function decryptTextSync(cipherText: string): string;
16
+ /**
17
+ * 加密字符串。
18
+ */
19
+ export declare function encryptText(plainText: string): Promise<string>;
20
+ /**
21
+ * 解密字符串。
22
+ */
23
+ export declare function decryptText(cipherText: string): Promise<string>;
24
+ //# sourceMappingURL=crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../src/platform/store/crypto.ts"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AA0CD;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAOzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAa1D;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGpE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGrE"}