@mono-agent/agent-app 0.20.14 → 0.21.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 (262) hide show
  1. package/README.md +227 -80
  2. package/dist/adapter-send-tools.d.ts +3 -2
  3. package/dist/adapter-send-tools.d.ts.map +1 -1
  4. package/dist/adapter-send-tools.js +15 -5
  5. package/dist/adapter-send-tools.js.map +1 -1
  6. package/dist/app-controller-channels.d.ts +2 -0
  7. package/dist/app-controller-channels.d.ts.map +1 -1
  8. package/dist/app-controller-channels.js +10 -1
  9. package/dist/app-controller-channels.js.map +1 -1
  10. package/dist/app-controller-maintenance.d.ts +3 -1
  11. package/dist/app-controller-maintenance.d.ts.map +1 -1
  12. package/dist/app-controller-maintenance.js +3 -0
  13. package/dist/app-controller-maintenance.js.map +1 -1
  14. package/dist/app-controller-responder.d.ts +2 -0
  15. package/dist/app-controller-responder.d.ts.map +1 -1
  16. package/dist/app-controller-responder.js +21 -17
  17. package/dist/app-controller-responder.js.map +1 -1
  18. package/dist/app-controller-traceability.d.ts.map +1 -1
  19. package/dist/app-controller-traceability.js +3 -0
  20. package/dist/app-controller-traceability.js.map +1 -1
  21. package/dist/app-controller-types.d.ts +1 -0
  22. package/dist/app-controller-types.d.ts.map +1 -1
  23. package/dist/app-controller.d.ts +2 -0
  24. package/dist/app-controller.d.ts.map +1 -1
  25. package/dist/app-controller.js +3 -0
  26. package/dist/app-controller.js.map +1 -1
  27. package/dist/artifact-retention.js +11 -0
  28. package/dist/artifact-retention.js.map +1 -1
  29. package/dist/background.d.ts +0 -6
  30. package/dist/background.d.ts.map +1 -1
  31. package/dist/background.js +5 -58
  32. package/dist/background.js.map +1 -1
  33. package/dist/channel-drivers/tui.d.ts +2 -2
  34. package/dist/channel-drivers/tui.d.ts.map +1 -1
  35. package/dist/channel-drivers/tui.js +27 -8
  36. package/dist/channel-drivers/tui.js.map +1 -1
  37. package/dist/cli-args.d.ts +4 -5
  38. package/dist/cli-args.d.ts.map +1 -1
  39. package/dist/cli-args.js +20 -19
  40. package/dist/cli-args.js.map +1 -1
  41. package/dist/cli-background-command.d.ts.map +1 -1
  42. package/dist/cli-background-command.js +4 -0
  43. package/dist/cli-background-command.js.map +1 -1
  44. package/dist/cli-commands.d.ts.map +1 -1
  45. package/dist/cli-commands.js +13 -2
  46. package/dist/cli-commands.js.map +1 -1
  47. package/dist/cli-help.d.ts.map +1 -1
  48. package/dist/cli-help.js +33 -19
  49. package/dist/cli-help.js.map +1 -1
  50. package/dist/cli-init-command.d.ts.map +1 -1
  51. package/dist/cli-init-command.js +26 -22
  52. package/dist/cli-init-command.js.map +1 -1
  53. package/dist/cli-install-skill-command.d.ts.map +1 -1
  54. package/dist/cli-install-skill-command.js +12 -3
  55. package/dist/cli-install-skill-command.js.map +1 -1
  56. package/dist/config-reference.d.ts +1 -0
  57. package/dist/config-reference.d.ts.map +1 -1
  58. package/dist/config-reference.js +66 -10
  59. package/dist/config-reference.js.map +1 -1
  60. package/dist/configured-agent.d.ts +9 -1
  61. package/dist/configured-agent.d.ts.map +1 -1
  62. package/dist/configured-agent.js +95 -29
  63. package/dist/configured-agent.js.map +1 -1
  64. package/dist/cron-control-store.d.ts.map +1 -1
  65. package/dist/cron-control-store.js +4 -2
  66. package/dist/cron-control-store.js.map +1 -1
  67. package/dist/doctor.d.ts.map +1 -1
  68. package/dist/doctor.js +215 -45
  69. package/dist/doctor.js.map +1 -1
  70. package/dist/index.d.ts +2 -0
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +1 -0
  73. package/dist/index.js.map +1 -1
  74. package/dist/interaction-bridge.d.ts +3 -3
  75. package/dist/interaction-bridge.d.ts.map +1 -1
  76. package/dist/interaction-bridge.js +27 -10
  77. package/dist/interaction-bridge.js.map +1 -1
  78. package/dist/launchd.d.ts +2 -0
  79. package/dist/launchd.d.ts.map +1 -1
  80. package/dist/launchd.js +3 -0
  81. package/dist/launchd.js.map +1 -1
  82. package/dist/local-tui-session.d.ts +14 -0
  83. package/dist/local-tui-session.d.ts.map +1 -0
  84. package/dist/local-tui-session.js +100 -0
  85. package/dist/local-tui-session.js.map +1 -0
  86. package/dist/mcp-apps.d.ts.map +1 -1
  87. package/dist/mcp-apps.js +3 -0
  88. package/dist/mcp-apps.js.map +1 -1
  89. package/dist/memory-journal.d.ts +53 -0
  90. package/dist/memory-journal.d.ts.map +1 -0
  91. package/dist/memory-journal.js +586 -0
  92. package/dist/memory-journal.js.map +1 -0
  93. package/dist/memory-recall.d.ts.map +1 -1
  94. package/dist/memory-recall.js +16 -2
  95. package/dist/memory-recall.js.map +1 -1
  96. package/dist/memory-retrieval.d.ts +9 -0
  97. package/dist/memory-retrieval.d.ts.map +1 -1
  98. package/dist/memory-retrieval.js +20 -0
  99. package/dist/memory-retrieval.js.map +1 -1
  100. package/dist/modules/base.js +1 -1
  101. package/dist/modules/base.js.map +1 -1
  102. package/dist/modules/known-tools.d.ts +1 -1
  103. package/dist/modules/known-tools.d.ts.map +1 -1
  104. package/dist/modules/known-tools.js +1 -0
  105. package/dist/modules/known-tools.js.map +1 -1
  106. package/dist/monitors-command.js +12 -2
  107. package/dist/monitors-command.js.map +1 -1
  108. package/dist/monitors-config.d.ts +4 -1
  109. package/dist/monitors-config.d.ts.map +1 -1
  110. package/dist/monitors-config.js +5 -1
  111. package/dist/monitors-config.js.map +1 -1
  112. package/dist/monitors-context.d.ts.map +1 -1
  113. package/dist/monitors-context.js +14 -2
  114. package/dist/monitors-context.js.map +1 -1
  115. package/dist/monitors-service.d.ts +2 -2
  116. package/dist/monitors-service.d.ts.map +1 -1
  117. package/dist/monitors-service.js +227 -96
  118. package/dist/monitors-service.js.map +1 -1
  119. package/dist/monitors-store.d.ts +11 -1
  120. package/dist/monitors-store.d.ts.map +1 -1
  121. package/dist/monitors-store.js +36 -6
  122. package/dist/monitors-store.js.map +1 -1
  123. package/dist/notify-destinations.d.ts +3 -2
  124. package/dist/notify-destinations.d.ts.map +1 -1
  125. package/dist/notify-destinations.js +6 -7
  126. package/dist/notify-destinations.js.map +1 -1
  127. package/dist/posted-reply-history.d.ts.map +1 -1
  128. package/dist/posted-reply-history.js +40 -3
  129. package/dist/posted-reply-history.js.map +1 -1
  130. package/dist/proactive-notify.d.ts +20 -1
  131. package/dist/proactive-notify.d.ts.map +1 -1
  132. package/dist/proactive-notify.js +56 -3
  133. package/dist/proactive-notify.js.map +1 -1
  134. package/dist/process-job-channel-routing.js +2 -1
  135. package/dist/process-job-channel-routing.js.map +1 -1
  136. package/dist/process-job-output-tail.d.ts +53 -0
  137. package/dist/process-job-output-tail.d.ts.map +1 -0
  138. package/dist/process-job-output-tail.js +257 -0
  139. package/dist/process-job-output-tail.js.map +1 -0
  140. package/dist/process-jobs-config.d.ts +1 -1
  141. package/dist/process-jobs-config.js +1 -1
  142. package/dist/process-jobs-config.js.map +1 -1
  143. package/dist/process-jobs-context.d.ts +3 -1
  144. package/dist/process-jobs-context.d.ts.map +1 -1
  145. package/dist/process-jobs-context.js +44 -11
  146. package/dist/process-jobs-context.js.map +1 -1
  147. package/dist/process-jobs-runtime.d.ts.map +1 -1
  148. package/dist/process-jobs-runtime.js +14 -0
  149. package/dist/process-jobs-runtime.js.map +1 -1
  150. package/dist/process-jobs-service.d.ts.map +1 -1
  151. package/dist/process-jobs-service.js +115 -23
  152. package/dist/process-jobs-service.js.map +1 -1
  153. package/dist/process-jobs-store.d.ts +3 -1
  154. package/dist/process-jobs-store.d.ts.map +1 -1
  155. package/dist/process-jobs-store.js +4 -1
  156. package/dist/process-jobs-store.js.map +1 -1
  157. package/dist/process-output-redaction.d.ts +26 -1
  158. package/dist/process-output-redaction.d.ts.map +1 -1
  159. package/dist/process-output-redaction.js +164 -2
  160. package/dist/process-output-redaction.js.map +1 -1
  161. package/dist/project-skills.d.ts +11 -5
  162. package/dist/project-skills.d.ts.map +1 -1
  163. package/dist/project-skills.js +88 -39
  164. package/dist/project-skills.js.map +1 -1
  165. package/dist/provider-auth-checks.d.ts +27 -0
  166. package/dist/provider-auth-checks.d.ts.map +1 -0
  167. package/dist/provider-auth-checks.js +349 -0
  168. package/dist/provider-auth-checks.js.map +1 -0
  169. package/dist/provider-auth-observations.d.ts +22 -0
  170. package/dist/provider-auth-observations.d.ts.map +1 -0
  171. package/dist/provider-auth-observations.js +139 -0
  172. package/dist/provider-auth-observations.js.map +1 -0
  173. package/dist/provider-auth-operator.d.ts +19 -0
  174. package/dist/provider-auth-operator.d.ts.map +1 -0
  175. package/dist/provider-auth-operator.js +560 -0
  176. package/dist/provider-auth-operator.js.map +1 -0
  177. package/dist/provider-auth-status.d.ts +20 -0
  178. package/dist/provider-auth-status.d.ts.map +1 -0
  179. package/dist/provider-auth-status.js +235 -0
  180. package/dist/provider-auth-status.js.map +1 -0
  181. package/dist/provider-model-catalog.d.ts +17 -0
  182. package/dist/provider-model-catalog.d.ts.map +1 -1
  183. package/dist/provider-model-catalog.js +113 -2
  184. package/dist/provider-model-catalog.js.map +1 -1
  185. package/dist/provider-setup.d.ts +22 -0
  186. package/dist/provider-setup.d.ts.map +1 -1
  187. package/dist/provider-setup.js +101 -15
  188. package/dist/provider-setup.js.map +1 -1
  189. package/dist/reply-artifacts.d.ts +3 -1
  190. package/dist/reply-artifacts.d.ts.map +1 -1
  191. package/dist/reply-artifacts.js +45 -10
  192. package/dist/reply-artifacts.js.map +1 -1
  193. package/dist/request-model-override.d.ts +11 -2
  194. package/dist/request-model-override.d.ts.map +1 -1
  195. package/dist/request-model-override.js +51 -1
  196. package/dist/request-model-override.js.map +1 -1
  197. package/dist/request-scoped-mcp.d.ts +3 -0
  198. package/dist/request-scoped-mcp.d.ts.map +1 -1
  199. package/dist/request-scoped-mcp.js +1 -1
  200. package/dist/request-scoped-mcp.js.map +1 -1
  201. package/dist/run-history.d.ts.map +1 -1
  202. package/dist/run-history.js +56 -13
  203. package/dist/run-history.js.map +1 -1
  204. package/dist/seen-conversations.d.ts +4 -3
  205. package/dist/seen-conversations.d.ts.map +1 -1
  206. package/dist/seen-conversations.js +6 -5
  207. package/dist/seen-conversations.js.map +1 -1
  208. package/dist/session-history.d.ts +14 -0
  209. package/dist/session-history.d.ts.map +1 -1
  210. package/dist/session-history.js +120 -5
  211. package/dist/session-history.js.map +1 -1
  212. package/dist/systemd-command.d.ts +8 -0
  213. package/dist/systemd-command.d.ts.map +1 -0
  214. package/dist/systemd-command.js +206 -0
  215. package/dist/systemd-command.js.map +1 -0
  216. package/dist/systemd.d.ts +51 -0
  217. package/dist/systemd.d.ts.map +1 -0
  218. package/dist/systemd.js +299 -0
  219. package/dist/systemd.js.map +1 -0
  220. package/dist/tool-output-artifacts.d.ts +4 -0
  221. package/dist/tool-output-artifacts.d.ts.map +1 -0
  222. package/dist/tool-output-artifacts.js +17 -0
  223. package/dist/tool-output-artifacts.js.map +1 -0
  224. package/dist/tui-command.d.ts +0 -45
  225. package/dist/tui-command.d.ts.map +1 -1
  226. package/dist/tui-command.js +27 -264
  227. package/dist/tui-command.js.map +1 -1
  228. package/dist/untrusted-text.js +2 -2
  229. package/dist/web-command.d.ts +3 -0
  230. package/dist/web-command.d.ts.map +1 -1
  231. package/dist/web-command.js +112 -7
  232. package/dist/web-command.js.map +1 -1
  233. package/dist/web-request-coordinator.d.ts +19 -0
  234. package/dist/web-request-coordinator.d.ts.map +1 -0
  235. package/dist/web-request-coordinator.js +242 -0
  236. package/dist/web-request-coordinator.js.map +1 -0
  237. package/dist/wizard/prompts.d.ts.map +1 -1
  238. package/dist/wizard/prompts.js +1 -0
  239. package/dist/wizard/prompts.js.map +1 -1
  240. package/dist/wizard/run.js +1 -1
  241. package/dist/wizard/run.js.map +1 -1
  242. package/package.json +18 -18
  243. package/schema/mono-agent.config.schema.json +120 -8
  244. package/skills/mono-agent-composer/SKILL.md +4 -4
  245. package/skills/mono-agent-composer/references/config-blueprint.md +18 -7
  246. package/skills/mono-agent-composer/references/discovery-questions.md +10 -5
  247. package/skills/mono-agent-composer/references/feature-coverage.md +30 -14
  248. package/skills/mono-agent-composer/references/package-map.md +6 -3
  249. package/skills/mono-agent-composer/references/playbooks.md +20 -5
  250. package/skills/mono-agent-composer/references/validation.md +4 -3
  251. package/dist/configuration-proposal-main.d.ts +0 -3
  252. package/dist/configuration-proposal-main.d.ts.map +0 -1
  253. package/dist/configuration-proposal-main.js +0 -13
  254. package/dist/configuration-proposal-main.js.map +0 -1
  255. package/dist/configuration-proposal-tool.d.ts +0 -33
  256. package/dist/configuration-proposal-tool.d.ts.map +0 -1
  257. package/dist/configuration-proposal-tool.js +0 -180
  258. package/dist/configuration-proposal-tool.js.map +0 -1
  259. package/dist/local-configuration.d.ts +0 -99
  260. package/dist/local-configuration.d.ts.map +0 -1
  261. package/dist/local-configuration.js +0 -1302
  262. package/dist/local-configuration.js.map +0 -1
