@42ws/cli 0.0.34 → 0.0.36

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 (38) hide show
  1. package/dist/commands/chatlog.d.ts +10 -0
  2. package/dist/commands/chatlog.d.ts.map +1 -0
  3. package/dist/commands/chatlog.js +103 -0
  4. package/dist/commands/chatlog.js.map +1 -0
  5. package/dist/commands/context.d.ts +12 -0
  6. package/dist/commands/context.d.ts.map +1 -0
  7. package/dist/commands/context.js +271 -0
  8. package/dist/commands/context.js.map +1 -0
  9. package/dist/commands/dev.d.ts +13 -0
  10. package/dist/commands/dev.d.ts.map +1 -0
  11. package/dist/commands/dev.js +300 -0
  12. package/dist/commands/dev.js.map +1 -0
  13. package/dist/commands/editlog.d.ts +12 -0
  14. package/dist/commands/editlog.d.ts.map +1 -0
  15. package/dist/commands/editlog.js +188 -0
  16. package/dist/commands/editlog.js.map +1 -0
  17. package/dist/commands/init.js +2 -4
  18. package/dist/commands/init.js.map +1 -1
  19. package/dist/commands/prompts.js +2 -2
  20. package/dist/commands/prompts.js.map +1 -1
  21. package/dist/commands/publish.d.ts.map +1 -1
  22. package/dist/commands/publish.js +3 -1
  23. package/dist/commands/publish.js.map +1 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +77 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/lib/i18n.d.ts.map +1 -1
  28. package/dist/lib/i18n.js +46 -0
  29. package/dist/lib/i18n.js.map +1 -1
  30. package/dist/lib/inspector-client.d.ts +3 -0
  31. package/dist/lib/inspector-client.d.ts.map +1 -0
  32. package/dist/lib/inspector-client.js +246 -0
  33. package/dist/lib/inspector-client.js.map +1 -0
  34. package/dist/lib/suggest.d.ts +12 -0
  35. package/dist/lib/suggest.d.ts.map +1 -0
  36. package/dist/lib/suggest.js +36 -0
  37. package/dist/lib/suggest.js.map +1 -0
  38. package/package.json +1 -1
