@tenphi/akno 0.2.0 → 0.4.0

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 (50) hide show
  1. package/README.md +6 -3
  2. package/dist/bin.js +1 -1
  3. package/dist/commands/doctor-cmd.d.ts.map +1 -1
  4. package/dist/commands/doctor-cmd.js +45 -5
  5. package/dist/commands/doctor-cmd.js.map +1 -1
  6. package/dist/commands/dream-cmd.d.ts +6 -0
  7. package/dist/commands/dream-cmd.d.ts.map +1 -1
  8. package/dist/commands/dream-cmd.js +30 -7
  9. package/dist/commands/dream-cmd.js.map +1 -1
  10. package/dist/commands/dream-notifications.d.ts +23 -4
  11. package/dist/commands/dream-notifications.d.ts.map +1 -1
  12. package/dist/commands/dream-notifications.js +42 -29
  13. package/dist/commands/dream-notifications.js.map +1 -1
  14. package/dist/commands/dream-schedule.d.ts +4 -0
  15. package/dist/commands/dream-schedule.d.ts.map +1 -1
  16. package/dist/commands/dream-schedule.js +34 -2
  17. package/dist/commands/dream-schedule.js.map +1 -1
  18. package/dist/commands/index-cmd.d.ts.map +1 -1
  19. package/dist/commands/index-cmd.js +3 -13
  20. package/dist/commands/index-cmd.js.map +1 -1
  21. package/dist/commands/init-cmd.d.ts +13 -3
  22. package/dist/commands/init-cmd.d.ts.map +1 -1
  23. package/dist/commands/init-cmd.js +3 -3
  24. package/dist/commands/init-cmd.js.map +1 -1
  25. package/dist/commands/mutate-cmd.js +3 -3
  26. package/dist/commands/redeploy-cmd.d.ts +5 -1
  27. package/dist/commands/redeploy-cmd.d.ts.map +1 -1
  28. package/dist/commands/redeploy-cmd.js +67 -32
  29. package/dist/commands/redeploy-cmd.js.map +1 -1
  30. package/dist/commands/serve-cmd.d.ts +5 -3
  31. package/dist/commands/serve-cmd.d.ts.map +1 -1
  32. package/dist/commands/serve-cmd.js +127 -30
  33. package/dist/commands/serve-cmd.js.map +1 -1
  34. package/dist/commands/service-systemd.d.ts +50 -0
  35. package/dist/commands/service-systemd.d.ts.map +1 -0
  36. package/dist/commands/service-systemd.js +221 -0
  37. package/dist/commands/service-systemd.js.map +1 -0
  38. package/dist/ops-handle.d.ts +3 -1
  39. package/dist/ops-handle.d.ts.map +1 -1
  40. package/dist/ops-handle.js +2 -0
  41. package/dist/ops-handle.js.map +1 -1
  42. package/dist/serve/http.d.ts +20 -11
  43. package/dist/serve/http.d.ts.map +1 -1
  44. package/dist/serve/http.js +135 -30
  45. package/dist/serve/http.js.map +1 -1
  46. package/dist/serve/socket.d.ts +2 -0
  47. package/dist/serve/socket.d.ts.map +1 -1
  48. package/dist/serve/socket.js +24 -8
  49. package/dist/serve/socket.js.map +1 -1
  50. package/package.json +6 -5
@@ -1,11 +1,10 @@
1
1
  import fs from 'node:fs';
2
- import net from 'node:net';
3
2
  import path from 'node:path';
4
3
  import { spawnSync } from 'node:child_process';
5
- import { once } from 'node:events';
6
4
  import { AknoError } from '@tenphi/akno-protocol';
7
5
  import { openOptionsFrom, parse } from "../args.js";
8
6
  import { heading, json, kv, line, style } from "../output.js";
7
+ import { aknoSocketIsReady, readSystemdInstallTarget, systemdPaths, } from "./service-systemd.js";
9
8
  /**
10
9
  * `akno redeploy` — one command to apply local changes end-to-end.
11
10
  *
@@ -55,6 +54,7 @@ const REDEPLOY_HELP = `akno redeploy [options]
55
54
  while the launchd replacement is still running.
56
55
  --json`;
57
56
  const LABEL = 'dev.akno';
57
+ const AFTER_BUILD_ENV = 'AKNO_REDEPLOY_AFTER_BUILD';
58
58
  const DEFAULT_FAST_SOCKET_WAIT_MS = 30_000;
59
59
  const DEFAULT_MAX_SOCKET_WAIT_MS = 180_000;
60
60
  /** An explicit timeout is a hard operator choice; the default has a fast and slow handoff tier. */
