@rk0429/agentic-relay 3.0.0 → 3.1.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.
@@ -3,6 +3,99 @@ export type BackendType = (typeof BACKEND_TYPES)[number];
3
3
  export declare const TASK_TYPES: readonly ["orchestration", "research", "document_review", "code_writing", "document_writing", "code_review"];
4
4
  export type TaskType = (typeof TASK_TYPES)[number];
5
5
  export type ExecutionStatus = "success" | "error";
6
+ export declare const TASK_STATUSES: readonly ["backlog", "ready", "in_progress", "review", "blocked", "done", "superseded", "archived"];
7
+ export type TaskStatus = (typeof TASK_STATUSES)[number];
8
+ export declare const SYSTEM_CAUSES: readonly ["dependency_resolved", "agent_spawned", "agent_completed", "agent_failed"];
9
+ export type SystemCause = (typeof SYSTEM_CAUSES)[number];
10
+ export type Actor = {
11
+ type: "agent";
12
+ agentId: string;
13
+ } | {
14
+ type: "system";
15
+ cause: SystemCause;
16
+ };
17
+ export interface TaskComment {
18
+ author: Actor;
19
+ content: string;
20
+ createdAt: string;
21
+ }
22
+ export interface TaskRecord {
23
+ taskId: string;
24
+ title: string;
25
+ description: string;
26
+ status: TaskStatus;
27
+ parentId?: string;
28
+ agentId?: string;
29
+ initiatorId: string;
30
+ dependsOn: string[];
31
+ acceptanceCriteria?: string;
32
+ comments: TaskComment[];
33
+ createdAt: string;
34
+ updatedAt: string;
35
+ }
36
+ export interface TaskSummary {
37
+ task_id: string;
38
+ title: string;
39
+ status: TaskStatus;
40
+ parent_id?: string;
41
+ agent_id?: string;
42
+ depends_on: string[];
43
+ acceptance_criteria?: string;
44
+ }
45
+ export interface TaskDetail extends TaskSummary {
46
+ description: string;
47
+ initiator_id: string;
48
+ comments: Array<{
49
+ author: Actor;
50
+ content: string;
51
+ created_at: string;
52
+ }>;
53
+ created_at: string;
54
+ updated_at: string;
55
+ }
56
+ export interface CreateTaskInput {
57
+ title: string;
58
+ description: string;
59
+ parent_id?: string;
60
+ depends_on?: string[];
61
+ acceptance_criteria?: string;
62
+ }
63
+ export interface UpdateTaskInput {
64
+ task_id: string;
65
+ title?: string;
66
+ description?: string;
67
+ depends_on?: string[];
68
+ acceptance_criteria?: string;
69
+ }
70
+ export interface UpdateTaskStatusInput {
71
+ task_id: string;
72
+ status: TaskStatus;
73
+ comment?: string;
74
+ }
75
+ export interface AssignAgentInput {
76
+ task_id: string;
77
+ agent_id: string;
78
+ }
79
+ export interface ListTasksInput {
80
+ parent_id?: string;
81
+ status?: TaskStatus;
82
+ }
83
+ export interface DeleteTaskInput {
84
+ task_id: string;
85
+ }
86
+ export interface DeleteTaskResult {
87
+ task_id: string;
88
+ archived_task_ids: string[];
89
+ warnings: string[];
90
+ }
91
+ export interface TaskMutationContext {
92
+ actorId: string;
93
+ }
94
+ export interface AgentLifecycleTaskEvent {
95
+ taskId: string;
96
+ sessionId: string;
97
+ backend?: BackendType;
98
+ }
6
99
  export interface SpawnAgentInput {
7
100
  backend?: BackendType;
8
101
  prompt: string;
@@ -48,8 +141,8 @@ export interface LogEntry {
48
141
  timestamp: string;
49
142
  session_id: string;
50
143
  task_id?: string;
51
- backend: BackendType;
52
- event_type: "agent_spawned" | "agent_completed" | "agent_failed" | "routing_fallback";
144
+ backend?: BackendType;
145
+ event_type: "agent_spawned" | "agent_completed" | "agent_failed" | "routing_fallback" | "task_status_changed";
53
146
  status: "running" | "success" | "error";
54
147
  details?: Record<string, unknown>;
55
148
  }
@@ -7,4 +7,20 @@ export const TASK_TYPES = [
7
7
  "document_writing",
8
8
  "code_review",
9
9
  ];
10
+ export const TASK_STATUSES = [
11
+ "backlog",
12
+ "ready",
13
+ "in_progress",
14
+ "review",
15
+ "blocked",
16
+ "done",
17
+ "superseded",
18
+ "archived",
19
+ ];
20
+ export const SYSTEM_CAUSES = [
21
+ "dependency_resolved",
22
+ "agent_spawned",
23
+ "agent_completed",
24
+ "agent_failed",
25
+ ];
10
26
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAGpE,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,eAAe;IACf,UAAU;IACV,iBAAiB;IACjB,cAAc;IACd,kBAAkB;IAClB,aAAa;CACL,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAGpE,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,eAAe;IACf,UAAU;IACV,iBAAiB;IACjB,cAAc;IACd,kBAAkB;IAClB,aAAa;CACL,CAAC;AAKX,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,SAAS;IACT,OAAO;IACP,aAAa;IACb,QAAQ;IACR,SAAS;IACT,MAAM;IACN,YAAY;IACZ,UAAU;CACF,CAAC;AAGX,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,qBAAqB;IACrB,eAAe;IACf,iBAAiB;IACjB,cAAc;CACN,CAAC"}
@@ -0,0 +1,50 @@
1
+ import type { Actor, TaskRecord, TaskStatus } from "../core/types.js";
2
+ export interface DeletionImpact {
3
+ targetTaskId: string;
4
+ affectedDependants: string[];
5
+ descendantTaskIds: string[];
6
+ hasDependants: boolean;
7
+ }
8
+ export declare function createTaskRecord(options: {
9
+ taskId: string;
10
+ title: string;
11
+ description: string;
12
+ parentId?: string;
13
+ dependsOn?: string[];
14
+ acceptanceCriteria?: string;
15
+ initiatorId: string;
16
+ now: string;
17
+ }): TaskRecord;
18
+ export declare function transitionTask(options: {
19
+ task: TaskRecord;
20
+ nextStatus: TaskStatus;
21
+ actor: Actor;
22
+ allTasks: TaskRecord[];
23
+ parentTask?: TaskRecord;
24
+ comment?: string;
25
+ now: string;
26
+ }): TaskRecord;
27
+ export declare function assignTaskAgent(task: TaskRecord, agentId: string, now: string): TaskRecord;
28
+ export declare function updateTaskFields(options: {
29
+ task: TaskRecord;
30
+ now: string;
31
+ title?: string;
32
+ description?: string;
33
+ dependsOn?: string[];
34
+ acceptanceCriteria?: string;
35
+ }): TaskRecord;
36
+ export declare function validateTaskDependencies(options: {
37
+ taskId: string;
38
+ parentId?: string;
39
+ dependsOn: string[];
40
+ tasks: TaskRecord[];
41
+ }): void;
42
+ export declare function validateNoCycle(options: {
43
+ taskId: string;
44
+ dependsOn: string[];
45
+ tasks: TaskRecord[];
46
+ }): void;
47
+ export declare function canTransitionToReview(taskId: string, tasks: TaskRecord[]): boolean;
48
+ export declare function allDependenciesResolved(dependsOn: string[], tasksById: Map<string, TaskRecord>): boolean;
49
+ export declare function collectDeletionImpact(taskId: string, tasks: TaskRecord[]): DeletionImpact;
50
+ export declare function collectDescendantTaskIds(taskId: string, tasks: TaskRecord[]): string[];
@@ -0,0 +1,232 @@
1
+ import { ValidationError } from "../core/errors.js";
2
+ export function createTaskRecord(options) {
3
+ return {
4
+ taskId: options.taskId,
5
+ title: options.title,
6
+ description: options.description,
7
+ status: "backlog",
8
+ parentId: options.parentId,
9
+ dependsOn: [...(options.dependsOn ?? [])],
10
+ acceptanceCriteria: options.acceptanceCriteria,
11
+ initiatorId: options.initiatorId,
12
+ comments: [],
13
+ createdAt: options.now,
14
+ updatedAt: options.now,
15
+ };
16
+ }
17
+ export function transitionTask(options) {
18
+ const { task, nextStatus, actor, allTasks, parentTask, comment, now } = options;
19
+ validateStatusTransition({ task, nextStatus, actor, allTasks, parentTask, comment });
20
+ const comments = [...task.comments];
21
+ if (comment) {
22
+ comments.push(createComment(actor, comment, now));
23
+ }
24
+ return {
25
+ ...task,
26
+ status: nextStatus,
27
+ comments,
28
+ updatedAt: now,
29
+ };
30
+ }
31
+ export function assignTaskAgent(task, agentId, now) {
32
+ if (!agentId) {
33
+ throw new ValidationError("agent_id must be a non-empty string.");
34
+ }
35
+ return {
36
+ ...task,
37
+ agentId,
38
+ updatedAt: now,
39
+ };
40
+ }
41
+ export function updateTaskFields(options) {
42
+ return {
43
+ ...options.task,
44
+ title: options.title ?? options.task.title,
45
+ description: options.description ?? options.task.description,
46
+ dependsOn: options.dependsOn ? [...options.dependsOn] : options.task.dependsOn,
47
+ acceptanceCriteria: options.acceptanceCriteria ?? options.task.acceptanceCriteria,
48
+ updatedAt: options.now,
49
+ };
50
+ }
51
+ export function validateTaskDependencies(options) {
52
+ const tasksById = new Map(options.tasks.map((task) => [task.taskId, task]));
53
+ for (const dependencyId of options.dependsOn) {
54
+ const dependency = tasksById.get(dependencyId);
55
+ if (!dependency) {
56
+ throw new ValidationError(`Dependency task ${dependencyId} does not exist.`);
57
+ }
58
+ if (dependencyId === options.taskId) {
59
+ throw new ValidationError("A task cannot depend on itself.");
60
+ }
61
+ if (dependency.parentId !== options.parentId) {
62
+ throw new ValidationError(`Dependency task ${dependencyId} must share the same parent.`);
63
+ }
64
+ }
65
+ validateNoCycle({
66
+ taskId: options.taskId,
67
+ dependsOn: options.dependsOn,
68
+ tasks: options.tasks,
69
+ });
70
+ }
71
+ export function validateNoCycle(options) {
72
+ const adjacency = new Map();
73
+ for (const task of options.tasks) {
74
+ adjacency.set(task.taskId, [...task.dependsOn]);
75
+ }
76
+ adjacency.set(options.taskId, [...options.dependsOn]);
77
+ const visit = (taskId, stack, seen) => {
78
+ if (stack.has(taskId)) {
79
+ throw new ValidationError(`Circular dependency detected at task ${taskId}.`);
80
+ }
81
+ if (seen.has(taskId)) {
82
+ return;
83
+ }
84
+ seen.add(taskId);
85
+ stack.add(taskId);
86
+ for (const dependencyId of adjacency.get(taskId) ?? []) {
87
+ visit(dependencyId, stack, seen);
88
+ }
89
+ stack.delete(taskId);
90
+ };
91
+ visit(options.taskId, new Set(), new Set());
92
+ }
93
+ export function canTransitionToReview(taskId, tasks) {
94
+ const children = tasks.filter((candidate) => candidate.parentId === taskId);
95
+ return children.every((child) => child.status === "done");
96
+ }
97
+ export function allDependenciesResolved(dependsOn, tasksById) {
98
+ return dependsOn.every((dependencyId) => tasksById.get(dependencyId)?.status === "done");
99
+ }
100
+ export function collectDeletionImpact(taskId, tasks) {
101
+ const descendants = collectDescendantTaskIds(taskId, tasks);
102
+ const affectedIds = new Set([taskId, ...descendants]);
103
+ const affectedDependants = tasks
104
+ .filter((task) => task.dependsOn.some((dependencyId) => affectedIds.has(dependencyId)))
105
+ .filter((task) => !affectedIds.has(task.taskId))
106
+ .map((task) => task.taskId);
107
+ return {
108
+ targetTaskId: taskId,
109
+ affectedDependants,
110
+ descendantTaskIds: descendants,
111
+ hasDependants: affectedDependants.length > 0,
112
+ };
113
+ }
114
+ export function collectDescendantTaskIds(taskId, tasks) {
115
+ const childrenByParent = new Map();
116
+ for (const task of tasks) {
117
+ if (!task.parentId) {
118
+ continue;
119
+ }
120
+ const siblings = childrenByParent.get(task.parentId) ?? [];
121
+ siblings.push(task.taskId);
122
+ childrenByParent.set(task.parentId, siblings);
123
+ }
124
+ const result = [];
125
+ const stack = [...(childrenByParent.get(taskId) ?? [])];
126
+ while (stack.length > 0) {
127
+ const current = stack.pop();
128
+ result.push(current);
129
+ stack.push(...(childrenByParent.get(current) ?? []));
130
+ }
131
+ return result;
132
+ }
133
+ function validateStatusTransition(options) {
134
+ const { task, nextStatus, actor, allTasks, parentTask, comment } = options;
135
+ if (task.status === nextStatus) {
136
+ throw new ValidationError(`Task ${task.taskId} is already ${nextStatus}.`);
137
+ }
138
+ switch (nextStatus) {
139
+ case "ready":
140
+ if (task.status !== "backlog") {
141
+ throw new ValidationError("Only backlog tasks can transition to ready.");
142
+ }
143
+ if (!allDependenciesResolved(task.dependsOn, new Map(allTasks.map((item) => [item.taskId, item])))) {
144
+ throw new ValidationError("All dependency tasks must be done before transitioning to ready.");
145
+ }
146
+ return;
147
+ case "in_progress":
148
+ if (task.status === "ready" || task.status === "blocked") {
149
+ ensureAssignedAgentMatchesActor(task, actor);
150
+ return;
151
+ }
152
+ if (task.status === "review") {
153
+ if (!comment) {
154
+ throw new ValidationError("A comment is required when returning a task from review to in_progress.");
155
+ }
156
+ ensureReviewApprover(task, parentTask, actor);
157
+ return;
158
+ }
159
+ throw new ValidationError(`Cannot transition ${task.status} to in_progress.`);
160
+ case "review":
161
+ if (task.status !== "in_progress") {
162
+ throw new ValidationError("Only in_progress tasks can transition to review.");
163
+ }
164
+ ensureAssignedAgentMatchesActor(task, actor);
165
+ if (hasChildren(task.taskId, allTasks) && !canTransitionToReview(task.taskId, allTasks)) {
166
+ throw new ValidationError("All child tasks must be done before the parent task can transition to review.");
167
+ }
168
+ return;
169
+ case "blocked":
170
+ if (actor.type === "system") {
171
+ if (task.status === "archived" || task.status === "superseded") {
172
+ throw new ValidationError(`Cannot transition ${task.status} to blocked.`);
173
+ }
174
+ return;
175
+ }
176
+ if (task.status !== "in_progress") {
177
+ throw new ValidationError("Only in_progress tasks can transition to blocked manually.");
178
+ }
179
+ ensureAssignedAgentMatchesActor(task, actor);
180
+ return;
181
+ case "done":
182
+ if (task.status !== "review") {
183
+ throw new ValidationError("Only review tasks can transition to done.");
184
+ }
185
+ ensureReviewApprover(task, parentTask, actor);
186
+ return;
187
+ case "superseded":
188
+ case "archived":
189
+ if (task.status === "archived" || task.status === "superseded") {
190
+ throw new ValidationError(`Cannot transition ${task.status} to ${nextStatus}.`);
191
+ }
192
+ return;
193
+ case "backlog":
194
+ throw new ValidationError("Tasks cannot transition back to backlog.");
195
+ }
196
+ }
197
+ function hasChildren(taskId, tasks) {
198
+ return tasks.some((task) => task.parentId === taskId);
199
+ }
200
+ function ensureAssignedAgentMatchesActor(task, actor) {
201
+ if (actor.type !== "agent") {
202
+ return;
203
+ }
204
+ if (task.agentId && task.agentId !== actor.agentId) {
205
+ throw new ValidationError(`Only the assigned agent can transition task ${task.taskId}.`);
206
+ }
207
+ }
208
+ function ensureReviewApprover(task, parentTask, actor) {
209
+ if (actor.type !== "agent") {
210
+ throw new ValidationError("Only an agent can approve or reject a review.");
211
+ }
212
+ if (!task.parentId) {
213
+ if (actor.agentId !== task.initiatorId) {
214
+ throw new ValidationError("Only the task initiator can approve or reject a root task review.");
215
+ }
216
+ return;
217
+ }
218
+ if (!parentTask?.agentId) {
219
+ throw new ValidationError("The parent task must have an assigned agent before review approval.");
220
+ }
221
+ if (actor.agentId !== parentTask.agentId) {
222
+ throw new ValidationError("Only the parent task's assigned agent can approve or reject the child task review.");
223
+ }
224
+ }
225
+ function createComment(actor, content, now) {
226
+ return {
227
+ author: actor,
228
+ content,
229
+ createdAt: now,
230
+ };
231
+ }
232
+ //# sourceMappingURL=task-management.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-management.js","sourceRoot":"","sources":["../../src/domain/task-management.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export * from "./application/spawn-agents-service.js";
2
+ export * from "./application/task-service.js";
2
3
  export * from "./core/errors.js";
3
4
  export * from "./core/types.js";
5
+ export * from "./domain/task-management.js";
4
6
  export * from "./infrastructure/backends/backend-registry.js";
5
7
  export * from "./infrastructure/backends/cli-backend-executor.js";
6
8
  export * from "./infrastructure/process/process-executor.js";
package/dist/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  export * from "./application/spawn-agents-service.js";
2
+ export * from "./application/task-service.js";
2
3
  export * from "./core/errors.js";
3
4
  export * from "./core/types.js";
5
+ export * from "./domain/task-management.js";
4
6
  export * from "./infrastructure/backends/backend-registry.js";
5
7
  export * from "./infrastructure/backends/cli-backend-executor.js";
6
8
  export * from "./infrastructure/process/process-executor.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mDAAmD,CAAC;AAClE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mDAAmD,CAAC;AAClE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC"}
