@42ws/cli 0.1.11 → 0.1.13

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.
@@ -5,5 +5,14 @@ export interface InitArgs {
5
5
  spa?: boolean;
6
6
  yes?: boolean;
7
7
  }
8
+ /**
9
+ * `42ws init` — プロジェクトのセットアップ。
10
+ *
11
+ * 42ws は「install はターミナルで1回、init 以降は AI(Claude Code / Codex)が叩く」運用。
12
+ * よって init は **非対話(headless)一本**: プロンプトを出さず、別エージェントも起動しない。
13
+ * 42ws.json + AI ガイド (CLAUDE.md / AGENTS.md) + .claude/settings.json を一式そろえ、
14
+ * AI に次手順を返す。サイト名は --site か作業フォルダ名から決める。
15
+ * `--json` は機械可読モード(42ws.json だけ書いて JSON を返す)。
16
+ */
8
17
  export declare function init(args: InitArgs): Promise<void>;
9
18
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAkCA,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DxD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDxD"}
@@ -1,8 +1,5 @@
1
- import { existsSync, writeFileSync, readFileSync, appendFileSync } from 'node:fs';
1
+ import { existsSync, writeFileSync, readFileSync, appendFileSync, mkdirSync } from 'node:fs';
2
2
  import { join, basename } from 'node:path';
3
- import { createInterface } from 'node:readline';
4
- import { spawn } from 'node:child_process';
5
- import { execSync } from 'node:child_process';
6
3
  import { detectFramework } from '../lib/detect.js';
7
4
  import { loadConfig, deriveDomains } from '../lib/config.js';
8
5
  import { apiRequest } from '../lib/api.js';
@@ -13,115 +10,117 @@ function slugify(name) {
13
10
  .replace(/[^a-z0-9-]+/g, '-')
14
11
  .replace(/^-+|-+$/g, '');
15
12
  }
16
- function prompt(question) {
17
- return new Promise(resolve => {
18
- const rl = createInterface({ input: process.stdin, output: process.stderr });
19
- rl.question(question, answer => {
20
- rl.close();
21
- resolve(answer.trim());
22
- });
23
- });
24
- }
13
+ /**
14
+ * `42ws init` — プロジェクトのセットアップ。
15
+ *
16
+ * 42ws は「install はターミナルで1回、init 以降は AI(Claude Code / Codex)が叩く」運用。
17
+ * よって init は **非対話(headless)一本**: プロンプトを出さず、別エージェントも起動しない。
18
+ * 42ws.json + AI ガイド (CLAUDE.md / AGENTS.md) + .claude/settings.json を一式そろえ、
19
+ * AI に次手順を返す。サイト名は --site か作業フォルダ名から決める。
20
+ * `--json` は機械可読モード(42ws.json だけ書いて JSON を返す)。
21
+ */
25
22
  export async function init(args) {
26
23
  const cwd = process.cwd();
27
24
  const configPath = join(cwd, '42ws.json');
28
25
  const detection = detectFramework(cwd);
29
- // If --json mode, use flag values directly (non-interactive)
26
+ // --json: 機械可読モード(42ws.json のみ)。--site 必須。
30
27
  if (isJsonMode()) {
31
28
  const siteName = args.site;
32
29
  if (!siteName) {
33
30
  error('INVALID_SITE_NAME', 'Site name is required in JSON mode.', 'Use --site=<name>.');
34
31
  process.exit(1);
35
32
  }
36
- const config = {
37
- site: siteName,
38
- output: args.output ?? detection.output ?? 'dist',
39
- };
40
- if (args.build !== undefined) {
33
+ const config = { site: siteName, output: args.output ?? detection.output ?? 'dist' };
34
+ if (args.build !== undefined)
41
35
  config.build = args.build || undefined;
42
- }
43
- if (args.spa !== undefined) {
36
+ if (args.spa !== undefined)
44
37
  config.spa = args.spa;
45
- }
46
38
  writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', { encoding: 'utf-8' });
47
39
  process.stdout.write(JSON.stringify({ ok: true, path: configPath, config }) + '\n');
48
40
  return;
49
41
  }
50
- // Interactive mode
51
- if (!process.stdin.isTTY) {
52
- error('NOT_A_TTY', '対話モードを起動できません。', '非対話で使うときは --json --site=<名前> を指定してください。');
53
- process.exit(1);
54
- }
55
- // 42ws.json が既にある場合だけ確認(それ以外は質問せず賢く既定で進める)
56
- if (existsSync(configPath) && !args.yes) {
57
- const overwrite = await prompt('42ws.json が既にあります。上書きしますか? [y/N]: ');
58
- if (overwrite.toLowerCase() !== 'y') {
59
- info('中止しました。');
60
- process.exit(0);
61
- }
62
- }
63
- // サイト名(サブドメインになる)。dir 名を既定にし、空きを確認して通ったものを使う。
64
- const siteName = await resolveAvailableSite(slugify(basename(cwd)), args.site);
65
- // Output / Build / SPA は自動検出して 42ws.json に静かに書く(CLI では聞かない)。
66
- const config = { site: siteName, output: detection.output ?? 'dist' };
42
+ // サイト名: --site か作業フォルダ名から(質問しない)。Output/Build/SPA は自動検出。
43
+ const site = (args.site ? slugify(args.site) : slugify(basename(cwd))).toLowerCase();
44
+ const config = { site, output: args.output ?? detection.output ?? 'dist' };
67
45
  if (detection.build)
68
46
  config.build = detection.build;
69
47
  if (detection.spa)
70
48
  config.spa = true;
71
49
  writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', { encoding: 'utf-8' });
72
- const { sitesHost } = deriveDomains(loadConfig().apiUrl);
73
- info(`42ws.json を作成しました(サイト名: ${siteName} https://${siteName}.${sitesHost})`);
74
- // AI agent 用ガイド (CLAUDE.md / AGENTS.md) を配置 起動。ヒアリングや設計は起動後に AI が行う。
50
+ const cfg = loadConfig();
51
+ const { sitesHost } = deriveDomains(cfg.apiUrl);
52
+ info(`42ws.json を作成しました(サイト名: ${site}https://${site}.${sitesHost})`);
53
+ // サイト名の空き確認(best-effort・ブロックしない)。埋まっていれば AI に修正を促す。
54
+ try {
55
+ const res = await apiRequest(cfg, 'GET', `/v1/sites/${encodeURIComponent(site)}/availability`);
56
+ if (res && !res.available) {
57
+ info(`注意: サイト名 "${site}" は使用中/不可です。42ws.json の "site" を別名に変えてください(公開前に要修正)。`);
58
+ }
59
+ }
60
+ catch { /* オフライン等は無視 */ }
75
61
  await setupAgentGuides(cwd);
76
- await launchAgent(cwd);
62
+ await setupClaudeSettings(cwd);
63
+ const loggedIn = !!cfg.token;
64
+ let n = 1;
65
+ info('');
66
+ info('=== 42ws セットアップ完了(AI 向け次手順)===');
67
+ if (!loggedIn)
68
+ info(`${n++}) 未ログインです。ユーザーに \`42ws login\` の実行を促してください(ブラウザ認可)。`);
69
+ info(`${n++}) CLAUDE.md を読み、\`42ws whoami\` で使える機能(hosting / フォーム / コレクション / 独自ドメイン)を確認。`);
70
+ info(`${n++}) ユーザーにヒアリング(参考サイト・原稿)→ design.md を起こす → 制作 → \`42ws dev\` で確認 → 公開。`);
71
+ info(' 規約は `42ws prompts get build`、プラットフォーム前提は `42ws prompts get context` を取得して従う。');
77
72
  }
