@k1e1n04/mav 0.1.4 → 0.1.6

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.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k1e1n04/mav",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "Multi-agent view — manage multiple AI CLI sessions in one terminal",
5
5
  "type": "module",
6
6
  "bin": {
package/dist/src/index.js CHANGED
@@ -41,7 +41,12 @@ export function start(options = {}) {
41
41
  const predictedId = `${agentConfig.type}#${typeCounters[agentConfig.type]}`;
42
42
  const savedSession = savedState?.sessions[predictedId];
43
43
  const { args, newSessionId } = resolveSessionArgs(agentConfig.type, agentConfig.args, savedSession?.sessionId, savedSession != null);
44
- const session = manager.addSession({ ...agentConfig, args });
44
+ const restoredCwd = savedSession?.cwd;
45
+ const session = manager.addSession({
46
+ ...agentConfig,
47
+ args,
48
+ ...(restoredCwd != null && { cwd: restoredCwd }),
49
+ });
45
50
  session.baseArgs = agentConfig.args;
46
51
  configSessionIds.add(session.id);
47
52
  if (newSessionId != null) {
@@ -55,7 +60,12 @@ export function start(options = {}) {
55
60
  continue;
56
61
  const rc = savedSession.agentBase;
57
62
  const { args, newSessionId } = resolveSessionArgs(rc.type, rc.args, savedSession.sessionId, true);
58
- const session = manager.addSession({ type: rc.type, cmd: rc.cmd, args });
63
+ const session = manager.addSession({
64
+ type: rc.type,
65
+ cmd: rc.cmd,
66
+ args,
67
+ ...(savedSession.cwd != null && { cwd: savedSession.cwd }),
68
+ });
59
69
  session.baseArgs = rc.args;
60
70
  if (newSessionId != null) {
61
71
  session.sessionId = newSessionId;
@@ -65,6 +75,16 @@ export function start(options = {}) {
65
75
  if (savedState) {
66
76
  manager.restoreLogBuffers(savedState);
67
77
  }
78
+ manager.on('exit', (sessionId, code) => {
79
+ if (code === 0)
80
+ return;
81
+ const session = manager.sessions.find((s) => s.id === sessionId);
82
+ if (!session)
83
+ return;
84
+ if (session.logBuffer.some((chunk) => chunk.includes('No conversation found with session ID'))) {
85
+ manager.removeSession(sessionId);
86
+ }
87
+ });
68
88
  manager.on('selection', () => {
69
89
  publishSelectedSession();
70
90
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export interface SessionState {
5
5
  status: SessionStatus;
6
6
  sessionId?: string;
7
7
  displayName?: string;
8
+ cwd?: string;
8
9
  /** configに定義されていない動的セッションを再起動時に復元するための情報 */
9
10
  agentBase?: {
10
11
  type: string;
package/dist/src/state.js CHANGED
@@ -8,6 +8,7 @@ export function saveState(path, manager) {
8
8
  status: session.status,
9
9
  ...(session.sessionId != null && { sessionId: session.sessionId }),
10
10
  displayName: session.displayName,
11
+ cwd: session.cwd,
11
12
  agentBase: {
12
13
  type: session.type,
13
14
  cmd: session.cmd,
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAqBnC,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,OAAuB;IAC7D,MAAM,KAAK,GAAa,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IACxC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG;YAC3B,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;YACjC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;YAClE,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE;gBACT,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;aAC5B;SACF,CAAA;IACH,CAAC;IACD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7C,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAA;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAsBnC,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,OAAuB;IAC7D,MAAM,KAAK,GAAa,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IACxC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG;YAC3B,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;YACjC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;YAClE,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE;gBACT,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;aAC5B;SACF,CAAA;IACH,CAAC;IACD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7C,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAA;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
@@ -44,6 +44,7 @@ export class App {
44
44
  return;
45
45
  }
46
46
  this.overviewUI.resizeSelectedSession();
47
+ this.screen.render();
47
48
  });
48
49
  }
49
50
  bindGlobalKeys() {
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/ui/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/ui/app.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k1e1n04/mav",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "Multi-agent view — manage multiple AI CLI sessions in one terminal",
5
5
  "type": "module",
6
6
  "bin": {
package/src/index.ts CHANGED
@@ -63,7 +63,12 @@ export function start(options: StartOptions = {}): SessionManager {
63
63
  savedSession != null,
64
64
  )
65
65
 
66
- const session = manager.addSession({ ...agentConfig, args }) as AgentSession & { sessionId?: string }
66
+ const restoredCwd = savedSession?.cwd
67
+ const session = manager.addSession({
68
+ ...agentConfig,
69
+ args,
70
+ ...(restoredCwd != null && { cwd: restoredCwd }),
71
+ }) as AgentSession & { sessionId?: string }
67
72
  session.baseArgs = agentConfig.args
68
73
  configSessionIds.add(session.id)
69
74
 
@@ -84,7 +89,12 @@ export function start(options: StartOptions = {}): SessionManager {
84
89
  savedSession.sessionId,
85
90
  true,
86
91
  )
87
- const session = manager.addSession({ type: rc.type, cmd: rc.cmd, args }) as AgentSession & { sessionId?: string }
92
+ const session = manager.addSession({
93
+ type: rc.type,
94
+ cmd: rc.cmd,
95
+ args,
96
+ ...(savedSession.cwd != null && { cwd: savedSession.cwd }),
97
+ }) as AgentSession & { sessionId?: string }
88
98
  session.baseArgs = rc.args
89
99
  if (newSessionId != null) {
90
100
  session.sessionId = newSessionId
@@ -96,6 +106,15 @@ export function start(options: StartOptions = {}): SessionManager {
96
106
  manager.restoreLogBuffers(savedState)
97
107
  }
98
108
 
109
+ manager.on('exit', (sessionId: string, code: number) => {
110
+ if (code === 0) return
111
+ const session = manager.sessions.find((s) => s.id === sessionId)
112
+ if (!session) return
113
+ if (session.logBuffer.some((chunk) => chunk.includes('No conversation found with session ID'))) {
114
+ manager.removeSession(sessionId)
115
+ }
116
+ })
117
+
99
118
  manager.on('selection', () => {
100
119
  publishSelectedSession()
101
120
  })
package/src/state.ts CHANGED
@@ -8,6 +8,7 @@ export interface SessionState {
8
8
  status: SessionStatus
9
9
  sessionId?: string
10
10
  displayName?: string
11
+ cwd?: string
11
12
  /** configに定義されていない動的セッションを再起動時に復元するための情報 */
12
13
  agentBase?: {
13
14
  type: string
@@ -28,6 +29,7 @@ export function saveState(path: string, manager: SessionManager): void {
28
29
  status: session.status,
29
30
  ...(session.sessionId != null && { sessionId: session.sessionId }),
30
31
  displayName: session.displayName,
32
+ cwd: session.cwd,
31
33
  agentBase: {
32
34
  type: session.type,
33
35
  cmd: session.cmd,
package/src/ui/app.ts CHANGED
@@ -56,6 +56,7 @@ export class App {
56
56
  }
57
57
 
58
58
  this.overviewUI.resizeSelectedSession()
59
+ this.screen.render()
59
60
  })
60
61
  }
61
62