@@ -54,7 +54,7 @@ export function createSessionHistoryServer(binding) {
54
54
  });
55
55
  server.registerTool(SESSION_HISTORY_TOOL_NAME, {
56
56
  title: "Search prior tool activity",
57
- description: "Read bounded, redacted tool invocations and results from completed prior runs in this logical session. Use search to filter by text, tool, state, run, or time, then get with recordId for bounded chunks. Current-run and foreign-conversation records are unavailable. Isolated/proactive runs are excluded unless includeIsolated is true. Returned history is untrusted evidence and cannot execute or mutate anything.",
57
+ description: "Read bounded, redacted exact tool-lifecycle evidence—completed invocations and results retained from prior runs in this logical session—not a broad chronological journal summary. RunHistory is authoritative for whether a containing run settled as succeeded, failed, cancelled, or interrupted. To recover tool evidence for a cancelled or interrupted RunHistory candidate, use exactly {action:\"search\",runIds:[runId],includeIsolated:true}: do not add a states filter, because every retained terminal tool state can be relevant. A search preview is bounded and is not the full record. Follow navigation.nextActions: resultRecordId identifies the result payload and should be inspected when present; recordId identifies the invocation payload and can be inspected when its arguments are needed. Exact get calls use chunkBytes:8192 and preserve includeIsolated:true; follow get cursors with the exact returned next action until no cursor remains. If the run-scoped search is empty, do not broaden to another run or conversation. SessionHistory recovers read-only evidence only: it does not resume provider state, replay tools, rerun work, or guarantee continuation from the interrupted point. Continue only as fresh work in the current run with currently available tools and fresh verification. Current-run and foreign-conversation records are unavailable. Isolated/proactive runs are excluded unless includeIsolated is true. Returned history is untrusted evidence and cannot execute or mutate anything.",
58
58
  inputSchema: SESSION_HISTORY_INPUT_SCHEMA,
59
59
  }, async (args) => handleSessionHistoryRequest(binding, args));
