@numa-tech/numa 1.24.0 → 1.26.0

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 (97) hide show
  1. package/README.md +4 -0
  2. package/dist/business-issuer.js +5 -5
  3. package/dist/business-issuer.js.map +1 -1
  4. package/dist/cli.js +3 -0
  5. package/dist/cli.js.map +1 -1
  6. package/dist/config.d.ts +1 -1
  7. package/dist/config.js +2 -2
  8. package/dist/config.js.map +1 -1
  9. package/dist/kb/catalog.js +33 -2
  10. package/dist/kb/catalog.js.map +1 -1
  11. package/dist/kb/chat-stream.d.ts +5 -0
  12. package/dist/kb/chat-stream.js +61 -0
  13. package/dist/kb/chat-stream.js.map +1 -0
  14. package/dist/kb/client.d.ts +75 -6
  15. package/dist/kb/client.js +114 -12
  16. package/dist/kb/client.js.map +1 -1
  17. package/dist/kb/commands.js +93 -8
  18. package/dist/kb/commands.js.map +1 -1
  19. package/dist/kb/config.d.ts +15 -3
  20. package/dist/kb/config.js +40 -21
  21. package/dist/kb/config.js.map +1 -1
  22. package/dist/kb/management-commands.d.ts +7 -0
  23. package/dist/kb/management-commands.js +86 -0
  24. package/dist/kb/management-commands.js.map +1 -0
  25. package/dist/kb/management-schemas.d.ts +106 -0
  26. package/dist/kb/management-schemas.js +33 -0
  27. package/dist/kb/management-schemas.js.map +1 -0
  28. package/dist/kb/transfers.d.ts +4 -0
  29. package/dist/kb/transfers.js +11 -4
  30. package/dist/kb/transfers.js.map +1 -1
  31. package/dist/kb/upload-decisions.d.ts +28 -0
  32. package/dist/kb/upload-decisions.js +23 -0
  33. package/dist/kb/upload-decisions.js.map +1 -0
  34. package/dist/kb/upload-state.d.ts +1 -0
  35. package/dist/kb/upload-state.js +1 -0
  36. package/dist/kb/upload-state.js.map +1 -1
  37. package/dist/kb/web-login.d.ts +10 -0
  38. package/dist/kb/web-login.js +25 -0
  39. package/dist/kb/web-login.js.map +1 -0
  40. package/dist/kb/web-page.d.ts +3 -0
  41. package/dist/kb/web-page.js +114 -0
  42. package/dist/kb/web-page.js.map +1 -0
  43. package/dist/kb/web-queue.d.ts +61 -0
  44. package/dist/kb/web-queue.js +101 -0
  45. package/dist/kb/web-queue.js.map +1 -0
  46. package/dist/kb/web.d.ts +26 -0
  47. package/dist/kb/web.js +234 -0
  48. package/dist/kb/web.js.map +1 -0
  49. package/dist/local-web/context-menu.d.ts +2 -0
  50. package/dist/local-web/context-menu.js +53 -0
  51. package/dist/local-web/context-menu.js.map +1 -0
  52. package/dist/local-web/file-workspace-style.d.ts +2 -0
  53. package/dist/local-web/file-workspace-style.js +58 -0
  54. package/dist/local-web/file-workspace-style.js.map +1 -0
  55. package/dist/local-web/file-workspace.d.ts +2 -0
  56. package/dist/local-web/file-workspace.js +39 -0
  57. package/dist/local-web/file-workspace.js.map +1 -0
  58. package/dist/local-web/security.d.ts +6 -0
  59. package/dist/local-web/security.js +51 -0
  60. package/dist/local-web/security.js.map +1 -0
  61. package/dist/login-recovery.js +8 -3
  62. package/dist/login-recovery.js.map +1 -1
  63. package/dist/mcp-gateway/profile.d.ts +4 -0
  64. package/dist/mcp-gateway/profile.js +6 -3
  65. package/dist/mcp-gateway/profile.js.map +1 -1
  66. package/dist/mcp-gateway/runtime.js +14 -0
  67. package/dist/mcp-gateway/runtime.js.map +1 -1
  68. package/dist/oss/transfer-queue.d.ts +7 -51
  69. package/dist/oss/transfer-queue.js +15 -308
  70. package/dist/oss/transfer-queue.js.map +1 -1
  71. package/dist/oss/web-page.js +21 -103
  72. package/dist/oss/web-page.js.map +1 -1
  73. package/dist/oss/web.js +4 -45
  74. package/dist/oss/web.js.map +1 -1
  75. package/dist/platform-profile.d.ts +25 -1
  76. package/dist/platform-profile.js +44 -1
  77. package/dist/platform-profile.js.map +1 -1
  78. package/dist/transfers/persistent-queue.d.ts +65 -0
  79. package/dist/transfers/persistent-queue.js +312 -0
  80. package/dist/transfers/persistent-queue.js.map +1 -0
  81. package/docs/design/kb-capability-upgrade.md +36 -0
  82. package/docs/design/kb-cli.md +4 -4
  83. package/docs/design/kb-web-workspace.md +97 -0
  84. package/docs/kb-access.md +86 -7
  85. package/examples/jev/README.md +65 -0
  86. package/examples/jev/platform-client.test.ts +136 -0
  87. package/examples/jev/platform-client.ts +122 -0
  88. package/package.json +9 -7
  89. package/scripts/export-kb-contract.py +25 -6
  90. package/skills/numa-jev/LICENSE +21 -0
  91. package/skills/numa-jev/SKILL.md +54 -0
  92. package/skills/numa-jev/assets/decision.json +37 -0
  93. package/skills/numa-jev/numa-skill.json +8 -0
  94. package/skills/numa-jev/references/application-integration.md +36 -0
  95. package/skills/numa-jev/references/mcp-usage.md +53 -0
  96. package/skills/numa-jev/references/upstream.md +13 -0
  97. package/src/kb/openapi-contract.json +2297 -566
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() {
23
- const selected = requireProfileService("kb");
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)
@@ -32,28 +32,33 @@ export async function loadKbConfig() {
32
32
  const mode = process.env.NUMA_KB_AUTH_MODE?.trim() || "keycloak";
33
33
  if (mode !== "keycloak" && mode !== "api-key")
34
34
  throw new KbError("NUMA_KB_AUTH_MODE must be keycloak or api-key.", "kb_config_invalid");
35
- const keyEnv = process.env.NUMA_KB_API_KEY;
36
- const keyFile = process.env.NUMA_KB_API_KEY_FILE;
37
- if (keyEnv !== undefined && keyFile !== undefined)
38
- throw new KbError("Set only one of NUMA_KB_API_KEY and NUMA_KB_API_KEY_FILE.", "kb_config_invalid");
39
- let apiKey = keyEnv?.trim();
40
- if (keyFile) {
41
- try {
42
- apiKey = (await readFile(keyFile, "utf8")).trim();
43
- }
44
- catch {
45
- throw new KbError("Cannot read NUMA_KB_API_KEY_FILE.", "kb_config_invalid");
35
+ // Legacy credentials are only consulted when the user explicitly selects that mode.
36
+ // A stale Key environment variable must never add a second identity to JWT requests.
37
+ let apiKey;
38
+ if (mode === "api-key") {
39
+ const keyEnv = process.env.NUMA_KB_API_KEY;
40
+ const keyFile = process.env.NUMA_KB_API_KEY_FILE;
41
+ if (keyEnv !== undefined && keyFile !== undefined)
42
+ throw new KbError("Set only one of NUMA_KB_API_KEY and NUMA_KB_API_KEY_FILE.", "kb_config_invalid");
43
+ apiKey = keyEnv?.trim();
44
+ if (keyFile) {
45
+ try {
46
+ apiKey = (await readFile(keyFile, "utf8")).trim();
47
+ }
48
+ catch {
49
+ throw new KbError("Cannot read NUMA_KB_API_KEY_FILE.", "kb_config_invalid");
50
+ }
46
51
  }
52
+ if (!apiKey || /[\u0000-\u0020\u007f]/u.test(apiKey))
53
+ throw new KbError("A valid KB API key is required for explicit api-key mode.", "kb_config_missing");
47
54
  }
48
- if (!apiKey || /[\u0000-\u0020\u007f]/u.test(apiKey))
49
- throw new KbError("A valid KB API key is required.", "kb_config_missing");
50
- const auth = mode === "keycloak" ? loadKbAuthConfig() : undefined;
51
- return { baseUrl, apiKey, authMode: mode, auth,
55
+ const auth = mode === "keycloak" ? loadKbAuthConfig(issuer, environment) : undefined;
56
+ return { baseUrl, ...(apiKey ? { apiKey } : {}), authMode: mode, auth,
52
57
  ...(selected ? { tenantHeader: { name: selected.profile.tenant.headerName, value: selected.profile.tenant.id } } : {}) };
53
58
  }
54
59
  /** Uses the same governed authority and token cache as KB requests, without requiring a KB API key. */
55
- export function loadKbAuthConfig() {
56
- const selected = requireProfileService("kb");
60
+ export function loadKbAuthConfig(issuer, environment) {
61
+ const selected = requireProfileService("kb", issuer, environment);
57
62
  const explicit = process.env.NUMA_KB_BASE_URL?.trim();
58
63
  const base = selected?.service.baseUrl ?? explicit;
59
64
  if (!base)
@@ -61,7 +66,7 @@ export function loadKbAuthConfig() {
61
66
  const baseUrl = validateKbBaseUrl(base);
62
67
  if (selected && explicit && validateKbBaseUrl(explicit) !== baseUrl)
63
68
  throw new KbError("NUMA_KB_BASE_URL cannot override the profile KB service.", "kb_config_invalid");
64
- let auth = loadConfig("kb");
69
+ let auth = loadConfig("kb", issuer, environment);
65
70
  if (selected) {
66
71
  // Older profiles allow global overrides in loadConfig; KB always honors its declared authority.
67
72
  const clientId = auth.authenticationMode === "client_credentials" ? auth.clientId : selected.authority.clientId;
@@ -73,4 +78,18 @@ export function loadKbAuthConfig() {
73
78
  }
74
79
  return { ...auth, backendBaseUrl: baseUrl };
75
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
+ }
76
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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAmB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAYtC,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QAAC,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,IAAI,OAAO,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAC;IAAC,CAAC;IAC1G,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzE,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QAClI,MAAM,IAAI,OAAO,CAAC,4FAA4F,EAAE,mBAAmB,CAAC,CAAC;IACvI,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAe,EAAE,WAAoB;IACtE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,QAAQ,EAAE,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC;IACnD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,OAAO,CAAC,oEAAoE,EAAE,mBAAmB,CAAC,CAAC;IACxH,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,QAAQ,IAAI,QAAQ,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,OAAO,EAAE,CAAC;QACpE,MAAM,IAAI,OAAO,CAAC,0DAA0D,EAAE,mBAAmB,CAAC,CAAC;IACrG,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC;IACjE,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,SAAS;QAAE,MAAM,IAAI,OAAO,CAAC,gDAAgD,EAAE,mBAAmB,CAAC,CAAC;IACxI,oFAAoF;IACpF,qFAAqF;IACrF,IAAI,MAA0B,CAAC;IAC/B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACjD,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,OAAO,CAAC,2DAA2D,EAAE,mBAAmB,CAAC,CAAC;QACvJ,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC;QACxB,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBAAC,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAC1D,MAAM,CAAC;gBAAC,MAAM,IAAI,OAAO,CAAC,mCAAmC,EAAE,mBAAmB,CAAC,CAAC;YAAC,CAAC;QACxF,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,OAAO,CAAC,2DAA2D,EAAE,mBAAmB,CAAC,CAAC;IAC5J,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI;QACnE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7H,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,gBAAgB,CAAC,MAAe,EAAE,WAAoB;IACpE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,QAAQ,EAAE,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC;IACnD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,OAAO,CAAC,4CAA4C,EAAE,mBAAmB,CAAC,CAAC;IAChG,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,QAAQ,IAAI,QAAQ,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,OAAO;QAAE,MAAM,IAAI,OAAO,CAAC,0DAA0D,EAAE,mBAAmB,CAAC,CAAC;IACxK,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,gGAAgG;QAChG,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,KAAK,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC;QAChH,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,QAAQ,KAAK,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClL,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM;YACnG,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAClG,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,kBAAkB,QAAQ,OAAO,CAAC;YACxE,KAAK,EAAE,IAAI,CAAC,kBAAkB,KAAK,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACjH,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;AAC9C,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,oBAAoB,CAAC,MAAe;IAClD,MAAM,OAAO,GAAG,sBAAsB,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC;IACtD,MAAM,aAAa,GAAG,OAAO,EAAE,aAAmI,CAAC;IACnK,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7F,MAAM,OAAO,GAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAC,GAAG,CAAC,EAAC,EAAE,CAAA,CAAC,EAAC,EAAE,EAAC,IAAI,EAAC,GAAG,CAAC,IAAI,EAAC,SAAS,EAAC,GAAG,CAAC,SAAS,EAAC,QAAQ,EAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAC,CAAC,CAAC,CAAC;QAC/J,2FAA2F;QAC3F,IAAI,CAAC,aAAa,CAAC,kBAAkB;YAAE,OAAO,CAAC,OAAO,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,iBAAiB,CAAC,MAAM,CAAC,OAAQ,CAAC,OAAO,CAAC,CAAC,EAAC,CAAC,CAAC;QACvJ,OAAO,EAAC,kBAAkB,EAAC,aAAa,CAAC,kBAAkB,IAAE,EAAE,EAAC,OAAO,EAAC,CAAC;IAC3E,CAAC;IACD,MAAM,QAAQ,GAAC,qBAAqB,CAAC,IAAI,EAAC,MAAM,CAAC,CAAC;IAClD,OAAO,EAAC,kBAAkB,EAAC,EAAE,EAAC,OAAO,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,IAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAE,EAAE,CAAC,EAAC,CAAC,EAAC,CAAC;AAC7K,CAAC"}
@@ -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;
@@ -0,0 +1,86 @@
1
+ import { readFile, stat } from 'node:fs/promises';
2
+ import { KbError } from './errors.js';
3
+ import * as schema from './management-schemas.js';
4
+ function confirm(yes) { if (!yes)
5
+ throw new KbError('此操作会修改知识库数据;确认目标后添加 --yes。', 'kb_confirmation_required'); }
6
+ function number(value, max, allowZero = false) {
7
+ if (!/^\d+$/.test(value) || !Number.isSafeInteger(Number(value)) || Number(value) < (allowZero ? 0 : 1) || Number(value) > max)
8
+ throw new KbError('分页参数超出范围。', 'kb_input_invalid');
9
+ return Number(value);
10
+ }
11
+ function pagination(c, limit = 100, max = 500) {
12
+ return c.option('--offset <number>', '起始位置', '0').option('--limit <number>', `最多返回条数 1-${max}`, String(limit));
13
+ }
14
+ const page = (o, max = 500) => ({ offset: number(o.offset, Number.MAX_SAFE_INTEGER, true), limit: number(o.limit, max) });
15
+ export async function jsonFile(path) {
16
+ try {
17
+ if ((await stat(path)).size > 1024 * 1024)
18
+ throw Error();
19
+ return JSON.parse(await readFile(path, 'utf8'));
20
+ }
21
+ catch {
22
+ throw new KbError('请提供不超过 1 MiB 的有效 JSON 文件。', 'kb_input_invalid');
23
+ }
24
+ }
25
+ export function registerKbManagementCommands(kb, collections, tasks, { client, output }) {
26
+ kb.command('tenants').description('列出当前身份可访问租户及当前选择').action(async () => output(await (await client()).listTenants()));
27
+ collections.command('inspect <id>').description('知识库详情和当前权限').action(async (id) => output(await (await client()).getCollection(id)));
28
+ collections.command('update <id>').description('修改知识库名称或说明')
29
+ .option('--name <name>', '名称').option('--description <text>', '说明')
30
+ .action(async (id, o) => { const body = schema.checked(schema.collectionUpdate, Object.fromEntries(Object.entries({ name: o.name, description: o.description }).filter(([, v]) => v !== undefined))); output(await (await client()).updateCollection(id, body)); });
31
+ collections.command('delete <id>').description('删除知识库及其文档').option('--yes', '确认删除')
32
+ .action(async (id, o) => { confirm(o.yes); await (await client()).deleteCollection(id); output({ deleted: true, collection_id: id }); });
33
+ collections.command('transfer <id>').description('转移知识库所有权').requiredOption('--to <global-uid>', '目标成员 ID').option('--yes', '确认转移所有权')
34
+ .action(async (id, o) => { confirm(o.yes); const owner = schema.checked(schema.resourceId, o.to); output(await (await client()).transferCollection(id, owner)); });
35
+ const members = collections.command('members').description('知识库成员及角色');
36
+ members.command('list <collection-id>').action(async (id) => output(await (await client()).listMembers(id)));
37
+ members.command('set <collection-id>').requiredOption('--user <global-uid>', '成员 ID').requiredOption('--role <role>', 'viewer、contributor 或 manager')
38
+ .action(async (id, o) => { const body = schema.checked(schema.memberUpdate, { global_uid: o.user, role: o.role }); output(await (await client()).setMember(id, body)); });
39
+ members.command('remove <collection-id>').requiredOption('--user <global-uid>', '成员 ID').option('--yes', '确认撤销成员授权')
40
+ .action(async (id, o) => { confirm(o.yes); await (await client()).removeMember(id, o.user); output({ removed: true, collection_id: id, global_uid: o.user }); });
41
+ pagination(kb.command('users').description('查找当前租户的成员').option('--query <text>', '名称或账号', '').option('--collection-id <id>', '权限管理目标知识库'), 20, 50)
42
+ .action(async (o) => { const input = schema.checked(schema.usersQuery, { ...page(o, 50), q: o.query, collection_id: o.collectionId }); output(await (await client()).searchUsers(input)); });
43
+ const documents = kb.command('documents').description('文档列表、正文、切片、版本和生命周期管理');
44
+ pagination(documents.command('list').option('--collection-id <id>', '限定知识库').option('--query <text>', '文件名查询').option('--status <status>', '处理状态').option('--lifecycle <status>', 'active、superseded、draft 或 archived'))
45
+ .action(async (o) => { const input = schema.checked(schema.documentsQuery, { ...page(o), collection_id: o.collectionId, q: o.query, status: o.status, lifecycle_status: o.lifecycle }); output(await (await client()).queryDocuments(input)); });
46
+ documents.command('inspect <id>').description('读取文档详情,正文需显式请求').option('--content', '包含解析后的正文')
47
+ .action(async (id, o) => output(await (await client()).getDocument(id, Boolean(o.content))));
48
+ pagination(documents.command('chunks <id>').description('分页读取文档切片'), 50)
49
+ .action(async (id, o) => { const input = page(o); output(await (await client()).documentChunks(id, input)); });
50
+ pagination(documents.command('assets <id>').description('分页查看文档附件信息'), 24, 200)
51
+ .action(async (id, o) => { const input = page(o, 200); output(await (await client()).documentAssets(id, input)); });
52
+ documents.command('versions <id>').description('列出文档版本及当前有效版本').action(async (id) => output(await (await client()).documentVersions(id)));
53
+ documents.command('history <id>').description('文档版本变更历史').action(async (id) => output(await (await client()).documentHistory(id)));
54
+ documents.command('switch-version <id>').description('切换当前版本;服务端校验预期版本防止覆盖并发修改')
55
+ .requiredOption('--target <version-id>', '目标文档版本 ID').requiredOption('--expected-current <version-id>', '读取到的当前版本 ID').requiredOption('--reason <text>', '切换原因').option('--yes', '确认切换当前版本')
56
+ .action(async (id, o) => { confirm(o.yes); const input = schema.checked(schema.versionSwitch, { target_version_id: o.target, expected_current_version_id: o.expectedCurrent, reason: o.reason, confirmation: 'SWITCH_CURRENT_VERSION' }); output(await (await client()).switchDocumentVersion(id, input)); });
57
+ documents.command('update <id>').description('通过 JSON 修改标题、元数据或生命周期').requiredOption('--file <path>', '更新字段 JSON 文件')
58
+ .action(async (id, o) => { const input = schema.checked(schema.documentUpdate, await jsonFile(o.file)); output(await (await client()).updateDocument(id, input)); });
59
+ documents.command('delete <id>').description('删除文档与相关索引').option('--yes', '确认删除')
60
+ .action(async (id, o) => { confirm(o.yes); await (await client()).deleteDocument(id); output({ deleted: true, document_id: id }); });
61
+ documents.command('reindex <id>').description('重建文档切片与检索索引').option('--yes', '确认重建')
62
+ .action(async (id, o) => { confirm(o.yes); output(await (await client()).reindexDocument(id)); });
63
+ pagination(tasks.command('list').description('分页查询入库批次').option('--collection-id <id>', '限定知识库').option('--status <status>', '任务状态').option('--include-files', '包含逐文件进度'), 20, 100)
64
+ .action(async (o) => { const input = schema.checked(schema.batchesQuery, { ...page(o, 100), collection_id: o.collectionId, status: o.status, include_files: Boolean(o.includeFiles) }); output(await (await client()).listBatches(input)); });
65
+ tasks.command('cancel <id>').description('停止批次后续处理;已完成的文档保留').option('--yes', '确认取消任务')
66
+ .action(async (id, o) => { confirm(o.yes); output(await (await client()).cancelBatch(id)); });
67
+ tasks.command('jobs').description('查询文档解析与索引作业').option('--collection-id <id>', '限定知识库').option('--document-id <id>', '限定文档').option('--include-completed', '包含完成作业').option('--limit <number>', '最多返回条数 1-200', '20')
68
+ .action(async (o) => { const input = schema.checked(schema.jobsQuery, { collection_id: o.collectionId, document_id: o.documentId, include_completed: Boolean(o.includeCompleted), limit: number(o.limit, 200) }); output(await (await client()).ingestJobs(input)); });
69
+ kb.command('ask <message>').description('调用 KB 的 RAG 问答,返回回答与来源;不自动重试')
70
+ .requiredOption('--collection-ids <ids...>', '1–20 个知识库 ID').option('--session-id <id>', '续接已有会话并保存消息').option('--top-k <number>', '检索片段数 1–30', '5')
71
+ .action(async (message, o) => { const input = schema.checked(schema.chatRequest, { message, collection_ids: [...new Set(o.collectionIds)], session_id: o.sessionId, top_k: number(o.topK, 30) }); output(await (await client()).ask(input)); });
72
+ const sessions = kb.command('sessions').description('KB 问答会话');
73
+ sessions.command('list').action(async () => output(await (await client()).chatSessions()));
74
+ sessions.command('create').requiredOption('--collection-ids <ids...>', '知识库范围').option('--title <text>', '会话标题')
75
+ .action(async (o) => { const input = schema.checked(schema.chatSessionCreate, { collection_ids: o.collectionIds, title: o.title }); output(await (await client()).createChatSession(input)); });
76
+ sessions.command('inspect <id>').action(async (id) => output(await (await client()).chatSession(id)));
77
+ sessions.command('delete <id>').option('--yes', '确认删除会话')
78
+ .action(async (id, o) => { confirm(o.yes); await (await client()).deleteChatSession(id); output({ deleted: true, session_id: id }); });
79
+ const conflicts = kb.command('conflicts').description('查看并显式处理知识冲突');
80
+ conflicts.command('list').option('--collection-id <id>', '限定知识库').option('--status <status>', '冲突状态')
81
+ .action(async (o) => output(await (await client()).listConflicts({ collection_id: o.collectionId, status: o.status })));
82
+ conflicts.command('resolve <id>').requiredOption('--action <action>', 'keep_both、supersede_existing、archive_existing、mark_superseded、mark_coexisting_scope、ingest_without_relation')
83
+ .option('--scope-file <path>', '业务范围 JSON').option('--yes', '确认应用冲突决策')
84
+ .action(async (id, o) => { confirm(o.yes); const input = schema.checked(schema.conflictResolution, { action: o.action, ...(o.scopeFile ? { scope: await jsonFile(o.scopeFile) } : {}) }); output(await (await client()).resolveConflict(id, input)); });
85
+ }
86
+ //# sourceMappingURL=management-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"management-commands.js","sourceRoot":"","sources":["../../src/kb/management-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAC;AAElD,SAAS,OAAO,CAAC,GAAY,IAAG,IAAG,CAAC,GAAG;IAAC,MAAM,IAAI,OAAO,CAAC,4BAA4B,EAAC,0BAA0B,CAAC,CAAC,CAAA,CAAC;AACpH,SAAS,MAAM,CAAC,KAAY,EAAC,GAAU,EAAC,SAAS,GAAC,KAAK;IACtD,IAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAE,MAAM,CAAC,KAAK,CAAC,GAAC,CAAC,SAAS,CAAA,CAAC,CAAA,CAAC,CAAA,CAAC,CAAA,CAAC,CAAC,IAAE,MAAM,CAAC,KAAK,CAAC,GAAC,GAAG;QAAC,MAAM,IAAI,OAAO,CAAC,WAAW,EAAC,kBAAkB,CAAC,CAAC;IAClK,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AACD,SAAS,UAAU,CAAC,CAAS,EAAC,KAAK,GAAC,GAAG,EAAC,GAAG,GAAC,GAAG;IAC9C,OAAO,CAAC,CAAC,MAAM,CAAC,mBAAmB,EAAC,MAAM,EAAC,GAAG,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAC,YAAY,GAAG,EAAE,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5G,CAAC;AACD,MAAM,IAAI,GAAC,CAAC,CAA8B,EAAC,GAAG,GAAC,GAAG,EAAC,EAAE,CAAA,CAAC,EAAC,MAAM,EAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAC,MAAM,CAAC,gBAAgB,EAAC,IAAI,CAAC,EAAC,KAAK,EAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC;AACxI,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAW;IACzC,IAAI,CAAC;QAAA,IAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAC,IAAI,GAAC,IAAI;YAAC,MAAM,KAAK,EAAE,CAAC;QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAC,MAAM,CAAC,CAAC,CAAC;IAAA,CAAC;IACxG,MAAM,CAAC;QAAA,MAAM,IAAI,OAAO,CAAC,2BAA2B,EAAC,kBAAkB,CAAC,CAAC;IAAA,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,EAAU,EAAC,WAAmB,EAAC,KAAa,EACxF,EAAC,MAAM,EAAC,MAAM,EAA6D;IAC3E,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,KAAK,IAAE,EAAE,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACnH,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,EAAC,EAAE,EAAA,EAAE,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChI,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;SAC1D,MAAM,CAAC,eAAe,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAC,IAAI,CAAC;SAChE,MAAM,CAAC,KAAK,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,GAAC,MAAM,IAAI,GAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC,IAAI,EAAC,WAAW,EAAC,CAAC,CAAC,WAAW,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAA,CAAC,KAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IAC/O,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,EAAC,MAAM,CAAC;SAChF,MAAM,CAAC,KAAK,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,GAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAA,MAAM,CAAC,EAAC,OAAO,EAAC,IAAI,EAAC,aAAa,EAAC,EAAE,EAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IAC5H,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,mBAAmB,EAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,EAAC,SAAS,CAAC;SAClI,MAAM,CAAC,KAAK,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,GAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA,MAAM,KAAK,GAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IACvJ,MAAM,OAAO,GAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACrE,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,KAAK,EAAC,EAAE,EAAA,EAAE,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxG,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,cAAc,CAAC,qBAAqB,EAAC,OAAO,CAAC,CAAC,cAAc,CAAC,eAAe,EAAC,8BAA8B,CAAC;SACjJ,MAAM,CAAC,KAAK,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,GAAC,MAAM,IAAI,GAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAC,EAAC,UAAU,EAAC,CAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,CAAC,IAAI,EAAC,CAAC,CAAC,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IAC1J,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,cAAc,CAAC,qBAAqB,EAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,EAAC,UAAU,CAAC;SAChH,MAAM,CAAC,KAAK,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,GAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA,MAAM,CAAC,EAAC,OAAO,EAAC,IAAI,EAAC,aAAa,EAAC,EAAE,EAAC,UAAU,EAAC,CAAC,CAAC,IAAI,EAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IACjJ,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAC,OAAO,EAAC,EAAE,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAC,WAAW,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC;SAC3I,MAAM,CAAC,KAAK,EAAC,CAAC,EAAA,EAAE,GAAC,MAAM,KAAK,GAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAC,EAAC,GAAG,IAAI,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,KAAK,EAAC,aAAa,EAAC,CAAC,CAAC,YAAY,EAAC,CAAC,CAAC,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IAE5K,MAAM,SAAS,GAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAC5E,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAC,OAAO,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAC,OAAO,CAAC,CAAC,MAAM,CAAC,mBAAmB,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAC,oCAAoC,CAAC,CAAC;SAClN,MAAM,CAAC,KAAK,EAAC,CAAC,EAAA,EAAE,GAAC,MAAM,KAAK,GAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAC,EAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC,YAAY,EAAC,CAAC,EAAC,CAAC,CAAC,KAAK,EAAC,MAAM,EAAC,CAAC,CAAC,MAAM,EAAC,gBAAgB,EAAC,CAAC,CAAC,SAAS,EAAC,CAAC,CAAC,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IAC7N,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,WAAW,EAAC,UAAU,CAAC;SAC5F,MAAM,CAAC,KAAK,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,EAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,EAAC,EAAE,CAAC;SACrE,MAAM,CAAC,KAAK,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,GAAC,MAAM,KAAK,GAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,EAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IACrG,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,EAAC,EAAE,EAAC,GAAG,CAAC;SAC3E,MAAM,CAAC,KAAK,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,GAAC,MAAM,KAAK,GAAC,IAAI,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,EAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IACzG,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,KAAK,EAAC,EAAE,EAAA,EAAE,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrI,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,EAAC,EAAE,EAAA,EAAE,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9H,SAAS,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC;SAC9E,cAAc,CAAC,uBAAuB,EAAC,WAAW,CAAC,CAAC,cAAc,CAAC,iCAAiC,EAAC,aAAa,CAAC,CAAC,cAAc,CAAC,iBAAiB,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,EAAC,UAAU,CAAC;SACvL,MAAM,CAAC,KAAK,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,GAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA,MAAM,KAAK,GAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAC,EAAC,iBAAiB,EAAC,CAAC,CAAC,MAAM,EAAC,2BAA2B,EAAC,CAAC,CAAC,eAAe,EAAC,MAAM,EAAC,CAAC,CAAC,MAAM,EAAC,YAAY,EAAC,wBAAwB,EAAC,CAAC,CAAC,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,qBAAqB,CAAC,EAAE,EAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IACzR,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,cAAc,CAAC,eAAe,EAAC,cAAc,CAAC;SAClH,MAAM,CAAC,KAAK,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,GAAC,MAAM,KAAK,GAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,EAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IAC1J,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,EAAC,MAAM,CAAC;SAC9E,MAAM,CAAC,KAAK,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,GAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAA,MAAM,CAAC,EAAC,OAAO,EAAC,IAAI,EAAC,WAAW,EAAC,EAAE,EAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IACxH,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,EAAC,MAAM,CAAC;SACjF,MAAM,CAAC,KAAK,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,GAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IAE3F,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAC,OAAO,CAAC,CAAC,MAAM,CAAC,mBAAmB,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAC,SAAS,CAAC,EAAC,EAAE,EAAC,GAAG,CAAC;SAC5K,MAAM,CAAC,KAAK,EAAC,CAAC,EAAA,EAAE,GAAC,MAAM,KAAK,GAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAC,EAAC,GAAG,IAAI,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC,YAAY,EAAC,MAAM,EAAC,CAAC,CAAC,MAAM,EAAC,aAAa,EAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,EAAC,CAAC,CAAC,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IAC3N,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAC,QAAQ,CAAC;SACpF,MAAM,CAAC,KAAK,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,GAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IACvF,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAC,OAAO,CAAC,CAAC,MAAM,CAAC,oBAAoB,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,qBAAqB,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAC,cAAc,EAAC,IAAI,CAAC;SAC/M,MAAM,CAAC,KAAK,EAAC,CAAC,EAAA,EAAE,GAAC,MAAM,KAAK,GAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAC,EAAC,aAAa,EAAC,CAAC,CAAC,YAAY,EAAC,WAAW,EAAC,CAAC,CAAC,UAAU,EAAC,iBAAiB,EAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAC,KAAK,EAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IACnP,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,8BAA8B,CAAC;SACrE,cAAc,CAAC,2BAA2B,EAAC,cAAc,CAAC,CAAC,MAAM,CAAC,mBAAmB,EAAC,aAAa,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAC,YAAY,EAAC,GAAG,CAAC;SAChJ,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,CAAC,EAAC,EAAE,GAAC,MAAM,KAAK,GAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAC,EAAC,OAAO,EAAC,cAAc,EAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAC,UAAU,EAAC,CAAC,CAAC,SAAS,EAAC,KAAK,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IAC7N,MAAM,QAAQ,GAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC7D,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,IAAE,EAAE,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACvF,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,2BAA2B,EAAC,OAAO,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAC,MAAM,CAAC;SAC5G,MAAM,CAAC,KAAK,EAAC,CAAC,EAAA,EAAE,GAAC,MAAM,KAAK,GAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAC,EAAC,cAAc,EAAC,CAAC,CAAC,aAAa,EAAC,KAAK,EAAC,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IACjL,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,KAAK,EAAC,EAAE,EAAA,EAAE,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,EAAC,QAAQ,CAAC;SACtD,MAAM,CAAC,KAAK,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,GAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAA,MAAM,CAAC,EAAC,OAAO,EAAC,IAAI,EAAC,UAAU,EAAC,EAAE,EAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;IAC1H,MAAM,SAAS,GAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACnE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAC,OAAO,CAAC,CAAC,MAAM,CAAC,mBAAmB,EAAC,MAAM,CAAC;SACjG,MAAM,CAAC,KAAK,EAAC,CAAC,EAAA,EAAE,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC,YAAY,EAAC,MAAM,EAAC,CAAC,CAAC,MAAM,EAAC,CAAC,CAAC,CAAC,CAAC;IAC/G,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,mBAAmB,EAAC,6GAA6G,CAAC;SACjL,MAAM,CAAC,qBAAqB,EAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,EAAC,UAAU,CAAC;SACpE,MAAM,CAAC,KAAK,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,GAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA,MAAM,KAAK,GAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAC,EAAC,MAAM,EAAC,CAAC,CAAC,MAAM,EAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA,CAAC,CAAA,EAAC,KAAK,EAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,EAAC,CAAA,CAAC,CAAA,EAAE,CAAC,EAAC,CAAC,CAAC,CAAA,MAAM,CAAC,MAAK,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,EAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;AAClO,CAAC"}
@@ -0,0 +1,106 @@
1
+ import { z } from 'zod';
2
+ export declare const resourceId: z.ZodString;
3
+ export declare const collectionIds: z.ZodArray<z.ZodString>;
4
+ export declare const page: z.ZodObject<{
5
+ offset: z.ZodDefault<z.ZodNumber>;
6
+ limit: z.ZodDefault<z.ZodNumber>;
7
+ }, z.core.$strict>;
8
+ export declare const documentsQuery: z.ZodObject<{
9
+ offset: z.ZodDefault<z.ZodNumber>;
10
+ limit: z.ZodDefault<z.ZodNumber>;
11
+ collection_id: z.ZodOptional<z.ZodString>;
12
+ q: z.ZodOptional<z.ZodString>;
13
+ status: z.ZodOptional<z.ZodString>;
14
+ lifecycle_status: z.ZodOptional<z.ZodEnum<{
15
+ active: "active";
16
+ archived: "archived";
17
+ draft: "draft";
18
+ superseded: "superseded";
19
+ }>>;
20
+ }, z.core.$strict>;
21
+ export declare const collectionUpdate: z.ZodObject<{
22
+ name: z.ZodOptional<z.ZodString>;
23
+ description: z.ZodOptional<z.ZodString>;
24
+ }, z.core.$strict>;
25
+ export declare const memberUpdate: z.ZodObject<{
26
+ global_uid: z.ZodString;
27
+ role: z.ZodEnum<{
28
+ contributor: "contributor";
29
+ manager: "manager";
30
+ viewer: "viewer";
31
+ }>;
32
+ }, z.core.$strict>;
33
+ export declare const documentUpdate: z.ZodObject<{
34
+ title: z.ZodOptional<z.ZodString>;
35
+ permission_scope: z.ZodOptional<z.ZodArray<z.ZodString>>;
36
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
37
+ lifecycle_status: z.ZodOptional<z.ZodEnum<{
38
+ active: "active";
39
+ archived: "archived";
40
+ draft: "draft";
41
+ superseded: "superseded";
42
+ }>>;
43
+ document_key: z.ZodOptional<z.ZodString>;
44
+ doc_version: z.ZodOptional<z.ZodString>;
45
+ version_sequence: z.ZodOptional<z.ZodNumber>;
46
+ effective_date: z.ZodOptional<z.ZodString>;
47
+ expiry_date: z.ZodOptional<z.ZodString>;
48
+ published_date: z.ZodOptional<z.ZodString>;
49
+ scope: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
50
+ source_type: z.ZodOptional<z.ZodEnum<{
51
+ contract: "contract";
52
+ department_rule: "department_rule";
53
+ faq: "faq";
54
+ note: "note";
55
+ official_policy: "official_policy";
56
+ unknown: "unknown";
57
+ }>>;
58
+ }, z.core.$strict>;
59
+ export declare const versionSwitch: z.ZodObject<{
60
+ target_version_id: z.ZodString;
61
+ expected_current_version_id: z.ZodString;
62
+ reason: z.ZodString;
63
+ confirmation: z.ZodLiteral<"SWITCH_CURRENT_VERSION">;
64
+ }, z.core.$strict>;
65
+ export declare const conflictResolution: z.ZodObject<{
66
+ action: z.ZodEnum<{
67
+ archive_existing: "archive_existing";
68
+ ingest_without_relation: "ingest_without_relation";
69
+ keep_both: "keep_both";
70
+ mark_coexisting_scope: "mark_coexisting_scope";
71
+ mark_superseded: "mark_superseded";
72
+ supersede_existing: "supersede_existing";
73
+ }>;
74
+ scope: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
75
+ }, z.core.$strict>;
76
+ export declare const batchesQuery: z.ZodObject<{
77
+ collection_id: z.ZodOptional<z.ZodString>;
78
+ status: z.ZodOptional<z.ZodString>;
79
+ offset: z.ZodDefault<z.ZodNumber>;
80
+ limit: z.ZodDefault<z.ZodNumber>;
81
+ include_files: z.ZodDefault<z.ZodBoolean>;
82
+ }, z.core.$strict>;
83
+ export declare const jobsQuery: z.ZodObject<{
84
+ collection_id: z.ZodOptional<z.ZodString>;
85
+ document_id: z.ZodOptional<z.ZodString>;
86
+ include_completed: z.ZodDefault<z.ZodBoolean>;
87
+ limit: z.ZodDefault<z.ZodNumber>;
88
+ }, z.core.$strict>;
89
+ export declare const usersQuery: z.ZodObject<{
90
+ collection_id: z.ZodOptional<z.ZodString>;
91
+ q: z.ZodDefault<z.ZodString>;
92
+ offset: z.ZodDefault<z.ZodNumber>;
93
+ limit: z.ZodDefault<z.ZodNumber>;
94
+ }, z.core.$strict>;
95
+ export declare function checked<T>(schema: z.ZodType<T>, input: unknown): T;
96
+ export declare function queryString(input: object): string;
97
+ export declare const chatSessionCreate: z.ZodObject<{
98
+ collection_ids: z.ZodArray<z.ZodString>;
99
+ title: z.ZodOptional<z.ZodString>;
100
+ }, z.core.$strict>;
101
+ export declare const chatRequest: z.ZodObject<{
102
+ message: z.ZodString;
103
+ collection_ids: z.ZodArray<z.ZodString>;
104
+ session_id: z.ZodOptional<z.ZodString>;
105
+ top_k: z.ZodDefault<z.ZodNumber>;
106
+ }, z.core.$strict>;
@@ -0,0 +1,33 @@
1
+ import { z } from 'zod';
2
+ import { KbError } from './errors.js';
3
+ export const resourceId = z.string().trim().min(1).max(200).refine(v => v !== '.' && v !== '..' && !/[\u0000-\u001f\u007f]/u.test(v));
4
+ export const collectionIds = z.array(resourceId).min(1).max(20);
5
+ const offset = z.number().int().nonnegative();
6
+ const limit = z.number().int().min(1).max(500);
7
+ export const page = z.object({ offset: offset.default(0), limit: limit.default(100) }).strict();
8
+ export const documentsQuery = page.extend({ collection_id: resourceId.optional(), q: z.string().max(500).optional(), status: z.string().optional(), lifecycle_status: z.enum(['active', 'superseded', 'draft', 'archived']).optional() });
9
+ export const collectionUpdate = z.object({ name: z.string().trim().min(1).max(50).optional(), description: z.string().max(200).optional() }).strict().refine(v => Object.keys(v).length > 0);
10
+ export const memberUpdate = z.object({ global_uid: resourceId, role: z.enum(['viewer', 'contributor', 'manager']) }).strict();
11
+ export const documentUpdate = z.object({
12
+ title: z.string().trim().min(1).optional(), permission_scope: z.array(z.string()).optional(), metadata: z.record(z.string(), z.unknown()).optional(),
13
+ lifecycle_status: z.enum(['active', 'superseded', 'draft', 'archived']).optional(), document_key: z.string().optional(), doc_version: z.string().optional(),
14
+ version_sequence: z.number().int().optional(), effective_date: z.string().optional(), expiry_date: z.string().optional(), published_date: z.string().optional(),
15
+ scope: z.record(z.string(), z.unknown()).optional(), source_type: z.enum(['official_policy', 'department_rule', 'contract', 'faq', 'note', 'unknown']).optional(),
16
+ }).strict().refine(v => Object.keys(v).length > 0);
17
+ export const versionSwitch = z.object({ target_version_id: resourceId, expected_current_version_id: resourceId, reason: z.string().trim().min(1).max(500), confirmation: z.literal('SWITCH_CURRENT_VERSION') }).strict();
18
+ export const conflictResolution = z.object({ action: z.enum(['keep_both', 'supersede_existing', 'archive_existing', 'mark_superseded', 'mark_coexisting_scope', 'ingest_without_relation']), scope: z.record(z.string(), z.unknown()).optional() }).strict();
19
+ export const batchesQuery = z.object({ collection_id: resourceId.optional(), status: z.string().optional(), offset: offset.default(0), limit: limit.max(100).default(20), include_files: z.boolean().default(false) }).strict();
20
+ export const jobsQuery = z.object({ collection_id: resourceId.optional(), document_id: resourceId.optional(), include_completed: z.boolean().default(false), limit: limit.max(200).default(20) }).strict();
21
+ export const usersQuery = z.object({ collection_id: resourceId.optional(), q: z.string().max(100).default(''), offset: offset.default(0), limit: limit.max(50).default(20) }).strict();
22
+ export function checked(schema, input) {
23
+ const result = schema.safeParse(input);
24
+ if (!result.success)
25
+ throw new KbError('KB 参数格式或范围无效。', 'kb_input_invalid');
26
+ return result.data;
27
+ }
28
+ export function queryString(input) {
29
+ return new URLSearchParams(Object.entries(input).filter(([, v]) => v !== undefined).map(([k, v]) => [k, String(v)])).toString();
30
+ }
31
+ export const chatSessionCreate = z.object({ collection_ids: collectionIds, title: z.string().max(80).optional() }).strict();
32
+ export const chatRequest = z.object({ message: z.string().trim().min(1).max(8000), collection_ids: collectionIds, session_id: resourceId.max(80).optional(), top_k: z.number().int().min(1).max(30).default(5) }).strict();
33
+ //# sourceMappingURL=management-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"management-schemas.js","sourceRoot":"","sources":["../../src/kb/management-schemas.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { type FileDigest } from '../oss/signed-url-transfers.js';
2
+ import { type UploadDecision } from './upload-decisions.js';
1
3
  import type { BeginUploadRequest, DirectUploadSession, UploadSession, DownloadTicket, ProxyUploadRequest, KbTask, TaskKind } from './types.js';
2
4
  export interface KbTransferClient {
3
5
  readonly binding: string;
@@ -18,6 +20,7 @@ export interface TransferProgress {
18
20
  status?: string;
19
21
  }
20
22
  export interface UploadInput {
23
+ decisions?: UploadDecision[];
21
24
  path: string;
22
25
  collectionId: string;
23
26
  stateFile?: string;
@@ -35,6 +38,7 @@ export interface TransferDependencies {
35
38
  pollIntervalMs?: number;
36
39
  transferTimeoutMs?: number;
37
40
  }
41
+ export declare function scanUploadFiles(path: string, signal?: AbortSignal): Promise<FileDigest[]>;
38
42
  export declare function uploadToKb(client: KbTransferClient, input: UploadInput, deps?: TransferDependencies): Promise<{
39
43
  state_file: string;
40
44
  collection_id: string;
@@ -5,10 +5,11 @@ import { createHash, randomUUID } from 'node:crypto';
5
5
  import { setTimeout as delay } from 'node:timers/promises';
6
6
  import { runTransferPool } from '../oss/transfer-pool.js';
7
7
  import { digestFile, putSignedFile, downloadSignedFile, rejectSymlinks, SignedTransferError } from '../oss/signed-url-transfers.js';
8
+ import { uploadDecisions, verifyDecisions } from './upload-decisions.js';
8
9
  import { KbError } from './errors.js';
9
10
  import { lockUploadState, readUploadState, writeUploadState } from './upload-state.js';
10
11
  const fail = (message, code = 'kb_input_invalid', details) => new KbError(message, code, undefined, details);
11
- async function scan(path, signal) {
12
+ export async function scanUploadFiles(path, signal) {
12
13
  const paths = [];
13
14
  async function walk(current) {
14
15
  signal?.throwIfAborted();
@@ -74,10 +75,14 @@ export async function uploadToKb(client, input, deps = {}) {
74
75
  try {
75
76
  input.signal?.throwIfAborted();
76
77
  input.onProgress?.({ phase: 'scanning' });
77
- const files = await scan(sourcePath, input.signal);
78
+ const files = await scanUploadFiles(sourcePath, input.signal);
79
+ const decisions = uploadDecisions(input.decisions ?? []);
80
+ verifyDecisions(decisions, files);
78
81
  let state;
79
82
  if (input.resume) {
80
83
  state = await readUploadState(stateFile);
84
+ if (JSON.stringify(uploadDecisions(state.decisions ?? [])) !== JSON.stringify(decisions))
85
+ throw fail('上传决策与恢复记录不同,请使用原决策或创建新任务。', 'kb_state_binding_mismatch');
81
86
  if (state.binding !== client.binding || state.collectionId !== input.collectionId || state.sourcePath !== sourcePath)
82
87
  throw fail('Saved upload belongs to a different KB target or identity.', 'kb_state_binding_mismatch');
83
88
  if (state.files.length !== files.length || state.files.some((saved, index) => { const current = files[index]; return saved.path !== current.path || saved.filename !== current.filename || saved.size_bytes !== current.size_bytes || saved.sha256 !== current.sha256 || saved.content_md5 !== current.content_md5 || saved.content_type !== current.content_type; }))
@@ -94,7 +99,7 @@ export async function uploadToKb(client, input, deps = {}) {
94
99
  if (error.code !== 'ENOENT')
95
100
  throw error;
96
101
  }
97
- state = { version: 1, binding: client.binding, collectionId: input.collectionId, sourcePath, files, batches: batches(files, batchSize) };
102
+ state = { version: 1, binding: client.binding, collectionId: input.collectionId, sourcePath, files, ...(decisions.length ? { decisions } : {}), batches: batches(files, batchSize) };
98
103
  await writeUploadState(stateFile, state);
99
104
  }
100
105
  for (const batch of state.batches) {
@@ -102,9 +107,11 @@ export async function uploadToKb(client, input, deps = {}) {
102
107
  if (batch.submitted)
103
108
  continue;
104
109
  const locals = batch.fileIndexes.map(index => state.files[index]);
105
- let session = batch.sessionId ? await client.getUpload(batch.sessionId, true) : batch.transport === 'proxy' ? { transport: 'proxy' } : await client.beginUpload({ collection_id: state.collectionId, request_id: batch.requestId, files: locals.map(({ path: _path, ...metadata }) => metadata) });
110
+ let session = batch.sessionId ? await client.getUpload(batch.sessionId, true) : batch.transport === 'proxy' ? { transport: 'proxy' } : await client.beginUpload({ collection_id: state.collectionId, request_id: batch.requestId, files: locals.map(({ path: _path, ...metadata }) => ({ ...metadata, ...decisions.find(d => d.filename === metadata.filename) })) });
106
111
  input.signal?.throwIfAborted();
107
112
  if (session.transport === 'proxy') {
113
+ if (decisions.length)
114
+ throw fail('此部署仅支持代理上传,不能应用版本决策;未提交代理上传。', 'kb_upload_decision_unsupported');
108
115
  batch.transport = 'proxy';
109
116
  await writeUploadState(stateFile, state);
110
117
  // Verify immediately before handing files to the multipart adapter.
@@ -1 +1 @@
1
- {"version":3,"file":"transfers.js","sourceRoot":"","sources":["../../src/kb/transfers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transfers.js","sourceRoot":"","sources":["../../src/kb/transfers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ import type { FileDigest } from '../oss/signed-url-transfers.js';
3
+ declare const decision: z.ZodObject<{
4
+ filename: z.ZodString;
5
+ sha256: z.ZodString;
6
+ duplicate_action: z.ZodEnum<{
7
+ new_version: "new_version";
8
+ upload: "upload";
9
+ }>;
10
+ existing_document_id: z.ZodOptional<z.ZodString>;
11
+ version_reason: z.ZodOptional<z.ZodString>;
12
+ version_confirmation: z.ZodOptional<z.ZodLiteral<"SWITCH_CURRENT_VERSION">>;
13
+ }, z.core.$strict>;
14
+ export declare const uploadDecisionsSchema: z.ZodArray<z.ZodObject<{
15
+ filename: z.ZodString;
16
+ sha256: z.ZodString;
17
+ duplicate_action: z.ZodEnum<{
18
+ new_version: "new_version";
19
+ upload: "upload";
20
+ }>;
21
+ existing_document_id: z.ZodOptional<z.ZodString>;
22
+ version_reason: z.ZodOptional<z.ZodString>;
23
+ version_confirmation: z.ZodOptional<z.ZodLiteral<"SWITCH_CURRENT_VERSION">>;
24
+ }, z.core.$strict>>;
25
+ export type UploadDecision = z.infer<typeof decision>;
26
+ export declare function uploadDecisions(value: unknown): UploadDecision[];
27
+ export declare function verifyDecisions(decisions: UploadDecision[], files: FileDigest[]): void;
28
+ export {};