@newpeak/barista-cli 0.1.131 → 0.1.133
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 +78 -63
- package/dist/commands/liberica/issue/close.d.ts +3 -0
- package/dist/commands/liberica/issue/close.d.ts.map +1 -0
- package/dist/commands/liberica/issue/close.js +87 -0
- package/dist/commands/liberica/issue/close.js.map +1 -0
- package/dist/commands/liberica/issue/index.d.ts.map +1 -1
- package/dist/commands/liberica/issue/index.js +4 -0
- package/dist/commands/liberica/issue/index.js.map +1 -1
- package/dist/commands/liberica/issue/reopen.d.ts +3 -0
- package/dist/commands/liberica/issue/reopen.d.ts.map +1 -0
- package/dist/commands/liberica/issue/reopen.js +87 -0
- package/dist/commands/liberica/issue/reopen.js.map +1 -0
- package/dist/commands/skills/index.d.ts +3 -0
- package/dist/commands/skills/index.d.ts.map +1 -0
- package/dist/commands/skills/index.js +252 -0
- package/dist/commands/skills/index.js.map +1 -0
- package/dist/core/api/client.d.ts +9 -1
- package/dist/core/api/client.d.ts.map +1 -1
- package/dist/core/api/client.js +58 -0
- package/dist/core/api/client.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/skills/barista-cli/scripts/generate.d.ts +12 -0
- package/dist/skills/barista-cli/scripts/generate.d.ts.map +1 -0
- package/dist/skills/barista-cli/scripts/generate.js +312 -0
- package/dist/skills/barista-cli/scripts/generate.js.map +1 -0
- package/dist/types/issue-report.d.ts +74 -0
- package/dist/types/issue-report.d.ts.map +1 -1
- package/package.json +4 -2
- package/skills/barista-cli/SKILL.md +193 -0
- package/skills/barista-cli/data/commands.json +2470 -0
- package/skills/barista-cli/data/commands.yaml +1593 -0
- package/skills/barista-cli/scripts/search.py +194 -0
- package/skills/barista-cli/skill.json +17 -0
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@ barista liberica auth login
|
|
|
32
32
|
|
|
33
33
|
```typescript
|
|
34
34
|
// In Claude Code / OpenCode / OpenClaw:
|
|
35
|
-
const orders = await $`barista liberica orders list --env prod-cn --tenant your-tenant --json`
|
|
35
|
+
const orders = await $`barista liberica sales-orders list --env prod-cn --tenant your-tenant --json`
|
|
36
36
|
const { success, data } = JSON.parse(orders.stdout)
|
|
37
37
|
|
|
38
38
|
// AI parses and acts on the data
|
|
@@ -51,22 +51,26 @@ Barista CLI is designed for AI coding assistants. Every output is structured, ev
|
|
|
51
51
|
|
|
52
52
|
### Supported AI Tools
|
|
53
53
|
|
|
54
|
-
| AI Tool | Integration
|
|
55
|
-
|
|
56
|
-
| **Claude Code** | `$` backticks + `--json` |
|
|
57
|
-
| **
|
|
58
|
-
| **
|
|
59
|
-
| **
|
|
60
|
-
| **
|
|
54
|
+
| AI Tool | Integration | Install Skill |
|
|
55
|
+
|---------|------------|--------------|
|
|
56
|
+
| **Claude Code** | `$` backticks + `--json` | `barista skills install --ai claude` |
|
|
57
|
+
| **Cursor** | Terminal + `--json` | `barista skills install --ai cursor` |
|
|
58
|
+
| **Trae** | SOLO mode + skill | `barista skills install --ai trae` |
|
|
59
|
+
| **OpenCode** | Shell + `--json` | `barista skills install --ai opencode` |
|
|
60
|
+
| **Windsurf** | Terminal + `--json` | `barista skills install --ai windsurf` |
|
|
61
|
+
| **Copilot** | Terminal + `--json` | `barista skills install --ai copilot` |
|
|
62
|
+
| **Roo Code** | Terminal + `--json` | `barista skills install --ai roocode` |
|
|
63
|
+
| **Continue** | Terminal + `--json` | `barista skills install --ai continue` |
|
|
64
|
+
| **Gemini CLI** | Terminal + `--json` | `barista skills install --ai gemini` |
|
|
65
|
+
| _Codex, Kiro, Qoder, Droid_ | Terminal + `--json` | `barista skills install --ai <name>` |
|
|
61
66
|
|
|
62
67
|
### Integration Pattern
|
|
63
68
|
|
|
64
69
|
```typescript
|
|
65
70
|
// 1. Execute command with JSON output
|
|
66
|
-
const result = await $`barista liberica orders list \
|
|
71
|
+
const result = await $`barista liberica sales-orders list \
|
|
67
72
|
--env prod-cn \
|
|
68
73
|
--tenant your-tenant \
|
|
69
|
-
--status pending \
|
|
70
74
|
--json \
|
|
71
75
|
--page 1 \
|
|
72
76
|
--size 50`
|
|
@@ -74,18 +78,13 @@ const result = await $`barista liberica orders list \
|
|
|
74
78
|
// 2. Parse structured response
|
|
75
79
|
const { success, data, meta } = JSON.parse(result.stdout)
|
|
76
80
|
|
|
77
|
-
if (!success) {
|
|
78
|
-
throw new Error(`API Error: ${meta.code || meta.error?.code} - ${meta.message || meta.error?.message}`)
|
|
79
|
-
}
|
|
80
|
-
|
|
81
81
|
// 3. Work with data
|
|
82
82
|
const pendingOrders = data.items
|
|
83
|
-
console.log(`Found ${data.pagination.total} pending orders`)
|
|
84
83
|
|
|
85
84
|
// 4. Execute operations safely
|
|
86
85
|
for (const order of pendingOrders) {
|
|
87
86
|
// Always dry-run first (AI safety)
|
|
88
|
-
const preview = await $`barista liberica orders
|
|
87
|
+
const preview = await $`barista liberica sales-orders delete ${order.id} --dry-run`
|
|
89
88
|
|
|
90
89
|
// Parse preview, verify, then execute with --force
|
|
91
90
|
// ...
|
|
@@ -128,20 +127,32 @@ All JSON responses follow this structure:
|
|
|
128
127
|
}
|
|
129
128
|
```
|
|
130
129
|
|
|
131
|
-
### Skills for
|
|
130
|
+
### AI Skills for Your Assistant
|
|
132
131
|
|
|
133
|
-
Install
|
|
132
|
+
Install the barista-cli Skill so your AI assistant knows all available commands, system quirks, and safety rules:
|
|
134
133
|
|
|
135
134
|
```bash
|
|
136
|
-
#
|
|
135
|
+
# Interactive install (pick your platform)
|
|
137
136
|
barista skills install
|
|
137
|
+
|
|
138
|
+
# Direct install for specific AI tool
|
|
139
|
+
barista skills install --ai claude # → .claude/skills/barista-cli/SKILL.md
|
|
140
|
+
barista skills install --ai trae # → .trae/skills/barista-cli/SKILL.md
|
|
141
|
+
barista skills install --ai opencode # → .opencode/skills/barista-cli/SKILL.md
|
|
142
|
+
barista skills install --ai cursor # → .cursor/rules/barista-cli.mdc
|
|
143
|
+
|
|
144
|
+
# Global install (all projects)
|
|
145
|
+
barista skills install --ai claude --global
|
|
146
|
+
|
|
147
|
+
# List all supported platforms
|
|
148
|
+
barista skills install --list
|
|
149
|
+
|
|
150
|
+
# Search commands by intent (without the AI skill)
|
|
151
|
+
barista skills query "采购订单" # fuzzy search
|
|
152
|
+
barista skills query "入库单" --domain liberica # filter by service
|
|
138
153
|
```
|
|
139
154
|
|
|
140
|
-
**
|
|
141
|
-
- `orders.md` — Order management workflow
|
|
142
|
-
- `products.md` — Product search and sync
|
|
143
|
-
- `warehouses.md` — Inventory operations
|
|
144
|
-
- `subscriptions.md` — Arabica subscription management
|
|
155
|
+
**The Skill covers**: Liberica 76-module production management + Arabica subscription platform, with critical traps (email login, hidden --tenant, epoch timestamps), safety rules (dry-run→force), and auto-generated command data.
|
|
145
156
|
|
|
146
157
|
---
|
|
147
158
|
|
|
@@ -159,11 +170,12 @@ barista skills install
|
|
|
159
170
|
|
|
160
171
|
### Enterprise Connectivity
|
|
161
172
|
|
|
162
|
-
| Service | Capabilities |
|
|
163
|
-
|
|
164
|
-
| ☕ **Liberica** |
|
|
165
|
-
| 🛒 **Arabica** |
|
|
166
|
-
|
|
173
|
+
| Service | For | Capabilities |
|
|
174
|
+
|---------|-----|-------------|
|
|
175
|
+
| ☕ **Liberica** | Tenant employees | Production management: supply chain, inventory, BOM/routing, work orders, quality, finance, HR (70+ modules) |
|
|
176
|
+
| 🛒 **Arabica** | Members (membership) | Subscribe to Liberica: plan browsing, order placement, invoice download, enterprise registration |
|
|
177
|
+
|
|
178
|
+
> **Arabica → Liberica flow**: Register as member → register enterprise → subscribe to plan → get Liberica access → log in as employee
|
|
167
179
|
|
|
168
180
|
### Operational Safety
|
|
169
181
|
|
|
@@ -199,12 +211,17 @@ barista <service> <resource> <action> [options]
|
|
|
199
211
|
|---------|-------------|
|
|
200
212
|
| `barista context show` | Show current env/tenant context |
|
|
201
213
|
| `barista context use-env <env>` | Switch environment |
|
|
202
|
-
| `barista
|
|
203
|
-
| `barista liberica
|
|
204
|
-
| `barista
|
|
205
|
-
| `barista liberica
|
|
206
|
-
| `barista
|
|
207
|
-
| `barista
|
|
214
|
+
| `barista context use-tenant <tenant>` | Switch tenant |
|
|
215
|
+
| `barista liberica auth login <env> <tenant> <user> <pass>` | Liberica login (tenant employee) |
|
|
216
|
+
| `barista arabica auth login <env> <account> <pass>` | Arabica login (member) |
|
|
217
|
+
| `barista liberica sales-orders list --json` | List sales orders |
|
|
218
|
+
| `barista liberica purchase-orders list --json` | List purchase orders |
|
|
219
|
+
| `barista liberica transfer-in-forms create --dry-run ...` | Preview stock-in |
|
|
220
|
+
| `barista liberica materials list --json` | List materials |
|
|
221
|
+
| `barista arabica plans list --json` | Browse subscription plans |
|
|
222
|
+
| `barista arabica subscription current --json` | Check subscription |
|
|
223
|
+
| `barista skills install --ai claude` | Install AI skill |
|
|
224
|
+
| `barista skills query "采购订单"` | Search commands by intent |
|
|
208
225
|
|
|
209
226
|
**[→ Full Command Reference](./docs/commands/REFERENCE.md)**
|
|
210
227
|
|
|
@@ -216,12 +233,12 @@ barista <service> <resource> <action> [options]
|
|
|
216
233
|
|
|
217
234
|
```typescript
|
|
218
235
|
// ❌ Wrong - executing blindly
|
|
219
|
-
await $`barista liberica orders
|
|
236
|
+
await $`barista liberica sales-orders delete 12345`
|
|
220
237
|
|
|
221
238
|
// ✅ Correct - preview first
|
|
222
|
-
const preview = await $`barista liberica orders
|
|
239
|
+
const preview = await $`barista liberica sales-orders delete 12345 --dry-run`
|
|
223
240
|
// Parse preview, verify correctness, then:
|
|
224
|
-
await $`barista liberica orders
|
|
241
|
+
await $`barista liberica sales-orders delete 12345 --force`
|
|
225
242
|
```
|
|
226
243
|
|
|
227
244
|
### 2. Check Success Before Proceeding
|
|
@@ -276,13 +293,17 @@ environments:
|
|
|
276
293
|
### Authentication
|
|
277
294
|
|
|
278
295
|
```bash
|
|
279
|
-
#
|
|
296
|
+
# Liberica (tenant employee login)
|
|
280
297
|
barista liberica auth login <env> <tenant> <username> <password>
|
|
298
|
+
barista liberica auth login # interactive prompt
|
|
281
299
|
|
|
282
|
-
#
|
|
283
|
-
barista auth
|
|
300
|
+
# Arabica (member login — no tenant needed)
|
|
301
|
+
barista arabica auth login <env> <account> <password>
|
|
302
|
+
barista arabica auth login # interactive prompt
|
|
303
|
+
barista arabica auth register # register new member account
|
|
284
304
|
|
|
285
|
-
#
|
|
305
|
+
# Check / logout
|
|
306
|
+
barista auth status
|
|
286
307
|
barista auth logout --service liberica --env prod-cn
|
|
287
308
|
```
|
|
288
309
|
|
|
@@ -293,34 +314,28 @@ barista auth logout --service liberica --env prod-cn
|
|
|
293
314
|
### Auth Failures
|
|
294
315
|
|
|
295
316
|
```bash
|
|
296
|
-
#
|
|
297
|
-
barista auth
|
|
298
|
-
|
|
299
|
-
# Re-authenticate
|
|
300
|
-
barista liberica auth login prod-cn your-tenant your-username your-password
|
|
301
|
-
|
|
302
|
-
# Check context
|
|
303
|
-
barista context show
|
|
317
|
+
barista auth status # check token status by env
|
|
318
|
+
barista liberica auth login dev tenant user pass # re-authenticate
|
|
319
|
+
barista context show # verify env + tenant
|
|
304
320
|
```
|
|
305
321
|
|
|
322
|
+
**Common login traps:**
|
|
323
|
+
- Email usernames must use positional args (`barista liberica auth login dev sh my@email.com pass`), not `--username`
|
|
324
|
+
- Liberica = tenant username + password; Arabica = account + password (no tenant)
|
|
325
|
+
|
|
306
326
|
### API Errors
|
|
307
327
|
|
|
308
328
|
```bash
|
|
309
|
-
|
|
310
|
-
barista liberica orders list --json
|
|
311
|
-
|
|
312
|
-
# Error response includes requestId for debugging
|
|
313
|
-
# "requestId": "req-abc123"
|
|
329
|
+
barista liberica sales-orders list --json # always --json for error codes
|
|
314
330
|
```
|
|
315
331
|
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
```
|
|
332
|
+
| Error | Meaning | Fix |
|
|
333
|
+
|-------|---------|-----|
|
|
334
|
+
| `B0301` | Token expired | Re-login |
|
|
335
|
+
| `A958001` | Wrong tenant (teams) | `barista context use-tenant <correct>` then retry |
|
|
336
|
+
| `B0001` | Date format error | Dates must be epoch ms (use `Date.now()`), not `"YYYY-MM-DD"` |
|
|
337
|
+
| `A0900006` | Email username via `--username` | Use positional args instead |
|
|
338
|
+
| `A1506` | teams issue close needs assignee | Use `update --status CLOSED --assign-to <id>` |
|
|
324
339
|
|
|
325
340
|
---
|
|
326
341
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"close.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/issue/close.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,uBAAuB,IAAI,OAAO,CAqFjD"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { apiClient } from '../../../core/api/client.js';
|
|
4
|
+
import { configManager } from '../../../core/config/manager.js';
|
|
5
|
+
export function createIssueCloseCommand() {
|
|
6
|
+
const cmd = new Command('close');
|
|
7
|
+
cmd.description('Close an issue by tracking code');
|
|
8
|
+
cmd
|
|
9
|
+
.argument('<tracking-code>', 'Tracking code (e.g., TYP-xxxxxxxx)')
|
|
10
|
+
.option('--reason <string>', 'Reason for closing')
|
|
11
|
+
.option('--dry-run', 'Preview without executing')
|
|
12
|
+
.option('--json', 'Output as JSON');
|
|
13
|
+
cmd.action(async (trackingCode, options) => {
|
|
14
|
+
const context = configManager.getCurrentContext();
|
|
15
|
+
const env = options.env || context.environment;
|
|
16
|
+
const tenant = options.tenant || context.tenant;
|
|
17
|
+
const jsonOutput = options.json === true;
|
|
18
|
+
const dryRun = options.dryRun === true;
|
|
19
|
+
if (!trackingCode) {
|
|
20
|
+
if (jsonOutput) {
|
|
21
|
+
console.log(JSON.stringify({ success: false, error: { code: 'MISSING_ARGUMENT', message: 'Tracking code is required' } }));
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
console.error(chalk.red('\nError: Tracking code is required\n'));
|
|
25
|
+
}
|
|
26
|
+
process.exit(1);
|
|
27
|
+
}
|
|
28
|
+
const data = {
|
|
29
|
+
trackingCode,
|
|
30
|
+
reason: options.reason,
|
|
31
|
+
};
|
|
32
|
+
if (dryRun) {
|
|
33
|
+
if (jsonOutput) {
|
|
34
|
+
console.log(JSON.stringify({ success: true, dryRun: true, data }));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
console.log(chalk.bold('\n[DRY-RUN] No changes will be made\n'));
|
|
38
|
+
console.log(` ${chalk.gray('Environment:')} ${chalk.green(env)}`);
|
|
39
|
+
console.log(` ${chalk.gray('Tenant:')} ${chalk.green(tenant)}`);
|
|
40
|
+
console.log(` ${chalk.gray('Tracking Code:')} ${chalk.cyan(trackingCode)}`);
|
|
41
|
+
if (data.reason) {
|
|
42
|
+
console.log(` ${chalk.gray('Reason:')} ${data.reason}`);
|
|
43
|
+
}
|
|
44
|
+
console.log();
|
|
45
|
+
}
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (!jsonOutput) {
|
|
49
|
+
console.log(chalk.bold('\nClosing issue...\n'));
|
|
50
|
+
}
|
|
51
|
+
const response = await apiClient.closeIssue(env, tenant, data);
|
|
52
|
+
if (!response.success) {
|
|
53
|
+
const errorMsg = response.error?.message || response.message || 'Failed to close issue';
|
|
54
|
+
const errorCode = response.error?.code || response.code || 'CLOSE_ERROR';
|
|
55
|
+
if (jsonOutput) {
|
|
56
|
+
console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
console.error(chalk.red(`\nFailed to close issue: ${errorMsg}`));
|
|
60
|
+
if (errorCode) {
|
|
61
|
+
console.error(chalk.gray(` Error code: ${errorCode}`));
|
|
62
|
+
}
|
|
63
|
+
console.error();
|
|
64
|
+
}
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
const issue = response.data;
|
|
68
|
+
if (jsonOutput) {
|
|
69
|
+
console.log(JSON.stringify({ success: true, data: issue }));
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
console.log(chalk.green('\nIssue closed successfully!\n'));
|
|
73
|
+
if (issue?.trackingCode) {
|
|
74
|
+
console.log(` ${chalk.gray('Tracking Code:')} ${chalk.bold.green(issue.trackingCode)}`);
|
|
75
|
+
}
|
|
76
|
+
if (issue?.teamIssueCode)
|
|
77
|
+
console.log(` ${chalk.gray('Issue Code:')} ${issue.teamIssueCode}`);
|
|
78
|
+
if (issue?.teamIssueStatus)
|
|
79
|
+
console.log(` ${chalk.gray('Status:')} ${issue.teamIssueStatus}`);
|
|
80
|
+
if (issue?.updatedAt)
|
|
81
|
+
console.log(` ${chalk.gray('Updated At:')} ${issue.updatedAt}`);
|
|
82
|
+
console.log();
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
return cmd;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=close.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"close.js","sourceRoot":"","sources":["../../../../src/commands/liberica/issue/close.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/issue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/issue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,kBAAkB,IAAI,OAAO,CAY5C"}
|
|
@@ -2,6 +2,8 @@ import { Command } from 'commander';
|
|
|
2
2
|
import { createIssueSubmitCommand } from './submit.js';
|
|
3
3
|
import { createIssueListCommand } from './list.js';
|
|
4
4
|
import { createIssueTrackCommand } from './track.js';
|
|
5
|
+
import { createIssueCloseCommand } from './close.js';
|
|
6
|
+
import { createIssueReopenCommand } from './reopen.js';
|
|
5
7
|
import { createIssueValidateProjectCommand } from './validate-project.js';
|
|
6
8
|
export function createIssueCommand() {
|
|
7
9
|
const issueCommand = new Command('issue');
|
|
@@ -9,6 +11,8 @@ export function createIssueCommand() {
|
|
|
9
11
|
issueCommand.addCommand(createIssueSubmitCommand());
|
|
10
12
|
issueCommand.addCommand(createIssueListCommand());
|
|
11
13
|
issueCommand.addCommand(createIssueTrackCommand());
|
|
14
|
+
issueCommand.addCommand(createIssueCloseCommand());
|
|
15
|
+
issueCommand.addCommand(createIssueReopenCommand());
|
|
12
16
|
issueCommand.addCommand(createIssueValidateProjectCommand());
|
|
13
17
|
return issueCommand;
|
|
14
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/liberica/issue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAC;AAE1E,MAAM,UAAU,kBAAkB;IAChC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,YAAY,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAExD,YAAY,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACpD,YAAY,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAClD,YAAY,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACnD,YAAY,CAAC,UAAU,CAAC,iCAAiC,EAAE,CAAC,CAAC;IAE7D,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/liberica/issue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAC;AAE1E,MAAM,UAAU,kBAAkB;IAChC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,YAAY,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAExD,YAAY,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACpD,YAAY,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAClD,YAAY,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACnD,YAAY,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACnD,YAAY,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACpD,YAAY,CAAC,UAAU,CAAC,iCAAiC,EAAE,CAAC,CAAC;IAE7D,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reopen.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/issue/reopen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,wBAAwB,IAAI,OAAO,CAqFlD"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { apiClient } from '../../../core/api/client.js';
|
|
4
|
+
import { configManager } from '../../../core/config/manager.js';
|
|
5
|
+
export function createIssueReopenCommand() {
|
|
6
|
+
const cmd = new Command('reopen');
|
|
7
|
+
cmd.description('Reopen an issue by tracking code');
|
|
8
|
+
cmd
|
|
9
|
+
.argument('<tracking-code>', 'Tracking code (e.g., TYP-xxxxxxxx)')
|
|
10
|
+
.option('--reason <string>', 'Reason for reopening')
|
|
11
|
+
.option('--dry-run', 'Preview without executing')
|
|
12
|
+
.option('--json', 'Output as JSON');
|
|
13
|
+
cmd.action(async (trackingCode, options) => {
|
|
14
|
+
const context = configManager.getCurrentContext();
|
|
15
|
+
const env = options.env || context.environment;
|
|
16
|
+
const tenant = options.tenant || context.tenant;
|
|
17
|
+
const jsonOutput = options.json === true;
|
|
18
|
+
const dryRun = options.dryRun === true;
|
|
19
|
+
if (!trackingCode) {
|
|
20
|
+
if (jsonOutput) {
|
|
21
|
+
console.log(JSON.stringify({ success: false, error: { code: 'MISSING_ARGUMENT', message: 'Tracking code is required' } }));
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
console.error(chalk.red('\nError: Tracking code is required\n'));
|
|
25
|
+
}
|
|
26
|
+
process.exit(1);
|
|
27
|
+
}
|
|
28
|
+
const data = {
|
|
29
|
+
trackingCode,
|
|
30
|
+
reason: options.reason,
|
|
31
|
+
};
|
|
32
|
+
if (dryRun) {
|
|
33
|
+
if (jsonOutput) {
|
|
34
|
+
console.log(JSON.stringify({ success: true, dryRun: true, data }));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
console.log(chalk.bold('\n[DRY-RUN] No changes will be made\n'));
|
|
38
|
+
console.log(` ${chalk.gray('Environment:')} ${chalk.green(env)}`);
|
|
39
|
+
console.log(` ${chalk.gray('Tenant:')} ${chalk.green(tenant)}`);
|
|
40
|
+
console.log(` ${chalk.gray('Tracking Code:')} ${chalk.cyan(trackingCode)}`);
|
|
41
|
+
if (data.reason) {
|
|
42
|
+
console.log(` ${chalk.gray('Reason:')} ${data.reason}`);
|
|
43
|
+
}
|
|
44
|
+
console.log();
|
|
45
|
+
}
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (!jsonOutput) {
|
|
49
|
+
console.log(chalk.bold('\nReopening issue...\n'));
|
|
50
|
+
}
|
|
51
|
+
const response = await apiClient.reopenIssue(env, tenant, data);
|
|
52
|
+
if (!response.success) {
|
|
53
|
+
const errorMsg = response.error?.message || response.message || 'Failed to reopen issue';
|
|
54
|
+
const errorCode = response.error?.code || response.code || 'REOPEN_ERROR';
|
|
55
|
+
if (jsonOutput) {
|
|
56
|
+
console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
console.error(chalk.red(`\nFailed to reopen issue: ${errorMsg}`));
|
|
60
|
+
if (errorCode) {
|
|
61
|
+
console.error(chalk.gray(` Error code: ${errorCode}`));
|
|
62
|
+
}
|
|
63
|
+
console.error();
|
|
64
|
+
}
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
const issue = response.data;
|
|
68
|
+
if (jsonOutput) {
|
|
69
|
+
console.log(JSON.stringify({ success: true, data: issue }));
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
console.log(chalk.green('\nIssue reopened successfully!\n'));
|
|
73
|
+
if (issue?.trackingCode) {
|
|
74
|
+
console.log(` ${chalk.gray('Tracking Code:')} ${chalk.bold.green(issue.trackingCode)}`);
|
|
75
|
+
}
|
|
76
|
+
if (issue?.teamIssueCode)
|
|
77
|
+
console.log(` ${chalk.gray('Issue Code:')} ${issue.teamIssueCode}`);
|
|
78
|
+
if (issue?.teamIssueStatus)
|
|
79
|
+
console.log(` ${chalk.gray('Status:')} ${issue.teamIssueStatus}`);
|
|
80
|
+
if (issue?.updatedAt)
|
|
81
|
+
console.log(` ${chalk.gray('Updated At:')} ${issue.updatedAt}`);
|
|
82
|
+
console.log();
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
return cmd;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=reopen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reopen.js","sourceRoot":"","sources":["../../../../src/commands/liberica/issue/reopen.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+GpC,wBAAgB,mBAAmB,IAAI,OAAO,CAsK7C"}
|