@oncoding/bsteam 0.2.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 (239) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +260 -0
  3. package/bin/argv.js +35 -0
  4. package/bin/dev.js +23 -0
  5. package/bin/run.js +25 -0
  6. package/bin/workspace-plugin.js +16 -0
  7. package/dist/auth/context-config.d.ts +91 -0
  8. package/dist/auth/context-config.d.ts.map +1 -0
  9. package/dist/auth/context-config.js +258 -0
  10. package/dist/auth/context-config.js.map +1 -0
  11. package/dist/auth/credential-store.d.ts +57 -0
  12. package/dist/auth/credential-store.d.ts.map +1 -0
  13. package/dist/auth/credential-store.js +146 -0
  14. package/dist/auth/credential-store.js.map +1 -0
  15. package/dist/base-command.d.ts +22 -0
  16. package/dist/base-command.d.ts.map +1 -0
  17. package/dist/base-command.js +33 -0
  18. package/dist/base-command.js.map +1 -0
  19. package/dist/command-utils/platform-command.d.ts +51 -0
  20. package/dist/command-utils/platform-command.d.ts.map +1 -0
  21. package/dist/command-utils/platform-command.js +178 -0
  22. package/dist/command-utils/platform-command.js.map +1 -0
  23. package/dist/commands/api.d.ts +26 -0
  24. package/dist/commands/api.d.ts.map +1 -0
  25. package/dist/commands/api.js +132 -0
  26. package/dist/commands/api.js.map +1 -0
  27. package/dist/commands/auth/check.d.ts +21 -0
  28. package/dist/commands/auth/check.d.ts.map +1 -0
  29. package/dist/commands/auth/check.js +57 -0
  30. package/dist/commands/auth/check.js.map +1 -0
  31. package/dist/commands/auth/list.d.ts +13 -0
  32. package/dist/commands/auth/list.d.ts.map +1 -0
  33. package/dist/commands/auth/list.js +56 -0
  34. package/dist/commands/auth/list.js.map +1 -0
  35. package/dist/commands/auth/login.d.ts +27 -0
  36. package/dist/commands/auth/login.d.ts.map +1 -0
  37. package/dist/commands/auth/login.js +155 -0
  38. package/dist/commands/auth/login.js.map +1 -0
  39. package/dist/commands/auth/logout.d.ts +15 -0
  40. package/dist/commands/auth/logout.d.ts.map +1 -0
  41. package/dist/commands/auth/logout.js +55 -0
  42. package/dist/commands/auth/logout.js.map +1 -0
  43. package/dist/commands/auth/scopes.d.ts +18 -0
  44. package/dist/commands/auth/scopes.d.ts.map +1 -0
  45. package/dist/commands/auth/scopes.js +56 -0
  46. package/dist/commands/auth/scopes.js.map +1 -0
  47. package/dist/commands/auth/status.d.ts +17 -0
  48. package/dist/commands/auth/status.d.ts.map +1 -0
  49. package/dist/commands/auth/status.js +81 -0
  50. package/dist/commands/auth/status.js.map +1 -0
  51. package/dist/commands/auth/token/create.d.ts +22 -0
  52. package/dist/commands/auth/token/create.d.ts.map +1 -0
  53. package/dist/commands/auth/token/create.js +46 -0
  54. package/dist/commands/auth/token/create.js.map +1 -0
  55. package/dist/commands/auth/token/list.d.ts +17 -0
  56. package/dist/commands/auth/token/list.d.ts.map +1 -0
  57. package/dist/commands/auth/token/list.js +33 -0
  58. package/dist/commands/auth/token/list.js.map +1 -0
  59. package/dist/commands/auth/token/revoke.d.ts +24 -0
  60. package/dist/commands/auth/token/revoke.d.ts.map +1 -0
  61. package/dist/commands/auth/token/revoke.js +29 -0
  62. package/dist/commands/auth/token/revoke.js.map +1 -0
  63. package/dist/commands/config/show.d.ts +13 -0
  64. package/dist/commands/config/show.d.ts.map +1 -0
  65. package/dist/commands/config/show.js +34 -0
  66. package/dist/commands/config/show.js.map +1 -0
  67. package/dist/commands/kb/acl/grant.d.ts +27 -0
  68. package/dist/commands/kb/acl/grant.d.ts.map +1 -0
  69. package/dist/commands/kb/acl/grant.js +49 -0
  70. package/dist/commands/kb/acl/grant.js.map +1 -0
  71. package/dist/commands/kb/acl/list.d.ts +20 -0
  72. package/dist/commands/kb/acl/list.d.ts.map +1 -0
  73. package/dist/commands/kb/acl/list.js +35 -0
  74. package/dist/commands/kb/acl/list.js.map +1 -0
  75. package/dist/commands/kb/acl/revoke.d.ts +25 -0
  76. package/dist/commands/kb/acl/revoke.d.ts.map +1 -0
  77. package/dist/commands/kb/acl/revoke.js +27 -0
  78. package/dist/commands/kb/acl/revoke.js.map +1 -0
  79. package/dist/commands/kb/acl/update.d.ts +28 -0
  80. package/dist/commands/kb/acl/update.d.ts.map +1 -0
  81. package/dist/commands/kb/acl/update.js +40 -0
  82. package/dist/commands/kb/acl/update.js.map +1 -0
  83. package/dist/commands/kb/create.d.ts +26 -0
  84. package/dist/commands/kb/create.d.ts.map +1 -0
  85. package/dist/commands/kb/create.js +59 -0
  86. package/dist/commands/kb/create.js.map +1 -0
  87. package/dist/commands/kb/delete.d.ts +24 -0
  88. package/dist/commands/kb/delete.d.ts.map +1 -0
  89. package/dist/commands/kb/delete.js +29 -0
  90. package/dist/commands/kb/delete.js.map +1 -0
  91. package/dist/commands/kb/doctor.d.ts +17 -0
  92. package/dist/commands/kb/doctor.d.ts.map +1 -0
  93. package/dist/commands/kb/doctor.js +48 -0
  94. package/dist/commands/kb/doctor.js.map +1 -0
  95. package/dist/commands/kb/file.d.ts +23 -0
  96. package/dist/commands/kb/file.d.ts.map +1 -0
  97. package/dist/commands/kb/file.js +97 -0
  98. package/dist/commands/kb/file.js.map +1 -0
  99. package/dist/commands/kb/get.d.ts +20 -0
  100. package/dist/commands/kb/get.d.ts.map +1 -0
  101. package/dist/commands/kb/get.js +37 -0
  102. package/dist/commands/kb/get.js.map +1 -0
  103. package/dist/commands/kb/git.d.ts +20 -0
  104. package/dist/commands/kb/git.d.ts.map +1 -0
  105. package/dist/commands/kb/git.js +46 -0
  106. package/dist/commands/kb/git.js.map +1 -0
  107. package/dist/commands/kb/list.d.ts +17 -0
  108. package/dist/commands/kb/list.d.ts.map +1 -0
  109. package/dist/commands/kb/list.js +36 -0
  110. package/dist/commands/kb/list.js.map +1 -0
  111. package/dist/commands/kb/share/create.d.ts +25 -0
  112. package/dist/commands/kb/share/create.d.ts.map +1 -0
  113. package/dist/commands/kb/share/create.js +42 -0
  114. package/dist/commands/kb/share/create.js.map +1 -0
  115. package/dist/commands/kb/share/list.d.ts +20 -0
  116. package/dist/commands/kb/share/list.d.ts.map +1 -0
  117. package/dist/commands/kb/share/list.js +35 -0
  118. package/dist/commands/kb/share/list.js.map +1 -0
  119. package/dist/commands/kb/share/revoke.d.ts +25 -0
  120. package/dist/commands/kb/share/revoke.d.ts.map +1 -0
  121. package/dist/commands/kb/share/revoke.js +27 -0
  122. package/dist/commands/kb/share/revoke.js.map +1 -0
  123. package/dist/commands/kb/tree.d.ts +20 -0
  124. package/dist/commands/kb/tree.d.ts.map +1 -0
  125. package/dist/commands/kb/tree.js +39 -0
  126. package/dist/commands/kb/tree.js.map +1 -0
  127. package/dist/commands/kb/update.d.ts +29 -0
  128. package/dist/commands/kb/update.d.ts.map +1 -0
  129. package/dist/commands/kb/update.js +49 -0
  130. package/dist/commands/kb/update.js.map +1 -0
  131. package/dist/commands/reimbursement/create.d.ts +31 -0
  132. package/dist/commands/reimbursement/create.d.ts.map +1 -0
  133. package/dist/commands/reimbursement/create.js +67 -0
  134. package/dist/commands/reimbursement/create.js.map +1 -0
  135. package/dist/commands/reimbursement/delete.d.ts +24 -0
  136. package/dist/commands/reimbursement/delete.d.ts.map +1 -0
  137. package/dist/commands/reimbursement/delete.js +26 -0
  138. package/dist/commands/reimbursement/delete.js.map +1 -0
  139. package/dist/commands/reimbursement/list.d.ts +17 -0
  140. package/dist/commands/reimbursement/list.d.ts.map +1 -0
  141. package/dist/commands/reimbursement/list.js +33 -0
  142. package/dist/commands/reimbursement/list.js.map +1 -0
  143. package/dist/commands/reimbursement/operations.d.ts +17 -0
  144. package/dist/commands/reimbursement/operations.d.ts.map +1 -0
  145. package/dist/commands/reimbursement/operations.js +19 -0
  146. package/dist/commands/reimbursement/operations.js.map +1 -0
  147. package/dist/commands/reimbursement/permissions/list.d.ts +17 -0
  148. package/dist/commands/reimbursement/permissions/list.d.ts.map +1 -0
  149. package/dist/commands/reimbursement/permissions/list.js +32 -0
  150. package/dist/commands/reimbursement/permissions/list.js.map +1 -0
  151. package/dist/commands/reimbursement/permissions/replace.d.ts +22 -0
  152. package/dist/commands/reimbursement/permissions/replace.d.ts.map +1 -0
  153. package/dist/commands/reimbursement/permissions/replace.js +32 -0
  154. package/dist/commands/reimbursement/permissions/replace.js.map +1 -0
  155. package/dist/commands/reimbursement/update.d.ts +31 -0
  156. package/dist/commands/reimbursement/update.d.ts.map +1 -0
  157. package/dist/commands/reimbursement/update.js +56 -0
  158. package/dist/commands/reimbursement/update.js.map +1 -0
  159. package/dist/commands/token/create.d.ts +26 -0
  160. package/dist/commands/token/create.d.ts.map +1 -0
  161. package/dist/commands/token/create.js +52 -0
  162. package/dist/commands/token/create.js.map +1 -0
  163. package/dist/commands/token/delete.d.ts +24 -0
  164. package/dist/commands/token/delete.d.ts.map +1 -0
  165. package/dist/commands/token/delete.js +26 -0
  166. package/dist/commands/token/delete.js.map +1 -0
  167. package/dist/commands/token/list.d.ts +17 -0
  168. package/dist/commands/token/list.d.ts.map +1 -0
  169. package/dist/commands/token/list.js +33 -0
  170. package/dist/commands/token/list.js.map +1 -0
  171. package/dist/commands/token/operations.d.ts +17 -0
  172. package/dist/commands/token/operations.d.ts.map +1 -0
  173. package/dist/commands/token/operations.js +19 -0
  174. package/dist/commands/token/operations.js.map +1 -0
  175. package/dist/commands/token/permissions/list.d.ts +17 -0
  176. package/dist/commands/token/permissions/list.d.ts.map +1 -0
  177. package/dist/commands/token/permissions/list.js +32 -0
  178. package/dist/commands/token/permissions/list.js.map +1 -0
  179. package/dist/commands/token/permissions/replace.d.ts +22 -0
  180. package/dist/commands/token/permissions/replace.d.ts.map +1 -0
  181. package/dist/commands/token/permissions/replace.js +32 -0
  182. package/dist/commands/token/permissions/replace.js.map +1 -0
  183. package/dist/commands/token/precheck.d.ts +20 -0
  184. package/dist/commands/token/precheck.d.ts.map +1 -0
  185. package/dist/commands/token/precheck.js +30 -0
  186. package/dist/commands/token/precheck.js.map +1 -0
  187. package/dist/commands/token/reveal.d.ts +24 -0
  188. package/dist/commands/token/reveal.d.ts.map +1 -0
  189. package/dist/commands/token/reveal.js +29 -0
  190. package/dist/commands/token/reveal.js.map +1 -0
  191. package/dist/commands/token/update.d.ts +29 -0
  192. package/dist/commands/token/update.d.ts.map +1 -0
  193. package/dist/commands/token/update.js +47 -0
  194. package/dist/commands/token/update.js.map +1 -0
  195. package/dist/commands/version.d.ts +13 -0
  196. package/dist/commands/version.d.ts.map +1 -0
  197. package/dist/commands/version.js +16 -0
  198. package/dist/commands/version.js.map +1 -0
  199. package/dist/config/config-loader.d.ts +23 -0
  200. package/dist/config/config-loader.d.ts.map +1 -0
  201. package/dist/config/config-loader.js +35 -0
  202. package/dist/config/config-loader.js.map +1 -0
  203. package/dist/config/exit-codes.d.ts +14 -0
  204. package/dist/config/exit-codes.d.ts.map +1 -0
  205. package/dist/config/exit-codes.js +15 -0
  206. package/dist/config/exit-codes.js.map +1 -0
  207. package/dist/config/profiles.d.ts +14 -0
  208. package/dist/config/profiles.d.ts.map +1 -0
  209. package/dist/config/profiles.js +28 -0
  210. package/dist/config/profiles.js.map +1 -0
  211. package/dist/formatters/envelope.d.ts +10 -0
  212. package/dist/formatters/envelope.d.ts.map +1 -0
  213. package/dist/formatters/envelope.js +13 -0
  214. package/dist/formatters/envelope.js.map +1 -0
  215. package/dist/formatters/index.d.ts +4 -0
  216. package/dist/formatters/index.d.ts.map +1 -0
  217. package/dist/formatters/index.js +3 -0
  218. package/dist/formatters/index.js.map +1 -0
  219. package/dist/formatters/table.d.ts +7 -0
  220. package/dist/formatters/table.d.ts.map +1 -0
  221. package/dist/formatters/table.js +17 -0
  222. package/dist/formatters/table.js.map +1 -0
  223. package/dist/hooks/init.d.ts +8 -0
  224. package/dist/hooks/init.d.ts.map +1 -0
  225. package/dist/hooks/init.js +17 -0
  226. package/dist/hooks/init.js.map +1 -0
  227. package/dist/hooks/prerun.d.ts +8 -0
  228. package/dist/hooks/prerun.d.ts.map +1 -0
  229. package/dist/hooks/prerun.js +29 -0
  230. package/dist/hooks/prerun.js.map +1 -0
  231. package/dist/http/platform-api.d.ts +48 -0
  232. package/dist/http/platform-api.d.ts.map +1 -0
  233. package/dist/http/platform-api.js +228 -0
  234. package/dist/http/platform-api.js.map +1 -0
  235. package/dist/index.d.ts +17 -0
  236. package/dist/index.d.ts.map +1 -0
  237. package/dist/index.js +13 -0
  238. package/dist/index.js.map +1 -0
  239. package/package.json +83 -0