@@ -0,0 +1,10 @@
1
+ export interface ChatLogOpts {
2
+ subcommand?: string;
3
+ positional: string[];
4
+ json?: boolean;
5
+ session?: string;
6
+ limit?: string;
7
+ help?: boolean;
8
+ }
9
+ export declare function chatlog(opts: ChatLogOpts): Promise<void>;
10
+ //# sourceMappingURL=chatlog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatlog.d.ts","sourceRoot":"","sources":["../../src/commands/chatlog.ts"],"names":[],"mappings":"AAmDA,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA6D9D"}
@@ -0,0 +1,103 @@
1
+ import { loadConfig } from '../lib/config.js';
2
+ import { apiRequest, ApiError } from '../lib/api.js';
3
+ import { info, error, isJsonMode } from '../lib/output.js';
4
+ const HELP = `
5
+ 42ws chatlog — Inspect AI chat history
6
+
7
+ Usage:
8
+ 42ws chatlog list <site> [--session <sessionId>] [--limit N]
9
+
10
+ Options:
11
+ --session <id> Show messages for a specific session (default: latest across all)
12
+ --limit N Max entries to show (default 100, max 500)
13
+ --json Output as JSON
14
+
15
+ Notes:
16
+ - Each editor visit creates a fresh session. Messages within a session are time-ordered.
17
+ - Failed AI attempts and system errors are also recorded.
18
+
19
+ Examples:
20
+ 42ws chatlog list my-site
21
+ 42ws chatlog list my-site --session 8f2c... --json
22
+ `.trim();
23
+ function formatRelativeTime(iso) {
24
+ const d = new Date(iso);
25
+ const diff = Date.now() - d.getTime();
26
+ const min = Math.floor(diff / 60_000);
27
+ if (min < 1)
28
+ return 'たった今';
29
+ if (min < 60)
30
+ return `${min}分前`;
31
+ const hr = Math.floor(min / 60);
32
+ if (hr < 24)
33
+ return `${hr}時間前`;
34
+ const day = Math.floor(hr / 24);
35
+ if (day < 30)
36
+ return `${day}日前`;
37
+ return d.toLocaleDateString('ja-JP');
38
+ }
39
+ export async function chatlog(opts) {
40
+ if (opts.help || opts.positional.includes('--help')) {
41
+ process.stdout.write(HELP + '\n');
42
+ return;
43
+ }
44
+ const sub = opts.subcommand;
45
+ if (!sub) {
46
+ process.stdout.write(HELP + '\n');
47
+ return;
48
+ }
49
+ const cfg = loadConfig();
50
+ if (!cfg.token || !cfg.apiUrl) {
51
+ error('NOT_LOGGED_IN', 'ログインしてください: 42ws login --token <api-token>');
52
+ process.exit(1);
53
+ }
54
+ if (sub === 'list') {
55
+ const site = opts.positional[0];
56
+ if (!site) {
57
+ error('INVALID_ARGS', 'Usage: 42ws chatlog list <site> [--session <id>]');
58
+ process.exit(1);
59
+ }
60
+ const qs = new URLSearchParams();
61
+ if (opts.session)
62
+ qs.set('session', opts.session);
63
+ if (opts.limit)
64
+ qs.set('limit', opts.limit);
65
+ try {
66
+ const res = await apiRequest(cfg, 'GET', `/v1/sites/${encodeURIComponent(site)}/chatlog${qs.size ? '?' + qs.toString() : ''}`);
67
+ if (isJsonMode()) {
68
+ process.stdout.write(JSON.stringify(res.entries, null, 2) + '\n');
69
+ return;
70
+ }
71
+ if (res.entries.length === 0) {
72
+ info('チャット履歴なし');
73
+ return;
74
+ }
75
+ // session ごとにグループ化(指定なし時の見やすさのため)
76
+ let lastSession = null;
77
+ for (const e of res.entries) {
78
+ if (e.sessionId !== lastSession) {
79
+ if (lastSession !== null)
80
+ process.stdout.write('\n');
81
+ process.stdout.write(`-- session ${e.sessionId.slice(0, 8)}…\n`);
82
+ lastSession = e.sessionId;
83
+ }
84
+ const time = formatRelativeTime(e.createdAt);
85
+ const roleLabel = e.role === 'user' ? 'U' : e.role === 'assistant' ? 'A' : 'S';
86
+ const link = e.associatedEditId ? ` -> edit:${e.associatedEditId.slice(0, 12)}` : '';
87
+ process.stdout.write(` [${roleLabel}] ${time.padEnd(8)} ${e.text}${link}\n`);
88
+ }
89
+ }
90
+ catch (err) {
91
+ if (err instanceof ApiError)
92
+ error(err.code, err.message, err.suggestedFix);
93
+ else
94
+ error('UNKNOWN', err instanceof Error ? err.message : String(err));
95
+ process.exit(1);
96
+ }
97
+ return;
98
+ }
99
+ error('UNKNOWN_SUBCOMMAND', `Unknown subcommand: ${sub}`);
100
+ process.stdout.write(HELP + '\n');
101
+ process.exit(1);
102
+ }
103
+ //# sourceMappingURL=chatlog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatlog.js","sourceRoot":"","sources":["../../src/commands/chatlog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface ContextOpts {
2
+ subcommand?: string;
3
+ positional: string[];
4
+ json?: boolean;
5
+ value?: string;
6
+ valueFile?: string;
7
+ out?: string;
8
+ limit?: string;
9
+ help?: boolean;
10
+ }
11
+ export declare function context(opts: ContextOpts): Promise<void>;
12
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAsDA,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgN9D"}
@@ -0,0 +1,271 @@
1
+ import { loadConfig } from '../lib/config.js';
2
+ import { apiRequest, ApiError } from '../lib/api.js';
3
+ import { info, successMessage, error, isJsonMode } from '../lib/output.js';
4
+ import { readFileSync, writeFileSync, existsSync } from 'node:fs';
5
+ import { resolve } from 'node:path';
6
+ const HELP = `
7
+ 42ws context — サイトカルテ(事業情報・デザイン方針・決定事項などの保管場所)
8
+
9
+ 42ws は保存と取得だけ提供。本文の生成や更新はあなたの AI (Claude Code 等) が行う前提。
10
+ ログ (editlog / chatlog) を参照して AI に要約させ、CLI で書き戻すワークフロー。
11
+
12
+ Usage:
13
+ 42ws context list <site>
14
+ 42ws context get <site> <key> [--out <file>]
15
+ 42ws context set <site> <key> --value-file <path>
16
+ 42ws context set <site> <key> --value "<text>"
17
+ 42ws context delete <site> <key>
18
+ 42ws context refresh <site> [--limit N] (summary 更新用の素材を AI に渡す形で出力)
19
+
20
+ 推奨 key (任意で増やしても良い):
21
+ business 事業情報・ターゲット・差別化
22
+ design デザイン方針・トーン・色味
23
+ tone 文章トーン・敬語ベース・NG 表現
24
+ decisions 決定事項
25
+ rejected 却下案 (重要 — AI が同じ提案を繰り返さないため)
26
+ cta CTA 方針
27
+ faq よくある質問の方向性
28
+ open-issues 未対応事項
29
+
30
+ Options:
31
+ --value <text> 値を直接渡す (改行は \n で)
32
+ --value-file <path> 値をファイルから読む (Markdown 推奨)
33
+ --out <file> get 時に値をファイルに書き出す (デフォルトは stdout)
34
+ --json JSON で出力
35
+
36
+ 例:
37
+ 42ws context list my-site
38
+ 42ws context get my-site decisions --out decisions.md
39
+ 42ws context set my-site decisions --value-file decisions.md
40
+ 42ws editlog list my-site --json | <AI に渡す> | 42ws context set my-site decisions --value-file -
41
+ `.trim();
42
+ export async function context(opts) {
43
+ if (opts.help || opts.positional.includes('--help')) {
44
+ process.stdout.write(HELP + '\n');
45
+ return;
46
+ }
47
+ const sub = opts.subcommand;
48
+ if (!sub) {
49
+ process.stdout.write(HELP + '\n');
50
+ return;
51
+ }
52
+ const cfg = loadConfig();
53
+ if (!cfg.token || !cfg.apiUrl) {
54
+ error('NOT_LOGGED_IN', 'ログインしてください: 42ws login --token <api-token>');
55
+ process.exit(1);
56
+ }
57
+ if (sub === 'list') {
58
+ const site = opts.positional[0];
59
+ if (!site) {
60
+ error('INVALID_ARGS', 'Usage: 42ws context list <site>');
61
+ process.exit(1);
62
+ }
63
+ try {
64
+ const res = await apiRequest(cfg, 'GET', `/v1/sites/${encodeURIComponent(site)}/context`);
65
+ if (isJsonMode()) {
66
+ process.stdout.write(JSON.stringify(res, null, 2) + '\n');
67
+ return;
68
+ }
69
+ if (res.entries.length === 0) {
70
+ info('カルテはまだありません');
71
+ info(`推奨 key: ${res.recommendedKeys.join(', ')}`);
72
+ info(`例: 42ws context set ${site} business --value-file business.md`);
73
+ return;
74
+ }
75
+ for (const e of res.entries) {
76
+ const head = e.value.split('\n')[0].slice(0, 80);
77
+ process.stdout.write(`${e.key.padEnd(14)} ${e.value.length}字 ${e.updatedAt.slice(0, 10)} ${head}\n`);
78
+ }
79
+ }
80
+ catch (err) {
81
+ if (err instanceof ApiError)
82
+ error(err.code, err.message, err.suggestedFix);
83
+ else
84
+ error('UNKNOWN', err instanceof Error ? err.message : String(err));
85
+ process.exit(1);
86
+ }
87
+ return;
88
+ }
89
+ if (sub === 'get') {
90
+ const site = opts.positional[0];
91
+ const key = opts.positional[1];
92
+ if (!site || !key) {
93
+ error('INVALID_ARGS', 'Usage: 42ws context get <site> <key>');
94
+ process.exit(1);
95
+ }
96
+ try {
97
+ const res = await apiRequest(cfg, 'GET', `/v1/sites/${encodeURIComponent(site)}/context/${encodeURIComponent(key)}`);
98
+ if (isJsonMode()) {
99
+ process.stdout.write(JSON.stringify(res.entry, null, 2) + '\n');
100
+ return;
101
+ }
102
+ if (opts.out) {
103
+ const outPath = resolve(opts.out);
104
+ writeFileSync(outPath, res.entry.value, 'utf-8');
105
+ successMessage(`書き出しました: ${outPath}`);
106
+ }
107
+ else {
108
+ process.stdout.write(res.entry.value);
109
+ if (!res.entry.value.endsWith('\n'))
110
+ process.stdout.write('\n');
111
+ }
112
+ }
113
+ catch (err) {
114
+ if (err instanceof ApiError)
115
+ error(err.code, err.message, err.suggestedFix);
116
+ else
117
+ error('UNKNOWN', err instanceof Error ? err.message : String(err));
118
+ process.exit(1);
119
+ }
120
+ return;
121
+ }
122
+ if (sub === 'set') {
123
+ const site = opts.positional[0];
124
+ const key = opts.positional[1];
125
+ if (!site || !key) {
126
+ error('INVALID_ARGS', 'Usage: 42ws context set <site> <key> --value-file <path> | --value "<text>"');
127
+ process.exit(1);
128
+ }
129
+ let value;
130
+ if (opts.valueFile) {
131
+ const p = opts.valueFile === '-' ? 0 : resolve(opts.valueFile);
132
+ if (typeof p === 'string' && !existsSync(p)) {
133
+ error('FILE_NOT_FOUND', `ファイルが見つかりません: ${p}`);
134
+ process.exit(1);
135
+ }
136
+ value = readFileSync(p, 'utf-8');
137
+ }
138
+ else if (typeof opts.value === 'string') {
139
+ value = opts.value;
140
+ }
141
+ else {
142
+ error('INVALID_ARGS', '--value または --value-file が必要です');
143
+ process.exit(1);
144
+ }
145
+ try {
146
+ const res = await apiRequest(cfg, 'PUT', `/v1/sites/${encodeURIComponent(site)}/context/${encodeURIComponent(key)}`, { value });
147
+ if (isJsonMode()) {
148
+ process.stdout.write(JSON.stringify(res.entry, null, 2) + '\n');
149
+ return;
150
+ }
151
+ successMessage(`保存しました: ${key} (${value.length} 字)`);
152
+ }
153
+ catch (err) {
154
+ if (err instanceof ApiError)
155
+ error(err.code, err.message, err.suggestedFix);
156
+ else
157
+ error('UNKNOWN', err instanceof Error ? err.message : String(err));
158
+ process.exit(1);
159
+ }
160
+ return;
161
+ }
162
+ if (sub === 'delete') {
163
+ const site = opts.positional[0];
164
+ const key = opts.positional[1];
165
+ if (!site || !key) {
166
+ error('INVALID_ARGS', 'Usage: 42ws context delete <site> <key>');
167
+ process.exit(1);
168
+ }
169
+ try {
170
+ await apiRequest(cfg, 'DELETE', `/v1/sites/${encodeURIComponent(site)}/context/${encodeURIComponent(key)}`);
171
+ successMessage(`削除しました: ${key}`);
172
+ }
173
+ catch (err) {
174
+ if (err instanceof ApiError)
175
+ error(err.code, err.message, err.suggestedFix);
176
+ else
177
+ error('UNKNOWN', err instanceof Error ? err.message : String(err));
178
+ process.exit(1);
179
+ }
180
+ return;
181
+ }
182
+ if (sub === 'refresh') {
183
+ const site = opts.positional[0];
184
+ if (!site) {
185
+ error('INVALID_ARGS', 'Usage: 42ws context refresh <site> [--limit N]');
186
+ process.exit(1);
187
+ }
188
+ const limit = opts.limit ? parseInt(opts.limit, 10) : 30;
189
+ try {
190
+ // 既存カルテ + 直近 editlog + 直近 chatlog を並列取得
191
+ const [contextRes, editRes, chatRes] = await Promise.all([
192
+ apiRequest(cfg, 'GET', `/v1/sites/${encodeURIComponent(site)}/context`),
193
+ apiRequest(cfg, 'GET', `/v1/sites/${encodeURIComponent(site)}/editlog?limit=${limit}`),
194
+ apiRequest(cfg, 'GET', `/v1/sites/${encodeURIComponent(site)}/chatlog?limit=${limit}`),
195
+ ]);
196
+ const existingSummary = contextRes.entries.find((e) => e.key === 'summary');
197
+ const otherKeys = contextRes.entries.filter((e) => e.key !== 'summary');
198
+ // AI 向けに「これらを材料に summary を作って書き戻して」という instruction を生成
199
+ const instruction = [];
200
+ instruction.push('# サイトカルテ summary 更新タスク');
201
+ instruction.push('');
202
+ instruction.push(`サイト: ${site}`);
203
+ instruction.push(`実行日時: ${new Date().toISOString()}`);
204
+ instruction.push('');
205
+ instruction.push('## あなたへの依頼');
206
+ instruction.push('');
207
+ instruction.push('以下の素材 (既存 summary、直近編集ログ、AI チャット履歴、その他のカルテ key) を読み、サイトの「summary」key を更新してください。');
208
+ instruction.push('');
209
+ instruction.push('要件:');
210
+ instruction.push(`- 最大 2000 字(超過分は AI 編集時に注入されないので必ず収める)`);
211
+ instruction.push('- 凝縮した digest: トーン / 絶対避けること / 主要決定 / 業種背景 を要点だけ');
212
+ instruction.push('- 既存 summary に直近の決定・却下案を反映、古い情報は上書き or 削除');
213
+ instruction.push('- 詳細は他の key (business / tone / decisions / rejected ...) に分けるべきものは summary に詰め込まない');
214
+ instruction.push('');
215
+ instruction.push('完成したら次のコマンドで保存してください:');
216
+ instruction.push(`\`\`\``);
217
+ instruction.push(`42ws context set ${site} summary --value-file <一時ファイルパス>`);
218
+ instruction.push(`\`\`\``);
219
+ instruction.push('');
220
+ instruction.push('---');
221
+ instruction.push('');
222
+ if (existingSummary) {
223
+ instruction.push('## 既存 summary');
224
+ instruction.push('');
225
+ instruction.push(existingSummary.value);
226
+ instruction.push('');
227
+ instruction.push(`(更新: ${existingSummary.updatedAt}, ${existingSummary.value.length} 字)`);
228
+ }
229
+ else {
230
+ instruction.push('## 既存 summary');
231
+ instruction.push('');
232
+ instruction.push('(未作成)');
233
+ }
234
+ instruction.push('');
235
+ if (otherKeys.length > 0) {
236
+ instruction.push('## その他の保存済み key');
237
+ instruction.push('');
238
+ for (const e of otherKeys) {
239
+ instruction.push(`### ${e.key} (${e.value.length} 字, 更新 ${e.updatedAt})`);
240
+ instruction.push('');
241
+ instruction.push(e.value);
242
+ instruction.push('');
243
+ }
244
+ }
245
+ instruction.push('## 直近の編集ログ (最大 ' + limit + ' 件)');
246
+ instruction.push('');
247
+ instruction.push('```json');
248
+ instruction.push(JSON.stringify(editRes.entries, null, 2));
249
+ instruction.push('```');
250
+ instruction.push('');
251
+ instruction.push('## 直近の AI チャット履歴 (最大 ' + limit + ' 件)');
252
+ instruction.push('');
253
+ instruction.push('```json');
254
+ instruction.push(JSON.stringify(chatRes.entries, null, 2));
255
+ instruction.push('```');
256
+ process.stdout.write(instruction.join('\n') + '\n');
257
+ }
258
+ catch (err) {
259
+ if (err instanceof ApiError)
260
+ error(err.code, err.message, err.suggestedFix);
261
+ else
262
+ error('UNKNOWN', err instanceof Error ? err.message : String(err));
263
+ process.exit(1);
264
+ }
265
+ return;
266
+ }
267
+ error('UNKNOWN_SUBCOMMAND', `Unknown subcommand: ${sub}`);
268
+ process.stdout.write(HELP + '\n');
269
+ process.exit(1);
270
+ }
271
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export interface DevArgs {
2
+ subcommand?: string;
3
+ positional: string[];
4
+ site?: string;
5
+ dir?: string;
6
+ port?: string;
7
+ spa?: boolean;
8
+ lines?: string;
9
+ json?: boolean;
10
+ help?: boolean;
11
+ }
12
+ export declare function dev(args: DevArgs): Promise<void>;
13
+ //# sourceMappingURL=dev.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAqEA,MAAM,WAAW,OAAO;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA4PD,wBAAsB,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBtD"}