cli-jaw 0.1.3 → 0.1.5

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/README.ko.md +1 -0
  2. package/README.md +48 -14
  3. package/README.zh-CN.md +6 -3
  4. package/dist/bin/cli-jaw.js +35 -3
  5. package/dist/bin/cli-jaw.js.map +1 -1
  6. package/dist/bin/commands/browser.js +2 -4
  7. package/dist/bin/commands/browser.js.map +1 -1
  8. package/dist/bin/commands/clone.js +152 -0
  9. package/dist/bin/commands/clone.js.map +1 -0
  10. package/dist/bin/commands/doctor.js +78 -17
  11. package/dist/bin/commands/doctor.js.map +1 -1
  12. package/dist/bin/commands/init.js +2 -4
  13. package/dist/bin/commands/init.js.map +1 -1
  14. package/dist/bin/commands/launchd.js +58 -19
  15. package/dist/bin/commands/launchd.js.map +1 -1
  16. package/dist/bin/commands/mcp.js +18 -26
  17. package/dist/bin/commands/mcp.js.map +1 -1
  18. package/dist/bin/commands/memory.js +3 -3
  19. package/dist/bin/commands/memory.js.map +1 -1
  20. package/dist/bin/commands/serve.js +20 -5
  21. package/dist/bin/commands/serve.js.map +1 -1
  22. package/dist/bin/commands/skill.js +1 -2
  23. package/dist/bin/commands/skill.js.map +1 -1
  24. package/dist/bin/postinstall.js +71 -35
  25. package/dist/bin/postinstall.js.map +1 -1
  26. package/dist/lib/mcp-sync.js +14 -16
  27. package/dist/lib/mcp-sync.js.map +1 -1
  28. package/dist/server.js +67 -9
  29. package/dist/server.js.map +1 -1
  30. package/dist/src/agent/spawn.js +38 -10
  31. package/dist/src/agent/spawn.js.map +1 -1
  32. package/dist/src/browser/connection.js +30 -10
  33. package/dist/src/browser/connection.js.map +1 -1
  34. package/dist/src/core/config.js +11 -5
  35. package/dist/src/core/config.js.map +1 -1
  36. package/dist/src/memory/worklog.js +2 -2
  37. package/dist/src/memory/worklog.js.map +1 -1
  38. package/dist/src/orchestrator/distribute.js +12 -0
  39. package/dist/src/orchestrator/distribute.js.map +1 -1
  40. package/dist/src/orchestrator/parser.js +16 -0
  41. package/dist/src/orchestrator/parser.js.map +1 -1
  42. package/dist/src/orchestrator/pipeline.js +100 -17
  43. package/dist/src/orchestrator/pipeline.js.map +1 -1
  44. package/dist/src/prompt/builder.js +11 -11
  45. package/dist/src/prompt/builder.js.map +1 -1
  46. package/dist/src/telegram/bot.js +19 -2
  47. package/dist/src/telegram/bot.js.map +1 -1
  48. package/package.json +1 -1
  49. package/public/dist/bundle.js +23 -23
  50. package/public/dist/bundle.js.map +3 -3
  51. package/public/index.html +2 -3
  52. package/public/js/features/settings.js +2 -3
  53. package/public/js/main.js +0 -2
  54. package/public/locales/en.json +1 -0
  55. package/public/locales/ko.json +1 -0
@@ -7,16 +7,35 @@ import { execSync } from 'node:child_process';
7
7
  import fs from 'node:fs';
8
8
  import os from 'node:os';
9
9
  import path from 'node:path';
