@renseiai/agentfactory 0.8.21 → 0.8.23

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 (27) hide show
  1. package/dist/src/config/repository-config.d.ts +3 -3
  2. package/dist/src/orchestrator/index.d.ts +1 -0
  3. package/dist/src/orchestrator/index.d.ts.map +1 -1
  4. package/dist/src/orchestrator/index.js +2 -0
  5. package/dist/src/orchestrator/null-issue-tracker-client.d.ts +34 -0
  6. package/dist/src/orchestrator/null-issue-tracker-client.d.ts.map +1 -0
  7. package/dist/src/orchestrator/null-issue-tracker-client.js +72 -0
  8. package/dist/src/orchestrator/orchestrator.d.ts +19 -0
  9. package/dist/src/orchestrator/orchestrator.d.ts.map +1 -1
  10. package/dist/src/orchestrator/orchestrator.js +134 -15
  11. package/dist/src/orchestrator/state-types.d.ts +3 -0
  12. package/dist/src/orchestrator/state-types.d.ts.map +1 -1
  13. package/dist/src/providers/codex-app-server-provider.d.ts +87 -0
  14. package/dist/src/providers/codex-app-server-provider.d.ts.map +1 -1
  15. package/dist/src/providers/codex-app-server-provider.integration.test.d.ts +14 -0
  16. package/dist/src/providers/codex-app-server-provider.integration.test.d.ts.map +1 -0
  17. package/dist/src/providers/codex-app-server-provider.integration.test.js +909 -0
  18. package/dist/src/providers/codex-app-server-provider.js +339 -52
  19. package/dist/src/providers/codex-app-server-provider.test.js +838 -10
  20. package/dist/src/providers/codex-provider.d.ts +2 -0
  21. package/dist/src/providers/codex-provider.d.ts.map +1 -1
  22. package/dist/src/providers/codex-provider.js +36 -6
  23. package/dist/src/providers/codex-provider.test.js +12 -3
  24. package/dist/src/providers/types.d.ts +17 -0
  25. package/dist/src/providers/types.d.ts.map +1 -1
  26. package/dist/src/workflow/workflow-types.d.ts +5 -5
  27. package/package.json +2 -2