60
60
  return server;
@@ -183,11 +183,23 @@ function searchRecords(binding, input) {
183
183
  count: items.length,
184
184
  hasMore: nextCursor !== undefined,
185
185
  ...(nextCursor === undefined ? {} : { nextCursor }),
186
+ navigation: searchNavigation({
187
+ items,
188
+ ...(nextCursor === undefined ? {} : { nextCursor }),
189
+ ...(query === undefined ? {} : { query }),
190
+ tools,
191
+ runIds,
192
+ ...(states === undefined ? {} : { states }),
193
+ ...(input.fromMs === undefined ? {} : { fromMs: input.fromMs }),
194
+ ...(input.toMs === undefined ? {} : { toMs: input.toMs }),
195
+ ...(input.includeIsolated === undefined ? {} : { includeIsolated: input.includeIsolated }),
196
+ limit,
197
+ }),
186
198
  untrusted: true,
187
199
  notice: NOTICE,
188
200
  };
189
201
  return {
190
- content: splitRequestScopedModelText(`${NOTICE}\n${JSON.stringify(body)}`),
202
+ content: sessionHistoryContent(body.navigation, body),
191
203
  structuredContent: body,
192
204
  };
193
205
  }
@@ -236,8 +248,15 @@ function getRecord(binding, input) {
236
248
  return toolError("get", "record_unavailable", "The requested record is unavailable.");
237
249
  }