78
73
  /**
79
- * サイト名の空きを確認しながら確定する。
80
- * - 既定(dir 名)が空いていればそのまま採用(質問しない)
81
- * - 埋まっている/予約/不正なら理由を伝えて別名を入力してもらう(空きが見つかるまで)
82
- * - 空き確認 API(公開・認証不要)に届かなければ、既定のまま進める(後続の create で再確認される)
74
+ * .claude/settings.json に 42ws を「AI に認知させる」設定をマージ追記する(strategy §4.5 の制御点の堀)。
75
+ * - permissions.allow に Bash(42ws:*)(毎回の権限確認を消す)
76
+ * - hooks.SessionStart に `42ws whoami --hook`(起動時にログイン/プラン/接続先を AI に渡す)
77
+ * 既存の settings は壊さずマージし、重複は入れない。
83
78
  */
84
- async function resolveAvailableSite(defaultSite, fromFlag) {
85
- const cfg = loadConfig();
86
- const check = async (name) => {
79
+ async function setupClaudeSettings(cwd) {
80
+ const dir = join(cwd, '.claude');
81
+ const file = join(dir, 'settings.json');
82
+ let settings = {};
83
+ if (existsSync(file)) {
87
84
  try {
88
- return await apiRequest(cfg, 'GET', `/v1/sites/${encodeURIComponent(name)}/availability`);
85
+ settings = JSON.parse(readFileSync(file, 'utf-8'));
89
86
  }
90
87
  catch {
91
- return null; // オフライン等は確認スキップ
92
- }
93
- };
94
- const reasonText = {
95
- taken: 'すでに使われています',
96
- reserved: '予約済みで使えません',
97
- invalid: '使えない名前です(半角英数とハイフン、4〜32文字)',
98
- };
99
- let candidate = (fromFlag || defaultSite).toLowerCase();
100
- for (;;) {
101
- const res = await check(candidate);
102
- if (res === null) {
103
- info(`サイト名の空き確認をスキップしました(オフライン?)。"${candidate}" で進めます。`);
104
- return candidate;
105
- }
106
- if (res.available) {
107
- info(`サイト名 "${candidate}" は利用可能です。`);
108
- return candidate;
109
- }
110
- info(`サイト名 "${candidate}" は${reasonText[res.reason ?? ''] ?? '使えません'}。`);
111
- const next = await prompt('別のサイト名を入力してください: ');
112
- if (!next) {
113
- info('空のためそのまま進めます(公開時に再確認されます)。');
114
- return candidate;
88
+ info('.claude/settings.json が壊れているため 42ws 設定の仕込みをスキップしました。');
89
+ return;
115
90
  }
116
- candidate = next.toLowerCase();
117
91
  }
92
+ const perms = (settings.permissions ?? {});
93
+ const allow = Array.isArray(perms.allow) ? perms.allow : [];
94
+ const hooks = (settings.hooks ?? {});
95
+ const sessionStart = Array.isArray(hooks.SessionStart) ? hooks.SessionStart : [];
96
+ const ALLOW_RULE = 'Bash(42ws:*)';
97
+ const hasAllow = allow.includes(ALLOW_RULE);
98
+ const hasHook = JSON.stringify(sessionStart).includes('42ws whoami --hook');
99
+ if (hasAllow && hasHook) {
100
+ info('.claude/settings.json に 42ws の設定が既にあります (skip)');
101
+ return;
102
+ }
103
+ if (!hasAllow)
104
+ allow.push(ALLOW_RULE);
105
+ const newSessionStart = hasHook
106
+ ? sessionStart
107
+ : [...sessionStart, { matcher: 'startup', hooks: [{ type: 'command', command: '42ws whoami --hook', timeout: 10 }] }];
108
+ const merged = {
109
+ ...settings,
110
+ permissions: { ...(typeof settings.permissions === 'object' && settings.permissions ? settings.permissions : {}), allow },
111
+ hooks: { ...(typeof settings.hooks === 'object' && settings.hooks ? settings.hooks : {}), SessionStart: newSessionStart },
112
+ };
113
+ if (!existsSync(dir))
114
+ mkdirSync(dir, { recursive: true });
115
+ writeFileSync(file, JSON.stringify(merged, null, 2) + '\n', { encoding: 'utf-8' });
116
+ info('.claude/settings.json に 42ws の許可 (Bash(42ws:*)) とセッション開始フック (42ws whoami) を追加しました');
118
117
  }
119
118
  function buildAgentGuide() {
120
119
  return `# 42ws Site Project
121
120
 
122
121
  このプロジェクトは [42ws](https://42ws.com) で公開されます。
123
122
 
124
- ## 起動したら最初に(ヒアリング)
123
+ ## まず最初に(ヒアリング)
125
124
 
126
125
  いきなり作り始めない。まずユーザーに**雑談ベースで**確認する(管理画面用語=「コレクション」等は使わない):
127
126
 
@@ -133,17 +132,15 @@ function buildAgentGuide() {
133
132
 
134
133
  ## 使える機能を先に確認
135
134
 
136
- \`npx @42ws/cli@latest whoami --json\` で**ログイン状態と契約プランの機能**(hosting / contact=フォーム / collection / customDomains)を確認する。
135
+ \`42ws whoami\` で**ログイン状態と契約プランの機能**(hosting / contact=フォーム / collection / customDomains)を確認する。
137
136
  **使えない機能は提案しない**(例: フォーム不可のプランなら問い合わせフォームを設計に入れない)。未ログインなら先にログインを促す。
138
137
 
139
138
  ## 制作前に必ず読む(オンライン・常に最新)
140
139
 
141
140
  ガイドは 42ws がオンラインで配信します。ローカルに古い規約を抱えないため、**作業前に毎回取得**してください:
142
141
 
143
- ガイドは 42ws がオンラインで配信します。ローカルに古い規約を抱えないため、**作業前に毎回取得**してください:
144
-
145
- npx @42ws/cli@latest prompts get context # 42ws プラットフォームの前提(フォーム埋め込み、CMS の作法、禁止事項)
146
- npx @42ws/cli@latest prompts get build # 制作規約(素 HTML 優先・スマホ対応・SEO 構造・デザイン方針・画像・プレビュー)
142
+ 42ws prompts get context # 42ws プラットフォームの前提(フォーム埋め込み、CMS の作法、禁止事項)
143
+ 42ws prompts get build # 制作規約(素 HTML 優先・スマホ対応・SEO 構造・デザイン方針・画像・プレビュー)
147
144
 
148
145
  ## 設計を起こす(design.md)
149
146
 
@@ -152,7 +149,7 @@ function buildAgentGuide() {
152
149
  ## 作る → プレビュー → 公開
153
150
 
154
151
  1. \`build\` 規約に従って素の HTML/CSS で作る(理由が無ければフレームワーク不要)
155
- 2. **\`npx @42ws/cli@latest dev\` でローカル起動し、ブラウザ(スマホ幅でも)で確認**。崩れ・エラーは検証ツールバー / \`dev errors\` で診断(手順は \`prompts get inspector\`)
152
+ 2. **\`42ws dev\` でローカル起動し、ブラウザ(スマホ幅でも)で確認**。崩れ・エラーは検証ツールバー / \`dev errors\` で診断(手順は \`prompts get inspector\`)
156
153
  3. 公開・フォーム/コレクション組み込み・既存サイト移行は \`prompts get cli\` / \`prompts get migrate\`
157
154
 
158
155
  ## バージョン更新の検知
@@ -178,7 +175,7 @@ function shouldSkipExisting(file, marker) {
178
175
  }
179
176
  async function setupAgentGuides(cwd) {
180
177
  // CLAUDE.md (Claude Code) と AGENTS.md (codex 等) を生成。
181
- // 既にあれば内容を確認、追記許可を取る。
178
+ // 既にあれば marker で重複を防ぎつつ末尾に追記(非対話)。
182
179
  const guide = buildAgentGuide();
183
180
  const marker = '42ws Site Project'; // ヘッダ重複検知用
184
181
  for (const fname of ['CLAUDE.md', 'AGENTS.md']) {
@@ -188,11 +185,6 @@ async function setupAgentGuides(cwd) {
188
185
  info(`${fname} に 42ws のガイドが既にあります (skip)`);
189
186
  continue;
190
187
  }
191
- const ans = await prompt(`${fname} が存在します。末尾に 42ws のガイドを追記しますか? [y/N]: `);
192
- if (ans.toLowerCase() !== 'y') {
193
- info(`${fname} はスキップしました`);
194
- continue;
195
- }
196
188
  appendFileSync(fpath, '\n\n' + guide);
197
189
  info(`${fname} に追記しました`);
198
190
  }
@@ -202,54 +194,4 @@ async function setupAgentGuides(cwd) {
202
194
  }
203
195
  }
204
196
  }
205
- function detectAgentBin() {
206
- for (const name of ['claude', 'codex']) {
207
- try {
208
- const path = execSync(`command -v ${name} 2>/dev/null || which ${name} 2>/dev/null`, { encoding: 'utf-8' }).trim();
209
- if (path)
210
- return { name, path };
211
- }
212
- catch {
213
- // ignore
214
- }
215
- }
216
- return null;
217
- }
218
- async function launchAgent(cwd) {
219
- const config = loadConfig();
220
- const loggedIn = !!config.token;
221
- const agent = detectAgentBin();
222
- if (!agent) {
223
- info('');
224
- info('AI エージェント (claude / codex) が見つかりませんでした。導入後に手動で起動してください:');
225
- info(' - Claude Code: https://docs.claude.com/ja/docs/claude-code/overview');
226
- info(' - codex: https://github.com/openai/codex');
227
- if (!loggedIn) {
228
- info('');
229
- info('ログインも必要です: npx @42ws/cli@latest login');
230
- }
231
- return;
232
- }
233
- if (!loggedIn) {
234
- info('');
235
- info('未ログインです。先に `npx @42ws/cli@latest login` を実行してから再度 init してください。');
236
- info(`(検出した AI エージェント: ${agent.name})`);
237
- return;
238
- }
239
- const ans = await prompt(`AI エージェント "${agent.name}" を起動しますか? [Y/n]: `);
240
- if (ans.toLowerCase() === 'n') {
241
- info(`手動で起動する場合: ${agent.name}`);
242
- return;
243
- }
244
- info(`${agent.name} を起動します...`);
245
- // stdio を継承して対話モードを橋渡し
246
- const child = spawn(agent.path, [], { cwd, stdio: 'inherit' });
247
- await new Promise((resolveSpawn) => {
248
- child.on('exit', () => resolveSpawn());
249
- child.on('error', (err) => {
250
- info(`AI エージェントの起動に失敗しました: ${err.message}`);
251
- resolveSpawn();
252
- });
253
- });
254
- }
255
197
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function upgrade(): Promise<void>;
2
+ //# sourceMappingURL=upgrade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAKA,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ7C"}
@@ -0,0 +1,15 @@
1
+ import { runUpgrade } from '../lib/update-check.js';
2
+ import { successMessage, error } from '../lib/output.js';
3
+ // 42ws upgrade — 最新の単一バイナリへ明示更新する。
4
+ // 単一バイナリ(~/.42ws/bin/42ws)なら DL + atomic 置換。npm 版なら更新コマンドを案内。
5
+ export async function upgrade() {
6
+ const r = await runUpgrade();
7
+ if (r.ok) {
8
+ successMessage(r.message);
9
+ }
10
+ else {
11
+ error('UPGRADE_FAILED', r.message);
12
+ process.exit(1);
13
+ }
14
+ }
15
+ //# sourceMappingURL=upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzD,mCAAmC;AACnC,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,MAAM,CAAC,GAAG,MAAM,UAAU,EAAE,CAAC;IAC7B,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;QACT,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1,2 +1,4 @@
1
- export declare function whoami(): Promise<void>;
1
+ export declare function whoami(opts?: {
2
+ hook?: boolean;
3
+ }): Promise<void>;
2
4
  //# sourceMappingURL=whoami.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAiBA,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAwC5C"}
1
+ {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAmEA,wBAAsB,MAAM,CAAC,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CzE"}
@@ -1,7 +1,64 @@
1
- import { loadConfig, deriveDomains } from '../lib/config.js';
1
+ import { readFileSync } from 'node:fs';
2
+ import { loadConfig, deriveDomains, configPath } from '../lib/config.js';
2
3
  import { apiRequest, ApiError } from '../lib/api.js';
3
4
  import { successMessage, error, isJsonMode } from '../lib/output.js';
4
- export async function whoami() {
5
+ // Part G(update-check)が書く ~/.42ws/update.json を読み、SessionStart で AI に伝える更新通知文を返す。
6
+ function readUpdateNotice() {
7
+ try {
8
+ const raw = readFileSync(configPath('update.json'), 'utf-8');
9
+ const u = JSON.parse(raw);
10
+ if (u.available && u.latest) {
11
+ return `42ws: 新しいバージョン ${u.latest} があります。\`42ws upgrade\` で更新できます。`;
12
+ }
13
+ }
14
+ catch {
15
+ // 無ければ何もしない
16
+ }
17
+ return null;
18
+ }
19
+ /**
20
+ * Claude Code の SessionStart フック用出力。
21
+ * `{hookSpecificOutput:{hookEventName:"SessionStart", additionalContext:"..."}}` を stdout に出す。
22
+ * additionalContext にログイン状態 / 使える機能 / 接続先 / 更新通知を載せ、AI が起動時に把握できる。
23
+ * 何があっても **exit 0**(セッションを壊さない)。
24
+ */
25
+ async function emitSessionHook() {
26
+ const lines = [];
27
+ try {
28
+ const config = loadConfig();
29
+ if (!config.token) {
30
+ lines.push('42ws: 未ログインです。サイト公開やフォーム等を使う前に `42ws login` を実行してください。');
31
+ }
32
+ else {
33
+ try {
34
+ const me = await apiRequest(config, 'GET', '/v1/whoami');
35
+ const lic = me.license;
36
+ const feats = lic
37
+ ? [lic.hosting && 'ホスティング', lic.contact && 'フォーム', lic.collection && 'コレクション', lic.customDomains && '独自ドメイン'].filter(Boolean).join(' / ')
38
+ : '';
39
+ lines.push(`42ws: ログイン済み (${me.email ?? me.userId}) / 接続先 ${config.apiUrl}`);
40
+ lines.push(feats ? `使える機能: ${feats}(使えない機能はユーザーに提案しない)` : '使える機能がありません(プラン未割当の可能性。ユーザーに確認を)');
41
+ }
42
+ catch {
43
+ lines.push(`42ws: ログイン情報はありますが状態確認に失敗しました(接続先 ${config.apiUrl})。\`42ws whoami\` で確認できます。`);
44
+ }
45
+ }
46
+ const upd = readUpdateNotice();
47
+ if (upd)
48
+ lines.push(upd);
49
+ }
50
+ catch {
51
+ // セッションは壊さない
52
+ }
53
+ process.stdout.write(JSON.stringify({
54
+ hookSpecificOutput: { hookEventName: 'SessionStart', additionalContext: lines.join('\n') },
55
+ }) + '\n');
56
+ }
57
+ export async function whoami(opts = {}) {
58
+ if (opts.hook) {
59
+ await emitSessionHook();
60
+ return;
61
+ }
5
62
  const config = loadConfig();
6
63
  if (!config.token) {
7
64
  error('NOT_LOGGED_IN', 'You are not logged in.', 'Run `42ws login --token <your-token>` to authenticate.');
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAerE,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,CACH,eAAe,EACf,wBAAwB,EACxB,wDAAwD,CACzD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,EAAc,CAAC;IACnB,IAAI,CAAC;QACH,EAAE,GAAG,MAAM,UAAU,CAAa,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzD,KAAK,CAAC,eAAe,EAAE,2BAA2B,EAAE,sCAAsC,CAAC,CAAC;YAC9F,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,eAAe,EAAE,wBAAwB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,iCAAiC,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QAChJ,OAAO;IACT,CAAC;IACD,cAAc,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;IACtC,cAAc,CAAC,QAAQ,MAAM,CAAC,MAAM,aAAa,SAAS,GAAG,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;IACvB,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,EAAE,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5C,cAAc,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAChJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAuJA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA4S1C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA+IA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA6T1C"}
package/dist/index.js CHANGED
@@ -14,23 +14,13 @@ import { chatlog } from './commands/chatlog.js';
14
14
  import { context } from './commands/context.js';
15
15
  import { domains } from './commands/domains.js';
16
16
  import { dev } from './commands/dev.js';
17
+ import { upgrade } from './commands/upgrade.js';
18
+ import { scheduleUpdateCheck, runUpdateCheck, printUpdateNotice } from './lib/update-check.js';
17
19
  import { setJsonMode } from './lib/output.js';
18
20
  import { setLocale } from './lib/i18n.js';
19
- // バージョンは package.json から動的に取得する。
20
- // src/ からは include 外なので import は使えず、dist/index.js を起点に fs で読む。
21
- import { readFileSync } from 'node:fs';
22
- import { fileURLToPath } from 'node:url';
23
- import { dirname, join } from 'node:path';
24
- const VERSION = (() => {
25
- try {
26
- const here = dirname(fileURLToPath(import.meta.url));
27
- const pkg = JSON.parse(readFileSync(join(here, '..', 'package.json'), 'utf-8'));
28
- return pkg.version ?? '0.0.0';
29
- }
30
- catch {
31
- return '0.0.0';
32
- }
33
- })();
21
+ // バージョンはビルド時に生成される version.ts(scripts/gen-version.mjs が package.json
22
+ // から生成)から取得する。単一バイナリ(bun --compile)でも package.json 非同梱で破綻しない。
23
+ import { VERSION } from './version.js';
34
24
  const HELP = `
35
25
  42ws — Publish static sites in one command
36
26
 
@@ -41,6 +31,7 @@ Commands:
41
31
  login Authenticate with your 42ws token
42
32
  logout Remove stored credentials
43
33
  whoami Show currently logged-in user
34
+ upgrade Update 42ws to the latest version
44
35
  publish Publish a static site
45
36
  (sync from local; embed snippets and CMS-generated
46
37
  files are protected. --allow-detach to override)
@@ -145,6 +136,12 @@ function parseArgs(argv) {
145
136
  export async function main() {
146
137
  const argv = process.argv.slice(2);
147
138
  const { command, flags, positional } = parseArgs(argv);
139
+ // 隠しコマンド: バックグラウンド更新チェックの本体(scheduleUpdateCheck が detached で起動)。
140
+ // 出力もスケジューリングもせず、検査だけして終わる。
141
+ if (command === '_self-update-check') {
142
+ await runUpdateCheck();
143
+ return;
144
+ }
148
145
  // Global flags
149
146
  if (flags['json'] === true) {
150
147
  setJsonMode(true);
@@ -195,6 +192,8 @@ export async function main() {
195
192
  process.stdout.write(HELP + '\n');
196
193
  return;
197
194
  }
195
+ // 実コマンド実行時に1日1回だけ更新チェックを detached で起動(前景はブロックしない)。
196
+ scheduleUpdateCheck();
198
197
  switch (command) {
199
198
  case '--help':
200
199
  case '-h':
@@ -214,7 +213,10 @@ export async function main() {
214
213
  await logout();
215
214
  break;
216
215
  case 'whoami':
217
- await whoami();
216
+ await whoami({ hook: flags['hook'] === true });
217
+ break;
218
+ case 'upgrade':
219
+ await upgrade();
218
220
  break;
219
221
  case 'publish':
220
222
  await publish({
@@ -420,5 +422,7 @@ export async function main() {
420
422
  process.stderr.write(`Unknown command: ${command}\n\n${HELP}\n`);
421
423
  process.exit(1);
422
424
  }
425
+ // コマンド成功後に minor/major の更新通知があれば1行出す(best-effort)。
426
+ printUpdateNotice();
423
427
  }
424
428
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,qEAAqE;AACrE,8DAA8D;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0EZ,CAAC,IAAI,EAAE,CAAC;AAQT,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,KAAK,GAAqC,EAAE,CAAC;IACnD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,OAA2B,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACjC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChD,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;oBAClB,CAAC,EAAE,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC7B,CAAC;aAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,GAAG,GAAG,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAEvD,iEAAiE;IACjE,4BAA4B;IAC5B,IAAI,OAAO,KAAK,oBAAoB,EAAE,CAAC;QACrC,MAAM,cAAc,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,eAAe;IACf,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3B,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;QACtC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IAED,6EAA6E;IAC7E,iDAAiD;IACjD,4CAA4C;IAC5C,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,+CAA+C;QAC/C,kEAAkE;QAClE,iDAAiD;QACjD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,YAAY,GAAwC;YACxD,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1D,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;gBACnD,UAAU,EAAE,EAAE;aACf,CAAC;YACF,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1D,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC9D,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC1E,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC1E,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC1E,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC1E,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACnE,CAAC;QACF,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC;YAC5B,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,kFAAkF;YAClF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IAED,mDAAmD;IACnD,mBAAmB,EAAE,CAAC;IAEtB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YAClC,MAAM;QAER,KAAK,WAAW,CAAC;QACjB,KAAK,IAAI;YACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;YACrC,MAAM;QAER,KAAK,OAAO;YACV,MAAM,KAAK,CAAC;gBACV,KAAK,EAAE,KAAK,CAAC,OAAO,CAAuB;gBAC3C,MAAM,EAAE,KAAK,CAAC,SAAS,CAAuB;aAC/C,CAAC,CAAC;YACH,MAAM;QAER,KAAK,QAAQ;YACX,MAAM,MAAM,EAAE,CAAC;YACf,MAAM;QAER,KAAK,QAAQ;YACX,MAAM,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM;QAER,KAAK,SAAS;YACZ,MAAM,OAAO,EAAE,CAAC;YAChB,MAAM;QAER,KAAK,SAAS;YACZ,MAAM,OAAO,CAAC;gBACZ,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAuB;gBACvC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAuB;gBAC/C,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;gBAC1B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;gBAC5B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAuB;gBAC3C,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI;gBACnC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI;aAC5C,CAAC,CAAC;YACH,MAAM;QAER,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,yDAAyD;YACzD,iDAAiD;YACjD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,KAAK,CAAC;gBACV,UAAU;gBACV,UAAU,EAAE,aAAa;gBACzB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;gBAC1B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;gBAC5B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;gBAC9B,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI;gBAC3C,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI;gBACvC,iBAAiB,EAAE,KAAK,CAAC,oBAAoB,CAAC,KAAK,IAAI;gBACvD,eAAe,EAAE,KAAK,CAAC,kBAAkB,CAAC,KAAK,IAAI;aACpD,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,KAAK,CAAC;gBACV,UAAU;gBACV,UAAU,EAAE,aAAa;gBACzB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;gBAC5B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAuB;gBACvC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAuB;gBAC7C,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI;gBAChC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;gBAC9B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAuB;gBAC3C,GAAG,EAAE,KAAK,CAAC,KAAK,CAAuB;gBACvC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAuB;gBACvC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAuB;gBAChD,UAAU,EAAE,KAAK,CAAC,aAAa,CAAuB;gBACtD,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAuB;aACnD,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,WAAW,CAAC;gBAChB,UAAU;gBACV,UAAU,EAAE,aAAa;gBACzB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;gBAC5B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAuB;gBACvC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI;gBAChC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;gBAC9B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAuB;gBAC3C,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAuB;gBAClD,SAAS,EAAE,KAAK,CAAC,YAAY,CAAuB;gBACpD,SAAS,EAAE,KAAK,CAAC,YAAY,CAAuB;gBACpD,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAsC;gBAC5D,WAAW,EAAE,KAAK,CAAC,cAAc,CAAuB;gBACxD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAuB;gBAClD,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAuB;gBAClD,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI;gBAChC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAuB;gBAC3C,GAAG,EAAE,KAAK,CAAC,KAAK,CAAuB;gBACvC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAuB;gBACxD,eAAe,EAAE,KAAK,CAAC,mBAAmB,CAAuB;gBACjE,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,CAAuB;gBAChE,mBAAmB,EAAE,KAAK,CAAC,uBAAuB,CAAuB;gBACzE,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,CAAuB;gBAClE,oBAAoB,EAAE,KAAK,CAAC,wBAAwB,CAAuB;gBAC3E,UAAU,EAAE,KAAK,CAAC,aAAa,CAAuB;gBACtD,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI;aACvC,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QAED,KAAK,MAAM;YACT,MAAM,IAAI,CAAC;gBACT,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAK,KAAK,CAAC,MAAM,CAAwB;gBAC5D,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;aAC7B,CAAC,CAAC;YACH,MAAM;QAER,KAAK,MAAM;YACT,MAAM,IAAI,CAAC;gBACT,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAuB;gBAC7C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAuB;gBAC3C,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;gBAC1B,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;aAC3B,CAAC,CAAC;YACH,MAAM;QAER,KAAK,MAAM;YACT,MAAM,IAAI,CAAC;gBACT,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAuB;gBACvC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;aAC3B,CAAC,CAAC;YACH,MAAM;QAER,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,OAAO,CAAC;gBACZ,UAAU;gBACV,UAAU,EAAE,aAAa;gBACzB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;aAC7B,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,OAAO,CAAC;gBACZ,UAAU;gBACV,UAAU,EAAE,aAAa;gBACzB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;gBAC5B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;gBAC1B,GAAG,EAAE,KAAK,CAAC,KAAK,CAAuB;gBACvC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;gBAC9B,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,OAAO,CAAC;gBACZ,UAAU;gBACV,UAAU,EAAE,aAAa;gBACzB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;gBAC5B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAuB;gBAC/C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAuB;gBAC3C,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,OAAO,CAAC;gBACZ,UAAU;gBACV,UAAU,EAAE,aAAa;gBACzB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;gBAC9B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;gBAC5B,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,GAAG,CAAC;gBACR,UAAU;gBACV,UAAU,EAAE,aAAa;gBACzB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;gBAC5B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAuB;gBACvC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;gBACzC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;gBAC1B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAuB;gBAC3C,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,OAAO,CAAC;gBACZ,UAAU;gBACV,UAAU,EAAE,aAAa;gBACzB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;gBAC5B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAuB;gBAC3C,SAAS,EAAE,KAAK,CAAC,YAAY,CAAuB;gBACpD,GAAG,EAAE,KAAK,CAAC,KAAK,CAAuB;gBACvC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAuB;gBAC3C,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QAED;YACE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,OAAO,IAAI,IAAI,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,mDAAmD;IACnD,iBAAiB,EAAE,CAAC;AACtB,CAAC"}
@@ -20,4 +20,8 @@ export declare function saveConfig(config: Partial<Config> & {
20
20
  removeToken?: boolean;
21
21
  removeApiUrl?: boolean;
22
22
  }): void;
23
+ /** ~/.42ws 配下のファイルパスを返す(update.json 等の補助状態の置き場)。 */
24
+ export declare function configPath(name: string): string;
25
+ /** ~/.42ws 配下のバイナリ設置ディレクトリ(install.sh の配置先と一致)。 */
26
+ export declare function binDir(): string;
23
27
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAOD,wBAAgB,UAAU,IAAI,MAAM,CAkBnC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAQpF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAa5G"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAOD,wBAAgB,UAAU,IAAI,MAAM,CAkBnC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAQpF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAa5G;AAED,oDAAoD;AACpD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,mDAAmD;AACnD,wBAAgB,MAAM,IAAI,MAAM,CAE/B"}
@@ -54,4 +54,12 @@ export function saveConfig(config) {
54
54
  }
55
55
  writeFileSync(CONFIG_FILE, JSON.stringify(merged, null, 2) + '\n', { mode: 0o600 });
56
56
  }
57
+ /** ~/.42ws 配下のファイルパスを返す(update.json 等の補助状態の置き場)。 */
58
+ export function configPath(name) {
59
+ return join(CONFIG_DIR, name);
60
+ }
61
+ /** ~/.42ws 配下のバイナリ設置ディレクトリ(install.sh の配置先と一致)。 */
62
+ export function binDir() {
63
+ return join(CONFIG_DIR, 'bin');
64
+ }
57
65
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAO1C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACpD,wEAAwE;AACxE,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAE/C,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,eAAe,CAAC;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAE/C,IAAI,UAAU,GAAoB,EAAE,CAAC;IACrC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC/C,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,KAAK,IAAI,UAAU,CAAC,KAAK;QAChC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,UAAU,CAAC,MAAM,IAAI,eAAe;KACnF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC1C,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,MAA2E;IACpG,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAW;QACrB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;QACxE,+DAA+D;QAC/D,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC;KACnF,CAAC;IAEF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACtC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACtF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export declare function compareVersions(a: string, b: string): 'patch' | 'minor' | 'major' | null;
2
+ export declare function currentPlatform(): string | null;
3
+ /** 最新バイナリを temp に DL → 検証 → atomic 置換。成功で true。 */
4
+ export declare function downloadAndReplace(targetPath: string): Promise<boolean>;
5
+ /**
6
+ * 前景コマンドから呼ぶ。throttle を見て、必要なら detached でバックグラウンド検査を起動して即戻る。
7
+ * ネットワークも更新も前景をブロックしない。
8
+ */
9
+ export declare function scheduleUpdateCheck(): void;
10
+ /** 隠しサブコマンド `_self-update-check` の本体(detached プロセスで実行)。 */
11
+ export declare function runUpdateCheck(): Promise<void>;
12
+ /**
13
+ * minor/major の更新通知を stderr に1行出す(前回チェックで書かれた ~/.42ws/update.json を読む)。
14
+ * 前景コマンドの末尾で best-effort 呼び出し。JSON モードや通知無しでは何もしない。
15
+ */
16
+ export declare function printUpdateNotice(): void;
17
+ /** `42ws upgrade` の本体。明示更新(kind 問わず最新へ)。 */
18
+ export declare function runUpgrade(): Promise<{
19
+ ok: boolean;
20
+ message: string;
21
+ }>;
22
+ //# sourceMappingURL=update-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../src/lib/update-check.ts"],"names":[],"mappings":"AAyBA,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAMxF;AAED,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAI/C;AA4BD,mDAAmD;AACnD,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAkB7E;AAUD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAe1C;AAED,2DAA2D;AAC3D,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBpD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAQxC;AAED,4CAA4C;AAC5C,wBAAsB,UAAU,IAAI,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB5E"}
@@ -0,0 +1,182 @@
1
+ // 自動バージョン追随(strategy §4)。
2
+ // - コマンド実行時に1日1回だけ get.42ws.com/version を確認(throttle)。本処理はブロックしない
3
+ // (detached の隠しサブコマンド `_self-update-check` をバックグラウンドで spawn して即 unref)
4
+ // - patch(同 major.minor で patch 上昇)= サイレント自動更新(バイナリ atomic 置換)
5
+ // - minor / major = 自動更新しない。~/.42ws/update.json に通知を書き、whoami --hook / _suggest が拾う
6
+ // - npm 経由インストールはセルフ更新せず、通知のみ(更新は npm i -g)
7
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, renameSync, chmodSync, statSync } from 'node:fs';
8
+ import { spawn } from 'node:child_process';
9
+ import { dirname, join } from 'node:path';
10
+ import { VERSION } from '../version.js';
11
+ import { configPath, binDir } from './config.js';
12
+ const BASE_URL = process.env['FORTYTWO_WS_INSTALL_BASE'] ?? 'https://get.42ws.com';
13
+ const CHECK_INTERVAL_MS = 24 * 60 * 60 * 1000; // 1日
14
+ const STAMP = () => configPath('update-check'); // 最終チェック時刻
15
+ const NOTICE = () => configPath('update.json'); // minor/major 通知
16
+ function parse(v) {
17
+ const m = /^(\d+)\.(\d+)\.(\d+)/.exec(v.trim());
18
+ return m ? [Number(m[1]), Number(m[2]), Number(m[3])] : [0, 0, 0];
19
+ }
20
+ // a が b より新しいなら種別を返す。同じか古ければ null。
21
+ export function compareVersions(a, b) {
22
+ const [a0, a1, a2] = parse(a), [b0, b1, b2] = parse(b);
23
+ if (a0 !== b0)
24
+ return a0 > b0 ? 'major' : null;
25
+ if (a1 !== b1)
26
+ return a1 > b1 ? 'minor' : null;
27
+ if (a2 !== b2)
28
+ return a2 > b2 ? 'patch' : null;
29
+ return null;
30
+ }
31
+ export function currentPlatform() {
32
+ const os = process.platform === 'darwin' ? 'darwin' : process.platform === 'linux' ? 'linux' : null;
33
+ const arch = process.arch === 'arm64' ? 'arm64' : process.arch === 'x64' ? 'x64' : null;
34
+ return os && arch ? `${os}-${arch}` : null;
35
+ }
36
+ // 実行中が「~/.42ws/bin/42ws として配置された単一バイナリ」か(= セルフ更新の対象)。
37
+ function selfUpdatableBinaryPath() {
38
+ const expected = join(binDir(), '42ws');
39
+ // Bun コンパイル単一バイナリのときのみ process.execPath がそのバイナリを指す
40
+ if (process.versions.bun && process.execPath) {
41
+ try {
42
+ if (existsSync(expected) && statSync(expected).isFile()) {
43
+ // execPath が install 先と一致(あるいは同一 inode)なら更新対象
44
+ if (process.execPath === expected)
45
+ return expected;
46
+ }
47
+ }
48
+ catch { /* noop */ }
49
+ }
50
+ return null;
51
+ }
52
+ async function fetchLatest() {
53
+ try {
54
+ const res = await fetch(`${BASE_URL}/version`, { signal: AbortSignal.timeout(5000) });
55
+ if (!res.ok)
56
+ return null;
57
+ const m = (await res.json());
58
+ return typeof m.latest === 'string' ? m.latest : null;
59
+ }
60
+ catch {
61
+ return null;
62
+ }
63
+ }
64
+ /** 最新バイナリを temp に DL → 検証 → atomic 置換。成功で true。 */
65
+ export async function downloadAndReplace(targetPath) {
66
+ const platform = currentPlatform();
67
+ if (!platform)
68
+ return false;
69
+ try {
70
+ const res = await fetch(`${BASE_URL}/dl/42ws-${platform}`, { signal: AbortSignal.timeout(60000) });
71
+ if (!res.ok)
72
+ return false;
73
+ const buf = Buffer.from(await res.arrayBuffer());
74
+ if (buf.length < 1_000_000)
75
+ return false; // 明らかに壊れた応答は弾く(バイナリは数十MB)
76
+ const dir = dirname(targetPath);
77
+ if (!existsSync(dir))
78
+ mkdirSync(dir, { recursive: true });
79
+ const tmp = join(dir, `.42ws-update-${process.pid}`);
80
+ writeFileSync(tmp, buf);
81
+ chmodSync(tmp, 0o755);
82
+ renameSync(tmp, targetPath); // 同一 FS で atomic。実行中バイナリは inode 保持で安全
83
+ return true;
84
+ }
85
+ catch {
86
+ return false;
87
+ }
88
+ }
89
+ function writeNotice(n) {
90
+ try {
91
+ if (!existsSync(dirname(NOTICE())))
92
+ mkdirSync(dirname(NOTICE()), { recursive: true });
93
+ if (n)
94
+ writeFileSync(NOTICE(), JSON.stringify(n));
95
+ else
96
+ writeFileSync(NOTICE(), JSON.stringify({ available: false, latest: VERSION, kind: 'patch' }));
97
+ }
98
+ catch { /* noop */ }
99
+ }
100
+ /**
101
+ * 前景コマンドから呼ぶ。throttle を見て、必要なら detached でバックグラウンド検査を起動して即戻る。
102
+ * ネットワークも更新も前景をブロックしない。
103
+ */
104
+ export function scheduleUpdateCheck() {
105
+ try {
106
+ if (process.env['FORTYTWO_WS_NO_UPDATE'] === '1')
107
+ return;
108
+ let last = 0;
109
+ try {
110
+ last = Number(readFileSync(STAMP(), 'utf-8')) || 0;
111
+ }
112
+ catch { /* 初回 */ }
113
+ if (Date.now() - last < CHECK_INTERVAL_MS)
114
+ return;
115
+ // 先にスタンプ更新(多重起動防止)
116
+ if (!existsSync(dirname(STAMP())))
117
+ mkdirSync(dirname(STAMP()), { recursive: true });
118
+ writeFileSync(STAMP(), String(Date.now()));
119
+ // detached 子プロセスで実検査(stdio 捨て、親は待たない)
120
+ const args = process.versions.bun
121
+ ? ['_self-update-check']
122
+ : [process.argv[1], '_self-update-check'];
123
+ spawn(process.execPath, args, { detached: true, stdio: 'ignore' }).unref();
124
+ }
125
+ catch { /* 失敗してもコマンドは普通に進む */ }
126
+ }
127
+ /** 隠しサブコマンド `_self-update-check` の本体(detached プロセスで実行)。 */
128
+ export async function runUpdateCheck() {
129
+ const latest = await fetchLatest();
130
+ if (!latest)
131
+ return;
132
+ const kind = compareVersions(latest, VERSION);
133
+ if (!kind) {
134
+ writeNotice(null);
135
+ return;
136
+ } // 最新
137
+ if (kind === 'patch') {
138
+ // patch はサイレント自動更新(単一バイナリのときだけ)
139
+ const selfPath = selfUpdatableBinaryPath();
140
+ if (selfPath && await downloadAndReplace(selfPath)) {
141
+ writeNotice(null); // 更新済み
142
+ return;
143
+ }
144
+ // 自動更新できない場合(npm 等)は通知に留める
145
+ }
146
+ // minor / major、または patch 自動更新不可 → 通知を残す(whoami --hook / suggest が拾う)
147
+ writeNotice({ available: true, latest, kind });
148
+ }
149
+ /**
150
+ * minor/major の更新通知を stderr に1行出す(前回チェックで書かれた ~/.42ws/update.json を読む)。
151
+ * 前景コマンドの末尾で best-effort 呼び出し。JSON モードや通知無しでは何もしない。
152
+ */
153
+ export function printUpdateNotice() {
154
+ try {
155
+ const raw = readFileSync(NOTICE(), 'utf-8');
156
+ const n = JSON.parse(raw);
157
+ if (n.available && n.latest && n.kind !== 'patch') {
158
+ process.stderr.write(`\n42ws: 新しいバージョン ${n.latest} があります。\`42ws upgrade\` で更新できます。\n`);
159
+ }
160
+ }
161
+ catch { /* 通知ファイルが無ければ何もしない */ }
162
+ }
163
+ /** `42ws upgrade` の本体。明示更新(kind 問わず最新へ)。 */
164
+ export async function runUpgrade() {
165
+ const latest = await fetchLatest();
166
+ if (!latest)
167
+ return { ok: false, message: '最新バージョンの確認に失敗しました(ネットワーク?)。' };
168
+ if (!compareVersions(latest, VERSION)) {
169
+ writeNotice(null);
170
+ return { ok: true, message: `既に最新です (${VERSION})。` };
171
+ }
172
+ const selfPath = selfUpdatableBinaryPath();
173
+ if (!selfPath) {
174
+ return { ok: false, message: `npm 版が動いています。更新は: npm i -g @42ws/cli@latest(現在 ${VERSION} → 最新 ${latest})` };
175
+ }
176
+ if (await downloadAndReplace(selfPath)) {
177
+ writeNotice(null);
178
+ return { ok: true, message: `42ws を ${VERSION} → ${latest} に更新しました。` };
179
+ }
180
+ return { ok: false, message: '更新のダウンロードに失敗しました。時間をおいて再試行してください。' };
181
+ }
182
+ //# sourceMappingURL=update-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-check.js","sourceRoot":"","sources":["../../src/lib/update-check.ts"],"names":[],"mappings":"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"}
package/dist/run.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":""}
package/dist/run.js ADDED
@@ -0,0 +1,17 @@
1
+ // bun build --compile 用のエントリポイント。
2
+ // npm 版の bin/cli.js(`import('../dist/index.js').then(m => m.main())`)と同じ
3
+ // 起動 + ApiError 整形ロジックを TS で持つ。bun はこの src を直接バンドルできる。
4
+ import { main } from './index.js';
5
+ main().catch((e) => {
6
+ const err = e;
7
+ if (err && err.name === 'ApiError') {
8
+ process.stderr.write(`Error [${err.code}]: ${err.message}\n`);
9
+ if (err.suggestedFix)
10
+ process.stderr.write(` Fix: ${err.suggestedFix}\n`);
11
+ }
12
+ else {
13
+ console.error(err?.message ?? e);
14
+ }
15
+ process.exit(1);
16
+ });
17
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,yEAAyE;AACzE,uDAAuD;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;IAC1B,MAAM,GAAG,GAAG,CAAqF,CAAC;IAClG,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;QAC9D,IAAI,GAAG,CAAC,YAAY;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const VERSION = "0.1.13";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ // 自動生成: scripts/gen-version.mjs(手で編集しない)。package.json の version と同期。
2
+ export const VERSION = '0.1.13';
3
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@42ws/cli",
3
- "version": "0.1.11",
3
+ "version": "0.1.13",
4
4
  "description": "Publish static sites in one command",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -23,7 +23,8 @@
23
23
  "cli"
24
24
  ],
25
25
  "scripts": {
26
- "build": "tsc -p tsconfig.json",
26
+ "gen-version": "node ../../scripts/gen-version.mjs",
27
+ "build": "npm run gen-version && tsc -p tsconfig.json",
27
28
  "prepublishOnly": "npm run build"
28
29
  },
29
30
  "engines": {