@inf-monkeys-tech/monkeys-cli 0.11.1 → 0.11.2
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/README.md +38 -21
- package/README.zh.md +27 -19
- package/bin/install-wizard.js +12 -2
- package/bin/run.js +4 -4
- package/dist/command/metadata.d.ts +11 -0
- package/dist/command/metadata.d.ts.map +1 -0
- package/dist/command/metadata.js +150 -0
- package/dist/command/metadata.js.map +1 -0
- package/dist/commands/agent/work/watch.d.ts +3 -2
- package/dist/commands/agent/work/watch.d.ts.map +1 -1
- package/dist/commands/agent/work/watch.js +10 -5
- package/dist/commands/agent/work/watch.js.map +1 -1
- package/dist/commands/context/show.d.ts +11 -0
- package/dist/commands/context/show.d.ts.map +1 -0
- package/dist/commands/context/show.js +32 -0
- package/dist/commands/context/show.js.map +1 -0
- package/dist/commands/execution/watch.d.ts +3 -2
- package/dist/commands/execution/watch.d.ts.map +1 -1
- package/dist/commands/execution/watch.js +10 -5
- package/dist/commands/execution/watch.js.map +1 -1
- package/dist/commands/identity/get.d.ts +13 -0
- package/dist/commands/identity/get.d.ts.map +1 -0
- package/dist/commands/identity/get.js +18 -0
- package/dist/commands/identity/get.js.map +1 -0
- package/dist/commands/identity/list.d.ts +17 -0
- package/dist/commands/identity/list.d.ts.map +1 -0
- package/dist/commands/identity/list.js +33 -0
- package/dist/commands/identity/list.js.map +1 -0
- package/dist/commands/schema.d.ts +17 -0
- package/dist/commands/schema.d.ts.map +1 -0
- package/dist/commands/schema.js +56 -0
- package/dist/commands/schema.js.map +1 -0
- package/dist/commands/skills/list.d.ts +9 -0
- package/dist/commands/skills/list.d.ts.map +1 -0
- package/dist/commands/skills/list.js +11 -0
- package/dist/commands/skills/list.js.map +1 -0
- package/dist/commands/skills/read.d.ts +14 -0
- package/dist/commands/skills/read.d.ts.map +1 -0
- package/dist/commands/skills/read.js +20 -0
- package/dist/commands/skills/read.js.map +1 -0
- package/dist/commands/skills/status.d.ts +9 -0
- package/dist/commands/skills/status.d.ts.map +1 -0
- package/dist/commands/skills/status.js +12 -0
- package/dist/commands/skills/status.js.map +1 -0
- package/dist/commands/skills/sync.d.ts +10 -0
- package/dist/commands/skills/sync.d.ts.map +1 -0
- package/dist/commands/skills/sync.js +36 -0
- package/dist/commands/skills/sync.js.map +1 -0
- package/dist/commands/team/get.d.ts +13 -0
- package/dist/commands/team/get.d.ts.map +1 -0
- package/dist/commands/team/get.js +18 -0
- package/dist/commands/team/get.js.map +1 -0
- package/dist/commands/team/list.d.ts +16 -0
- package/dist/commands/team/list.d.ts.map +1 -0
- package/dist/commands/team/list.js +31 -0
- package/dist/commands/team/list.js.map +1 -0
- package/dist/commands/update.d.ts +2 -4
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +37 -76
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/version/check.d.ts.map +1 -1
- package/dist/commands/version/check.js +8 -4
- package/dist/commands/version/check.js.map +1 -1
- package/dist/commands/version/show.d.ts +2 -2
- package/dist/commands/version/show.d.ts.map +1 -1
- package/dist/commands/version/show.js +7 -12
- package/dist/commands/version/show.js.map +1 -1
- package/dist/config/local-command.d.ts +9 -1
- package/dist/config/local-command.d.ts.map +1 -1
- package/dist/config/local-command.js +44 -5
- package/dist/config/local-command.js.map +1 -1
- package/dist/contracts/version.d.ts +1 -1
- package/dist/contracts/version.d.ts.map +1 -1
- package/dist/contracts/version.js +9 -1
- package/dist/contracts/version.js.map +1 -1
- package/dist/discovery/client.d.ts +31 -0
- package/dist/discovery/client.d.ts.map +1 -0
- package/dist/discovery/client.js +117 -0
- package/dist/discovery/client.js.map +1 -0
- package/dist/discovery/pagination.d.ts +20 -0
- package/dist/discovery/pagination.d.ts.map +1 -0
- package/dist/discovery/pagination.js +32 -0
- package/dist/discovery/pagination.js.map +1 -0
- package/dist/output/render.d.ts +7 -1
- package/dist/output/render.d.ts.map +1 -1
- package/dist/output/render.js +73 -0
- package/dist/output/render.js.map +1 -1
- package/dist/schema/command-schema.d.ts +26 -0
- package/dist/schema/command-schema.d.ts.map +1 -0
- package/dist/schema/command-schema.js +27 -0
- package/dist/schema/command-schema.js.map +1 -0
- package/dist/skills/content.d.ts +13 -0
- package/dist/skills/content.d.ts.map +1 -0
- package/dist/skills/content.js +103 -0
- package/dist/skills/content.js.map +1 -0
- package/dist/skills/state.d.ts +43 -0
- package/dist/skills/state.d.ts.map +1 -0
- package/dist/skills/state.js +56 -0
- package/dist/skills/state.js.map +1 -0
- package/dist/skills/sync.d.ts +28 -0
- package/dist/skills/sync.d.ts.map +1 -0
- package/dist/skills/sync.js +17 -0
- package/dist/skills/sync.js.map +1 -0
- package/dist/update/updater.d.ts +1 -0
- package/dist/update/updater.d.ts.map +1 -1
- package/dist/update/updater.js +21 -5
- package/dist/update/updater.js.map +1 -1
- package/oclif.manifest.json +5967 -324
- package/package.json +57 -3
- package/skills/monkeys-agent-work/SKILL.md +21 -0
- package/skills/monkeys-agent-work/agents/openai.yaml +4 -0
- package/skills/monkeys-auth/SKILL.md +21 -0
- package/skills/monkeys-auth/agents/openai.yaml +4 -0
- package/skills/monkeys-data/SKILL.md +31 -0
- package/skills/monkeys-data/agents/openai.yaml +4 -0
- package/skills/monkeys-openapi/SKILL.md +19 -0
- package/skills/monkeys-openapi/agents/openai.yaml +4 -0
- package/skills/monkeys-shared/SKILL.md +31 -0
- package/skills/monkeys-shared/agents/openai.yaml +4 -0
- package/skills/{monkeys → monkeys-shared}/references/compatibility.md +1 -1
- package/skills/monkeys-system-config/SKILL.md +20 -0
- package/skills/monkeys-system-config/agents/openai.yaml +4 -0
- package/skills/monkeys-workflow/SKILL.md +21 -0
- package/skills/monkeys-workflow/agents/openai.yaml +4 -0
- package/skills/monkeys/SKILL.md +0 -60
- package/skills/monkeys/agents/openai.yaml +0 -4
- /package/skills/{monkeys → monkeys-agent-work}/references/agent-work.md +0 -0
- /package/skills/{monkeys → monkeys-auth}/references/authentication.md +0 -0
- /package/skills/{monkeys → monkeys-data}/references/data-governance.md +0 -0
- /package/skills/{monkeys → monkeys-data}/references/data-perspective.md +0 -0
- /package/skills/{monkeys → monkeys-data}/references/data-read.md +0 -0
- /package/skills/{monkeys → monkeys-data}/references/data-transfer.md +0 -0
- /package/skills/{monkeys → monkeys-data}/references/data-write.md +0 -0
- /package/skills/{monkeys → monkeys-data}/references/ontology-feature-search.md +0 -0
- /package/skills/{monkeys → monkeys-data}/references/ontology-model.md +0 -0
- /package/skills/{monkeys → monkeys-openapi}/references/fallback.md +0 -0
- /package/skills/{monkeys → monkeys-shared}/references/platform-overview.md +0 -0
- /package/skills/{monkeys → monkeys-shared}/references/safety-errors.md +0 -0
- /package/skills/{monkeys → monkeys-system-config}/references/system-config.md +0 -0
- /package/skills/{monkeys → monkeys-workflow}/references/workflow-execution-files.md +0 -0
package/dist/commands/update.js
CHANGED
|
@@ -1,24 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { LocalCommand, localOutputFlag } from '../config/local-command.js';
|
|
3
3
|
import { asCliError, CliError, EXIT_CODES } from '../errors/cli-error.js';
|
|
4
|
-
import { renderResult } from '../output/render.js';
|
|
5
|
-
import { redactValue } from '../security/redact.js';
|
|
6
4
|
import { clearPendingUpdateNotice, fetchLatestVersion, isNewerVersion } from '../update/notifier.js';
|
|
7
5
|
import { installCliAndSkill, UpdateProcessError } from '../update/updater.js';
|
|
8
|
-
export default class Update extends
|
|
9
|
-
static description = 'Check or install the latest version of monkeys CLI and synchronize
|
|
10
|
-
static examples = ['<%= config.bin %> update --check --
|
|
6
|
+
export default class Update extends LocalCommand {
|
|
7
|
+
static description = 'Check or install the latest version of monkeys CLI and synchronize all official Skills with the same version.';
|
|
8
|
+
static examples = ['<%= config.bin %> update --check', '<%= config.bin %> update --dry-run', '<%= config.bin %> update'];
|
|
11
9
|
static flags = {
|
|
12
|
-
check: Flags.boolean({ default: false, summary: 'Only
|
|
13
|
-
force: Flags.boolean({ default: false, summary: 'Reinstall CLI and
|
|
14
|
-
output:
|
|
10
|
+
check: Flags.boolean({ default: false, summary: 'Only check for updates; do not install anything' }),
|
|
11
|
+
force: Flags.boolean({ default: false, summary: 'Reinstall CLI and Skills even if already on the latest version' }),
|
|
12
|
+
output: localOutputFlag,
|
|
15
13
|
};
|
|
16
14
|
async run() {
|
|
17
15
|
clearPendingUpdateNotice();
|
|
18
16
|
const { flags } = await this.parse(Update);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
try {
|
|
17
|
+
await this.emit('update', flags.output, async () => {
|
|
18
|
+
const currentVersion = this.config.version;
|
|
22
19
|
let latestVersion;
|
|
23
20
|
try {
|
|
24
21
|
latestVersion = await fetchLatestVersion();
|
|
@@ -28,13 +25,13 @@ export default class Update extends Command {
|
|
|
28
25
|
cause: error,
|
|
29
26
|
code: 'UPDATE_CHECK_FAILED',
|
|
30
27
|
exitCode: EXIT_CODES.network,
|
|
31
|
-
recovery: ['Check network or npm registry access and try monkeys update --check again.'],
|
|
28
|
+
recovery: ['Check network or npm registry access and try `monkeys update --check` again.'],
|
|
32
29
|
retryable: true,
|
|
33
30
|
});
|
|
34
31
|
}
|
|
35
32
|
const updateAvailable = isNewerVersion(latestVersion, currentVersion);
|
|
36
|
-
if (flags.check) {
|
|
37
|
-
|
|
33
|
+
if (flags.check || (!updateAvailable && !flags.force)) {
|
|
34
|
+
return {
|
|
38
35
|
action: updateAvailable ? 'update_available' : 'already_up_to_date',
|
|
39
36
|
autoUpdate: true,
|
|
40
37
|
command: 'monkeys update',
|
|
@@ -42,72 +39,36 @@ export default class Update extends Command {
|
|
|
42
39
|
latestVersion,
|
|
43
40
|
previousVersion: currentVersion,
|
|
44
41
|
};
|
|
45
|
-
this.printResult(result, output);
|
|
46
|
-
return;
|
|
47
42
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
43
|
+
try {
|
|
44
|
+
const installed = await installCliAndSkill(latestVersion);
|
|
45
|
+
return {
|
|
46
|
+
action: 'updated',
|
|
51
47
|
autoUpdate: true,
|
|
52
48
|
command: 'monkeys update',
|
|
53
|
-
currentVersion,
|
|
49
|
+
currentVersion: installed.currentVersion,
|
|
54
50
|
latestVersion,
|
|
55
51
|
previousVersion: currentVersion,
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
skillsAction: installed.skillsAction,
|
|
53
|
+
...(installed.skillsWarning ? { skillsWarning: installed.skillsWarning } : {}),
|
|
54
|
+
};
|
|
58
55
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
this.log(renderResult(redactValue(errorResult(cliError.toErrorDetail(), { command: 'update' })), output));
|
|
76
|
-
this.exit(cliError.exitCode);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
printResult(result, output) {
|
|
80
|
-
if (output === 'json') {
|
|
81
|
-
this.log(renderResult(successResult(result, { command: 'update' }), output));
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
switch (result.action) {
|
|
85
|
-
case 'already_up_to_date':
|
|
86
|
-
this.log(`✓ monkeys ${result.currentVersion} is already up to date.`);
|
|
87
|
-
break;
|
|
88
|
-
case 'update_available':
|
|
89
|
-
this.log(`Update available: ${result.currentVersion} → ${result.latestVersion}\n\nRun \`${result.command}\` to install.`);
|
|
90
|
-
break;
|
|
91
|
-
case 'updated':
|
|
92
|
-
this.log(`✓ Successfully updated monkeys from ${result.previousVersion} to ${result.currentVersion}.`);
|
|
93
|
-
this.log(result.skillsAction === 'synced' ? '✓ Monkeys Skill updated.' : `⚠ ${result.skillsWarning ?? 'Monkeys Skill update failed.'}`);
|
|
94
|
-
break;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
toCliError(error) {
|
|
98
|
-
if (error instanceof UpdateProcessError) {
|
|
99
|
-
return new CliError(error.message, {
|
|
100
|
-
cause: error,
|
|
101
|
-
code: 'UPDATE_FAILED',
|
|
102
|
-
exitCode: EXIT_CODES.internal,
|
|
103
|
-
recovery: [
|
|
104
|
-
'Check npm/npx, network, and global installation directory permissions and try again.',
|
|
105
|
-
'Only retry the Skill to run monkeys update --force.',
|
|
106
|
-
],
|
|
107
|
-
safeDetails: { command: error.command, detail: error.detail },
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
return asCliError(error);
|
|
56
|
+
catch (error) {
|
|
57
|
+
if (error instanceof UpdateProcessError) {
|
|
58
|
+
throw new CliError(error.message, {
|
|
59
|
+
cause: error,
|
|
60
|
+
code: 'UPDATE_FAILED',
|
|
61
|
+
exitCode: EXIT_CODES.internal,
|
|
62
|
+
recovery: [
|
|
63
|
+
'Check npm/npx, network, and global installation permissions, then try again.',
|
|
64
|
+
'Use `monkeys skills sync` to retry only Skills.',
|
|
65
|
+
],
|
|
66
|
+
safeDetails: { command: error.command, detail: error.detail },
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
throw asCliError(error);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
111
72
|
}
|
|
112
73
|
}
|
|
113
74
|
//# sourceMappingURL=update.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/commands/version/check.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAmB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/commands/version/check.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAmB,MAAM,+BAA+B,CAAC;AAe9E,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAY;IACpD,OAAgB,WAAW,SAAoG;IAC/H,OAAgB,KAAK;QACnB,MAAM;QACN,WAAW;MACX;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAmDzB;CACF"}
|
|
@@ -3,16 +3,18 @@ import { dirname, resolve } from 'node:path';
|
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
4
|
import { Flags } from '@oclif/core';
|
|
5
5
|
import { LocalCommand, localOutputFlag } from '../../config/local-command.js';
|
|
6
|
-
import { BUNDLED_SKILL_MINIMUM_CLI_VERSION, COMMAND_SCHEMA_MAJOR, isCliSkillCompatible } from '../../contracts/version.js';
|
|
6
|
+
import { BUNDLED_SKILL_MINIMUM_CLI_VERSION, BUNDLED_SKILL_NAMES, COMMAND_SCHEMA_MAJOR, isCliSkillCompatible, } from '../../contracts/version.js';
|
|
7
7
|
import { CliError, EXIT_CODES } from '../../errors/cli-error.js';
|
|
8
|
+
import { listBundledSkills } from '../../skills/content.js';
|
|
9
|
+
import { skillsStatus } from '../../skills/state.js';
|
|
8
10
|
function bundledSkillDirectory() {
|
|
9
|
-
return resolve(dirname(fileURLToPath(import.meta.url)), '../../../skills/monkeys');
|
|
11
|
+
return resolve(dirname(fileURLToPath(import.meta.url)), '../../../skills/monkeys-shared');
|
|
10
12
|
}
|
|
11
13
|
export default class VersionCheck extends LocalCommand {
|
|
12
|
-
static description = 'Check
|
|
14
|
+
static description = 'Check CLI, command schema, embedded Skills, and installed Skill synchronization compatibility.';
|
|
13
15
|
static flags = {
|
|
14
16
|
output: localOutputFlag,
|
|
15
|
-
'skill-dir': Flags.string({ summary: 'Skill directory to check; defaults to monkeys
|
|
17
|
+
'skill-dir': Flags.string({ summary: 'Shared Skill directory to check; defaults to monkeys-shared embedded in the CLI' }),
|
|
16
18
|
};
|
|
17
19
|
async run() {
|
|
18
20
|
const { flags } = await this.parse(VersionCheck);
|
|
@@ -55,6 +57,7 @@ export default class VersionCheck extends LocalCommand {
|
|
|
55
57
|
});
|
|
56
58
|
}
|
|
57
59
|
return {
|
|
60
|
+
bundledSkillNames: BUNDLED_SKILL_NAMES,
|
|
58
61
|
cliVersion: this.config.version,
|
|
59
62
|
commandSchemaMajor: COMMAND_SCHEMA_MAJOR,
|
|
60
63
|
compatible: true,
|
|
@@ -62,6 +65,7 @@ export default class VersionCheck extends LocalCommand {
|
|
|
62
65
|
skillDirectory,
|
|
63
66
|
skillMinimumCliVersion: minimumCliVersion,
|
|
64
67
|
skillSchemaMajor,
|
|
68
|
+
synchronization: await skillsStatus(this.config.version, await listBundledSkills()),
|
|
65
69
|
};
|
|
66
70
|
});
|
|
67
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/commands/version/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/commands/version/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export default class VersionShow extends
|
|
1
|
+
import { LocalCommand } from '../../config/local-command.js';
|
|
2
|
+
export default class VersionShow extends LocalCommand {
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../src/commands/version/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../src/commands/version/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmB,MAAM,+BAA+B,CAAC;AAG9E,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAAY;IACnD,OAAgB,WAAW,SAAsD;IACjF,OAAgB,QAAQ,WAAyD;IACjF,OAAgB,KAAK;QAAK,MAAM;MAAoB;IAE9C,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CASzB;CACF"}
|
|
@@ -1,23 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import { renderResult } from '../../output/render.js';
|
|
5
|
-
export default class VersionShow extends Command {
|
|
1
|
+
import { LocalCommand, localOutputFlag } from '../../config/local-command.js';
|
|
2
|
+
import { BUNDLED_SKILL_MINIMUM_CLI_VERSION, BUNDLED_SKILL_NAMES, COMMAND_SCHEMA_MAJOR } from '../../contracts/version.js';
|
|
3
|
+
export default class VersionShow extends LocalCommand {
|
|
6
4
|
static description = 'Shows CLI, Node.js, and command schema versions.';
|
|
7
5
|
static examples = ['<%= config.bin %> <%= command.id %> --output json'];
|
|
8
|
-
static flags = {
|
|
9
|
-
output: Flags.string({ default: 'text', options: ['json', 'text'], summary: 'Output format' }),
|
|
10
|
-
};
|
|
6
|
+
static flags = { output: localOutputFlag };
|
|
11
7
|
async run() {
|
|
12
8
|
const { flags } = await this.parse(VersionShow);
|
|
13
|
-
|
|
9
|
+
await this.emit('version show', flags.output, async () => ({
|
|
14
10
|
cliVersion: this.config.version,
|
|
15
11
|
commandSchemaMajor: COMMAND_SCHEMA_MAJOR,
|
|
16
12
|
nodeVersion: process.version,
|
|
17
13
|
platform: `${process.platform}-${process.arch}`,
|
|
18
|
-
|
|
19
|
-
};
|
|
20
|
-
this.log(renderResult(successResult(data, { command: 'version show' }), flags.output));
|
|
14
|
+
skills: { minimumCliVersion: BUNDLED_SKILL_MINIMUM_CLI_VERSION, names: BUNDLED_SKILL_NAMES },
|
|
15
|
+
}));
|
|
21
16
|
}
|
|
22
17
|
}
|
|
23
18
|
//# sourceMappingURL=show.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/commands/version/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/commands/version/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,iCAAiC,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAE1H,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAAY;IACnD,MAAM,CAAU,WAAW,GAAG,kDAAkD,CAAC;IACjF,MAAM,CAAU,QAAQ,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACjF,MAAM,CAAU,KAAK,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAEpD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACzD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC/B,kBAAkB,EAAE,oBAAoB;YACxC,WAAW,EAAE,OAAO,CAAC,OAAO;YAC5B,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE;YAC/C,MAAM,EAAE,EAAE,iBAAiB,EAAE,iCAAiC,EAAE,KAAK,EAAE,mBAAmB,EAAE;SAC7F,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
2
|
export declare const localOutputFlag: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
3
3
|
export declare abstract class LocalCommand extends Command {
|
|
4
|
-
|
|
4
|
+
static baseFlags: {
|
|
5
|
+
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
6
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
jq: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
};
|
|
10
|
+
protected emit<T>(command: string, output: string, operation: () => Promise<T>, options?: {
|
|
11
|
+
redact?: boolean;
|
|
12
|
+
}): Promise<void>;
|
|
5
13
|
}
|
|
6
14
|
//# sourceMappingURL=local-command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-command.d.ts","sourceRoot":"","sources":["../../src/config/local-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"local-command.d.ts","sourceRoot":"","sources":["../../src/config/local-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAS7C,eAAO,MAAM,eAAe,qGAI1B,CAAC;AAeH,8BAAsB,YAAa,SAAQ,OAAO;IAChD,OAAgB,SAAS;QACvB,SAAS;QACT,MAAM;QACN,EAAE;QACF,GAAG;MACH;IAEF,UAAgB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBvI;CACF"}
|
|
@@ -1,17 +1,56 @@
|
|
|
1
1
|
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { genericDryRunPreview, getCommandMetadata } from '../command/metadata.js';
|
|
2
3
|
import { errorResult, successResult } from '../contracts/result.js';
|
|
3
4
|
import { asCliError } from '../errors/cli-error.js';
|
|
4
|
-
import {
|
|
5
|
+
import { OUTPUT_FORMATS, renderCommandResult } from '../output/render.js';
|
|
6
|
+
import { assertConfirmation } from '../policy/risk.js';
|
|
5
7
|
import { redactValue } from '../security/redact.js';
|
|
6
|
-
export const localOutputFlag = Flags.string({
|
|
8
|
+
export const localOutputFlag = Flags.string({
|
|
9
|
+
default: 'json',
|
|
10
|
+
options: [...OUTPUT_FORMATS],
|
|
11
|
+
summary: 'Output format (deprecated alias for --format)',
|
|
12
|
+
});
|
|
13
|
+
function optionValue(argv, name, short) {
|
|
14
|
+
for (let index = 0; index < argv.length; index += 1) {
|
|
15
|
+
const value = argv[index];
|
|
16
|
+
if (value === `--${name}` || (short && value === `-${short}`))
|
|
17
|
+
return argv[index + 1];
|
|
18
|
+
if (value?.startsWith(`--${name}=`))
|
|
19
|
+
return value.slice(name.length + 3);
|
|
20
|
+
}
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
function hasFlag(argv, name, short) {
|
|
24
|
+
return argv.some((value) => value === `--${name}` || value.startsWith(`--${name}=`) || (short ? value === `-${short}` : false));
|
|
25
|
+
}
|
|
7
26
|
export class LocalCommand extends Command {
|
|
8
|
-
|
|
27
|
+
static baseFlags = {
|
|
28
|
+
'dry-run': Flags.boolean({ default: false, summary: 'Preview the operation without applying changes' }),
|
|
29
|
+
format: Flags.string({ options: [...OUTPUT_FORMATS], summary: 'Output format' }),
|
|
30
|
+
jq: Flags.string({ char: 'q', summary: 'Filter the JSON result with a jq expression' }),
|
|
31
|
+
yes: Flags.boolean({ char: 'y', default: false, summary: 'Confirm destructive or privileged operations' }),
|
|
32
|
+
};
|
|
33
|
+
async emit(command, output, operation, options = {}) {
|
|
34
|
+
const format = (optionValue(this.argv, 'format') ?? output);
|
|
35
|
+
const jq = optionValue(this.argv, 'jq', 'q');
|
|
9
36
|
try {
|
|
10
|
-
|
|
37
|
+
const metadata = getCommandMetadata(command);
|
|
38
|
+
const dryRun = hasFlag(this.argv, 'dry-run');
|
|
39
|
+
if (!dryRun && metadata.confirmationEnforcement === 'generic') {
|
|
40
|
+
assertConfirmation({
|
|
41
|
+
interactive: Boolean(process.stdin.isTTY),
|
|
42
|
+
risk: metadata.confirmationRequired ? metadata.risk : 'read',
|
|
43
|
+
yes: hasFlag(this.argv, 'yes', 'y'),
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
const data = dryRun && metadata.dryRun === 'generic' ? genericDryRunPreview(command) : await operation();
|
|
47
|
+
const result = (options.redact === false ? successResult(data, { command }) : redactValue(successResult(data, { command })));
|
|
48
|
+
this.log(await renderCommandResult(result, { format, ...(jq ? { jq } : {}) }));
|
|
11
49
|
}
|
|
12
50
|
catch (error) {
|
|
13
51
|
const cliError = asCliError(error);
|
|
14
|
-
|
|
52
|
+
const result = redactValue(errorResult(cliError.toErrorDetail(), { command }));
|
|
53
|
+
this.log(await renderCommandResult(result, { format, ...(jq ? { jq } : {}) }));
|
|
15
54
|
this.exit(cliError.exitCode);
|
|
16
55
|
}
|
|
17
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-command.js","sourceRoot":"","sources":["../../src/config/local-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"local-command.js","sourceRoot":"","sources":["../../src/config/local-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const COMMAND_SCHEMA_MAJOR: 2;
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const BUNDLED_SKILL_NAMES: readonly ['monkeys-shared', 'monkeys-auth', 'monkeys-workflow', 'monkeys-agent-work', 'monkeys-data', 'monkeys-system-config', 'monkeys-openapi'];
|
|
3
3
|
export declare const BUNDLED_SKILL_MINIMUM_CLI_VERSION: '0.11.0';
|
|
4
4
|
export declare function isCliSkillCompatible(cliVersion: string, minimumCliVersion: string, skillSchemaMajor: number): boolean;
|
|
5
5
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/contracts/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,EAAG,CAAU,CAAC;AAC/C,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/contracts/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,EAAG,CAAU,CAAC;AAC/C,eAAO,MAAM,mBAAmB,YAC9B,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,iBAAiB,CACT,CAAC;AACX,eAAO,MAAM,iCAAiC,EAAG,QAAiB,CAAC;AAOnE,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CASrH"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
export const COMMAND_SCHEMA_MAJOR = 2;
|
|
2
|
-
export const
|
|
2
|
+
export const BUNDLED_SKILL_NAMES = [
|
|
3
|
+
'monkeys-shared',
|
|
4
|
+
'monkeys-auth',
|
|
5
|
+
'monkeys-workflow',
|
|
6
|
+
'monkeys-agent-work',
|
|
7
|
+
'monkeys-data',
|
|
8
|
+
'monkeys-system-config',
|
|
9
|
+
'monkeys-openapi',
|
|
10
|
+
];
|
|
3
11
|
export const BUNDLED_SKILL_MINIMUM_CLI_VERSION = '0.11.0';
|
|
4
12
|
function semverTuple(value) {
|
|
5
13
|
const match = /^v?(\d+)\.(\d+)\.(\d+)(?:[-+].*)?$/.exec(value.trim());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/contracts/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAU,CAAC;AAC/C,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/contracts/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAU,CAAC;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,gBAAgB;IAChB,cAAc;IACd,kBAAkB;IAClB,oBAAoB;IACpB,cAAc;IACd,uBAAuB;IACvB,iBAAiB;CACT,CAAC;AACX,MAAM,CAAC,MAAM,iCAAiC,GAAG,QAAiB,CAAC;AAEnE,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,KAAK,GAAG,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAAkB,EAAE,iBAAyB,EAAE,gBAAwB;IAC1G,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAC/C,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,gBAAgB,KAAK,oBAAoB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACzG,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACnD,IAAI,GAAG,CAAC,KAAK,CAAE,GAAG,OAAO,CAAC,KAAK,CAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,GAAG,CAAC,KAAK,CAAE,GAAG,OAAO,CAAC,KAAK,CAAE;YAAE,OAAO,KAAK,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ResolvedContext } from '../context/resolver.js';
|
|
2
|
+
import type { HttpClient } from '../transport/http-client.js';
|
|
3
|
+
import { type Page, type PaginationInput } from './pagination.js';
|
|
4
|
+
type JsonObject = Record<string, unknown>;
|
|
5
|
+
export interface DiscoveryRuntime {
|
|
6
|
+
client: HttpClient;
|
|
7
|
+
context: Readonly<ResolvedContext>;
|
|
8
|
+
}
|
|
9
|
+
export declare function listTeams(runtime: DiscoveryRuntime, options: PaginationInput & {
|
|
10
|
+
includeBuiltin: boolean;
|
|
11
|
+
keyword?: string;
|
|
12
|
+
}): Promise<Page<JsonObject> & {
|
|
13
|
+
surface: 'kernel' | 'studio';
|
|
14
|
+
}>;
|
|
15
|
+
export declare function getTeam(runtime: DiscoveryRuntime, id: string): Promise<{
|
|
16
|
+
item: JsonObject;
|
|
17
|
+
surface: 'kernel' | 'studio';
|
|
18
|
+
}>;
|
|
19
|
+
export declare function listIdentities(runtime: DiscoveryRuntime, options: PaginationInput & {
|
|
20
|
+
keyword?: string;
|
|
21
|
+
scope?: string;
|
|
22
|
+
userType?: string;
|
|
23
|
+
}): Promise<Page<JsonObject> & {
|
|
24
|
+
surface: 'kernel' | 'studio';
|
|
25
|
+
}>;
|
|
26
|
+
export declare function getIdentity(runtime: DiscoveryRuntime, id: string): Promise<{
|
|
27
|
+
item: JsonObject;
|
|
28
|
+
surface: 'kernel' | 'studio';
|
|
29
|
+
}>;
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/discovery/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAgB,KAAK,IAAI,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEhF,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA8C1C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;CACpC;AAED,wBAAsB,SAAS,CAC7B,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,eAAe,GAAG;IAAE,cAAc,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACvE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG;IAAE,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAAE,CAAC,CAwB9D;AAED,wBAAsB,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAAE,CAAC,CAUhI;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,eAAe,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACjF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG;IAAE,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAAE,CAAC,CA2B9D;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAAE,CAAC,CASpI"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { resolveAuthSurface } from '../credential/runtime.js';
|
|
2
|
+
import { CliError, EXIT_CODES } from '../errors/cli-error.js';
|
|
3
|
+
import { unwrapServerData } from '../semantic/runtime.js';
|
|
4
|
+
import { collectPages } from './pagination.js';
|
|
5
|
+
function objectValue(value) {
|
|
6
|
+
return value && typeof value === 'object' && !Array.isArray(value) ? value : {};
|
|
7
|
+
}
|
|
8
|
+
function itemArray(value) {
|
|
9
|
+
if (Array.isArray(value))
|
|
10
|
+
return value.filter((item) => Boolean(item) && typeof item === 'object' && !Array.isArray(item));
|
|
11
|
+
const object = objectValue(value);
|
|
12
|
+
for (const key of ['items', 'list', 'data']) {
|
|
13
|
+
if (Array.isArray(object[key]))
|
|
14
|
+
return itemArray(object[key]);
|
|
15
|
+
}
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
function numeric(value, fallback) {
|
|
19
|
+
const parsed = Number(value);
|
|
20
|
+
return Number.isFinite(parsed) && parsed >= 0 ? parsed : fallback;
|
|
21
|
+
}
|
|
22
|
+
function listPage(value, fallbackPage, fallbackPageSize) {
|
|
23
|
+
const unwrapped = unwrapServerData(value);
|
|
24
|
+
const envelope = objectValue(value);
|
|
25
|
+
const object = Object.keys(objectValue(unwrapped)).length > 0 && !Array.isArray(unwrapped) ? objectValue(unwrapped) : envelope;
|
|
26
|
+
const items = itemArray(unwrapped);
|
|
27
|
+
return {
|
|
28
|
+
items,
|
|
29
|
+
page: numeric(envelope.page ?? object.page, fallbackPage),
|
|
30
|
+
pageSize: numeric(envelope.pageSize ?? envelope.limit ?? object.pageSize ?? object.limit, fallbackPageSize),
|
|
31
|
+
total: numeric(envelope.total ?? envelope.totalCount ?? object.total ?? object.totalCount, items.length),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function requireItem(value, kind, id) {
|
|
35
|
+
const item = unwrapServerData(value);
|
|
36
|
+
if (!item || typeof item !== 'object' || Array.isArray(item)) {
|
|
37
|
+
throw new CliError(`${kind} was not found.`, {
|
|
38
|
+
code: `${kind.toUpperCase()}_NOT_FOUND`,
|
|
39
|
+
exitCode: EXIT_CODES.api,
|
|
40
|
+
safeDetails: { id },
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
return item;
|
|
44
|
+
}
|
|
45
|
+
export async function listTeams(runtime, options) {
|
|
46
|
+
const surface = resolveAuthSurface(runtime.context);
|
|
47
|
+
if (surface === 'studio') {
|
|
48
|
+
const response = await runtime.client.request({ method: 'GET', path: '/api/teams' });
|
|
49
|
+
const allItems = itemArray(unwrapServerData(response.data));
|
|
50
|
+
const keyword = options.keyword?.trim().toLowerCase();
|
|
51
|
+
const items = keyword ? allItems.filter((item) => JSON.stringify(item).toLowerCase().includes(keyword)) : allItems;
|
|
52
|
+
return { items, page: 1, pageSize: items.length, surface, total: items.length };
|
|
53
|
+
}
|
|
54
|
+
const page = await collectPages(options, async (pageNumber) => {
|
|
55
|
+
const response = await runtime.client.request({
|
|
56
|
+
method: 'GET',
|
|
57
|
+
path: '/api/kernel/teams',
|
|
58
|
+
query: {
|
|
59
|
+
includeBuiltin: options.includeBuiltin,
|
|
60
|
+
...(options.keyword ? { keyword: options.keyword } : {}),
|
|
61
|
+
page: pageNumber,
|
|
62
|
+
pageSize: options.pageSize,
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
return listPage(response.data, pageNumber, options.pageSize);
|
|
66
|
+
});
|
|
67
|
+
return { ...page, surface };
|
|
68
|
+
}
|
|
69
|
+
export async function getTeam(runtime, id) {
|
|
70
|
+
const surface = resolveAuthSurface(runtime.context);
|
|
71
|
+
if (surface === 'kernel') {
|
|
72
|
+
const response = await runtime.client.request({ method: 'GET', path: `/api/kernel/teams/${encodeURIComponent(id)}` });
|
|
73
|
+
return { item: requireItem(response.data, 'team', id), surface };
|
|
74
|
+
}
|
|
75
|
+
const teams = await listTeams(runtime, { includeBuiltin: true, page: 1, pageAll: false, pageLimit: 1, pageSize: 100 });
|
|
76
|
+
const item = teams.items.find((candidate) => String(candidate.id ?? '') === id);
|
|
77
|
+
if (!item)
|
|
78
|
+
return { item: requireItem(undefined, 'team', id), surface };
|
|
79
|
+
return { item, surface };
|
|
80
|
+
}
|
|
81
|
+
export async function listIdentities(runtime, options) {
|
|
82
|
+
const surface = resolveAuthSurface(runtime.context);
|
|
83
|
+
if (surface === 'studio') {
|
|
84
|
+
const response = await runtime.client.request({
|
|
85
|
+
method: 'GET',
|
|
86
|
+
path: '/api/users/share-targets',
|
|
87
|
+
query: { ...(options.keyword ? { keyword: options.keyword } : {}), limit: options.pageSize },
|
|
88
|
+
});
|
|
89
|
+
const items = itemArray(unwrapServerData(response.data));
|
|
90
|
+
return { items, page: 1, pageSize: options.pageSize, surface, total: items.length };
|
|
91
|
+
}
|
|
92
|
+
const page = await collectPages(options, async (pageNumber) => {
|
|
93
|
+
const response = await runtime.client.request({
|
|
94
|
+
method: 'GET',
|
|
95
|
+
path: '/api/kernel/users',
|
|
96
|
+
query: {
|
|
97
|
+
...(options.keyword ? { keyword: options.keyword } : {}),
|
|
98
|
+
page: pageNumber,
|
|
99
|
+
pageSize: options.pageSize,
|
|
100
|
+
...(options.scope ? { scope: options.scope } : {}),
|
|
101
|
+
...(options.userType ? { userType: options.userType } : {}),
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
return listPage(response.data, pageNumber, options.pageSize);
|
|
105
|
+
});
|
|
106
|
+
return { ...page, surface };
|
|
107
|
+
}
|
|
108
|
+
export async function getIdentity(runtime, id) {
|
|
109
|
+
const surface = resolveAuthSurface(runtime.context);
|
|
110
|
+
const response = surface === 'kernel'
|
|
111
|
+
? await runtime.client.request({ method: 'GET', path: `/api/kernel/users/${encodeURIComponent(id)}` })
|
|
112
|
+
: await runtime.client.request({ body: { userIds: [id] }, method: 'POST', path: '/api/users/brief' });
|
|
113
|
+
const value = unwrapServerData(response.data);
|
|
114
|
+
const items = itemArray(value);
|
|
115
|
+
return { item: requireItem(surface === 'studio' ? items[0] : value, 'identity', id), surface };
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/discovery/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const paginationFlags: {
|
|
2
|
+
page: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
3
|
+
'page-all': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
4
|
+
'page-limit': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
5
|
+
'page-size': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
6
|
+
};
|
|
7
|
+
export interface PaginationInput {
|
|
8
|
+
page: number;
|
|
9
|
+
pageAll: boolean;
|
|
10
|
+
pageLimit: number;
|
|
11
|
+
pageSize: number;
|
|
12
|
+
}
|
|
13
|
+
export interface Page<T> {
|
|
14
|
+
items: T[];
|
|
15
|
+
page: number;
|
|
16
|
+
pageSize: number;
|
|
17
|
+
total: number;
|
|
18
|
+
}
|
|
19
|
+
export declare function collectPages<T>(input: PaginationInput, fetchPage: (page: number) => Promise<Page<T>>): Promise<Page<T>>;
|
|
20
|
+
//# sourceMappingURL=pagination.d.ts.map
|