@nervekit/orchestrator 0.1.0 → 0.2.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 (271) hide show
  1. package/dist/domains/agents/run/agent-run-session.d.ts.map +1 -1
  2. package/dist/domains/agents/run/agent-run-session.js +25 -2
  3. package/dist/domains/agents/run/agent-run-session.js.map +1 -1
  4. package/dist/domains/agents/run/agent-runner.d.ts +12 -1
  5. package/dist/domains/agents/run/agent-runner.d.ts.map +1 -1
  6. package/dist/domains/agents/run/agent-runner.js +166 -1
  7. package/dist/domains/agents/run/agent-runner.js.map +1 -1
  8. package/dist/domains/agents/run/inline-command-results.d.ts +8 -0
  9. package/dist/domains/agents/run/inline-command-results.d.ts.map +1 -0
  10. package/dist/domains/agents/run/inline-command-results.js +109 -0
  11. package/dist/domains/agents/run/inline-command-results.js.map +1 -0
  12. package/dist/domains/tasks/task-manager-foreground.d.ts.map +1 -1
  13. package/dist/domains/tasks/task-manager-foreground.js +4 -1
  14. package/dist/domains/tasks/task-manager-foreground.js.map +1 -1
  15. package/dist/domains/tasks/task-manager.d.ts +2 -1
  16. package/dist/domains/tasks/task-manager.d.ts.map +1 -1
  17. package/dist/domains/tasks/task-manager.js.map +1 -1
  18. package/dist/domains/tasks/task-supervisor.d.ts.map +1 -1
  19. package/dist/domains/tasks/task-supervisor.js +12 -1
  20. package/dist/domains/tasks/task-supervisor.js.map +1 -1
  21. package/dist/domains/tools/orchestration-tool-dispatcher.d.ts.map +1 -1
  22. package/dist/domains/tools/orchestration-tool-dispatcher.js +2 -1
  23. package/dist/domains/tools/orchestration-tool-dispatcher.js.map +1 -1
  24. package/dist/domains/tools/tool-service.d.ts +2 -0
  25. package/dist/domains/tools/tool-service.d.ts.map +1 -1
  26. package/dist/domains/tools/tool-service.js.map +1 -1
  27. package/dist/registry.d.ts +11 -11
  28. package/dist/runtime/runtime-state.d.ts +2 -2
  29. package/dist/web/assets/{dist-DVpGQCt0.js → dist-BaA_eB0I.js} +1 -1
  30. package/dist/web/assets/{index-DFKLdj_D.css → index-C45Kmr75.css} +1 -1
  31. package/dist/web/assets/index-DHfIkEia.js +167 -0
  32. package/dist/web/index.html +2 -2
  33. package/dist/web/sw.js +1 -1
  34. package/package.json +4 -4
  35. package/dist/agent-process.d.ts +0 -32
  36. package/dist/agent-process.d.ts.map +0 -1
  37. package/dist/agent-process.js +0 -129
  38. package/dist/agent-process.js.map +0 -1
  39. package/dist/agent-runner/agent-runner.d.ts +0 -65
  40. package/dist/agent-runner/agent-runner.d.ts.map +0 -1
  41. package/dist/agent-runner/agent-runner.js +0 -802
  42. package/dist/agent-runner/agent-runner.js.map +0 -1
  43. package/dist/agent-runner/index.d.ts +0 -6
  44. package/dist/agent-runner/index.d.ts.map +0 -1
  45. package/dist/agent-runner/index.js +0 -4
  46. package/dist/agent-runner/index.js.map +0 -1
  47. package/dist/agent-runner/message-mirror.d.ts +0 -44
  48. package/dist/agent-runner/message-mirror.d.ts.map +0 -1
  49. package/dist/agent-runner/message-mirror.js +0 -154
  50. package/dist/agent-runner/message-mirror.js.map +0 -1
  51. package/dist/agent-runner/run-state.d.ts +0 -12
  52. package/dist/agent-runner/run-state.d.ts.map +0 -1
  53. package/dist/agent-runner/run-state.js +0 -2
  54. package/dist/agent-runner/run-state.js.map +0 -1
  55. package/dist/agent-runner/subagent-runner.d.ts +0 -29
  56. package/dist/agent-runner/subagent-runner.d.ts.map +0 -1
  57. package/dist/agent-runner/subagent-runner.js +0 -84
  58. package/dist/agent-runner/subagent-runner.js.map +0 -1
  59. package/dist/agent-runner/system-prompt-builder.d.ts +0 -19
  60. package/dist/agent-runner/system-prompt-builder.d.ts.map +0 -1
  61. package/dist/agent-runner/system-prompt-builder.js +0 -35
  62. package/dist/agent-runner/system-prompt-builder.js.map +0 -1
  63. package/dist/agent-runner/tool-draft-streaming.d.ts +0 -2
  64. package/dist/agent-runner/tool-draft-streaming.d.ts.map +0 -1
  65. package/dist/agent-runner/tool-draft-streaming.js +0 -5
  66. package/dist/agent-runner/tool-draft-streaming.js.map +0 -1
  67. package/dist/agent-suspension-service.d.ts +0 -44
  68. package/dist/agent-suspension-service.d.ts.map +0 -1
  69. package/dist/agent-suspension-service.js +0 -96
  70. package/dist/agent-suspension-service.js.map +0 -1
  71. package/dist/agent-tool-adapter.d.ts +0 -20
  72. package/dist/agent-tool-adapter.d.ts.map +0 -1
  73. package/dist/agent-tool-adapter.js +0 -215
  74. package/dist/agent-tool-adapter.js.map +0 -1
  75. package/dist/agents/agent-authority.d.ts +0 -5
  76. package/dist/agents/agent-authority.d.ts.map +0 -1
  77. package/dist/agents/agent-authority.js +0 -28
  78. package/dist/agents/agent-authority.js.map +0 -1
  79. package/dist/agents/agent-budget.d.ts +0 -3
  80. package/dist/agents/agent-budget.d.ts.map +0 -1
  81. package/dist/agents/agent-budget.js +0 -17
  82. package/dist/agents/agent-budget.js.map +0 -1
  83. package/dist/agents/agent-status.d.ts +0 -4
  84. package/dist/agents/agent-status.d.ts.map +0 -1
  85. package/dist/agents/agent-status.js +0 -10
  86. package/dist/agents/agent-status.js.map +0 -1
  87. package/dist/conversation-operations/compaction-service.d.ts +0 -37
  88. package/dist/conversation-operations/compaction-service.d.ts.map +0 -1
  89. package/dist/conversation-operations/compaction-service.js +0 -102
  90. package/dist/conversation-operations/compaction-service.js.map +0 -1
  91. package/dist/conversation-operations/export-service.d.ts +0 -22
  92. package/dist/conversation-operations/export-service.d.ts.map +0 -1
  93. package/dist/conversation-operations/export-service.js +0 -79
  94. package/dist/conversation-operations/export-service.js.map +0 -1
  95. package/dist/conversation-operations/import-service.d.ts +0 -20
  96. package/dist/conversation-operations/import-service.d.ts.map +0 -1
  97. package/dist/conversation-operations/import-service.js +0 -97
  98. package/dist/conversation-operations/import-service.js.map +0 -1
  99. package/dist/conversation-operations/index.d.ts +0 -8
  100. package/dist/conversation-operations/index.d.ts.map +0 -1
  101. package/dist/conversation-operations/index.js +0 -6
  102. package/dist/conversation-operations/index.js.map +0 -1
  103. package/dist/conversation-operations/navigation-service.d.ts +0 -18
  104. package/dist/conversation-operations/navigation-service.d.ts.map +0 -1
  105. package/dist/conversation-operations/navigation-service.js +0 -102
  106. package/dist/conversation-operations/navigation-service.js.map +0 -1
  107. package/dist/conversation-operations/summary.d.ts +0 -11
  108. package/dist/conversation-operations/summary.d.ts.map +0 -1
  109. package/dist/conversation-operations/summary.js +0 -29
  110. package/dist/conversation-operations/summary.js.map +0 -1
  111. package/dist/conversation-runtime.d.ts +0 -96
  112. package/dist/conversation-runtime.d.ts.map +0 -1
  113. package/dist/conversation-runtime.js +0 -363
  114. package/dist/conversation-runtime.js.map +0 -1
  115. package/dist/conversation-service.d.ts +0 -17
  116. package/dist/conversation-service.d.ts.map +0 -1
  117. package/dist/conversation-service.js +0 -56
  118. package/dist/conversation-service.js.map +0 -1
  119. package/dist/domains/processes/index.d.ts +0 -10
  120. package/dist/domains/processes/index.d.ts.map +0 -1
  121. package/dist/domains/processes/index.js +0 -7
  122. package/dist/domains/processes/index.js.map +0 -1
  123. package/dist/domains/processes/process-launch-config.store.d.ts +0 -21
  124. package/dist/domains/processes/process-launch-config.store.d.ts.map +0 -1
  125. package/dist/domains/processes/process-launch-config.store.js +0 -49
  126. package/dist/domains/processes/process-launch-config.store.js.map +0 -1
  127. package/dist/domains/processes/process-log.service.d.ts +0 -25
  128. package/dist/domains/processes/process-log.service.d.ts.map +0 -1
  129. package/dist/domains/processes/process-log.service.js +0 -155
  130. package/dist/domains/processes/process-log.service.js.map +0 -1
  131. package/dist/domains/processes/process-manager.d.ts +0 -107
  132. package/dist/domains/processes/process-manager.d.ts.map +0 -1
  133. package/dist/domains/processes/process-manager.js +0 -814
  134. package/dist/domains/processes/process-manager.js.map +0 -1
  135. package/dist/domains/processes/process-readiness.service.d.ts +0 -7
  136. package/dist/domains/processes/process-readiness.service.d.ts.map +0 -1
  137. package/dist/domains/processes/process-readiness.service.js +0 -26
  138. package/dist/domains/processes/process-readiness.service.js.map +0 -1
  139. package/dist/domains/processes/process-status.d.ts +0 -5
  140. package/dist/domains/processes/process-status.d.ts.map +0 -1
  141. package/dist/domains/processes/process-status.js +0 -13
  142. package/dist/domains/processes/process-status.js.map +0 -1
  143. package/dist/domains/processes/process-supervisor.d.ts +0 -34
  144. package/dist/domains/processes/process-supervisor.d.ts.map +0 -1
  145. package/dist/domains/processes/process-supervisor.js +0 -211
  146. package/dist/domains/processes/process-supervisor.js.map +0 -1
  147. package/dist/domains/processes/process.repository.d.ts +0 -11
  148. package/dist/domains/processes/process.repository.d.ts.map +0 -1
  149. package/dist/domains/processes/process.repository.js +0 -31
  150. package/dist/domains/processes/process.repository.js.map +0 -1
  151. package/dist/domains/tasks/task-completion.service.d.ts +0 -31
  152. package/dist/domains/tasks/task-completion.service.d.ts.map +0 -1
  153. package/dist/domains/tasks/task-completion.service.js +0 -147
  154. package/dist/domains/tasks/task-completion.service.js.map +0 -1
  155. package/dist/domains/tasks/task-legacy-migration.d.ts +0 -15
  156. package/dist/domains/tasks/task-legacy-migration.d.ts.map +0 -1
  157. package/dist/domains/tasks/task-legacy-migration.js +0 -191
  158. package/dist/domains/tasks/task-legacy-migration.js.map +0 -1
  159. package/dist/events.d.ts +0 -2
  160. package/dist/events.d.ts.map +0 -1
  161. package/dist/events.js +0 -2
  162. package/dist/events.js.map +0 -1
  163. package/dist/git/git-service.d.ts +0 -51
  164. package/dist/git/git-service.d.ts.map +0 -1
  165. package/dist/git/git-service.js +0 -716
  166. package/dist/git/git-service.js.map +0 -1
  167. package/dist/git/git-status.d.ts +0 -24
  168. package/dist/git/git-status.d.ts.map +0 -1
  169. package/dist/git/git-status.js +0 -133
  170. package/dist/git/git-status.js.map +0 -1
  171. package/dist/harness-manager.d.ts +0 -21
  172. package/dist/harness-manager.d.ts.map +0 -1
  173. package/dist/harness-manager.js +0 -105
  174. package/dist/harness-manager.js.map +0 -1
  175. package/dist/index-store.d.ts +0 -2
  176. package/dist/index-store.d.ts.map +0 -1
  177. package/dist/index-store.js +0 -2
  178. package/dist/index-store.js.map +0 -1
  179. package/dist/plan-paths.d.ts +0 -6
  180. package/dist/plan-paths.d.ts.map +0 -1
  181. package/dist/plan-paths.js +0 -30
  182. package/dist/plan-paths.js.map +0 -1
  183. package/dist/plan-service.d.ts +0 -61
  184. package/dist/plan-service.d.ts.map +0 -1
  185. package/dist/plan-service.js +0 -255
  186. package/dist/plan-service.js.map +0 -1
  187. package/dist/policy.d.ts +0 -14
  188. package/dist/policy.d.ts.map +0 -1
  189. package/dist/policy.js +0 -247
  190. package/dist/policy.js.map +0 -1
  191. package/dist/process-manager.d.ts +0 -72
  192. package/dist/process-manager.d.ts.map +0 -1
  193. package/dist/process-manager.js +0 -376
  194. package/dist/process-manager.js.map +0 -1
  195. package/dist/registry/agent-lifecycle-service.d.ts +0 -38
  196. package/dist/registry/agent-lifecycle-service.d.ts.map +0 -1
  197. package/dist/registry/agent-lifecycle-service.js +0 -199
  198. package/dist/registry/agent-lifecycle-service.js.map +0 -1
  199. package/dist/registry/conversation-lifecycle-service.d.ts +0 -35
  200. package/dist/registry/conversation-lifecycle-service.d.ts.map +0 -1
  201. package/dist/registry/conversation-lifecycle-service.js +0 -136
  202. package/dist/registry/conversation-lifecycle-service.js.map +0 -1
  203. package/dist/registry/pinned-command-service.d.ts +0 -11
  204. package/dist/registry/pinned-command-service.d.ts.map +0 -1
  205. package/dist/registry/pinned-command-service.js +0 -40
  206. package/dist/registry/pinned-command-service.js.map +0 -1
  207. package/dist/registry/project-lifecycle-service.d.ts +0 -22
  208. package/dist/registry/project-lifecycle-service.d.ts.map +0 -1
  209. package/dist/registry/project-lifecycle-service.js +0 -87
  210. package/dist/registry/project-lifecycle-service.js.map +0 -1
  211. package/dist/repositories/agent-repository.d.ts +0 -12
  212. package/dist/repositories/agent-repository.d.ts.map +0 -1
  213. package/dist/repositories/agent-repository.js +0 -33
  214. package/dist/repositories/agent-repository.js.map +0 -1
  215. package/dist/repositories/conversation-repository.d.ts +0 -13
  216. package/dist/repositories/conversation-repository.d.ts.map +0 -1
  217. package/dist/repositories/conversation-repository.js +0 -39
  218. package/dist/repositories/conversation-repository.js.map +0 -1
  219. package/dist/repositories/entry-repository.d.ts +0 -15
  220. package/dist/repositories/entry-repository.d.ts.map +0 -1
  221. package/dist/repositories/entry-repository.js +0 -81
  222. package/dist/repositories/entry-repository.js.map +0 -1
  223. package/dist/repositories/index.d.ts +0 -7
  224. package/dist/repositories/index.d.ts.map +0 -1
  225. package/dist/repositories/index.js +0 -7
  226. package/dist/repositories/index.js.map +0 -1
  227. package/dist/repositories/pinned-command-repository.d.ts +0 -10
  228. package/dist/repositories/pinned-command-repository.d.ts.map +0 -1
  229. package/dist/repositories/pinned-command-repository.js +0 -28
  230. package/dist/repositories/pinned-command-repository.js.map +0 -1
  231. package/dist/repositories/project-repository.d.ts +0 -12
  232. package/dist/repositories/project-repository.d.ts.map +0 -1
  233. package/dist/repositories/project-repository.js +0 -33
  234. package/dist/repositories/project-repository.js.map +0 -1
  235. package/dist/repositories/prompt-queue-repository.d.ts +0 -28
  236. package/dist/repositories/prompt-queue-repository.d.ts.map +0 -1
  237. package/dist/repositories/prompt-queue-repository.js +0 -88
  238. package/dist/repositories/prompt-queue-repository.js.map +0 -1
  239. package/dist/routes/process-routes.d.ts +0 -4
  240. package/dist/routes/process-routes.d.ts.map +0 -1
  241. package/dist/routes/process-routes.js +0 -43
  242. package/dist/routes/process-routes.js.map +0 -1
  243. package/dist/storage.d.ts +0 -2
  244. package/dist/storage.d.ts.map +0 -1
  245. package/dist/storage.js +0 -2
  246. package/dist/storage.js.map +0 -1
  247. package/dist/tool-service.d.ts +0 -82
  248. package/dist/tool-service.d.ts.map +0 -1
  249. package/dist/tool-service.js +0 -409
  250. package/dist/tool-service.js.map +0 -1
  251. package/dist/transcription-service.d.ts +0 -15
  252. package/dist/transcription-service.d.ts.map +0 -1
  253. package/dist/transcription-service.js +0 -128
  254. package/dist/transcription-service.js.map +0 -1
  255. package/dist/usage/anthropic-client.d.ts +0 -9
  256. package/dist/usage/anthropic-client.d.ts.map +0 -1
  257. package/dist/usage/anthropic-client.js +0 -207
  258. package/dist/usage/anthropic-client.js.map +0 -1
  259. package/dist/usage/codex-client.d.ts +0 -18
  260. package/dist/usage/codex-client.d.ts.map +0 -1
  261. package/dist/usage/codex-client.js +0 -316
  262. package/dist/usage/codex-client.js.map +0 -1
  263. package/dist/usage/subscription-usage-service.d.ts +0 -42
  264. package/dist/usage/subscription-usage-service.d.ts.map +0 -1
  265. package/dist/usage/subscription-usage-service.js +0 -131
  266. package/dist/usage/subscription-usage-service.js.map +0 -1
  267. package/dist/web/assets/index-DP6SGqvJ.js +0 -165
  268. package/dist/worker-manager.d.ts +0 -51
  269. package/dist/worker-manager.d.ts.map +0 -1
  270. package/dist/worker-manager.js +0 -116
  271. package/dist/worker-manager.js.map +0 -1