10
- const JAW_HOME = path.join(os.homedir(), '.cli-jaw');
11
- const SETTINGS_PATH = path.join(JAW_HOME, 'settings.json');
12
- const DB_PATH = path.join(JAW_HOME, 'jaw.db');
13
- const HEARTBEAT_PATH = path.join(JAW_HOME, 'heartbeat.json');
10
+ import { JAW_HOME, SETTINGS_PATH, DB_PATH, HEARTBEAT_JOBS_PATH } from '../../src/core/config.js';
11
+ const HEARTBEAT_PATH = HEARTBEAT_JOBS_PATH;
12
+ const PATH_LOOKUP_CMD = process.platform === 'win32' ? 'where' : 'which';
14
13
  const { values } = parseArgs({
15
14
  args: process.argv.slice(3),
16
15
  options: { json: { type: 'boolean', default: false } },
17
16
  strict: false,
18
17
  });
19
18
  const results = [];
19
+ function findBinaryPath(name) {
20
+ try {
21
+ const out = execSync(`${PATH_LOOKUP_CMD} ${name}`, { encoding: 'utf8', stdio: 'pipe', timeout: 3000 }).trim();
22
+ const first = out.split(/\r?\n/).map(x => x.trim()).find(Boolean);
23
+ return first || null;
24
+ }
25
+ catch {
26
+ return null;
27
+ }
28
+ }
29
+ function isWSL() {
30
+ if (process.platform !== 'linux')
31
+ return false;
32
+ try {
33
+ return fs.readFileSync('/proc/version', 'utf8').toLowerCase().includes('microsoft');
34
+ }
35
+ catch {
36
+ return false;
37
+ }
38
+ }
20
39
  function check(name, fn) {
21
40
  try {
22
41
  const detail = fn();
@@ -66,13 +85,10 @@ check('heartbeat.json', () => {
66
85
  // 5. CLI tools
67
86
  for (const cli of ['claude', 'codex', 'gemini', 'opencode', 'copilot']) {
68
87
  check(`CLI: ${cli}`, () => {
69
- try {
70
- execSync(`which ${cli}`, { stdio: 'pipe' });
71
- return 'installed';
72
- }
73
- catch {
74
- throw new Error('WARN: not installed');
75
- }
88
+ const found = findBinaryPath(cli);
89
+ if (found)
90
+ return `installed (${found})`;
91
+ throw new Error('WARN: not installed');
76
92
  });
77
93
  }
78
94
  // 6. Telegram
@@ -112,6 +128,17 @@ if (process.platform === 'darwin') {
112
128
  }
113
129
  });
114
130
  }
131
+ if (process.platform === 'linux') {
132
+ check('Display Server', () => {
133
+ if (process.env.WAYLAND_DISPLAY)
134
+ return `Wayland (${process.env.WAYLAND_DISPLAY})`;
135
+ if (process.env.DISPLAY)
136
+ return `X11 (${process.env.DISPLAY})`;
137
+ if (isWSL())
138
+ throw new Error('WARN: no DISPLAY in WSL — enable WSLg or set DISPLAY to an X server');
139
+ throw new Error('WARN: no DISPLAY — browser skill needs X11/Wayland');
140
+ });
141
+ }
115
142
  // 9. Skill dependencies (Phase 9)
116
143
  check('uv (Python)', () => {
117
144
  try {
@@ -119,7 +146,10 @@ check('uv (Python)', () => {
119
146
  return ver;
120
147
  }
121
148
  catch {
122
- throw new Error('WARN: not installed — run: curl -LsSf https://astral.sh/uv/install.sh | sh');
149
+ const installHint = process.platform === 'win32'
150
+ ? 'powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"'
151
+ : 'curl -LsSf https://astral.sh/uv/install.sh | sh';
152
+ throw new Error(`WARN: not installed — run: ${installHint}`);
123
153
  }
124
154
  });
125
155
  check('playwright-core', () => {
@@ -131,15 +161,46 @@ check('playwright-core', () => {
131
161
  throw new Error('WARN: not installed — run: npm i -g playwright-core');
132
162
  }
133
163
  });
134
- if (process.platform === 'darwin') {
135
- check('Google Chrome', () => {
164
+ check('Google Chrome', () => {
165
+ if (process.platform === 'darwin') {
136
166
  if (fs.existsSync('/Applications/Google Chrome.app'))
137
167
  return 'installed';
138
168
  if (fs.existsSync(path.join(os.homedir(), 'Applications/Google Chrome.app')))
139
169
  return 'installed (user)';
140
- throw new Error('WARN: not found — required for browser skill');
141
- });
142
- }
170
+ }
171
+ else if (process.platform === 'win32') {
172
+ const pf = process.env.PROGRAMFILES || 'C:\\Program Files';
173
+ const pf86 = process.env['PROGRAMFILES(X86)'] || 'C:\\Program Files (x86)';
174
+ const local = process.env.LOCALAPPDATA || '';
175
+ const winPaths = [
176
+ `${pf}\\Google\\Chrome\\Application\\chrome.exe`,
177
+ `${pf86}\\Google\\Chrome\\Application\\chrome.exe`,
178
+ `${local}\\Google\\Chrome\\Application\\chrome.exe`,
179
+ `${pf}\\BraveSoftware\\Brave-Browser\\Application\\brave.exe`,
180
+ ];
181
+ for (const p of winPaths) {
182
+ if (p && fs.existsSync(p))
183
+ return 'installed';
184
+ }
185
+ }
186
+ else {
187
+ const linuxPaths = [
188
+ '/usr/bin/google-chrome-stable',
189
+ '/usr/bin/google-chrome',
190
+ '/usr/bin/chromium-browser',
191
+ '/usr/bin/chromium',
192
+ '/snap/bin/chromium',
193
+ '/usr/bin/brave-browser',
194
+ '/mnt/c/Program Files/Google/Chrome/Application/chrome.exe',
195
+ '/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe',
196
+ ];
197
+ for (const p of linuxPaths) {
198
+ if (fs.existsSync(p))
199
+ return 'installed';
200
+ }
201
+ }
202
+ throw new Error('WARN: not found — required for browser skill');
203
+ });
143
204
  // Output
144
205
  if (values.json) {
145
206
  console.log(JSON.stringify({ checks: results }, null, 2));
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../bin/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../bin/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,8 @@
5
5
  import { createInterface } from 'node:readline';
6
6
  import { parseArgs } from 'node:util';
7
7
  import fs from 'node:fs';
8
- import os from 'node:os';
9
8
  import path from 'node:path';
10
- const JAW_HOME = path.join(os.homedir(), '.cli-jaw');
11
- const SETTINGS_PATH = path.join(JAW_HOME, 'settings.json');
9
+ import { JAW_HOME, SETTINGS_PATH } from '../../src/core/config.js';
12
10
  const { values } = parseArgs({
13
11
  args: process.argv.slice(3),
14
12
  options: {
@@ -42,7 +40,7 @@ const ask = (q, def) => new Promise(r => {
42
40
  console.log('\n 🦈 cli-jaw 초기 설정\n');
43
41
  // Collect
44
42
  const workingDir = values['working-dir'] ||
45
- await ask('Working directory', settings.workingDir || os.homedir());
43
+ await ask('Working directory', settings.workingDir || JAW_HOME);
46
44
  const cli = values.cli ||
47
45
  await ask('CLI (claude/codex/gemini)', settings.cli || 'claude');
48
46
  const permissions = values.permissions ||
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../bin/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../bin/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE;QACL,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACtD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QAC1C,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACtC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACnC;IACD,MAAM,EAAE,KAAK;CAChB,CAAC,CAAC;AAEH,kBAAkB;AAClB,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAE5C,iCAAiC;AACjC,IAAI,QAAQ,GAAwB,EAAE,CAAC;AACvC,IAAI,CAAC;IAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;AAAC,CAAC;AAAC,MAAM,CAAC,CAAC,CAAC;AAEhF,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7E,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,GAAW,EAAmB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;IACrE,IAAI,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAClD,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAEtC,UAAU;AACV,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC;IACpC,MAAM,GAAG,CAAC,mBAAmB,EAAE,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,CAAC;AACpE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;IAClB,MAAM,GAAG,CAAC,2BAA2B,EAAE,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;AACrE,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW;IAClC,MAAM,GAAG,CAAC,yBAAyB,EAAE,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC;AAEzE,WAAW;AACX,IAAI,SAAS,GAAG,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,SAAS,GAAa,EAAE,CAAC;AAC9D,IAAI,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAC5B,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC3B,SAAS,GAAG,IAAI,CAAC;QACjB,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAW,CAAC;QAC7C,SAAS,GAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxH,CAAC;AACL,CAAC;KAAM,CAAC;IACJ,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,oBAAoB,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACzF,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;IAC3C,IAAI,SAAS,EAAE,CAAC;QACZ,OAAO,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,kBAAkB,EACvC,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChF,CAAC;AACL,CAAC;AAED,aAAa;AACb,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;IAClC,MAAM,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEvF,EAAE,CAAC,KAAK,EAAE,CAAC;AAEX,kDAAkD;AAClD,MAAM,MAAM,GAAwB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC;AACxE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;AAC/B,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;AACjB,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;AACjC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AAC7B,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5B,MAAM,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;AACxF,CAAC;AAED,OAAO;AACP,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAEjE,qCAAqC;AACrC,EAAE,CAAC,SAAS,CAAC,SAAmB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;AACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,2BAA2B;AAC3B,IAAI,CAAC;IACD,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACtC,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACT,OAAO,CAAC,GAAG,CAAC,uBAAwB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,CAAC,GAAG,CAAC;;;kBAGM,UAAU;kBACV,GAAG;kBACH,WAAW;kBACX,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO;kBACzD,SAAS;kBACT,aAAa;;;;;CAK9B,CAAC,CAAC"}
@@ -1,17 +1,47 @@
1
1
  /**
2
2
  * cli-jaw launchd — macOS LaunchAgent 관리
3
3
  * Usage:
4
- * jaw launchd — plist 확인 → 없으면 생성 → 시작 (원스텝)
5
- * jaw launchd unset plist 제거 + 해제
6
- * jaw launchd status 현재 상태 확인
4
+ * jaw launchd — plist 확인 → 없으면 생성 → 시작 (원스텝)
5
+ * jaw launchd --port 3458 커스텀 포트로 등록
6
+ * jaw launchd unset plist 제거 + 해제
7
+ * jaw launchd status — 현재 상태 확인
7
8
  */
8
9
  import { execSync } from 'node:child_process';
9
10
  import { existsSync, writeFileSync, unlinkSync } from 'node:fs';
10
- import { join } from 'node:path';
11
+ import { join, basename } from 'node:path';
11
12
  import { homedir } from 'node:os';
12
- const LABEL = 'com.cli-jaw.serve';
13
+ import { createHash } from 'node:crypto';
14
+ import { parseArgs } from 'node:util';
15
+ import { JAW_HOME } from '../../src/core/config.js';
16
+ function instanceId() {
17
+ const base = basename(JAW_HOME);
18
+ if (base === '.cli-jaw')
19
+ return 'default';
20
+ const hash = createHash('md5').update(JAW_HOME).digest('hex').slice(0, 8);
21
+ return `${base.replace(/^\./, '')}-${hash}`;
22
+ }
23
+ const xmlEsc = (s) => s.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
24
+ // parseArgs is safe here — launchd is a leaf command (no subcommands to absorb)
25
+ const { values: launchdOpts, positionals: launchdPos } = parseArgs({
26
+ args: process.argv.slice(3),
27
+ options: { port: { type: 'string', default: '3457' } },
28
+ strict: false,
29
+ allowPositionals: true,
30
+ });
31
+ const PORT = launchdOpts.port;
32
+ // unknown flag guard (strict:false absorbs unknowns silently)
33
+ const knownKeys = new Set(['port']);
34
+ for (const key of Object.keys(launchdOpts)) {
35
+ if (!knownKeys.has(key)) {
36
+ console.error(`❌ Unknown option: --${key}`);
37
+ console.error(' Usage: jaw launchd [--port PORT] [status|unset]');
38
+ process.exit(1);
39
+ }
40
+ }
41
+ const INSTANCE = instanceId();
42
+ const LABEL = `com.cli-jaw.${INSTANCE}`;
13
43
  const PLIST_PATH = join(homedir(), 'Library', 'LaunchAgents', `${LABEL}.plist`);
14
- const LOG_DIR = join(homedir(), '.cli-jaw', 'logs');
44
+ const LOG_DIR = join(JAW_HOME, 'logs');
15
45
  function getNodePath() {
16
46
  try {
17
47
  return execSync('which node', { encoding: 'utf8' }).trim();
@@ -31,33 +61,39 @@ function getJawPath() {
31
61
  function generatePlist() {
32
62
  const nodePath = getNodePath();
33
63
  const jawPath = getJawPath();
34
- execSync(`mkdir -p ${LOG_DIR}`);
64
+ execSync(`mkdir -p "${LOG_DIR}"`);
35
65
  return `<?xml version="1.0" encoding="UTF-8"?>
36
66
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
37
67
  <plist version="1.0">
38
68
  <dict>
39
69
  <key>Label</key>
40
- <string>${LABEL}</string>
70
+ <string>${xmlEsc(LABEL)}</string>
41
71
  <key>ProgramArguments</key>
42
72
  <array>
43
- <string>${nodePath}</string>
44
- <string>${jawPath}</string>
73
+ <string>${xmlEsc(nodePath)}</string>
74
+ <string>${xmlEsc(jawPath)}</string>
75
+ <string>--home</string>
76
+ <string>${xmlEsc(JAW_HOME)}</string>
45
77
  <string>serve</string>
78
+ <string>--port</string>
79
+ <string>${xmlEsc(PORT)}</string>
46
80
  </array>
47
81
  <key>RunAtLoad</key>
48
82
  <true/>
49
83
  <key>KeepAlive</key>
50
84
  <true/>
51
85
  <key>WorkingDirectory</key>
52
- <string>${homedir()}</string>
86
+ <string>${xmlEsc(JAW_HOME)}</string>
53
87
  <key>StandardOutPath</key>
54
- <string>${LOG_DIR}/jaw-serve.log</string>
88
+ <string>${xmlEsc(LOG_DIR)}/jaw-serve.log</string>
55
89
  <key>StandardErrorPath</key>
56
- <string>${LOG_DIR}/jaw-serve.err</string>
90
+ <string>${xmlEsc(LOG_DIR)}/jaw-serve.err</string>
57
91
  <key>EnvironmentVariables</key>
58
92
  <dict>
59
93
  <key>PATH</key>
60
- <string>${process.env.PATH}</string>
94
+ <string>${xmlEsc(process.env.PATH || '')}</string>
95
+ <key>CLI_JAW_HOME</key>
96
+ <string>${xmlEsc(JAW_HOME)}</string>
61
97
  </dict>
62
98
  </dict>
63
99
  </plist>`;
@@ -71,7 +107,7 @@ function isLoaded() {
71
107
  return false;
72
108
  }
73
109
  }
74
- const sub = process.argv[3];
110
+ const sub = launchdPos[0];
75
111
  switch (sub) {
76
112
  case 'unset': {
77
113
  if (!existsSync(PLIST_PATH)) {
@@ -79,7 +115,7 @@ switch (sub) {
79
115
  break;
80
116
  }
81
117
  try {
82
- execSync(`launchctl unload ${PLIST_PATH}`, { stdio: 'pipe' });
118
+ execSync(`launchctl unload "${PLIST_PATH}"`, { stdio: 'pipe' });
83
119
  }
84
120
  catch { /* ok */ }
85
121
  unlinkSync(PLIST_PATH);
@@ -97,6 +133,8 @@ switch (sub) {
97
133
  const parts = out.split('\t');
98
134
  const pid = parts[0] === '-' ? 'stopped' : `running (PID ${parts[0]})`;
99
135
  console.log(`🦈 jaw serve — ${pid}`);
136
+ console.log(` instance: ${INSTANCE}`);
137
+ console.log(` port: ${PORT}`);
100
138
  console.log(` plist: ${PLIST_PATH}`);
101
139
  console.log(` log: ${LOG_DIR}/jaw-serve.log`);
102
140
  }
@@ -113,7 +151,7 @@ switch (sub) {
113
151
  if (existsSync(PLIST_PATH)) {
114
152
  console.log('📄 plist 발견 — 재생성합니다');
115
153
  try {
116
- execSync(`launchctl unload ${PLIST_PATH}`, { stdio: 'pipe' });
154
+ execSync(`launchctl unload "${PLIST_PATH}"`, { stdio: 'pipe' });
117
155
  }
118
156
  catch { /* ok */ }
119
157
  }
@@ -125,13 +163,14 @@ switch (sub) {
125
163
  writeFileSync(PLIST_PATH, plist);
126
164
  console.log(`✅ plist 저장: ${PLIST_PATH}`);
127
165
  // 3. launchd 등록 + 시작
128
- execSync(`launchctl load -w ${PLIST_PATH}`);
166
+ execSync(`launchctl load -w "${PLIST_PATH}"`);
129
167
  console.log('✅ launchd 등록 + 시작 완료\n');
130
168
  // 4. 상태 확인
131
169
  setTimeout(() => {
132
170
  if (isLoaded()) {
133
171
  console.log('🦈 jaw serve가 백그라운드에서 실행 중입니다');
134
- console.log(' http://localhost:3457');
172
+ console.log(` instance: ${INSTANCE}`);
173
+ console.log(` http://localhost:${PORT}`);
135
174
  console.log(` 로그: ${LOG_DIR}/jaw-serve.log`);
136
175
  console.log('\n 해제: jaw launchd unset');
137
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"launchd.js","sourceRoot":"","sources":["../../../bin/commands/launchd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launchd.js","sourceRoot":"","sources":["../../../bin/commands/launchd.ts"],"names":[],"mappings":"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"}
@@ -13,13 +13,13 @@
13
13
  * pypi: name (with --pypi flag) → uv tool install <pkg> / pip install <pkg>
14
14
  * or auto-detect by known prefixes (mcp-server-*)
15
15
  */
16
- import { execSync } from 'node:child_process';
16
+ import { execSync, execFileSync } from 'node:child_process';
17
17
  import { readFileSync, existsSync, unlinkSync } from 'node:fs';
18
18
  import { join } from 'node:path';
19
- import { homedir } from 'node:os';
19
+ import { JAW_HOME } from '../../src/core/config.js';
20
20
  // ─── lib imports (Single Source of Truth) ────
21
21
  import { loadUnifiedMcp, saveUnifiedMcp, syncToAll, initMcpConfig, } from '../../lib/mcp-sync.js';
22
- const JAW_HOME = join(homedir(), '.cli-jaw');
22
+ const PATH_LOOKUP_CMD = process.platform === 'win32' ? 'where' : 'which';
23
23
  // ─── ANSI ────────────────────────────────────
24
24
  const c = {
25
25
  reset: '\x1b[0m', bold: '\x1b[1m', dim: '\x1b[2m',
@@ -30,14 +30,24 @@ const c = {
30
30
  function exec(cmd) {
31
31
  return execSync(cmd, { encoding: 'utf8', stdio: 'pipe', timeout: 120000 }).trim();
32
32
  }
33
+ function findBinaryPath(name) {
34
+ try {
35
+ const out = execFileSync(PATH_LOOKUP_CMD, [name], { encoding: 'utf8', stdio: 'pipe', timeout: 5000 }).trim();
36
+ const first = out.split(/\r?\n/).map(x => x.trim()).find(Boolean);
37
+ return first || null;
38
+ }
39
+ catch {
40
+ return null;
41
+ }
42
+ }
33
43
  /** Read workingDir from settings.json for syncToAll() */
34
44
  function getWorkingDir() {
35
45
  try {
36
46
  const settingsPath = join(JAW_HOME, 'settings.json');
37
- return JSON.parse(readFileSync(settingsPath, 'utf8')).workingDir || homedir();
47
+ return JSON.parse(readFileSync(settingsPath, 'utf8')).workingDir || JAW_HOME;
38
48
  }
39
49
  catch {
40
- return homedir();
50
+ return JAW_HOME;
41
51
  }
42
52
  }
43
53
  // Known PyPI MCP packages (auto-detect without --pypi flag)
@@ -62,24 +72,12 @@ function installNpm(pkg) {
62
72
  exec(`npm i -g ${pkg}`);
63
73
  // Find binary name: last segment of package name
64
74
  const binName = pkg.split('/').pop();
65
- let binPath;
66
- try {
67
- binPath = exec(`which ${binName}`);
68
- }
69
- catch {
70
- binPath = binName;
71
- }
75
+ const binPath = findBinaryPath(binName || '') || binName;
72
76
  return { command: binName, args: [], bin: binPath };
73
77
  }
74
78
  function installPypi(pkg) {
75
79
  // Prefer uv tool install (faster), fallback to pip
76
- const hasUv = (() => { try {
77
- exec('which uv');
78
- return true;
79
- }
80
- catch {
81
- return false;
82
- } })();
80
+ const hasUv = !!findBinaryPath('uv');
83
81
  if (hasUv) {
84
82
  console.log(` ${c.yellow}📦 uv tool install ${pkg}${c.reset}`);
85
83
  try {
@@ -99,13 +97,7 @@ function installPypi(pkg) {
99
97
  }
100
98
  // Find binary: usually same as package name
101
99
  const binName = pkg;
102
- let binPath;
103
- try {
104
- binPath = exec(`which ${binName}`);
105
- }
106
- catch {
107
- binPath = binName;
108
- }
100
+ const binPath = findBinaryPath(binName) || binName;
109
101
  return { command: binPath || binName, args: [], bin: binPath };
110
102
  }
111
103
  // ─── CLI Routing ─────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../bin/commands/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../bin/commands/mcp.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  * cli-jaw memory — persistent memory CLI
3
3
  */
4
4
  import { parseArgs } from 'node:util';
5
- import { getServerUrl } from '../../src/core/config.js';
6
- const SERVER = getServerUrl('3457');
5
+ import { getServerUrl, JAW_HOME } from '../../src/core/config.js';
6
+ const SERVER = getServerUrl(undefined);
7
7
  const sub = process.argv[3];
8
8
  async function api(method, path, body) {
9
9
  const opts = { method, headers: { 'Content-Type': 'application/json' } };
@@ -74,7 +74,7 @@ try {
74
74
  }
75
75
  case 'init': {
76
76
  await api('POST', '/init', {});
77
- console.log('🧠 Memory initialized at ~/.cli-jaw/memory/');
77
+ console.log(`🧠 Memory initialized at ${JAW_HOME}/memory/`);
78
78
  break;
79
79
  }
80
80
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../bin/commands/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../bin/commands/memory.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AACvC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAE5B,KAAK,UAAU,GAAG,CAAC,MAAc,EAAE,IAAY,EAAE,IAAU;IACvD,MAAM,IAAI,GAAwB,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CAAC;IAC9F,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,kBAAkB,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IAClE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAwB,CAAC;QAC/F,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,IAAI,CAAC;IACD,QAAQ,GAAG,EAAE,CAAC;QACV,KAAK,QAAQ,CAAC,CAAC,CAAC;YACZ,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YACvF,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,aAAa,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAwB,CAAC;YAC5F,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACtB,MAAM;QACV,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACV,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YACnF,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;gBACzB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3B,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK;aACxD,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,IAAI,MAAM,CAAC,KAAK;gBAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAe,CAAC,CAAC;YAC9D,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAwB,CAAC;YACrE,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI;gBAAE,OAAO,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;;gBAC9D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,MAAM;QACV,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACV,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YACzG,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAwB,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACpC,MAAM;QACV,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACV,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,OAAO,CAAwB,CAAC;YAC3D,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACJ,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBACtB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC/E,CAAC;YACL,CAAC;YACD,MAAM;QACV,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACV,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,4BAA4B,QAAQ,UAAU,CAAC,CAAC;YAC5D,MAAM;QACV,CAAC;QACD;YACI,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;CAiBvB,CAAC,CAAC;IACC,CAAC;AACL,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACT,OAAO,CAAC,KAAK,CAAC,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACzB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * cli-jaw serve — Phase 9.1
3
3
  * Starts the server in foreground with signal forwarding.
4
4
  */
5
- import { spawn, exec } from 'node:child_process';
5
+ import { spawn } from 'node:child_process';
6
6
  import { parseArgs } from 'node:util';
7
7
  import { dirname, join } from 'node:path';
8
8
  import { fileURLToPath } from 'node:url';
@@ -63,13 +63,28 @@ child.on('error', (err) => {
63
63
  console.error(` ❌ Failed to start server: ${err.message}`);
64
64
  process.exit(1);
65
65
  });
66
+ function openUrl(url) {
67
+ try {
68
+ const cmd = process.platform === 'darwin' ? 'open'
69
+ : process.platform === 'win32' ? 'cmd'
70
+ : 'xdg-open';
71
+ const args = process.platform === 'win32'
72
+ ? ['/c', 'start', '', url]
73
+ : [url];
74
+ const opener = spawn(cmd, args, { detached: true, stdio: 'ignore' });
75
+ opener.on('error', () => {
76
+ console.log(' ⚠️ Could not open browser');
77
+ });
78
+ opener.unref();
79
+ }
80
+ catch {
81
+ console.log(' ⚠️ Could not open browser');
82
+ }
83
+ }
66
84
  // --open: open browser after a short delay
67
85
  if (values.open) {
68
86
  setTimeout(() => {
69
- exec(`open ${getServerUrl(values.port)}`, (err) => {
70
- if (err)
71
- console.log(' ⚠️ Could not open browser');
72
- });
87
+ openUrl(getServerUrl(values.port));
73
88
  }, 2000);
74
89
  }
75
90
  //# sourceMappingURL=serve.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../bin/commands/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../bin/commands/serve.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEhD,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE;QAC7D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;QAC5C,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;KAC5C;IACD,MAAM,EAAE,KAAK;CAChB,CAAC,CAAC;AAEH,iFAAiF;AACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAChD,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC3C,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAE1C,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;AAE5D,IAAI,KAAK,CAAC;AACV,IAAI,UAAU,EAAE,CAAC;IACb,iCAAiC;IACjC,MAAM,QAAQ,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAClD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;IACtE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAC1B,CAAC,GAAG,QAAQ,EAAE,UAAU,CAAC,EACzB;QACI,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAc,EAAE,IAAI,EAAE,MAAM,CAAC,IAAc,EAAE;KACpF,CACJ,CAAC;AACN,CAAC;KAAM,CAAC;IACJ,yBAAyB;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,KAAK,GAAG,KAAK,CAAC,MAAM,EAChB,OAAO,EACP;QACI,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAc,EAAE,IAAI,EAAE,MAAM,CAAC,IAAc,EAAE;KACpF,CACJ,CAAC;AACN,CAAC;AAED,kBAAkB;AAClB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAEnD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAmB,EAAE,MAAqB,EAAE,EAAE;IAC5D,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;IAC7B,OAAO,CAAC,KAAK,CAAC,+BAA+B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,SAAS,OAAO,CAAC,GAAW;IACxB,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM;YAC9C,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK;gBAClC,CAAC,CAAC,UAAU,CAAC;QACrB,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;YACrC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC;YAC1B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACZ,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC/C,CAAC;AACL,CAAC;AAED,2CAA2C;AAC3C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IACd,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAc,CAAC,CAAC,CAAC;IACjD,CAAC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC"}