@newpeak/barista-cli 0.2.223 → 0.2.229

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/dist/commands/liberica/bom/list.d.ts.map +1 -1
  2. package/dist/commands/liberica/bom/list.js +14 -2
  3. package/dist/commands/liberica/bom/list.js.map +1 -1
  4. package/dist/commands/liberica/bom/update.d.ts.map +1 -1
  5. package/dist/commands/liberica/bom/update.js +13 -17
  6. package/dist/commands/liberica/bom/update.js.map +1 -1
  7. package/dist/commands/liberica/calendar/set.d.ts.map +1 -1
  8. package/dist/commands/liberica/calendar/set.js +12 -4
  9. package/dist/commands/liberica/calendar/set.js.map +1 -1
  10. package/dist/commands/liberica/dict-types/tenant-items.d.ts.map +1 -1
  11. package/dist/commands/liberica/dict-types/tenant-items.js +41 -21
  12. package/dist/commands/liberica/dict-types/tenant-items.js.map +1 -1
  13. package/dist/commands/liberica/dict-types/update.d.ts.map +1 -1
  14. package/dist/commands/liberica/dict-types/update.js +13 -8
  15. package/dist/commands/liberica/dict-types/update.js.map +1 -1
  16. package/dist/commands/liberica/dicts/create.d.ts.map +1 -1
  17. package/dist/commands/liberica/dicts/create.js +13 -1
  18. package/dist/commands/liberica/dicts/create.js.map +1 -1
  19. package/dist/commands/liberica/dicts/list.d.ts.map +1 -1
  20. package/dist/commands/liberica/dicts/list.js +13 -7
  21. package/dist/commands/liberica/dicts/list.js.map +1 -1
  22. package/dist/commands/liberica/dicts/update.d.ts.map +1 -1
  23. package/dist/commands/liberica/dicts/update.js +16 -9
  24. package/dist/commands/liberica/dicts/update.js.map +1 -1
  25. package/dist/commands/liberica/finance/expense/dept-summary.js +12 -12
  26. package/dist/commands/liberica/finance/expense/dept-summary.js.map +1 -1
  27. package/dist/commands/liberica/finance/expense/list.d.ts.map +1 -1
  28. package/dist/commands/liberica/finance/expense/list.js +12 -14
  29. package/dist/commands/liberica/finance/expense/list.js.map +1 -1
  30. package/dist/commands/liberica/issue/submit.d.ts.map +1 -1
  31. package/dist/commands/liberica/issue/submit.js +11 -10
  32. package/dist/commands/liberica/issue/submit.js.map +1 -1
  33. package/dist/commands/liberica/leaderboard/create.d.ts.map +1 -1
  34. package/dist/commands/liberica/leaderboard/create.js +25 -6
  35. package/dist/commands/liberica/leaderboard/create.js.map +1 -1
  36. package/dist/commands/liberica/leaderboard/update.d.ts.map +1 -1
  37. package/dist/commands/liberica/leaderboard/update.js +15 -11
  38. package/dist/commands/liberica/leaderboard/update.js.map +1 -1
  39. package/dist/commands/liberica/material-transfers/create.d.ts.map +1 -1
  40. package/dist/commands/liberica/material-transfers/create.js +3 -0
  41. package/dist/commands/liberica/material-transfers/create.js.map +1 -1
  42. package/dist/commands/liberica/mould/list.d.ts.map +1 -1
  43. package/dist/commands/liberica/mould/list.js +10 -4
  44. package/dist/commands/liberica/mould/list.js.map +1 -1
  45. package/dist/commands/liberica/mould/set-status.d.ts.map +1 -1
  46. package/dist/commands/liberica/mould/set-status.js +12 -17
  47. package/dist/commands/liberica/mould/set-status.js.map +1 -1
  48. package/dist/commands/liberica/suppliers/create.d.ts.map +1 -1
  49. package/dist/commands/liberica/suppliers/create.js +14 -1
  50. package/dist/commands/liberica/suppliers/create.js.map +1 -1
  51. package/dist/commands/liberica/teams/issues/close.d.ts.map +1 -1
  52. package/dist/commands/liberica/teams/issues/close.js +5 -0
  53. package/dist/commands/liberica/teams/issues/close.js.map +1 -1
  54. package/dist/commands/liberica/teams/issues/create.d.ts.map +1 -1
  55. package/dist/commands/liberica/teams/issues/create.js +29 -31
  56. package/dist/commands/liberica/teams/issues/create.js.map +1 -1
  57. package/dist/commands/liberica/teams/issues/list.d.ts.map +1 -1
  58. package/dist/commands/liberica/teams/issues/list.js +27 -31
  59. package/dist/commands/liberica/teams/issues/list.js.map +1 -1
  60. package/dist/commands/liberica/teams/issues/update.d.ts.map +1 -1
  61. package/dist/commands/liberica/teams/issues/update.js +5 -0
  62. package/dist/commands/liberica/teams/issues/update.js.map +1 -1
  63. package/dist/commands/liberica/teams/project-codes/create.d.ts.map +1 -1
  64. package/dist/commands/liberica/teams/project-codes/create.js +12 -10
  65. package/dist/commands/liberica/teams/project-codes/create.js.map +1 -1
  66. package/dist/commands/liberica/teams/projects/create.d.ts.map +1 -1
  67. package/dist/commands/liberica/teams/projects/create.js +23 -13
  68. package/dist/commands/liberica/teams/projects/create.js.map +1 -1
  69. package/dist/commands/liberica/teams/test-cases/create.d.ts.map +1 -1
  70. package/dist/commands/liberica/teams/test-cases/create.js +11 -11
  71. package/dist/commands/liberica/teams/test-cases/create.js.map +1 -1
  72. package/dist/commands/liberica/teams/test-executions/add.d.ts.map +1 -1
  73. package/dist/commands/liberica/teams/test-executions/add.js +11 -11
  74. package/dist/commands/liberica/teams/test-executions/add.js.map +1 -1
  75. package/dist/commands/liberica/teams/test-projects/create.d.ts.map +1 -1
  76. package/dist/commands/liberica/teams/test-projects/create.js +22 -24
  77. package/dist/commands/liberica/teams/test-projects/create.js.map +1 -1
  78. package/dist/commands/liberica/teams/test-runs/create.d.ts.map +1 -1
  79. package/dist/commands/liberica/teams/test-runs/create.js +11 -11
  80. package/dist/commands/liberica/teams/test-runs/create.js.map +1 -1
  81. package/dist/commands/liberica/teams/test-suites/create.d.ts.map +1 -1
  82. package/dist/commands/liberica/teams/test-suites/create.js +20 -22
  83. package/dist/commands/liberica/teams/test-suites/create.js.map +1 -1
  84. package/dist/commands/liberica/warehouses/create.d.ts.map +1 -1
  85. package/dist/commands/liberica/warehouses/create.js +14 -1
  86. package/dist/commands/liberica/warehouses/create.js.map +1 -1
  87. package/dist/commands/liberica/warehouses/locations/create.d.ts.map +1 -1
  88. package/dist/commands/liberica/warehouses/locations/create.js +12 -13
  89. package/dist/commands/liberica/warehouses/locations/create.js.map +1 -1
  90. package/dist/commands/liberica/work-centers/create.d.ts.map +1 -1
  91. package/dist/commands/liberica/work-centers/create.js +14 -1
  92. package/dist/commands/liberica/work-centers/create.js.map +1 -1
  93. package/dist/commands/liberica/work-orders/create.d.ts.map +1 -1
  94. package/dist/commands/liberica/work-orders/create.js +22 -0
  95. package/dist/commands/liberica/work-orders/create.js.map +1 -1
  96. package/dist/utils/enum-dict-mapping.d.ts +9 -0
  97. package/dist/utils/enum-dict-mapping.d.ts.map +1 -0
  98. package/dist/utils/enum-dict-mapping.js +237 -0
  99. package/dist/utils/enum-dict-mapping.js.map +1 -0
  100. package/dist/utils/enum-validation.d.ts +12 -0
  101. package/dist/utils/enum-validation.d.ts.map +1 -0
  102. package/dist/utils/enum-validation.js +86 -0
  103. package/dist/utils/enum-validation.js.map +1 -0
  104. package/dist/utils/team-issue-error.d.ts +14 -0
  105. package/dist/utils/team-issue-error.d.ts.map +1 -0
  106. package/dist/utils/team-issue-error.js +38 -0
  107. package/dist/utils/team-issue-error.js.map +1 -0
  108. package/package.json +1 -1
  109. package/skills/barista-cli/data/commands.json +2 -2
  110. package/skills/barista-cli/data/commands.yaml +2 -2