@@ -86,17 +86,26 @@ export function socketWasReplaced(previous, current) {
86
86
  export function redeployPlan(input) {
87
87
  if (!input.restart)
88
88
  return { build: input.build, restart: false, skipped: 'asked' };
89
- if (!input.darwin)
90
- return { build: input.build, restart: false, skipped: 'not-darwin' };
89
+ if (!input.darwin && !input.linux)
90
+ return { build: input.build, restart: false, skipped: 'unsupported' };
91
91
  if (!input.serviceInstalled)
92
92
  return { build: input.build, restart: false, skipped: 'no-service' };
93
93
  return { build: input.build, restart: true, skipped: null };
94
94
  }
95
95
  const SKIP_NOTE = {
96
96
  asked: 'the service was left alone',
97
- 'not-darwin': 'restarting a service is macOS-only for now — restart it yourself',
97
+ unsupported: 'restarting a service is supported on macOS and Linux — restart it yourself',
98
98
  'no-service': `no service installed (${LABEL}) — nothing to restart. \`akno service install\` sets one up.`,
99
99
  };
100
+ export function redeployTarget(linux, current, installed) {
101
+ return linux && installed ? installed : current;
102
+ }
103
+ export function postBuildInvocation(argv, entrypoint = process.argv[1]) {
104
+ if (!entrypoint) {
105
+ throw new AknoError('internal', 'cannot locate the Akno CLI entrypoint after building');
106
+ }
107
+ return [entrypoint, 'redeploy', ...argv, '--no-build'];
108
+ }
100
109
  export async function redeployCommand(argv) {
101
110
  const { values } = parse(argv, {
102
111
  build: { type: 'boolean', default: true },
@@ -107,7 +116,12 @@ export async function redeployCommand(argv) {
107
116
  line(REDEPLOY_HELP);
108
117
  return 0;
109
118
  }
110
- const result = { built: false, restarted: false, socket: null, ready: false };
119
+ const result = {
120
+ built: process.env[AFTER_BUILD_ENV] === '1',
121
+ restarted: false,
122
+ socket: null,
123
+ ready: false,
124
+ };
111
125
  // ── Build ─────────────────────────────────────────────────────────────────
112
126
  if (values.build) {
113
127
  const root = repoRoot();
@@ -129,51 +143,81 @@ export async function redeployCommand(argv) {
129
143
  return 1;
130
144
  }
131
145
  result.built = true;
146
+ // The CLI process may already have loaded @tenphi/akno-core from dist before this command
147
+ // starts. Building replaces those files on disk, but ESM keeps the old modules in memory.
148
+ // Continue in a fresh process so config resolution and the restart both use the artifacts we
149
+ // just built. This matters most on upgrades that change the committed config shape: otherwise
150
+ // the first redeploy can reject the new defaults with the previous schema and require a second
151
+ // invocation before it restarts anything.
152
+ const continuation = spawnSync(process.execPath, postBuildInvocation(argv), {
153
+ cwd: root,
154
+ stdio: 'inherit',
155
+ env: { ...process.env, [AFTER_BUILD_ENV]: '1' },
156
+ });
157
+ if (continuation.status === null) {
158
+ fail(values.json, result, `fresh post-build process failed${buildTail(continuation.error?.message ?? null)}`);
159
+ return 1;
160
+ }
161
+ return continuation.status;
132
162
  }
133
163
  // ── Restart ───────────────────────────────────────────────────────────────
134
164
  const { loadConfig } = await import('@tenphi/akno-core');
135
165
  const config = loadConfig(openOptionsFrom(values));
136
- result.socket = config.socketPath;
137
- const plist = path.join(process.env.HOME ?? '', 'Library', 'LaunchAgents', `${LABEL}.plist`);
166
+ const darwin = process.platform === 'darwin';
167
+ const linux = process.platform === 'linux';
168
+ const target = redeployTarget(linux, {
169
+ aknoPath: config.aknoPath,
170
+ stateDir: config.stateDir,
171
+ socketPath: config.socketPath,
172
+ configPath: process.env.AKNO_CONFIG ?? null,
173
+ }, linux ? readSystemdInstallTarget(LABEL) : null);
174
+ result.socket = target.socketPath;
175
+ const serviceDefinition = darwin
176
+ ? path.join(process.env.HOME ?? '', 'Library', 'LaunchAgents', `${LABEL}.plist`)
177
+ : systemdPaths(LABEL).service;
138
178
  const plan = redeployPlan({
139
179
  build: values.build,
140
180
  restart: values.restart,
141
- darwin: process.platform === 'darwin',
142
- serviceInstalled: fs.existsSync(plist),
181
+ darwin,
182
+ linux,
183
+ serviceInstalled: fs.existsSync(serviceDefinition),
143
184
  });
144
185
  if (plan.skipped) {
145
- result.ready = await socketAcceptsConnections(config.socketPath);
186
+ result.ready = await socketAcceptsConnections(target.socketPath);
146
187
  report(values.json, result, SKIP_NOTE[plan.skipped]);
147
188
  return 0;
148
189
  }
149
- const previousSocket = socketIdentity(config.socketPath);
190
+ const previousSocket = socketIdentity(target.socketPath);
150
191
  if (!values.json)
151
192
  heading('restarting');
152
- const kick = spawnSync('launchctl', ['kickstart', '-k', `gui/${process.getuid?.() ?? ''}/${LABEL}`], {
193
+ const restartCommand = darwin
194
+ ? ['launchctl', ['kickstart', '-k', `gui/${process.getuid?.() ?? ''}/${LABEL}`]]
195
+ : ['systemctl', ['--user', 'restart', `${LABEL}.service`]];
196
+ const kick = spawnSync(restartCommand[0], restartCommand[1], {
153
197
  stdio: values.json ? 'pipe' : 'inherit',
154
198
  encoding: 'utf8',
155
199
  });
156
200
  if (kick.status !== 0) {
157
- fail(values.json, result, `launchctl kickstart failed (exit ${kick.status ?? 'unknown'})${buildTail(kick.stderr)}`);
201
+ fail(values.json, result, `${restartCommand[0]} restart failed (exit ${kick.status ?? 'unknown'})${buildTail(kick.stderr)}`);
158
202
  return 1;
159
203
  }
160
204
  result.restarted = true;
161
205
  // ── Wait ──────────────────────────────────────────────────────────────────
162
206
  const waitPolicy = redeployWaitPolicy(values.timeout);
163
- result.ready = await waitForSocket(config.socketPath, waitPolicy.fastMs, previousSocket);
207
+ result.ready = await waitForSocket(target.socketPath, waitPolicy.fastMs, previousSocket);
164
208
  let waitedMs = waitPolicy.fastMs;
165
- if (!result.ready && waitPolicy.maximumMs > waitPolicy.fastMs && launchdReplacementIsRunning()) {
209
+ if (!result.ready && waitPolicy.maximumMs > waitPolicy.fastMs && replacementIsRunning(darwin)) {
166
210
  if (!values.json) {
167
211
  line(style.grey(`replacement is still starting after ${waitPolicy.fastMs / 1000}s; ` +
168
212
  `waiting up to ${waitPolicy.maximumMs / 1000}s`));
169
213
  }
170
- result.ready = await waitForSocket(config.socketPath, waitPolicy.maximumMs - waitPolicy.fastMs, previousSocket);
214
+ result.ready = await waitForSocket(target.socketPath, waitPolicy.maximumMs - waitPolicy.fastMs, previousSocket);
171
215
  waitedMs = waitPolicy.maximumMs;
172
216
  }
173
217
  if (!result.ready) {
174
218
  // The restart happened; the process did not come up. Reported as a failure rather than a
175
219
  // success with a caveat, because everything the caller does next will fail.
176
- fail(values.json, result, `restarted, but nothing is listening on ${config.socketPath} after ${waitedMs / 1000}s — ` +
220
+ fail(values.json, result, `restarted, but nothing is listening on ${target.socketPath} after ${waitedMs / 1000}s — ` +
177
221
  'check `akno service status` and the log');
178
222
  return 1;
179
223
  }
@@ -207,21 +251,12 @@ function socketIdentity(socketPath) {
207
251
  }
208
252
  }
209
253
  async function socketAcceptsConnections(socketPath) {
210
- if (!fs.existsSync(socketPath))
211
- return false;
212
- const socket = net.createConnection(socketPath);
213
- try {
214
- await once(socket, 'connect', { signal: AbortSignal.timeout(500) });
215
- return true;
216
- }
217
- catch {
218
- return false;
219
- }
220
- finally {
221
- socket.destroy();
222
- }
254
+ return aknoSocketIsReady(socketPath);
223
255
  }
224
- function launchdReplacementIsRunning() {
256
+ function replacementIsRunning(darwin) {
257
+ if (!darwin) {
258
+ return spawnSync('systemctl', ['--user', 'is-active', '--quiet', `${LABEL}.service`]).status === 0;
259
+ }
225
260
  const inspected = spawnSync('launchctl', ['print', `gui/${process.getuid?.() ?? ''}/${LABEL}`], {
226
261
  encoding: 'utf8',
227
262
  });
@@ -1 +1 @@
1
- {"version":3,"file":"redeploy-cmd.js","sourceRoot":"","sources":["../../src/commands/redeploy-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redeploy-cmd.js","sourceRoot":"","sources":["../../src/commands/redeploy-cmd.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  export declare function serveCommand(argv: string[]): Promise<number>;
2
+ export declare function effectiveMcpAllow(policy: string[], restriction: string[] | undefined): string[];
2
3
  export declare function serviceCommand(argv: string[]): Promise<number>;
3
- export declare function serviceTargetArgs(values: {
4
- 'akno-path'?: string;
5
- 'state-dir'?: string;
4
+ export declare function resolvedServiceConfigPath(selector: string | undefined, cwd?: string, home?: string): string | null;
5
+ export declare function serviceTargetArgs(config: {
6
+ aknoPath: string;
7
+ stateDir: string;
6
8
  }): string[];
7
9
  export interface PlistOptions {
8
10
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"serve-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/serve-cmd.ts"],"names":[],"mappings":"AA2BA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAuIlE;AAgFD,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAgJpE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,EAAE,CAKlG;AAYD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,sGAAsG;AACtG,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CA0BnD"}
1
+ {"version":3,"file":"serve-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/serve-cmd.ts"],"names":[],"mappings":"AA4BA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA4IlE;AAgCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAI/F;AAgDD,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAwJpE;AA2FD,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,GAAG,SAAgB,EACnB,IAAI,SAAe,GAClB,MAAM,GAAG,IAAI,CAMf;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,EAAE,CAE1F;AAYD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,sGAAsG;AACtG,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CA0BnD"}
@@ -1,4 +1,5 @@
1
1
  import fs from 'node:fs';
2
+ import os from 'node:os';
2
3
  import path from 'node:path';
3
4
  import { open } from '@tenphi/akno-core';
4
5
  import { openOptionsFrom, parse } from "../args.js";
@@ -17,8 +18,8 @@ const SERVE_HELP = `akno serve [options]
17
18
 
18
19
  --mcp stdio MCP, for any agent that speaks it. Logs go to
19
20
  stderr because stdout is the protocol.
20
- --http <host:port> Loopback HTTP, for agents in containers or on another
21
- host. No auth of its own — put it behind one.
21
+ --http <host:port> HTTP for containers or remote agents. Loopback is
22
+ public read-only; non-loopback requires http_access.
22
23
  --socket <path> Override the unix socket path.
23
24
  --no-watch Do not watch the knowledge base.
24
25
  --index-on-start Reconcile before accepting connections.
@@ -86,11 +87,8 @@ export async function serveCommand(argv) {
86
87
  // notices, which on this install was hours of refusals naming a pid that had long exited.
87
88
  watchForAReleasedHandle(mem.lockHeldBy, log);
88
89
  }
89
- const allow = values.allow
90
- ? values.allow.split(',').map((op) => op.trim())
91
- : isMcp
92
- ? mem.config.server.mcpAllow
93
- : undefined;
90
+ const requestedAllow = values.allow?.split(',').map((op) => op.trim());
91
+ const allow = isMcp ? effectiveMcpAllow(mem.config.server.mcpAllow, requestedAllow) : requestedAllow;
94
92
  if (values['index-on-start'] && mem.writable) {
95
93
  const report = await mem.index({});
96
94
  log(`startup index: ${report.pagesIndexed} indexed, ${report.pagesUnchanged} unchanged in ${ms(report.durationMs)}`);
@@ -116,12 +114,22 @@ export async function serveCommand(argv) {
116
114
  }
117
115
  const httpAddress = values.http ?? mem.config.server.http;
118
116
  if (httpAddress) {
119
- const server = await serveHttp(mem, httpAddress, { ...(allow ? { allow } : {}), log });
117
+ const identities = mem.config.server.httpAccess
118
+ .filter((identity) => identity.token !== null)
119
+ .map((identity) => ({ ...identity, token: identity.token }));
120
+ const missingIdentities = mem.config.server.httpAccess.filter((identity) => identity.token === null);
121
+ for (const identity of missingIdentities) {
122
+ warn(`HTTP identity '${identity.name}' is disabled because ${identity.tokenEnv} is not set.`);
123
+ }
124
+ const server = await serveHttp(mem, httpAddress, {
125
+ ...(allow ? { allow } : {}),
126
+ publicAllow: mem.config.server.httpPublicAllow,
127
+ identities,
128
+ log,
129
+ });
120
130
  closers.push(() => server.close());
121
- const [host] = server.address.split(':');
122
- if (host !== '127.0.0.1' && host !== 'localhost') {
123
- warn(`the HTTP door is bound to ${server.address}, not loopback. It has no authentication of ` +
124
- 'its own — anything that can reach that address can read your knowledge base.');
131
+ if (!server.loopback) {
132
+ log(`HTTP bearer authentication active for ${identities.length} identity/identities`);
125
133
  }
126
134
  log(`HTTP ready on ${server.address}`);
127
135
  }
@@ -149,13 +157,11 @@ async function serveMcpThroughService(values, log) {
149
157
  await handle.close();
150
158
  return null;
151
159
  }
152
- // The service's own `mcp_allow` cannot be read through the socket, so an explicit `--allow`
153
- // is the only narrowing available here. Saying so beats a door that is quietly wider than
154
- // the operator believes: the socket door they connected to has its own allow list, and this
155
- // one inherits nothing from it.
156
- const allow = values.allow?.split(',').map((op) => op.trim());
157
- const server = await serveMcp(handle.ops, { ...(allow ? { allow } : {}), log });
158
- log(`MCP ready over stdio — ${allow ? `${allow.length} ops` : 'all ops'}, through the running service`);
160
+ const servicePolicy = handle.hello?.mcp_ops ?? [];
161
+ const requested = values.allow?.split(',').map((op) => op.trim());
162
+ const allow = effectiveMcpAllow(servicePolicy, requested);
163
+ const server = await serveMcp(handle.ops, { allow, log });
164
+ log(`MCP ready over stdio — ${allow.length} ops, through the running service`);
159
165
  try {
160
166
  await waitForShutdown(log, { onStdinEnd: true });
161
167
  return 0;
@@ -165,6 +171,12 @@ async function serveMcpThroughService(values, log) {
165
171
  await handle.close();
166
172
  }
167
173
  }
174
+ export function effectiveMcpAllow(policy, restriction) {
175
+ if (!restriction)
176
+ return [...policy];
177
+ const allowed = new Set(restriction);
178
+ return policy.filter((name) => allowed.has(name));
179
+ }
168
180
  function waitForShutdown(log, options = {}) {
169
181
  return new Promise((resolve) => {
170
182
  let done = false;
@@ -191,7 +203,7 @@ function waitForShutdown(log, options = {}) {
191
203
  }
192
204
  const SERVICE_HELP = `akno service <install | uninstall | status> [options]
193
205
 
194
- Manage the macOS launchd user agents, so nobody hand-edits XML.
206
+ Manage the background user service (launchd on macOS, systemd --user on Linux).
195
207
 
196
208
  dev.akno KeepAlive — the index, watcher and models in one process, which
197
209
  is why it outlives every host that talks to it.
@@ -216,15 +228,22 @@ export async function serviceCommand(argv) {
216
228
  line(SERVICE_HELP);
217
229
  return values.help ? 0 : 1;
218
230
  }
231
+ const action = positionals[0];
232
+ if (!['install', 'uninstall', 'status'].includes(action ?? '')) {
233
+ line(SERVICE_HELP);
234
+ return 1;
235
+ }
236
+ if (process.platform === 'linux') {
237
+ return linuxServiceCommand(action, values);
238
+ }
219
239
  if (process.platform !== 'darwin') {
220
- warn('`akno service` manages a macOS launchd agent; v1 targets macOS only.');
240
+ warn('`akno service` supports macOS launchd and Linux systemd --user.');
221
241
  return 1;
222
242
  }
223
243
  const agents = path.join(process.env.HOME ?? '', 'Library', 'LaunchAgents');
224
244
  const plistPath = path.join(agents, `${PLIST_LABEL}.plist`);
225
245
  const dreamPath = path.join(agents, `${DREAM_SCHEDULE_LABEL}.plist`);
226
246
  const dreamHealthPath = path.join(agents, `${DREAM_HEALTH_LABEL}.plist`);
227
- const action = positionals[0];
228
247
  if (action === 'status') {
229
248
  let installed = false;
230
249
  for (const [label, target] of [
@@ -272,10 +291,10 @@ export async function serviceCommand(argv) {
272
291
  const { loadConfig } = await import('@tenphi/akno-core');
273
292
  const config = loadConfig(openOptionsFrom(values));
274
293
  const binary = process.argv[1] ?? 'akno';
275
- // An installer reached through guided setup carries the exact target the user confirmed.
276
- // Persist those flags in every agent; otherwise launchd would later resolve whichever
277
- // checkout config happens to be visible from its working directory.
278
- const targetArgs = serviceTargetArgs(values);
294
+ // Persist the fully resolved target in every agent. A service starts outside the installer's
295
+ // working directory and environment, so retaining only explicit flags would let defaults,
296
+ // config discovery, or environment-selected paths drift before its next start.
297
+ const targetArgs = serviceTargetArgs(config);
279
298
  const args = ['serve', ...targetArgs, ...(values.http ? ['--http', values.http] : [])];
280
299
  fs.mkdirSync(agents, { recursive: true });
281
300
  fs.mkdirSync(config.logDir, { recursive: true });
@@ -324,11 +343,89 @@ export async function serviceCommand(argv) {
324
343
  line(style.grey(`logs: ${config.logDir}`));
325
344
  return 0;
326
345
  }
327
- export function serviceTargetArgs(values) {
328
- return [
329
- ...(values['akno-path'] ? ['--akno-path', values['akno-path']] : []),
330
- ...(values['state-dir'] ? ['--state-dir', values['state-dir']] : []),
346
+ async function linuxServiceCommand(action, values) {
347
+ const { installSystemdService, systemdPaths, systemdUnitIsActive, uninstallSystemdService } = await import("./service-systemd.js");
348
+ const paths = systemdPaths(PLIST_LABEL);
349
+ const units = [
350
+ [PLIST_LABEL, paths.service, `${PLIST_LABEL}.service`],
351
+ [DREAM_SCHEDULE_LABEL, paths.dreamTimer, `${DREAM_SCHEDULE_LABEL}.timer`],
352
+ [DREAM_HEALTH_LABEL, paths.healthTimer, `${DREAM_HEALTH_LABEL}.timer`],
331
353
  ];
354
+ if (action === 'status') {
355
+ let installed = false;
356
+ for (const [, target, unit] of units) {
357
+ if (!fs.existsSync(target)) {
358
+ line(`${style.grey('not installed')} ${target}`);
359
+ continue;
360
+ }
361
+ installed = true;
362
+ const active = systemdUnitIsActive(unit);
363
+ line(`${style.green('installed')} ${target}`);
364
+ line(style.grey(` ${active ? 'active' : 'inactive'} systemctl --user status ${unit}`));
365
+ }
366
+ return installed ? 0 : 1;
367
+ }
368
+ if (action === 'uninstall') {
369
+ const existed = Object.values(paths).some((unitPath) => unitPath !== paths.directory && fs.existsSync(unitPath));
370
+ uninstallSystemdService(PLIST_LABEL);
371
+ if (!existed) {
372
+ line(style.grey('not installed'));
373
+ return 0;
374
+ }
375
+ for (const unitPath of Object.values(paths).filter((candidate) => candidate !== paths.directory)) {
376
+ line(`removed ${unitPath}`);
377
+ }
378
+ return 0;
379
+ }
380
+ // Validate before writing any unit, so a typo cannot leave a partial installation.
381
+ const hour = dreamHour(values['dream-hour']);
382
+ const { loadConfig } = await import('@tenphi/akno-core');
383
+ const config = loadConfig(openOptionsFrom(values));
384
+ const binary = process.argv[1] ?? 'akno';
385
+ const targetArgs = serviceTargetArgs(config);
386
+ await installSystemdService({
387
+ label: PLIST_LABEL,
388
+ node: process.execPath,
389
+ script: binary,
390
+ serviceArgs: [
391
+ 'serve',
392
+ ...targetArgs,
393
+ '--socket',
394
+ config.socketPath,
395
+ ...(values.http ? ['--http', values.http] : []),
396
+ ],
397
+ dreamArgs: ['dream', '--scheduled', ...targetArgs],
398
+ healthArgs: ['dream', 'notify', '--schedule-health', ...targetArgs],
399
+ dreamHour: hour,
400
+ dream: values.dream,
401
+ socketPath: config.socketPath,
402
+ target: {
403
+ aknoPath: config.aknoPath,
404
+ stateDir: config.stateDir,
405
+ socketPath: config.socketPath,
406
+ configPath: resolvedServiceConfigPath(process.env.AKNO_CONFIG),
407
+ },
408
+ });
409
+ line(`wrote ${paths.service}`);
410
+ if (values.dream) {
411
+ line(`wrote ${paths.dreamService} and ${paths.dreamTimer}`);
412
+ line(`wrote ${paths.healthService} and ${paths.healthTimer}`);
413
+ line(style.grey(` maintenance profile: ${config.maintenance.profile} (resolved at run time)`));
414
+ }
415
+ line(style.green(`ready ${config.socketPath}`));
416
+ line(style.grey(`logs: journalctl --user -u ${PLIST_LABEL}.service`));
417
+ return 0;
418
+ }
419
+ export function resolvedServiceConfigPath(selector, cwd = process.cwd(), home = os.homedir()) {
420
+ if (!selector)
421
+ return null;
422
+ if (selector === '~' || selector.startsWith('~/')) {
423
+ return path.resolve(home, selector.slice(2));
424
+ }
425
+ return path.resolve(cwd, selector);
426
+ }
427
+ export function serviceTargetArgs(config) {
428
+ return ['--akno-path', config.aknoPath, '--state-dir', config.stateDir];
332
429
  }
333
430
  /** An hour outside 0-23 is a typo, and a nightly job at "25:00" would silently never run. */
334
431
  function dreamHour(raw) {
@@ -1 +1 @@
1
- {"version":3,"file":"serve-cmd.js","sourceRoot":"","sources":["../../src/commands/serve-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,MAAM,UAAU,GAAG;;;;;;;;;;;;;kEAa+C,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAc;IAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAOrB,IAAI,EAAE;QACP,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACxC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;QACzC,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACrD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,CAAC,CAAC;QACjB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,0EAA0E;IAC1E,yDAAyD;IACzD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC;IACzB,MAAM,GAAG,GAAG,CAAC,OAAe,EAAQ,EAAE;QACpC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEF,2FAA2F;IAC3F,2FAA2F;IAC3F,yFAAyF;IACzF,gGAAgG;IAChG,EAAE;IACF,wFAAwF;IACxF,gCAAgC;IAChC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;IAC3C,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC;QACrB,GAAG,eAAe,CAAC,MAAM,CAAC;QAC1B,gGAAgG;QAChG,iGAAiG;QACjG,4FAA4F;QAC5F,eAAe,EAAE,MAAM;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;gBAC7B,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC;oBAAE,OAAO;gBAChG,MAAM,IAAI,GACR,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,QAAQ,CAAC;gBAClG,GAAG,CACD,WAAW,IAAI,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;oBAC3C,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,YAAY,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;oBACvE,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,YAAY,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1E,CAAC;gBACF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;YACvF,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;SAChE;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClB,IAAI,CACF,OAAO,GAAG,CAAC,UAAU,qEAAqE;YACxF,qFAAqF,CACxF,CAAC;QACF,8FAA8F;QAC9F,gGAAgG;QAChG,8FAA8F;QAC9F,+FAA+F;QAC/F,0FAA0F;QAC1F,uBAAuB,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;QACxB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAChD,CAAC,CAAC,KAAK;YACL,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ;YAC5B,CAAC,CAAC,SAAS,CAAC;IAEhB,IAAI,MAAM,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnC,GAAG,CACD,kBAAkB,MAAM,CAAC,YAAY,aAAa,MAAM,CAAC,cAAc,iBAAiB,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAChH,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAA4B,EAAE,CAAC;IAE5C,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACnC,GAAG,CAAC,0BAA0B,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,KAAK,SAAS,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;YACvF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACxF,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAEnC,OAAO,CAAC,cAAc,CAAC,CAAC;YACxB,EAAE,CAAC;gBACD,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACvC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC;gBACvB,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBACzD,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,UAAU,GAAG,CAAC;aAClE,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QAC1D,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACjD,IAAI,CACF,6BAA6B,MAAM,CAAC,OAAO,8CAA8C;oBACvF,8EAA8E,CACjF,CAAC;YACJ,CAAC;YACD,GAAG,CAAC,iBAAiB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,uEAAuE;QACvE,2EAA2E;QAC3E,yEAAyE;QACzE,MAAM,eAAe,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,CAAC;IACX,CAAC;YAAS,CAAC;QACT,KAAK,MAAM,KAAK,IAAI,OAAO;YAAE,MAAM,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC3D,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,sBAAsB,CACnC,MAAmF,EACnF,GAA8B;IAE9B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACpF,IAAI,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4FAA4F;IAC5F,0FAA0F;IAC1F,4FAA4F;IAC5F,gCAAgC;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAChF,GAAG,CAAC,0BAA0B,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC;IACxG,IAAI,CAAC;QACH,MAAM,eAAe,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,CAAC;IACX,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,GAA8B,EAC9B,UAAoC,EAAE;IAEtC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,MAAM,MAAM,GAAG,CAAC,MAAc,EAAQ,EAAE;YACtC,IAAI,IAAI;gBAAE,OAAO;YACjB,IAAI,GAAG,IAAI,CAAC;YACZ,GAAG,CAAC,GAAG,MAAM,kBAAkB,CAAC,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACjD,sDAAsD;QACtD,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/C,gFAAgF;QAChF,4FAA4F;QAC5F,uFAAuF;QACvF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;wDAemC,CAAC;AAEzD,MAAM,WAAW,GAAG,UAAU,CAAC;AAE/B,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc;IACjD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAA2D,IAAI,EAAE;QACpG,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;KAC1C,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,CAAC;QACnB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QAC7E,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,QAAQ,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,oBAAoB,QAAQ,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,kBAAkB,QAAQ,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAE9B,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI;YAC5B,CAAC,WAAW,EAAE,SAAS,CAAC;YACxB,CAAC,oBAAoB,EAAE,SAAS,CAAC;YACjC,CAAC,kBAAkB,EAAE,eAAe,CAAC;SAC7B,EAAE,CAAC;YACX,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,SAAS,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,KAAK,iBAAiB,CAAC,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAClG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClB,IAAI,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,WAAW,EAAE,CAAC,CAAC,CAAC;QACvE,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,oBAAoB,EAAE,CAAC,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,CAAC;QACnB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,2FAA2F;IAC3F,gFAAgF;IAChF,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IAE7C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IACzC,yFAAyF;IACzF,sFAAsF;IACtF,oEAAoE;IACpE,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvF,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,EAAE,CAAC,aAAa,CACd,SAAS,EACT,KAAK,CAAC;QACJ,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,OAAO,CAAC,QAAQ;QACtB,MAAM,EAAE,MAAM;QACd,IAAI;QACJ,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC,EACF,MAAM,CACP,CAAC;IACF,IAAI,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC;IAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,SAAS,EAAE,CAAC,CAAC,CAAC;IAEvE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,iFAAiF;QACjF,yFAAyF;QACzF,sFAAsF;QACtF,EAAE,CAAC,aAAa,CACd,SAAS,EACT,KAAK,CAAC;YACJ,KAAK,EAAE,oBAAoB;YAC3B,IAAI,EAAE,OAAO,CAAC,QAAQ;YACtB,MAAM,EAAE,MAAM;YACd,sFAAsF;YACtF,sFAAsF;YACtF,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC;YAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE,IAAI;SACnB,CAAC,EACF,MAAM,CACP,CAAC;QACF,IAAI,CAAC,SAAS,SAAS,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,SAAS,EAAE,CAAC,CAAC,CAAC;QAEvE,MAAM,UAAU,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACnC,EAAE,CAAC,aAAa,CACd,eAAe,EACf,KAAK,CAAC;YACJ,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,OAAO,CAAC,QAAQ;YACtB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,GAAG,UAAU,CAAC;YAC7D,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,cAAc;YACvB,YAAY,EAAE,UAAU;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC,EACF,MAAM,CACP,CAAC;QACF,IAAI,CACF,SAAS,eAAe,KAAK,KAAK,CAAC,IAAI,CACrC,aAAa,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,gDAAgD,CACjG,EAAE,CACJ,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,eAAe,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAsD;IACtF,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,SAAS,SAAS,CAAC,GAAuB;IACxC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,SAAS,CAAC,SAAS,EAAE,iCAAiC,GAAG,GAAG,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAiBD,sGAAsG;AACtG,MAAM,UAAU,KAAK,CAAC,OAAqB;IACzC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC;IAC1C,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;SACxC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;SACtD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,QAAQ,GACZ,OAAO,CAAC,YAAY,KAAK,SAAS;QAChC,CAAC,CAAC,wDAAwD,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE;QACtG,CAAC,CAAC,uEAAuE,OAAO,CAAC,YAAY,uCAAuC,OAAO,CAAC,cAAc,IAAI,CAAC,mBAAmB,CAAC;IACvL,OAAO;;;;4BAImB,KAAK;;;EAG/B,WAAW;;EAEX,QAAQ;;sCAE4B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,MAAM,CAAC,CAAC;wCAC5C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,UAAU,CAAC,CAAC;;;CAGzF,CAAC;AACF,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;QACxC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,GAAG;gBACN,OAAO,MAAM,CAAC;YAChB,KAAK,GAAG;gBACN,OAAO,MAAM,CAAC;YAChB,KAAK,GAAG;gBACN,OAAO,OAAO,CAAC;YACjB,KAAK,GAAG;gBACN,OAAO,QAAQ,CAAC;YAClB;gBACE,OAAO,QAAQ,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,MAAqB,EAAE,GAA8B;IACpF,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO;IAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,IAAI,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO;QAC5B,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,GAAG,CAAC,OAAO,MAAM,kEAAkE,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,EAAE,MAAM,CAAC,CAAC;IACX,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAQ,GAA6B,CAAC,IAAI,KAAK,OAAO,CAAC;IACzD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"serve-cmd.js","sourceRoot":"","sources":["../../src/commands/serve-cmd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { type SpawnSyncReturns } from 'node:child_process';
2
+ export interface SystemdServiceDefinition {
3
+ label: string;
4
+ node: string;
5
+ script: string;
6
+ args: string[];
7
+ environment?: Record<string, string>;
8
+ }
9
+ export interface SystemdInstallTarget {
10
+ aknoPath: string;
11
+ stateDir: string;
12
+ socketPath: string;
13
+ configPath: string | null;
14
+ }
15
+ export interface SystemdPaths {
16
+ directory: string;
17
+ service: string;
18
+ dreamService: string;
19
+ dreamTimer: string;
20
+ healthService: string;
21
+ healthTimer: string;
22
+ target: string;
23
+ }
24
+ export type Systemctl = (args: string[]) => SpawnSyncReturns<string>;
25
+ export declare function systemdPaths(label: string, configHome?: string | undefined): SystemdPaths;
26
+ export declare function systemdUnit(definition: SystemdServiceDefinition, oneshot?: boolean): string;
27
+ export declare function systemdTimer(label: string, hour: number, minute: number): string;
28
+ export declare function systemdInstallPlan(label: string, dream: boolean): string[][];
29
+ export interface InstallSystemdOptions {
30
+ label: string;
31
+ node: string;
32
+ script: string;
33
+ serviceArgs: string[];
34
+ dreamArgs: string[];
35
+ healthArgs: string[];
36
+ dreamHour: number;
37
+ dream: boolean;
38
+ socketPath: string;
39
+ target: SystemdInstallTarget;
40
+ configHome?: string;
41
+ systemctl?: Systemctl;
42
+ waitForReady?: (socketPath: string, timeoutMs: number) => Promise<boolean>;
43
+ }
44
+ export declare function installSystemdService(options: InstallSystemdOptions): Promise<SystemdPaths>;
45
+ export declare function readSystemdInstallTarget(label: string, configHome?: string): SystemdInstallTarget | null;
46
+ export declare function uninstallSystemdService(label: string, configHome?: string, systemctl?: Systemctl): SystemdPaths;
47
+ export declare function systemdUnitIsActive(unit: string, systemctl?: Systemctl): boolean;
48
+ export declare function isCompatibleAknoHello(line: string): boolean;
49
+ export declare function aknoSocketIsReady(socketPath: string): Promise<boolean>;
50
+ //# sourceMappingURL=service-systemd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-systemd.d.ts","sourceRoot":"","sources":["../../src/commands/service-systemd.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAKtE,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,gBAAgB,CAAC,MAAM,CAAC,CAAC;AA0BrE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,qBAA8B,GAAG,YAAY,CAWlG;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,wBAAwB,EAAE,OAAO,UAAQ,GAAG,MAAM,CAQzF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGhF;AAWD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,EAAE,CAS5E;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5E;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,CA0EjG;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAQxG;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,GAAE,SAA4B,GACtC,YAAY,CAwBd;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,SAA4B,GAAG,OAAO,CAElG;AAyBD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAO3D;AAED,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAY5E"}