musonda 1.0.20 → 1.0.22

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.
@@ -14,6 +14,40 @@ export declare function findMusondaPackageRoot(): string | null;
14
14
  * in the current working directory, or in the installed package root.
15
15
  */
16
16
  export declare function resolveMusondaEntrypoint(options?: SystemdServiceOptions): string;
17
+ /**
18
+ * 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).
21
+ */
22
+ export declare function findMusondaBinary(): string | null;
23
+ 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;
32
+ /** Resolved working directory for the unit. */
33
+ workingDir: string;
34
+ /** Full ExecStart command line (without the `ExecStart=` prefix). */
35
+ execStart: string;
36
+ /** Filesystem target whose existence gates installation (binary or entrypoint). */
37
+ launchTarget: string;
38
+ }
39
+ /**
40
+ * Resolves how the systemd unit should launch the gateway.
41
+ *
42
+ * 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).
49
+ */
50
+ export declare function resolveServiceLaunch(options?: SystemdServiceOptions): ServiceLaunchPlan;
17
51
  /**
18
52
  * Returns canonical systemctl/journalctl commands for the given service name and scope.
19
53
  */
@@ -88,6 +88,138 @@ export function resolveMusondaEntrypoint(options = {}) {
88
88
  : process.cwd().replace(/\\/g, '/');
89
89
  return `${workingDir}/dist/index.js`;
90
90
  }
91
+ /**
92
+ * 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).
95
+ */
96
+ export function findMusondaBinary() {
97
+ const candidates = [];
98
+ // 1. The currently executed binary itself, when invoked as `musonda`.
99
+ try {
100
+ if (process.argv[1]) {
101
+ const real = fs.realpathSync(process.argv[1]);
102
+ const base = path.basename(real).toLowerCase();
103
+ if ((base === 'musonda' || base === 'musonda-cli' || base === 'musonda.js') && fs.existsSync(real)) {
104
+ candidates.push(real.replace(/\\/g, '/'));
105
+ }
106
+ }
107
+ }
108
+ catch { }
109
+ // 2. `musonda` resolved via PATH (`command -v` on POSIX, `where` on Windows).
110
+ try {
111
+ const probe = process.platform === 'win32' ? 'where musonda' : 'command -v musonda';
112
+ const found = execSync(probe, { stdio: 'pipe' }).toString().split(/\r?\n/).map((s) => s.trim()).filter(Boolean);
113
+ 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, '/'));
122
+ }
123
+ }
124
+ }
125
+ catch { }
126
+ // 3. Well-known global npm bin locations.
127
+ const wellKnown = [
128
+ '/usr/local/bin/musonda',
129
+ '/usr/bin/musonda',
130
+ path.join(os.homedir(), '.npm-global', 'bin', 'musonda').replace(/\\/g, '/'),
131
+ ];
132
+ for (const w of wellKnown) {
133
+ if (!candidates.includes(w) && fs.existsSync(w))
134
+ candidates.push(w);
135
+ }
136
+ return candidates.length > 0 ? candidates[0] : null;
137
+ }
138
+ /**
139
+ * Resolves how the systemd unit should launch the gateway.
140
+ *
141
+ * 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).
148
+ */
149
+ export function resolveServiceLaunch(options = {}) {
150
+ let workingDir;
151
+ if (options.workingDirectory) {
152
+ if (options.workingDirectory.startsWith('/')) {
153
+ workingDir = options.workingDirectory.replace(/\\/g, '/');
154
+ }
155
+ else {
156
+ workingDir = path.resolve(options.workingDirectory).replace(/\\/g, '/');
157
+ }
158
+ }
159
+ else {
160
+ workingDir = process.cwd().replace(/\\/g, '/');
161
+ }
162
+ const gatewayArgs = ['start', 'gateway', '--foreground'];
163
+ if (options.host)
164
+ gatewayArgs.push('--host', options.host);
165
+ if (options.port)
166
+ gatewayArgs.push('--port', String(options.port));
167
+ if (options.extraArgs && options.extraArgs.length > 0)
168
+ 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)
190
+ ? 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);
195
+ return {
196
+ usesBinary: true,
197
+ binary,
198
+ nodePath: null,
199
+ entrypoint: null,
200
+ workingDir,
201
+ execStart: [quote(binary), ...gatewayArgs].join(' '),
202
+ launchTarget: binary,
203
+ };
204
+ }
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);
213
+ return {
214
+ usesBinary: false,
215
+ binary: null,
216
+ nodePath,
217
+ entrypoint: normalizedEntry,
218
+ workingDir,
219
+ execStart: [quote(nodePath), quote(normalizedEntry), ...gatewayArgs].join(' '),
220
+ launchTarget: normalizedEntry,
221
+ };
222
+ }
91
223
  /**
92
224
  * Returns canonical systemctl/journalctl commands for the given service name and scope.
93
225
  */