@@ -1,155 +0,0 @@
1
- import { appendFile } from "node:fs/promises";
2
- import { processLogEventSchema } from "@nerve/shared";
3
- import { appendJsonLine, readJsonLines, } from "../../infrastructure/storage/index.js";
4
- export const MAX_BUFFERED_LOG_LINE_CHARS = 256 * 1024;
5
- export function createProcessLogCursor(logSeq = 0) {
6
- return {
7
- logSeq,
8
- lineBuffers: { stdout: "", stderr: "" },
9
- logQueue: Promise.resolve(),
10
- };
11
- }
12
- export class ProcessLogService {
13
- events;
14
- constructor(events) {
15
- this.events = events;
16
- }
17
- async queryLogs(process, query = {}) {
18
- const mode = query.mode ?? "recent";
19
- const limit = query.limit ?? 100;
20
- const contextLines = query.contextLines ?? 2;
21
- const allEvents = await this.readLogEvents(process.logsPath);
22
- let events = allEvents;
23
- if (mode === "since_cursor") {
24
- events = events.filter((event) => event.seq > (query.sinceSeq ?? 0));
25
- }
26
- else if (mode === "errors") {
27
- events = events.filter((event) => event.level === "error");
28
- }
29
- else if (mode === "warnings") {
30
- events = events.filter((event) => event.level === "warn");
31
- }
32
- else if (mode === "first_failure") {
33
- const index = allEvents.findIndex((event) => event.level === "error");
34
- events =
35
- index >= 0
36
- ? allEvents.slice(Math.max(0, index - contextLines), index + contextLines + 1)
37
- : [];
38
- }
39
- if (query.contains) {
40
- const contains = query.contains.toLowerCase();
41
- events = events.filter((event) => event.line.toLowerCase().includes(contains));
42
- }
43
- if (query.regex) {
44
- const matcher = new RegExp(query.regex, "i");
45
- events = events.filter((event) => matcher.test(event.line));
46
- }
47
- if (mode !== "first_failure")
48
- events = events.slice(-limit);
49
- return {
50
- process,
51
- events,
52
- nextCursor: allEvents.at(-1)?.seq ?? 0,
53
- mode,
54
- };
55
- }
56
- async captureOutput(record, cursor, stream, chunk, onLog) {
57
- const text = Buffer.isBuffer(chunk) ? chunk.toString("utf8") : chunk;
58
- return this.enqueue(cursor, () => this.captureOutputNow(record, cursor, stream, text, onLog));
59
- }
60
- async flushOutput(record, cursor, stream, onLog) {
61
- return this.enqueue(cursor, () => this.flushOutputNow(record, cursor, stream, onLog));
62
- }
63
- async flushOutputBuffers(record, cursor, onLog) {
64
- return this.enqueue(cursor, async () => {
65
- await this.flushOutputNow(record, cursor, "stdout", onLog);
66
- await this.flushOutputNow(record, cursor, "stderr", onLog);
67
- });
68
- }
69
- async latestLogSeq(logsPath) {
70
- const events = await this.readLogEvents(logsPath);
71
- return events.at(-1)?.seq ?? 0;
72
- }
73
- async readLogEvents(logsPath) {
74
- const values = await readJsonLines(logsPath).catch(() => []);
75
- return values
76
- .map((value) => processLogEventSchema.safeParse(value))
77
- .filter((result) => result.success)
78
- .map((result) => result.data)
79
- .sort((a, b) => a.seq - b.seq);
80
- }
81
- enqueue(cursor, task) {
82
- ensureLogCursorState(cursor);
83
- const queued = cursor.logQueue.catch(() => undefined).then(task);
84
- cursor.logQueue = queued.catch(() => undefined);
85
- return queued;
86
- }
87
- async captureOutputNow(record, cursor, stream, text, onLog) {
88
- const path = stream === "stdout" ? record.stdoutPath : record.stderrPath;
89
- await appendFile(path, text, "utf8");
90
- const { lines, remainder } = appendChunkAndTakeCompleteLines(cursor.lineBuffers[stream], text);
91
- cursor.lineBuffers[stream] = remainder;
92
- for (const line of lines) {
93
- await this.emitLogLine(record, cursor, stream, line, onLog);
94
- }
95
- if (cursor.lineBuffers[stream].length > MAX_BUFFERED_LOG_LINE_CHARS) {
96
- const overlongLine = cursor.lineBuffers[stream];
97
- cursor.lineBuffers[stream] = "";
98
- await this.emitLogLine(record, cursor, stream, overlongLine, onLog);
99
- }
100
- }
101
- async flushOutputNow(record, cursor, stream, onLog) {
102
- const line = cursor.lineBuffers[stream];
103
- cursor.lineBuffers[stream] = "";
104
- if (line.length === 0)
105
- return;
106
- await this.emitLogLine(record, cursor, stream, line, onLog);
107
- }
108
- async emitLogLine(record, cursor, stream, line, onLog) {
109
- const cleaned = line.trimEnd();
110
- if (cleaned.length === 0)
111
- return;
112
- cursor.logSeq += 1;
113
- const event = {
114
- seq: cursor.logSeq,
115
- ts: new Date().toISOString(),
116
- stream,
117
- level: classifyLogLevel(stream, cleaned),
118
- line: cleaned,
119
- };
120
- await appendJsonLine(record.logsPath, event, 0o600);
121
- await this.events.publish("process.log", {
122
- processId: record.id,
123
- projectId: record.projectId,
124
- conversationId: record.conversationId,
125
- agentId: record.agentId,
126
- log: event,
127
- });
128
- await onLog(event);
129
- }
130
- }
131
- function ensureLogCursorState(cursor) {
132
- cursor.lineBuffers ??= { stdout: "", stderr: "" };
133
- cursor.lineBuffers.stdout ??= "";
134
- cursor.lineBuffers.stderr ??= "";
135
- cursor.logQueue ??= Promise.resolve();
136
- }
137
- function appendChunkAndTakeCompleteLines(previous, chunk) {
138
- const combined = previous + chunk;
139
- if (combined.length === 0)
140
- return { lines: [], remainder: "" };
141
- const parts = combined.split(/\r?\n/);
142
- if (combined.endsWith("\n")) {
143
- return { lines: parts.slice(0, -1), remainder: "" };
144
- }
145
- return { lines: parts.slice(0, -1), remainder: parts.at(-1) ?? "" };
146
- }
147
- function classifyLogLevel(stream, line) {
148
- if (/\b(warn|warning)\b/i.test(line))
149
- return "warn";
150
- if (stream === "stderr" ||
151
- /\b(error|failed|failure|exception|fatal)\b/i.test(line))
152
- return "error";
153
- return "info";
154
- }
155
- //# sourceMappingURL=process-log.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process-log.service.js","sourceRoot":"","sources":["../../../src/domains/processes/process-log.service.ts"],"names":[],"mappings":"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"}
@@ -1,107 +0,0 @@
1
- import { type ProcessLogQuery, type ProcessLogQueryResponse, type ProcessRecord, type StartProcessRequest, type StopProcessRequest } from "@nerve/shared";
2
- import type { EventBus } from "../../infrastructure/events/index.js";
3
- import type { IndexStore } from "../../infrastructure/index-store/index.js";
4
- import type { InitializedStorage } from "../../infrastructure/storage/index.js";
5
- import type { ApplicationLogger } from "../../logging.js";
6
- import { type ProcessSupervisor } from "./index.js";
7
- import { type ProcessLaunchConfigStore } from "./process-launch-config.store.js";
8
- export interface ProcessManagerOptions {
9
- supervisor?: ProcessSupervisor;
10
- launchConfigs?: ProcessLaunchConfigStore;
11
- }
12
- export declare class ProcessManager {
13
- private readonly events;
14
- private readonly index;
15
- private readonly logger?;
16
- readonly processes: Map<string, {
17
- id: string;
18
- cwd: string;
19
- command: string;
20
- status: "error" | "running" | "starting" | "ready" | "stopping" | "stopped" | "exited" | "orphaned";
21
- readiness: {
22
- outcome: "ready" | "exited" | "pending" | "timeout" | "none";
23
- readyOnUrl?: boolean | undefined;
24
- readyPattern?: string | undefined;
25
- timeoutMs?: number | undefined;
26
- matched?: string | undefined;
27
- readyAt?: string | undefined;
28
- };
29
- stdoutPath: string;
30
- stderrPath: string;
31
- logsPath: string;
32
- startedAt: string;
33
- updatedAt: string;
34
- name?: string | undefined;
35
- workerId?: string | undefined;
36
- projectId?: string | undefined;
37
- conversationId?: string | undefined;
38
- agentId?: string | undefined;
39
- envInfo?: {
40
- keys: string[];
41
- persisted: boolean;
42
- redacted: true;
43
- } | undefined;
44
- exitedAt?: string | undefined;
45
- exitCode?: number | null | undefined;
46
- signal?: string | null | undefined;
47
- error?: string | undefined;
48
- restartedFromProcessId?: string | undefined;
49
- runtime?: {
50
- platform: string;
51
- detached: boolean;
52
- shell: boolean;
53
- spawnedAt: string;
54
- childPid?: number | undefined;
55
- processGroupId?: number | undefined;
56
- } | undefined;
57
- }>;
58
- private readonly managed;
59
- private readonly processRepository;
60
- private readonly processLogs;
61
- private readonly processReadiness;
62
- private readonly supervisor;
63
- private readonly launchConfigs;
64
- constructor(storage: InitializedStorage, events: EventBus, index: IndexStore, logger?: ApplicationLogger | undefined, options?: ProcessManagerOptions);
65
- hydrate(): Promise<void>;
66
- listProcesses(): ProcessRecord[];
67
- getProcess(processId: string): ProcessRecord;
68
- findProcessByName(name: string): ProcessRecord | undefined;
69
- startProcess(request: StartProcessRequest & {
70
- restartedFromProcessId?: string;
71
- workerId?: string;
72
- }): Promise<ProcessRecord>;
73
- stopProcess(processId: string, request?: StopProcessRequest): Promise<ProcessRecord>;
74
- restartProcess(processId: string): Promise<ProcessRecord>;
75
- removeProcess(processId: string): Promise<void>;
76
- pruneProcesses(): Promise<string[]>;
77
- activeProcessesForConversations(conversationIds: Iterable<string>): ProcessRecord[];
78
- removeInactiveProcessesForConversations(conversationIds: Iterable<string>): Promise<string[]>;
79
- queryLogs(processId: string, query?: ProcessLogQuery): Promise<ProcessLogQueryResponse>;
80
- private envForRestart;
81
- private captureOutput;
82
- private flushProcessOutputBuffers;
83
- private checkReadiness;
84
- private waitForReadiness;
85
- private markReadinessTimeout;
86
- private requestTermination;
87
- private markHydratedRecordOrphaned;
88
- private orphanedHydrateMessage;
89
- private cleanupOrphanedProcess;
90
- private orphanCleanupValidationError;
91
- private terminateRuntimeForCleanup;
92
- private waitForRuntimeTargetExit;
93
- private isRuntimeTargetAlive;
94
- private finalizeOrphanCleanup;
95
- private failOrphanCleanup;
96
- private runtimeLogContext;
97
- private errorMessage;
98
- private forceFinalizeStoppedProcess;
99
- private markProcessExited;
100
- private markProcessError;
101
- private updateProcess;
102
- private upsertProcess;
103
- private writeProcess;
104
- private processDir;
105
- }
106
- export { isActiveProcessStatus } from "./index.js";
107
- //# sourceMappingURL=process-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process-manager.d.ts","sourceRoot":"","sources":["../../../src/domains/processes/process-manager.ts"],"names":[],"mappings":"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"}