@numa-tech/numa 1.25.0 → 1.26.1

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 (80) hide show
  1. package/dist/business-issuer.js +3 -1
  2. package/dist/business-issuer.js.map +1 -1
  3. package/dist/cli.js +3 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/config.d.ts +1 -1
  6. package/dist/config.js +2 -2
  7. package/dist/config.js.map +1 -1
  8. package/dist/kb/catalog.js +33 -2
  9. package/dist/kb/catalog.js.map +1 -1
  10. package/dist/kb/chat-stream.d.ts +5 -0
  11. package/dist/kb/chat-stream.js +61 -0
  12. package/dist/kb/chat-stream.js.map +1 -0
  13. package/dist/kb/client.d.ts +75 -6
  14. package/dist/kb/client.js +104 -7
  15. package/dist/kb/client.js.map +1 -1
  16. package/dist/kb/commands.js +92 -7
  17. package/dist/kb/commands.js.map +1 -1
  18. package/dist/kb/config.d.ts +14 -2
  19. package/dist/kb/config.js +21 -7
  20. package/dist/kb/config.js.map +1 -1
  21. package/dist/kb/management-commands.d.ts +7 -0
  22. package/dist/kb/management-commands.js +86 -0
  23. package/dist/kb/management-commands.js.map +1 -0
  24. package/dist/kb/management-schemas.d.ts +106 -0
  25. package/dist/kb/management-schemas.js +33 -0
  26. package/dist/kb/management-schemas.js.map +1 -0
  27. package/dist/kb/transfers.d.ts +4 -0
  28. package/dist/kb/transfers.js +11 -4
  29. package/dist/kb/transfers.js.map +1 -1
  30. package/dist/kb/upload-decisions.d.ts +28 -0
  31. package/dist/kb/upload-decisions.js +23 -0
  32. package/dist/kb/upload-decisions.js.map +1 -0
  33. package/dist/kb/upload-state.d.ts +1 -0
  34. package/dist/kb/upload-state.js +1 -0
  35. package/dist/kb/upload-state.js.map +1 -1
  36. package/dist/kb/web-login.d.ts +10 -0
  37. package/dist/kb/web-login.js +25 -0
  38. package/dist/kb/web-login.js.map +1 -0
  39. package/dist/kb/web-page.d.ts +3 -0
  40. package/dist/kb/web-page.js +114 -0
  41. package/dist/kb/web-page.js.map +1 -0
  42. package/dist/kb/web-queue.d.ts +61 -0
  43. package/dist/kb/web-queue.js +101 -0
  44. package/dist/kb/web-queue.js.map +1 -0
  45. package/dist/kb/web.d.ts +26 -0
  46. package/dist/kb/web.js +234 -0
  47. package/dist/kb/web.js.map +1 -0
  48. package/dist/local-web/context-menu.d.ts +2 -0
  49. package/dist/local-web/context-menu.js +53 -0
  50. package/dist/local-web/context-menu.js.map +1 -0
  51. package/dist/local-web/file-workspace-style.d.ts +2 -0
  52. package/dist/local-web/file-workspace-style.js +58 -0
  53. package/dist/local-web/file-workspace-style.js.map +1 -0
  54. package/dist/local-web/file-workspace.d.ts +2 -0
  55. package/dist/local-web/file-workspace.js +39 -0
  56. package/dist/local-web/file-workspace.js.map +1 -0
  57. package/dist/local-web/security.d.ts +6 -0
  58. package/dist/local-web/security.js +51 -0
  59. package/dist/local-web/security.js.map +1 -0
  60. package/dist/login-recovery.js +7 -2
  61. package/dist/login-recovery.js.map +1 -1
  62. package/dist/oss/transfer-queue.d.ts +7 -51
  63. package/dist/oss/transfer-queue.js +15 -308
  64. package/dist/oss/transfer-queue.js.map +1 -1
  65. package/dist/oss/web-page.js +21 -103
  66. package/dist/oss/web-page.js.map +1 -1
  67. package/dist/oss/web.js +4 -45
  68. package/dist/oss/web.js.map +1 -1
  69. package/dist/platform-profile.d.ts +25 -1
  70. package/dist/platform-profile.js +44 -1
  71. package/dist/platform-profile.js.map +1 -1
  72. package/dist/transfers/persistent-queue.d.ts +65 -0
  73. package/dist/transfers/persistent-queue.js +312 -0
  74. package/dist/transfers/persistent-queue.js.map +1 -0
  75. package/docs/design/kb-capability-upgrade.md +36 -0
  76. package/docs/design/kb-web-workspace.md +97 -0
  77. package/docs/kb-access.md +72 -0
  78. package/package.json +9 -7
  79. package/scripts/export-kb-contract.py +25 -6
  80. package/src/kb/openapi-contract.json +2297 -566
