@inf-monkeys-tech/monkeys-cli 0.10.3 → 0.10.5
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 +23 -0
- package/README.zh.md +23 -0
- package/bin/run.js +39 -6
- package/bin/update-cache.js +7 -0
- package/dist/api/operation-policy.d.ts +1 -1
- package/dist/api/operation-policy.d.ts.map +1 -1
- package/dist/api/operation-policy.js.map +1 -1
- package/dist/commands/auth/login.d.ts +6 -1
- package/dist/commands/auth/login.d.ts.map +1 -1
- package/dist/commands/auth/login.js +26 -9
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/profile/add.d.ts.map +1 -1
- package/dist/commands/profile/add.js +1 -1
- package/dist/commands/profile/add.js.map +1 -1
- package/dist/commands/profile/update.d.ts.map +1 -1
- package/dist/commands/profile/update.js +1 -1
- package/dist/commands/profile/update.js.map +1 -1
- package/dist/commands/update.d.ts +14 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +110 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/workflow/create.js +1 -1
- package/dist/commands/workflow/create.js.map +1 -1
- package/dist/commands/workflow/delete.js +1 -1
- package/dist/commands/workflow/delete.js.map +1 -1
- package/dist/commands/workflow/import.js +1 -1
- package/dist/commands/workflow/import.js.map +1 -1
- package/dist/commands/workflow/update.js +1 -1
- package/dist/commands/workflow/update.js.map +1 -1
- package/dist/config/registry.d.ts +2 -2
- package/dist/config/registry.d.ts.map +1 -1
- package/dist/config/registry.js.map +1 -1
- package/dist/config/schema.d.ts +13 -2
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +2 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/context/resolver.d.ts +2 -3
- package/dist/context/resolver.d.ts.map +1 -1
- package/dist/context/resolver.js.map +1 -1
- package/dist/contracts/result.d.ts +6 -0
- package/dist/contracts/result.d.ts.map +1 -1
- package/dist/contracts/result.js +7 -2
- package/dist/contracts/result.js.map +1 -1
- package/dist/credential/auth-service.d.ts +1 -2
- package/dist/credential/auth-service.d.ts.map +1 -1
- package/dist/credential/auth-service.js +4 -6
- package/dist/credential/auth-service.js.map +1 -1
- package/dist/credential/runtime.d.ts +1 -1
- package/dist/credential/runtime.d.ts.map +1 -1
- package/dist/credential/runtime.js +1 -1
- package/dist/credential/runtime.js.map +1 -1
- package/dist/data/command.d.ts +1 -1
- package/dist/openapi/types.d.ts +8 -8
- package/dist/openapi/types.d.ts.map +1 -1
- package/dist/openapi/types.js +1 -1
- package/dist/openapi/types.js.map +1 -1
- package/dist/output/render.d.ts.map +1 -1
- package/dist/output/render.js +7 -2
- package/dist/output/render.js.map +1 -1
- package/dist/transport/types.d.ts +1 -1
- package/dist/transport/types.d.ts.map +1 -1
- package/dist/update/notifier.d.ts +43 -0
- package/dist/update/notifier.d.ts.map +1 -0
- package/dist/update/notifier.js +242 -0
- package/dist/update/notifier.js.map +1 -0
- package/dist/update/updater.d.ts +26 -0
- package/dist/update/updater.d.ts.map +1 -0
- package/dist/update/updater.js +91 -0
- package/dist/update/updater.js.map +1 -0
- package/oclif.manifest.json +62 -5
- package/package.json +5 -4
- package/skills/monkeys/SKILL.md +1 -1
- package/skills/monkeys/references/compatibility.md +2 -0
- package/skills/monkeys/references/data-governance.md +1 -1
- package/skills/monkeys/references/workflow-execution-files.md +1 -1
package/README.md
CHANGED
|
@@ -165,6 +165,29 @@ monkeys profile use --name <profile-name> --output json
|
|
|
165
165
|
monkeys profile test --name <profile-name> --output json
|
|
166
166
|
```
|
|
167
167
|
|
|
168
|
+
## Updates
|
|
169
|
+
|
|
170
|
+
Every normal CLI invocation reads a local update cache. When npm `latest` is newer, JSON output includes `_notice.update`, while text output prints the exact recovery command:
|
|
171
|
+
|
|
172
|
+
```text
|
|
173
|
+
Update available: 0.10.2 → 0.10.3. Run `monkeys update` to install.
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
The cache is refreshed from npm in a detached background process at most once every 24 hours, so update discovery does not delay the requested command. CI environments, non-release builds, and processes with `MONKEYS_CLI_NO_UPDATE_NOTIFIER=1` skip the notifier.
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# Check only; makes no installation changes
|
|
180
|
+
monkeys update --check --output json
|
|
181
|
+
|
|
182
|
+
# Upgrade the global npm package and sync the matching bundled Skill
|
|
183
|
+
monkeys update
|
|
184
|
+
|
|
185
|
+
# Reinstall the current latest CLI and retry Skill synchronization
|
|
186
|
+
monkeys update --force
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Running bare `monkeys` in an interactive terminal also offers an optional `[y/N]` upgrade prompt. The update command always resolves the target version live from npm instead of trusting the cached notice.
|
|
190
|
+
|
|
168
191
|
## Command System
|
|
169
192
|
|
|
170
193
|
monkeys-cli provides three levels of access, from stable domain operations to the low-level API actually published by a deployment.
|
package/README.zh.md
CHANGED
|
@@ -165,6 +165,29 @@ monkeys profile use --name <profile-name> --output json
|
|
|
165
165
|
monkeys profile test --name <profile-name> --output json
|
|
166
166
|
```
|
|
167
167
|
|
|
168
|
+
## 版本更新
|
|
169
|
+
|
|
170
|
+
每次正常调用 CLI 都会读取本地更新缓存。npm `latest` 高于当前版本时,JSON 输出会包含 `_notice.update`,Text 输出会直接提示准确的恢复命令:
|
|
171
|
+
|
|
172
|
+
```text
|
|
173
|
+
Update available: 0.10.2 → 0.10.3. Run `monkeys update` to install.
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
CLI 最多每 24 小时在独立后台进程中刷新一次 npm 缓存,不会因版本查询拖慢当前命令。CI、非发布版本以及设置了 `MONKEYS_CLI_NO_UPDATE_NOTIFIER=1` 的进程不会检查更新。
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# 只检查,不执行安装
|
|
180
|
+
monkeys update --check --output json
|
|
181
|
+
|
|
182
|
+
# 升级全局 npm 包,并同步新包中匹配版本的 Skill
|
|
183
|
+
monkeys update
|
|
184
|
+
|
|
185
|
+
# 强制重装当前最新版,并重试 Skill 同步
|
|
186
|
+
monkeys update --force
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
在交互式终端裸运行 `monkeys` 时,还会显示可选的 `[y/N]` 升级询问。执行升级时始终从 npm 实时解析目标版本,不会直接信任缓存中的提示版本。
|
|
190
|
+
|
|
168
191
|
## 命令体系
|
|
169
192
|
|
|
170
193
|
monkeys-cli 提供三种调用粒度,从稳定领域操作到部署实际发布的底层 API。
|
package/bin/run.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
+
import { readFile } from 'node:fs/promises';
|
|
4
|
+
import { createInterface } from 'node:readline/promises';
|
|
5
|
+
|
|
3
6
|
const args = process.argv.slice(2);
|
|
4
7
|
const install = args.length === 1 && args[0] === 'install';
|
|
8
|
+
const update = args[0] === 'update';
|
|
5
9
|
const fastVersion =
|
|
6
10
|
args[0] === 'version' &&
|
|
7
11
|
args[1] === 'show' &&
|
|
@@ -10,15 +14,34 @@ const fastProfileList =
|
|
|
10
14
|
args[0] === 'profile' &&
|
|
11
15
|
args[1] === 'list' &&
|
|
12
16
|
(args.length === 2 || (args.length === 4 && args[2] === '--output' && ['json', 'text'].includes(args[3])));
|
|
17
|
+
|
|
18
|
+
let packageJson;
|
|
19
|
+
let updateNotice;
|
|
20
|
+
if (!install && !update) {
|
|
21
|
+
packageJson = JSON.parse(await readFile(new URL('../package.json', import.meta.url), 'utf8'));
|
|
22
|
+
const { initializeUpdateNotifier } = await import('../dist/update/notifier.js');
|
|
23
|
+
updateNotice = await initializeUpdateNotifier(packageJson.version);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (args.length === 0 && updateNotice && process.stdin.isTTY && process.stdout.isTTY && process.stderr.isTTY) {
|
|
27
|
+
try {
|
|
28
|
+
const prompt = createInterface({ input: process.stdin, output: process.stderr });
|
|
29
|
+
try {
|
|
30
|
+
const answer = await prompt.question(`A newer monkeys CLI is available (current ${updateNotice.current}). Upgrade now? [y/N]: `);
|
|
31
|
+
if (['y', 'yes'].includes(answer.trim().toLowerCase())) process.argv.splice(2, 0, 'update');
|
|
32
|
+
} finally {
|
|
33
|
+
prompt.close();
|
|
34
|
+
}
|
|
35
|
+
} catch {
|
|
36
|
+
// The optional prompt must never block the requested CLI help output.
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
13
40
|
if (install) {
|
|
14
41
|
const { runInstallWizardCli } = await import('./install-wizard.js');
|
|
15
42
|
await runInstallWizardCli();
|
|
16
43
|
} else if (fastVersion) {
|
|
17
|
-
const
|
|
18
|
-
import('node:fs/promises'),
|
|
19
|
-
import('../dist/contracts/version.js'),
|
|
20
|
-
]);
|
|
21
|
-
const packageJson = JSON.parse(await readFile(new URL('../package.json', import.meta.url), 'utf8'));
|
|
44
|
+
const { BUNDLED_SKILL_MINIMUM_CLI_VERSION, BUNDLED_SKILL_NAME, COMMAND_SCHEMA_MAJOR } = await import('../dist/contracts/version.js');
|
|
22
45
|
const data = {
|
|
23
46
|
cliVersion: packageJson.version,
|
|
24
47
|
commandSchemaMajor: COMMAND_SCHEMA_MAJOR,
|
|
@@ -30,10 +53,20 @@ if (install) {
|
|
|
30
53
|
const output = outputIndex >= 0 ? args[outputIndex + 1] : 'text';
|
|
31
54
|
if (output === 'json') {
|
|
32
55
|
process.stdout.write(
|
|
33
|
-
`${JSON.stringify({
|
|
56
|
+
`${JSON.stringify({
|
|
57
|
+
...(updateNotice ? { _notice: { update: updateNotice } } : {}),
|
|
58
|
+
data,
|
|
59
|
+
meta: { command: 'version show', schemaVersion: '1', timestamp: new Date().toISOString() },
|
|
60
|
+
ok: true,
|
|
61
|
+
})}\n`,
|
|
34
62
|
);
|
|
35
63
|
} else {
|
|
36
64
|
process.stdout.write(`${JSON.stringify(data, null, 2)}\n`);
|
|
65
|
+
if (updateNotice) {
|
|
66
|
+
process.stdout.write(
|
|
67
|
+
`\nUpdate available: ${updateNotice.current} → ${updateNotice.latest}. Run \`${updateNotice.command}\` to install.\n`,
|
|
68
|
+
);
|
|
69
|
+
}
|
|
37
70
|
}
|
|
38
71
|
} else if (fastProfileList) {
|
|
39
72
|
const { renderFastProfileList } = await import('../dist/config/fast-profile-list.js');
|
|
@@ -5,7 +5,7 @@ export interface RawOperationPolicy {
|
|
|
5
5
|
risk: RiskLevel;
|
|
6
6
|
}
|
|
7
7
|
export declare function assertRawOperationPublished(operation: OpenApiOperation, includeLegacy?: boolean): void;
|
|
8
|
-
export declare function resolveRawOperationPolicy(operation: OpenApiOperation, authSurface: 'kernel' | '
|
|
8
|
+
export declare function resolveRawOperationPolicy(operation: OpenApiOperation, authSurface: 'kernel' | 'studio', schemaFresh: boolean, options?: {
|
|
9
9
|
includeLegacy?: boolean;
|
|
10
10
|
}): RawOperationPolicy;
|
|
11
11
|
//# sourceMappingURL=operation-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-policy.d.ts","sourceRoot":"","sources":["../../src/api/operation-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE7E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,gBAAgB,EAAE,aAAa,UAAQ,GAAG,IAAI,CAQpG;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,gBAAgB,EAC3B,WAAW,EAAE,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"operation-policy.d.ts","sourceRoot":"","sources":["../../src/api/operation-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE7E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,gBAAgB,EAAE,aAAa,UAAQ,GAAG,IAAI,CAQpG;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,gBAAgB,EAC3B,WAAW,EAAE,QAAQ,GAAG,QAAQ,EAChC,WAAW,EAAE,OAAO,EACpB,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GACxC,kBAAkB,CAuBpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-policy.js","sourceRoot":"","sources":["../../src/api/operation-policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,eAAe,EAAkB,MAAM,mBAAmB,CAAC;AAO7E,MAAM,UAAU,2BAA2B,CAAC,SAA2B,EAAE,aAAa,GAAG,KAAK;IAC5F,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI,IAAI,aAAa;QAAE,OAAO;IAC1D,MAAM,IAAI,QAAQ,CAAC,wCAAwC,EAAE;QAC3D,IAAI,EAAE,2BAA2B;QACjC,QAAQ,EAAE,UAAU,CAAC,aAAa;QAClC,QAAQ,EAAE,CAAC,oBAAoB,EAAE,4CAA4C,CAAC;QAC9E,WAAW,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE;KAC1F,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,SAA2B,EAC3B,
|
|
1
|
+
{"version":3,"file":"operation-policy.js","sourceRoot":"","sources":["../../src/api/operation-policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,eAAe,EAAkB,MAAM,mBAAmB,CAAC;AAO7E,MAAM,UAAU,2BAA2B,CAAC,SAA2B,EAAE,aAAa,GAAG,KAAK;IAC5F,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI,IAAI,aAAa;QAAE,OAAO;IAC1D,MAAM,IAAI,QAAQ,CAAC,wCAAwC,EAAE;QAC3D,IAAI,EAAE,2BAA2B;QACjC,QAAQ,EAAE,UAAU,CAAC,aAAa;QAClC,QAAQ,EAAE,CAAC,oBAAoB,EAAE,4CAA4C,CAAC;QAC9E,WAAW,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE;KAC1F,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,SAA2B,EAC3B,WAAgC,EAChC,WAAoB,EACpB,OAAO,GAAgC,EAAE;IAEzC,2BAA2B,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9D,IAAI,SAAS,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,QAAQ,CAAC,0BAA0B,WAAW,mBAAmB,EAAE;YAC3E,IAAI,EAAE,2BAA2B;YACjC,QAAQ,EAAE,UAAU,CAAC,cAAc;YACnC,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE;SACvE,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxE,IAAI,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,IAAI,QAAQ,CAAC,+CAA+C,EAAE;YAClE,IAAI,EAAE,+BAA+B;YACrC,QAAQ,EAAE,UAAU,CAAC,aAAa;YAClC,WAAW,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE;SAC1F,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,QAAQ;QACR,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC;KACjE,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { LocalCommand } from '../../config/local-command.js';
|
|
2
|
+
import { type SessionSnapshot } from '../../credential/auth-service.js';
|
|
3
|
+
export declare function profileBindingFromSession(session: SessionSnapshot): {
|
|
4
|
+
expectedPrincipal: string;
|
|
5
|
+
expectedSurfaces: Array<'studio' | 'kernel'>;
|
|
6
|
+
};
|
|
2
7
|
export default class AuthLogin extends LocalCommand {
|
|
3
8
|
static description: string;
|
|
4
9
|
static flags: {
|
|
@@ -12,6 +17,6 @@ export default class AuthLogin extends LocalCommand {
|
|
|
12
17
|
};
|
|
13
18
|
run(): Promise<void>;
|
|
14
19
|
private finalizeSubscription;
|
|
15
|
-
private
|
|
20
|
+
private updateProfileBinding;
|
|
16
21
|
}
|
|
17
22
|
//# sourceMappingURL=login.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAmB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAmB,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAOrF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,eAAe,GAAG;IACnE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;CAC9C,CAWA;AAED,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,YAAY;IACjD,OAAgB,WAAW,SAA+C;IAC1E,OAAgB,KAAK;QACnB,aAAa;QAIb,eAAe;QAKf,aAAa;QAIb,SAAS;QAKT,MAAM;QACN,OAAO;QACP,GAAG;MACH;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA8DzB;YAEa,oBAAoB;YA2BpB,oBAAoB;CAwBnC"}
|
|
@@ -5,6 +5,18 @@ import { resolveCommandRuntime, resolveEndpointCommandRuntime } from '../../cred
|
|
|
5
5
|
import { readSecretFromEnvironment, readSecretFromStdin } from '../../credential/input.js';
|
|
6
6
|
import { openBrowser } from '../../credential/open-browser.js';
|
|
7
7
|
import { CliError, EXIT_CODES } from '../../errors/cli-error.js';
|
|
8
|
+
export function profileBindingFromSession(session) {
|
|
9
|
+
const expectedPrincipal = String(session.principal.userId || '').trim();
|
|
10
|
+
const expectedSurfaces = ['studio', 'kernel'].filter((surface) => session.surfaces[surface]);
|
|
11
|
+
if (!expectedPrincipal || expectedSurfaces.length === 0) {
|
|
12
|
+
throw new CliError('认证 Session 缺少可绑定到 Profile 的主体或 Surface。', {
|
|
13
|
+
code: 'AUTH_SESSION_BINDING_INCOMPLETE',
|
|
14
|
+
exitCode: EXIT_CODES.compatibility,
|
|
15
|
+
safeDetails: { hasPrincipal: Boolean(expectedPrincipal), surfaces: expectedSurfaces },
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return { expectedPrincipal, expectedSurfaces };
|
|
19
|
+
}
|
|
8
20
|
export default class AuthLogin extends LocalCommand {
|
|
9
21
|
static description = '使用订阅 URL 发起浏览器登录,或从安全输入导入该 URL 的 API Key。';
|
|
10
22
|
static flags = {
|
|
@@ -43,7 +55,7 @@ export default class AuthLogin extends LocalCommand {
|
|
|
43
55
|
const runtime = await resolveCommandRuntime(flags.profile, undefined, { inheritDefaultTeam: false });
|
|
44
56
|
const auth = new AuthService(runtime.secrets);
|
|
45
57
|
const result = await auth.completeDeviceAuthorization(runtime.context, flags['device-code']);
|
|
46
|
-
const subscription = await this.finalizeSubscription(runtime, auth, result.fingerprint, result.provider);
|
|
58
|
+
const subscription = await this.finalizeSubscription(runtime, auth, result.fingerprint, result.session, result.provider);
|
|
47
59
|
return { profile: subscription, provider: result.provider, session: result.session, subscription };
|
|
48
60
|
}
|
|
49
61
|
if (flags.profile) {
|
|
@@ -65,7 +77,7 @@ export default class AuthLogin extends LocalCommand {
|
|
|
65
77
|
const secret = flags['api-key-env'] ? readSecretFromEnvironment(flags['api-key-env']) : await readSecretFromStdin();
|
|
66
78
|
try {
|
|
67
79
|
const result = await auth.importApiKey(runtime.context, secret);
|
|
68
|
-
const subscription = await this.finalizeSubscription(runtime, auth, result.fingerprint);
|
|
80
|
+
const subscription = await this.finalizeSubscription(runtime, auth, result.fingerprint, result.session);
|
|
69
81
|
return { profile: subscription, session: result.session, subscription };
|
|
70
82
|
}
|
|
71
83
|
finally {
|
|
@@ -85,12 +97,12 @@ export default class AuthLogin extends LocalCommand {
|
|
|
85
97
|
const result = await auth.completeDeviceAuthorization(runtime.context, authorization.device_code, {
|
|
86
98
|
expiresInSeconds: authorization.expires_in,
|
|
87
99
|
});
|
|
88
|
-
const subscription = await this.finalizeSubscription(runtime, auth, result.fingerprint, result.provider);
|
|
100
|
+
const subscription = await this.finalizeSubscription(runtime, auth, result.fingerprint, result.session, result.provider);
|
|
89
101
|
return { browserOpened, profile: subscription, provider: result.provider, session: result.session, subscription };
|
|
90
102
|
});
|
|
91
103
|
}
|
|
92
|
-
async finalizeSubscription(runtime, auth, fingerprint, provider) {
|
|
93
|
-
await this.
|
|
104
|
+
async finalizeSubscription(runtime, auth, fingerprint, session, provider) {
|
|
105
|
+
await this.updateProfileBinding(runtime, fingerprint, session, provider);
|
|
94
106
|
const subscription = await auth.subscriptionName(runtime.context);
|
|
95
107
|
const renamed = await runtime.registry.renameProfile(runtime.context.profile, subscription);
|
|
96
108
|
if (renamed.replacedSecretRef) {
|
|
@@ -110,14 +122,19 @@ export default class AuthLogin extends LocalCommand {
|
|
|
110
122
|
await runtime.registry.setCurrentProfile(subscription);
|
|
111
123
|
return subscription;
|
|
112
124
|
}
|
|
113
|
-
async
|
|
125
|
+
async updateProfileBinding(runtime, fingerprint, session, provider) {
|
|
114
126
|
try {
|
|
115
|
-
|
|
127
|
+
const { expectedPrincipal, expectedSurfaces } = profileBindingFromSession(session);
|
|
128
|
+
await runtime.registry.updateProfile(runtime.context.profile, {
|
|
129
|
+
credentialFingerprint: fingerprint,
|
|
130
|
+
expectedPrincipal,
|
|
131
|
+
expectedSurfaces,
|
|
132
|
+
});
|
|
116
133
|
}
|
|
117
134
|
catch (error) {
|
|
118
|
-
if (error instanceof CliError && error.code
|
|
135
|
+
if (error instanceof CliError && ['AUTH_PROFILE_UPDATE_FAILED', 'AUTH_SESSION_BINDING_INCOMPLETE'].includes(error.code))
|
|
119
136
|
throw error;
|
|
120
|
-
throw new CliError('Session 已保存,但 Profile
|
|
137
|
+
throw new CliError('Session 已保存,但 Profile 认证绑定更新失败。', {
|
|
121
138
|
cause: error,
|
|
122
139
|
code: 'AUTH_PROFILE_UPDATE_FAILED',
|
|
123
140
|
exitCode: EXIT_CODES.partial,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/commands/profile/add.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAmB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/commands/profile/add.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAmB,MAAM,+BAA+B,CAAC;AAG9E,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,YAAY;IAClD,OAAgB,WAAW,SAAkD;IAC7E,OAAgB,KAAK;QACnB,wBAAwB;QACxB,iBAAiB;QACjB,cAAc;QACd,UAAU;QACV,oBAAoB;QACpB,kBAAkB;QAClB,IAAI;QACJ,MAAM;QACN,YAAY;QAIZ,MAAM;MACN;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBzB;CACF"}
|
|
@@ -9,7 +9,7 @@ export default class ProfileAdd extends LocalCommand {
|
|
|
9
9
|
'default-team': Flags.string({ summary: '默认 Team ID' }),
|
|
10
10
|
deployment: Flags.string({ required: true, summary: 'Deployment 名称' }),
|
|
11
11
|
'expected-principal': Flags.string({ summary: '预期主体 ID' }),
|
|
12
|
-
'expected-surface': Flags.string({ multiple: true, summary: '预期认证 Surface,可重复' }),
|
|
12
|
+
'expected-surface': Flags.string({ multiple: true, options: ['studio', 'kernel'], summary: '预期认证 Surface,可重复' }),
|
|
13
13
|
name: Flags.string({ required: true, summary: 'Profile 名称' }),
|
|
14
14
|
output: localOutputFlag,
|
|
15
15
|
'secret-ref': Flags.string({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/profile/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/profile/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/profile/update.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAmB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/profile/update.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAmB,MAAM,+BAA+B,CAAC;AAI9E,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,YAAY;IACrD,OAAgB,WAAW,SAAyC;IACpE,OAAgB,KAAK;QACnB,8BAA8B;QAC9B,oBAAoB;QACpB,0BAA0B;QAC1B,yBAAyB;QACzB,wBAAwB;QACxB,iBAAiB;QACjB,cAAc;QACd,UAAU;QACV,oBAAoB;QACpB,kBAAkB;QAClB,IAAI;QACJ,MAAM;QACN,YAAY;QACZ,MAAM;MACN;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAwBzB;IAED,OAAO,CAAC,gBAAgB;CAKzB"}
|
|
@@ -14,7 +14,7 @@ export default class ProfileUpdate extends LocalCommand {
|
|
|
14
14
|
'default-team': Flags.string({ summary: '新的默认 Team ID' }),
|
|
15
15
|
deployment: Flags.string({ summary: '新的 Deployment 名称' }),
|
|
16
16
|
'expected-principal': Flags.string({ summary: '新的预期主体 ID' }),
|
|
17
|
-
'expected-surface': Flags.string({ multiple: true, summary: '新的预期认证 Surface,可重复' }),
|
|
17
|
+
'expected-surface': Flags.string({ multiple: true, options: ['studio', 'kernel'], summary: '新的预期认证 Surface,可重复' }),
|
|
18
18
|
name: Flags.string({ required: true, summary: 'Profile 名称' }),
|
|
19
19
|
output: localOutputFlag,
|
|
20
20
|
'secret-ref': Flags.string({ summary: '新的 env:、keyring: 或账户 Session 专用的 session-file: 引用' }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/profile/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAqB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/profile/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class Update extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
check: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
};
|
|
10
|
+
run(): Promise<void>;
|
|
11
|
+
private printResult;
|
|
12
|
+
private toCliError;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAmB7C,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,OAAgB,WAAW,SAA0C;IACrE,OAAgB,QAAQ,WAAkF;IAC1G,OAAgB,KAAK;QACnB,KAAK;QACL,KAAK;QACL,MAAM;MACN;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAmEzB;IAED,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,UAAU;CAYnB"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { errorResult, successResult } from '../contracts/result.js';
|
|
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
|
+
import { clearPendingUpdateNotice, fetchLatestVersion, isNewerVersion } from '../update/notifier.js';
|
|
7
|
+
import { installCliAndSkill, UpdateProcessError } from '../update/updater.js';
|
|
8
|
+
export default class Update extends Command {
|
|
9
|
+
static description = '检查或安装最新版本的 monkeys CLI,并同步同版本 Skill。';
|
|
10
|
+
static examples = ['<%= config.bin %> update --check --output json', '<%= config.bin %> update'];
|
|
11
|
+
static flags = {
|
|
12
|
+
check: Flags.boolean({ default: false, summary: '只检查更新,不执行安装' }),
|
|
13
|
+
force: Flags.boolean({ default: false, summary: '即使已是最新版本也重新安装 CLI 与 Skill' }),
|
|
14
|
+
output: Flags.string({ default: 'text', options: ['json', 'text'], summary: '输出格式' }),
|
|
15
|
+
};
|
|
16
|
+
async run() {
|
|
17
|
+
clearPendingUpdateNotice();
|
|
18
|
+
const { flags } = await this.parse(Update);
|
|
19
|
+
const output = flags.output;
|
|
20
|
+
const currentVersion = this.config.version;
|
|
21
|
+
try {
|
|
22
|
+
let latestVersion;
|
|
23
|
+
try {
|
|
24
|
+
latestVersion = await fetchLatestVersion();
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
throw new CliError('无法查询 npm 最新版本。', {
|
|
28
|
+
cause: error,
|
|
29
|
+
code: 'UPDATE_CHECK_FAILED',
|
|
30
|
+
exitCode: EXIT_CODES.network,
|
|
31
|
+
recovery: ['检查网络或 npm registry 访问后重试 monkeys update --check。'],
|
|
32
|
+
retryable: true,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
const updateAvailable = isNewerVersion(latestVersion, currentVersion);
|
|
36
|
+
if (flags.check) {
|
|
37
|
+
const result = {
|
|
38
|
+
action: updateAvailable ? 'update_available' : 'already_up_to_date',
|
|
39
|
+
autoUpdate: true,
|
|
40
|
+
command: 'monkeys update',
|
|
41
|
+
currentVersion,
|
|
42
|
+
latestVersion,
|
|
43
|
+
previousVersion: currentVersion,
|
|
44
|
+
};
|
|
45
|
+
this.printResult(result, output);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (!updateAvailable && !flags.force) {
|
|
49
|
+
this.printResult({
|
|
50
|
+
action: 'already_up_to_date',
|
|
51
|
+
autoUpdate: true,
|
|
52
|
+
command: 'monkeys update',
|
|
53
|
+
currentVersion,
|
|
54
|
+
latestVersion,
|
|
55
|
+
previousVersion: currentVersion,
|
|
56
|
+
}, output);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if (output === 'text')
|
|
60
|
+
process.stderr.write(`Updating monkeys ${currentVersion} → ${latestVersion} via npm ...\n`);
|
|
61
|
+
const installed = await installCliAndSkill(latestVersion);
|
|
62
|
+
this.printResult({
|
|
63
|
+
action: 'updated',
|
|
64
|
+
autoUpdate: true,
|
|
65
|
+
command: 'monkeys update',
|
|
66
|
+
currentVersion: installed.currentVersion,
|
|
67
|
+
latestVersion,
|
|
68
|
+
previousVersion: currentVersion,
|
|
69
|
+
skillsAction: installed.skillsAction,
|
|
70
|
+
...(installed.skillsWarning ? { skillsWarning: installed.skillsWarning } : {}),
|
|
71
|
+
}, output);
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
const cliError = this.toCliError(error);
|
|
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: ['检查 npm/npx、网络和全局安装目录权限后重试。', '仅重试 Skill 可运行 monkeys update --force。'],
|
|
104
|
+
safeDetails: { command: error.command, detail: error.detail },
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
return asCliError(error);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export default class WorkflowCreate extends LocalCommand {
|
|
|
8
8
|
'dry-run': Flags.boolean({ default: false, exclusive: ['yes'], summary: '校验合同、身份与目标不存在性,不发送写请求' }),
|
|
9
9
|
file: Flags.string({ required: true, summary: '完整 WorkflowDefinition JSON 文件' }),
|
|
10
10
|
output: localOutputFlag,
|
|
11
|
-
profile: Flags.string({ required: true, summary: '
|
|
11
|
+
profile: Flags.string({ required: true, summary: 'Studio Profile 名称' }),
|
|
12
12
|
refresh: Flags.boolean({ default: false, summary: '刷新 OpenAPI 合同' }),
|
|
13
13
|
team: Flags.string({ required: true, summary: '目标 Team ID' }),
|
|
14
14
|
yes: Flags.boolean({ char: 'y', default: false, exclusive: ['dry-run'], summary: '确认真实创建' }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/workflow/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,YAAY;IACtD,MAAM,CAAU,WAAW,GAAG,yDAAyD,CAAC;IACxF,MAAM,CAAU,KAAK,GAAG;QACtB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;QAClG,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;QAChF,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/workflow/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,YAAY;IACtD,MAAM,CAAU,WAAW,GAAG,yDAAyD,CAAC;IACxF,MAAM,CAAU,KAAK,GAAG;QACtB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;QAClG,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;QAChF,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;QACvE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QACpE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAC7D,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;KAC7F,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAC1D,qBAAqB,CAAC;YACpB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,MAAM,mBAAmB,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7G,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC,CACH,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -8,7 +8,7 @@ export default class WorkflowDelete extends LocalCommand {
|
|
|
8
8
|
static flags = {
|
|
9
9
|
'dry-run': Flags.boolean({ default: false, exclusive: ['yes'], summary: '校验目标、所有权和合同,不发送写请求' }),
|
|
10
10
|
output: localOutputFlag,
|
|
11
|
-
profile: Flags.string({ required: true, summary: '
|
|
11
|
+
profile: Flags.string({ required: true, summary: 'Studio Profile 名称' }),
|
|
12
12
|
refresh: Flags.boolean({ default: false, summary: '刷新 OpenAPI 合同' }),
|
|
13
13
|
snapshot: Flags.string({ summary: '写前快照路径;默认写入 .monkeys-workflow-snapshots' }),
|
|
14
14
|
team: Flags.string({ required: true, summary: '目标 Team ID' }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/workflow/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,YAAY;IACtD,MAAM,CAAU,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACtG,MAAM,CAAU,WAAW,GAAG,qCAAqC,CAAC;IACpE,MAAM,CAAU,KAAK,GAAG;QACtB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAC/F,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/workflow/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,YAAY;IACtD,MAAM,CAAU,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACtG,MAAM,CAAU,WAAW,GAAG,qCAAqC,CAAC;IACpE,MAAM,CAAU,KAAK,GAAG;QACtB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAC/F,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;QACvE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QACpE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;QAC9E,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAC7D,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;KAC7F,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAC1D,qBAAqB,CAAC;YACpB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;YACxB,OAAO,EAAE,MAAM,mBAAmB,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7G,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC,CACH,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -9,7 +9,7 @@ export default class WorkflowImport extends LocalCommand {
|
|
|
9
9
|
file: Flags.string({ required: true, summary: '严格 {workflows:[definition],pages:[]} JSON 文件' }),
|
|
10
10
|
mode: Flags.string({ default: 'create', options: ['create'], summary: '固定为 create' }),
|
|
11
11
|
output: localOutputFlag,
|
|
12
|
-
profile: Flags.string({ required: true, summary: '
|
|
12
|
+
profile: Flags.string({ required: true, summary: 'Studio Profile 名称' }),
|
|
13
13
|
refresh: Flags.boolean({ default: false, summary: '刷新 OpenAPI 合同' }),
|
|
14
14
|
team: Flags.string({ required: true, summary: '目标 Team ID' }),
|
|
15
15
|
yes: Flags.boolean({ char: 'y', default: false, exclusive: ['dry-run'], summary: '确认真实导入创建' }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../../src/commands/workflow/import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,YAAY;IACtD,MAAM,CAAU,WAAW,GAAG,4CAA4C,CAAC;IAC3E,MAAM,CAAU,KAAK,GAAG;QACtB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;QACpG,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC;QAC/F,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QACrF,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../../src/commands/workflow/import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,YAAY;IACtD,MAAM,CAAU,WAAW,GAAG,4CAA4C,CAAC;IAC3E,MAAM,CAAU,KAAK,GAAG;QACtB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;QACpG,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC;QAC/F,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QACrF,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;QACvE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QACpE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAC7D,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;KAC/F,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAC1D,qBAAqB,CAAC;YACpB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,MAAM,mBAAmB,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7G,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC,CACH,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -9,7 +9,7 @@ export default class WorkflowUpdate extends LocalCommand {
|
|
|
9
9
|
'dry-run': Flags.boolean({ default: false, exclusive: ['yes'], summary: '校验合同、身份和当前资源,不发送写请求' }),
|
|
10
10
|
file: Flags.string({ required: true, summary: '完整 WorkflowDefinition JSON 文件' }),
|
|
11
11
|
output: localOutputFlag,
|
|
12
|
-
profile: Flags.string({ required: true, summary: '
|
|
12
|
+
profile: Flags.string({ required: true, summary: 'Studio Profile 名称' }),
|
|
13
13
|
refresh: Flags.boolean({ default: false, summary: '刷新 OpenAPI 合同' }),
|
|
14
14
|
snapshot: Flags.string({ summary: '写前快照路径;默认写入 .monkeys-workflow-snapshots' }),
|
|
15
15
|
team: Flags.string({ required: true, summary: '目标 Team ID' }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/workflow/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,YAAY;IACtD,MAAM,CAAU,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACtG,MAAM,CAAU,WAAW,GAAG,4CAA4C,CAAC;IAC3E,MAAM,CAAU,KAAK,GAAG;QACtB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;QAChG,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;QAChF,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/workflow/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,YAAY;IACtD,MAAM,CAAU,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACtG,MAAM,CAAU,WAAW,GAAG,4CAA4C,CAAC;IAC3E,MAAM,CAAU,KAAK,GAAG;QACtB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;QAChG,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;QAChF,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;QACvE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QACpE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;QAC9E,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAC7D,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;KAC7F,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAC1D,qBAAqB,CAAC;YACpB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,MAAM,mBAAmB,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7G,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC,CACH,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type DataContractMode, type DeploymentConfig, type ProfileConfig } from './schema.js';
|
|
1
|
+
import { type AuthSurface, type DataContractMode, type DeploymentConfig, type ProfileConfig } from './schema.js';
|
|
2
2
|
import { ConfigStore } from './store.js';
|
|
3
3
|
export interface DeploymentPatch {
|
|
4
4
|
baseUrl?: string;
|
|
@@ -12,7 +12,7 @@ export interface ProfilePatch {
|
|
|
12
12
|
defaultTeam?: null | string;
|
|
13
13
|
deployment?: string;
|
|
14
14
|
expectedPrincipal?: null | string;
|
|
15
|
-
expectedSurfaces?: null |
|
|
15
|
+
expectedSurfaces?: null | AuthSurface[];
|
|
16
16
|
secretRef?: string;
|
|
17
17
|
tenant?: string;
|
|
18
18
|
}
|