@@ -139,60 +271,10 @@ export function generateSystemdServiceContent(options = {}) {
139
271
  const description = options.description || 'Musonda Personal AI Assistant Gateway';
140
272
  const serviceType = options.serviceType || 'user';
141
273
  const restartSec = options.restartSec ?? 10;
142
- // Resolve working directory (normalize to forward slashes for Linux compatibility)
143
- let workingDir;
144
- if (options.workingDirectory) {
145
- if (options.workingDirectory.startsWith('/')) {
146
- workingDir = options.workingDirectory.replace(/\\/g, '/');
147
- }
148
- else {
149
- workingDir = path.resolve(options.workingDirectory).replace(/\\/g, '/');
150
- }
151
- }
152
- else {
153
- workingDir = process.cwd().replace(/\\/g, '/');
154
- }
155
- // Resolve Node path
156
- let nodePath = options.nodePath;
157
- if (!nodePath) {
158
- if (process.platform === 'linux') {
159
- nodePath = process.execPath;
160
- }
161
- else {
162
- // Sensible default when generating for Linux from non-Linux host
163
- nodePath = '/usr/bin/node';
164
- }
165
- }
166
- nodePath = nodePath.replace(/\\/g, '/');
167
- // Resolve Entrypoint
168
- const normalizedEntry = resolveMusondaEntrypoint(options);
169
- // Build ExecStart arguments
170
- const execParts = [];
171
- // Quote binary if contains spaces
172
- if (nodePath.includes(' ')) {
173
- execParts.push(`"${nodePath}"`);
174
- }
175
- else {
176
- execParts.push(nodePath);
177
- }
178
- // Quote entrypoint if contains spaces
179
- if (normalizedEntry.includes(' ')) {
180
- execParts.push(`"${normalizedEntry}"`);
181
- }
182
- else {
183
- execParts.push(normalizedEntry);
184
- }
185
- execParts.push('start', 'gateway', '--foreground');
186
- if (options.host) {
187
- execParts.push('--host', options.host);
188
- }
189
- if (options.port) {
190
- execParts.push('--port', String(options.port));
191
- }
192
- if (options.extraArgs && options.extraArgs.length > 0) {
193
- execParts.push(...options.extraArgs);
194
- }
195
- const execStart = execParts.join(' ');
274
+ // Resolve launch plan: installed binary (production) or node + entrypoint.
275
+ const launch = resolveServiceLaunch(options);
276
+ const workingDir = launch.workingDir;
277
+ const execStart = launch.execStart;
196
278
  // Environment variables
197
279
  const envLines = [];
198
280
  envLines.push('Environment="NODE_ENV=production"');
@@ -283,25 +365,32 @@ export async function installSystemdService(options = {}, enableAndStart = false
283
365
  let enabled = false;
284
366
  let started = false;
285
367
  let warning;
286
- const resolvedEntry = resolveMusondaEntrypoint(options);
368
+ const launch = resolveServiceLaunch(options);
369
+ const resolvedEntry = launch.launchTarget;
287
370
  // Only run systemctl commands if running on Linux and not in purely local file export mode
288
371
  if (process.platform === 'linux' && serviceType !== 'file') {
289
- // Validate entrypoint existence on local Linux system
372
+ // Validate launch target existence on local Linux system
290
373
  if (!fs.existsSync(resolvedEntry)) {
291
374
  // Attempt compilation if package root exists with TypeScript source
292
- const pkgRoot = findMusondaPackageRoot();
293
- const srcPath = pkgRoot ? path.join(pkgRoot, 'src', 'index.ts') : null;
294
- if (srcPath && fs.existsSync(srcPath)) {
295
- try {
296
- logger.info('Compiling Musonda TypeScript bundle before configuring service...');
297
- execSync('npm run build', { cwd: pkgRoot, stdio: 'pipe' });
298
- }
299
- catch (buildErr) {
300
- logger.warn(`Could not automatically compile Musonda: ${buildErr.message}`);
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
+ }
301
387
  }
302
388
  }
303
389
  if (!fs.existsSync(resolvedEntry)) {
304
- warning = `Service file written to "${servicePath}", but entrypoint module "${resolvedEntry}" does not exist on disk. Run "npm run build" to compile Musonda before starting with "${commands.start}".`;
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}`;
305
394
  return {
306
395
  success: true,
307
396
  servicePath,
@@ -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;;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,mFAAmF;IACnF,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,oBAAoB;IACpB,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,iEAAiE;YACjE,QAAQ,GAAG,eAAe,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAExC,qBAAqB;IACrB,MAAM,eAAe,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAE1D,4BAA4B;IAC5B,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,kCAAkC;IAClC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,sCAAsC;IACtC,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,SAAS,CAAC,IAAI,CAAC,IAAI,eAAe,GAAG,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAEnD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEtC,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,aAAa,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAExD,2FAA2F;QAC3F,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YAC3D,sDAAsD;YACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClC,oEAAoE;gBACpE,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvE,IAAI,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtC,IAAI,CAAC;wBACH,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;wBACjF,QAAQ,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,OAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC9D,CAAC;oBAAC,OAAO,QAAa,EAAE,CAAC;wBACvB,MAAM,CAAC,IAAI,CAAC,4CAA4C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC9E,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBAClC,OAAO,GAAG,4BAA4B,WAAW,6BAA6B,aAAa,0FAA0F,QAAQ,CAAC,KAAK,IAAI,CAAC;oBACxM,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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"}
@@ -26,8 +26,18 @@ export interface SystemdServiceOptions {
26
26
  /**
27
27
  * Entrypoint file path (e.g., dist/index.js or src/index.ts).
28
28
  * Defaults to dist/index.js if it exists, otherwise src/index.ts.
29
+ * Explicit entrypoint always wins over automatic `binary` resolution.
29
30
  */
30
31
  entrypoint?: string;
32
+ /**
33
+ * Absolute path to the installed `musonda` executable
34
+ * (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.
39
+ */
40
+ binary?: string;
31
41
  /**
32
42
  * Gateway port override (e.g., 4141).
33
43
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "musonda",
3
- "version": "1.0.20",
3
+ "version": "1.0.22",
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",