@stratusagent/cli 0.11.6 → 0.11.8

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 (90) hide show
  1. package/README.md +13 -9
  2. package/dist/approvals.d.ts.map +1 -1
  3. package/dist/approvals.js +30 -1
  4. package/dist/approvals.js.map +1 -1
  5. package/dist/commands/channel.d.ts +17 -0
  6. package/dist/commands/channel.d.ts.map +1 -0
  7. package/dist/commands/channel.js +115 -0
  8. package/dist/commands/channel.js.map +1 -0
  9. package/dist/commands/chat.js +3 -3
  10. package/dist/commands/chat.js.map +1 -1
  11. package/dist/commands/doctor.d.ts.map +1 -1
  12. package/dist/commands/doctor.js +50 -2
  13. package/dist/commands/doctor.js.map +1 -1
  14. package/dist/commands/grants.d.ts.map +1 -1
  15. package/dist/commands/grants.js +30 -7
  16. package/dist/commands/grants.js.map +1 -1
  17. package/dist/commands/health.d.ts +18 -0
  18. package/dist/commands/health.d.ts.map +1 -0
  19. package/dist/commands/health.js +95 -0
  20. package/dist/commands/health.js.map +1 -0
  21. package/dist/commands/serve.d.ts.map +1 -1
  22. package/dist/commands/serve.js +91 -19
  23. package/dist/commands/serve.js.map +1 -1
  24. package/dist/commands/service.d.ts +13 -0
  25. package/dist/commands/service.d.ts.map +1 -1
  26. package/dist/commands/service.js +36 -2
  27. package/dist/commands/service.js.map +1 -1
  28. package/dist/commands/setup.d.ts.map +1 -1
  29. package/dist/commands/setup.js +189 -8
  30. package/dist/commands/setup.js.map +1 -1
  31. package/dist/commands/skills.d.ts +1 -1
  32. package/dist/commands/skills.d.ts.map +1 -1
  33. package/dist/commands/skills.js +14 -3
  34. package/dist/commands/skills.js.map +1 -1
  35. package/dist/commands/update.d.ts.map +1 -1
  36. package/dist/commands/update.js +27 -3
  37. package/dist/commands/update.js.map +1 -1
  38. package/dist/daemon.d.ts +3 -1
  39. package/dist/daemon.d.ts.map +1 -1
  40. package/dist/daemon.js +4 -1
  41. package/dist/daemon.js.map +1 -1
  42. package/dist/environment.d.ts +4 -0
  43. package/dist/environment.d.ts.map +1 -1
  44. package/dist/events.d.ts.map +1 -1
  45. package/dist/events.js +20 -0
  46. package/dist/events.js.map +1 -1
  47. package/dist/help.d.ts +1 -1
  48. package/dist/help.d.ts.map +1 -1
  49. package/dist/help.js +48 -24
  50. package/dist/help.js.map +1 -1
  51. package/dist/index.d.ts +2 -1
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +1 -0
  54. package/dist/index.js.map +1 -1
  55. package/dist/loaders.d.ts +11 -0
  56. package/dist/loaders.d.ts.map +1 -1
  57. package/dist/loaders.js +8 -0
  58. package/dist/loaders.js.map +1 -1
  59. package/dist/logs.d.ts +20 -0
  60. package/dist/logs.d.ts.map +1 -1
  61. package/dist/logs.js +37 -0
  62. package/dist/logs.js.map +1 -1
  63. package/dist/main.d.ts +1 -1
  64. package/dist/main.d.ts.map +1 -1
  65. package/dist/main.js +25 -3
  66. package/dist/main.js.map +1 -1
  67. package/dist/npm.d.ts +3 -2
  68. package/dist/npm.d.ts.map +1 -1
  69. package/dist/npm.js +5 -2
  70. package/dist/npm.js.map +1 -1
  71. package/dist/parse.d.ts +30 -11
  72. package/dist/parse.d.ts.map +1 -1
  73. package/dist/parse.js +114 -10
  74. package/dist/parse.js.map +1 -1
  75. package/dist/prompter.d.ts +2 -2
  76. package/dist/prompter.d.ts.map +1 -1
  77. package/dist/prompter.js +4 -3
  78. package/dist/prompter.js.map +1 -1
  79. package/dist/runtime.d.ts +2 -1
  80. package/dist/runtime.d.ts.map +1 -1
  81. package/dist/runtime.js +27 -4
  82. package/dist/runtime.js.map +1 -1
  83. package/dist/service.d.ts.map +1 -1
  84. package/dist/service.js +2 -0
  85. package/dist/service.js.map +1 -1
  86. package/dist/supervisor.d.ts +9 -0
  87. package/dist/supervisor.d.ts.map +1 -1
  88. package/dist/supervisor.js +16 -1
  89. package/dist/supervisor.js.map +1 -1
  90. package/package.json +28 -26
