doque 0.1.0 → 0.3.0

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 (55) hide show
  1. package/dist/api/client.d.ts +2 -0
  2. package/dist/api/client.d.ts.map +1 -1
  3. package/dist/api/client.js +13 -4
  4. package/dist/api/client.js.map +1 -1
  5. package/dist/commands/activity.d.ts +3 -0
  6. package/dist/commands/activity.d.ts.map +1 -0
  7. package/dist/commands/activity.js +36 -0
  8. package/dist/commands/activity.js.map +1 -0
  9. package/dist/commands/auth.d.ts.map +1 -1
  10. package/dist/commands/auth.js +33 -16
  11. package/dist/commands/auth.js.map +1 -1
  12. package/dist/commands/beacon.d.ts +3 -0
  13. package/dist/commands/beacon.d.ts.map +1 -0
  14. package/dist/commands/beacon.js +43 -0
  15. package/dist/commands/beacon.js.map +1 -0
  16. package/dist/commands/cargo.d.ts.map +1 -1
  17. package/dist/commands/cargo.js +141 -45
  18. package/dist/commands/cargo.js.map +1 -1
  19. package/dist/commands/comment.d.ts +3 -0
  20. package/dist/commands/comment.d.ts.map +1 -0
  21. package/dist/commands/comment.js +45 -0
  22. package/dist/commands/comment.js.map +1 -0
  23. package/dist/commands/dump.d.ts +3 -0
  24. package/dist/commands/dump.d.ts.map +1 -0
  25. package/dist/commands/dump.js +214 -0
  26. package/dist/commands/dump.js.map +1 -0
  27. package/dist/commands/init.d.ts +3 -0
  28. package/dist/commands/init.d.ts.map +1 -0
  29. package/dist/commands/init.js +38 -0
  30. package/dist/commands/init.js.map +1 -0
  31. package/dist/commands/journal.d.ts +3 -0
  32. package/dist/commands/journal.d.ts.map +1 -0
  33. package/dist/commands/journal.js +166 -0
  34. package/dist/commands/journal.js.map +1 -0
  35. package/dist/commands/ns.d.ts +3 -0
  36. package/dist/commands/ns.d.ts.map +1 -0
  37. package/dist/commands/ns.js +96 -0
  38. package/dist/commands/ns.js.map +1 -0
  39. package/dist/commands/vessel.d.ts.map +1 -1
  40. package/dist/commands/vessel.js +86 -16
  41. package/dist/commands/vessel.js.map +1 -1
  42. package/dist/commands/whoami.d.ts.map +1 -1
  43. package/dist/commands/whoami.js +24 -6
  44. package/dist/commands/whoami.js.map +1 -1
  45. package/dist/config/store.d.ts +9 -0
  46. package/dist/config/store.d.ts.map +1 -1
  47. package/dist/config/store.js +26 -0
  48. package/dist/config/store.js.map +1 -1
  49. package/dist/index.js +96 -3
  50. package/dist/index.js.map +1 -1
  51. package/dist/utils/output.d.ts +13 -0
  52. package/dist/utils/output.d.ts.map +1 -1
  53. package/dist/utils/output.js +78 -3
  54. package/dist/utils/output.js.map +1 -1
  55. package/package.json +24 -2