@@ -0,0 +1,237 @@
1
+ export const ENUM_DICT_MAPPING = {
2
+ 'leaderboard:create:period-type': {
3
+ dictTypeCode: 'LEADERBOARD_PERIOD_TYPE',
4
+ fieldLabel: '榜单期间类型',
5
+ errorCode: 'INVALID_PERIOD_TYPE',
6
+ fallbackCodes: ['DAILY', 'WEEKLY', 'MONTHLY', 'QUARTERLY', 'YEARLY'],
7
+ },
8
+ 'leaderboard:update:period-type': {
9
+ dictTypeCode: 'LEADERBOARD_PERIOD_TYPE',
10
+ fieldLabel: '榜单期间类型',
11
+ errorCode: 'INVALID_PERIOD_TYPE',
12
+ fallbackCodes: ['DAILY', 'WEEKLY', 'MONTHLY', 'QUARTERLY', 'YEARLY'],
13
+ },
14
+ 'leaderboard:create:data-source-type': {
15
+ dictTypeCode: 'LEADERBOARD_DATA_SOURCE_TYPE',
16
+ fieldLabel: '数据来源类型',
17
+ errorCode: 'INVALID_DATA_SOURCE_TYPE',
18
+ fallbackCodes: ['CSV_IMPORT', 'SYSTEM_CALC'],
19
+ },
20
+ 'calendar:set:date-type': {
21
+ dictTypeCode: 'CALENDAR_DATE_TYPE',
22
+ fieldLabel: '日期类型',
23
+ errorCode: 'INVALID_DATE_TYPE',
24
+ fallbackCodes: ['WORKDAY', 'WEEKEND', 'HOLIDAY'],
25
+ },
26
+ 'work-orders:create:type': {
27
+ dictTypeCode: 'WORK_ORDER_TYPE',
28
+ fieldLabel: '工单类型',
29
+ errorCode: 'INVALID_WORK_ORDER_TYPE',
30
+ },
31
+ 'work-orders:create:source-type': {
32
+ dictTypeCode: 'SOURCE_TYPE',
33
+ fieldLabel: '源单类型',
34
+ errorCode: 'INVALID_SOURCE_TYPE',
35
+ },
36
+ 'suppliers:create:type': {
37
+ dictTypeCode: 'PARTNER_TYPE',
38
+ fieldLabel: '供应商类型',
39
+ errorCode: 'INVALID_SUPPLIER_TYPE',
40
+ },
41
+ 'warehouses:create:type': {
42
+ dictTypeCode: 'WAREHOUSE_CLASS',
43
+ fieldLabel: '仓库类型',
44
+ errorCode: 'INVALID_WAREHOUSE_TYPE',
45
+ },
46
+ 'work-centers:create:type': {
47
+ dictTypeCode: 'WORK_CENTER_TYPE',
48
+ fieldLabel: '工作中心类型',
49
+ errorCode: 'INVALID_WORK_CENTER_TYPE',
50
+ },
51
+ 'mould:set-status:status': {
52
+ dictTypeCode: 'MOULD_STATUS',
53
+ fieldLabel: '模具状态',
54
+ errorCode: 'INVALID_MOULD_STATUS',
55
+ },
56
+ 'mould:list:status': {
57
+ dictTypeCode: 'MOULD_STATUS',
58
+ fieldLabel: '模具状态',
59
+ errorCode: 'INVALID_MOULD_STATUS',
60
+ },
61
+ 'issue:submit:type': {
62
+ dictTypeCode: 'ISSUE_TYPE',
63
+ fieldLabel: '问题类型',
64
+ errorCode: 'INVALID_ISSUE_TYPE',
65
+ },
66
+ 'teams:issues:create:type': {
67
+ dictTypeCode: 'ISSUE_TYPE',
68
+ fieldLabel: '问题类型',
69
+ errorCode: 'INVALID_ISSUE_TYPE',
70
+ },
71
+ 'teams:issues:create:priority': {
72
+ dictTypeCode: 'TEAM_ISSUE_PRIORITY',
73
+ fieldLabel: '优先级',
74
+ errorCode: 'INVALID_PRIORITY',
75
+ fallbackCodes: ['LOW', 'MEDIUM', 'HIGH', 'URGENT'],
76
+ },
77
+ 'teams:issues:create:status': {
78
+ dictTypeCode: 'TEAM_ISSUE_STATUS',
79
+ fieldLabel: '问题状态',
80
+ errorCode: 'INVALID_STATUS',
81
+ fallbackCodes: [
82
+ 'OPEN', 'IN_PROGRESS', 'RESOLVED', 'CLOSED', 'NONE', 'PENDING', 'PROCESSING',
83
+ 'COMPLETED', 'CANCELLED', 'DESIGNING', 'DESIGN_REVIEW', 'DESIGN_APPROVED',
84
+ 'SPLIT', 'DEVELOPING', 'DONE_DEV', 'VERIFIED', 'WONTFIX',
85
+ ],
86
+ },
87
+ 'teams:issues:list:status': {
88
+ dictTypeCode: 'TEAM_ISSUE_STATUS',
89
+ fieldLabel: '问题状态',
90
+ errorCode: 'INVALID_STATUS',
91
+ fallbackCodes: [
92
+ 'OPEN', 'IN_PROGRESS', 'RESOLVED', 'CLOSED', 'NONE', 'PENDING', 'PROCESSING',
93
+ 'COMPLETED', 'CANCELLED', 'DESIGNING', 'DESIGN_REVIEW', 'DESIGN_APPROVED',
94
+ 'SPLIT', 'DEVELOPING', 'DONE_DEV', 'VERIFIED', 'WONTFIX',
95
+ ],
96
+ },
97
+ 'teams:issues:list:fp-stage': {
98
+ dictTypeCode: 'FP_STAGE',
99
+ fieldLabel: 'FP 阶段',
100
+ errorCode: 'INVALID_FP_STAGE',
101
+ fallbackCodes: ['no-estimate', 'estimated-not-reviewed', 'approved-no-actual'],
102
+ normalizeCase: false,
103
+ },
104
+ 'teams:projects:create:status': {
105
+ dictTypeCode: 'TEAM_PROJECT_STATUS',
106
+ fieldLabel: '项目状态',
107
+ errorCode: 'INVALID_PROJECT_STATUS',
108
+ fallbackCodes: ['ACTIVE', 'INACTIVE', 'ARCHIVED'],
109
+ },
110
+ 'teams:projects:create:priority': {
111
+ dictTypeCode: 'TEAM_ISSUE_PRIORITY',
112
+ fieldLabel: '优先级',
113
+ errorCode: 'INVALID_PRIORITY',
114
+ fallbackCodes: ['LOW', 'MEDIUM', 'HIGH', 'URGENT'],
115
+ },
116
+ 'teams:test-projects:create:type': {
117
+ dictTypeCode: 'TEST_PROJECT_TYPE',
118
+ fieldLabel: '测试项目类型',
119
+ errorCode: 'INVALID_TEST_TYPE',
120
+ fallbackCodes: ['UNIT', 'INTEGRATION', 'E2E', 'MANUAL', 'PERFORMANCE'],
121
+ },
122
+ 'teams:test-projects:create:framework': {
123
+ dictTypeCode: 'TEST_FRAMEWORK',
124
+ fieldLabel: '测试框架',
125
+ errorCode: 'INVALID_FRAMEWORK',
126
+ fallbackCodes: ['JEST', 'VITEST', 'JUNIT', 'PYTEST', 'CUCUMBER', 'PLAYWRIGHT', 'CYPRESS', 'SELENIUM', 'OTHER'],
127
+ },
128
+ 'teams:test-suites:create:test-type': {
129
+ dictTypeCode: 'TEST_TYPE',
130
+ fieldLabel: '测试类型',
131
+ errorCode: 'INVALID_TEST_TYPE',
132
+ fallbackCodes: ['FUNCTIONAL', 'REGRESSION', 'SMOKE', 'SANITY', 'PERFORMANCE', 'SECURITY', 'ACCEPTANCE'],
133
+ },
134
+ 'teams:test-suites:create:framework': {
135
+ dictTypeCode: 'TEST_FRAMEWORK',
136
+ fieldLabel: '测试框架',
137
+ errorCode: 'INVALID_FRAMEWORK',
138
+ fallbackCodes: ['JEST', 'VITEST', 'JUNIT', 'PYTEST', 'CUCUMBER', 'PLAYWRIGHT', 'CYPRESS', 'SELENIUM', 'OTHER'],
139
+ },
140
+ 'teams:test-runs:create:trigger-source': {
141
+ dictTypeCode: 'TRIGGER_SOURCE',
142
+ fieldLabel: '触发来源',
143
+ errorCode: 'INVALID_TRIGGER_SOURCE',
144
+ fallbackCodes: ['MANUAL', 'CI', 'SCHEDULED', 'API'],
145
+ },
146
+ 'teams:test-executions:add:status': {
147
+ dictTypeCode: 'TEST_EXECUTION_STATUS',
148
+ fieldLabel: '执行状态',
149
+ errorCode: 'INVALID_EXEC_STATUS',
150
+ fallbackCodes: ['PASSED', 'FAILED', 'ERROR', 'SKIPPED', 'RUNNING'],
151
+ },
152
+ 'teams:test-cases:create:status': {
153
+ dictTypeCode: 'TEST_CASE_STATUS',
154
+ fieldLabel: '用例状态',
155
+ errorCode: 'INVALID_TEST_CASE_STATUS',
156
+ fallbackCodes: ['ACTIVE', 'DRAFT', 'DEPRECATED', 'REVIEW'],
157
+ },
158
+ 'teams:project-codes:create:status': {
159
+ dictTypeCode: 'PROJECT_CODE_STATUS',
160
+ fieldLabel: '项目代号状态',
161
+ errorCode: 'INVALID_PROJECT_CODE_STATUS',
162
+ fallbackCodes: ['AVAILABLE', 'USED'],
163
+ },
164
+ 'finance:expense:list:status': {
165
+ dictTypeCode: 'EXPENSE_STATUS',
166
+ fieldLabel: '报销单状态',
167
+ errorCode: 'INVALID_STATUS',
168
+ fallbackCodes: ['DRAFT', 'SUBMITTED', 'REJECTED', 'APPROVED', 'PAID', 'PAY_FAILED', 'CONFIRMED', 'CANCELLED'],
169
+ },
170
+ 'finance:expense:dept-summary:period-type': {
171
+ dictTypeCode: 'EXPENSE_PERIOD_TYPE',
172
+ fieldLabel: '期间类型',
173
+ errorCode: 'INVALID_PERIOD_TYPE',
174
+ fallbackCodes: ['MONTH', 'QUARTER', 'YEAR', 'YTD'],
175
+ },
176
+ 'warehouse-locations:create:status': {
177
+ dictTypeCode: 'ENABLE_STATUS',
178
+ fieldLabel: '库位状态',
179
+ errorCode: 'INVALID_LOCATION_STATUS',
180
+ fallbackCodes: ['1', '2'],
181
+ },
182
+ 'bom:update:status': {
183
+ dictTypeCode: 'ENABLE_STATUS',
184
+ fieldLabel: 'BOM状态',
185
+ errorCode: 'INVALID_STATUS',
186
+ fallbackCodes: ['1', '2', 'ENABLED', 'DISABLED'],
187
+ },
188
+ 'bom:list:status': {
189
+ dictTypeCode: 'ENABLE_STATUS',
190
+ fieldLabel: 'BOM状态',
191
+ errorCode: 'INVALID_STATUS',
192
+ fallbackCodes: ['1', '2'],
193
+ },
194
+ 'dicts:create:status': {
195
+ dictTypeCode: 'ENABLE_STATUS',
196
+ fieldLabel: '字典状态',
197
+ errorCode: 'INVALID_STATUS',
198
+ fallbackCodes: ['1', '2'],
199
+ },
200
+ 'dicts:update:status': {
201
+ dictTypeCode: 'ENABLE_STATUS',
202
+ fieldLabel: '字典状态',
203
+ errorCode: 'INVALID_STATUS',
204
+ fallbackCodes: ['1', '2'],
205
+ },
206
+ 'dicts:list:status': {
207
+ dictTypeCode: 'ENABLE_STATUS',
208
+ fieldLabel: '字典状态',
209
+ errorCode: 'INVALID_STATUS',
210
+ fallbackCodes: ['1', '2', 'ENABLE', 'DISABLE'],
211
+ },
212
+ 'dict-types:update:status': {
213
+ dictTypeCode: 'ENABLE_STATUS',
214
+ fieldLabel: '字典类型状态',
215
+ errorCode: 'INVALID_STATUS',
216
+ fallbackCodes: ['1', '2'],
217
+ },
218
+ 'dict-types:tenant-items:status': {
219
+ dictTypeCode: 'ENABLE_STATUS',
220
+ fieldLabel: '字典类型状态',
221
+ errorCode: 'INVALID_STATUS',
222
+ fallbackCodes: ['1', '2', 'ENABLE', 'DISABLE'],
223
+ },
224
+ 'dict-types:tenant-items:item-status': {
225
+ dictTypeCode: 'ENABLE_STATUS',
226
+ fieldLabel: '字典项状态',
227
+ errorCode: 'INVALID_STATUS',
228
+ fallbackCodes: ['1', '2', 'ENABLE', 'DISABLE'],
229
+ },
230
+ 'dict-types:tenant-items:predefined-flag': {
231
+ dictTypeCode: 'yes_no',
232
+ fieldLabel: '预置标记',
233
+ errorCode: 'INVALID_PREDEFINED_FLAG',
234
+ fallbackCodes: ['Y', 'N'],
235
+ },
236
+ };
237
+ //# sourceMappingURL=enum-dict-mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum-dict-mapping.js","sourceRoot":"","sources":["../../src/utils/enum-dict-mapping.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface EnumValidationOptions {
2
+ value?: string;
3
+ dictTypeCode: string;
4
+ fieldLabel: string;
5
+ jsonOutput: boolean;
6
+ errorCode?: string;
7
+ fallbackCodes?: string[];
8
+ normalizeCase?: boolean;
9
+ }
10
+ export declare function clearEnumDictCache(): void;
11
+ export declare function validateEnumValue(options: EnumValidationOptions): Promise<string | undefined>;
12
+ //# sourceMappingURL=enum-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum-validation.d.ts","sourceRoot":"","sources":["../../src/utils/enum-validation.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAKD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA+E7B"}
@@ -0,0 +1,86 @@
1
+ import chalk from 'chalk';
2
+ import { apiClient } from '../core/api/client.js';
3
+ import { configManager } from '../core/config/manager.js';
4
+ const dictCache = new Map();
5
+ const CACHE_TTL_MS = 5 * 60 * 1000;
6
+ export function clearEnumDictCache() {
7
+ dictCache.clear();
8
+ }
9
+ export async function validateEnumValue(options) {
10
+ const { value, dictTypeCode, fieldLabel, jsonOutput, fallbackCodes, normalizeCase } = options;
11
+ if (value === undefined || value === null || value === '') {
12
+ return value;
13
+ }
14
+ const context = configManager.getCurrentContext();
15
+ const environment = context.environment;
16
+ const tenant = context.tenant;
17
+ const cacheKey = `${environment}:${tenant}:${dictTypeCode}`;
18
+ let legalCodes = null;
19
+ let fetchFailed = false;
20
+ const cached = dictCache.get(cacheKey);
21
+ if (cached && Date.now() - cached.timestamp < CACHE_TTL_MS) {
22
+ legalCodes = cached.codes;
23
+ }
24
+ if (legalCodes === null) {
25
+ try {
26
+ const response = await apiClient.listDictItems(environment, tenant, {
27
+ dictTypeCode,
28
+ pageNo: 1,
29
+ pageSize: 500,
30
+ });
31
+ if (response.success) {
32
+ const records = response.data || [];
33
+ legalCodes = records.map((r) => r.dictCode).filter(Boolean);
34
+ dictCache.set(cacheKey, { codes: legalCodes, timestamp: Date.now() });
35
+ }
36
+ else {
37
+ fetchFailed = true;
38
+ legalCodes = [];
39
+ }
40
+ }
41
+ catch {
42
+ fetchFailed = true;
43
+ legalCodes = [];
44
+ }
45
+ }
46
+ if (fetchFailed) {
47
+ const msg = `字典校验暂不可用(${dictTypeCode}),跳过该校验,继续提交`;
48
+ if (jsonOutput) {
49
+ console.error(JSON.stringify({ success: true, warning: msg }));
50
+ }
51
+ else {
52
+ console.error(chalk.yellow(`\n⚠ ${msg}\n`));
53
+ }
54
+ return value;
55
+ }
56
+ // Backend dict is the source of truth; the local fallback list preserves
57
+ // previously-accepted values so refactoring never regresses legal inputs
58
+ // (transition behavior until the backend dict is fully registered).
59
+ if (fallbackCodes && fallbackCodes.length > 0) {
60
+ legalCodes = Array.from(new Set([...legalCodes, ...fallbackCodes]));
61
+ }
62
+ if (legalCodes.length === 0) {
63
+ const msg = `字典校验暂不可用(${dictTypeCode}),跳过该校验,继续提交`;
64
+ if (jsonOutput) {
65
+ console.error(JSON.stringify({ success: true, warning: msg }));
66
+ }
67
+ else {
68
+ console.error(chalk.yellow(`\n⚠ ${msg}\n`));
69
+ }
70
+ return value;
71
+ }
72
+ const normalized = normalizeCase === false ? value : value.toUpperCase();
73
+ if (legalCodes.includes(normalized)) {
74
+ return normalized;
75
+ }
76
+ const code = options.errorCode || `INVALID_${dictTypeCode}`;
77
+ const message = `${fieldLabel} 非法值: ${value},合法值: ${legalCodes.join(', ')}`;
78
+ if (jsonOutput) {
79
+ console.log(JSON.stringify({ success: false, error: { code, message } }));
80
+ }
81
+ else {
82
+ console.error(chalk.red(`\n✗ ${message}\n`));
83
+ }
84
+ process.exit(1);
85
+ }
86
+ //# sourceMappingURL=enum-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum-validation.js","sourceRoot":"","sources":["../../src/utils/enum-validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export interface WeigherB0001Diagnostic {
2
+ issueCode: string;
3
+ backendIssue: string;
4
+ detail: string;
5
+ }
6
+ export declare function detectWeigherB0001(err: {
7
+ code?: string;
8
+ message?: string;
9
+ } | undefined): WeigherB0001Diagnostic | null;
10
+ export declare function handleWeigherB0001(diag: WeigherB0001Diagnostic, jsonOutput: boolean, commandLabel: string, err: {
11
+ code?: string;
12
+ message?: string;
13
+ }): never;
14
+ //# sourceMappingURL=team-issue-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-issue-error.d.ts","sourceRoot":"","sources":["../../src/utils/team-issue-error.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GACnD,sBAAsB,GAAG,IAAI,CAa/B;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,sBAAsB,EAC5B,UAAU,EAAE,OAAO,EACnB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACvC,KAAK,CAyBP"}
@@ -0,0 +1,38 @@
1
+ import chalk from 'chalk';
2
+ export function detectWeigherB0001(err) {
3
+ if (!err || err.code !== 'B0001')
4
+ return null;
5
+ const msg = err.message || '';
6
+ if (!/rollback-only|weigher/i.test(msg))
7
+ return null;
8
+ return {
9
+ issueCode: 'WEIGHER_TRIGGER_B0001',
10
+ backendIssue: 'TYP-82725278',
11
+ detail: 'Known backend regression (TYP-82725278): the TeamIssueWeigherTriggerListener synchronously calls RunnerJobTriggerApi.trigger() inside the issue-edit transaction. ' +
12
+ 'When addJob throws RUNNER_TYPE_NOT_EXIST, the shared transaction is marked rollback-only, so the outer edit() commit fails with B0001. ' +
13
+ 'Status transitions to IN_PROGRESS/RESOLVED/CLOSED are affected. OPEN/WONTFIX transitions still work. ' +
14
+ 'Retrying will not succeed until the backend fix is deployed. See backend issue TYP-82725278.',
15
+ };
16
+ }
17
+ export function handleWeigherB0001(diag, jsonOutput, commandLabel, err) {
18
+ const msg = err.message || 'Unknown error';
19
+ if (jsonOutput) {
20
+ console.log(JSON.stringify({
21
+ success: false,
22
+ error: {
23
+ code: err.code || 'B0001',
24
+ message: msg,
25
+ issueCode: diag.issueCode,
26
+ backendIssue: diag.backendIssue,
27
+ detail: diag.detail,
28
+ },
29
+ }, null, 2));
30
+ }
31
+ else {
32
+ console.error(chalk.red(`\n✗ Failed to ${commandLabel}: ${msg}`));
33
+ console.error(chalk.gray(` Error code: ${err.code}`));
34
+ console.error(chalk.gray(` Known backend regression (${diag.backendIssue}) — ${diag.detail}`));
35
+ }
36
+ process.exit(1);
37
+ }
38
+ //# sourceMappingURL=team-issue-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-issue-error.js","sourceRoot":"","sources":["../../src/utils/team-issue-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,UAAU,kBAAkB,CAChC,GAAoD;IAEpD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACrD,OAAO;QACL,SAAS,EAAE,uBAAuB;QAClC,YAAY,EAAE,cAAc;QAC5B,MAAM,EACJ,oKAAoK;YACpK,yIAAyI;YACzI,uGAAuG;YACvG,8FAA8F;KACjG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAA4B,EAC5B,UAAmB,EACnB,YAAoB,EACpB,GAAwC;IAExC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,eAAe,CAAC;IAC3C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,OAAO;gBACzB,OAAO,EAAE,GAAG;gBACZ,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB;SACF,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,YAAY,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,YAAY,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newpeak/barista-cli",
3
- "version": "0.2.223",
3
+ "version": "0.2.229",
4
4
  "description": "AI Tools CLI for Liberica and Arabica services",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "_metadata": {
3
- "generatedAt": "2026-08-10T10:35:45.268Z",
3
+ "generatedAt": "2026-08-11T10:00:56.672Z",
4
4
  "source": "src/commands/",
5
5
  "generator": "src/skills/barista-cli/scripts/generate.ts"
6
6
  },
@@ -392,7 +392,7 @@
392
392
  "dry-run": true
393
393
  },
394
394
  "set-status": {
395
- "description": "Set mould status (FINE | REPAIR | SCRAP)",
395
+ "description": "Set mould status (legal values from backend dict MOULD_STATUS)",
396
396
  "json": true,
397
397
  "dry-run": true,
398
398
  "force": true
@@ -1,5 +1,5 @@
1
1
  # ★ 自动生成。修改源码后重新生成:npm run generate-skills-data
2
- # ★ 生成时间: 2026-08-10T10:35:45.281Z
2
+ # ★ 生成时间: 2026-08-11T10:00:56.682Z
3
3
 
4
4
  global:
5
5
  # ── 全局 ──
@@ -252,7 +252,7 @@ liberica:
252
252
  description: "Register new mould entity into the system"
253
253
  options: [--json, --dry-run]
254
254
  set-status:
255
- description: "Set mould status (FINE | REPAIR | SCRAP)"
255
+ description: "Set mould status (legal values from backend dict MOULD_STATUS)"
256
256
  options: [--json, --dry-run, --force]
257
257
  stock-in:
258
258
  description: "Create a mould stock-in (入库单) to add mould materials to the entity list"