@newpeak/barista-cli 0.2.257 → 0.2.262
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/dist/commands/liberica/help/feature.d.ts +3 -0
- package/dist/commands/liberica/help/feature.d.ts.map +1 -0
- package/dist/commands/liberica/help/feature.js +61 -0
- package/dist/commands/liberica/help/feature.js.map +1 -0
- package/dist/commands/liberica/help/index.d.ts +3 -0
- package/dist/commands/liberica/help/index.d.ts.map +1 -0
- package/dist/commands/liberica/help/index.js +18 -0
- package/dist/commands/liberica/help/index.js.map +1 -0
- package/dist/commands/liberica/help/shared.d.ts +23 -0
- package/dist/commands/liberica/help/shared.d.ts.map +1 -0
- package/dist/commands/liberica/help/shared.js +91 -0
- package/dist/commands/liberica/help/shared.js.map +1 -0
- package/dist/commands/liberica/help/test.d.ts +3 -0
- package/dist/commands/liberica/help/test.d.ts.map +1 -0
- package/dist/commands/liberica/help/test.js +61 -0
- package/dist/commands/liberica/help/test.js.map +1 -0
- package/dist/commands/liberica/index.d.ts.map +1 -1
- package/dist/commands/liberica/index.js +2 -0
- package/dist/commands/liberica/index.js.map +1 -1
- package/dist/commands/liberica/outsourcing-price/create.d.ts.map +1 -1
- package/dist/commands/liberica/outsourcing-price/create.js +54 -0
- package/dist/commands/liberica/outsourcing-price/create.js.map +1 -1
- package/dist/commands/liberica/outsourcing-price/list.js +1 -1
- package/dist/commands/liberica/outsourcing-price/list.js.map +1 -1
- package/dist/commands/liberica/runner/jobs/add.d.ts.map +1 -1
- package/dist/commands/liberica/runner/jobs/add.js +8 -12
- package/dist/commands/liberica/runner/jobs/add.js.map +1 -1
- package/dist/commands/liberica/runner/jobs/retry.d.ts.map +1 -1
- package/dist/commands/liberica/runner/jobs/retry.js +8 -12
- package/dist/commands/liberica/runner/jobs/retry.js.map +1 -1
- package/dist/commands/liberica/teams/issues/update.d.ts.map +1 -1
- package/dist/commands/liberica/teams/issues/update.js +35 -3
- package/dist/commands/liberica/teams/issues/update.js.map +1 -1
- package/dist/commands/liberica/translate/create.d.ts.map +1 -1
- package/dist/commands/liberica/translate/create.js +14 -7
- package/dist/commands/liberica/translate/create.js.map +1 -1
- package/dist/commands/liberica/translate/update.d.ts.map +1 -1
- package/dist/commands/liberica/translate/update.js +14 -6
- package/dist/commands/liberica/translate/update.js.map +1 -1
- package/dist/commands/liberica/translate/upsert-shared.d.ts +16 -0
- package/dist/commands/liberica/translate/upsert-shared.d.ts.map +1 -0
- package/dist/commands/liberica/translate/upsert-shared.js +50 -0
- package/dist/commands/liberica/translate/upsert-shared.js.map +1 -0
- package/dist/core/api/client.d.ts +3 -0
- package/dist/core/api/client.d.ts.map +1 -1
- package/dist/core/api/client.js +40 -0
- package/dist/core/api/client.js.map +1 -1
- package/dist/types/help.d.ts +29 -0
- package/dist/types/help.d.ts.map +1 -0
- package/dist/types/help.js +2 -0
- package/dist/types/help.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/runner-error.d.ts +33 -0
- package/dist/utils/runner-error.d.ts.map +1 -0
- package/dist/utils/runner-error.js +69 -0
- package/dist/utils/runner-error.js.map +1 -0
- package/package.json +1 -1
- package/skills/barista-cli/SKILL.md +193 -193
- package/skills/barista-cli/data/commands.json +18 -2
- package/skills/barista-cli/data/commands.yaml +13 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type HelpLang = 'zh' | 'ja' | 'en' | 'vi';
|
|
2
|
+
export declare const HELP_LANG_ALLOWED: HelpLang[];
|
|
3
|
+
export interface HelpFeatureRef {
|
|
4
|
+
feature?: string;
|
|
5
|
+
title?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface HelpFeatureRulesResult {
|
|
8
|
+
feature?: string;
|
|
9
|
+
rules?: string[];
|
|
10
|
+
dependsOn?: HelpFeatureRef[];
|
|
11
|
+
next?: HelpFeatureRef[];
|
|
12
|
+
docVersion?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface HelpTestFeatureRulesResult extends HelpFeatureRulesResult {
|
|
15
|
+
bizRules?: string[];
|
|
16
|
+
}
|
|
17
|
+
export interface HelpFeatureRulesParams {
|
|
18
|
+
feature: string;
|
|
19
|
+
lang?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface HelpApiResponse {
|
|
22
|
+
success: boolean;
|
|
23
|
+
data?: HelpFeatureRulesResult | HelpTestFeatureRulesResult | null;
|
|
24
|
+
error?: {
|
|
25
|
+
code: string;
|
|
26
|
+
message: string;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=help.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/types/help.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjD,eAAO,MAAM,iBAAiB,EAAE,QAAQ,EAA6B,CAAC;AAEtE,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,sBAAsB,GAAG,0BAA0B,GAAG,IAAI,CAAC;IAClE,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/types/help.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.js
CHANGED
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AA2EA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAsH9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAiE7B,cAAc,cAAc,CAAC;AA+H7B,cAAc,aAAa,CAAC;AAwD5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AA2EA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAsH9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAiE7B,cAAc,cAAc,CAAC;AA+H7B,cAAc,aAAa,CAAC;AAwD5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backend issue tracking the missing LIBERICA_RUNNER_ENCRYPTION_KEY env var on the
|
|
3
|
+
* liberica runner deployment (auto-reported by roaster bot 2026-09-04).
|
|
4
|
+
*/
|
|
5
|
+
export declare const RUNNER_ENCRYPTION_KEY_BACKEND_ISSUE = "TYP-ca8f7e8c";
|
|
6
|
+
export declare const RUNNER_ENCRYPTION_KEY_MISSING_ISSUE_CODE = "RUNNER_ENCRYPTION_KEY_MISSING";
|
|
7
|
+
interface RunnerJobErrorShape {
|
|
8
|
+
code?: string;
|
|
9
|
+
message?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Detect backend A984004 (RUNNER_ENCRYPTION_KEY_MISSING): the runner deployment does not
|
|
13
|
+
* have LIBERICA_RUNNER_ENCRYPTION_KEY env var configured, so job creation/retry which
|
|
14
|
+
* encrypts the merged env JSON server-side (AES-256-GCM) always fails.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isRunnerEncryptionKeyMissingError(error?: RunnerJobErrorShape): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Structured hint appended to JSON output when backend encryption key is missing.
|
|
19
|
+
*/
|
|
20
|
+
export declare function buildRunnerEncryptionKeyHint(): string;
|
|
21
|
+
/**
|
|
22
|
+
* Print a runner job failure (JSON/TTY dual), enriching A984004 with a machine-readable
|
|
23
|
+
* diagnostic so agents can classify it as a backend deployment config gap.
|
|
24
|
+
*/
|
|
25
|
+
export declare function emitRunnerJobError(options: {
|
|
26
|
+
jsonOutput: boolean;
|
|
27
|
+
error?: RunnerJobErrorShape;
|
|
28
|
+
fallbackCode: string;
|
|
29
|
+
fallbackMessage: string;
|
|
30
|
+
action: string;
|
|
31
|
+
}): never;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=runner-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner-error.d.ts","sourceRoot":"","sources":["../../src/utils/runner-error.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,mCAAmC,iBAAiB,CAAC;AAElE,eAAO,MAAM,wCAAwC,kCAAkC,CAAC;AAExF,UAAU,mBAAmB;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAKtF;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAMrD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,KAAK,CA6CR"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
/**
|
|
3
|
+
* Backend issue tracking the missing LIBERICA_RUNNER_ENCRYPTION_KEY env var on the
|
|
4
|
+
* liberica runner deployment (auto-reported by roaster bot 2026-09-04).
|
|
5
|
+
*/
|
|
6
|
+
export const RUNNER_ENCRYPTION_KEY_BACKEND_ISSUE = 'TYP-ca8f7e8c';
|
|
7
|
+
export const RUNNER_ENCRYPTION_KEY_MISSING_ISSUE_CODE = 'RUNNER_ENCRYPTION_KEY_MISSING';
|
|
8
|
+
/**
|
|
9
|
+
* Detect backend A984004 (RUNNER_ENCRYPTION_KEY_MISSING): the runner deployment does not
|
|
10
|
+
* have LIBERICA_RUNNER_ENCRYPTION_KEY env var configured, so job creation/retry which
|
|
11
|
+
* encrypts the merged env JSON server-side (AES-256-GCM) always fails.
|
|
12
|
+
*/
|
|
13
|
+
export function isRunnerEncryptionKeyMissingError(error) {
|
|
14
|
+
if (!error)
|
|
15
|
+
return false;
|
|
16
|
+
const code = error.code || '';
|
|
17
|
+
const message = error.message || '';
|
|
18
|
+
return code === 'A984004' || message.includes('LIBERICA_RUNNER_ENCRYPTION_KEY');
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Structured hint appended to JSON output when backend encryption key is missing.
|
|
22
|
+
*/
|
|
23
|
+
export function buildRunnerEncryptionKeyHint() {
|
|
24
|
+
return ('Backend deployment config gap: LIBERICA_RUNNER_ENCRYPTION_KEY env var is not set on the Liberica runner ' +
|
|
25
|
+
'deployment. Runner job env JSON is AES-256-GCM encrypted server-side before storage; no CLI-side retry will ' +
|
|
26
|
+
`succeed until the platform team sets it. Backend issue: ${RUNNER_ENCRYPTION_KEY_BACKEND_ISSUE}`);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Print a runner job failure (JSON/TTY dual), enriching A984004 with a machine-readable
|
|
30
|
+
* diagnostic so agents can classify it as a backend deployment config gap.
|
|
31
|
+
*/
|
|
32
|
+
export function emitRunnerJobError(options) {
|
|
33
|
+
const { jsonOutput, error, fallbackCode, fallbackMessage, action } = options;
|
|
34
|
+
const errorCode = error?.code || fallbackCode;
|
|
35
|
+
const errorMsg = error?.message || fallbackMessage;
|
|
36
|
+
if (isRunnerEncryptionKeyMissingError(error)) {
|
|
37
|
+
if (jsonOutput) {
|
|
38
|
+
const enhanced = {
|
|
39
|
+
code: errorCode,
|
|
40
|
+
message: errorMsg,
|
|
41
|
+
issueCode: RUNNER_ENCRYPTION_KEY_MISSING_ISSUE_CODE,
|
|
42
|
+
backendIssue: RUNNER_ENCRYPTION_KEY_BACKEND_ISSUE,
|
|
43
|
+
hint: buildRunnerEncryptionKeyHint(),
|
|
44
|
+
};
|
|
45
|
+
console.log(JSON.stringify({ success: false, error: enhanced }));
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
console.error(chalk.red(`\n✗ Failed to ${action} runner job: ${errorMsg}`));
|
|
49
|
+
if (error?.code)
|
|
50
|
+
console.error(chalk.gray(` Error code: ${error.code}`));
|
|
51
|
+
console.error(chalk.yellow('\n ⚠ Backend deployment config gap: LIBERICA_RUNNER_ENCRYPTION_KEY env var is not set.'));
|
|
52
|
+
console.error(chalk.yellow(' Runner job env JSON is encrypted server-side (AES-256-GCM) before storage;'));
|
|
53
|
+
console.error(chalk.yellow(` job ${action} cannot succeed until the platform team sets this env var in the backend deployment.`));
|
|
54
|
+
console.error(chalk.gray(` Backend issue: ${RUNNER_ENCRYPTION_KEY_BACKEND_ISSUE}`));
|
|
55
|
+
console.error();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else if (jsonOutput) {
|
|
59
|
+
console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
console.error(chalk.red(`\n✗ Failed to ${action} runner job: ${errorMsg}`));
|
|
63
|
+
if (error?.code)
|
|
64
|
+
console.error(chalk.gray(` Error code: ${error.code}`));
|
|
65
|
+
console.error();
|
|
66
|
+
}
|
|
67
|
+
process.exit(1);
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=runner-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner-error.js","sourceRoot":"","sources":["../../src/utils/runner-error.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,193 +1,193 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: barista-cli
|
|
3
|
-
description: >-
|
|
4
|
-
Barista CLI — 让 AI 助手通过命令行操控企业生产管理系统。
|
|
5
|
-
【Liberica】生产管理 SaaS(70+ 模块:基础资料/供应链/库存/生产/BOM/计划/质量/财务/HR/团队等)。
|
|
6
|
-
用户为租户企业员工,通过 tenant + username 登录。
|
|
7
|
-
【Arabica】Liberica 在线订阅平台(套餐/订阅下单/发票/企业管理)。
|
|
8
|
-
用户为会员(个人账号),通过 account + password 登录。
|
|
9
|
-
Actions: list, get, create, update, delete, submit, cancel, review, batch-review,
|
|
10
|
-
enable, disable, copy, track, export, import, compute, release, complete, register.
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# Barista CLI — AI 操控企业生产管理系统
|
|
14
|
-
|
|
15
|
-
## 系统关系
|
|
16
|
-
|
|
17
|
-
**Liberica** = 生产管理 SaaS(制造企业 ERP)。用户=**租户企业员工**,登录=tenant+username+password。
|
|
18
|
-
**Arabica** = Liberica 在线订阅平台。用户=**会员**(个人账号),登录=account+password。
|
|
19
|
-
|
|
20
|
-
两者用户体系完全独立,但有业务流程关联:
|
|
21
|
-
|
|
22
|
-
```
|
|
23
|
-
会员注册 Arabica → 登录 → 注册企业 → 选套餐下单 → 获得 Liberica 权限
|
|
24
|
-
→ 员工登录 Liberica → 日常生产管理(采购/库存/生产/销售等)
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## When to Apply
|
|
28
|
-
|
|
29
|
-
| 场景 | 系统 | 判断 |
|
|
30
|
-
|------|------|------|
|
|
31
|
-
| 生产数据(订单/库存/物料/BOM/工单/质量/财务/HR) | **Liberica** | 涉及制造企业日常运营 |
|
|
32
|
-
| 订阅/套餐/购买/发票/企业注册 | **Arabica** | 涉及购买 Liberica 服务 |
|
|
33
|
-
| 先看用户意图对应哪个业务领域 | 判断后再选系统 | 不确定时问用户 |
|
|
34
|
-
|
|
35
|
-
## CRITICAL: 关键陷阱(AI 必须遵守)
|
|
36
|
-
|
|
37
|
-
### 1. 邮箱用户名登录
|
|
38
|
-
```bash
|
|
39
|
-
# ✅ 正确:用位置参数
|
|
40
|
-
barista liberica auth login dev shanghai admin@shanghai.newpeaksh.com 123456
|
|
41
|
-
# ❌ 错误:--username 遇到 @ 会报 A0900006
|
|
42
|
-
barista liberica auth login --username admin@shanghai.newpeaksh.com
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### 2. teams issues 的 --tenant 被忽略
|
|
46
|
-
```bash
|
|
47
|
-
# ✅ 正确:先切换 context
|
|
48
|
-
barista context use-tenant coffee
|
|
49
|
-
barista liberica teams issues update <id> --status CLOSED --assign-to <
|
|
50
|
-
|
|
51
|
-
# ❌ 错误:--tenant coffee 被忽略,使用配置中的默认 tenant
|
|
52
|
-
barista liberica teams issues update <id> --status CLOSED --tenant coffee
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
**已知忽略 --tenant 的命令**:teams issues update/close/get/delete
|
|
56
|
-
|
|
57
|
-
### 3. teams issues close 需要 --assign-to
|
|
58
|
-
```
|
|
59
|
-
A1506: 负责人ID列表不能为空
|
|
60
|
-
# 用 update 代替 close
|
|
61
|
-
barista liberica teams issues update <id> --status CLOSED --assign-to <
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### 4. 日期字段用 epoch ms
|
|
65
|
-
```bash
|
|
66
|
-
# ✅ 正确:Date.now() → 1746547200000
|
|
67
|
-
# ❌ 错误:"2025-05-06" 导致 B0001
|
|
68
|
-
```
|
|
69
|
-
影响命令:transfer-out-forms create(stockDate)、finance invoices create(invoiceDate)
|
|
70
|
-
|
|
71
|
-
### 5. Liberica vs Arabica 登录差异
|
|
72
|
-
| | Liberica | Arabica |
|
|
73
|
-
|--|----------|---------|
|
|
74
|
-
| 命令 | `barista liberica auth login <env> <tenant> <username> <password>` | `barista arabica auth login <env> <account> <password>` |
|
|
75
|
-
| 有无 tenant | 有 | 无 |
|
|
76
|
-
| 用户类型 | 企业员工 | 会员 |
|
|
77
|
-
| 注册 | 无注册命令 | `barista arabica auth register` |
|
|
78
|
-
|
|
79
|
-
### 6. 两个独立的问题系统
|
|
80
|
-
- `liberica issue submit` — 向开发团队上报需求/BUG(通过 Typica → GitLab Issue)
|
|
81
|
-
- 默认上报到 **CLI 项目**(barista)
|
|
82
|
-
- `--project-code arabica` 上报到 **Arabica 项目**
|
|
83
|
-
- `--project-code liberica` 上报到 **Liberica 项目**
|
|
84
|
-
- `--type BUG|REQUIREMENT|QUESTION` 指定问题类型
|
|
85
|
-
- 可用 `validate-project <code>` 验证项目代号是否有效
|
|
86
|
-
- `liberica teams issues` — 团队内部项目的问题管理(本地 DB)
|
|
87
|
-
- 关闭已上报的 issue:在 teams issues 中过滤 BARISTA 项目 ID `2048236204222570498`
|
|
88
|
-
|
|
89
|
-
### 7. token 存储
|
|
90
|
-
- Token 存在系统密钥链(keytar),fallback 到 AES-256-GCM 加密文件
|
|
91
|
-
- Liberica key 格式:`liberica:{environment}:{tenant}`
|
|
92
|
-
- Arabica key 格式:`arabica:{environment}`(无 tenant)
|
|
93
|
-
|
|
94
|
-
## 安全规则
|
|
95
|
-
|
|
96
|
-
所有写操作(create/update/delete/batch-*)必须先 dry-run 再 force:
|
|
97
|
-
|
|
98
|
-
```typescript
|
|
99
|
-
// 1. 预览
|
|
100
|
-
const preview = await $`barista liberica <resource> <action> --dry-run --json`
|
|
101
|
-
const { success, data } = JSON.parse(preview.stdout)
|
|
102
|
-
if (!success) throw new Error(data.error?.message)
|
|
103
|
-
|
|
104
|
-
// 2. 验证 preview 内容是否正确
|
|
105
|
-
|
|
106
|
-
// 3. 执行
|
|
107
|
-
const result = await $`barista liberica <resource> <action> --force --json`
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## 如何查找命令
|
|
111
|
-
|
|
112
|
-
当需要查找具体命令时,使用 search.py 按用户意图搜索。search.py 位于技能安装目录下的 `scripts/search.py`:
|
|
113
|
-
|
|
114
|
-
```bash
|
|
115
|
-
# 示例路径(根据你的 AI 平台调整):
|
|
116
|
-
python3 .claude/skills/barista-cli/scripts/search.py "<用户意图>" [--domain <domain>]
|
|
117
|
-
# 或使用 barista 内置搜索:
|
|
118
|
-
barista skills query "<用户意图>" [--domain <domain>]
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
**domain 选项**:
|
|
122
|
-
|
|
123
|
-
| domain | 搜索范围 |
|
|
124
|
-
|--------|----------|
|
|
125
|
-
| 不传 | 所有服务 |
|
|
126
|
-
| `liberica` | 仅 Liberica |
|
|
127
|
-
| `liberica.purchase-orders` | Liberica 采购订单模块 |
|
|
128
|
-
| `liberica.finance.invoices` | Liberica 财务发票子模块 |
|
|
129
|
-
| `arabica` | 仅 Arabica |
|
|
130
|
-
| `arabica.plans` | Arabica 套餐模块 |
|
|
131
|
-
|
|
132
|
-
**示例**:
|
|
133
|
-
```bash
|
|
134
|
-
python3 search.py "采购订单 列表" --domain liberica
|
|
135
|
-
python3 search.py "创建入库单"
|
|
136
|
-
python3 search.py "subscription" --domain arabica
|
|
137
|
-
python3 search.py "invoice" --domain arabica.invoices
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
## JSON 响应格式
|
|
141
|
-
|
|
142
|
-
所有命令的 `--json` 输出遵循统一格式:
|
|
143
|
-
|
|
144
|
-
```json
|
|
145
|
-
{
|
|
146
|
-
"success": true,
|
|
147
|
-
"data": {
|
|
148
|
-
"items": [...],
|
|
149
|
-
"pagination": { "page": 1, "size": 20, "total": 150 }
|
|
150
|
-
},
|
|
151
|
-
"meta": { "requestId": "...", "timestamp": "...", "environment": "dev", "tenant": "..." }
|
|
152
|
-
}
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
错误格式(两种):
|
|
156
|
-
```json
|
|
157
|
-
{ "success": false, "code": "B0301", "message": "TOKEN解析失败" }
|
|
158
|
-
{ "success": false, "error": { "code": "A150001", "message": "..." } }
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
## 常见错误
|
|
162
|
-
|
|
163
|
-
| 错误 | 含义 | 修复 |
|
|
164
|
-
|------|------|------|
|
|
165
|
-
| B0301 | Liberica token 过期/invalid | `barista liberica auth login <env> <tenant> <username> <password>` |
|
|
166
|
-
| A0307 | 获取 token 失败 | 同上 |
|
|
167
|
-
| Arabica 登录失败 | 会员 token 过期 | `barista arabica auth login <env> <account> <password>` |
|
|
168
|
-
| A958001 | teams issues 的 tenant 不对 | `barista context use-tenant <正确tenant>` 重试 |
|
|
169
|
-
| A1506 | 负责人 ID 列表为空 | 用 `update --status CLOSED --assign-to <id>` 代替 close |
|
|
170
|
-
| B0001 | 系统执行出错 | 检查日期格式(epoch ms)、必填参数 |
|
|
171
|
-
| A0900006 | 错误的账号 | 邮箱用位置参数,不用 --username |
|
|
172
|
-
| A1504 | HTTP 方法错误 | CLI 一般自动处理(list→GET,create→POST) |
|
|
173
|
-
|
|
174
|
-
## 内置 JSON 输出
|
|
175
|
-
|
|
176
|
-
```typescript
|
|
177
|
-
// AI 在 Claude Code / OpenCode 中执行:
|
|
178
|
-
const result = await $`barista liberica <resource> <action> --json`
|
|
179
|
-
const { success, data, error } = JSON.parse(result.stdout)
|
|
180
|
-
|
|
181
|
-
if (!success) {
|
|
182
|
-
if (error?.code === 'B0301') { /* need re-login */ }
|
|
183
|
-
throw new Error(error?.message)
|
|
184
|
-
}
|
|
185
|
-
const items = data?.items || []
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
## ⚠️ 通用约束
|
|
189
|
-
|
|
190
|
-
1. ID 字段必须用 `string` 类型(后端返回 BigInteger 超出 JS number 精度)
|
|
191
|
-
2. 不加 `X-TENANT-ID` header(tenant 在 JWT 中)
|
|
192
|
-
3. Authorization 不加 `Bearer` 前缀
|
|
193
|
-
4. 分页 1-based 直传
|
|
1
|
+
---
|
|
2
|
+
name: barista-cli
|
|
3
|
+
description: >-
|
|
4
|
+
Barista CLI — 让 AI 助手通过命令行操控企业生产管理系统。
|
|
5
|
+
【Liberica】生产管理 SaaS(70+ 模块:基础资料/供应链/库存/生产/BOM/计划/质量/财务/HR/团队等)。
|
|
6
|
+
用户为租户企业员工,通过 tenant + username 登录。
|
|
7
|
+
【Arabica】Liberica 在线订阅平台(套餐/订阅下单/发票/企业管理)。
|
|
8
|
+
用户为会员(个人账号),通过 account + password 登录。
|
|
9
|
+
Actions: list, get, create, update, delete, submit, cancel, review, batch-review,
|
|
10
|
+
enable, disable, copy, track, export, import, compute, release, complete, register.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Barista CLI — AI 操控企业生产管理系统
|
|
14
|
+
|
|
15
|
+
## 系统关系
|
|
16
|
+
|
|
17
|
+
**Liberica** = 生产管理 SaaS(制造企业 ERP)。用户=**租户企业员工**,登录=tenant+username+password。
|
|
18
|
+
**Arabica** = Liberica 在线订阅平台。用户=**会员**(个人账号),登录=account+password。
|
|
19
|
+
|
|
20
|
+
两者用户体系完全独立,但有业务流程关联:
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
会员注册 Arabica → 登录 → 注册企业 → 选套餐下单 → 获得 Liberica 权限
|
|
24
|
+
→ 员工登录 Liberica → 日常生产管理(采购/库存/生产/销售等)
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## When to Apply
|
|
28
|
+
|
|
29
|
+
| 场景 | 系统 | 判断 |
|
|
30
|
+
|------|------|------|
|
|
31
|
+
| 生产数据(订单/库存/物料/BOM/工单/质量/财务/HR) | **Liberica** | 涉及制造企业日常运营 |
|
|
32
|
+
| 订阅/套餐/购买/发票/企业注册 | **Arabica** | 涉及购买 Liberica 服务 |
|
|
33
|
+
| 先看用户意图对应哪个业务领域 | 判断后再选系统 | 不确定时问用户 |
|
|
34
|
+
|
|
35
|
+
## CRITICAL: 关键陷阱(AI 必须遵守)
|
|
36
|
+
|
|
37
|
+
### 1. 邮箱用户名登录
|
|
38
|
+
```bash
|
|
39
|
+
# ✅ 正确:用位置参数
|
|
40
|
+
barista liberica auth login dev shanghai admin@shanghai.newpeaksh.com 123456
|
|
41
|
+
# ❌ 错误:--username 遇到 @ 会报 A0900006
|
|
42
|
+
barista liberica auth login --username admin@shanghai.newpeaksh.com
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 2. teams issues 的 --tenant 被忽略
|
|
46
|
+
```bash
|
|
47
|
+
# ✅ 正确:先切换 context
|
|
48
|
+
barista context use-tenant coffee
|
|
49
|
+
barista liberica teams issues update <id> --status CLOSED --assign-to <employee-number>
|
|
50
|
+
|
|
51
|
+
# ❌ 错误:--tenant coffee 被忽略,使用配置中的默认 tenant
|
|
52
|
+
barista liberica teams issues update <id> --status CLOSED --tenant coffee
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**已知忽略 --tenant 的命令**:teams issues update/close/get/delete
|
|
56
|
+
|
|
57
|
+
### 3. teams issues close 需要 --assign-to
|
|
58
|
+
```
|
|
59
|
+
A1506: 负责人ID列表不能为空
|
|
60
|
+
# 用 update 代替 close(assign-to 需为职员编码,如 0001,勿传 userId):
|
|
61
|
+
barista liberica teams issues update <id> --status CLOSED --assign-to <employee-number>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 4. 日期字段用 epoch ms
|
|
65
|
+
```bash
|
|
66
|
+
# ✅ 正确:Date.now() → 1746547200000
|
|
67
|
+
# ❌ 错误:"2025-05-06" 导致 B0001
|
|
68
|
+
```
|
|
69
|
+
影响命令:transfer-out-forms create(stockDate)、finance invoices create(invoiceDate)
|
|
70
|
+
|
|
71
|
+
### 5. Liberica vs Arabica 登录差异
|
|
72
|
+
| | Liberica | Arabica |
|
|
73
|
+
|--|----------|---------|
|
|
74
|
+
| 命令 | `barista liberica auth login <env> <tenant> <username> <password>` | `barista arabica auth login <env> <account> <password>` |
|
|
75
|
+
| 有无 tenant | 有 | 无 |
|
|
76
|
+
| 用户类型 | 企业员工 | 会员 |
|
|
77
|
+
| 注册 | 无注册命令 | `barista arabica auth register` |
|
|
78
|
+
|
|
79
|
+
### 6. 两个独立的问题系统
|
|
80
|
+
- `liberica issue submit` — 向开发团队上报需求/BUG(通过 Typica → GitLab Issue)
|
|
81
|
+
- 默认上报到 **CLI 项目**(barista)
|
|
82
|
+
- `--project-code arabica` 上报到 **Arabica 项目**
|
|
83
|
+
- `--project-code liberica` 上报到 **Liberica 项目**
|
|
84
|
+
- `--type BUG|REQUIREMENT|QUESTION` 指定问题类型
|
|
85
|
+
- 可用 `validate-project <code>` 验证项目代号是否有效
|
|
86
|
+
- `liberica teams issues` — 团队内部项目的问题管理(本地 DB)
|
|
87
|
+
- 关闭已上报的 issue:在 teams issues 中过滤 BARISTA 项目 ID `2048236204222570498`
|
|
88
|
+
|
|
89
|
+
### 7. token 存储
|
|
90
|
+
- Token 存在系统密钥链(keytar),fallback 到 AES-256-GCM 加密文件
|
|
91
|
+
- Liberica key 格式:`liberica:{environment}:{tenant}`
|
|
92
|
+
- Arabica key 格式:`arabica:{environment}`(无 tenant)
|
|
93
|
+
|
|
94
|
+
## 安全规则
|
|
95
|
+
|
|
96
|
+
所有写操作(create/update/delete/batch-*)必须先 dry-run 再 force:
|
|
97
|
+
|
|
98
|
+
```typescript
|
|
99
|
+
// 1. 预览
|
|
100
|
+
const preview = await $`barista liberica <resource> <action> --dry-run --json`
|
|
101
|
+
const { success, data } = JSON.parse(preview.stdout)
|
|
102
|
+
if (!success) throw new Error(data.error?.message)
|
|
103
|
+
|
|
104
|
+
// 2. 验证 preview 内容是否正确
|
|
105
|
+
|
|
106
|
+
// 3. 执行
|
|
107
|
+
const result = await $`barista liberica <resource> <action> --force --json`
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## 如何查找命令
|
|
111
|
+
|
|
112
|
+
当需要查找具体命令时,使用 search.py 按用户意图搜索。search.py 位于技能安装目录下的 `scripts/search.py`:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# 示例路径(根据你的 AI 平台调整):
|
|
116
|
+
python3 .claude/skills/barista-cli/scripts/search.py "<用户意图>" [--domain <domain>]
|
|
117
|
+
# 或使用 barista 内置搜索:
|
|
118
|
+
barista skills query "<用户意图>" [--domain <domain>]
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**domain 选项**:
|
|
122
|
+
|
|
123
|
+
| domain | 搜索范围 |
|
|
124
|
+
|--------|----------|
|
|
125
|
+
| 不传 | 所有服务 |
|
|
126
|
+
| `liberica` | 仅 Liberica |
|
|
127
|
+
| `liberica.purchase-orders` | Liberica 采购订单模块 |
|
|
128
|
+
| `liberica.finance.invoices` | Liberica 财务发票子模块 |
|
|
129
|
+
| `arabica` | 仅 Arabica |
|
|
130
|
+
| `arabica.plans` | Arabica 套餐模块 |
|
|
131
|
+
|
|
132
|
+
**示例**:
|
|
133
|
+
```bash
|
|
134
|
+
python3 search.py "采购订单 列表" --domain liberica
|
|
135
|
+
python3 search.py "创建入库单"
|
|
136
|
+
python3 search.py "subscription" --domain arabica
|
|
137
|
+
python3 search.py "invoice" --domain arabica.invoices
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## JSON 响应格式
|
|
141
|
+
|
|
142
|
+
所有命令的 `--json` 输出遵循统一格式:
|
|
143
|
+
|
|
144
|
+
```json
|
|
145
|
+
{
|
|
146
|
+
"success": true,
|
|
147
|
+
"data": {
|
|
148
|
+
"items": [...],
|
|
149
|
+
"pagination": { "page": 1, "size": 20, "total": 150 }
|
|
150
|
+
},
|
|
151
|
+
"meta": { "requestId": "...", "timestamp": "...", "environment": "dev", "tenant": "..." }
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
错误格式(两种):
|
|
156
|
+
```json
|
|
157
|
+
{ "success": false, "code": "B0301", "message": "TOKEN解析失败" }
|
|
158
|
+
{ "success": false, "error": { "code": "A150001", "message": "..." } }
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## 常见错误
|
|
162
|
+
|
|
163
|
+
| 错误 | 含义 | 修复 |
|
|
164
|
+
|------|------|------|
|
|
165
|
+
| B0301 | Liberica token 过期/invalid | `barista liberica auth login <env> <tenant> <username> <password>` |
|
|
166
|
+
| A0307 | 获取 token 失败 | 同上 |
|
|
167
|
+
| Arabica 登录失败 | 会员 token 过期 | `barista arabica auth login <env> <account> <password>` |
|
|
168
|
+
| A958001 | teams issues 的 tenant 不对 | `barista context use-tenant <正确tenant>` 重试 |
|
|
169
|
+
| A1506 | 负责人 ID 列表为空 | 用 `update --status CLOSED --assign-to <id>` 代替 close |
|
|
170
|
+
| B0001 | 系统执行出错 | 检查日期格式(epoch ms)、必填参数 |
|
|
171
|
+
| A0900006 | 错误的账号 | 邮箱用位置参数,不用 --username |
|
|
172
|
+
| A1504 | HTTP 方法错误 | CLI 一般自动处理(list→GET,create→POST) |
|
|
173
|
+
|
|
174
|
+
## 内置 JSON 输出
|
|
175
|
+
|
|
176
|
+
```typescript
|
|
177
|
+
// AI 在 Claude Code / OpenCode 中执行:
|
|
178
|
+
const result = await $`barista liberica <resource> <action> --json`
|
|
179
|
+
const { success, data, error } = JSON.parse(result.stdout)
|
|
180
|
+
|
|
181
|
+
if (!success) {
|
|
182
|
+
if (error?.code === 'B0301') { /* need re-login */ }
|
|
183
|
+
throw new Error(error?.message)
|
|
184
|
+
}
|
|
185
|
+
const items = data?.items || []
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## ⚠️ 通用约束
|
|
189
|
+
|
|
190
|
+
1. ID 字段必须用 `string` 类型(后端返回 BigInteger 超出 JS number 精度)
|
|
191
|
+
2. 不加 `X-TENANT-ID` header(tenant 在 JWT 中)
|
|
192
|
+
3. Authorization 不加 `Bearer` 前缀
|
|
193
|
+
4. 分页 1-based 直传
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_metadata": {
|
|
3
|
-
"generatedAt": "2026-09-
|
|
3
|
+
"generatedAt": "2026-09-05T02:11:08.796Z",
|
|
4
4
|
"source": "src/commands/",
|
|
5
5
|
"generator": "src/skills/barista-cli/scripts/generate.ts"
|
|
6
6
|
},
|
|
@@ -3425,6 +3425,21 @@
|
|
|
3425
3425
|
}
|
|
3426
3426
|
}
|
|
3427
3427
|
},
|
|
3428
|
+
"help": {
|
|
3429
|
+
"group": "其他",
|
|
3430
|
+
"description": "Query docs-as-code help rules (feature / test)",
|
|
3431
|
+
"commands": {
|
|
3432
|
+
"feature": {
|
|
3433
|
+
"description": "Query customer-visible help rules for a feature (GET /enterprise/help/feature)",
|
|
3434
|
+
"json": true
|
|
3435
|
+
},
|
|
3436
|
+
"shared": {},
|
|
3437
|
+
"test": {
|
|
3438
|
+
"description": "Query test help rules (biz.md + rules.md) for a feature (GET /enterprise/help/test/feature)",
|
|
3439
|
+
"json": true
|
|
3440
|
+
}
|
|
3441
|
+
}
|
|
3442
|
+
},
|
|
3428
3443
|
"issue": {
|
|
3429
3444
|
"group": "其他",
|
|
3430
3445
|
"description": "Report and track CLI issues",
|
|
@@ -3845,7 +3860,8 @@
|
|
|
3845
3860
|
"json": true,
|
|
3846
3861
|
"dry-run": true,
|
|
3847
3862
|
"force": true
|
|
3848
|
-
}
|
|
3863
|
+
},
|
|
3864
|
+
"upsert-shared": {}
|
|
3849
3865
|
}
|
|
3850
3866
|
}
|
|
3851
3867
|
},
|