@@ -15,9 +15,9 @@ export declare const ProjectConfigSchema: z.ZodObject<{
15
15
  packageManager: z.ZodOptional<z.ZodEnum<{
16
16
  pnpm: "pnpm";
17
17
  npm: "npm";
18
+ none: "none";
18
19
  yarn: "yarn";
19
20
  bun: "bun";
20
- none: "none";
21
21
  }>>;
22
22
  buildCommand: z.ZodOptional<z.ZodString>;
23
23
  testCommand: z.ZodOptional<z.ZodString>;
@@ -67,9 +67,9 @@ export declare const RepositoryConfigSchema: z.ZodObject<{
67
67
  packageManager: z.ZodOptional<z.ZodEnum<{
68
68
  pnpm: "pnpm";
69
69
  npm: "npm";
70
+ none: "none";
70
71
  yarn: "yarn";
71
72
  bun: "bun";
72
- none: "none";
73
73
  }>>;
74
74
  buildCommand: z.ZodOptional<z.ZodString>;
75
75
  testCommand: z.ZodOptional<z.ZodString>;
@@ -80,9 +80,9 @@ export declare const RepositoryConfigSchema: z.ZodObject<{
80
80
  packageManager: z.ZodOptional<z.ZodEnum<{
81
81
  pnpm: "pnpm";
82
82
  npm: "npm";
83
+ none: "none";
83
84
  yarn: "yarn";
84
85
  bun: "bun";
85
- none: "none";
86
86
  }>>;
87
87
  buildCommand: z.ZodOptional<z.ZodString>;
88
88
  testCommand: z.ZodOptional<z.ZodString>;
@@ -1,6 +1,7 @@
1
1
  export type { AgentWorkType, WorkflowStatus, WorkTypeStatusMappings, EnvironmentIssueType } from './work-types.js';
2
2
  export { ENVIRONMENT_ISSUE_TYPES } from './work-types.js';
3
3
  export type { IssueTrackerClient, IssueTrackerIssue, IssueTrackerSession, SessionConfig, CommentChunk, } from './issue-tracker-client.js';
4
+ export { NullIssueTrackerClient } from './null-issue-tracker-client.js';
4
5
  export type { IssueCreator } from './log-analyzer.js';
5
6
  export type { OrchestratorConfig, OrchestratorIssue, AgentProcess, OrchestratorEvents, SpawnAgentOptions, OrchestratorResult, OrchestratorStreamConfig, StopAgentResult, ForwardPromptResult, InjectMessageResult, SpawnAgentWithResumeOptions, WorkTypeTimeoutConfig, AgentWorkResult, } from './types.js';
6
7
  export type { ClaudeStreamEvent, ClaudeInitEvent, ClaudeSystemEvent, ClaudeAssistantEvent, ClaudeToolUseEvent, ClaudeToolResultEvent, ClaudeResultEvent, ClaudeErrorEvent, ClaudeTodoItem, ClaudeUserEvent, ClaudeEvent, ClaudeStreamHandlers, } from './stream-parser.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAClH,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAGzD,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,YAAY,GACb,MAAM,2BAA2B,CAAA;AAGlC,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,eAAe,GAChB,MAAM,YAAY,CAAA;AAGnB,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,WAAW,EACX,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAG3B,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAGlE,YAAY,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAG5F,YAAY,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAGzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAGxD,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAG5B,YAAY,EACV,WAAW,EACX,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,YAAY,EACZ,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAGxI,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAG3E,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAG9E,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AAGxF,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAG3E,OAAO,EACL,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,6BAA6B,EAC7B,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAGxD,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,2BAA2B,CAAA;AAClC,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,YAAY,GACb,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,eAAe,EACf,YAAY,EACZ,aAAa,GACd,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EACV,cAAc,EACd,kBAAkB,GACnB,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAGlE,OAAO,EACL,eAAe,GAChB,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,aAAa,GACd,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export { ENVIRONMENT_ISSUE_TYPES } from './work-types.js';
2
+ // Null Issue Tracker Client (for platform-delegated workers without LINEAR_API_KEY)
3
+ export { NullIssueTrackerClient } from './null-issue-tracker-client.js';
2
4
  export { SUMMARY_SCHEMA_VERSION } from './state-types.js';
3
5
  // Orchestrator
4
6
  export { AgentOrchestrator, createOrchestrator, getWorktreeIdentifier, validateGitRemote, resolveWorktreePath } from './orchestrator.js';
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Null Issue Tracker Client
3
+ *
4
+ * No-op implementation of IssueTrackerClient for workers that don't have
5
+ * direct Linear API access. Used when LINEAR_API_KEY is not set and all
6
+ * Linear communication is delegated to the platform API.
7
+ *
8
+ * Returns minimal stub data so the orchestrator can function (e.g., create
9
+ * worktrees, spawn agents) without real issue tracker access. Status updates,
10
+ * comments, and session activities are silently dropped — the platform API
11
+ * activity emitter handles these instead.
12
+ */
13
+ import type { IssueTrackerClient, IssueTrackerIssue, IssueTrackerSession, SessionConfig, CommentChunk } from './issue-tracker-client.js';
14
+ /**
15
+ * No-op IssueTrackerClient for platform-delegated workers.
16
+ *
17
+ * getIssue() returns a minimal stub using the identifier passed in.
18
+ * All mutation methods (comments, status updates) are silent no-ops.
19
+ */
20
+ export declare class NullIssueTrackerClient implements IssueTrackerClient {
21
+ getIssue(idOrIdentifier: string): Promise<IssueTrackerIssue>;
22
+ isParentIssue(): Promise<boolean>;
23
+ isChildIssue(): Promise<boolean>;
24
+ createComment(): Promise<{
25
+ id: string;
26
+ }>;
27
+ updateIssueStatus(): Promise<void>;
28
+ unassignIssue(): Promise<void>;
29
+ queryIssues(): Promise<IssueTrackerIssue[]>;
30
+ getProjectRepositoryUrl(): Promise<string | null>;
31
+ createSession(_config: SessionConfig): IssueTrackerSession;
32
+ buildCompletionComments(resultMessage: string, _planItems: unknown[], _sessionId: string | null): CommentChunk[];
33
+ }
34
+ //# sourceMappingURL=null-issue-tracker-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"null-issue-tracker-client.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/null-issue-tracker-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,YAAY,EACb,MAAM,2BAA2B,CAAA;AAqBlC;;;;;GAKG;AACH,qBAAa,sBAAuB,YAAW,kBAAkB;IACzD,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAY5D,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC,aAAa,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAIxC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAElC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B,WAAW,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAI3C,uBAAuB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIvD,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,mBAAmB;IAI1D,uBAAuB,CACrB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,OAAO,EAAE,EACrB,UAAU,EAAE,MAAM,GAAG,IAAI,GACxB,YAAY,EAAE;CAGlB"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Null Issue Tracker Client
3
+ *
4
+ * No-op implementation of IssueTrackerClient for workers that don't have
5
+ * direct Linear API access. Used when LINEAR_API_KEY is not set and all
6
+ * Linear communication is delegated to the platform API.
7
+ *
8
+ * Returns minimal stub data so the orchestrator can function (e.g., create
9
+ * worktrees, spawn agents) without real issue tracker access. Status updates,
10
+ * comments, and session activities are silently dropped — the platform API
11
+ * activity emitter handles these instead.
12
+ */
13
+ /**
14
+ * No-op session that silently drops all activity emissions.
15
+ * When the worker runs in platform mode, activities are posted via the
16
+ * ApiActivityEmitter instead of through an issue tracker session.
17
+ */
18
+ class NullIssueTrackerSession {
19
+ async emitThought() { }
20
+ async emitAction() { }
21
+ async emitToolResult() { }
22
+ async emitResponse() { }
23
+ async emitError() { }
24
+ async reportEnvironmentIssue() {
25
+ return null;
26
+ }
27
+ async setPullRequestUrl() { }
28
+ async addExternalUrl() { }
29
+ async complete() { }
30
+ }
31
+ /**
32
+ * No-op IssueTrackerClient for platform-delegated workers.
33
+ *
34
+ * getIssue() returns a minimal stub using the identifier passed in.
35
+ * All mutation methods (comments, status updates) are silent no-ops.
36
+ */
37
+ export class NullIssueTrackerClient {
38
+ async getIssue(idOrIdentifier) {
39
+ return {
40
+ id: idOrIdentifier,
41
+ identifier: idOrIdentifier,
42
+ title: idOrIdentifier,
43
+ url: '',
44
+ priority: 0,
45
+ status: 'In Progress',
46
+ labels: [],
47
+ };
48
+ }
49
+ async isParentIssue() {
50
+ return false;
51
+ }
52
+ async isChildIssue() {
53
+ return false;
54
+ }
55
+ async createComment() {
56
+ return { id: '' };
57
+ }
58
+ async updateIssueStatus() { }
59
+ async unassignIssue() { }
60
+ async queryIssues() {
61
+ return [];
62
+ }
63
+ async getProjectRepositoryUrl() {
64
+ return null;
65
+ }
66
+ createSession(_config) {
67
+ return new NullIssueTrackerSession();
68
+ }
69
+ buildCompletionComments(resultMessage, _planItems, _sessionId) {
70
+ return [{ body: resultMessage, partNumber: 1, totalParts: 1 }];
71
+ }
72
+ }
@@ -91,6 +91,8 @@ export declare class AgentOrchestrator {
91
91
  private readonly sessionLoggers;
92
92
  private readonly contextManagers;
93
93
  private readonly sessionOutputFlags;
94
+ private readonly assistantTextBuffers;
95
+ private shuttingDown;
94
96
  private readonly templateRegistry;
95
97
  private allowedProjects?;
96
98
  private repoConfig?;
@@ -110,6 +112,13 @@ export declare class AgentOrchestrator {
110
112
  * @param issueId - The issue ID of the agent
111
113
  * @param activityType - Optional description of the activity type
112
114
  */
115
+ /**
116
+ * Buffer assistant text and flush in batches for readable logging.
117
+ * Streaming providers (Codex) emit one token per event — this buffers
118
+ * and flushes after 500ms of silence or on sentence boundaries.
119
+ */
120
+ private bufferAssistantText;
121
+ private flushAssistantTextBuffer;
113
122
  private updateLastActivity;
114
123
  /**
115
124
  * Get timeout configuration for a specific work type
@@ -442,6 +451,16 @@ export declare class AgentOrchestrator {
442
451
  * Stop all running agents
443
452
  */
444
453
  stopAll(): void;
454
+ /**
455
+ * Gracefully shut down all provider resources (e.g., Codex app-server processes).
456
+ * Call after stopAll() to ensure child processes don't become orphans.
457
+ */
458
+ shutdownProviders(): Promise<void>;
459
+ /**
460
+ * Full graceful cleanup: stop all agents and shut down provider resources.
461
+ * Use this instead of stopAll() when the fleet is exiting.
462
+ */
463
+ cleanup(): Promise<void>;
445
464
  /**
446
465
  * Wait for all agents to complete with inactivity-based timeout
447
466
  *
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -870,6 +870,11 @@ export class AgentOrchestrator {
870
870
  contextManagers = new Map();
871
871
  // Session output flags for completion contract validation (keyed by issueId)
872
872
  sessionOutputFlags = new Map();
873
+ // Buffered assistant text for batched logging (keyed by issueId)
874
+ // Streaming providers (Codex) send one token per event — buffer and flush on sentence boundaries
875
+ assistantTextBuffers = new Map();
876
+ // Flag to prevent promoting agents during fleet shutdown
877
+ shuttingDown = false;
873
878
  // Template registry for configurable workflow prompts
874
879
  templateRegistry;
875
880
  // Allowlisted project names from .agentfactory/config.yaml
@@ -1049,6 +1054,40 @@ export class AgentOrchestrator {
1049
1054
  * @param issueId - The issue ID of the agent
1050
1055
  * @param activityType - Optional description of the activity type
1051
1056
  */
1057
+ /**
1058
+ * Buffer assistant text and flush in batches for readable logging.
1059
+ * Streaming providers (Codex) emit one token per event — this buffers
1060
+ * and flushes after 500ms of silence or on sentence boundaries.
1061
+ */
1062
+ bufferAssistantText(issueId, text, log) {
1063
+ let buf = this.assistantTextBuffers.get(issueId);
1064
+ if (!buf) {
1065
+ buf = { text: '', timer: null };
1066
+ this.assistantTextBuffers.set(issueId, buf);
1067
+ }
1068
+ buf.text += text;
1069
+ // Clear existing timer
1070
+ if (buf.timer)
1071
+ clearTimeout(buf.timer);
1072
+ // Flush after 500ms of silence
1073
+ buf.timer = setTimeout(() => {
1074
+ this.flushAssistantTextBuffer(issueId, log);
1075
+ }, 500);
1076
+ }
1077
+ flushAssistantTextBuffer(issueId, log) {
1078
+ const buf = this.assistantTextBuffers.get(issueId);
1079
+ if (!buf || !buf.text.trim())
1080
+ return;
1081
+ const text = buf.text.trim();
1082
+ if (text.length > 0) {
1083
+ log?.info('Agent', { text: text.substring(0, 300) });
1084
+ }
1085
+ buf.text = '';
1086
+ if (buf.timer) {
1087
+ clearTimeout(buf.timer);
1088
+ buf.timer = null;
1089
+ }
1090
+ }
1052
1091
  updateLastActivity(issueId, activityType = 'activity') {
1053
1092
  const agent = this.activeAgents.get(issueId);
1054
1093
  if (agent) {
@@ -2312,6 +2351,8 @@ You are running in an AgentFactory-managed worktree. Follow these rules strictly
2312
2351
  workerId: this.config.apiActivityConfig?.workerId ?? null,
2313
2352
  pid: null, // Will be updated when process spawns
2314
2353
  });
2354
+ // Track which provider was used so recovery can detect provider changes
2355
+ initialState.providerName = spawnProviderName;
2315
2356
  writeState(worktreePath, initialState);
2316
2357
  // Start heartbeat writer for crash detection
2317
2358
  const heartbeatWriter = createHeartbeatWriter({
@@ -2522,10 +2563,14 @@ You are running in an AgentFactory-managed worktree. Follow these rules strictly
2522
2563
  }
2523
2564
  await this.handleAgentEvent(issueId, sessionId, event, emitter, agent, handle);
2524
2565
  }
2525
- // Query completed successfully — preserve 'failed' status set by error results
2526
- // (e.g., error_max_turns, error_during_execution) so auto-transition doesn't
2527
- // fire with an empty resultMessage
2528
- if (agent.status !== 'stopped' && agent.status !== 'failed') {
2566
+ // Query completed successfully — preserve 'failed' or 'stopped' status.
2567
+ // If the orchestrator is shutting down (fleet kill), force 'stopped' to prevent
2568
+ // the backstop from promoting incomplete work.
2569
+ if (this.shuttingDown && agent.status !== 'failed') {
2570
+ agent.status = 'stopped';
2571
+ log?.info('Agent stopped by fleet shutdown — skipping backstop and auto-transition');
2572
+ }
2573
+ else if (agent.status !== 'stopped' && agent.status !== 'failed') {
2529
2574
  agent.status = 'completed';
2530
2575
  }
2531
2576
  agent.completedAt = new Date();
@@ -3121,6 +3166,18 @@ You are running in an AgentFactory-managed worktree. Follow these rules strictly
3121
3166
  log?.warn('Hook failed', { hook: raw.hook_name, exitCode: raw.exit_code });
3122
3167
  }
3123
3168
  }
3169
+ else if (event.subtype === 'reasoning') {
3170
+ // Codex reasoning/thinking events — buffer and log for fleet observability
3171
+ this.updateLastActivity(issueId, 'thinking');
3172
+ if (event.message) {
3173
+ this.bufferAssistantText(issueId, event.message, log);
3174
+ }
3175
+ heartbeatWriter?.recordThinking();
3176
+ // Persist reasoning to Linear session (same pattern as Claude's assistant_text)
3177
+ if (emitter && event.message && typeof event.message === 'string') {
3178
+ await emitter.emitThought(event.message.substring(0, 200));
3179
+ }
3180
+ }
3124
3181
  else if (event.subtype === 'auth_status') {
3125
3182
  if (event.message?.includes('error') || event.message?.includes('Error')) {
3126
3183
  log?.error('Auth error', { error: event.message });
@@ -3149,6 +3206,11 @@ You are running in an AgentFactory-managed worktree. Follow these rules strictly
3149
3206
  case 'assistant_text':
3150
3207
  // Assistant text output
3151
3208
  this.updateLastActivity(issueId, 'assistant');
3209
+ // Buffer and log agent reasoning for fleet observability.
3210
+ // Streaming providers (Codex) send one token per event — buffer for readability.
3211
+ if (event.text) {
3212
+ this.bufferAssistantText(issueId, event.text, log);
3213
+ }
3152
3214
  // Feed to context manager for session intent extraction
3153
3215
  this.contextManagers.get(issueId)?.processEvent(event);
3154
3216
  heartbeatWriter?.recordThinking();
@@ -3204,6 +3266,8 @@ You are running in an AgentFactory-managed worktree. Follow these rules strictly
3204
3266
  log?.debug('Tool progress', { tool: event.toolName, elapsed: `${event.elapsedSeconds}s` });
3205
3267
  break;
3206
3268
  case 'result':
3269
+ // Flush any buffered assistant text before processing result
3270
+ this.flushAssistantTextBuffer(issueId, log);
3207
3271
  if (event.success) {
3208
3272
  log?.success('Agent completed', {
3209
3273
  cost: event.cost?.totalCostUsd ? `$${event.cost.totalCostUsd.toFixed(4)}` : 'N/A',
@@ -3250,7 +3314,7 @@ You are running in an AgentFactory-managed worktree. Follow these rules strictly
3250
3314
  });
3251
3315
  }
3252
3316
  // Emit truncated preview to activity feed (ephemeral)
3253
- if (emitter && event.message) {
3317
+ if (emitter && event.message && typeof event.message === 'string') {
3254
3318
  await emitter.emitThought(`Completed: ${event.message.substring(0, 200)}...`, true);
3255
3319
  }
3256
3320
  }
@@ -3266,8 +3330,12 @@ You are running in an AgentFactory-managed worktree. Follow these rules strictly
3266
3330
  if (agent.worktreePath) {
3267
3331
  try {
3268
3332
  // If the error is a stale session (resume failed), clear providerSessionId
3269
- // so the next recovery attempt starts fresh instead of hitting the same error
3270
- const isStaleSession = errorMessage.includes('No conversation found with session ID');
3333
+ // so the next recovery attempt starts fresh instead of hitting the same error.
3334
+ // Claude: "No conversation found with session ID"
3335
+ // Codex: "thread/resume failed" or "thread/resume: ..."
3336
+ const isStaleSession = errorMessage.includes('No conversation found with session ID') ||
3337
+ errorMessage.includes('thread/resume failed') ||
3338
+ errorMessage.includes('thread/resume:');
3271
3339
  updateState(agent.worktreePath, {
3272
3340
  status: 'failed',
3273
3341
  errorMessage,
@@ -3513,6 +3581,10 @@ You are running in an AgentFactory-managed worktree. Follow these rules strictly
3513
3581
  this.activityEmitters.delete(issueId);
3514
3582
  this.abortControllers.delete(issueId);
3515
3583
  this.agentLoggers.delete(issueId);
3584
+ const buf = this.assistantTextBuffers.get(issueId);
3585
+ if (buf?.timer)
3586
+ clearTimeout(buf.timer);
3587
+ this.assistantTextBuffers.delete(issueId);
3516
3588
  // Stop heartbeat writer
3517
3589
  const heartbeatWriter = this.heartbeatWriters.get(issueId);
3518
3590
  if (heartbeatWriter) {
@@ -3719,15 +3791,29 @@ You are running in an AgentFactory-managed worktree. Follow these rules strictly
3719
3791
  // Inherit work type from previous state if not provided
3720
3792
  const recoveryWorkType = workType ?? recoveryCheck.state.workType ?? effectiveWorkType;
3721
3793
  // Use existing provider session ID for resume if available,
3722
- // but clear it when the work type has changed (e.g., dev → QA).
3723
- // A session from a different work type cannot be resumed — attempting
3724
- // it produces "No conversation found" and wastes the recovery attempt.
3794
+ // but clear it when the work type or provider has changed.
3795
+ // A session from a different work type or provider cannot be resumed —
3796
+ // attempting it produces errors and wastes the recovery attempt.
3725
3797
  const workTypeChanged = recoveryWorkType !== recoveryCheck.state.workType;
3726
- const providerSessionId = workTypeChanged
3798
+ // Resolve which provider will handle this recovery to detect provider switches
3799
+ // (e.g., previous run was Claude but labels now route to Codex)
3800
+ const { name: recoveryProviderName } = resolveProviderWithSource({
3801
+ project: projectName,
3802
+ workType: recoveryWorkType,
3803
+ labels: labelNames,
3804
+ configProviders: this.configProviders,
3805
+ });
3806
+ const providerChanged = recoveryCheck.state.providerName != null &&
3807
+ recoveryProviderName !== recoveryCheck.state.providerName;
3808
+ const shouldClearSession = workTypeChanged || providerChanged;
3809
+ const providerSessionId = shouldClearSession
3727
3810
  ? undefined
3728
3811
  : (recoveryCheck.state.providerSessionId ?? undefined);
3729
- if (workTypeChanged && recoveryCheck.state.providerSessionId) {
3730
- console.log(`Clearing stale providerSessionId — work type changed from ${recoveryCheck.state.workType} to ${recoveryWorkType}`);
3812
+ if (shouldClearSession && recoveryCheck.state.providerSessionId) {
3813
+ const reason = providerChanged
3814
+ ? `provider changed from ${recoveryCheck.state.providerName} to ${recoveryProviderName}`
3815
+ : `work type changed from ${recoveryCheck.state.workType} to ${recoveryWorkType}`;
3816
+ console.log(`Clearing stale providerSessionId — ${reason}`);
3731
3817
  updateState(worktreePath, { providerSessionId: null });
3732
3818
  }
3733
3819
  const effectiveSessionId = sessionId ?? recoveryCheck.state.linearSessionId ?? randomUUID();
@@ -4138,6 +4224,8 @@ You are running in an AgentFactory-managed worktree. Follow these rules strictly
4138
4224
  if (providerSessionId) {
4139
4225
  initialState.providerSessionId = providerSessionId;
4140
4226
  }
4227
+ // Track which provider was used so recovery can detect provider changes
4228
+ initialState.providerName = spawnProviderName;
4141
4229
  writeState(worktreePath, initialState);
4142
4230
  // Start heartbeat writer for crash detection
4143
4231
  const heartbeatWriter = createHeartbeatWriter({
@@ -4318,10 +4406,14 @@ You are running in an AgentFactory-managed worktree. Follow these rules strictly
4318
4406
  let currentHandle = provider.resume(providerSessionId, spawnConfig);
4319
4407
  const fallbackStream = async function* () {
4320
4408
  for await (const event of currentHandle.stream) {
4321
- // Detect stale session error: the resume failed because the session no longer exists
4409
+ // Detect stale session error: the resume failed because the session no longer exists.
4410
+ // Claude: "No conversation found with session ID"
4411
+ // Codex: "thread/resume failed" or "thread/resume: ..."
4322
4412
  if (event.type === 'result' &&
4323
4413
  !event.success &&
4324
- event.errors?.some(e => e.includes('No conversation found with session ID'))) {
4414
+ event.errors?.some(e => e.includes('No conversation found with session ID') ||
4415
+ e.includes('thread/resume failed') ||
4416
+ e.includes('thread/resume:'))) {
4325
4417
  log?.warn('Stale session detected during resume — falling back to fresh spawn', {
4326
4418
  staleSessionId: providerSessionId,
4327
4419
  });
@@ -4354,6 +4446,7 @@ You are running in an AgentFactory-managed worktree. Follow these rules strictly
4354
4446
  * Stop all running agents
4355
4447
  */
4356
4448
  stopAll() {
4449
+ this.shuttingDown = true;
4357
4450
  for (const [issueId] of this.abortControllers) {
4358
4451
  try {
4359
4452
  const agent = this.activeAgents.get(issueId);
@@ -4371,6 +4464,32 @@ You are running in an AgentFactory-managed worktree. Follow these rules strictly
4371
4464
  this.abortControllers.clear();
4372
4465
  this.sessionToIssue.clear();
4373
4466
  }
4467
+ /**
4468
+ * Gracefully shut down all provider resources (e.g., Codex app-server processes).
4469
+ * Call after stopAll() to ensure child processes don't become orphans.
4470
+ */
4471
+ async shutdownProviders() {
4472
+ const shutdownPromises = [];
4473
+ for (const [name, provider] of this.providerCache) {
4474
+ if (provider.shutdown) {
4475
+ console.log(`Shutting down ${name} provider...`);
4476
+ shutdownPromises.push(provider.shutdown().catch((err) => {
4477
+ console.warn(`Failed to shut down ${name} provider:`, err);
4478
+ }));
4479
+ }
4480
+ }
4481
+ if (shutdownPromises.length > 0) {
4482
+ await Promise.all(shutdownPromises);
4483
+ }
4484
+ }
4485
+ /**
4486
+ * Full graceful cleanup: stop all agents and shut down provider resources.
4487
+ * Use this instead of stopAll() when the fleet is exiting.
4488
+ */
4489
+ async cleanup() {
4490
+ this.stopAll();
4491
+ await this.shutdownProviders();
4492
+ }
4374
4493
  /**
4375
4494
  * Wait for all agents to complete with inactivity-based timeout
4376
4495
  *
@@ -5,6 +5,7 @@
5
5
  * This enables crash recovery, heartbeat monitoring, and progress tracking.
6
6
  */
7
7
  import type { AgentWorkType } from './work-types.js';
8
+ import type { AgentProviderName } from '../providers/index.js';
8
9
  /**
9
10
  * Status of the agent's work in the worktree
10
11
  */
@@ -22,6 +23,8 @@ export interface WorktreeState {
22
23
  linearSessionId: string | null;
23
24
  /** Provider CLI session ID for --resume (if available) */
24
25
  providerSessionId: string | null;
26
+ /** Name of the provider used for the session (e.g., 'claude', 'codex') */
27
+ providerName?: AgentProviderName | null;
25
28
  /** Type of work being performed */
26
29
  workType: AgentWorkType;
27
30
  /** The prompt that was given to the agent */
@@ -1 +1 @@
1
- {"version":3,"file":"state-types.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/state-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-types.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/state-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAE9D;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,SAAS,GACT,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,SAAS,CAAA;AAEb;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,sDAAsD;IACtD,eAAe,EAAE,MAAM,CAAA;IACvB,4CAA4C;IAC5C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,0DAA0D;IAC1D,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,0EAA0E;IAC1E,YAAY,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACvC,mCAAmC;IACnC,QAAQ,EAAE,aAAa,CAAA;IACvB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,iCAAiC;IACjC,MAAM,EAAE,cAAc,CAAA;IACtB,qDAAqD;IACrD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAA;IACrB,kDAAkD;IAClD,gBAAgB,EAAE,MAAM,CAAA;IACxB,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,8BAA8B;IAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,UAAU,GACV,UAAU,GACV,SAAS,GACT,MAAM,CAAA;AAEV;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAA;IACrB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAA;IACd,qCAAqC;IACrC,gBAAgB,EAAE,qBAAqB,CAAA;IACvC,sCAAsC;IACtC,qBAAqB,EAAE,MAAM,CAAA;IAC7B,6CAA6C;IAC7C,cAAc,EAAE,MAAM,CAAA;IACtB,iDAAiD;IACjD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,CAAA;AAEhE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,qBAAqB;IACrB,MAAM,EAAE,UAAU,CAAA;IAClB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,yBAAyB;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,OAAO,GACP,OAAO,GACP,MAAM,GACN,OAAO,GACP,UAAU,GACV,UAAU,GACV,MAAM,CAAA;AAEV;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,oBAAoB;IACpB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,UAAU,EAAE,OAAO,CAAA;IACnB,4DAA4D;IAC5D,UAAU,EAAE,OAAO,CAAA;IACnB,yBAAyB;IACzB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,yBAAyB;IACzB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,eAAe,CAAA;IACtE,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAA;IAChB,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAID;;GAEG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAA;AAEvC;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAA;AAEpE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,kCAAkC;IAClC,MAAM,EAAE,UAAU,CAAA;IAClB,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,0CAA0C;IAC1C,cAAc,EAAE,MAAM,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,+CAA+C;IAC/C,aAAa,EAAE,MAAM,CAAA;IACrB,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAA;IACrB,2CAA2C;IAC3C,iBAAiB,EAAE,gBAAgB,EAAE,CAAA;IACrC,kCAAkC;IAClC,aAAa,EAAE,QAAQ,EAAE,CAAA;IACzB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,gDAAgD;IAChD,eAAe,EAAE,MAAM,CAAA;IACvB,yCAAyC;IACzC,eAAe,EAAE,MAAM,CAAA;IACvB,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAA;CACtB"}