@@ -1 +1 @@
1
- {"version":3,"file":"cargo.js","sourceRoot":"","sources":["../../src/commands/cargo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cargo.js","sourceRoot":"","sources":["../../src/commands/cargo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerCommentCommands(program: Command): void;
3
+ //# sourceMappingURL=comment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment.d.ts","sourceRoot":"","sources":["../../src/commands/comment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmD9D"}
@@ -0,0 +1,45 @@
1
+ import chalk from 'chalk';
2
+ import { createApiClient } from '../api/client.js';
3
+ import { formatTable, formatJson } from '../utils/output.js';
4
+ export function registerCommentCommands(program) {
5
+ const comment = program.command('comment').description('Comment(댓글) 관리');
6
+ // doque comment list <cargo-id> [-f format]
7
+ comment
8
+ .command('list <cargo-id>')
9
+ .description('Cargo의 댓글 목록 조회')
10
+ .option('-f, --format <format>', '출력 형식 (table|json)', 'table')
11
+ .action(async (cargoId, opts, cmd) => {
12
+ const globalOpts = cmd.optsWithGlobals();
13
+ const client = createApiClient(globalOpts);
14
+ const comments = await client.get(`/api/cargos/${cargoId}/comments`);
15
+ const format = opts.format ?? globalOpts.format ?? 'table';
16
+ if (format === 'json') {
17
+ formatJson(comments);
18
+ return;
19
+ }
20
+ if (comments.length === 0) {
21
+ console.log(chalk.gray(' (결과 없음)'));
22
+ return;
23
+ }
24
+ formatTable(comments.map((c) => ({
25
+ ID: chalk.gray(`#${c.id}`),
26
+ 내용: c.content.length > 60 ? c.content.slice(0, 60) + '...' : c.content,
27
+ 작성일: new Date(c.createdAt).toLocaleDateString(),
28
+ })), ['ID', '내용', '작성일']);
29
+ });
30
+ // doque comment add <cargo-id> "내용"
31
+ comment
32
+ .command('add <cargo-id> <content>')
33
+ .description('댓글 추가')
34
+ .action(async (cargoId, content, _opts, cmd) => {
35
+ const globalOpts = cmd.optsWithGlobals();
36
+ const client = createApiClient(globalOpts);
37
+ const c = await client.post(`/api/cargos/${cargoId}/comments`, {
38
+ content,
39
+ parentId: null,
40
+ mentionMemberId: null,
41
+ });
42
+ console.log(chalk.green(`✓ 댓글 추가됨: #${c.id}`));
43
+ });
44
+ }
45
+ //# sourceMappingURL=comment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment.js","sourceRoot":"","sources":["../../src/commands/comment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAc7D,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAEzE,4CAA4C;IAC5C,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,iBAAiB,CAAC;SAC9B,MAAM,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,OAAO,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,IAAwB,EAAE,GAAY,EAAE,EAAE;QACxE,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,EAAwD,CAAC;QAC/F,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAE3C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAoB,eAAe,OAAO,WAAW,CAAC,CAAC;QAExF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,IAAI,OAAO,CAAC;QAC3D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,WAAW,CACT,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnB,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;YAC1B,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;YACtE,GAAG,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE;SAChD,CAAC,CAAC,EACH,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CACpB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,oCAAoC;IACpC,OAAO;SACJ,OAAO,CAAC,0BAA0B,CAAC;SACnC,WAAW,CAAC,OAAO,CAAC;SACpB,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAAe,EAAE,KAAc,EAAE,GAAY,EAAE,EAAE;QAC/E,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,EAAuC,CAAC;QAC9E,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAE3C,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAkB,eAAe,OAAO,WAAW,EAAE;YAC9E,OAAO;YACP,QAAQ,EAAE,IAAI;YACd,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerDumpCommands(program: Command): void;
3
+ //# sourceMappingURL=dump.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dump.d.ts","sourceRoot":"","sources":["../../src/commands/dump.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0JpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6H3D"}
@@ -0,0 +1,214 @@
1
+ import chalk from 'chalk';
2
+ import { configStore } from '../config/store.js';
3
+ import { createApiClient } from '../api/client.js';
4
+ import { statusIcon, typeLabel, formatJson } from '../utils/output.js';
5
+ async function getVesselId(client, vesselSlug, namespace) {
6
+ if (vesselSlug)
7
+ return client.resolveVesselId(namespace, vesselSlug);
8
+ const ctx = configStore.getContext();
9
+ if (ctx.vessel) {
10
+ if (ctx.vesselId !== null)
11
+ return ctx.vesselId;
12
+ return client.resolveVesselId(namespace, ctx.vessel);
13
+ }
14
+ console.error(chalk.red('✗ vessel이 선택되지 않았습니다'));
15
+ console.error(` → ${chalk.cyan('doque vessel use <slug>')} 로 먼저 선택하세요`);
16
+ process.exit(1);
17
+ }
18
+ function renderTreeNode(node, prefix, isLast) {
19
+ const connector = isLast ? '└─' : '├─';
20
+ const icon = statusIcon(node.status);
21
+ const typeLbl = typeLabel(node.type);
22
+ console.log(`${prefix}${connector} ${chalk.gray(`#${node.id}`)} ${node.title} ${typeLbl} ${icon} ${chalk.gray(node.status)}`);
23
+ const childPrefix = prefix + (isLast ? ' ' : '│ ');
24
+ node.children.forEach((child, i) => {
25
+ renderTreeNode(child, childPrefix, i === node.children.length - 1);
26
+ });
27
+ }
28
+ function renderTree(roots) {
29
+ if (roots.length === 0) {
30
+ console.log(chalk.gray(' (결과 없음)'));
31
+ return;
32
+ }
33
+ roots.forEach((root, i) => {
34
+ const isLast = i === roots.length - 1;
35
+ const icon = statusIcon(root.status);
36
+ const typeLbl = typeLabel(root.type);
37
+ console.log(`${isLast ? '└─' : '├─'} ${chalk.gray(`#${root.id}`)} ${root.title} ${typeLbl} ${icon} ${chalk.gray(root.status)}`);
38
+ const childPrefix = isLast ? ' ' : '│ ';
39
+ root.children.forEach((child, ci) => {
40
+ renderTreeNode(child, childPrefix, ci === root.children.length - 1);
41
+ });
42
+ });
43
+ }
44
+ function renderMarkdownTree(roots, depth = 0) {
45
+ for (const node of roots) {
46
+ const indent = ' '.repeat(depth);
47
+ const icon = statusIcon(node.status);
48
+ console.log(`${indent}- ${chalk.gray(`#${node.id}`)} **${node.title}** \`${node.type}\` ${icon} ${node.status}`);
49
+ if (node.children.length > 0) {
50
+ renderMarkdownTree(node.children, depth + 1);
51
+ }
52
+ }
53
+ }
54
+ function renderFullNode(node, journals, prefix, isLast) {
55
+ const connector = isLast ? '└─' : '├─';
56
+ const icon = statusIcon(node.status);
57
+ const typeLbl = typeLabel(node.type);
58
+ console.log(`${prefix}${connector} ${chalk.gray(`#${node.id}`)} ${node.title} ${typeLbl} ${icon} ${chalk.gray(node.status)}`);
59
+ const childPrefix = prefix + (isLast ? ' ' : '│ ');
60
+ // journals for this cargo
61
+ const nodeJournals = journals.filter((j) => j.cargoId === node.id);
62
+ for (const j of nodeJournals) {
63
+ console.log(`${childPrefix} ${chalk.cyan(`[${j.type}]`)} ${j.title}`);
64
+ if (j.content) {
65
+ const lines = j.content.split('\n').slice(0, 3);
66
+ for (const line of lines) {
67
+ console.log(`${childPrefix} ${chalk.gray(line)}`);
68
+ }
69
+ if (j.content.split('\n').length > 3) {
70
+ console.log(`${childPrefix} ${chalk.gray('...')}`);
71
+ }
72
+ }
73
+ }
74
+ node.children.forEach((child, i) => {
75
+ renderFullNode(child, journals, childPrefix, i === node.children.length - 1);
76
+ });
77
+ }
78
+ function renderMarkdownFull(node, journals, depth = 0) {
79
+ const heading = '#'.repeat(Math.min(depth + 2, 6));
80
+ const icon = statusIcon(node.status);
81
+ console.log(`\n${heading} #${node.id} ${node.title}`);
82
+ console.log(`> \`${node.type}\` | ${icon} ${node.status}`);
83
+ if (node.description) {
84
+ console.log(`\n${node.description}`);
85
+ }
86
+ const nodeJournals = journals.filter((j) => j.cargoId === node.id);
87
+ if (nodeJournals.length > 0) {
88
+ console.log(`\n**Journals:**`);
89
+ for (const j of nodeJournals) {
90
+ console.log(`\n#### [${j.type}] ${j.title}`);
91
+ if (j.content)
92
+ console.log(j.content);
93
+ }
94
+ }
95
+ for (const child of node.children) {
96
+ renderMarkdownFull(child, journals, depth + 1);
97
+ }
98
+ }
99
+ function findCargoById(nodes, id) {
100
+ for (const node of nodes) {
101
+ if (node.id === id)
102
+ return node;
103
+ const found = findCargoById(node.children, id);
104
+ if (found)
105
+ return found;
106
+ }
107
+ return null;
108
+ }
109
+ export function registerDumpCommands(program) {
110
+ const dump = program.command('dump').description('프로젝트 데이터 덤프');
111
+ // doque dump tree [-v vessel] [-f format]
112
+ dump
113
+ .command('tree')
114
+ .description('Cargo 트리 (제목/상태만)')
115
+ .option('-v, --vessel <slug>', 'Vessel slug 지정')
116
+ .option('-f, --format <format>', '출력 형식 (table|json|markdown)', 'table')
117
+ .action(async (opts, cmd) => {
118
+ const globalOpts = cmd.optsWithGlobals();
119
+ const client = createApiClient(globalOpts);
120
+ const ns = await client.resolveNamespace(globalOpts.namespace);
121
+ const vesselId = await getVesselId(client, opts.vessel, ns);
122
+ const cargos = await client.get(`/api/vessels/${vesselId}/cargos`);
123
+ const format = globalOpts.format ?? opts.format ?? 'table';
124
+ if (format === 'json') {
125
+ formatJson(cargos);
126
+ return;
127
+ }
128
+ if (format === 'markdown') {
129
+ console.log('# Cargo Tree\n');
130
+ renderMarkdownTree(cargos);
131
+ return;
132
+ }
133
+ renderTree(cargos);
134
+ });
135
+ // doque dump full [-v vessel] [-f format]
136
+ dump
137
+ .command('full')
138
+ .description('Cargo + Journal 내용 전체')
139
+ .option('-v, --vessel <slug>', 'Vessel slug 지정')
140
+ .option('-f, --format <format>', '출력 형식 (table|json|markdown)', 'table')
141
+ .action(async (opts, cmd) => {
142
+ const globalOpts = cmd.optsWithGlobals();
143
+ const client = createApiClient(globalOpts);
144
+ const ns = await client.resolveNamespace(globalOpts.namespace);
145
+ const vesselId = await getVesselId(client, opts.vessel, ns);
146
+ const [cargos, journals] = await Promise.all([
147
+ client.get(`/api/vessels/${vesselId}/cargos`),
148
+ client.get(`/api/vessels/${vesselId}/journals`),
149
+ ]);
150
+ const format = globalOpts.format ?? opts.format ?? 'table';
151
+ if (format === 'json') {
152
+ formatJson({ cargos, journals });
153
+ return;
154
+ }
155
+ if (format === 'markdown') {
156
+ for (const root of cargos) {
157
+ renderMarkdownFull(root, journals);
158
+ }
159
+ return;
160
+ }
161
+ if (cargos.length === 0) {
162
+ console.log(chalk.gray(' (결과 없음)'));
163
+ return;
164
+ }
165
+ cargos.forEach((root, i) => {
166
+ renderFullNode(root, journals, '', i === cargos.length - 1);
167
+ });
168
+ });
169
+ // doque dump cargo <id> [--deep] [-v vessel] [-f format]
170
+ dump
171
+ .command('cargo <id>')
172
+ .description('특정 Cargo + 하위 + Journal')
173
+ .option('--deep', '하위 cargo 및 journal 포함')
174
+ .option('-v, --vessel <slug>', 'Vessel slug 지정')
175
+ .option('-f, --format <format>', '출력 형식 (table|json|markdown)', 'table')
176
+ .action(async (id, opts, cmd) => {
177
+ const globalOpts = cmd.optsWithGlobals();
178
+ const client = createApiClient(globalOpts);
179
+ const ns = await client.resolveNamespace(globalOpts.namespace);
180
+ const vesselId = await getVesselId(client, opts.vessel, ns);
181
+ const allCargos = await client.get(`/api/vessels/${vesselId}/cargos`);
182
+ const targetId = Number(id);
183
+ const node = findCargoById(allCargos, targetId);
184
+ if (!node) {
185
+ console.error(chalk.red(`✗ Cargo #${targetId}를 찾을 수 없습니다`));
186
+ process.exit(1);
187
+ }
188
+ const format = globalOpts.format ?? opts.format ?? 'table';
189
+ if (!opts.deep) {
190
+ // 단순 정보 출력
191
+ if (format === 'json') {
192
+ formatJson(node);
193
+ return;
194
+ }
195
+ const icon = statusIcon(node.status);
196
+ console.log(`${chalk.gray(`#${node.id}`)} ${chalk.bold(node.title)} ${typeLabel(node.type)} ${icon} ${chalk.gray(node.status)}`);
197
+ if (node.description)
198
+ console.log(` ${chalk.gray(node.description)}`);
199
+ return;
200
+ }
201
+ // deep: cargo + 하위 + journals
202
+ const journals = await client.get(`/api/vessels/${vesselId}/journals?cargoId=${targetId}`);
203
+ if (format === 'json') {
204
+ formatJson({ cargo: node, journals });
205
+ return;
206
+ }
207
+ if (format === 'markdown') {
208
+ renderMarkdownFull(node, journals);
209
+ return;
210
+ }
211
+ renderFullNode(node, journals, '', true);
212
+ });
213
+ }
214
+ //# sourceMappingURL=dump.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dump.js","sourceRoot":"","sources":["../../src/commands/dump.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerInitCommand(program: Command): void;
3
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoB1D"}
@@ -0,0 +1,38 @@
1
+ import chalk from 'chalk';
2
+ import * as fs from 'fs';
3
+ import * as path from 'path';
4
+ const SKILL_CONTENT = `# Doque 프로젝트 관리
5
+
6
+ ## 세션 시작
7
+ 1. doque status — 현재 컨텍스트 확인
8
+ 2. doque dump tree — 전체 작업 구조 파악
9
+ 3. doque dump cargo <id> --deep — 필요한 작업 상세 로드
10
+
11
+ ## 작업 관리
12
+ - doque cargo create --title "..." --type task --parent <id>
13
+ - doque cargo start <id> / doque cargo done <id>
14
+ - doque journal create <cargo-id> --title "ADR-xxx" --type adr --stdin
15
+
16
+ ## 세션 종료
17
+ - 진행한 작업을 journal로 기록
18
+ - 미완료 cargo 상태 확인: doque cargo list --status in_progress
19
+ `;
20
+ export function registerInitCommand(program) {
21
+ program
22
+ .command('init')
23
+ .description('현재 디렉토리에 .claude/skills/doque/SKILL.md 생성')
24
+ .action(() => {
25
+ const skillDir = path.join(process.cwd(), '.claude', 'skills', 'doque');
26
+ const skillPath = path.join(skillDir, 'SKILL.md');
27
+ if (!fs.existsSync(skillDir)) {
28
+ fs.mkdirSync(skillDir, { recursive: true });
29
+ }
30
+ if (fs.existsSync(skillPath)) {
31
+ console.log(chalk.yellow(`! SKILL.md가 이미 존재합니다: ${skillPath}`));
32
+ return;
33
+ }
34
+ fs.writeFileSync(skillPath, SKILL_CONTENT, 'utf-8');
35
+ console.log(chalk.green(`✓ SKILL.md 생성됨: ${chalk.cyan(skillPath)}`));
36
+ });
37
+ }
38
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;CAerB,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAElD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerJournalCommands(program: Command): void;
3
+ //# sourceMappingURL=journal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../src/commands/journal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsDpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkK9D"}
@@ -0,0 +1,166 @@
1
+ import chalk from 'chalk';
2
+ import { configStore } from '../config/store.js';
3
+ import { createApiClient } from '../api/client.js';
4
+ import { formatTable, formatJson, formatDetail } from '../utils/output.js';
5
+ async function readStdin() {
6
+ if (process.stdin.isTTY)
7
+ return '';
8
+ const chunks = [];
9
+ for await (const chunk of process.stdin)
10
+ chunks.push(chunk);
11
+ return Buffer.concat(chunks).toString('utf-8');
12
+ }
13
+ function journalTypeLabel(type) {
14
+ switch (type.toLowerCase()) {
15
+ case 'adr': return chalk.magenta('[adr]');
16
+ case 'session': return chalk.blue('[session]');
17
+ case 'design': return chalk.cyan('[design]');
18
+ case 'note': return chalk.yellow('[note]');
19
+ case 'memo': return chalk.gray('[memo]');
20
+ default: return chalk.gray(`[${type}]`);
21
+ }
22
+ }
23
+ async function getVesselId(client, vesselSlug, namespace) {
24
+ if (vesselSlug)
25
+ return client.resolveVesselId(namespace, vesselSlug);
26
+ const ctx = configStore.getContext();
27
+ if (ctx.vessel) {
28
+ if (ctx.vesselId !== null)
29
+ return ctx.vesselId;
30
+ return client.resolveVesselId(namespace, ctx.vessel);
31
+ }
32
+ console.error(chalk.red('✗ vessel이 선택되지 않았습니다'));
33
+ console.error(` → ${chalk.cyan('doque vessel use <slug>')} 로 먼저 선택하세요`);
34
+ process.exit(1);
35
+ }
36
+ export function registerJournalCommands(program) {
37
+ const journal = program.command('journal').description('Journal(기록) 관리');
38
+ // doque journal list <cargo-id> [-v vessel] [-f format]
39
+ journal
40
+ .command('list <cargo-id>')
41
+ .description('Cargo의 Journal 목록 조회')
42
+ .option('-v, --vessel <slug>', 'Vessel slug 지정')
43
+ .option('-f, --format <format>', '출력 형식 (table|json)', 'table')
44
+ .action(async (cargoId, opts, cmd) => {
45
+ const globalOpts = cmd.optsWithGlobals();
46
+ const client = createApiClient(globalOpts);
47
+ const ns = await client.resolveNamespace(globalOpts.namespace);
48
+ const vesselId = await getVesselId(client, opts.vessel, ns);
49
+ const journals = await client.get(`/api/vessels/${vesselId}/journals?cargoId=${cargoId}`);
50
+ const format = opts.format ?? globalOpts.format ?? 'table';
51
+ if (format === 'json') {
52
+ formatJson(journals);
53
+ return;
54
+ }
55
+ if (journals.length === 0) {
56
+ console.log(chalk.gray(' (결과 없음)'));
57
+ return;
58
+ }
59
+ formatTable(journals.map((j) => ({
60
+ ID: chalk.gray(`#${j.id}`),
61
+ 타입: journalTypeLabel(j.type),
62
+ 제목: j.title,
63
+ 작성일: new Date(j.createdAt).toLocaleDateString(),
64
+ })), ['ID', '타입', '제목', '작성일']);
65
+ });
66
+ // doque journal create <cargo-id> --title "..." --type adr|... [--content "..." | --stdin]
67
+ journal
68
+ .command('create <cargo-id>')
69
+ .description('Journal 생성')
70
+ .requiredOption('--title <title>', '제목')
71
+ .option('--type <type>', '타입 (adr|session|design|note|memo)', 'memo')
72
+ .option('--content <content>', '내용')
73
+ .option('--stdin', 'stdin에서 내용 읽기')
74
+ .option('-v, --vessel <slug>', 'Vessel slug 지정')
75
+ .action(async (cargoId, opts, cmd) => {
76
+ const globalOpts = cmd.optsWithGlobals();
77
+ const client = createApiClient(globalOpts);
78
+ const ns = await client.resolveNamespace(globalOpts.namespace);
79
+ const vesselId = await getVesselId(client, opts.vessel, ns);
80
+ let content = opts.content ?? '';
81
+ if (opts.stdin) {
82
+ content = await readStdin();
83
+ }
84
+ const j = await client.post(`/api/vessels/${vesselId}/journals`, {
85
+ cargoId: Number(cargoId),
86
+ type: opts.type,
87
+ title: opts.title,
88
+ content,
89
+ });
90
+ console.log(chalk.green(`✓ Journal 생성됨: #${j.id} "${j.title}"`));
91
+ });
92
+ // doque journal read <journal-id> [-v vessel] [-f format]
93
+ journal
94
+ .command('read <journal-id>')
95
+ .description('Journal 상세 조회 (내용 포함)')
96
+ .option('-v, --vessel <slug>', 'Vessel slug 지정')
97
+ .option('-f, --format <format>', '출력 형식 (table|json)', 'table')
98
+ .action(async (journalId, opts, cmd) => {
99
+ const globalOpts = cmd.optsWithGlobals();
100
+ const client = createApiClient(globalOpts);
101
+ const ns = await client.resolveNamespace(globalOpts.namespace);
102
+ const vesselId = await getVesselId(client, opts.vessel, ns);
103
+ const allJournals = await client.get(`/api/vessels/${vesselId}/journals`);
104
+ const j = allJournals.find((x) => x.id === Number(journalId));
105
+ if (!j) {
106
+ console.error(chalk.red(`✗ Journal #${journalId}를 찾을 수 없습니다`));
107
+ process.exit(1);
108
+ }
109
+ const format = opts.format ?? globalOpts.format ?? 'table';
110
+ if (format === 'json') {
111
+ formatJson(j);
112
+ return;
113
+ }
114
+ formatDetail(chalk.bold(`#${j.id} ${j.title}`), [
115
+ ['타입', journalTypeLabel(j.type)],
116
+ ['Cargo', j.cargoId ? `#${j.cargoId}` : null],
117
+ ['작성일', new Date(j.createdAt).toLocaleString()],
118
+ ['수정일', new Date(j.updatedAt).toLocaleString()],
119
+ ]);
120
+ console.log();
121
+ console.log(j.content);
122
+ });
123
+ // doque journal update <journal-id> [--content "..." | --stdin] [-v vessel]
124
+ journal
125
+ .command('update <journal-id>')
126
+ .description('Journal 수정')
127
+ .option('--title <title>', '새 제목')
128
+ .option('--content <content>', '새 내용')
129
+ .option('--stdin', 'stdin에서 내용 읽기')
130
+ .option('-v, --vessel <slug>', 'Vessel slug 지정')
131
+ .action(async (journalId, opts, cmd) => {
132
+ const globalOpts = cmd.optsWithGlobals();
133
+ const client = createApiClient(globalOpts);
134
+ const ns = await client.resolveNamespace(globalOpts.namespace);
135
+ const vesselId = await getVesselId(client, opts.vessel, ns);
136
+ const allJournalsForUpdate = await client.get(`/api/vessels/${vesselId}/journals`);
137
+ const existing = allJournalsForUpdate.find((x) => x.id === Number(journalId));
138
+ if (!existing) {
139
+ console.error(chalk.red(`✗ Journal #${journalId}를 찾을 수 없습니다`));
140
+ process.exit(1);
141
+ }
142
+ let content = opts.content ?? existing.content;
143
+ if (opts.stdin) {
144
+ content = await readStdin();
145
+ }
146
+ const j = await client.put(`/api/vessels/${vesselId}/journals/${journalId}`, {
147
+ title: opts.title ?? existing.title,
148
+ content,
149
+ });
150
+ console.log(chalk.green(`✓ Journal 수정됨: #${j.id} "${j.title}"`));
151
+ });
152
+ // doque journal delete <journal-id> [-v vessel]
153
+ journal
154
+ .command('delete <journal-id>')
155
+ .description('Journal 삭제')
156
+ .option('-v, --vessel <slug>', 'Vessel slug 지정')
157
+ .action(async (journalId, opts, cmd) => {
158
+ const globalOpts = cmd.optsWithGlobals();
159
+ const client = createApiClient(globalOpts);
160
+ const ns = await client.resolveNamespace(globalOpts.namespace);
161
+ const vesselId = await getVesselId(client, opts.vessel, ns);
162
+ await client.delete(`/api/vessels/${vesselId}/journals/${journalId}`);
163
+ console.log(chalk.green(`✓ Journal #${journalId} 삭제됨`));
164
+ });
165
+ }
166
+ //# sourceMappingURL=journal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journal.js","sourceRoot":"","sources":["../../src/commands/journal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerNsCommands(program: Command): void;
3
+ //# sourceMappingURL=ns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ns.d.ts","sourceRoot":"","sources":["../../src/commands/ns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiHzD"}