dev-sessions 0.2.12 → 0.2.14

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.
@@ -84,6 +84,11 @@ export declare class CodexWebSocketRpcClient implements CodexRpcClient {
84
84
  private failConnection;
85
85
  private notify;
86
86
  }
87
+ type ThreadRuntimeStatusString = 'active' | 'idle' | 'notLoaded' | 'systemError' | 'unknown';
88
+ interface ThreadRuntimeResult {
89
+ status: ThreadRuntimeStatusString;
90
+ errorDetail?: string;
91
+ }
87
92
  export declare class CodexAppServerBackend {
88
93
  private readonly sessionState;
89
94
  private readonly daemonManager;
@@ -91,7 +96,7 @@ export declare class CodexAppServerBackend {
91
96
  constructor(dependencies?: CodexAppServerBackendDependencies);
92
97
  createSession(championId: string, workspacePath: string, model?: string): Promise<CodexSessionCreateResult>;
93
98
  sendMessage(championId: string, threadId: string, message: string, options?: CodexSendMessageOptions): Promise<CodexSendResult>;
94
- getThreadRuntimeStatus(threadId: string): Promise<'active' | 'idle' | 'notLoaded' | 'systemError' | 'unknown'>;
99
+ getThreadRuntimeStatus(threadId: string): Promise<ThreadRuntimeResult>;
95
100
  waitForThread(championId: string, threadId: string, timeoutMs?: number, expectedTurnId?: string): Promise<CodexTurnWaitResult>;
96
101
  waitForTurn(championId: string, timeoutMs?: number): Promise<CodexTurnWaitResult>;
97
102
  getLastAssistantMessages(championId: string, threadId: string, count: number): Promise<string[]>;
@@ -611,6 +611,21 @@ function extractThreadRuntimeStatus(result) {
611
611
  }
612
612
  return 'unknown';
613
613
  }
614
+ function extractThreadErrorDetail(result) {
615
+ const thread = result?.thread;
616
+ if (!thread)
617
+ return undefined;
618
+ const turns = thread.turns;
619
+ if (!Array.isArray(turns))
620
+ return undefined;
621
+ for (let i = turns.length - 1; i >= 0; i--) {
622
+ const turn = turns[i];
623
+ if (turn?.status === 'failed' && turn.error && typeof turn.error.message === 'string') {
624
+ return turn.error.message;
625
+ }
626
+ }
627
+ return undefined;
628
+ }
614
629
  function extractThreadReadAssistantMessages(result) {
615
630
  if (!result || typeof result !== 'object') {
616
631
  throw new Error('thread/read returned an invalid response');
@@ -752,6 +767,43 @@ function extractTurnError(turn) {
752
767
  }
753
768
  return undefined;
754
769
  }
770
+ function extractThreadReadTurnSnapshot(result, expectedTurnId) {
771
+ if (!result || typeof result !== 'object') {
772
+ throw new Error('thread/read returned an invalid response');
773
+ }
774
+ const thread = result.thread;
775
+ if (!thread || typeof thread !== 'object') {
776
+ throw new Error('thread/read response is missing result.thread');
777
+ }
778
+ const turns = thread.turns;
779
+ if (!Array.isArray(turns)) {
780
+ throw new Error('thread/read response is missing result.thread.turns');
781
+ }
782
+ for (let index = turns.length - 1; index >= 0; index -= 1) {
783
+ const turn = turns[index];
784
+ if (!turn || typeof turn !== 'object')
785
+ continue;
786
+ const turnId = extractTurnId(turn);
787
+ if (turnId !== expectedTurnId)
788
+ continue;
789
+ const rawStatus = turn.status;
790
+ const status = rawStatus === 'inProgress' ? rawStatus : extractTurnStatus(turn);
791
+ const items = Array.isArray(turn.items)
792
+ ? ((turn.items) ?? [])
793
+ : [];
794
+ const assistantTexts = items
795
+ .filter((item) => Boolean(item) && typeof item === 'object')
796
+ .filter((item) => item.type === 'agentMessage' && typeof item.text === 'string' && item.text.length > 0)
797
+ .map((item) => item.text);
798
+ return {
799
+ turnId,
800
+ status,
801
+ errorMessage: extractTurnError(turn),
802
+ assistantText: assistantTexts.length > 0 ? assistantTexts.join('\n\n') : undefined
803
+ };
804
+ }
805
+ return undefined;
806
+ }
755
807
  class CodexAppServerBackend {
756
808
  sessionState = new Map();
757
809
  daemonManager;
@@ -848,20 +900,24 @@ class CodexAppServerBackend {
848
900
  async getThreadRuntimeStatus(threadId) {
849
901
  const normalizedThreadId = threadId.trim();
850
902
  if (normalizedThreadId.length === 0) {
851
- return 'unknown';
903
+ return { status: 'unknown' };
852
904
  }
853
905
  try {
854
906
  const { result } = await this.withConnectedClient(async (client) => {
855
907
  const resumeResult = await client.request('thread/resume', { threadId: normalizedThreadId });
856
- return extractThreadRuntimeStatus(resumeResult);
908
+ const status = extractThreadRuntimeStatus(resumeResult);
909
+ const errorDetail = (status === 'systemError' || status === 'unknown')
910
+ ? extractThreadErrorDetail(resumeResult)
911
+ : undefined;
912
+ return { status, errorDetail };
857
913
  });
858
914
  return result;
859
915
  }
860
916
  catch (error) {
861
917
  if (this.isResumeNotFoundError(error)) {
862
- return 'notLoaded';
918
+ return { status: 'notLoaded' };
863
919
  }
864
- return 'unknown';
920
+ return { status: 'unknown' };
865
921
  }
866
922
  }
867
923
  async waitForThread(championId, threadId, timeoutMs = DEFAULT_TIMEOUT_MS, expectedTurnId) {
@@ -877,25 +933,101 @@ class CodexAppServerBackend {
877
933
  let sawActiveTurn = false;
878
934
  let result;
879
935
  if (normalizedExpectedTurnId.length > 0) {
880
- // Codex 0.104.0 can report thread/resume=idle and thread/read turn.status=completed
881
- // while the initiated turn is still running tools. When we know the exact turn ID
882
- // from turn/start, block on that turn's completion notification instead of trusting
883
- // thread runtime status.
884
- const waitCycle = await this.withConnectedClient(async (client) => {
885
- // Resume first so this connection is subscribed to notifications for the thread.
886
- await client.request('thread/resume', { threadId: normalizedThreadId });
887
- return client.waitForTurnCompletion(safeTimeoutMs, normalizedThreadId, normalizedExpectedTurnId);
888
- });
889
- if (waitCycle.result.assistantText) {
890
- lastAssistantText = waitCycle.result.assistantText;
936
+ // A reconnect can see a stale/provisional completion signal before thread/read
937
+ // reflects the exact turn we started. Reconcile the exact turn ID against
938
+ // thread/read on each cycle so wait() only returns once that turn is truly terminal.
939
+ while (!result) {
940
+ const elapsedMs = Date.now() - overallStart;
941
+ const remainingMs = safeTimeoutMs - elapsedMs;
942
+ if (remainingMs <= 0) {
943
+ result = {
944
+ completed: false,
945
+ timedOut: true,
946
+ elapsedMs: Math.max(1, elapsedMs),
947
+ status: 'interrupted',
948
+ errorMessage: 'Timed out waiting for Codex turn completion',
949
+ assistantText: lastAssistantText
950
+ };
951
+ break;
952
+ }
953
+ const waitCycle = await this.withConnectedClient(async (client) => {
954
+ await client.request('thread/resume', { threadId: normalizedThreadId });
955
+ const readBeforeWait = await client.request('thread/read', {
956
+ threadId: normalizedThreadId,
957
+ includeTurns: true
958
+ });
959
+ const snapshotBeforeWait = extractThreadReadTurnSnapshot(readBeforeWait, normalizedExpectedTurnId);
960
+ if (snapshotBeforeWait?.status === 'completed' ||
961
+ snapshotBeforeWait?.status === 'failed' ||
962
+ snapshotBeforeWait?.status === 'interrupted') {
963
+ return {
964
+ kind: 'snapshot',
965
+ snapshot: snapshotBeforeWait
966
+ };
967
+ }
968
+ const waitResult = await client.waitForTurnCompletion(remainingMs, normalizedThreadId, normalizedExpectedTurnId);
969
+ const readAfterWait = await client.request('thread/read', {
970
+ threadId: normalizedThreadId,
971
+ includeTurns: true
972
+ });
973
+ const snapshotAfterWait = extractThreadReadTurnSnapshot(readAfterWait, normalizedExpectedTurnId);
974
+ return {
975
+ kind: 'wait',
976
+ waitResult,
977
+ snapshotAfterWait
978
+ };
979
+ });
980
+ if (waitCycle.result.kind === 'snapshot') {
981
+ if (waitCycle.result.snapshot.assistantText) {
982
+ lastAssistantText = waitCycle.result.snapshot.assistantText;
983
+ }
984
+ const status = waitCycle.result.snapshot.status;
985
+ if (!status || status === 'inProgress') {
986
+ continue;
987
+ }
988
+ result = {
989
+ completed: status !== 'interrupted',
990
+ timedOut: status === 'interrupted',
991
+ elapsedMs: Math.max(0, Date.now() - overallStart),
992
+ status,
993
+ errorMessage: waitCycle.result.snapshot.errorMessage,
994
+ assistantText: waitCycle.result.snapshot.assistantText ?? lastAssistantText
995
+ };
996
+ break;
997
+ }
998
+ if (waitCycle.result.waitResult.assistantText) {
999
+ lastAssistantText = waitCycle.result.waitResult.assistantText;
1000
+ }
1001
+ if (waitCycle.result.snapshotAfterWait?.assistantText) {
1002
+ lastAssistantText = waitCycle.result.snapshotAfterWait.assistantText;
1003
+ }
1004
+ if (waitCycle.result.snapshotAfterWait?.status === 'completed' ||
1005
+ waitCycle.result.snapshotAfterWait?.status === 'failed' ||
1006
+ waitCycle.result.snapshotAfterWait?.status === 'interrupted') {
1007
+ const status = waitCycle.result.snapshotAfterWait.status;
1008
+ result = {
1009
+ completed: status !== 'interrupted',
1010
+ timedOut: status === 'interrupted',
1011
+ elapsedMs: Math.max(waitCycle.result.waitResult.elapsedMs, Date.now() - overallStart),
1012
+ status,
1013
+ errorMessage: waitCycle.result.snapshotAfterWait.errorMessage ?? waitCycle.result.waitResult.errorMessage,
1014
+ assistantText: waitCycle.result.snapshotAfterWait.assistantText ??
1015
+ waitCycle.result.waitResult.assistantText ??
1016
+ lastAssistantText
1017
+ };
1018
+ break;
1019
+ }
1020
+ if (waitCycle.result.waitResult.timedOut ||
1021
+ waitCycle.result.waitResult.status === 'failed' ||
1022
+ waitCycle.result.waitResult.status === 'interrupted') {
1023
+ result = {
1024
+ ...waitCycle.result.waitResult,
1025
+ elapsedMs: Math.max(waitCycle.result.waitResult.elapsedMs, Date.now() - overallStart),
1026
+ assistantText: waitCycle.result.waitResult.assistantText ?? lastAssistantText
1027
+ };
1028
+ break;
1029
+ }
891
1030
  }
892
- result = {
893
- ...waitCycle.result,
894
- elapsedMs: waitCycle.result.timedOut
895
- ? Math.max(waitCycle.result.elapsedMs, Date.now() - overallStart)
896
- : waitCycle.result.elapsedMs,
897
- assistantText: waitCycle.result.assistantText ?? lastAssistantText
898
- };
899
1031
  }
900
1032
  while (!result) {
901
1033
  const elapsedMs = Date.now() - overallStart;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-appserver.js","sourceRoot":"","sources":["../../src/backends/codex-appserver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-appserver.js","sourceRoot":"","sources":["../../src/backends/codex-appserver.ts"],"names":[],"mappings":"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"}
@@ -64,7 +64,7 @@ class CodexBackend {
64
64
  };
65
65
  }
66
66
  async status(session) {
67
- const liveStatus = await this.raw.getThreadRuntimeStatus(session.internalId);
67
+ const { status: liveStatus, errorDetail } = await this.raw.getThreadRuntimeStatus(session.internalId);
68
68
  const hasPendingTurnId = typeof session.codexActiveTurnId === 'string' && session.codexActiveTurnId.length > 0;
69
69
  if (liveStatus === 'active') {
70
70
  return { status: 'working', storeUpdate: { codexTurnInProgress: true } };
@@ -78,7 +78,10 @@ class CodexBackend {
78
78
  return { status: 'idle', storeUpdate: { codexTurnInProgress: false } };
79
79
  }
80
80
  if (liveStatus === 'systemError') {
81
- return { errorToThrow: new Error('Codex app-server is in a system error state'), status: 'idle' };
81
+ const msg = errorDetail
82
+ ? `Codex app-server is in a system error state: ${errorDetail}`
83
+ : 'Codex app-server is in a system error state';
84
+ return { errorToThrow: new Error(msg), status: 'idle' };
82
85
  }
83
86
  return { errorToThrow: new Error('Could not reach Codex app-server'), status: 'idle' };
84
87
  }
@@ -86,14 +89,14 @@ class CodexBackend {
86
89
  const baseStoreUpdate = { lastUsed: new Date().toISOString() };
87
90
  const hasPendingTurnId = typeof session.codexActiveTurnId === 'string' && session.codexActiveTurnId.length > 0;
88
91
  if (!session.codexTurnInProgress && !hasPendingTurnId && session.lastTurnStatus === 'failed') {
89
- let liveStatus;
92
+ let liveResult;
90
93
  try {
91
- liveStatus = await this.raw.getThreadRuntimeStatus(session.internalId);
94
+ liveResult = await this.raw.getThreadRuntimeStatus(session.internalId);
92
95
  }
93
96
  catch {
94
- liveStatus = 'unknown';
97
+ liveResult = { status: 'unknown' };
95
98
  }
96
- if (liveStatus === 'idle' || liveStatus === 'notLoaded') {
99
+ if (liveResult.status === 'idle' || liveResult.status === 'notLoaded') {
97
100
  return {
98
101
  completed: true,
99
102
  timedOut: false,
@@ -101,9 +104,10 @@ class CodexBackend {
101
104
  storeUpdate: { ...baseStoreUpdate, lastTurnStatus: 'completed', lastTurnError: undefined }
102
105
  };
103
106
  }
104
- if (liveStatus !== 'active') {
105
- const message = session.lastTurnError
106
- ? `Codex turn failed: ${session.lastTurnError}`
107
+ if (liveResult.status !== 'active') {
108
+ const detail = liveResult.errorDetail ?? session.lastTurnError;
109
+ const message = detail
110
+ ? `Codex turn failed: ${detail}`
107
111
  : 'Codex turn failed';
108
112
  return {
109
113
  completed: false,
@@ -116,14 +120,14 @@ class CodexBackend {
116
120
  // Thread is active — fall through to waitForThread below
117
121
  }
118
122
  if (!session.codexTurnInProgress && !hasPendingTurnId) {
119
- let liveStatus;
123
+ let liveResult;
120
124
  try {
121
- liveStatus = await this.raw.getThreadRuntimeStatus(session.internalId);
125
+ liveResult = await this.raw.getThreadRuntimeStatus(session.internalId);
122
126
  }
123
127
  catch {
124
- liveStatus = 'unknown';
128
+ liveResult = { status: 'unknown' };
125
129
  }
126
- if (liveStatus !== 'active') {
130
+ if (liveResult.status !== 'active') {
127
131
  return {
128
132
  completed: true,
129
133
  timedOut: false,
@@ -1 +1 @@
1
- {"version":3,"file":"codex-backend.js","sourceRoot":"","sources":["../../src/backends/codex-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-backend.js","sourceRoot":"","sources":["../../src/backends/codex-backend.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dev-sessions",
3
- "version": "0.2.12",
3
+ "version": "0.2.14",
4
4
  "description": "CLI tool to spawn and manage coding agent sessions",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -21,7 +21,7 @@ This skill was itself written this way: rather than handing over a spec, the und
21
21
 
22
22
  Your job as orchestrator is **judgment and synthesis** — holding the big picture, making decisions, staying at the right altitude. Sub-agents are your specialists: highly intelligent, capable of going deep on a focused problem. Your constraint is context window. Theirs is scope.
23
23
 
24
- This division of labor only works if you respect it. Don't burn your context on implementation details sub-agents can handle. Don't make decisions sub-agents are better positioned to make after reading the code. And don't delegate judgment — that's your job.
24
+ This division of labor only works if you respect it. Your context window is finite and irreplaceable mid-session — every line spent on implementation detail is a line you can't spend on judgment later. Let sub-agents handle depth; they have a fresh context for it. But don't delegate judgment — they're optimizing locally and can't see how their piece fits the whole. That's your job.
25
25
 
26
26
  ---
27
27
 
@@ -44,8 +44,8 @@ Sub-agents are intelligent. Give them enough to reason from, not a script to fol
44
44
  What actually matters in a brief:
45
45
  - **What success looks like** — verifiable, not subjective. "All tests pass" not "looks clean."
46
46
  - **What they should read first** — don't make them discover context from scratch
47
- - **Real constraints** — things that genuinely bound the solution, not implementation preferences
48
- - **Always set `--path`** — sub-agents default to their CWD
47
+ - **Why this matters and what should guide decisions** — the reasoning behind the task, not just the boundaries. Constraints tell an agent what it can't do; principles tell it how to think. An agent that understands *why* you want something makes better calls on everything you didn't think to specify. Hard constraints are worth stating when they exist, but they're a supplement to reasoning, not a replacement.
48
+ - **Always set `--path`** — without it, a sub-agent operates on whatever directory it happens to be in, which may not be your repo. Wrong path means it reads wrong context, writes to wrong files, or fails silently.
49
49
 
50
50
  What to avoid: over-specifying how to implement something when you're not certain it's right. You become responsible for a design decision you made without full context.
51
51
 
@@ -53,7 +53,7 @@ What to avoid: over-specifying how to implement something when you're not certai
53
53
 
54
54
  ## Multiple perspectives: worth it sometimes, not always
55
55
 
56
- Getting Claude and Codex to independently explore a design question before you commit is valuable — but it takes time. Reserve it for decisions that are genuinely hard to reverse or high stakes.
56
+ Getting Claude and Codex to independently explore a design question before you commit is valuable — but each session costs time and context. The payoff is highest for decisions that are hard to reverse or high-stakes, where seeing two independent takes genuinely changes the quality of your decision. For smaller calls, the overhead isn't worth it.
57
57
 
58
58
  ```bash
59
59
  s1=$(dev-sessions create -q --cli claude --path /repo --description "design: X")
@@ -72,6 +72,8 @@ For smaller decisions: explore quickly yourself, or just delegate with a clear b
72
72
 
73
73
  ## Synthesizing results
74
74
 
75
- Results come back to you for judgment, not acceptance. Check them against your acceptance criteria. Reconcile conflicts between parallel sessions explicitly don't merge blindly. If something produced nothing useful, check `last-message -n 5` to understand where it got stuck, then re-engage with a more focused prompt.
75
+ Results come back to you for judgment, not acceptance. Each sub-agent optimized locally within its own scope — it doesn't know what the other agents did or how its work fits the whole. That's why you check results against your acceptance criteria and reconcile conflicts between parallel sessions explicitly. Merging blindly is how you get subtly inconsistent code that passes each agent's local checks but breaks in integration.
76
76
 
77
- The synthesis step is where your value as orchestrator lives. Don't skip it.
77
+ If something produced nothing useful, check `last-message -n 5` to understand where it got stuck, then re-engage with a more focused prompt.
78
+
79
+ The synthesis step is where your value as orchestrator lives. It's the one thing sub-agents structurally cannot do for you.