@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.
- package/CHANGELOG.md +40 -0
- package/README.md +260 -0
- package/bin/argv.js +35 -0
- package/bin/dev.js +23 -0
- package/bin/run.js +25 -0
- package/bin/workspace-plugin.js +16 -0
- package/dist/auth/context-config.d.ts +91 -0
- package/dist/auth/context-config.d.ts.map +1 -0
- package/dist/auth/context-config.js +258 -0
- package/dist/auth/context-config.js.map +1 -0
- package/dist/auth/credential-store.d.ts +57 -0
- package/dist/auth/credential-store.d.ts.map +1 -0
- package/dist/auth/credential-store.js +146 -0
- package/dist/auth/credential-store.js.map +1 -0
- package/dist/base-command.d.ts +22 -0
- package/dist/base-command.d.ts.map +1 -0
- package/dist/base-command.js +33 -0
- package/dist/base-command.js.map +1 -0
- package/dist/command-utils/platform-command.d.ts +51 -0
- package/dist/command-utils/platform-command.d.ts.map +1 -0
- package/dist/command-utils/platform-command.js +178 -0
- package/dist/command-utils/platform-command.js.map +1 -0
- package/dist/commands/api.d.ts +26 -0
- package/dist/commands/api.d.ts.map +1 -0
- package/dist/commands/api.js +132 -0
- package/dist/commands/api.js.map +1 -0
- package/dist/commands/auth/check.d.ts +21 -0
- package/dist/commands/auth/check.d.ts.map +1 -0
- package/dist/commands/auth/check.js +57 -0
- package/dist/commands/auth/check.js.map +1 -0
- package/dist/commands/auth/list.d.ts +13 -0
- package/dist/commands/auth/list.d.ts.map +1 -0
- package/dist/commands/auth/list.js +56 -0
- package/dist/commands/auth/list.js.map +1 -0
- package/dist/commands/auth/login.d.ts +27 -0
- package/dist/commands/auth/login.d.ts.map +1 -0
- package/dist/commands/auth/login.js +155 -0
- package/dist/commands/auth/login.js.map +1 -0
- package/dist/commands/auth/logout.d.ts +15 -0
- package/dist/commands/auth/logout.d.ts.map +1 -0
- package/dist/commands/auth/logout.js +55 -0
- package/dist/commands/auth/logout.js.map +1 -0
- package/dist/commands/auth/scopes.d.ts +18 -0
- package/dist/commands/auth/scopes.d.ts.map +1 -0
- package/dist/commands/auth/scopes.js +56 -0
- package/dist/commands/auth/scopes.js.map +1 -0
- package/dist/commands/auth/status.d.ts +17 -0
- package/dist/commands/auth/status.d.ts.map +1 -0
- package/dist/commands/auth/status.js +81 -0
- package/dist/commands/auth/status.js.map +1 -0
- package/dist/commands/auth/token/create.d.ts +22 -0
- package/dist/commands/auth/token/create.d.ts.map +1 -0
- package/dist/commands/auth/token/create.js +46 -0
- package/dist/commands/auth/token/create.js.map +1 -0
- package/dist/commands/auth/token/list.d.ts +17 -0
- package/dist/commands/auth/token/list.d.ts.map +1 -0
- package/dist/commands/auth/token/list.js +33 -0
- package/dist/commands/auth/token/list.js.map +1 -0
- package/dist/commands/auth/token/revoke.d.ts +24 -0
- package/dist/commands/auth/token/revoke.d.ts.map +1 -0
- package/dist/commands/auth/token/revoke.js +29 -0
- package/dist/commands/auth/token/revoke.js.map +1 -0
- package/dist/commands/config/show.d.ts +13 -0
- package/dist/commands/config/show.d.ts.map +1 -0
- package/dist/commands/config/show.js +34 -0
- package/dist/commands/config/show.js.map +1 -0
- package/dist/commands/kb/acl/grant.d.ts +27 -0
- package/dist/commands/kb/acl/grant.d.ts.map +1 -0
- package/dist/commands/kb/acl/grant.js +49 -0
- package/dist/commands/kb/acl/grant.js.map +1 -0
- package/dist/commands/kb/acl/list.d.ts +20 -0
- package/dist/commands/kb/acl/list.d.ts.map +1 -0
- package/dist/commands/kb/acl/list.js +35 -0
- package/dist/commands/kb/acl/list.js.map +1 -0
- package/dist/commands/kb/acl/revoke.d.ts +25 -0
- package/dist/commands/kb/acl/revoke.d.ts.map +1 -0
- package/dist/commands/kb/acl/revoke.js +27 -0
- package/dist/commands/kb/acl/revoke.js.map +1 -0
- package/dist/commands/kb/acl/update.d.ts +28 -0
- package/dist/commands/kb/acl/update.d.ts.map +1 -0
- package/dist/commands/kb/acl/update.js +40 -0
- package/dist/commands/kb/acl/update.js.map +1 -0
- package/dist/commands/kb/create.d.ts +26 -0
- package/dist/commands/kb/create.d.ts.map +1 -0
- package/dist/commands/kb/create.js +59 -0
- package/dist/commands/kb/create.js.map +1 -0
- package/dist/commands/kb/delete.d.ts +24 -0
- package/dist/commands/kb/delete.d.ts.map +1 -0
- package/dist/commands/kb/delete.js +29 -0
- package/dist/commands/kb/delete.js.map +1 -0
- package/dist/commands/kb/doctor.d.ts +17 -0
- package/dist/commands/kb/doctor.d.ts.map +1 -0
- package/dist/commands/kb/doctor.js +48 -0
- package/dist/commands/kb/doctor.js.map +1 -0
- package/dist/commands/kb/file.d.ts +23 -0
- package/dist/commands/kb/file.d.ts.map +1 -0
- package/dist/commands/kb/file.js +97 -0
- package/dist/commands/kb/file.js.map +1 -0
- package/dist/commands/kb/get.d.ts +20 -0
- package/dist/commands/kb/get.d.ts.map +1 -0
- package/dist/commands/kb/get.js +37 -0
- package/dist/commands/kb/get.js.map +1 -0
- package/dist/commands/kb/git.d.ts +20 -0
- package/dist/commands/kb/git.d.ts.map +1 -0
- package/dist/commands/kb/git.js +46 -0
- package/dist/commands/kb/git.js.map +1 -0
- package/dist/commands/kb/list.d.ts +17 -0
- package/dist/commands/kb/list.d.ts.map +1 -0
- package/dist/commands/kb/list.js +36 -0
- package/dist/commands/kb/list.js.map +1 -0
- package/dist/commands/kb/share/create.d.ts +25 -0
- package/dist/commands/kb/share/create.d.ts.map +1 -0
- package/dist/commands/kb/share/create.js +42 -0
- package/dist/commands/kb/share/create.js.map +1 -0
- package/dist/commands/kb/share/list.d.ts +20 -0
- package/dist/commands/kb/share/list.d.ts.map +1 -0
- package/dist/commands/kb/share/list.js +35 -0
- package/dist/commands/kb/share/list.js.map +1 -0
- package/dist/commands/kb/share/revoke.d.ts +25 -0
- package/dist/commands/kb/share/revoke.d.ts.map +1 -0
- package/dist/commands/kb/share/revoke.js +27 -0
- package/dist/commands/kb/share/revoke.js.map +1 -0
- package/dist/commands/kb/tree.d.ts +20 -0
- package/dist/commands/kb/tree.d.ts.map +1 -0
- package/dist/commands/kb/tree.js +39 -0
- package/dist/commands/kb/tree.js.map +1 -0
- package/dist/commands/kb/update.d.ts +29 -0
- package/dist/commands/kb/update.d.ts.map +1 -0
- package/dist/commands/kb/update.js +49 -0
- package/dist/commands/kb/update.js.map +1 -0
- package/dist/commands/reimbursement/create.d.ts +31 -0
- package/dist/commands/reimbursement/create.d.ts.map +1 -0
- package/dist/commands/reimbursement/create.js +67 -0
- package/dist/commands/reimbursement/create.js.map +1 -0
- package/dist/commands/reimbursement/delete.d.ts +24 -0
- package/dist/commands/reimbursement/delete.d.ts.map +1 -0
- package/dist/commands/reimbursement/delete.js +26 -0
- package/dist/commands/reimbursement/delete.js.map +1 -0
- package/dist/commands/reimbursement/list.d.ts +17 -0
- package/dist/commands/reimbursement/list.d.ts.map +1 -0
- package/dist/commands/reimbursement/list.js +33 -0
- package/dist/commands/reimbursement/list.js.map +1 -0
- package/dist/commands/reimbursement/operations.d.ts +17 -0
- package/dist/commands/reimbursement/operations.d.ts.map +1 -0
- package/dist/commands/reimbursement/operations.js +19 -0
- package/dist/commands/reimbursement/operations.js.map +1 -0
- package/dist/commands/reimbursement/permissions/list.d.ts +17 -0
- package/dist/commands/reimbursement/permissions/list.d.ts.map +1 -0
- package/dist/commands/reimbursement/permissions/list.js +32 -0
- package/dist/commands/reimbursement/permissions/list.js.map +1 -0
- package/dist/commands/reimbursement/permissions/replace.d.ts +22 -0
- package/dist/commands/reimbursement/permissions/replace.d.ts.map +1 -0
- package/dist/commands/reimbursement/permissions/replace.js +32 -0
- package/dist/commands/reimbursement/permissions/replace.js.map +1 -0
- package/dist/commands/reimbursement/update.d.ts +31 -0
- package/dist/commands/reimbursement/update.d.ts.map +1 -0
- package/dist/commands/reimbursement/update.js +56 -0
- package/dist/commands/reimbursement/update.js.map +1 -0
- package/dist/commands/token/create.d.ts +26 -0
- package/dist/commands/token/create.d.ts.map +1 -0
- package/dist/commands/token/create.js +52 -0
- package/dist/commands/token/create.js.map +1 -0
- package/dist/commands/token/delete.d.ts +24 -0
- package/dist/commands/token/delete.d.ts.map +1 -0
- package/dist/commands/token/delete.js +26 -0
- package/dist/commands/token/delete.js.map +1 -0
- package/dist/commands/token/list.d.ts +17 -0
- package/dist/commands/token/list.d.ts.map +1 -0
- package/dist/commands/token/list.js +33 -0
- package/dist/commands/token/list.js.map +1 -0
- package/dist/commands/token/operations.d.ts +17 -0
- package/dist/commands/token/operations.d.ts.map +1 -0
- package/dist/commands/token/operations.js +19 -0
- package/dist/commands/token/operations.js.map +1 -0
- package/dist/commands/token/permissions/list.d.ts +17 -0
- package/dist/commands/token/permissions/list.d.ts.map +1 -0
- package/dist/commands/token/permissions/list.js +32 -0
- package/dist/commands/token/permissions/list.js.map +1 -0
- package/dist/commands/token/permissions/replace.d.ts +22 -0
- package/dist/commands/token/permissions/replace.d.ts.map +1 -0
- package/dist/commands/token/permissions/replace.js +32 -0
- package/dist/commands/token/permissions/replace.js.map +1 -0
- package/dist/commands/token/precheck.d.ts +20 -0
- package/dist/commands/token/precheck.d.ts.map +1 -0
- package/dist/commands/token/precheck.js +30 -0
- package/dist/commands/token/precheck.js.map +1 -0
- package/dist/commands/token/reveal.d.ts +24 -0
- package/dist/commands/token/reveal.d.ts.map +1 -0
- package/dist/commands/token/reveal.js +29 -0
- package/dist/commands/token/reveal.js.map +1 -0
- package/dist/commands/token/update.d.ts +29 -0
- package/dist/commands/token/update.d.ts.map +1 -0
- package/dist/commands/token/update.js +47 -0
- package/dist/commands/token/update.js.map +1 -0
- package/dist/commands/version.d.ts +13 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +16 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/config/config-loader.d.ts +23 -0
- package/dist/config/config-loader.d.ts.map +1 -0
- package/dist/config/config-loader.js +35 -0
- package/dist/config/config-loader.js.map +1 -0
- package/dist/config/exit-codes.d.ts +14 -0
- package/dist/config/exit-codes.d.ts.map +1 -0
- package/dist/config/exit-codes.js +15 -0
- package/dist/config/exit-codes.js.map +1 -0
- package/dist/config/profiles.d.ts +14 -0
- package/dist/config/profiles.d.ts.map +1 -0
- package/dist/config/profiles.js +28 -0
- package/dist/config/profiles.js.map +1 -0
- package/dist/formatters/envelope.d.ts +10 -0
- package/dist/formatters/envelope.d.ts.map +1 -0
- package/dist/formatters/envelope.js +13 -0
- package/dist/formatters/envelope.js.map +1 -0
- package/dist/formatters/index.d.ts +4 -0
- package/dist/formatters/index.d.ts.map +1 -0
- package/dist/formatters/index.js +3 -0
- package/dist/formatters/index.js.map +1 -0
- package/dist/formatters/table.d.ts +7 -0
- package/dist/formatters/table.d.ts.map +1 -0
- package/dist/formatters/table.js +17 -0
- package/dist/formatters/table.js.map +1 -0
- package/dist/hooks/init.d.ts +8 -0
- package/dist/hooks/init.d.ts.map +1 -0
- package/dist/hooks/init.js +17 -0
- package/dist/hooks/init.js.map +1 -0
- package/dist/hooks/prerun.d.ts +8 -0
- package/dist/hooks/prerun.d.ts.map +1 -0
- package/dist/hooks/prerun.js +29 -0
- package/dist/hooks/prerun.js.map +1 -0
- package/dist/http/platform-api.d.ts +48 -0
- package/dist/http/platform-api.d.ts.map +1 -0
- package/dist/http/platform-api.js +228 -0
- package/dist/http/platform-api.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- 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"}
|