musonda 1.0.22 → 1.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 ngandugilbert
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -327,23 +327,45 @@ export async function handleDoctorCommand() {
327
327
  status: 'pass',
328
328
  message: `${isUserScope ? 'User' : 'System'} service unit found at "${candidateUnitPath}"`,
329
329
  });
330
- // Verify ExecStart target on disk
330
+ // Verify ExecStart target on disk (must be the installed `musonda`
331
+ // binary — legacy `.../dist/index.js` units are flagged for reinstall).
331
332
  try {
332
333
  const unitContent = fs.readFileSync(candidateUnitPath, 'utf-8');
333
334
  const execMatch = unitContent.match(/ExecStart=(.+)/);
334
335
  if (execMatch) {
335
- const parts = execMatch[1].trim().split(/\s+/);
336
+ const execLine = execMatch[1].trim();
337
+ const parts = execLine.split(/\s+/);
336
338
  // If first token is node, second is script entrypoint; otherwise first token is binary
337
339
  const targetPath = parts[0].endsWith('node') && parts[1]
338
340
  ? parts[1].replace(/^["']|["']$/g, '')
339
341
  : parts[0].replace(/^["']|["']$/g, '');
340
- if (targetPath.startsWith('/') && !fs.existsSync(targetPath)) {
342
+ const isLegacyDist = execLine.includes('dist/index.js') ||
343
+ execLine.includes('/node_modules/musonda/dist/') ||
344
+ targetPath.includes('dist/index.js');
345
+ if (isLegacyDist) {
346
+ addResult({
347
+ category: 'Service',
348
+ check: 'Service ExecStart Target',
349
+ status: 'fail',
350
+ message: `ExecStart still references a dist/index.js file ("${targetPath}"). Reinstall the service to use the installed "musonda" binary.`,
351
+ fixHint: 'Run "musonda service install" to regenerate the unit with ExecStart=<musonda-binary> start gateway --foreground.',
352
+ });
353
+ }
354
+ else if (!targetPath.includes('/') && targetPath === 'musonda') {
355
+ addResult({
356
+ category: 'Service',
357
+ check: 'Service ExecStart Target',
358
+ status: 'pass',
359
+ message: 'ExecStart uses the installed "musonda" binary (resolved via PATH)',
360
+ });
361
+ }
362
+ else if (targetPath.startsWith('/') && !fs.existsSync(targetPath)) {
341
363
  addResult({
342
364
  category: 'Service',
343
365
  check: 'Service ExecStart Target',
344
366
  status: 'fail',
345
367
  message: `ExecStart references "${targetPath}", but the file does not exist on disk.`,
346
- fixHint: `Compile Musonda with "npm run build" or reinstall service with "musonda service install".`,
368
+ fixHint: 'Reinstall the package (npm install -g musonda) or reinstall service with "musonda service install".',
347
369
  });
348
370
  }
349
371
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -3,49 +3,38 @@
3
3
  * Creates, installs, and manages systemd service units to keep Musonda Gateway running persistently.
4
4
  */
5
5
  import { SystemdServiceOptions, SystemdServiceType, ServiceInstallResult, ServiceStatusResult, ServiceUninstallResult, ServiceCommandReference } from './types.js';
6
- /**
7
- * Searches upwards from the current module location to find the root
8
- * directory of the installed or repository Musonda package.
9
- */
10
- export declare function findMusondaPackageRoot(): string | null;
11
- /**
12
- * Resolves the appropriate Musonda entrypoint script.
13
- * Prioritizes built dist/index.js in the specified working directory,
14
- * in the current working directory, or in the installed package root.
15
- */
16
- export declare function resolveMusondaEntrypoint(options?: SystemdServiceOptions): string;
17
6
  /**
18
7
  * Locates the installed `musonda` executable (global npm install, PATH, etc.).
19
- * Returns the absolute path with forward slashes, or null when no installed
20
- * binary is available (e.g., running from a source checkout in development).
8
+ * Returns the absolute shim path with forward slashes (e.g.
9
+ * `/usr/local/bin/musonda`), or null when no installed binary is available
10
+ * (e.g., running from a source checkout in development).
11
+ *
12
+ * Never returns a `.../dist/index.js` file path — units must invoke the
13
+ * installed `musonda` package binary so they keep working across installs.
21
14
  */
22
15
  export declare function findMusondaBinary(): string | null;
23
16
  export interface ServiceLaunchPlan {
24
- /** True when ExecStart invokes the installed binary directly (no node prefix). */
25
- usesBinary: boolean;
26
- /** Installed binary path (only when usesBinary). */
27
- binary: string | null;
28
- /** Node runtime path (only when launching via entrypoint file). */
29
- nodePath: string | null;
30
- /** Entrypoint file (only when launching via entrypoint file). */
31
- entrypoint: string | null;
17
+ /** Installed binary path (absolute) or bare `musonda` resolved via PATH. */
18
+ binary: string;
32
19
  /** Resolved working directory for the unit. */
33
20
  workingDir: string;
34
21
  /** Full ExecStart command line (without the `ExecStart=` prefix). */
35
22
  execStart: string;
36
- /** Filesystem target whose existence gates installation (binary or entrypoint). */
23
+ /** Filesystem target whose existence gates installation (binary, or bare `musonda`). */
37
24
  launchTarget: string;
38
25
  }
39
26
  /**
40
27
  * Resolves how the systemd unit should launch the gateway.
41
28
  *
29
+ * The unit always uses the installed `musonda` binary
30
+ * (`musonda start gateway ...`), never a file path such as
31
+ * `.../dist/index.js`.
32
+ *
42
33
  * Priority:
43
- * 1. Explicit `options.entrypoint` (backwards compatible: `node <entrypoint>`).
44
- * 2. Installed `musonda` binary (`options.binary` or auto-detected via PATH):
45
- * `musonda start gateway ...` — used for production/global installs so the
46
- * unit tracks the installed package instead of a hardcoded dist path.
47
- * 3. Fallback: `node <dist/index.js>` resolved from the working directory or
48
- * package root (source checkouts / development).
34
+ * 1. Explicit `options.binary`.
35
+ * 2. Auto-detected installed binary absolute path (via PATH / well-known
36
+ * locations).
37
+ * 3. Fallback: bare `musonda` resolved via systemd `PATH` at runtime.
49
38
  */
50
39
  export declare function resolveServiceLaunch(options?: SystemdServiceOptions): ServiceLaunchPlan;
51
40
  /**
@@ -5,120 +5,48 @@
5
5
  import fs from 'node:fs';
6
6
  import path from 'node:path';
7
7
  import os from 'node:os';
8
- import { fileURLToPath } from 'node:url';
9
8
  import { execSync } from 'node:child_process';
10
9
  import { logger } from '../utils/logger.js';
11
- /**
12
- * Searches upwards from the current module location to find the root
13
- * directory of the installed or repository Musonda package.
14
- */
15
- export function findMusondaPackageRoot() {
16
- try {
17
- let currentDir = path.dirname(fileURLToPath(import.meta.url));
18
- while (currentDir && currentDir !== path.dirname(currentDir)) {
19
- const pkgPath = path.join(currentDir, 'package.json');
20
- if (fs.existsSync(pkgPath)) {
21
- try {
22
- const content = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
23
- if (content.name === 'musonda') {
24
- return currentDir;
25
- }
26
- }
27
- catch {
28
- // Continue searching parent directories
29
- }
30
- }
31
- currentDir = path.dirname(currentDir);
32
- }
33
- }
34
- catch {
35
- // Fallback if import.meta.url cannot be parsed
36
- }
37
- return null;
38
- }
39
- /**
40
- * Resolves the appropriate Musonda entrypoint script.
41
- * Prioritizes built dist/index.js in the specified working directory,
42
- * in the current working directory, or in the installed package root.
43
- */
44
- export function resolveMusondaEntrypoint(options = {}) {
45
- if (options.entrypoint) {
46
- if (options.entrypoint.startsWith('/')) {
47
- return options.entrypoint.replace(/\\/g, '/');
48
- }
49
- return path.resolve(options.entrypoint).replace(/\\/g, '/');
50
- }
51
- const rawBaseDir = options.workingDirectory ? path.resolve(options.workingDirectory) : process.cwd();
52
- const rawDist = path.join(rawBaseDir, 'dist', 'index.js');
53
- const rawSrc = path.join(rawBaseDir, 'src', 'index.ts');
54
- // 1. Direct dist/index.js in specified working directory or cwd
55
- if (fs.existsSync(rawDist)) {
56
- return `${rawBaseDir.replace(/\\/g, '/')}/dist/index.js`;
57
- }
58
- // 2. Musonda package root (handles global npm install, running outside repo, etc.)
59
- const pkgRoot = findMusondaPackageRoot();
60
- if (pkgRoot) {
61
- const pkgDist = path.join(pkgRoot, 'dist', 'index.js');
62
- if (fs.existsSync(pkgDist)) {
63
- return `${pkgRoot.replace(/\\/g, '/')}/dist/index.js`;
64
- }
65
- }
66
- // 3. Source repository with src/index.ts (needs compilation to dist/index.js)
67
- if (fs.existsSync(rawSrc)) {
68
- return `${rawBaseDir.replace(/\\/g, '/')}/dist/index.js`;
69
- }
70
- if (pkgRoot && fs.existsSync(path.join(pkgRoot, 'src', 'index.ts'))) {
71
- return `${pkgRoot.replace(/\\/g, '/')}/dist/index.js`;
72
- }
73
- // 4. Executed CLI binary (e.g. /usr/local/bin/musonda)
74
- if (process.argv[1]) {
75
- try {
76
- const real = fs.realpathSync(process.argv[1]);
77
- if (fs.existsSync(real) && (real.endsWith('.js') || real.endsWith('musonda'))) {
78
- return real.replace(/\\/g, '/');
79
- }
80
- }
81
- catch { }
82
- }
83
- // 5. Fallback relative to working directory
84
- const workingDir = options.workingDirectory
85
- ? (options.workingDirectory.startsWith('/')
86
- ? options.workingDirectory.replace(/\\/g, '/')
87
- : path.resolve(options.workingDirectory).replace(/\\/g, '/'))
88
- : process.cwd().replace(/\\/g, '/');
89
- return `${workingDir}/dist/index.js`;
90
- }
91
10
  /**
92
11
  * Locates the installed `musonda` executable (global npm install, PATH, etc.).
93
- * Returns the absolute path with forward slashes, or null when no installed
94
- * binary is available (e.g., running from a source checkout in development).
12
+ * Returns the absolute shim path with forward slashes (e.g.
13
+ * `/usr/local/bin/musonda`), or null when no installed binary is available
14
+ * (e.g., running from a source checkout in development).
15
+ *
16
+ * Never returns a `.../dist/index.js` file path — units must invoke the
17
+ * installed `musonda` package binary so they keep working across installs.
95
18
  */
96
19
  export function findMusondaBinary() {
97
20
  const candidates = [];
21
+ const isDistFile = (p) => p.includes('/node_modules/musonda/dist/') ||
22
+ p.endsWith('/dist/index.js') ||
23
+ p.endsWith('/dist/cli.js');
98
24
  // 1. The currently executed binary itself, when invoked as `musonda`.
25
+ // When running via `node .../dist/index.js`, argv[1] is the dist file —
26
+ // skip it so we never emit an ExecStart pointing at dist/index.js.
99
27
  try {
100
28
  if (process.argv[1]) {
101
29
  const real = fs.realpathSync(process.argv[1]);
102
30
  const base = path.basename(real).toLowerCase();
103
- if ((base === 'musonda' || base === 'musonda-cli' || base === 'musonda.js') && fs.existsSync(real)) {
31
+ if ((base === 'musonda' || base === 'musonda-cli' || base === 'musonda.js') &&
32
+ fs.existsSync(real) &&
33
+ !isDistFile(real.replace(/\\/g, '/'))) {
104
34
  candidates.push(real.replace(/\\/g, '/'));
105
35
  }
106
36
  }
107
37
  }
108
38
  catch { }
109
39
  // 2. `musonda` resolved via PATH (`command -v` on POSIX, `where` on Windows).
40
+ // Prefer the PATH shim itself (e.g. /usr/local/bin/musonda) over its
41
+ // realpath target, which for npm global installs resolves inside
42
+ // `.../node_modules/musonda/dist/index.js` and must not be used.
110
43
  try {
111
44
  const probe = process.platform === 'win32' ? 'where musonda' : 'command -v musonda';
112
45
  const found = execSync(probe, { stdio: 'pipe' }).toString().split(/\r?\n/).map((s) => s.trim()).filter(Boolean);
113
46
  for (const f of found) {
114
- try {
115
- const real = fs.realpathSync(f);
116
- if (fs.existsSync(real))
117
- candidates.push(real.replace(/\\/g, '/'));
118
- }
119
- catch {
120
- if (fs.existsSync(f))
121
- candidates.push(f.replace(/\\/g, '/'));
47
+ const shim = f.replace(/\\/g, '/');
48
+ if (fs.existsSync(f) && !isDistFile(shim)) {
49
+ candidates.push(shim);
122
50
  }
123
51
  }
124
52
  }
@@ -138,13 +66,15 @@ export function findMusondaBinary() {
138
66
  /**
139
67
  * Resolves how the systemd unit should launch the gateway.
140
68
  *
69
+ * The unit always uses the installed `musonda` binary
70
+ * (`musonda start gateway ...`), never a file path such as
71
+ * `.../dist/index.js`.
72
+ *
141
73
  * Priority:
142
- * 1. Explicit `options.entrypoint` (backwards compatible: `node <entrypoint>`).
143
- * 2. Installed `musonda` binary (`options.binary` or auto-detected via PATH):
144
- * `musonda start gateway ...` — used for production/global installs so the
145
- * unit tracks the installed package instead of a hardcoded dist path.
146
- * 3. Fallback: `node <dist/index.js>` resolved from the working directory or
147
- * package root (source checkouts / development).
74
+ * 1. Explicit `options.binary`.
75
+ * 2. Auto-detected installed binary absolute path (via PATH / well-known
76
+ * locations).
77
+ * 3. Fallback: bare `musonda` resolved via systemd `PATH` at runtime.
148
78
  */
149
79
  export function resolveServiceLaunch(options = {}) {
150
80
  let workingDir;
@@ -166,58 +96,42 @@ export function resolveServiceLaunch(options = {}) {
166
96
  gatewayArgs.push('--port', String(options.port));
167
97
  if (options.extraArgs && options.extraArgs.length > 0)
168
98
  gatewayArgs.push(...options.extraArgs);
169
- // 1. Explicit entrypoint always wins (existing behaviour, incl. tests).
170
- if (options.entrypoint) {
171
- const entry = options.entrypoint.startsWith('/')
172
- ? options.entrypoint.replace(/\\/g, '/')
173
- : path.resolve(options.entrypoint).replace(/\\/g, '/');
174
- let nodePath = options.nodePath || (process.platform === 'linux' ? process.execPath : '/usr/bin/node');
175
- nodePath = nodePath.replace(/\\/g, '/');
176
- const quote = (s) => (s.includes(' ') ? `"${s}"` : s);
177
- return {
178
- usesBinary: false,
179
- binary: null,
180
- nodePath,
181
- entrypoint: entry,
182
- workingDir,
183
- execStart: [quote(nodePath), quote(entry), ...gatewayArgs].join(' '),
184
- launchTarget: entry,
185
- };
186
- }
187
- // 2. Installed package binary (production).
188
- let binary = options.binary
189
- ? (path.isAbsolute(options.binary)
99
+ // Installed `musonda` binary never a file path such as dist/index.js.
100
+ // Explicit `options.binary` always wins when provided (dist/index.js
101
+ // values are ignored so legacy callers can't reintroduce the bad path).
102
+ const quote = (s) => (s.includes(' ') ? `"${s}"` : s);
103
+ const isDistFile = (p) => p.includes('/node_modules/musonda/dist/') ||
104
+ p.endsWith('/dist/index.js') ||
105
+ p.endsWith('/dist/cli.js');
106
+ if (options.binary && !isDistFile(options.binary.replace(/\\/g, '/'))) {
107
+ const binary = path.isAbsolute(options.binary)
190
108
  ? options.binary.replace(/\\/g, '/')
191
- : path.resolve(options.binary).replace(/\\/g, '/'))
192
- : findMusondaBinary();
193
- if (binary && fs.existsSync(binary)) {
194
- const quote = (s) => (s.includes(' ') ? `"${s}"` : s);
109
+ : path.resolve(options.binary).replace(/\\/g, '/');
110
+ if (!isDistFile(binary)) {
111
+ return {
112
+ binary,
113
+ workingDir,
114
+ execStart: [quote(binary), ...gatewayArgs].join(' '),
115
+ launchTarget: binary,
116
+ };
117
+ }
118
+ }
119
+ const detected = findMusondaBinary();
120
+ if (detected && !isDistFile(detected) && fs.existsSync(detected)) {
195
121
  return {
196
- usesBinary: true,
197
- binary,
198
- nodePath: null,
199
- entrypoint: null,
122
+ binary: detected,
200
123
  workingDir,
201
- execStart: [quote(binary), ...gatewayArgs].join(' '),
202
- launchTarget: binary,
124
+ execStart: [quote(detected), ...gatewayArgs].join(' '),
125
+ launchTarget: detected,
203
126
  };
204
127
  }
205
- // 3. Fallback: node + resolved dist entrypoint (development / source checkout).
206
- const normalizedEntry = resolveMusondaEntrypoint(options);
207
- let nodePath = options.nodePath;
208
- if (!nodePath) {
209
- nodePath = process.platform === 'linux' ? process.execPath : '/usr/bin/node';
210
- }
211
- nodePath = nodePath.replace(/\\/g, '/');
212
- const quote = (s) => (s.includes(' ') ? `"${s}"` : s);
128
+ // Fallback: bare `musonda` resolved via PATH at service runtime.
129
+ // systemd receives a usable PATH via Environment="PATH=..." in the unit.
213
130
  return {
214
- usesBinary: false,
215
- binary: null,
216
- nodePath,
217
- entrypoint: normalizedEntry,
131
+ binary: 'musonda',
218
132
  workingDir,
219
- execStart: [quote(nodePath), quote(normalizedEntry), ...gatewayArgs].join(' '),
220
- launchTarget: normalizedEntry,
133
+ execStart: ['musonda', ...gatewayArgs].join(' '),
134
+ launchTarget: 'musonda',
221
135
  };
222
136
  }
223
137
  /**
@@ -271,7 +185,7 @@ export function generateSystemdServiceContent(options = {}) {
271
185
  const description = options.description || 'Musonda Personal AI Assistant Gateway';
272
186
  const serviceType = options.serviceType || 'user';
273
187
  const restartSec = options.restartSec ?? 10;
274
- // Resolve launch plan: installed binary (production) or node + entrypoint.
188
+ // Resolve launch plan: always the installed `musonda` binary.
275
189
  const launch = resolveServiceLaunch(options);
276
190
  const workingDir = launch.workingDir;
277
191
  const execStart = launch.execStart;
@@ -367,42 +281,26 @@ export async function installSystemdService(options = {}, enableAndStart = false
367
281
  let warning;
368
282
  const launch = resolveServiceLaunch(options);
369
283
  const resolvedEntry = launch.launchTarget;
284
+ // Bare `musonda` resolves via PATH at service runtime — no local existence check.
285
+ const isPathLookup = !resolvedEntry.includes('/');
370
286
  // Only run systemctl commands if running on Linux and not in purely local file export mode
371
287
  if (process.platform === 'linux' && serviceType !== 'file') {
372
- // Validate launch target existence on local Linux system
373
- if (!fs.existsSync(resolvedEntry)) {
374
- // Attempt compilation if package root exists with TypeScript source
375
- // (only applicable to entrypoint launches, not installed binaries).
376
- if (!launch.usesBinary) {
377
- const pkgRoot = findMusondaPackageRoot();
378
- const srcPath = pkgRoot ? path.join(pkgRoot, 'src', 'index.ts') : null;
379
- if (srcPath && fs.existsSync(srcPath)) {
380
- try {
381
- logger.info('Compiling Musonda TypeScript bundle before configuring service...');
382
- execSync('npm run build', { cwd: pkgRoot, stdio: 'pipe' });
383
- }
384
- catch (buildErr) {
385
- logger.warn(`Could not automatically compile Musonda: ${buildErr.message}`);
386
- }
387
- }
388
- }
389
- if (!fs.existsSync(resolvedEntry)) {
390
- const missingHint = launch.usesBinary
391
- ? `Installed musonda binary "${resolvedEntry}" does not exist on disk. Reinstall the package (npm install -g musonda) before starting with "${commands.start}".`
392
- : `Entrypoint module "${resolvedEntry}" does not exist on disk. Run "npm run build" to compile Musonda before starting with "${commands.start}".`;
393
- warning = `Service file written to "${servicePath}", but ${missingHint}`;
394
- return {
395
- success: true,
396
- servicePath,
397
- serviceName,
398
- serviceType,
399
- content,
400
- enabled: false,
401
- started: false,
402
- commands,
403
- warning,
404
- };
405
- }
288
+ // Validate installed binary existence on local Linux system
289
+ // (skipped for PATH-resolved `musonda` binary).
290
+ if (!isPathLookup && !fs.existsSync(resolvedEntry)) {
291
+ const missingHint = `Installed musonda binary "${resolvedEntry}" does not exist on disk. Reinstall the package (npm install -g musonda) before starting with "${commands.start}".`;
292
+ warning = `Service file written to "${servicePath}", but ${missingHint}`;
293
+ return {
294
+ success: true,
295
+ servicePath,
296
+ serviceName,
297
+ serviceType,
298
+ content,
299
+ enabled: false,
300
+ started: false,
301
+ commands,
302
+ warning,
303
+ };
406
304
  }
407
305
  const isUser = serviceType === 'user';
408
306
  const daemonReloadCmd = isUser ? 'systemctl --user daemon-reload' : 'systemctl daemon-reload';
@@ -1 +1 @@
1
- {"version":3,"file":"systemd.js","sourceRoot":"","sources":["../../src/service/systemd.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAS9C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,IAAI,CAAC;QACH,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,OAAO,UAAU,IAAI,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YACtD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;oBAC7D,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC/B,OAAO,UAAU,CAAC;oBACpB,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,wCAAwC;gBAC1C,CAAC;YACH,CAAC;YACD,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAO,GAA0B,EAAE;IAC1E,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACrG,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAExD,gEAAgE;IAChE,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,gBAAgB,CAAC;IAC3D,CAAC;IAED,mFAAmF;IACnF,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;IACzC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACvD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,gBAAgB,CAAC;QACxD,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,gBAAgB,CAAC;IAC3D,CAAC;IACD,IAAI,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,gBAAgB,CAAC;IACxD,CAAC;IAED,uDAAuD;IACvD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAC9E,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,4CAA4C;IAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB;QACzC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC;YACvC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;YAC9C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACjE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO,GAAG,UAAU,gBAAgB,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,sEAAsE;IACtE,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/C,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,8EAA8E;IAC9E,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC;QACpF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChH,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;oBAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACrE,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;oBAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,0CAA0C;IAC1C,MAAM,SAAS,GAAG;QAChB,wBAAwB;QACxB,kBAAkB;QAClB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;KAC7E,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAmBD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAO,GAA0B,EAAE;IACtE,IAAI,UAAkB,CAAC;IACvB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,WAAW,GAAa,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,IAAI;QAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,OAAO,CAAC,IAAI;QAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE9F,wEAAwE;IACxE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;YAC9C,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;YACxC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACzD,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QACvG,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,IAAI;YACZ,QAAQ;YACR,UAAU,EAAE,KAAK;YACjB,UAAU;YACV,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACpE,YAAY,EAAE,KAAK;SACpB,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM;QACzB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;YAC9B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;YACpC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACxB,IAAI,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,MAAM;YACN,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,UAAU;YACV,SAAS,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACpD,YAAY,EAAE,MAAM;SACrB,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,MAAM,eAAe,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC;IAC/E,CAAC;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,OAAO;QACL,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,IAAI;QACZ,QAAQ;QACR,UAAU,EAAE,eAAe;QAC3B,UAAU;QACV,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9E,YAAY,EAAE,eAAe;KAC9B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,WAAW,GAAG,SAAS,EACvB,IAAI,GAAuB,MAAM;IAEjC,MAAM,IAAI,GAAG,GAAG,WAAW,UAAU,CAAC;IACtC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO;YACL,MAAM,EAAE,yBAAyB,IAAI,EAAE;YACvC,IAAI,EAAE,sBAAsB,IAAI,KAAK;YACrC,KAAK,EAAE,wBAAwB,IAAI,EAAE;YACrC,IAAI,EAAE,uBAAuB,IAAI,EAAE;YACnC,OAAO,EAAE,0BAA0B,IAAI,EAAE;YACzC,MAAM,EAAE,yBAAyB,IAAI,EAAE;YACvC,OAAO,EAAE,0BAA0B,IAAI,EAAE;SAC1C,CAAC;IACJ,CAAC;IAED,2CAA2C;IAC3C,OAAO;QACL,MAAM,EAAE,2BAA2B,IAAI,EAAE;QACzC,IAAI,EAAE,wBAAwB,IAAI,KAAK;QACvC,KAAK,EAAE,0BAA0B,IAAI,EAAE;QACvC,IAAI,EAAE,yBAAyB,IAAI,EAAE;QACrC,OAAO,EAAE,4BAA4B,IAAI,EAAE;QAC3C,MAAM,EAAE,2BAA2B,IAAI,EAAE;QACzC,OAAO,EAAE,4BAA4B,IAAI,EAAE;KAC5C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAI,GAAuB,MAAM,EACjC,WAAW,GAAG,SAAS,EACvB,UAAmB;IAEnB,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,uBAAuB,WAAW,UAAU,CAAC;IACtD,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,WAAW,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED,6DAA6D;IAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,WAAW,UAAU,CAAC,CAAC;AACzF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,OAAO,GAA0B,EAAE;IAC/E,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,SAAS,CAAC;IACrD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,uCAAuC,CAAC;IACnF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;IAE5C,2EAA2E;IAC3E,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAEnC,wBAAwB;IACxB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACnD,QAAQ,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAEnD,4BAA4B;IAC5B,MAAM,WAAW,GACf,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI;QAC9C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI;QAClB,CAAC,CAAC,8DAA8D,CAAC;IACrE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,WAAW,GAAG,CAAC,CAAC;IAEnD,+BAA+B;IAC/B,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QACrC,MAAM,WAAW,GACf,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ;YACxC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;YAC5C,CAAC,CAAC,GAAG,UAAU,OAAO,CAAC;QAC3B,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,iEAAiE;IACjE,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChG,IAAI,SAAS,EAAE,CAAC;YACd,cAAc,CAAC,IAAI,CAAC,QAAQ,SAAS,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,cAAc,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,QAAQ,GAAG,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAEnF,MAAM,QAAQ,GAAG;QACf,QAAQ;QACR,eAAe,WAAW,EAAE;QAC5B,kDAAkD;QAClD,4CAA4C;QAC5C,6BAA6B;QAC7B,EAAE;QACF,WAAW;QACX,aAAa;QACb,oBAAoB,UAAU,EAAE;QAChC,aAAa,SAAS,EAAE;QACxB,gBAAgB;QAChB,cAAc,UAAU,EAAE;QAC1B,wBAAwB;QACxB,uBAAuB;QACvB,oBAAoB,WAAW,EAAE;QACjC,GAAG,QAAQ;QACX,GAAG,iBAAiB;QACpB,GAAG,cAAc;QACjB,EAAE;QACF,WAAW;QACX,YAAY,QAAQ,EAAE;QACtB,EAAE;KACH,CAAC;IAEF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAO,GAA0B,EAAE;IAIzE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,SAAS,CAAC;IACrD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC;IAClD,MAAM,WAAW,GAAG,qBAAqB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAExF,MAAM,OAAO,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;IAEvD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3E,MAAM,CAAC,IAAI,CAAC,kCAAkC,WAAW,EAAE,CAAC,CAAC;IAE7D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAO,GAA0B,EAAE,EACnC,cAAc,GAAG,KAAK;IAEtB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,SAAS,CAAC;IACrD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC;IAClD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAElE,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,OAA2B,CAAC;QAEhC,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;QAE5C,2FAA2F;QAC3F,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YAC3D,yDAAyD;YACzD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClC,oEAAoE;gBACpE,oEAAoE;gBACpE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;oBACvB,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;oBACzC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACvE,IAAI,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;wBACtC,IAAI,CAAC;4BACH,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;4BACjF,QAAQ,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,OAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;wBAC9D,CAAC;wBAAC,OAAO,QAAa,EAAE,CAAC;4BACvB,MAAM,CAAC,IAAI,CAAC,4CAA4C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC9E,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBAClC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU;wBACnC,CAAC,CAAC,6BAA6B,aAAa,kGAAkG,QAAQ,CAAC,KAAK,IAAI;wBAChK,CAAC,CAAC,sBAAsB,aAAa,0FAA0F,QAAQ,CAAC,KAAK,IAAI,CAAC;oBACpJ,OAAO,GAAG,4BAA4B,WAAW,UAAU,WAAW,EAAE,CAAC;oBACzE,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,WAAW;wBACX,WAAW;wBACX,WAAW;wBACX,OAAO;wBACP,OAAO,EAAE,KAAK;wBACd,OAAO,EAAE,KAAK;wBACd,QAAQ;wBACR,OAAO;qBACR,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,WAAW,KAAK,MAAM,CAAC;YACtC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,yBAAyB,CAAC;YAC9F,MAAM,YAAY,GAAG,MAAM;gBACzB,CAAC,CAAC,iCAAiC,WAAW,UAAU;gBACxD,CAAC,CAAC,0BAA0B,WAAW,UAAU,CAAC;YAEpD,IAAI,CAAC;gBACH,QAAQ,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,GAAG,4DAA4D,GAAG,CAAC,OAAO,EAAE,CAAC;YACtF,CAAC;YAED,IAAI,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,QAAQ,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC1C,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO,GAAG,IAAI,CAAC;oBAEf,sEAAsE;oBACtE,IAAI,CAAC;wBACH,MAAM,WAAW,GAAG,MAAM;4BACxB,CAAC,CAAC,8BAA8B,WAAW,UAAU;4BACrD,CAAC,CAAC,uBAAuB,WAAW,UAAU,CAAC;wBACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;wBAC/E,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;4BAC7B,OAAO,GAAG,KAAK,CAAC;4BAChB,IAAI,SAAS,GAAG,EAAE,CAAC;4BACnB,IAAI,CAAC;gCACH,MAAM,UAAU,GAAG,MAAM;oCACvB,CAAC,CAAC,wBAAwB,WAAW,0BAA0B;oCAC/D,CAAC,CAAC,iBAAiB,WAAW,0BAA0B,CAAC;gCAC3D,SAAS,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;4BACxE,CAAC;4BAAC,MAAM,CAAC,CAAA,CAAC;4BACV,OAAO,GAAG,6DAA6D,SAAS,EAAE,CAAC;wBACrF,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,mFAAmF;oBACrF,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,OAAO,GAAG,qDAAqD,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC/E,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YAClE,OAAO,GAAG,+DAA+D,OAAO,CAAC,QAAQ,oCAAoC,CAAC;QAChI,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,WAAW;YACX,WAAW;YACX,WAAW;YACX,OAAO;YACP,OAAO;YACP,OAAO;YACP,QAAQ;YACR,OAAO;SACR,CAAC;IACJ,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;QACxD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,qBAAqB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC;YAChF,WAAW;YACX,WAAW;YACX,OAAO,EAAE,EAAE;YACX,QAAQ;YACR,KAAK,EAAE,GAAG,CAAC,OAAO;SACnB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,WAAW,GAAG,SAAS,EACvB,IAAI,GAAuB,MAAM,EACjC,UAAmB;IAEnB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAE7C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,WAAW;YACX,WAAW,EAAE,IAAI;YACjB,WAAW;YACX,QAAQ;YACR,UAAU,EAAE,eAAe;SAC5B,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC;QAC/B,MAAM,cAAc,GAAG,MAAM;YAC3B,CAAC,CAAC,8BAA8B,WAAW,UAAU;YACrD,CAAC,CAAC,uBAAuB,WAAW,UAAU,CAAC;QACjD,MAAM,eAAe,GAAG,MAAM;YAC5B,CAAC,CAAC,+BAA+B,WAAW,UAAU;YACtD,CAAC,CAAC,wBAAwB,WAAW,UAAU,CAAC;QAElD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAChF,MAAM,GAAG,SAAS,KAAK,QAAQ,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,QAAQ,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAClF,OAAO,GAAG,UAAU,KAAK,SAAS,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM;gBACtB,CAAC,CAAC,2BAA2B,WAAW,0BAA0B;gBAClE,CAAC,CAAC,oBAAoB,WAAW,0BAA0B,CAAC;YAC9D,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QACpE,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS,EAAE,IAAI;QACf,WAAW;QACX,WAAW,EAAE,IAAI;QACjB,WAAW;QACX,MAAM;QACN,OAAO;QACP,MAAM;QACN,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,oBAAoB;QAC9D,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,WAAW,GAAG,SAAS,EACvB,IAAI,GAAuB,MAAM,EACjC,UAAmB;IAEnB,MAAM,WAAW,GAAG,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAEzE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,WAAW;YACX,WAAW,EAAE,IAAI;YACjB,WAAW;YACX,OAAO,EAAE,6BAA6B,WAAW,0BAA0B;SAC5E,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM;gBACpB,CAAC,CAAC,yBAAyB,WAAW,UAAU;gBAChD,CAAC,CAAC,kBAAkB,WAAW,UAAU,CAAC;YAC5C,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACrC,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAEV,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM;gBACvB,CAAC,CAAC,4BAA4B,WAAW,UAAU;gBACnD,CAAC,CAAC,qBAAqB,WAAW,UAAU,CAAC;YAC/C,QAAQ,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACxC,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,yBAAyB,CAAC;YACjG,IAAI,CAAC;gBACH,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACzC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,WAAW;YACX,WAAW,EAAE,IAAI;YACjB,WAAW;YACX,UAAU;YACV,UAAU;YACV,OAAO,EAAE,6CAA6C,WAAW,YAAY;SAC9E,CAAC;IACJ,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,WAAW;YACX,WAAW,EAAE,IAAI;YACjB,WAAW;YACX,OAAO,EAAE,kCAAkC,WAAW,MAAM,GAAG,CAAC,OAAO,EAAE;YACzE,KAAK,EAAE,GAAG,CAAC,OAAO;SACnB,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"systemd.js","sourceRoot":"","sources":["../../src/service/systemd.ts"],"names":[],"mappings":"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"}
@@ -18,24 +18,12 @@ export interface SystemdServiceOptions {
18
18
  * Defaults to process.cwd().
19
19
  */
20
20
  workingDirectory?: string;
21
- /**
22
- * Absolute path to the node runtime executable.
23
- * Defaults to process.execPath.
24
- */
25
- nodePath?: string;
26
- /**
27
- * Entrypoint file path (e.g., dist/index.js or src/index.ts).
28
- * Defaults to dist/index.js if it exists, otherwise src/index.ts.
29
- * Explicit entrypoint always wins over automatic `binary` resolution.
30
- */
31
- entrypoint?: string;
32
21
  /**
33
22
  * Absolute path to the installed `musonda` executable
34
23
  * (e.g., /usr/local/bin/musonda from a global npm install).
35
- * When set or when an installed binary is auto-detected the unit
36
- * uses `ExecStart=<binary> start gateway ...` instead of
37
- * `ExecStart=<node> <dist/index.js> start gateway ...`, so production
38
- * services track the installed package instead of a hardcoded dist path.
24
+ * When omitted, the binary is auto-detected via PATH; if none is
25
+ * found on disk, the unit falls back to bare `musonda` resolved via
26
+ * systemd `PATH` at runtime.
39
27
  */
40
28
  binary?: string;
41
29
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "musonda",
3
- "version": "1.0.22",
3
+ "version": "1.0.24",
4
4
  "description": "Musonda - Personal AI Assistant & Agent Harness running on an extensible Gateway with Discord channels, memory, tools, and any OpenAI-compatible model (OpenAI, Ollama, LM Studio, OpenRouter & more)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -12,6 +12,7 @@
12
12
  "dist",
13
13
  "plugins",
14
14
  "README.md",
15
+ "LICENSE",
15
16
  "IMPLEMENTATION.md"
16
17
  ],
17
18
  "type": "module",