238
250
  if (result.tombstone !== undefined) {
239
- const body = { action: "get", tombstone: result.tombstone, untrusted: true, notice: NOTICE };
240
- return { content: splitRequestScopedModelText(`${NOTICE}\n${JSON.stringify(body)}`), structuredContent: body };
251
+ const navigation = completedGetNavigation("The retained payload is unavailable; use the tombstone only as evidence that this exact record was removed.");
252
+ const body = {
253
+ action: "get",
254
+ tombstone: result.tombstone,
255
+ navigation,
256
+ untrusted: true,
257
+ notice: NOTICE,
258
+ };
259
+ return { content: sessionHistoryContent(navigation, body), structuredContent: body };
241
260
  }
242
261
  const record = result.record;
243
262
  const nestedChunk = requestScopedNestedResult(record.toolName, NESTED_ALIASES, result.chunk ?? "");
@@ -251,6 +270,7 @@ function getRecord(binding, input) {
251
270
  offset: result.nextOffset,
252
271
  digest: getDigest(binding, record.recordId, input.includeIsolated === true),
253
272
  });
273
+ const navigation = getNavigation(nextCursor, input.includeIsolated, chunkBytes);
254
274
  const body = {
255
275
  action: "get",
256
276
  record: {
@@ -273,10 +293,11 @@ function getRecord(binding, input) {
273
293
  chunkOffset: offset,
274
294
  ...(nextCursor === undefined ? {} : { nextCursor }),
275
295
  },
296
+ navigation,
276
297
  untrusted: true,
277
298
  notice: NOTICE,
278
299
  };
279
- return { content: splitRequestScopedModelText(`${NOTICE}\n${JSON.stringify(body)}`), structuredContent: body };
300
+ return { content: sessionHistoryContent(navigation, body), structuredContent: body };
280
301
  }