@@ -0,0 +1,29 @@
1
+ import { Args } from '@oclif/core';
2
+ import { BaseCommand } from '../../../base-command.js';
3
+ import { platformApiFlags } from '../../../http/platform-api.js';
4
+ import { mutationFlags, requestAndOutput } from '../../../command-utils/platform-command.js';
5
+ export default class AuthTokenRevoke extends BaseCommand {
6
+ static description = '吊销当前账号的 CLI Personal Access Token';
7
+ static args = {
8
+ id: Args.string({
9
+ description: 'personal access token id',
10
+ required: true,
11
+ }),
12
+ };
13
+ static flags = {
14
+ ...BaseCommand.baseFlags,
15
+ ...platformApiFlags,
16
+ ...mutationFlags,
17
+ };
18
+ async run() {
19
+ const { args, flags } = await this.parse(AuthTokenRevoke);
20
+ await requestAndOutput(this, flags, {
21
+ method: 'DELETE',
22
+ path: `/api/v1/account/personal-access-tokens/${encodeURIComponent(args.id)}`,
23
+ requiresConfirmation: true,
24
+ confirmationHint: 'Add --yes to revoke this personal access token.',
25
+ human: () => `Revoked personal access token: ${args.id}`,
26
+ });
27
+ }
28
+ }
29
+ //# sourceMappingURL=revoke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revoke.js","sourceRoot":"","sources":["../../../../src/commands/auth/token/revoke.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAE7F,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,WAAW;IACtD,MAAM,CAAU,WAAW,GAAG,mCAAmC,CAAC;IAElE,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,0BAA0B;YACvC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,SAAS;QACxB,GAAG,gBAAgB;QACnB,GAAG,aAAa;KACjB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC1D,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;YAClC,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,0CAA0C,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAC7E,oBAAoB,EAAE,IAAI;YAC1B,gBAAgB,EAAE,iDAAiD;YACnE,KAAK,EAAE,GAAG,EAAE,CAAC,kCAAkC,IAAI,CAAC,EAAE,EAAE;SACzD,CAAC,CAAC;IACL,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class ConfigShow extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
6
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
7
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ context: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ 'trace-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=show.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../src/commands/config/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AASpD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,WAAW,SAAY;IAC9B,MAAM,CAAC,KAAK;;;;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2B3B"}
@@ -0,0 +1,34 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ import { getBsteamConfigFilePath, readContextConfig, redactContextConfig, } from '../../auth/context-config.js';
3
+ import { loadConfig } from '../../config/config-loader.js';
4
+ import { getProfile } from '../../config/profiles.js';
5
+ export default class ConfigShow extends BaseCommand {
6
+ static description = '显示当前配置';
7
+ static flags = { ...BaseCommand.baseFlags };
8
+ async run() {
9
+ const { flags } = await this.parse(ConfigShow);
10
+ const config = await loadConfig({ profile: flags.profile });
11
+ const profile = getProfile(flags.profile);
12
+ const contextConfig = await readContextConfig(getBsteamConfigFilePath(flags.config));
13
+ const output = {
14
+ config,
15
+ profile,
16
+ contextConfigFile: getBsteamConfigFilePath(flags.config),
17
+ contextConfig: redactContextConfig(contextConfig),
18
+ env: {
19
+ NODE_ENV: process.env.NODE_ENV ?? 'undefined',
20
+ BSTEAM_PROFILE: process.env.BSTEAM_PROFILE ?? 'undefined',
21
+ BSTEAM_CONFIG: process.env.BSTEAM_CONFIG ?? 'undefined',
22
+ BSTEAM_CONTEXT: process.env.BSTEAM_CONTEXT ?? 'undefined',
23
+ },
24
+ };
25
+ if (flags.json) {
26
+ this.outputEnvelope(output);
27
+ }
28
+ else {
29
+ this.log('=== 当前配置 ===');
30
+ this.log(JSON.stringify(output, null, 2));
31
+ }
32
+ }
33
+ }
34
+ //# sourceMappingURL=show.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/commands/config/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC;IAC9B,MAAM,CAAC,KAAK,GAAG,EAAE,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;IAE5C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAErF,MAAM,MAAM,GAAG;YACb,MAAM;YACN,OAAO;YACP,iBAAiB,EAAE,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC;YACxD,aAAa,EAAE,mBAAmB,CAAC,aAAa,CAAC;YACjD,GAAG,EAAE;gBACH,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,WAAW;gBAC7C,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,WAAW;gBACzD,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,WAAW;gBACvD,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,WAAW;aAC1D;SACF,CAAC;QAEF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class KbAclGrant extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ slug: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ 'principal-type': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
9
+ 'principal-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ permission: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ path: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
12
+ 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
+ data: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ 'data-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ credential: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
21
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ context: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ 'trace-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
+ };
25
+ run(): Promise<void>;
26
+ }
27
+ //# sourceMappingURL=grant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grant.d.ts","sourceRoot":"","sources":["../../../../src/commands/kb/acl/grant.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIvD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,OAAgB,WAAW,SAAmB;IAE9C,OAAgB,IAAI;;MAElB;IAEF,OAAgB,KAAK;;;;;;;;;;;;;;;;;MAsBnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAe3B"}
@@ -0,0 +1,49 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../../../base-command.js';
3
+ import { platformApiFlags } from '../../../http/platform-api.js';
4
+ import { buildBody, encodePathSegment, jsonBodyFlags, requestAndOutput } from '../../../command-utils/platform-command.js';
5
+ export default class KbAclGrant extends BaseCommand {
6
+ static description = '给知识库授予 ACL 权限';
7
+ static args = {
8
+ slug: Args.string({ description: 'knowledge base slug', required: true }),
9
+ };
10
+ static flags = {
11
+ ...BaseCommand.baseFlags,
12
+ ...platformApiFlags,
13
+ ...jsonBodyFlags,
14
+ 'principal-type': Flags.string({
15
+ description: 'user | role | department | org_unit | virtual_group',
16
+ required: true,
17
+ }),
18
+ 'principal-id': Flags.string({
19
+ description: 'principal id',
20
+ required: true,
21
+ }),
22
+ permission: Flags.string({
23
+ description: 'read | write | manage | share | comment',
24
+ options: ['read', 'write', 'manage', 'share', 'comment'],
25
+ default: 'read',
26
+ }),
27
+ path: Flags.string({
28
+ description: 'ACL path pattern',
29
+ default: '*',
30
+ }),
31
+ 'dry-run': Flags.boolean({ description: '只预览请求,不实际授权', default: false }),
32
+ };
33
+ async run() {
34
+ const { args, flags } = await this.parse(KbAclGrant);
35
+ const body = await buildBody(flags, {
36
+ principalType: flags['principal-type'],
37
+ principalId: flags['principal-id'],
38
+ permission: flags.permission,
39
+ pathPattern: flags.path,
40
+ });
41
+ await requestAndOutput(this, flags, {
42
+ method: 'POST',
43
+ path: `/api/v1/kb/${encodePathSegment(args.slug)}/acl`,
44
+ body,
45
+ human: (data) => `Granted ACL: ${JSON.stringify(data, null, 2)}`,
46
+ });
47
+ }
48
+ }
49
+ //# sourceMappingURL=grant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grant.js","sourceRoot":"","sources":["../../../../src/commands/kb/acl/grant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAE3H,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAU,WAAW,GAAG,eAAe,CAAC;IAE9C,MAAM,CAAU,IAAI,GAAG;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC1E,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,SAAS;QACxB,GAAG,gBAAgB;QACnB,GAAG,aAAa;QAChB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC;YAC7B,WAAW,EAAE,qDAAqD;YAClE,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC;YAC3B,WAAW,EAAE,cAAc;YAC3B,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,yCAAyC;YACtD,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;YACxD,OAAO,EAAE,MAAM;SAChB,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,kBAAkB;YAC/B,OAAO,EAAE,GAAG;SACb,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;KACzE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE;YAClC,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC;YACtC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC;YAClC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,WAAW,EAAE,KAAK,CAAC,IAAI;SACxB,CAAC,CAAC;QACH,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;YAClC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;YACtD,IAAI;YACJ,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;SACjE,CAAC,CAAC;IACL,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class KbAclList extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ slug: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ credential: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
14
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ context: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ 'trace-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ };
18
+ run(): Promise<void>;
19
+ }
20
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/kb/acl/list.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKvD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,OAAgB,WAAW,SAAkB;IAE7C,OAAgB,IAAI;;MAElB;IAEF,OAAgB,KAAK;;;;;;;;;;MAGnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB3B"}
@@ -0,0 +1,35 @@
1
+ import { Args } from '@oclif/core';
2
+ import { BaseCommand } from '../../../base-command.js';
3
+ import { formatTable } from '../../../formatters/table.js';
4
+ import { platformApiFlags } from '../../../http/platform-api.js';
5
+ import { encodePathSegment, extractItems, pickText, requestAndOutput } from '../../../command-utils/platform-command.js';
6
+ export default class KbAclList extends BaseCommand {
7
+ static description = '列出知识库 ACL 条目';
8
+ static args = {
9
+ slug: Args.string({ description: 'knowledge base slug', required: true }),
10
+ };
11
+ static flags = {
12
+ ...BaseCommand.baseFlags,
13
+ ...platformApiFlags,
14
+ };
15
+ async run() {
16
+ const { args, flags } = await this.parse(KbAclList);
17
+ await requestAndOutput(this, flags, {
18
+ method: 'GET',
19
+ path: `/api/v1/kb/${encodePathSegment(args.slug)}/acl`,
20
+ human: (data) => {
21
+ const items = extractItems(data);
22
+ if (items.length === 0)
23
+ return 'No ACL entries';
24
+ return formatTable(['ID', 'Principal', 'Name', 'Path', 'Permission'], items.map((item) => [
25
+ pickText(item, ['id']),
26
+ `${pickText(item, ['principal_type', 'principalType'])}:${pickText(item, ['principal_id', 'principalId'])}`,
27
+ pickText(item, ['principalName', 'principal_name']),
28
+ pickText(item, ['path_pattern', 'pathPattern']),
29
+ pickText(item, ['permission']),
30
+ ]));
31
+ },
32
+ });
33
+ }
34
+ }
35
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/kb/acl/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAEzH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAU,WAAW,GAAG,cAAc,CAAC;IAE7C,MAAM,CAAU,IAAI,GAAG;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC1E,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,SAAS;QACxB,GAAG,gBAAgB;KACpB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;YAClC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,cAAc,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;YACtD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;gBACd,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,gBAAgB,CAAC;gBAChD,OAAO,WAAW,CAChB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EACjD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;oBAClB,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;oBACtB,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,EAAE;oBAC3G,QAAQ,CAAC,IAAI,EAAE,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;oBACnD,QAAQ,CAAC,IAAI,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;oBAC/C,QAAQ,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC;iBAC/B,CAAC,CACH,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class KbAclRevoke extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ slug: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ data: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ 'data-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ credential: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
19
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ context: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
+ 'trace-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ };
23
+ run(): Promise<void>;
24
+ }
25
+ //# sourceMappingURL=revoke.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revoke.d.ts","sourceRoot":"","sources":["../../../../src/commands/kb/acl/revoke.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIvD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,OAAgB,WAAW,SAAkB;IAE7C,OAAgB,IAAI;;;MAGlB;IAEF,OAAgB,KAAK;;;;;;;;;;;;;;MAInB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAU3B"}
@@ -0,0 +1,27 @@
1
+ import { Args } from '@oclif/core';
2
+ import { BaseCommand } from '../../../base-command.js';
3
+ import { platformApiFlags } from '../../../http/platform-api.js';
4
+ import { encodePathSegment, mutationFlags, requestAndOutput } from '../../../command-utils/platform-command.js';
5
+ export default class KbAclRevoke extends BaseCommand {
6
+ static description = '撤销知识库 ACL 条目';
7
+ static args = {
8
+ slug: Args.string({ description: 'knowledge base slug', required: true }),
9
+ id: Args.string({ description: 'ACL entry id', required: true }),
10
+ };
11
+ static flags = {
12
+ ...BaseCommand.baseFlags,
13
+ ...platformApiFlags,
14
+ ...mutationFlags,
15
+ };
16
+ async run() {
17
+ const { args, flags } = await this.parse(KbAclRevoke);
18
+ await requestAndOutput(this, flags, {
19
+ method: 'DELETE',
20
+ path: `/api/v1/kb/${encodePathSegment(args.slug)}/acl/${encodePathSegment(args.id)}`,
21
+ requiresConfirmation: true,
22
+ confirmationHint: 'Add --yes to revoke this ACL entry.',
23
+ human: () => `Revoked ACL: ${args.id}`,
24
+ });
25
+ }
26
+ }
27
+ //# sourceMappingURL=revoke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revoke.js","sourceRoot":"","sources":["../../../../src/commands/kb/acl/revoke.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAEhH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAU,WAAW,GAAG,cAAc,CAAC;IAE7C,MAAM,CAAU,IAAI,GAAG;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACjE,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,SAAS;QACxB,GAAG,gBAAgB;QACnB,GAAG,aAAa;KACjB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;YAClC,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,cAAc,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACpF,oBAAoB,EAAE,IAAI;YAC1B,gBAAgB,EAAE,qCAAqC;YACvD,KAAK,EAAE,GAAG,EAAE,CAAC,gBAAgB,IAAI,CAAC,EAAE,EAAE;SACvC,CAAC,CAAC;IACL,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class KbAclUpdate extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ slug: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ 'principal-type': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ 'principal-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ permission: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ path: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ data: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ 'data-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ credential: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
22
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ context: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
+ 'trace-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
+ };
26
+ run(): Promise<void>;
27
+ }
28
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/commands/kb/acl/update.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIvD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,OAAgB,WAAW,SAAkB;IAE7C,OAAgB,IAAI;;;MAGlB;IAEF,OAAgB,KAAK;;;;;;;;;;;;;;;;;MAYnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAe3B"}
@@ -0,0 +1,40 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../../../base-command.js';
3
+ import { platformApiFlags } from '../../../http/platform-api.js';
4
+ import { buildBody, encodePathSegment, jsonBodyFlags, requestAndOutput } from '../../../command-utils/platform-command.js';
5
+ export default class KbAclUpdate extends BaseCommand {
6
+ static description = '更新知识库 ACL 条目';
7
+ static args = {
8
+ slug: Args.string({ description: 'knowledge base slug', required: true }),
9
+ id: Args.string({ description: 'ACL entry id', required: true }),
10
+ };
11
+ static flags = {
12
+ ...BaseCommand.baseFlags,
13
+ ...platformApiFlags,
14
+ ...jsonBodyFlags,
15
+ 'principal-type': Flags.string({ description: 'user | role | department | org_unit | virtual_group' }),
16
+ 'principal-id': Flags.string({ description: 'principal id' }),
17
+ permission: Flags.string({
18
+ description: 'read | write | manage | share | comment',
19
+ options: ['read', 'write', 'manage', 'share', 'comment'],
20
+ }),
21
+ path: Flags.string({ description: 'ACL path pattern' }),
22
+ 'dry-run': Flags.boolean({ description: '只预览请求,不实际更新', default: false }),
23
+ };
24
+ async run() {
25
+ const { args, flags } = await this.parse(KbAclUpdate);
26
+ const body = await buildBody(flags, {
27
+ principalType: flags['principal-type'],
28
+ principalId: flags['principal-id'],
29
+ permission: flags.permission,
30
+ pathPattern: flags.path,
31
+ });
32
+ await requestAndOutput(this, flags, {
33
+ method: 'PUT',
34
+ path: `/api/v1/kb/${encodePathSegment(args.slug)}/acl/${encodePathSegment(args.id)}`,
35
+ body,
36
+ human: (data) => `Updated ACL: ${JSON.stringify(data, null, 2)}`,
37
+ });
38
+ }
39
+ }
40
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/kb/acl/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAE3H,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAU,WAAW,GAAG,cAAc,CAAC;IAE7C,MAAM,CAAU,IAAI,GAAG;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACjE,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,SAAS;QACxB,GAAG,gBAAgB;QACnB,GAAG,aAAa;QAChB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qDAAqD,EAAE,CAAC;QACtG,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;QAC7D,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,yCAAyC;YACtD,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;SACzD,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;QACvD,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;KACzE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE;YAClC,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC;YACtC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC;YAClC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,WAAW,EAAE,KAAK,CAAC,IAAI;SACxB,CAAC,CAAC;QACH,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;YAClC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,cAAc,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACpF,IAAI;YACJ,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;SACjE,CAAC,CAAC;IACL,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class KbCreate extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ slug: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
6
+ name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
7
+ description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ visibility: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ 'allowed-extensions': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ 'root-dir': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
+ data: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ 'data-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ credential: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
20
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
+ context: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ 'trace-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ };
24
+ run(): Promise<void>;
25
+ }
26
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/kb/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,OAAgB,WAAW,SAAuC;IAElE,OAAgB,KAAK;;;;;;;;;;;;;;;;;;;MA6BnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB3B"}
@@ -0,0 +1,59 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../../base-command.js';
3
+ import { platformApiFlags } from '../../http/platform-api.js';
4
+ import { buildBody, jsonBodyFlags, parseCsv, requestAndOutput } from '../../command-utils/platform-command.js';
5
+ export default class KbCreate extends BaseCommand {
6
+ static description = '创建知识库;普通用户创建系统托管 KB,管理员可传 rootDir';
7
+ static flags = {
8
+ ...BaseCommand.baseFlags,
9
+ ...platformApiFlags,
10
+ ...jsonBodyFlags,
11
+ slug: Flags.string({
12
+ description: 'knowledge base slug',
13
+ required: true,
14
+ }),
15
+ name: Flags.string({
16
+ description: '知识库名称',
17
+ required: true,
18
+ }),
19
+ description: Flags.string({
20
+ description: '知识库说明',
21
+ }),
22
+ visibility: Flags.string({
23
+ description: 'public | members_only | custom',
24
+ options: ['public', 'members_only', 'custom'],
25
+ }),
26
+ 'allowed-extensions': Flags.string({
27
+ description: '逗号分隔扩展名,例如 .md,.txt,.json',
28
+ }),
29
+ 'root-dir': Flags.string({
30
+ description: '管理员绑定既有目录;普通用户会被后端忽略并创建托管目录',
31
+ }),
32
+ 'dry-run': Flags.boolean({
33
+ description: '只预览请求,不实际创建',
34
+ default: false,
35
+ }),
36
+ };
37
+ async run() {
38
+ const { flags } = await this.parse(KbCreate);
39
+ const body = await buildBody(flags, {
40
+ slug: flags.slug,
41
+ name: flags.name,
42
+ description: flags.description,
43
+ visibility: flags.visibility,
44
+ allowed_extensions: parseCsv(flags['allowed-extensions']),
45
+ root_dir: flags['root-dir'],
46
+ });
47
+ await requestAndOutput(this, flags, {
48
+ method: 'POST',
49
+ path: '/api/v1/kb',
50
+ body,
51
+ human: (data) => [
52
+ `Created KB: ${data.slug ?? flags.slug}`,
53
+ `Name: ${data.name ?? flags.name}`,
54
+ `Git: ${data.ssh_clone_url ?? '-'}`,
55
+ ].join('\n'),
56
+ });
57
+ }
58
+ }
59
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/kb/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAE/G,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAU,WAAW,GAAG,mCAAmC,CAAC;IAElE,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,SAAS;QACxB,GAAG,gBAAgB;QACnB,GAAG,aAAa;QAChB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,OAAO;YACpB,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,OAAO;SACrB,CAAC;QACF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,gCAAgC;YAC7C,OAAO,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,QAAQ,CAAC;SAC9C,CAAC;QACF,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC;YACjC,WAAW,EAAE,2BAA2B;SACzC,CAAC;QACF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,6BAA6B;SAC3C,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YACvB,WAAW,EAAE,aAAa;YAC1B,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE;YAClC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACzD,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;SAC5B,CAAC,CAAC;QAEH,MAAM,gBAAgB,CAA0B,IAAI,EAAE,KAAK,EAAE;YAC3D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,YAAY;YAClB,IAAI;YACJ,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBACf,eAAe,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;gBACxC,SAAS,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;gBAClC,QAAQ,IAAI,CAAC,aAAa,IAAI,GAAG,EAAE;aACpC,CAAC,IAAI,CAAC,IAAI,CAAC;SACb,CAAC,CAAC;IACL,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class KbDelete extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ slug: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ data: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'data-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ credential: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
18
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ context: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ 'trace-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
+ };
22
+ run(): Promise<void>;
23
+ }
24
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/kb/delete.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,OAAgB,WAAW,SAAgB;IAE3C,OAAgB,IAAI;;MAKlB;IAEF,OAAgB,KAAK;;;;;;;;;;;;;;MAInB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAU3B"}
@@ -0,0 +1,29 @@
1
+ import { Args } from '@oclif/core';
2
+ import { BaseCommand } from '../../base-command.js';
3
+ import { platformApiFlags } from '../../http/platform-api.js';
4
+ import { encodePathSegment, mutationFlags, requestAndOutput } from '../../command-utils/platform-command.js';
5
+ export default class KbDelete extends BaseCommand {
6
+ static description = '归档知识库(软删除)';
7
+ static args = {
8
+ slug: Args.string({
9
+ description: 'knowledge base slug',
10
+ required: true,
11
+ }),
12
+ };
13
+ static flags = {
14
+ ...BaseCommand.baseFlags,
15
+ ...platformApiFlags,
16
+ ...mutationFlags,
17
+ };
18
+ async run() {
19
+ const { args, flags } = await this.parse(KbDelete);
20
+ await requestAndOutput(this, flags, {
21
+ method: 'DELETE',
22
+ path: `/api/v1/kb/${encodePathSegment(args.slug)}`,
23
+ requiresConfirmation: true,
24
+ confirmationHint: 'Add --yes to archive this knowledge base.',
25
+ human: () => `Archived KB: ${args.slug}`,
26
+ });
27
+ }
28
+ }
29
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/kb/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAE7G,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAU,WAAW,GAAG,YAAY,CAAC;IAE3C,MAAM,CAAU,IAAI,GAAG;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,SAAS;QACxB,GAAG,gBAAgB;QACnB,GAAG,aAAa;KACjB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;YAClC,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,cAAc,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAClD,oBAAoB,EAAE,IAAI;YAC1B,gBAAgB,EAAE,2CAA2C;YAC7D,KAAK,EAAE,GAAG,EAAE,CAAC,gBAAgB,IAAI,CAAC,IAAI,EAAE;SACzC,CAAC,CAAC;IACL,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class KbDoctor extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
6
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
+ credential: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ context: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ 'trace-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/commands/kb/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKpD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,OAAgB,WAAW,SAA6B;IAExD,OAAgB,KAAK;;;;;;;;;;MAGnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsC3B"}