@@ -1 +1 @@
1
- {"version":3,"file":"grants.js","sourceRoot":"","sources":["../../src/commands/grants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grants.js","sourceRoot":"","sources":["../../src/commands/grants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { CliStreams, CliEnvironment } from '../environment.ts';
2
+ import type { ParsedHealthCommand } from '../parse.ts';
3
+ /**
4
+ * `stratus health` — is the daemon serving, asked of the daemon itself.
5
+ *
6
+ * For whatever supervises it from outside: a container `HEALTHCHECK`, a
7
+ * Kubernetes probe, a monitoring script. Exit status is the answer — 0 when
8
+ * the control API says `ok`, 1 for everything else — and the output is one
9
+ * line either way, because a probe's output ends up in `docker inspect` and
10
+ * a paragraph there is unreadable. `stratus service status` answers a
11
+ * different question (does the service manager think the process is
12
+ * alive?), and cannot see a daemon that is alive but wedged.
13
+ *
14
+ * Every failure is caught here rather than thrown to `runCli`, which would
15
+ * append the whole help text to the probe's output.
16
+ */
17
+ export declare const runHealth: (command: ParsedHealthCommand, streams: CliStreams, env?: CliEnvironment) => Promise<number>;
18
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAyCvD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,GACpB,SAAS,mBAAmB,EAC5B,SAAS,UAAU,EACnB,MAAK,cAAmB,KACvB,OAAO,CAAC,MAAM,CA+DhB,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { gatewayInfoPath } from '@stratusagent/state';
2
+ import { callRunningGateway, gatewayErrorMessage, runningGatewayBase } from "../daemon.js";
3
+ import { writeLine } from "../io.js";
4
+ /**
5
+ * How long a probe waits for the daemon before calling it unhealthy.
6
+ *
7
+ * A container `HEALTHCHECK`, a systemd `ExecStartPost`, and a Kubernetes
8
+ * exec probe each have a timeout of their own, but they differ, and one that
9
+ * fires first kills the process with no sentence at all. Giving up here says
10
+ * why. A healthy daemon answers in milliseconds: the route counts sessions
11
+ * in the database rather than listing them for exactly this reason.
12
+ */
13
+ const HEALTH_TIMEOUT_MS = 5_000;
14
+ const formatUptime = (ms) => {
15
+ const seconds = Math.floor(ms / 1000);
16
+ if (seconds < 60) {
17
+ return `${seconds}s`;
18
+ }
19
+ const minutes = Math.floor(seconds / 60);
20
+ if (minutes < 60) {
21
+ return `${minutes}m`;
22
+ }
23
+ const hours = Math.floor(minutes / 60);
24
+ if (hours < 48) {
25
+ return `${hours}h${minutes % 60 > 0 ? ` ${minutes % 60}m` : ''}`;
26
+ }
27
+ return `${Math.floor(hours / 24)}d`;
28
+ };
29
+ const plural = (count, noun) => `${count} ${noun}${count === 1 ? '' : 's'}`;
30
+ /**
31
+ * `stratus health` — is the daemon serving, asked of the daemon itself.
32
+ *
33
+ * For whatever supervises it from outside: a container `HEALTHCHECK`, a
34
+ * Kubernetes probe, a monitoring script. Exit status is the answer — 0 when
35
+ * the control API says `ok`, 1 for everything else — and the output is one
36
+ * line either way, because a probe's output ends up in `docker inspect` and
37
+ * a paragraph there is unreadable. `stratus service status` answers a
38
+ * different question (does the service manager think the process is
39
+ * alive?), and cannot see a daemon that is alive but wedged.
40
+ *
41
+ * Every failure is caught here rather than thrown to `runCli`, which would
42
+ * append the whole help text to the probe's output.
43
+ */
44
+ export const runHealth = async (command, streams, env = {}) => {
45
+ const fail = (message) => {
46
+ if (command.format === 'json') {
47
+ writeLine(streams.stdout, JSON.stringify({ ok: false, error: message }));
48
+ }
49
+ else {
50
+ writeLine(streams.stderr, `Error: ${message}`);
51
+ }
52
+ return 1;
53
+ };
54
+ // The file is written when the API binds and removed when it stops, so a
55
+ // daemon between the two — starting, or inside an announced restart — is
56
+ // absent here too. Said, because a probe failing once during a restart is
57
+ // expected and one failing for minutes is not, and the reader of this line
58
+ // is deciding which.
59
+ const base = await runningGatewayBase(env, command);
60
+ if (!base) {
61
+ return fail(`stratusd is not serving — ${gatewayInfoPath(env)} does not exist, so no daemon has said where it is `
62
+ + '(none is running, or one is still starting or restarting), and no --gateway was given. '
63
+ + 'Start it with `stratus serve` or `stratus service start`; a daemon started with --no-api has no control API to ask.');
64
+ }
65
+ let payload;
66
+ try {
67
+ const response = await callRunningGateway(env, command, base, '/api/v1/health', undefined, 'GET', AbortSignal.timeout(HEALTH_TIMEOUT_MS));
68
+ if (!response.ok) {
69
+ return fail(`The gateway at ${base} answered /health with ${await gatewayErrorMessage(response)}. Check \`stratus logs\` for why.`);
70
+ }
71
+ payload = await response.json();
72
+ }
73
+ catch (error) {
74
+ return fail(error instanceof Error ? error.message : String(error));
75
+ }
76
+ if (payload.ok !== true) {
77
+ return fail(`The gateway at ${base} answered /health without ok: true. Check \`stratus logs\` for why.`);
78
+ }
79
+ if (command.format === 'json') {
80
+ writeLine(streams.stdout, JSON.stringify({ gateway: base, ...payload }));
81
+ return 0;
82
+ }
83
+ const running = payload.sessions?.byStatus?.running ?? 0;
84
+ const pending = payload.approvals?.pending ?? 0;
85
+ const facts = [
86
+ ...(payload.version !== undefined ? [`version ${payload.version}`] : []),
87
+ ...(payload.uptimeMs !== undefined ? [`up ${formatUptime(payload.uptimeMs)}`] : []),
88
+ plural(payload.agents?.length ?? 0, 'agent'),
89
+ `${plural(payload.sessions?.total ?? 0, 'session')}${running > 0 ? ` (${running} running)` : ''}`,
90
+ `${plural(pending, 'approval')} pending`,
91
+ ];
92
+ writeLine(streams.stdout, `stratusd ok at ${base} — ${facts.join(', ')}`);
93
+ return 0;
94
+ };
95
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAoB,MAAM,mBAAmB,CAAC;AAMtF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAoBtD,eAAO,MAAM,QAAQ,GACnB,SAAS,kBAAkB,EAC3B,SAAS,UAAU,EACnB,MAAK,cAAmB,KACvB,OAAO,CAAC,MAAM,CAuDhB,CAAC"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAoB,MAAM,mBAAmB,CAAC;AAMtF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAqBtD,eAAO,MAAM,QAAQ,GACnB,SAAS,kBAAkB,EAC3B,SAAS,UAAU,EACnB,MAAK,cAAmB,KACvB,OAAO,CAAC,MAAM,CA2EhB,CAAC"}
@@ -7,17 +7,17 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
7
7
  return path;
8
8
  };
9
9
  import { createFileCommandWhitelist, createPermissionPolicy, describeCommandScope, describeOriginScope, describeToolGrant, } from '@stratusagent/permissions';
10
- import { agentsDirPath, stratusHomePath, loadChannelCredentials, readProcessEnv, logsDirPath, resolveAgentApprovals, resolveAgentPrincipals, resolveAgentSlack, applyPerAgentWorkspaces, workspaceRepairPending, runStateMigrations, servedRuntimes, discoverIgnoredUntrustedConfig, } from '@stratusagent/state';
10
+ import { agentsDirPath, stratusHomePath, loadChannelCredentials, readProcessEnv, logsDirPath, resolveAgentApprovals, resolveAgentPrincipals, resolveAgentSlack, applyPerAgentWorkspaces, workspaceRepairPending, runStateMigrations, servedRuntimes, discoverIgnoredUntrustedConfig, trustedConfigError, grantReadSerializer, grantWriteSerializer, } from '@stratusagent/state';
11
11
  import { createLogWriter, truncateRedirectLogs } from "../logs.js";
12
12
  import { describePrincipals, describeApprovers } from "../approvals.js";
13
13
  import { HomeHeldError, legacyDaemonServing, describeHeldHome } from "../daemon.js";
14
14
  import { formatEvent, eventDetail } from "../events.js";
15
15
  import { writeLine } from "../io.js";
16
- import { loadSlackAdapter, loadControlApi } from "../loaders.js";
16
+ import { hostChannelClaimsFor, loadSlackAdapter, loadControlApi } from "../loaders.js";
17
17
  import { companionsBehindMessage, readCompanions } from "../companions.js";
18
18
  import { CLI_VERSION } from "../npm.js";
19
19
  import { warnOnCredentialOverride, warnOnUntrustedConfig, warnOnIgnoredConfig } from "../runtime.js";
20
- import { RESTART_EXIT_CODE, UNDRAINED_RESTART_EXIT_CODE, SUPERVISED_ENV, BOUND_API_PORT_ENV, defaultSupervisorLink, superviseRestarts, } from "../supervisor.js";
20
+ import { CONFIG_INVALID_EXIT_CODE, RESTART_EXIT_CODE, UNDRAINED_RESTART_EXIT_CODE, SUPERVISED_ENV, BOUND_API_PORT_ENV, defaultSupervisorLink, superviseRestarts, } from "../supervisor.js";
21
21
  import { loadServeApprovals, loadServePrincipals, loadServeSlack, loadServeApi, loadServePlugins, loadServeRuntimeSelection, loadServeMaxTurns, } from "../trusted-config.js";
22
22
  export const runServe = async (command, streams, env = {}) => {
23
23
  // First, before anything that can throw. A broken install makes the
@@ -28,6 +28,22 @@ export const runServe = async (command, streams, env = {}) => {
28
28
  if (command.logToFile !== false) {
29
29
  await truncateRedirectLogs(logsDirPath(env)).catch(() => undefined);
30
30
  }
31
+ // Refused before anything else reads it. Every trusted block degrades on
32
+ // its own when the file will not load — no plugins, the built-in soul, no
33
+ // approvers, every Slack sender refused — so a daemon started on a broken
34
+ // config answered in Slack with no persona and no tools, and looked
35
+ // healthy while doing it; one install lost an hour to a stray comma that
36
+ // only stratusd.err.log mentioned (#214). Only at start: a file broken
37
+ // mid-edit under a running daemon is the gateway's to ride out on its
38
+ // last good snapshot, and stopping a fleet over a half-saved file is the
39
+ // worse failure there.
40
+ const configError = await trustedConfigError(env, command.configPath);
41
+ if (configError) {
42
+ writeLine(streams.stderr, `Error: ${configError.message}`);
43
+ writeLine(streams.stderr, 'stratusd will not start on a config it cannot read: every agent would come up without its soul, plugins, '
44
+ + 'and approvers. Fix the file (`stratus doctor` names the problem), then start it again.');
45
+ return CONFIG_INVALID_EXIT_CODE;
46
+ }
31
47
  // Loaded lazily: the gateway pulls in node:sqlite, which every other CLI
32
48
  // command neither needs nor should pay for (Node still prints an
33
49
  // experimental warning for it).
@@ -74,19 +90,48 @@ const serveHeldHome = async (command, streams, env, createGateway) => {
74
90
  // Under a service manager the daemon's stdout is gone, so everything it
75
91
  // says is also written to ~/.stratus/logs — that file is what `stratus
76
92
  // logs` reads, and the only record of an overnight run.
93
+ const jsonOut = command.logFormat === 'json';
77
94
  const logWriter = command.logToFile === false
78
95
  ? undefined
79
96
  : createLogWriter({
80
97
  dir: logsDirPath(env),
81
- onError: (error) => writeLine(streams.stderr, `Warning: could not write the log file (${error instanceof Error ? error.message : String(error)}); continuing.`),
98
+ // Under `--log-format json` a failing file is reported as a record
99
+ // on stdout like every other warning: a full disk is exactly when a
100
+ // shipper must not be handed a line it cannot parse.
101
+ onError: (error) => {
102
+ const message = `could not write the log file (${error instanceof Error ? error.message : String(error)}); continuing.`;
103
+ if (jsonOut) {
104
+ writeLine(streams.stdout, JSON.stringify({ ts: new Date().toISOString(), level: 'warn', msg: message }));
105
+ }
106
+ else {
107
+ writeLine(streams.stderr, `Warning: ${message}`);
108
+ }
109
+ },
82
110
  });
111
+ // `--log-format json` puts the file's records on stdout as well — the
112
+ // same objects, built once, so what a log shipper sees can never say more
113
+ // than the file does (a trace, not a transcript). The human lines go:
114
+ // a container runtime or journald reads stdout line by line, and one line
115
+ // that is not JSON breaks the parser for everything after it. Warnings go
116
+ // with them rather than to stderr, because both streams land in the same
117
+ // `docker logs` and the warning is already a record.
118
+ const record = (entry) => {
119
+ if (jsonOut) {
120
+ writeLine(streams.stdout, JSON.stringify(entry));
121
+ }
122
+ return logWriter?.write(entry) ?? Promise.resolve();
123
+ };
83
124
  const log = (line) => {
84
- writeLine(streams.stdout, line);
85
- void logWriter?.write({ ts: new Date().toISOString(), level: 'info', msg: line });
125
+ if (!jsonOut) {
126
+ writeLine(streams.stdout, line);
127
+ }
128
+ void record({ ts: new Date().toISOString(), level: 'info', msg: line });
86
129
  };
87
130
  const warn = (line) => {
88
- writeLine(streams.stderr, `Warning: ${line}`);
89
- void logWriter?.write({ ts: new Date().toISOString(), level: 'warn', msg: line });
131
+ if (!jsonOut) {
132
+ writeLine(streams.stderr, `Warning: ${line}`);
133
+ }
134
+ void record({ ts: new Date().toISOString(), level: 'warn', msg: line });
90
135
  };
91
136
  // With the home claim in hand, this daemon is the exclusive holder of the
92
137
  // state a migration would move — which is the bracket the marked ones
@@ -156,7 +201,16 @@ const serveHeldHome = async (command, streams, env, createGateway) => {
156
201
  // restart. A whitelist that exists and will not read is said here, once,
157
202
  // and never written over — the daemon's log is where a grant list going
158
203
  // quiet would otherwise go unnoticed.
159
- const grantStore = createFileCommandWhitelist({ directory: agentsDirPath(env), stateHome: stratusHomePath(env), warn });
204
+ // Each grant file read, and each grant change, under the lock a
205
+ // file-fallback revoke takes: a daemon never caches a grant mid-revoke,
206
+ // and never writes a revoked one back from its cache (#184).
207
+ const grantStore = createFileCommandWhitelist({
208
+ directory: agentsDirPath(env),
209
+ stateHome: stratusHomePath(env),
210
+ warn,
211
+ serializeRead: grantReadSerializer(env),
212
+ serializeWrite: grantWriteSerializer(env),
213
+ });
160
214
  // The control API is a channel adapter like any other: started after the
161
215
  // roster loads, stopped before the store drains. It is optional because
162
216
  // installing it is how an operator says they want a port open.
@@ -187,6 +241,7 @@ const serveHeldHome = async (command, streams, env, createGateway) => {
187
241
  ...(apiHost !== undefined ? { host: apiHost } : {}),
188
242
  ...(apiPort !== undefined ? { port: apiPort } : {}),
189
243
  ...(command.configPath ? { configPath: command.configPath } : {}),
244
+ ...(apiConfig.publicUrl !== undefined ? { publicUrl: apiConfig.publicUrl } : {}),
190
245
  grants: grantStore,
191
246
  log,
192
247
  warn,
@@ -357,6 +412,10 @@ const serveHeldHome = async (command, streams, env, createGateway) => {
357
412
  log(`${agentId}: ${describeOriginScope(scope)} is now acted on without asking`);
358
413
  },
359
414
  };
415
+ // Read through the shared resolver on every call rather than a set built
416
+ // here, so the per-agent override and the top-level default can never
417
+ // disagree about which one wins.
418
+ const gateExternalContent = (agentId) => resolveAgentApprovals(approvalsConfig, agentId).externalContent === 'gate';
360
419
  const approvals = (transport) => {
361
420
  // The standing-grant engine, in the same file again — and the tool's
362
421
  // contributor from the gateway, so a grant records which package's
@@ -376,8 +435,8 @@ const serveHeldHome = async (command, streams, env, createGateway) => {
376
435
  // grant is the only path a scope-less gated tool has to running
377
436
  // unattended, and headless is where that matters.
378
437
  approvalMode === 'remote'
379
- ? { mode: 'remote', request: transport.request, onDecision, commands, origins, grants, destinations: transport.destinations }
380
- : { mode: 'headless', onDecision, commands, origins, grants, destinations: transport.destinations });
438
+ ? { mode: 'remote', request: transport.request, onDecision, commands, origins, grants, destinations: transport.destinations, gateExternalContent }
439
+ : { mode: 'headless', onDecision, commands, origins, grants, destinations: transport.destinations, gateExternalContent });
381
440
  };
382
441
  if (approvalMode === 'remote') {
383
442
  // Only agents whose channel actually came up can be asked: tokens on
@@ -416,6 +475,17 @@ const serveHeldHome = async (command, streams, env, createGateway) => {
416
475
  restart = outcome;
417
476
  requestShutdown();
418
477
  },
478
+ // The replacement asks the same question at its start and exits 78 on
479
+ // the answer, which systemd will not retry — so a restart over a
480
+ // half-saved file is refused here, while this daemon can stay up on its
481
+ // last good snapshot, rather than drained into an outage.
482
+ restartPreflight: async () => {
483
+ const configError = await trustedConfigError(env, command.configPath);
484
+ if (configError) {
485
+ throw new Error(`${configError.message} A restarted stratusd would refuse to start on it, so this one keeps serving. `
486
+ + 'Fix the file (`stratus doctor` names the problem), then restart again.');
487
+ }
488
+ },
419
489
  ...(Object.keys(pluginsConfig).length > 0
420
490
  ? {
421
491
  plugins: pluginsConfig,
@@ -440,11 +510,11 @@ const serveHeldHome = async (command, streams, env, createGateway) => {
440
510
  // The Slack adapter is host-wired, so its (agent, kind) claims are
441
511
  // declared here; a plugin channel claiming one of them is refused at
442
512
  // load rather than started beside it.
443
- ...(slackAdapterUp ? { hostChannelClaims: [{ kind: 'slack', agents: slackAgents.map(([agentId]) => agentId) }] } : {}),
513
+ ...(slackAdapterUp ? { hostChannelClaims: hostChannelClaimsFor(slackAgents.map(([agentId]) => agentId), slackAdapterUp) } : {}),
444
514
  log,
445
515
  warn,
446
516
  });
447
- if (command.events) {
517
+ if (command.events && !jsonOut) {
448
518
  gateway.bus.subscribe((event) => {
449
519
  const line = formatEvent(event);
450
520
  if (line) {
@@ -452,7 +522,7 @@ const serveHeldHome = async (command, streams, env, createGateway) => {
452
522
  }
453
523
  });
454
524
  }
455
- if (logWriter) {
525
+ if (logWriter || jsonOut) {
456
526
  // Only session.created carries the agent id, so it seeds a map the
457
527
  // later events in that session read from. A session resumed after a
458
528
  // restart never re-creates, so an unmapped id falls back to the
@@ -482,7 +552,7 @@ const serveHeldHome = async (command, streams, env, createGateway) => {
482
552
  };
483
553
  const known = agentBySession.get(event.sessionId);
484
554
  if (known) {
485
- void logWriter.write({ ...base, agentId: known });
555
+ void record({ ...base, agentId: known });
486
556
  }
487
557
  else {
488
558
  // A session resumed after a restart never re-creates, so its agent
@@ -494,9 +564,9 @@ const serveHeldHome = async (command, streams, env, createGateway) => {
494
564
  if (agentId) {
495
565
  agentBySession.set(event.sessionId, agentId);
496
566
  }
497
- return logWriter.write({ ...base, ...(agentId ? { agentId } : {}) });
567
+ return record({ ...base, ...(agentId ? { agentId } : {}) });
498
568
  })
499
- .catch(() => logWriter.write(base));
569
+ .catch(() => record(base));
500
570
  }
501
571
  if (event.type === 'session.completed' || event.type === 'session.failed') {
502
572
  agentBySession.delete(event.sessionId);
@@ -531,7 +601,9 @@ const serveHeldHome = async (command, streams, env, createGateway) => {
531
601
  + 'approval timeout and then be denied. Connect a Slack app for them, or run with --approvals headless.');
532
602
  }
533
603
  }
534
- writeLine(streams.stdout, 'Press Ctrl+C to stop.');
604
+ if (!jsonOut) {
605
+ writeLine(streams.stdout, 'Press Ctrl+C to stop.');
606
+ }
535
607
  // And periodically, for a long-running daemon that warns steadily
536
608
  // without ever writing enough records to rotate. Unref'd, so it never
537
609
  // holds the process open. Armed only once the daemon is actually
@@ -625,7 +697,7 @@ const serveHeldHome = async (command, streams, env, createGateway) => {
625
697
  log(`restarting stratusd${restart.reason ? ` (${restart.reason})` : ''}`);
626
698
  }
627
699
  }
628
- else {
700
+ else if (!jsonOut) {
629
701
  writeLine(streams.stdout, 'Stopping — draining in-flight turns.');
630
702
  }
631
703
  }
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type ServiceEnvironment } from '../service.ts';
1
2
  import type { CliStreams, CliEnvironment } from '../environment.ts';
2
3
  import type { ParsedServiceCommand } from '../parse.ts';
3
4
  /**
@@ -5,5 +6,17 @@ import type { ParsedServiceCommand } from '../parse.ts';
5
6
  * survives logout, crashes, and reboots. `serve` itself stays a plain
6
7
  * foreground process; this only tells the platform how to keep it up.
7
8
  */
9
+ /**
10
+ * The error the installed unit's daemon would refuse to start on, asked by
11
+ * the rule `serve` uses, from where the unit runs: its working directory,
12
+ * the config it pins, and none of this shell's `STRATUS_CONFIG`, which a
13
+ * service manager does not pass on.
14
+ *
15
+ * Asked before a start rather than after it, because nothing after it can
16
+ * answer: systemd reports a `Type=simple` unit started the moment it forks,
17
+ * so a daemon that then exits 78 left `stratus service start` and `stratus
18
+ * update` saying it was running, over a unit that had already failed.
19
+ */
20
+ export declare const installedUnitConfigError: (env: CliEnvironment, serviceEnv: ServiceEnvironment) => Promise<Error | undefined>;
8
21
  export declare const runService: (command: ParsedServiceCommand, streams: CliStreams, env?: CliEnvironment) => Promise<number>;
9
22
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/commands/service.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,UAAU,GACrB,SAAS,oBAAoB,EAC7B,SAAS,UAAU,EACnB,MAAK,cAAmB,KACvB,OAAO,CAAC,MAAM,CAsFhB,CAAC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/commands/service.ts"],"names":[],"mappings":"AASA,OAAO,EAOL,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;;GAIG;AACH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,GACnC,KAAK,cAAc,EACnB,YAAY,kBAAkB,KAC7B,OAAO,CAAC,KAAK,GAAG,SAAS,CAO3B,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,SAAS,oBAAoB,EAC7B,SAAS,UAAU,EACnB,MAAK,cAAmB,KACvB,OAAO,CAAC,MAAM,CAyGhB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import path from 'node:path';
2
- import { readNonEmptyString, readProcessEnv, readWorkingDirectory, loadConfigFile, resolveConfigLocation, } from '@stratusagent/state';
3
- import { installService, readServiceStatus, startService, stopService, uninstallService, } from "../service.js";
2
+ import { readNonEmptyString, readProcessEnv, readWorkingDirectory, loadConfigFile, resolveConfigLocation, trustedConfigError, } from '@stratusagent/state';
3
+ import { installService, readServiceCommand, readServiceStatus, startService, stopService, uninstallService, } from "../service.js";
4
4
  import { serviceEnvFor } from "../daemon.js";
5
5
  import { writeLine } from "../io.js";
6
6
  /**
@@ -8,6 +8,22 @@ import { writeLine } from "../io.js";
8
8
  * survives logout, crashes, and reboots. `serve` itself stays a plain
9
9
  * foreground process; this only tells the platform how to keep it up.
10
10
  */
11
+ /**
12
+ * The error the installed unit's daemon would refuse to start on, asked by
13
+ * the rule `serve` uses, from where the unit runs: its working directory,
14
+ * the config it pins, and none of this shell's `STRATUS_CONFIG`, which a
15
+ * service manager does not pass on.
16
+ *
17
+ * Asked before a start rather than after it, because nothing after it can
18
+ * answer: systemd reports a `Type=simple` unit started the moment it forks,
19
+ * so a daemon that then exits 78 left `stratus service start` and `stratus
20
+ * update` saying it was running, over a unit that had already failed.
21
+ */
22
+ export const installedUnitConfigError = async (env, serviceEnv) => {
23
+ const unit = await readServiceCommand(serviceEnv);
24
+ const { STRATUS_CONFIG: _selected, ...processEnv } = readProcessEnv(env);
25
+ return trustedConfigError({ ...env, processEnv, ...(unit?.workingDirectory !== undefined ? { cwd: unit.workingDirectory } : {}) }, unit?.configPath);
26
+ };
11
27
  export const runService = async (command, streams, env = {}) => {
12
28
  const serviceEnv = serviceEnvFor(env);
13
29
  if (command.action === 'status') {
@@ -76,6 +92,24 @@ export const runService = async (command, streams, env = {}) => {
76
92
  return 1;
77
93
  }
78
94
  }
95
+ // And the trusted config behind it, by the rule the daemon itself
96
+ // refuses to start on. A valid project file in this directory says
97
+ // nothing about the global one it falls back to for trusted blocks, and
98
+ // a broken global one makes the daemon exit 78 on its first start.
99
+ const trustedError = await trustedConfigError(env, selectedConfig ? String(selectedConfig) : undefined);
100
+ if (trustedError) {
101
+ writeLine(streams.stderr, `Not installing: ${trustedError.message}`);
102
+ writeLine(streams.stderr, 'The daemon refuses to start on a trusted config it cannot read. Fix the file, then install again.');
103
+ return 1;
104
+ }
105
+ }
106
+ if (command.action === 'start') {
107
+ const unitError = await installedUnitConfigError(env, serviceEnv);
108
+ if (unitError) {
109
+ writeLine(streams.stderr, `Not starting: ${unitError.message}`);
110
+ writeLine(streams.stderr, 'The daemon refuses to start on a trusted config it cannot read. Fix the file, then start it again.');
111
+ return 1;
112
+ }
79
113
  }
80
114
  const action = command.action === 'install'
81
115
  ? installService(serviceEnv, {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/commands/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/commands/service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAgEA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAiB,MAAM,mBAAmB,CAAC;AAInF,OAAO,KAAK,EAAmB,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAYvE,eAAO,MAAM,oBAAoB,QAKrB,CAAC;AAmEb,eAAO,MAAM,QAAQ,GACnB,SAAS,kBAAkB,EAC3B,SAAS,UAAU,EACnB,MAAK,cAAmB,KACvB,OAAO,CAAC,MAAM,CA+mFhB,CAAC"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAqEA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAiB,MAAM,mBAAmB,CAAC;AAInF,OAAO,KAAK,EAAmB,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAYvE,eAAO,MAAM,oBAAoB,QAKrB,CAAC;AAgFb,eAAO,MAAM,QAAQ,GACnB,SAAS,kBAAkB,EAC3B,SAAS,UAAU,EACnB,MAAK,cAAmB,KACvB,OAAO,CAAC,MAAM,CAwyFhB,CAAC"}