package/dist/kb/client.js CHANGED
@@ -1,11 +1,14 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { openAsBlob } from "node:fs";
3
3
  import { z } from "zod";
4
- import { ensureAccessToken } from "../oauth.js";
4
+ import { LoginRequiredError, ensureAccessToken } from "../oauth.js";
5
5
  import { validateKbBaseUrl } from "./config.js";
6
6
  import { KbError, sanitizeKbOutput } from "./errors.js";
7
+ import * as management from './management-schemas.js';
8
+ import { readKbChat } from './chat-stream.js';
7
9
  const AGENT = "/api/v1/external/agent";
8
10
  const EXTERNAL = "/api/v1/external";
11
+ const KB = '/api/v1/kb';
9
12
  const text = z.string().min(1);
10
13
  const headersSchema = z.record(z.string(), z.string());
11
14
  const taskSchema = z.object({ batch_id: text, status: text, archive_id: text.optional(),
@@ -90,6 +93,7 @@ function identifier(value) {
90
93
  }
91
94
  export class KbClient {
92
95
  config;
96
+ dependencies;
93
97
  baseUrl;
94
98
  binding;
95
99
  fetchImpl;
@@ -97,6 +101,7 @@ export class KbClient {
97
101
  timeoutMs;
98
102
  constructor(config, dependencies = {}) {
99
103
  this.config = config;
104
+ this.dependencies = dependencies;
100
105
  this.baseUrl = validateKbBaseUrl(config.baseUrl);
101
106
  if (config.authMode === "api-key" && (!config.apiKey || /[\u0000-\u0020\u007f]/u.test(config.apiKey)))
102
107
  throw new KbError("A valid KB API key is required.", "kb_config_missing");
@@ -110,6 +115,7 @@ export class KbClient {
110
115
  this.timeoutMs = dependencies.timeoutMs ?? 30_000;
111
116
  this.binding = createHash("sha256").update(JSON.stringify({ baseUrl: this.baseUrl, mode: config.authMode,
112
117
  ...(config.authMode === "api-key" ? { keyFingerprint: createHash("sha256").update(config.apiKey).digest("hex") } : {}), tenant: config.tenantHeader,
118
+ ...(config.kbTenant ? { kbTenant: config.kbTenant } : {}),
113
119
  issuer: config.auth?.issuerUrl ?? config.auth?.discoveryUrl, client: config.auth?.clientId,
114
120
  audience: config.auth?.resourceAudience })).digest("hex");
115
121
  }
@@ -122,14 +128,18 @@ export class KbClient {
122
128
  headers.set("X-Api-Key", this.config.apiKey);
123
129
  if (this.config.tenantHeader)
124
130
  headers.set(this.config.tenantHeader.name, this.config.tenantHeader.value);
131
+ if (this.config.kbTenant)
132
+ headers.set("X-KB-Tenant", this.config.kbTenant);
125
133
  const secrets = this.config.apiKey ? [this.config.apiKey] : [];
126
134
  if (this.config.authMode === "keycloak") {
127
135
  let token;
128
136
  try {
129
137
  token = await this.tokenProvider(this.config.auth);
130
138
  }
131
- catch {
132
- throw new KbError("KB Keycloak authentication is unavailable; run numa login --service kb with the configured identity.", "kb_auth_required");
139
+ catch (error) {
140
+ if (error instanceof LoginRequiredError)
141
+ throw new KbError("KB Keycloak login is required; run numa login --service kb with the configured identity.", "kb_auth_required");
142
+ throw new KbError("KB Keycloak authentication service is unavailable; check the connection or configuration.", "kb_auth_unavailable");
133
143
  }
134
144
  if (!token || /[\r\n]/u.test(token))
135
145
  throw new KbError("KB Keycloak token is invalid.", "kb_auth_required");
@@ -187,6 +197,85 @@ export class KbClient {
187
197
  listCollections() {
188
198
  return this.json(`${AGENT}/collections`, z.object({ collections: z.array(objectSchema), total: z.number().int().nonnegative() }).passthrough());
189
199
  }
200
+ forTenant(tenant) {
201
+ if (!/^[a-zA-Z0-9_.-]{1,128}$/u.test(tenant))
202
+ throw new KbError("Invalid tenant.", "kb_input_invalid", 400);
203
+ return new KbClient({ ...this.config, kbTenant: tenant }, this.dependencies);
204
+ }
205
+ identity() { return this.json("/api/v1/auth/me", z.object({ id: text }).passthrough()); }
206
+ listTenants() { return this.json("/api/v1/auth/tenants", z.object({ current_tenant_id: text.nullable(), items: z.array(z.object({ tenant_id: text, name: text, role: text }).passthrough()) })); }
207
+ listDocuments(collection, offset = 0, query = "") {
208
+ return this.queryDocuments({ collection_id: collection, offset, limit: 100, q: query });
209
+ }
210
+ queryDocuments(input = {}) {
211
+ return this.json(`${KB}/documents?${management.queryString(management.checked(management.documentsQuery, input))}`, z.array(z.object({ document_id: text }).passthrough()));
212
+ }
213
+ getCollection(id) { return this.json(`${KB}/collections/${identifier(id)}`, objectSchema); }
214
+ updateCollection(id, input) {
215
+ return this.json(`${KB}/collections/${identifier(id)}`, objectSchema, { method: 'PUT', body: JSON.stringify(management.checked(management.collectionUpdate, input)) }, true);
216
+ }
217
+ async remove(path) {
218
+ const response = await this.authenticatedFetch(this.baseUrl + path, { method: 'DELETE' }, true);
219
+ await response.body?.cancel();
220
+ }
221
+ deleteCollection(id) { return this.remove(`${KB}/collections/${identifier(id)}`); }
222
+ transferCollection(id, owner) {
223
+ return this.json(`${KB}/collections/${identifier(id)}/transfer`, objectSchema, { method: 'POST', body: JSON.stringify({ target_owner_id: management.checked(management.resourceId, owner) }) }, true);
224
+ }
225
+ listMembers(id) { return this.json(`${KB}/collections/${identifier(id)}/members`, z.array(objectSchema)); }
226
+ setMember(id, input) {
227
+ return this.json(`${KB}/collections/${identifier(id)}/members`, objectSchema, { method: 'PUT', body: JSON.stringify(management.checked(management.memberUpdate, input)) }, true);
228
+ }
229
+ removeMember(id, user) { return this.remove(`${KB}/collections/${identifier(id)}/members/${identifier(user)}`); }
230
+ searchUsers(input = {}) { return this.json(`${KB}/users/search?${management.queryString(management.checked(management.usersQuery, input))}`, objectSchema); }
231
+ getDocument(id, content = false) {
232
+ return this.json(`${KB}/documents/${identifier(id)}?${management.queryString({ include_content: content, include_chunks: false, include_assets: false })}`, objectSchema);
233
+ }
234
+ documentChunks(id, input = {}) {
235
+ return this.json(`${KB}/documents/${identifier(id)}/chunks?${management.queryString(management.checked(management.page, input))}`, z.array(objectSchema));
236
+ }
237
+ documentAssets(id, input = {}) {
238
+ const value = management.checked(management.page.extend({ limit: z.number().int().min(1).max(200).default(24) }), input);
239
+ return this.json(`${KB}/documents/${identifier(id)}/assets?${management.queryString(value)}`, z.array(objectSchema));
240
+ }
241
+ documentVersions(id) { return this.json(`${KB}/documents/${identifier(id)}/versions`, z.array(objectSchema)); }
242
+ documentHistory(id) { return this.json(`${KB}/documents/${identifier(id)}/change-history`, z.array(objectSchema)); }
243
+ switchDocumentVersion(id, input) {
244
+ return this.json(`${KB}/documents/${identifier(id)}/switch-version`, objectSchema, { method: 'POST', body: JSON.stringify(management.checked(management.versionSwitch, input)) }, true);
245
+ }
246
+ updateDocument(id, input) {
247
+ return this.json(`${KB}/documents/${identifier(id)}`, objectSchema, { method: 'PUT', body: JSON.stringify(management.checked(management.documentUpdate, input)) }, true);
248
+ }
249
+ reindexDocument(id) { return this.json(`${KB}/documents/${identifier(id)}/reindex`, objectSchema, { method: 'POST' }, true); }
250
+ listBatches(input = {}) { return this.json(`${KB}/batches?${management.queryString(management.checked(management.batchesQuery, input))}`, z.array(objectSchema)); }
251
+ cancelBatch(id) { return this.json(`${KB}/batch/${identifier(id)}/cancel`, objectSchema, { method: 'POST' }, true); }
252
+ ingestJobs(input = {}) { return this.json(`${KB}/ingest-jobs?${management.queryString(management.checked(management.jobsQuery, input))}`, z.array(objectSchema)); }
253
+ listConflicts(input = {}) {
254
+ const value = management.checked(z.object({ collection_id: management.resourceId.optional(), status: z.string().optional() }).strict(), input);
255
+ return this.json(`${KB}/conflict-reviews?${management.queryString(value)}`, z.array(objectSchema));
256
+ }
257
+ resolveConflict(id, input) {
258
+ return this.json(`${KB}/conflict-reviews/${identifier(id)}/resolve`, objectSchema, { method: 'POST', body: JSON.stringify(management.checked(management.conflictResolution, input)) }, true);
259
+ }
260
+ async deleteDocument(id) {
261
+ return this.remove(`${KB}/documents/${identifier(id)}`);
262
+ }
263
+ preflightUpload(input) {
264
+ return this.json(`${KB}/upload-sessions/preflight`, objectSchema, { method: 'POST', body: JSON.stringify(input) });
265
+ }
266
+ chatSessions() { return this.json(`${KB}/chat/sessions`, z.array(objectSchema)); }
267
+ chatSession(id) { return this.json(`${KB}/chat/sessions/${identifier(id)}`, objectSchema); }
268
+ createChatSession(input) {
269
+ return this.json(`${KB}/chat/sessions`, objectSchema, { method: 'POST', body: JSON.stringify(management.checked(management.chatSessionCreate, input)) }, true);
270
+ }
271
+ deleteChatSession(id) { return this.remove(`${KB}/chat/sessions/${identifier(id)}`); }
272
+ async ask(input, signal) {
273
+ const body = management.checked(management.chatRequest, input);
274
+ const response = await this.authenticatedFetch(`${this.baseUrl}${KB}/chat/stream`, {
275
+ method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body), signal,
276
+ }, Boolean(body.session_id), 180_000);
277
+ return readKbChat(response);
278
+ }
190
279
  createCollection(input) {
191
280
  if (!input.name.trim())
192
281
  throw new KbError("Collection name is required.", "kb_input_invalid");
@@ -194,12 +283,20 @@ export class KbClient {
194
283
  method: "POST", body: JSON.stringify({ task_name: input.name, collection_name: input.name, description: input.description, visibility: "private" })
195
284
  }, true);
196
285
  }
197
- search(input) {
198
- if (!input.query.trim() || !input.collection_id || (input.top_k !== undefined && (!Number.isInteger(input.top_k) || input.top_k < 1 || input.top_k > 10))
286
+ async search(input) {
287
+ const collections = input.collection_ids ?? (input.collection_id ? [input.collection_id] : []);
288
+ if (!input.query.trim() || input.query.length > 4000 || !collections.length || collections.length > 20
289
+ || (input.collection_id !== undefined && input.collection_ids !== undefined)
290
+ || collections.some(id => typeof id !== 'string' || !id.trim())
291
+ || (input.document_ids !== undefined && (!input.document_ids.length || input.document_ids.some(id => !id.trim())))
292
+ || (input.top_k !== undefined && (!Number.isInteger(input.top_k) || input.top_k < 1 || input.top_k > 10))
199
293
  || (input.min_score !== undefined && (!Number.isFinite(input.min_score) || input.min_score < 0 || input.min_score > 1))) {
200
- throw new KbError("Search requires a query, collection ID, top-k 1–10 and min-score 0–1.", "kb_input_invalid");
294
+ throw new KbError("Search requires a query, 1–20 explicit collections, top-k 1–10 and min-score 0–1.", "kb_input_invalid");
201
295
  }
202
- return this.json(`${AGENT}/search`, objectSchema, { method: "POST", body: JSON.stringify(input) });
296
+ const result = await this.json(`${AGENT}/search`, objectSchema, { method: "POST", body: JSON.stringify(input) });
297
+ if (result.error)
298
+ throw new KbError("KB search failed; no complete search result was returned.", "kb_search_failed");
299
+ return result;
203
300
  }
204
301
  beginUpload(input) {
205
302
  return this.json(`${AGENT}/upload-sessions`, sessionSchema, { method: "POST", body: JSON.stringify(input) }, true);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/kb/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/kb/client.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,13 @@
1
1
  import process from "node:process";
2
2
  import { KbClient } from "./client.js";
3
- import { loadKbConfig } from "./config.js";
3
+ import { loginKbWorkspace } from "./web-login.js";
4
+ import { loadKbConfig, kbEnvironmentChoices } from "./config.js";
4
5
  import { KbError, sanitizeKbOutput } from "./errors.js";
5
- import { uploadToKb, downloadFromKb, waitForTask } from "./transfers.js";
6
+ import { uploadToKb, downloadFromKb, waitForTask, scanUploadFiles } from "./transfers.js";
6
7
  import { KB_COMMAND_CATALOG } from "./catalog.js";
8
+ import { uploadDecisions } from './upload-decisions.js';
9
+ import { jsonFile } from './management-commands.js';
10
+ import { registerKbManagementCommands } from './management-commands.js';
7
11
  export { KB_COMMAND_CATALOG };
8
12
  function integer(value, name, max) {
9
13
  if (!/^\d+$/u.test(value) || Number(value) < 1 || Number(value) > max) {
@@ -31,7 +35,11 @@ async function interruptible(work) {
31
35
  }
32
36
  }
33
37
  export function registerKbCommands(program, dependencies = {}) {
34
- const client = async () => dependencies.clientFactory?.() ?? new KbClient(await loadKbConfig(program.optsWithGlobals().issuer));
38
+ const client = async () => {
39
+ const api = await (dependencies.clientFactory?.() ?? new KbClient(await loadKbConfig(program.optsWithGlobals().issuer, kb.opts().environment)));
40
+ const tenant = kb.opts().tenant;
41
+ return tenant ? api.forTenant(tenant) : api;
42
+ };
35
43
  const output = (value) => (dependencies.write ?? ((text) => process.stdout.write(text)))(`${JSON.stringify({ ok: true, data: sanitizeKbOutput(value) }, null, 2)}\n`);
36
44
  // Only explicit progress fields are rendered; tickets and response payloads never reach stderr.
37
45
  const progress = (value) => {
@@ -48,6 +56,40 @@ export function registerKbCommands(program, dependencies = {}) {
48
56
  };
49
57
  const kb = program.command("kb").description("知识库检索、原件传输和入库任务;通过 KB REST API 复用 OSS 传输")
50
58
  .addHelpText("after", "\n配置:Profile services.kb 或 NUMA_KB_BASE_URL;--issuer 可选择 Profile 已下发的业务身份源。\n默认仅使用 Numa Keycloak 用户身份,无需 KB API Key 或 MCP 注册。NUMA_KB_AUTH_MODE=api-key 可显式选择旧 Key 部署,再配置 NUMA_KB_API_KEY / NUMA_KB_API_KEY_FILE。\n");
59
+ kb.option("--environment <code>", "选择 Profile 下发的 KB 环境");
60
+ kb.option("--tenant <id>", "选择当前身份有权访问的 KB 租户");
61
+ kb.command("web").description("打开本地知识库文档管理,选择租户并管理后台传输")
62
+ .option("--port <number>", "本机端口,默认随机可用端口", "0")
63
+ .option("--no-open", "不自动打开浏览器")
64
+ .action(async (options) => {
65
+ if (program.optsWithGlobals().json)
66
+ throw new KbError("kb web 是常驻服务,请使用文本输出。", "kb_input_invalid");
67
+ if (!/^\d+$/u.test(options.port) || Number(options.port) > 65535)
68
+ throw new KbError("端口须为 0–65535。", "kb_input_invalid");
69
+ const { startKbWeb } = await import("./web.js");
70
+ const issuer = program.optsWithGlobals().issuer;
71
+ const environments = kbEnvironmentChoices(issuer);
72
+ const selected = kb.opts().environment ?? environments.defaultEnvironment;
73
+ const webEnvironments = await Promise.all(environments.choices.map(async (env) => {
74
+ const config = await loadKbConfig(issuer, env.id || undefined);
75
+ return { ...env, client: async () => { const api = new KbClient(config); const tenant = kb.opts().tenant; return tenant ? api.forTenant(tenant) : api; },
76
+ ...(config.authMode === 'keycloak' && config.auth?.authenticationMode !== 'client_credentials' ? { login: (returnUrl, signal) => loginKbWorkspace(config.auth, returnUrl, signal) } : {}) };
77
+ }));
78
+ const handle = await startKbWeb({ client: await client(), defaultEnvironment: selected,
79
+ environments: webEnvironments,
80
+ port: Number(options.port), openBrowser: options.open });
81
+ (dependencies.write ?? (text => process.stdout.write(text)))(`知识库文档管理:${handle.url}\n保持此进程运行;Ctrl-C 暂停本地传输,后台入库继续。\n`);
82
+ const close = () => { void handle.close().catch(() => { process.stderr.write("任务记录保存失败,请检查本地任务目录。\n"); }); };
83
+ process.once("SIGINT", close);
84
+ process.once("SIGTERM", close);
85
+ try {
86
+ await handle.waitUntilClosed();
87
+ }
88
+ finally {
89
+ process.removeListener("SIGINT", close);
90
+ process.removeListener("SIGTERM", close);
91
+ }
92
+ });
51
93
  const collections = kb.command("collections").description("当前身份可见的知识库");
52
94
  collections.command("list").description("列出知识库").action(async () => output(await (await client()).listCollections()));
53
95
  collections.command("create").description("创建私有任务知识库")
@@ -59,19 +101,58 @@ export function registerKbCommands(program, dependencies = {}) {
59
101
  output(await (await client()).createCollection({ name: options.name, description: options.description }));
60
102
  });
61
103
  kb.command("search <query>").description("检索文档内容与来源")
62
- .requiredOption("--collection-id <id>", "目标知识库 ID")
104
+ .option("--collection-id <id>", "单个目标知识库 ID")
105
+ .option("--collection-ids <ids...>", "多个知识库 ID,一次请求统一检索,最多 20 个")
106
+ .option("--all-collections", "检索当前租户全部可见知识库(最多 20 个)")
107
+ .option("--document-ids <ids...>", "限定文档 ID")
108
+ .option("--region <region>", "地区检索范围")
109
+ .option("--product <product>", "产品检索范围")
110
+ .option("--department <department>", "部门检索范围")
63
111
  .option("--top-k <number>", "返回片段数 1-10", "5")
64
112
  .option("--min-score <number>", "最低相关度 0-1", "0")
65
113
  .action(async (query, options) => {
66
114
  const top = integer(options.topK, "--top-k", 10);
67
115
  const score = Number(options.minScore);
68
- if (!query.trim() || !options.minScore.trim() || !Number.isFinite(score) || score < 0 || score > 1) {
116
+ if (!query.trim() || query.length > 4000 || !options.minScore.trim() || !Number.isFinite(score) || score < 0 || score > 1) {
69
117
  throw new KbError("查询不能为空,--min-score 须为 0-1。", "kb_input_invalid");
70
118
  }
71
- output(await (await client()).search({ query, collection_id: options.collectionId, top_k: top, min_score: score }));
119
+ if ([options.collectionId !== undefined, options.collectionIds !== undefined, Boolean(options.allCollections)].filter(Boolean).length !== 1)
120
+ throw new KbError("请选择 --collection-id、--collection-ids 或 --all-collections 中的一项。", "kb_input_invalid");
121
+ let ids = options.collectionIds ? [...new Set(options.collectionIds)] : undefined;
122
+ if (options.collectionId !== undefined && !options.collectionId.trim() || ids && (ids.length > 20 || ids.some(id => !id.trim())) || options.documentIds?.some(id => !id.trim()))
123
+ throw new KbError("知识库 ID 不能为空;跨库检索最多 20 个知识库。", "kb_input_invalid");
124
+ const api = await client();
125
+ if (options.allCollections) {
126
+ ids = [...new Set((await api.listCollections()).collections.map(item => String(item.collection_id ?? '')).filter(Boolean))];
127
+ if (!ids.length)
128
+ throw new KbError("当前租户没有可检索的知识库。", "kb_search_scope_empty");
129
+ if (ids.length > 20)
130
+ throw new KbError("可见知识库超过 20 个,请显式选择范围;未执行截断或部分检索。", "kb_input_invalid");
131
+ }
132
+ output(await api.search({ query, ...(ids ? { collection_ids: ids } : { collection_id: options.collectionId }), top_k: top, min_score: score,
133
+ ...(options.documentIds ? { document_ids: options.documentIds } : {}),
134
+ ...(options.region ? { region: options.region } : {}), ...(options.product ? { product: options.product } : {}), ...(options.department ? { department: options.department } : {}) }));
135
+ });
136
+ kb.command('preflight <path>').description('只读取文件摘要并检查重复、版本候选;不上传文件')
137
+ .requiredOption('--collection-id <id>', '目标知识库')
138
+ .action(async (path, o) => {
139
+ const api = await client(), files = await scanUploadFiles(path), results = [];
140
+ let batch = [], bytes = 0;
141
+ async function flush() { if (!batch.length)
142
+ return; results.push(await api.preflightUpload({ collection_id: o.collectionId, files: batch.map(({ path: _path, ...f }) => f) })); batch = []; bytes = 0; }
143
+ for (const file of files) {
144
+ if (batch.length === 50 || bytes + file.size_bytes > 1024 ** 3)
145
+ await flush();
146
+ batch.push(file);
147
+ bytes += file.size_bytes;
148
+ }
149
+ await flush();
150
+ output({ collection_id: o.collectionId, files: files.map(({ path: _path, ...f }) => f), preflights: results });
72
151
  });
73
152
  kb.command("upload <path>").description("上传普通文件或递归目录,并提交入库;支持文件级恢复")
74
153
  .requiredOption("--collection-id <id>", "目标知识库 ID")
154
+ .option('--decisions-file <path>', '预检后的逐文件版本决策 JSON,必须匹配 SHA256')
155
+ .option('--yes', '确认应用上传版本决策')
75
156
  .option("--state-file <path>", "本地私有恢复记录,自动生成时在结果中返回")
76
157
  .option("--resume", "使用既有恢复记录继续;须同时指定 --state-file")
77
158
  .option("--batch-size <number>", "每批文件数 1-50", "50")
@@ -84,10 +165,13 @@ export function registerKbCommands(program, dependencies = {}) {
84
165
  const timeoutMs = integer(options.timeout, "--timeout", 86_400) * 1000;
85
166
  if (options.resume && !options.stateFile)
86
167
  throw new KbError("--resume 必须同时指定 --state-file。", "kb_input_invalid");
168
+ if (options.decisionsFile && !options.yes)
169
+ throw new KbError('应用版本决策需要 --yes 确认。', 'kb_confirmation_required');
170
+ const decisions = options.decisionsFile ? uploadDecisions(await jsonFile(options.decisionsFile)) : undefined;
87
171
  const api = await client();
88
172
  output(await interruptible(signal => (dependencies.upload ?? uploadToKb)(api, {
89
173
  path, collectionId: options.collectionId, stateFile: options.stateFile, resume: options.resume,
90
- batchSize, concurrency, wait: options.wait, timeoutMs, signal, onProgress: progress,
174
+ decisions, batchSize, concurrency, wait: options.wait, timeoutMs, signal, onProgress: progress,
91
175
  })));
92
176
  });
93
177
  kb.command("download <document-id>").description("下载已授权原件,校验后保存;不覆盖现有文件")
@@ -117,5 +201,6 @@ export function registerKbCommands(program, dependencies = {}) {
117
201
  const kind = taskKind(id, options.kind);
118
202
  output(await (await client()).retryTask(id, kind));
119
203
  });
204
+ registerKbManagementCommands(kb, collections, tasks, { client, output });
120
205
  }
121
206
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/kb/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/kb/commands.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,20 @@ export interface KbConfig {
8
8
  name: string;
9
9
  value: string;
10
10
  };
11
+ /** KB business tenant, independent of the platform Profile tenant. */
12
+ kbTenant?: string;
11
13
  }
12
14
  export declare function validateKbBaseUrl(value: string): string;
13
- export declare function loadKbConfig(issuer?: string): Promise<KbConfig>;
15
+ export declare function loadKbConfig(issuer?: string, environment?: string): Promise<KbConfig>;
14
16
  /** Uses the same governed authority and token cache as KB requests, without requiring a KB API key. */
15
- export declare function loadKbAuthConfig(issuer?: string): AuthConfig;
17
+ export declare function loadKbAuthConfig(issuer?: string, environment?: string): AuthConfig;
18
+ /** Environment choices are platform-published routes, never user-entered endpoints. */
19
+ export declare function kbEnvironmentChoices(issuer?: string): {
20
+ defaultEnvironment: string;
21
+ choices: {
22
+ id: string;
23
+ name: string;
24
+ namespace: string | undefined;
25
+ endpoint: string;
26
+ }[];
27
+ };
package/dist/kb/config.js CHANGED
@@ -3,7 +3,7 @@ import { readFile } from "node:fs/promises";
3
3
  import { join } from "node:path";
4
4
  import { appConfigDirectory } from "../app-config.js";
5
5
  import { loadConfig } from "../config.js";
6
- import { requireProfileService } from "../platform-profile.js";
6
+ import { currentPlatformProfile, requireProfileService } from "../platform-profile.js";
7
7
  import { KbError } from "./errors.js";
8
8
  export function validateKbBaseUrl(value) {
9
9
  let url;
@@ -19,8 +19,8 @@ export function validateKbBaseUrl(value) {
19
19
  }
20
20
  return url.toString().replace(/\/+$/u, "");
21
21
  }
22
- export async function loadKbConfig(issuer) {
23
- const selected = requireProfileService("kb", issuer);
22
+ export async function loadKbConfig(issuer, environment) {
23
+ const selected = requireProfileService("kb", issuer, environment);
24
24
  const explicit = process.env.NUMA_KB_BASE_URL?.trim();
25
25
  const base = selected?.service.baseUrl ?? explicit;
26
26
  if (!base)
@@ -52,13 +52,13 @@ export async function loadKbConfig(issuer) {
52
52
  if (!apiKey || /[\u0000-\u0020\u007f]/u.test(apiKey))
53
53
  throw new KbError("A valid KB API key is required for explicit api-key mode.", "kb_config_missing");
54
54
  }
55
- const auth = mode === "keycloak" ? loadKbAuthConfig(issuer) : undefined;
55
+ const auth = mode === "keycloak" ? loadKbAuthConfig(issuer, environment) : undefined;
56
56
  return { baseUrl, ...(apiKey ? { apiKey } : {}), authMode: mode, auth,
57
57
  ...(selected ? { tenantHeader: { name: selected.profile.tenant.headerName, value: selected.profile.tenant.id } } : {}) };
58
58
  }
59
59
  /** Uses the same governed authority and token cache as KB requests, without requiring a KB API key. */
60
- export function loadKbAuthConfig(issuer) {
61
- const selected = requireProfileService("kb", issuer);
60
+ export function loadKbAuthConfig(issuer, environment) {
61
+ const selected = requireProfileService("kb", issuer, environment);
62
62
  const explicit = process.env.NUMA_KB_BASE_URL?.trim();
63
63
  const base = selected?.service.baseUrl ?? explicit;
64
64
  if (!base)
@@ -66,7 +66,7 @@ export function loadKbAuthConfig(issuer) {
66
66
  const baseUrl = validateKbBaseUrl(base);
67
67
  if (selected && explicit && validateKbBaseUrl(explicit) !== baseUrl)
68
68
  throw new KbError("NUMA_KB_BASE_URL cannot override the profile KB service.", "kb_config_invalid");
69
- let auth = loadConfig("kb", issuer);
69
+ let auth = loadConfig("kb", issuer, environment);
70
70
  if (selected) {
71
71
  // Older profiles allow global overrides in loadConfig; KB always honors its declared authority.
72
72
  const clientId = auth.authenticationMode === "client_credentials" ? auth.clientId : selected.authority.clientId;
@@ -78,4 +78,18 @@ export function loadKbAuthConfig(issuer) {
78
78
  }
79
79
  return { ...auth, backendBaseUrl: baseUrl };
80
80
  }
81
+ /** Environment choices are platform-published routes, never user-entered endpoints. */
82
+ export function kbEnvironmentChoices(issuer) {
83
+ const service = currentPlatformProfile()?.services.kb;
84
+ const configuration = service?.configuration;
85
+ if (!issuer && configuration?.environments && Object.keys(configuration.environments).length) {
86
+ const choices = Object.entries(configuration.environments).map(([id, env]) => ({ id, name: env.name, namespace: env.namespace, endpoint: validateKbBaseUrl(env.baseUrl) }));
87
+ // Preserve the existing service route unless an explicit default environment is published.
88
+ if (!configuration.defaultEnvironment)
89
+ choices.unshift({ id: "", name: "当前默认配置", namespace: undefined, endpoint: validateKbBaseUrl(String(service.baseUrl)) });
90
+ return { defaultEnvironment: configuration.defaultEnvironment ?? "", choices };
91
+ }
92
+ const selected = requireProfileService("kb", issuer);
93
+ return { defaultEnvironment: "", choices: [{ id: "", name: "当前默认配置", namespace: undefined, endpoint: validateKbBaseUrl(selected?.service.baseUrl ?? process.env.NUMA_KB_BASE_URL ?? "") }] };
94
+ }
81
95
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/kb/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/kb/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Command } from 'commander';
2
+ import type { KbClient } from './client.js';
3
+ export declare function jsonFile(path: string): Promise<unknown>;
4
+ export declare function registerKbManagementCommands(kb: Command, collections: Command, tasks: Command, { client, output }: {
5
+ client: () => Promise<KbClient>;
6
+ output: (value: unknown) => void;
7
+ }): void;