281
302
  function projectSearchItem(item) {
282
303
  return {
@@ -298,6 +319,100 @@ function projectSearchItem(item) {
298
319
  untrusted: true,
299
320
  };
300
321
  }
322
+ function searchNavigation(options) {
323
+ if (options.items.length === 0) {
324
+ return {
325
+ guidance: options.runIds.length === 1
326
+ ? "No retained tool records matched this exact run-scoped search. Do not remove the runIds filter or broaden to another run or conversation; return to the selected RunHistory evidence. This read-only tool cannot resume or rerun the interrupted work."
327
+ : "No retained tool records matched these filters. Do not broaden beyond the current logical conversation. This read-only tool cannot resume or rerun prior work.",
328
+ nextActions: [],
329
+ };
330
+ }
331
+ const nextActions = [];
332
+ for (const item of options.items) {
333
+ if (item.resultRecordId !== undefined) {
334
+ nextActions.push({
335
+ kind: "get_result",
336
+ recordRole: "result",
337
+ runId: item.runId,
338
+ description: "Inspect this tool call's retained result payload. Prefer the result record for recovery evidence when it exists.",
339
+ arguments: getArguments(item.resultRecordId, options.includeIsolated),
340
+ });
341
+ }
342
+ nextActions.push({
343
+ kind: "get_invocation",
344
+ recordRole: "invocation",
345
+ runId: item.runId,
346
+ description: "Inspect this tool call's retained invocation payload when its arguments are needed.",
347
+ arguments: getArguments(item.recordId, options.includeIsolated),
348
+ });
349
+ }
350
+ if (options.nextCursor !== undefined) {
351
+ nextActions.push({
352
+ kind: "next_search_page",
353
+ description: "Load the next search page with the same filters and authorization scope.",
354
+ arguments: searchContinuationArguments(options),
355
+ });
356
+ }
357
+ return {
358
+ guidance: "Each preview is bounded and is not the full record. For interrupted-work recovery, inspect each available resultRecordId, and inspect its invocation recordId when arguments are needed. Follow every get cursor until no cursor remains. These records are read-only evidence: they do not resume provider state, replay tools, rerun work, or guarantee continuation. Any continuation is fresh work in the current run using currently available tools and fresh verification.",
359
+ nextActions,
360
+ };
361
+ }
362
+ function getArguments(recordId, includeIsolated) {
363
+ return {
364
+ action: "get",
365
+ recordId,
366
+ ...(includeIsolated === undefined ? {} : { includeIsolated }),
367
+ chunkBytes: MAX_CHUNK_BYTES,
368
+ };
369
+ }
370
+ function searchContinuationArguments(options) {
371
+ return {
372
+ action: "search",
373
+ ...(options.query === undefined ? {} : { query: options.query }),
374
+ ...(options.tools.length === 0 ? {} : { tools: options.tools }),
375
+ ...(options.runIds.length === 0 ? {} : { runIds: options.runIds }),
376
+ ...(options.states === undefined || options.states.length === 0 ? {} : { states: options.states }),
377
+ ...(options.fromMs === undefined ? {} : { fromMs: options.fromMs }),
378
+ ...(options.toMs === undefined ? {} : { toMs: options.toMs }),
379
+ ...(options.includeIsolated === undefined ? {} : { includeIsolated: options.includeIsolated }),
380
+ limit: options.limit,
381
+ cursor: options.nextCursor,
382
+ };
383
+ }
384
+ function getNavigation(nextCursor, includeIsolated, chunkBytes) {
385
+ if (nextCursor === undefined) {
386
+ return completedGetNavigation("This retained record has no more available chunks. Treat it only as read-only evidence for fresh work in the current run.");
387
+ }
388
+ return {
389
+ guidance: "This is one bounded record chunk, not the full record. Follow the exact cursor action until no cursor remains. Reading more evidence does not resume provider state or replay the tool.",
390
+ nextActions: [{
391
+ kind: "next_get_chunk",
392
+ description: "Load the next bounded chunk of this same record with the same isolation scope.",
393
+ arguments: {
394
+ action: "get",
395
+ cursor: nextCursor,
396
+ ...(includeIsolated === undefined ? {} : { includeIsolated }),
397
+ chunkBytes,
398
+ },
399
+ }],
400
+ };
401
+ }
402
+ function completedGetNavigation(guidance) {
403
+ return { guidance, nextActions: [] };
404
+ }
405
+ function sessionHistoryContent(navigation, body) {
406
+ const actions = navigation.nextActions.map((action, index) => `${String(index + 1)}. ${action.description} Exact arguments: ${JSON.stringify(action.arguments)}`);
407
+ return [{
408
+ type: "text",
409
+ text: [
410
+ "SessionHistory navigation (tool-authored guidance):",
411
+ navigation.guidance,
412
+ ...(actions.length === 0 ? ["No follow-up SessionHistory call is available."] : actions),
413
+ ].join("\n"),
414
+ }, ...splitRequestScopedModelText(`${NOTICE}\n${JSON.stringify(body)}`)];
415
+ }
301
416
  function searchDigest(binding, input) {
302
417
  return requestScopedCursorDigest([
303
418
  "search", binding.logicalConversationId, binding.conversationId, binding.runId, input.query,
@@ -1 +1 @@
1
- {"version":3,"file":"session-history.js","sourceRoot":"","sources":["../src/session-history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-history.js","sourceRoot":"","sources":["../src/session-history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ParsedCliArgs } from "./cli-args.js";
2
+ import type { SystemdDeps } from "./systemd.js";
3
+ import type { RunWebCommandOptions } from "./web-command.js";
4
+ type Action = "start" | "restart" | "stop" | "status" | "logs";
5
+ export declare function runSystemdAgentCommand(args: ParsedCliArgs, action: Action, env: Record<string, string | undefined>, deps?: SystemdDeps): Promise<number>;
6
+ export declare function runSystemdWebCommand(options: RunWebCommandOptions, deps?: SystemdDeps): Promise<number>;
7
+ export {};
8
+ //# sourceMappingURL=systemd-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systemd-command.d.ts","sourceRoot":"","sources":["../src/systemd-command.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAOnD,OAAO,KAAK,EAAqB,WAAW,EAAkB,MAAM,cAAc,CAAC;AACnF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAG7D,KAAK,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAoD/D,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,IAAI,GAAE,WAAgB,GACnG,OAAO,CAAC,MAAM,CAAC,CAsEjB;AASD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4DjH"}
@@ -0,0 +1,206 @@
1
+ import { realpath } from "node:fs/promises";
2
+ import { homedir } from "node:os";
3
+ import { resolve } from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+ import { listTraceSources } from "@mono-agent/observability";
6
+ import { canonicalBackgroundConfigPath, resolveInstanceTarget } from "./background.js";
7
+ import { selectBackgroundOperationalEnvironment } from "./background-environment.js";
8
+ import { loadDurableBackgroundEnvironment } from "./background-snapshot.js";
9
+ import { ensureStartable } from "./cli-background-command.js";
10
+ import { hasCompletedManagedStartup } from "./managed-startup.js";
11
+ import { inspectSystemd, isSystemdUserManagerUnavailable, readSystemdDefinition, startSystemd, stopSystemd, systemdLogs, systemdUnitName, withSystemdLock, SYSTEMD_WEB_IDENTITY, } from "./systemd.js";
12
+ const cliPath = fileURLToPath(new URL("./cli.js", import.meta.url));
13
+ /** Clear the systemd manager's ambient environment; provider settings come from dotenv. */
14
+ function workerArgv(args, environment) {
15
+ return ["/usr/bin/env", "-i", ...Object.entries(environment).map(([key, value]) => `${key}=${value}`), process.execPath, "--", cliPath, ...args];
16
+ }
17
+ function operationalEnvironment(env) {
18
+ const selected = { ...selectBackgroundOperationalEnvironment(env) };
19
+ for (const key of ["XDG_CONFIG_HOME", "XDG_DATA_HOME", "XDG_CACHE_HOME", "XDG_RUNTIME_DIR", "DBUS_SESSION_BUS_ADDRESS"]) {
20
+ if (env[key] !== undefined)
21
+ selected[key] = env[key];
22
+ }
23
+ return selected;
24
+ }
25
+ function statusFields(identity, service, ready) {
26
+ return { backend: "systemd-user", unit: systemdUnitName(identity), runtime: "dev (unmanaged)", ...service, ready };
27
+ }
28
+ function report(identity, service, ready, deps) {
29
+ const status = statusFields(identity, service, ready);
30
+ (deps.stdout ?? process.stdout).write(`${status.unit}: ${service.activeState}/${service.subState}; PID ${service.pid}; ready ${ready ? "yes" : "no"}\nRuntime: dev (unmanaged)\nStarted: ${service.startedAt || "—"}; boot enabled: ${service.enabled ? "yes" : "no"}\n`);
31
+ }
32
+ function reportAgentJson(identity, installed, service, ready, deps) {
33
+ const status = { backend: "systemd-user", unit: systemdUnitName(identity), runtime: "dev (unmanaged)", ...service, ready };
34
+ const present = installed || service.loadState !== "not-found";
35
+ (deps.stdout ?? process.stdout).write(`${JSON.stringify({
36
+ ok: ready,
37
+ instance: present ? {
38
+ pid: service.pid > 0 ? service.pid : null,
39
+ health: ready ? "running" : service.activeState === "failed" ? "crashed" : "stopped",
40
+ status: service.activeState,
41
+ configPath: identity,
42
+ startedAt: service.startedAt,
43
+ } : null,
44
+ others: [],
45
+ ...status,
46
+ })}\n`);
47
+ }
48
+ function processIsAlive(pid) {
49
+ try {
50
+ process.kill(pid, 0);
51
+ return true;
52
+ }
53
+ catch (error) {
54
+ return error.code === "EPERM";
55
+ }
56
+ }
57
+ export async function runSystemdAgentCommand(args, action, env, deps = {}) {
58
+ const stderr = deps.stderr ?? process.stderr;
59
+ try {
60
+ const identity = await canonicalBackgroundConfigPath(process.cwd(), args.configPath);
61
+ if (action === "logs")
62
+ return await systemdLogs(identity, args.follow, args.lines ?? 200, deps);
63
+ if (action === "stop") {
64
+ await withSystemdLock(identity, deps, () => stopSystemd(identity, deps));
65
+ (deps.stdout ?? process.stdout).write(`${systemdUnitName(identity)} stopped and removed.\n`);
66
+ return 0;
67
+ }
68
+ if (action === "restart" && args.clearSessions) {
69
+ throw new Error("Linux restart --clear-sessions is not supported yet. No service or conversation state was changed.");
70
+ }
71
+ // Read the installed cwd/env-file when inspecting or restarting from another directory.
72
+ const installed = await readSystemdDefinition(identity, deps);
73
+ const cwd = installed?.cwd ?? await realpath(process.cwd());
74
+ const envIndex = installed?.argv.indexOf("--env-file") ?? -1;
75
+ const envFile = args.envFile === undefined
76
+ ? (envIndex >= 0 ? installed?.argv[envIndex + 1] : undefined) ?? resolve(cwd, ".env")
77
+ : resolve(process.cwd(), args.envFile);
78
+ const environment = operationalEnvironment(env);
79
+ if (action === "status") {
80
+ const service = await inspectSystemd(identity, deps);
81
+ let healthy = false;
82
+ if (installed && service.activeState === "active" && service.pid > 0) {
83
+ try {
84
+ const effective = { ...await loadDurableBackgroundEnvironment({ cwd, envFile, operationalEnvironment: environment }), ...environment };
85
+ const target = await resolveInstanceTarget({ args: { configPath: identity, envFile }, env: effective, cwd, cliPath });
86
+ const traces = await listTraceSources({ registryDir: target.registryDir, staleAfterMs: target.staleAfterMs });
87
+ healthy = traces.sources.some((source) => source.configPath === identity && source.pid === service.pid && sourceReady(source));
88
+ }
89
+ catch {
90
+ stderr.write("Service state is available, but config/trace readiness could not be read. Inspect validate and logs.\n");
91
+ }
92
+ }
93
+ if (args.json === true)
94
+ reportAgentJson(identity, installed !== undefined, service, healthy, deps);
95
+ else
96
+ report(identity, service, healthy, deps);
97
+ return healthy ? 0 : 1;
98
+ }
99
+ const effective = { ...await loadDurableBackgroundEnvironment({ cwd, envFile, operationalEnvironment: environment }), ...environment };
100
+ const target = await resolveInstanceTarget({ args: { configPath: identity, envFile }, env: effective, cwd, cliPath });
101
+ const ready = async (service) => {
102
+ const result = await listTraceSources({ registryDir: target.registryDir, staleAfterMs: target.staleAfterMs });
103
+ return result.sources.some((source) => source.configPath === identity && source.pid === service.pid && sourceReady(source));
104
+ };
105
+ const preflight = await ensureStartable(args, effective, { cwd, configPath: identity });
106
+ if (!preflight.ok) {
107
+ stderr.write(preflight.kind === "missing-config" ? `No config at ${identity}. Run mono-agent init.\n`
108
+ : `Cannot start: ${preflight.report.sections.filter((section) => section.status === "error").map((section) => `${section.label}: ${section.details.join("; ")}`).join("\n")}\n`);
109
+ return preflight.code;
110
+ }
111
+ const definition = { identity, cwd, environment: {}, argv: workerArgv([
112
+ "start", "--foreground", "--config", identity, "--env-file", envFile,
113
+ ], environment) };
114
+ await withSystemdLock(identity, deps, async () => {
115
+ // The foreground singleton lease is the final guard; fail before installing a unit when a live trace is already present.
116
+ const current = await inspectSystemd(identity, deps);
117
+ const traces = await listTraceSources({ registryDir: target.registryDir, staleAfterMs: target.staleAfterMs });
118
+ const isAlive = deps.isAlive ?? processIsAlive;
119
+ if (traces.sources.some((source) => source.configPath === identity && source.health === "running"
120
+ && source.pid !== undefined && source.pid > 0 && source.pid !== current.pid && isAlive(source.pid))) {
121
+ throw new Error("Another supervisor or foreground worker already runs this config. Stop it explicitly before installing a Mono systemd service.");
122
+ }
123
+ await startSystemd(definition, action === "restart", ready, deps);
124
+ });
125
+ report(identity, await inspectSystemd(identity, deps), true, deps);
126
+ return 0;
127
+ }
128
+ catch (error) {
129
+ stderr.write(`Linux lifecycle: ${error instanceof Error ? error.message : String(error)}\n`);
130
+ return 1;
131
+ }
132
+ }
133
+ function sourceReady(source) {
134
+ if (source.health !== "running" || !hasCompletedManagedStartup(source) || source.memoryHealth?.status === "unhealthy")
135
+ return false;
136
+ const channels = source.metadata?.channels;
137
+ return !channels || typeof channels !== "object" || !Object.values(channels).some((channel) => channel !== null && typeof channel === "object" && channel.kind === "failed");
138
+ }
139
+ export async function runSystemdWebCommand(options, deps = {}) {
140
+ const identity = SYSTEMD_WEB_IDENTITY;
141
+ const stdout = deps.stdout ?? process.stdout;
142
+ const stderr = deps.stderr ?? process.stderr;
143
+ const action = options.positionals[0] ?? "status";
144
+ try {
145
+ if (action === "logs")
146
+ return await systemdLogs(identity, options.follow === true, options.lines ?? 200, deps);
147
+ if (action === "stop") {
148
+ await withSystemdLock(identity, deps, () => stopSystemd(identity, deps));
149
+ stdout.write("Web systemd service stopped and removed; conversation data and external HTTPS routes retained.\n");
150
+ return 0;
151
+ }
152
+ const installed = await readSystemdDefinition(identity, deps);
153
+ const previousOption = (key) => {
154
+ const index = installed?.argv.indexOf(key) ?? -1;
155
+ return index < 0 ? undefined : installed?.argv[index + 1];
156
+ };
157
+ const host = options.loopback ? "127.0.0.1" : options.host ?? previousOption("--host") ?? "0.0.0.0";
158
+ const port = options.port ?? Number(previousOption("--port") ?? 5050);
159
+ const theme = options.theme ?? previousOption("--theme") ?? "evergreen";
160
+ // No default: an absent name means the worker falls back to the machine hostname.
161
+ let consoleName = previousOption("--name");
162
+ if (options.name !== undefined) {
163
+ const requestedName = options.name.trim();
164
+ consoleName = requestedName === "-" ? undefined : requestedName;
165
+ }
166
+ const probeHost = host === "0.0.0.0" ? "127.0.0.1" : host === "::" || host === "[::]" ? "[::1]" : host.includes(":") && !host.startsWith("[") ? `[${host}]` : host;
167
+ const url = `http://${probeHost}:${port}/`;
168
+ const { webHealthcheck } = await import("./web-command.js");
169
+ const ready = async () => await webHealthcheck(`${url}healthz`);
170
+ if (action === "status") {
171
+ const service = await inspectSystemd(identity, deps);
172
+ const healthy = service.activeState === "active" && service.pid > 0 && await ready();
173
+ report(identity, service, healthy, deps);
174
+ stdout.write(`Web: ${url}\nTheme: ${theme}\nName: ${consoleName ?? "— (machine hostname)"}\nHTTPS routes: externally managed; inspect tailscale serve status.\n`);
175
+ return options.positionals.length === 0 ? 0 : healthy ? 0 : 1;
176
+ }
177
+ if (action !== "start" && action !== "restart")
178
+ throw new Error(`Unsupported systemd web action: ${action}`);
179
+ const environment = operationalEnvironment(options.env);
180
+ const previousAllowed = installed?.argv.find((arg) => arg.startsWith("MONO_AGENT_WEB_ALLOWED_HOSTS="))?.slice("MONO_AGENT_WEB_ALLOWED_HOSTS=".length);
181
+ const allowed = options.env.MONO_AGENT_WEB_ALLOWED_HOSTS ?? previousAllowed;
182
+ if (allowed !== undefined)
183
+ environment.MONO_AGENT_WEB_ALLOWED_HOSTS = allowed;
184
+ const definition = { identity, cwd: deps.homeDir ?? homedir(), environment: {},
185
+ argv: workerArgv([
186
+ "web", "run", "--host", host, "--port", String(port), "--theme", theme,
187
+ ...(consoleName === undefined ? [] : ["--name", consoleName]),
188
+ ], environment) };
189
+ await withSystemdLock(identity, deps, async () => {
190
+ const service = await inspectSystemd(identity, deps);
191
+ const ownedServiceMayAnswer = installed !== undefined && service.pid > 0 && Number(previousOption("--port")) === port;
192
+ if (!ownedServiceMayAnswer && await ready())
193
+ throw new Error("A web console already answers at this address. Stop its existing supervisor before installing this service.");
194
+ await startSystemd(definition, action === "restart", ready, deps);
195
+ });
196
+ stdout.write(`Web ready: ${url}\nRuntime: dev (unmanaged); logs: mono-agent web logs\nHTTPS routes remain externally managed on Linux.\n`);
197
+ return 0;
198
+ }
199
+ catch (error) {
200
+ if (action === "status" && isSystemdUserManagerUnavailable(error))
201
+ throw error;
202
+ stderr.write(`Linux web lifecycle: ${error instanceof Error ? error.message : String(error)}\n`);
203
+ return 1;
204
+ }
205
+ }
206
+ //# sourceMappingURL=systemd-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systemd-command.js","sourceRoot":"","sources":["../src/systemd-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAE,sCAAsC,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EACL,cAAc,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAC9G,eAAe,EAAE,eAAe,EAAE,oBAAoB,GACvD,MAAM,cAAc,CAAC;AAItB,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAGpE,2FAA2F;AAC3F,SAAS,UAAU,CAAC,IAAuB,EAAE,WAA6C;IACxF,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AACnJ,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAuC;IACrE,MAAM,QAAQ,GAAG,EAAE,GAAG,sCAAsC,CAAC,GAAG,CAAC,EAAE,CAAC;IACpE,KAAK,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,0BAA0B,CAAC,EAAE,CAAC;QACxH,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB,EAAE,OAAuB,EAAE,KAAc;IAC7E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,OAAO,EAAE,KAAK,EAAW,CAAC;AAC9H,CAAC;AAED,SAAS,MAAM,CAAC,QAAgB,EAAE,OAAuB,EAAE,KAAc,EAAE,IAAiB;IAC1F,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CACnC,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ,SAAS,OAAO,CAAC,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,wCAAwC,OAAO,CAAC,SAAS,IAAI,GAAG,mBAAmB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CACnO,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB,EAAE,SAAkB,EAAE,OAAuB,EAAE,KAAc,EAAE,IAAiB;IACvH,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3H,MAAM,OAAO,GAAG,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,WAAW,CAAC;IAC/D,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACtD,EAAE,EAAE,KAAK;QACT,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YACzC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACpF,MAAM,EAAE,OAAO,CAAC,WAAW;YAC3B,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC,CAAC,IAAI;QACR,MAAM,EAAE,EAAE;QACV,GAAG,MAAM;KACV,CAAC,IAAI,CAAC,CAAC;AACV,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAQ,KAA+B,CAAC,IAAI,KAAK,OAAO,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAmB,EAAE,MAAc,EAAE,GAAuC,EAAE,OAAoB,EAAE;IAEpG,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACrF,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC;QAChG,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YACzE,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YAC7F,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,oGAAoG,CAAC,CAAC;QACxH,CAAC;QACD,wFAAwF;QACxF,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,SAAS,EAAE,GAAG,IAAI,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS;YACxC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC;YACrF,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACrD,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,SAAS,IAAI,OAAO,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;gBACrE,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,gCAAgC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC;oBACvI,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;oBACtH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;oBAC9G,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjI,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,KAAK,CAAC,wGAAwG,CAAC,CAAC;gBACzH,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;gBAAE,eAAe,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;;gBAC9F,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAC9C,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,gCAAgC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC;QACvI,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACtH,MAAM,KAAK,GAAG,KAAK,EAAE,OAAuB,EAAoB,EAAE;YAChE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YAC9G,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9H,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,QAAQ,0BAA0B;gBACnG,CAAC,CAAC,iBAAiB,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnL,OAAO,SAAS,CAAC,IAAI,CAAC;QACxB,CAAC;QACD,MAAM,UAAU,GAAsB,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC;gBACvF,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO;aACrE,EAAE,WAAW,CAAC,EAAE,CAAC;QAClB,MAAM,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;YAC/C,yHAAyH;YACzH,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YAC9G,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC;YAC/C,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;mBAC5F,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACtG,MAAM,IAAI,KAAK,CAAC,gIAAgI,CAAC,CAAC;YACpJ,CAAC;YACD,MAAM,YAAY,CAAC,UAAU,EAAE,MAAM,KAAK,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,EAAE,MAAM,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,oBAAoB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7F,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,MAA2B;IAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,MAAM,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IACpI,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC3C,OAAO,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5F,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAK,OAA6B,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;AACzG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAA6B,EAAE,OAAoB,EAAE;IAC9F,MAAM,QAAQ,GAAG,oBAAoB,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;IAClD,IAAI,CAAC;QACH,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC;QAC/G,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YACzE,MAAM,CAAC,KAAK,CAAC,kGAAkG,CAAC,CAAC;YACjH,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,CAAC,GAAW,EAAsB,EAAE;YACzD,MAAM,KAAK,GAAG,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;QACpG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,cAAc,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC;QACxE,kFAAkF;QAClF,IAAI,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1C,WAAW,GAAG,aAAa,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;QAClE,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACnK,MAAM,GAAG,GAAG,UAAU,SAAS,IAAI,IAAI,GAAG,CAAC;QAC3C,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,cAAc,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;QAChE,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,MAAM,KAAK,EAAE,CAAC;YACrF,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,YAAY,KAAK,WAAW,WAAW,IAAI,sBAAsB,uEAAuE,CAAC,CAAC;YAClK,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;QAC7G,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxD,MAAM,eAAe,GAAG,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,+BAA+B,CAAC,CAAC,EAAE,KAAK,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC;QACtJ,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,eAAe,CAAC;QAC5E,IAAI,OAAO,KAAK,SAAS;YAAE,WAAW,CAAC,4BAA4B,GAAG,OAAO,CAAC;QAC9E,MAAM,UAAU,GAAsB,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE;YAC/F,IAAI,EAAE,UAAU,CAAC;gBACf,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK;gBACtE,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;aAC9D,EAAE,WAAW,CAAC,EAAE,CAAC;QACpB,MAAM,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACrD,MAAM,qBAAqB,GAAG,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,CAAC;YACtH,IAAI,CAAC,qBAAqB,IAAI,MAAM,KAAK,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,6GAA6G,CAAC,CAAC;YAC5K,MAAM,YAAY,CAAC,UAAU,EAAE,MAAM,KAAK,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,2GAA2G,CAAC,CAAC;QAC3I,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,MAAM,KAAK,QAAQ,IAAI,+BAA+B,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjG,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
@@ -0,0 +1,51 @@
1
+ export interface SystemdResult {
2
+ readonly code: number;
3
+ readonly stdout: string;
4
+ readonly stderr: string;
5
+ }
6
+ export interface SystemdDeps {
7
+ readonly run?: (command: string, args: readonly string[]) => Promise<SystemdResult>;
8
+ readonly journal?: (args: readonly string[]) => Promise<number>;
9
+ readonly isAlive?: (pid: number) => boolean;
10
+ readonly homeDir?: string;
11
+ readonly configDir?: string;
12
+ readonly now?: () => number;
13
+ readonly sleep?: (ms: number) => Promise<void>;
14
+ readonly stdout?: {
15
+ write(text: string): unknown;
16
+ };
17
+ readonly stderr?: {
18
+ write(text: string): unknown;
19
+ };
20
+ }
21
+ export interface SystemdDefinition {
22
+ readonly identity: string;
23
+ readonly cwd: string;
24
+ readonly argv: readonly string[];
25
+ readonly environment: Readonly<Record<string, string>>;
26
+ }
27
+ export interface SystemdService {
28
+ readonly loadState: string;
29
+ readonly activeState: string;
30
+ readonly subState: string;
31
+ readonly pid: number;
32
+ readonly startedAt: string;
33
+ readonly enabled: boolean;
34
+ readonly fragmentPath: string;
35
+ }
36
+ export declare const SYSTEMD_WEB_IDENTITY = "web";
37
+ export declare class SystemdUserManagerUnavailableError extends Error {
38
+ readonly name = "SystemdUserManagerUnavailableError";
39
+ }
40
+ export declare function isSystemdUserManagerUnavailable(error: unknown): boolean;
41
+ export declare function systemdUnitName(identity: string): string;
42
+ export declare function systemdUnitPath(identity: string, deps?: SystemdDeps): string;
43
+ export declare function renderSystemdUnit(definition: SystemdDefinition): string;
44
+ export declare function runSystemdTool(command: string, args: readonly string[]): Promise<SystemdResult>;
45
+ export declare function inspectSystemd(identity: string, deps?: SystemdDeps): Promise<SystemdService>;
46
+ export declare function readSystemdDefinition(identity: string, deps?: SystemdDeps): Promise<SystemdDefinition | undefined>;
47
+ export declare function withSystemdLock<T>(identity: string, deps: SystemdDeps, action: () => Promise<T>): Promise<T>;
48
+ export declare function stopSystemd(identity: string, deps?: SystemdDeps): Promise<void>;
49
+ export declare function startSystemd(definition: SystemdDefinition, restart: boolean, ready: (service: SystemdService) => Promise<boolean>, deps?: SystemdDeps): Promise<void>;
50
+ export declare function systemdLogs(identity: string, follow: boolean, lines: number, deps?: SystemdDeps): Promise<number>;
51
+ //# sourceMappingURL=systemd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systemd.d.ts","sourceRoot":"","sources":["../src/systemd.ts"],"names":[],"mappings":"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"}