@@ -125,43 +125,67 @@ async function safeReadFile(filePath) {
125
125
  }
126
126
  }
127
127
  function extractSessionId(raw) {
128
- for (const line of raw.split(/\r?\n/)) {
129
- if (!line.trim()) {
130
- continue;
131
- }
132
- try {
133
- const parsed = JSON.parse(line);
134
- const found = findFirstByKeys(parsed, [
135
- "session_id",
136
- "sessionId",
137
- "thread_id",
138
- "threadId",
139
- "conversation_id",
140
- "conversationId",
141
- ]);
142
- if (typeof found === "string" && found.length > 0) {
143
- return found;
144
- }
145
- }
146
- catch {
147
- continue;
128
+ for (const candidate of parseJsonCandidates(raw)) {
129
+ const found = findFirstByKeys(candidate, [
130
+ "session_id",
131
+ "sessionId",
132
+ "thread_id",
133
+ "threadId",
134
+ "conversation_id",
135
+ "conversationId",
136
+ ]);
137
+ if (typeof found === "string" && found.length > 0) {
138
+ return found;
148
139
  }
149
140
  }
150
141
  return undefined;
151
142
  }
152
143
  function extractText(raw) {
153
- const lines = raw.split(/\r?\n/).filter((line) => line.trim().length > 0);
154
- const chunks = [];
155
- for (const line of lines) {
156
- try {
157
- const parsed = JSON.parse(line);
158
- collectStrings(parsed, chunks, new Set(["text", "message", "output_text", "content"]));
144
+ for (const candidate of parseJsonCandidates(raw)) {
145
+ const extracted = extractPreferredText(candidate);
146
+ if (extracted) {
147
+ return extracted;
159
148
  }
160
- catch {
161
- chunks.push(line);
149
+ }
150
+ return raw.trim();
151
+ }
152
+ function parseJsonCandidates(raw) {
153
+ const candidates = [];
154
+ const trimmed = raw.trim();
155
+ if (!trimmed) {
156
+ return candidates;
157
+ }
158
+ const wholeDocument = tryParseJson(trimmed);
159
+ if (wholeDocument !== undefined) {
160
+ candidates.push(wholeDocument);
161
+ }
162
+ for (const line of raw.split(/\r?\n/)) {
163
+ const parsedLine = tryParseJson(line.trim());
164
+ if (parsedLine !== undefined) {
165
+ candidates.push(parsedLine);
162
166
  }
163
167
  }
164
- return chunks.join("\n").trim();
168
+ return candidates;
169
+ }
170
+ function tryParseJson(value) {
171
+ if (!value) {
172
+ return undefined;
173
+ }
174
+ try {
175
+ return JSON.parse(value);
176
+ }
177
+ catch {
178
+ return undefined;
179
+ }
180
+ }
181
+ function extractPreferredText(value) {
182
+ const response = findFirstByKeys(value, ["response"]);
183
+ const responseText = stringifyText(response);
184
+ if (responseText) {
185
+ return responseText;
186
+ }
187
+ const generic = findFirstByKeys(value, ["output_text", "message", "content", "text"]);
188
+ return stringifyText(generic);
165
189
  }
166
190
  function findFirstByKeys(value, keys) {
167
191
  if (!value || typeof value !== "object") {
@@ -207,4 +231,9 @@ function collectStrings(value, chunks, preferredKeys) {
207
231
  }
208
232
  }
209
233
  }
234
+ function stringifyText(value) {
235
+ const chunks = [];
236
+ collectStrings(value, chunks, new Set(["text", "message", "output_text", "content", "response"]));
237
+ return chunks.join("\n").trim();
238
+ }
210
239
  //# sourceMappingURL=cli-backend-executor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-backend-executor.js","sourceRoot":"","sources":["../../../src/infrastructure/backends/cli-backend-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAA2B,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAS3E,MAAM,OAAO,kBAAkB;IAEV;IACA;IAFnB,YACmB,eAAgC,EAChC,eAAgC;QADhC,oBAAe,GAAf,eAAe,CAAiB;QAChC,oBAAe,GAAf,eAAe,CAAiB;IAChD,CAAC;IAEG,KAAK,CAAC,OAAO,CAClB,OAA8B;QAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAExE,IAAI,CAAC;YACH,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC;gBACxB,KAAK,QAAQ;oBACX,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC5F,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACpG,KAAK,QAAQ;oBACX,OAAO,MAAM,IAAI,CAAC,aAAa,CAC7B,OAAO,EACP,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,aAAa,CAAC,iBAAiB,IAAI,EAAE,EAC7C,OAAO,CACR,CAAC;YACN,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,OAA8B,EAC9B,OAAe,EACf,QAAkB;QAElB,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB;YACnC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAAC;YACxC,CAAC,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAE7C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC;QAExE,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YAChD,OAAO;YACP,IAAI;YACJ,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,UAAU,CAClB,0BAA0B,EAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,0BAA0B,CAC3E,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,cAAc;SACrE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAA8B,EAC9B,OAAe,EACf,QAAkB,EAClB,OAAe;QAEf,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB;YACnC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC;YAC9C,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAEb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAEnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YAChD,OAAO;YACP,IAAI;YACJ,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,UAAU,CAClB,0BAA0B,EAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,yBAAyB,CACnE,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GACpB,OAAO,CAAC,gBAAgB;YACxB,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC;YAC/B,OAAO,CAAC,cAAc,CAAC;QAEzB,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;YAC1D,gBAAgB;SACjB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,OAA8B,EAC9B,OAAe,EACf,iBAA0C,EAC1C,OAAe;QAEf,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;QAChE,MAAM,SAAS,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEzF,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAErC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YAChD,OAAO;YACP,IAAI;YACJ,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,+BAA+B,EAAE,YAAY;aAC9C;YACD,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,UAAU,CAClB,0BAA0B,EAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,0BAA0B,CAC3E,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;YACzC,gBAAgB,EACd,OAAO,CAAC,gBAAgB;gBACxB,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC/B,OAAO,CAAC,cAAc;SACzB,CAAC;IACJ,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,YAAgC;IACzE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,qBAAqB;QACrB,YAAY;QACZ,EAAE;QACF,cAAc;QACd,MAAM;KACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAgB;IAC1C,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;YAC3C,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE;gBACpC,YAAY;gBACZ,WAAW;gBACX,WAAW;gBACX,UAAU;gBACV,iBAAiB;gBACjB,gBAAgB;aACjB,CAAC,CAAC;YACH,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;YAC3C,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QACzF,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,IAAc;IACrD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CACrB,KAAc,EACd,MAAgB,EAChB,aAA0B;IAE1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO;IACT,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"cli-backend-executor.js","sourceRoot":"","sources":["../../../src/infrastructure/backends/cli-backend-executor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { LogEntry, RelaySessionMetadata } from "../../core/types.js";
1
+ import type { LogEntry, RelaySessionMetadata, TaskRecord } from "../../core/types.js";
2
2
  export declare class RelayStore {
3
3
  readonly rootDir: string;
4
4
  constructor(rootDir: string);
@@ -8,7 +8,11 @@ export declare class RelayStore {
8
8
  writeSessionMetadata(metadata: RelaySessionMetadata): Promise<void>;
9
9
  readSessionMetadata(relaySessionId: string): Promise<RelaySessionMetadata | null>;
10
10
  appendLog(entry: LogEntry): Promise<void>;
11
+ writeTask(task: TaskRecord): Promise<void>;
12
+ readTask(taskId: string): Promise<TaskRecord | null>;
13
+ listTasks(): Promise<TaskRecord[]>;
11
14
  private responsesDir;
12
15
  private sessionsDir;
13
16
  private logsDir;
17
+ private tasksDir;
14
18
  }