247-cli 2.20.4 → 2.21.1

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.
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Session Events Database Operations
3
+ *
4
+ * Handles storage and retrieval of structured events from stream-json sessions.
5
+ */
6
+ import type { SessionEvent } from '247-shared';
7
+ /**
8
+ * Insert a session event
9
+ */
10
+ export declare function insertEvent(event: SessionEvent): number;
11
+ /**
12
+ * Get all events for a session
13
+ */
14
+ export declare function getSessionEvents(sessionName: string): SessionEvent[];
15
+ /**
16
+ * Get events for a session with pagination
17
+ */
18
+ export declare function getSessionEventsPaginated(sessionName: string, limit: number, offset: number): {
19
+ events: SessionEvent[];
20
+ total: number;
21
+ };
22
+ /**
23
+ * Get recent events for a session (last N events)
24
+ */
25
+ export declare function getRecentEvents(sessionName: string, limit?: number): SessionEvent[];
26
+ /**
27
+ * Get tool calls for a session
28
+ */
29
+ export declare function getToolCalls(sessionName: string): SessionEvent[];
30
+ /**
31
+ * Get the result event for a session (if completed)
32
+ */
33
+ export declare function getResultEvent(sessionName: string): SessionEvent | null;
34
+ /**
35
+ * Delete all events for a session
36
+ */
37
+ export declare function deleteSessionEvents(sessionName: string): number;
38
+ /**
39
+ * Delete events older than a certain age
40
+ */
41
+ export declare function deleteOldEvents(maxAgeMs: number): number;
42
+ /**
43
+ * Get event count for a session
44
+ */
45
+ export declare function getEventCount(sessionName: string): number;
46
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/db/events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAoCvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE,CAcpE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb;IAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAsB3C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,YAAY,EAAE,CAgB/E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE,CAchE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAevE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOxD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAQzD"}
@@ -0,0 +1,193 @@
1
+ /**
2
+ * Session Events Database Operations
3
+ *
4
+ * Handles storage and retrieval of structured events from stream-json sessions.
5
+ */
6
+ import { getDatabase } from './index.js';
7
+ /**
8
+ * Insert a session event
9
+ */
10
+ export function insertEvent(event) {
11
+ const db = getDatabase();
12
+ const stmt = db.prepare(`
13
+ INSERT INTO session_events (
14
+ session_name, event_type, timestamp,
15
+ tool_name, tool_input, tool_id,
16
+ tool_output, tool_error,
17
+ text_content,
18
+ success, duration_ms, total_cost_usd, num_turns
19
+ ) VALUES (
20
+ @sessionName, @eventType, @timestamp,
21
+ @toolName, @toolInput, @toolId,
22
+ @toolOutput, @toolError,
23
+ @textContent,
24
+ @success, @durationMs, @totalCostUsd, @numTurns
25
+ )
26
+ `);
27
+ const result = stmt.run({
28
+ sessionName: event.sessionName,
29
+ eventType: event.eventType,
30
+ timestamp: event.timestamp,
31
+ toolName: event.toolName ?? null,
32
+ toolInput: event.toolInput ? JSON.stringify(event.toolInput) : null,
33
+ toolId: event.toolId ?? null,
34
+ toolOutput: event.toolOutput ?? null,
35
+ toolError: event.toolError !== undefined ? (event.toolError ? 1 : 0) : null,
36
+ textContent: event.text ?? null,
37
+ success: event.success !== undefined ? (event.success ? 1 : 0) : null,
38
+ durationMs: event.durationMs ?? null,
39
+ totalCostUsd: event.totalCostUsd ?? null,
40
+ numTurns: event.numTurns ?? null,
41
+ });
42
+ return result.lastInsertRowid;
43
+ }
44
+ /**
45
+ * Get all events for a session
46
+ */
47
+ export function getSessionEvents(sessionName) {
48
+ const db = getDatabase();
49
+ const rows = db
50
+ .prepare(`
51
+ SELECT * FROM session_events
52
+ WHERE session_name = ?
53
+ ORDER BY timestamp ASC
54
+ `)
55
+ .all(sessionName);
56
+ return rows.map(dbEventToSessionEvent);
57
+ }
58
+ /**
59
+ * Get events for a session with pagination
60
+ */
61
+ export function getSessionEventsPaginated(sessionName, limit, offset) {
62
+ const db = getDatabase();
63
+ const countResult = db
64
+ .prepare('SELECT COUNT(*) as count FROM session_events WHERE session_name = ?')
65
+ .get(sessionName);
66
+ const rows = db
67
+ .prepare(`
68
+ SELECT * FROM session_events
69
+ WHERE session_name = ?
70
+ ORDER BY timestamp ASC
71
+ LIMIT ? OFFSET ?
72
+ `)
73
+ .all(sessionName, limit, offset);
74
+ return {
75
+ events: rows.map(dbEventToSessionEvent),
76
+ total: countResult.count,
77
+ };
78
+ }
79
+ /**
80
+ * Get recent events for a session (last N events)
81
+ */
82
+ export function getRecentEvents(sessionName, limit = 50) {
83
+ const db = getDatabase();
84
+ const rows = db
85
+ .prepare(`
86
+ SELECT * FROM session_events
87
+ WHERE session_name = ?
88
+ ORDER BY timestamp DESC
89
+ LIMIT ?
90
+ `)
91
+ .all(sessionName, limit);
92
+ // Reverse to get chronological order
93
+ return rows.map(dbEventToSessionEvent).reverse();
94
+ }
95
+ /**
96
+ * Get tool calls for a session
97
+ */
98
+ export function getToolCalls(sessionName) {
99
+ const db = getDatabase();
100
+ const rows = db
101
+ .prepare(`
102
+ SELECT * FROM session_events
103
+ WHERE session_name = ? AND event_type = 'tool_call'
104
+ ORDER BY timestamp ASC
105
+ `)
106
+ .all(sessionName);
107
+ return rows.map(dbEventToSessionEvent);
108
+ }
109
+ /**
110
+ * Get the result event for a session (if completed)
111
+ */
112
+ export function getResultEvent(sessionName) {
113
+ const db = getDatabase();
114
+ const row = db
115
+ .prepare(`
116
+ SELECT * FROM session_events
117
+ WHERE session_name = ? AND event_type = 'result'
118
+ ORDER BY timestamp DESC
119
+ LIMIT 1
120
+ `)
121
+ .get(sessionName);
122
+ return row ? dbEventToSessionEvent(row) : null;
123
+ }
124
+ /**
125
+ * Delete all events for a session
126
+ */
127
+ export function deleteSessionEvents(sessionName) {
128
+ const db = getDatabase();
129
+ const result = db.prepare('DELETE FROM session_events WHERE session_name = ?').run(sessionName);
130
+ return result.changes;
131
+ }
132
+ /**
133
+ * Delete events older than a certain age
134
+ */
135
+ export function deleteOldEvents(maxAgeMs) {
136
+ const db = getDatabase();
137
+ const cutoff = Date.now() - maxAgeMs;
138
+ const result = db.prepare('DELETE FROM session_events WHERE timestamp < ?').run(cutoff);
139
+ return result.changes;
140
+ }
141
+ /**
142
+ * Get event count for a session
143
+ */
144
+ export function getEventCount(sessionName) {
145
+ const db = getDatabase();
146
+ const result = db
147
+ .prepare('SELECT COUNT(*) as count FROM session_events WHERE session_name = ?')
148
+ .get(sessionName);
149
+ return result.count;
150
+ }
151
+ /**
152
+ * Convert DB row to SessionEvent
153
+ */
154
+ function dbEventToSessionEvent(row) {
155
+ const event = {
156
+ id: row.id.toString(),
157
+ sessionName: row.session_name,
158
+ timestamp: row.timestamp,
159
+ eventType: row.event_type,
160
+ };
161
+ // Tool call fields
162
+ if (row.tool_name)
163
+ event.toolName = row.tool_name;
164
+ if (row.tool_input) {
165
+ try {
166
+ event.toolInput = JSON.parse(row.tool_input);
167
+ }
168
+ catch {
169
+ // Keep as undefined if parse fails
170
+ }
171
+ }
172
+ if (row.tool_id)
173
+ event.toolId = row.tool_id;
174
+ // Tool result fields
175
+ if (row.tool_output)
176
+ event.toolOutput = row.tool_output;
177
+ if (row.tool_error !== null)
178
+ event.toolError = row.tool_error === 1;
179
+ // Text content
180
+ if (row.text_content)
181
+ event.text = row.text_content;
182
+ // Result fields
183
+ if (row.success !== null)
184
+ event.success = row.success === 1;
185
+ if (row.duration_ms !== null)
186
+ event.durationMs = row.duration_ms;
187
+ if (row.total_cost_usd !== null)
188
+ event.totalCostUsd = row.total_cost_usd;
189
+ if (row.num_turns !== null)
190
+ event.numTurns = row.num_turns;
191
+ return event;
192
+ }
193
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/db/events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIzC;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAmB;IAC7C,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;GAcvB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QACtB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;QAChC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;QACnE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;QAC5B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;QACpC,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3E,WAAW,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;QAC/B,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QACrE,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;QACpC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;QACxC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;KACjC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,eAAyB,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CACN;;;;GAIH,CACE;SACA,GAAG,CAAC,WAAW,CAAqB,CAAC;IAExC,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,WAAmB,EACnB,KAAa,EACb,MAAc;IAEd,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,MAAM,WAAW,GAAG,EAAE;SACnB,OAAO,CAAC,qEAAqE,CAAC;SAC9E,GAAG,CAAC,WAAW,CAAsB,CAAC;IAEzC,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CACN;;;;;GAKH,CACE;SACA,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAqB,CAAC;IAEvD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACvC,KAAK,EAAE,WAAW,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB,EAAE,KAAK,GAAG,EAAE;IAC7D,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CACN;;;;;GAKH,CACE;SACA,GAAG,CAAC,WAAW,EAAE,KAAK,CAAqB,CAAC;IAE/C,qCAAqC;IACrC,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CACN;;;;GAIH,CACE;SACA,GAAG,CAAC,WAAW,CAAqB,CAAC;IAExC,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN;;;;;GAKH,CACE;SACA,GAAG,CAAC,WAAW,CAA+B,CAAC;IAElD,OAAO,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAEhG,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;IAErC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAExF,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,WAAmB;IAC/C,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,MAAM,MAAM,GAAG,EAAE;SACd,OAAO,CAAC,qEAAqE,CAAC;SAC9E,GAAG,CAAC,WAAW,CAAsB,CAAC;IAEzC,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,GAAmB;IAChD,MAAM,KAAK,GAAiB;QAC1B,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE;QACrB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC;IAEF,mBAAmB;IACnB,IAAI,GAAG,CAAC,SAAS;QAAE,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC;IAClD,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,OAAO;QAAE,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAE5C,qBAAqB;IACrB,IAAI,GAAG,CAAC,WAAW;QAAE,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC;IACxD,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI;QAAE,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,UAAU,KAAK,CAAC,CAAC;IAEpE,eAAe;IACf,IAAI,GAAG,CAAC,YAAY;QAAE,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC;IAEpD,gBAAgB;IAChB,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI;QAAE,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC;IAC5D,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI;QAAE,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC;IACjE,IAAI,GAAG,CAAC,cAAc,KAAK,IAAI;QAAE,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,cAAc,CAAC;IACzE,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI;QAAE,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC;IAE3D,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -30,6 +30,7 @@ export interface DbSession {
30
30
  exited_at: number | null;
31
31
  output_content: string | null;
32
32
  output_captured_at: number | null;
33
+ output_format: 'terminal' | 'stream-json';
33
34
  }
34
35
  export interface DbStatusHistory {
35
36
  id: number;
@@ -57,6 +58,22 @@ export interface DbSchemaVersion {
57
58
  version: number;
58
59
  applied_at: number;
59
60
  }
61
+ export interface DbSessionEvent {
62
+ id: number;
63
+ session_name: string;
64
+ event_type: 'init' | 'text' | 'tool_call' | 'tool_result' | 'result';
65
+ timestamp: number;
66
+ tool_name: string | null;
67
+ tool_input: string | null;
68
+ tool_id: string | null;
69
+ tool_output: string | null;
70
+ tool_error: number | null;
71
+ text_content: string | null;
72
+ success: number | null;
73
+ duration_ms: number | null;
74
+ total_cost_usd: number | null;
75
+ num_turns: number | null;
76
+ }
60
77
  export interface UpsertSessionInput {
61
78
  project?: string;
62
79
  status?: SessionStatus;
@@ -83,6 +100,7 @@ export interface UpsertSessionInput {
83
100
  exited_at?: number | null;
84
101
  output_content?: string | null;
85
102
  output_captured_at?: number | null;
103
+ output_format?: 'terminal' | 'stream-json';
86
104
  }
87
105
  export interface UpsertEnvironmentInput {
88
106
  id: string;
@@ -91,8 +109,8 @@ export interface UpsertEnvironmentInput {
91
109
  isDefault: boolean;
92
110
  variables: Record<string, string>;
93
111
  }
94
- export declare const SCHEMA_VERSION = 10;
95
- export declare const CREATE_TABLES_SQL = "\n-- Sessions: current state of terminal sessions\nCREATE TABLE IF NOT EXISTS sessions (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n name TEXT NOT NULL UNIQUE,\n project TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'init',\n attention_reason TEXT,\n last_event TEXT,\n last_activity INTEGER NOT NULL,\n last_status_change INTEGER NOT NULL,\n environment_id TEXT,\n archived_at INTEGER,\n created_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL,\n -- StatusLine metrics (v4)\n model TEXT,\n cost_usd REAL,\n context_usage INTEGER,\n lines_added INTEGER,\n lines_removed INTEGER,\n -- Ralph mode fields (v5)\n ralph_enabled INTEGER DEFAULT 0,\n ralph_config TEXT,\n ralph_iteration INTEGER DEFAULT 0,\n ralph_status TEXT,\n -- Worktree isolation (v6)\n worktree_path TEXT,\n branch_name TEXT,\n -- Spawn/orchestration fields (v9)\n spawn_prompt TEXT,\n parent_session TEXT,\n task_id TEXT,\n exit_code INTEGER,\n exited_at INTEGER,\n -- Output capture (v10)\n output_content TEXT,\n output_captured_at INTEGER\n);\n\nCREATE INDEX IF NOT EXISTS idx_sessions_name ON sessions(name);\nCREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions(project);\nCREATE INDEX IF NOT EXISTS idx_sessions_status ON sessions(status);\nCREATE INDEX IF NOT EXISTS idx_sessions_last_activity ON sessions(last_activity);\nCREATE INDEX IF NOT EXISTS idx_sessions_parent ON sessions(parent_session);\nCREATE INDEX IF NOT EXISTS idx_sessions_task ON sessions(task_id);\n\n-- Status history: audit trail of status changes\nCREATE TABLE IF NOT EXISTS status_history (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_name TEXT NOT NULL,\n status TEXT NOT NULL,\n attention_reason TEXT,\n event TEXT,\n timestamp INTEGER NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_history_session ON status_history(session_name);\nCREATE INDEX IF NOT EXISTS idx_history_timestamp ON status_history(timestamp);\n\n-- Environments: API provider configurations\nCREATE TABLE IF NOT EXISTS environments (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n provider TEXT NOT NULL,\n icon TEXT,\n is_default INTEGER NOT NULL DEFAULT 0,\n variables TEXT NOT NULL,\n created_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_environments_default ON environments(is_default);\n\n-- Session-environment mapping\nCREATE TABLE IF NOT EXISTS session_environments (\n session_name TEXT PRIMARY KEY,\n environment_id TEXT NOT NULL\n);\n\n-- Schema version tracking\nCREATE TABLE IF NOT EXISTS schema_version (\n version INTEGER PRIMARY KEY,\n applied_at INTEGER NOT NULL\n);\n\n-- Push subscriptions for Web Push notifications (v8)\nCREATE TABLE IF NOT EXISTS push_subscriptions (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n endpoint TEXT UNIQUE NOT NULL,\n keys_p256dh TEXT NOT NULL,\n keys_auth TEXT NOT NULL,\n user_agent TEXT,\n created_at INTEGER NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_push_endpoint ON push_subscriptions(endpoint);\n";
112
+ export declare const SCHEMA_VERSION = 11;
113
+ export declare const CREATE_TABLES_SQL = "\n-- Sessions: current state of terminal sessions\nCREATE TABLE IF NOT EXISTS sessions (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n name TEXT NOT NULL UNIQUE,\n project TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'init',\n attention_reason TEXT,\n last_event TEXT,\n last_activity INTEGER NOT NULL,\n last_status_change INTEGER NOT NULL,\n environment_id TEXT,\n archived_at INTEGER,\n created_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL,\n -- StatusLine metrics (v4)\n model TEXT,\n cost_usd REAL,\n context_usage INTEGER,\n lines_added INTEGER,\n lines_removed INTEGER,\n -- Ralph mode fields (v5)\n ralph_enabled INTEGER DEFAULT 0,\n ralph_config TEXT,\n ralph_iteration INTEGER DEFAULT 0,\n ralph_status TEXT,\n -- Worktree isolation (v6)\n worktree_path TEXT,\n branch_name TEXT,\n -- Spawn/orchestration fields (v9)\n spawn_prompt TEXT,\n parent_session TEXT,\n task_id TEXT,\n exit_code INTEGER,\n exited_at INTEGER,\n -- Output capture (v10)\n output_content TEXT,\n output_captured_at INTEGER,\n -- Stream-json mode (v11)\n output_format TEXT DEFAULT 'terminal'\n);\n\nCREATE INDEX IF NOT EXISTS idx_sessions_name ON sessions(name);\nCREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions(project);\nCREATE INDEX IF NOT EXISTS idx_sessions_status ON sessions(status);\nCREATE INDEX IF NOT EXISTS idx_sessions_last_activity ON sessions(last_activity);\nCREATE INDEX IF NOT EXISTS idx_sessions_parent ON sessions(parent_session);\nCREATE INDEX IF NOT EXISTS idx_sessions_task ON sessions(task_id);\n\n-- Status history: audit trail of status changes\nCREATE TABLE IF NOT EXISTS status_history (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_name TEXT NOT NULL,\n status TEXT NOT NULL,\n attention_reason TEXT,\n event TEXT,\n timestamp INTEGER NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_history_session ON status_history(session_name);\nCREATE INDEX IF NOT EXISTS idx_history_timestamp ON status_history(timestamp);\n\n-- Environments: API provider configurations\nCREATE TABLE IF NOT EXISTS environments (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n provider TEXT NOT NULL,\n icon TEXT,\n is_default INTEGER NOT NULL DEFAULT 0,\n variables TEXT NOT NULL,\n created_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_environments_default ON environments(is_default);\n\n-- Session-environment mapping\nCREATE TABLE IF NOT EXISTS session_environments (\n session_name TEXT PRIMARY KEY,\n environment_id TEXT NOT NULL\n);\n\n-- Schema version tracking\nCREATE TABLE IF NOT EXISTS schema_version (\n version INTEGER PRIMARY KEY,\n applied_at INTEGER NOT NULL\n);\n\n-- Push subscriptions for Web Push notifications (v8)\nCREATE TABLE IF NOT EXISTS push_subscriptions (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n endpoint TEXT UNIQUE NOT NULL,\n keys_p256dh TEXT NOT NULL,\n keys_auth TEXT NOT NULL,\n user_agent TEXT,\n created_at INTEGER NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_push_endpoint ON push_subscriptions(endpoint);\n\n-- Session events for stream-json mode (v11)\nCREATE TABLE IF NOT EXISTS session_events (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_name TEXT NOT NULL,\n event_type TEXT NOT NULL,\n timestamp INTEGER NOT NULL,\n -- Tool call fields\n tool_name TEXT,\n tool_input TEXT,\n tool_id TEXT,\n -- Tool result fields\n tool_output TEXT,\n tool_error INTEGER,\n -- Text content\n text_content TEXT,\n -- Result fields\n success INTEGER,\n duration_ms INTEGER,\n total_cost_usd REAL,\n num_turns INTEGER\n);\n\nCREATE INDEX IF NOT EXISTS idx_events_session ON session_events(session_name);\nCREATE INDEX IF NOT EXISTS idx_events_timestamp ON session_events(timestamp);\nCREATE INDEX IF NOT EXISTS idx_events_type ON session_events(event_type);\n";
96
114
  export declare const RETENTION_CONFIG: {
97
115
  /** Max age for sessions before cleanup (24 hours) */
98
116
  sessionMaxAge: number;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  // ============================================================================
2
2
  // SQL Schema Definitions
3
3
  // ============================================================================
4
- export const SCHEMA_VERSION = 10;
4
+ export const SCHEMA_VERSION = 11;
5
5
  export const CREATE_TABLES_SQL = `
6
6
  -- Sessions: current state of terminal sessions
7
7
  CREATE TABLE IF NOT EXISTS sessions (
@@ -39,7 +39,9 @@ CREATE TABLE IF NOT EXISTS sessions (
39
39
  exited_at INTEGER,
40
40
  -- Output capture (v10)
41
41
  output_content TEXT,
42
- output_captured_at INTEGER
42
+ output_captured_at INTEGER,
43
+ -- Stream-json mode (v11)
44
+ output_format TEXT DEFAULT 'terminal'
43
45
  );
44
46
 
45
47
  CREATE INDEX IF NOT EXISTS idx_sessions_name ON sessions(name);
@@ -99,6 +101,32 @@ CREATE TABLE IF NOT EXISTS push_subscriptions (
99
101
  );
100
102
 
101
103
  CREATE INDEX IF NOT EXISTS idx_push_endpoint ON push_subscriptions(endpoint);
104
+
105
+ -- Session events for stream-json mode (v11)
106
+ CREATE TABLE IF NOT EXISTS session_events (
107
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
108
+ session_name TEXT NOT NULL,
109
+ event_type TEXT NOT NULL,
110
+ timestamp INTEGER NOT NULL,
111
+ -- Tool call fields
112
+ tool_name TEXT,
113
+ tool_input TEXT,
114
+ tool_id TEXT,
115
+ -- Tool result fields
116
+ tool_output TEXT,
117
+ tool_error INTEGER,
118
+ -- Text content
119
+ text_content TEXT,
120
+ -- Result fields
121
+ success INTEGER,
122
+ duration_ms INTEGER,
123
+ total_cost_usd REAL,
124
+ num_turns INTEGER
125
+ );
126
+
127
+ CREATE INDEX IF NOT EXISTS idx_events_session ON session_events(session_name);
128
+ CREATE INDEX IF NOT EXISTS idx_events_timestamp ON session_events(timestamp);
129
+ CREATE INDEX IF NOT EXISTS idx_events_type ON session_events(event_type);
102
130
  `;
103
131
  // ============================================================================
104
132
  // Retention Configuration
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAuHA,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AAEjC,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiGhC,CAAC;AAEF,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,qDAAqD;IACrD,aAAa,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAClC,6DAA6D;IAC7D,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IACxC,0CAA0C;IAC1C,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IACtC,gCAAgC;IAChC,eAAe,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;CAChC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAiJA,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AAEjC,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6HhC,CAAC;AAEF,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,qDAAqD;IACrD,aAAa,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAClC,6DAA6D;IAC7D,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IACxC,0CAA0C;IAC1C,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IACtC,gCAAgC;IAChC,eAAe,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;CAChC,CAAC"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * StreamJsonSession - Manages Claude sessions using stream-json format
3
+ *
4
+ * Instead of tmux + terminal parsing, this spawns Claude with:
5
+ * --input-format stream-json --output-format stream-json --verbose
6
+ *
7
+ * Benefits:
8
+ * - Structured events (no ANSI parsing)
9
+ * - Programmatic tool call interception
10
+ * - Direct cost/token tracking
11
+ * - Bidirectional communication via stdin/stdout
12
+ */
13
+ import { EventEmitter } from 'events';
14
+ import type { StreamJsonResultEvent, SessionEvent, SessionStatus } from '247-shared';
15
+ export interface StreamJsonSessionOptions {
16
+ cwd: string;
17
+ sessionName: string;
18
+ prompt: string;
19
+ model?: string;
20
+ trustMode?: boolean;
21
+ envVars?: Record<string, string>;
22
+ onEvent?: (event: SessionEvent) => void;
23
+ onStatusChange?: (status: SessionStatus) => void;
24
+ onComplete?: (result: StreamJsonResultEvent) => void;
25
+ }
26
+ export type StreamSessionStatus = 'starting' | 'running' | 'waiting_input' | 'completed' | 'error';
27
+ export declare class StreamJsonSession extends EventEmitter {
28
+ private process;
29
+ private readline;
30
+ private options;
31
+ private events;
32
+ private status;
33
+ private claudeSessionId;
34
+ private model;
35
+ constructor(options: StreamJsonSessionOptions);
36
+ /**
37
+ * Start the Claude process
38
+ */
39
+ start(): void;
40
+ /**
41
+ * Parse a line of NDJSON output
42
+ */
43
+ private parseLine;
44
+ /**
45
+ * Handle a parsed stream event
46
+ */
47
+ private handleEvent;
48
+ /**
49
+ * Handle system init event
50
+ */
51
+ private handleInitEvent;
52
+ /**
53
+ * Handle assistant message event
54
+ */
55
+ private handleAssistantEvent;
56
+ /**
57
+ * Handle user message event (tool results)
58
+ */
59
+ private handleUserEvent;
60
+ /**
61
+ * Handle final result event
62
+ */
63
+ private handleResultEvent;
64
+ /**
65
+ * Add event and notify callback
66
+ */
67
+ private addEvent;
68
+ /**
69
+ * Handle process error
70
+ */
71
+ private handleError;
72
+ /**
73
+ * Send a user message via stdin
74
+ */
75
+ sendUserMessage(content: string): void;
76
+ /**
77
+ * Send a tool result via stdin (for responding to AskUserQuestion, etc.)
78
+ */
79
+ sendToolResult(toolUseId: string, result: string, isError?: boolean): void;
80
+ /**
81
+ * Kill the process
82
+ */
83
+ kill(): void;
84
+ /**
85
+ * Get all events
86
+ */
87
+ getEvents(): SessionEvent[];
88
+ /**
89
+ * Get current status
90
+ */
91
+ getStatus(): StreamSessionStatus;
92
+ /**
93
+ * Get Claude session ID
94
+ */
95
+ getClaudeSessionId(): string | null;
96
+ /**
97
+ * Get model name
98
+ */
99
+ getModel(): string | null;
100
+ /**
101
+ * Check if process is running
102
+ */
103
+ isRunning(): boolean;
104
+ }
105
+ export declare function getStreamSession(sessionName: string): StreamJsonSession | undefined;
106
+ export declare function registerStreamSession(sessionName: string, session: StreamJsonSession): void;
107
+ export declare function unregisterStreamSession(sessionName: string): void;
108
+ export declare function getAllStreamSessions(): Map<string, StreamJsonSession>;
109
+ //# sourceMappingURL=stream-json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-json.d.ts","sourceRoot":"","sources":["../../src/services/stream-json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAKV,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACd,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IACjD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,SAAS,GAAG,eAAe,GAAG,WAAW,GAAG,OAAO,CAAC;AAEnG,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,KAAK,CAAuB;gBAExB,OAAO,EAAE,wBAAwB;IAK7C;;OAEG;IACH,KAAK,IAAI,IAAI;IA8Db;;OAEG;IACH,OAAO,CAAC,SAAS;IAWjB;;OAEG;IACH,OAAO,CAAC,WAAW;IAiBnB;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuC5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAsBvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAMhB;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAiBtC;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,IAAI;IA6BxE;;OAEG;IACH,IAAI,IAAI,IAAI;IAWZ;;OAEG;IACH,SAAS,IAAI,YAAY,EAAE;IAI3B;;OAEG;IACH,SAAS,IAAI,mBAAmB;IAIhC;;OAEG;IACH,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAInC;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB;AAKD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEnF;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAE3F;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAEjE;AAED,wBAAgB,oBAAoB,IAAI,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAErE"}
@@ -0,0 +1,335 @@
1
+ /**
2
+ * StreamJsonSession - Manages Claude sessions using stream-json format
3
+ *
4
+ * Instead of tmux + terminal parsing, this spawns Claude with:
5
+ * --input-format stream-json --output-format stream-json --verbose
6
+ *
7
+ * Benefits:
8
+ * - Structured events (no ANSI parsing)
9
+ * - Programmatic tool call interception
10
+ * - Direct cost/token tracking
11
+ * - Bidirectional communication via stdin/stdout
12
+ */
13
+ import { spawn } from 'child_process';
14
+ import { EventEmitter } from 'events';
15
+ import { createInterface } from 'readline';
16
+ import { randomUUID } from 'crypto';
17
+ export class StreamJsonSession extends EventEmitter {
18
+ process = null;
19
+ readline = null;
20
+ options;
21
+ events = [];
22
+ status = 'starting';
23
+ claudeSessionId = null;
24
+ model = null;
25
+ constructor(options) {
26
+ super();
27
+ this.options = options;
28
+ }
29
+ /**
30
+ * Start the Claude process
31
+ */
32
+ start() {
33
+ const args = ['--input-format', 'stream-json', '--output-format', 'stream-json', '--verbose'];
34
+ if (this.options.trustMode) {
35
+ args.push('--dangerously-skip-permissions');
36
+ }
37
+ if (this.options.model) {
38
+ args.push('--model', this.options.model);
39
+ }
40
+ // Build environment
41
+ const env = {
42
+ ...process.env,
43
+ ...this.options.envVars,
44
+ };
45
+ console.log(`[StreamJson] Starting session ${this.options.sessionName} in ${this.options.cwd}`);
46
+ this.process = spawn('claude', args, {
47
+ cwd: this.options.cwd,
48
+ env,
49
+ stdio: ['pipe', 'pipe', 'pipe'],
50
+ });
51
+ if (!this.process.stdout || !this.process.stdin) {
52
+ this.handleError(new Error('Failed to get process streams'));
53
+ return;
54
+ }
55
+ // Parse NDJSON from stdout
56
+ this.readline = createInterface({
57
+ input: this.process.stdout,
58
+ crlfDelay: Infinity,
59
+ });
60
+ this.readline.on('line', (line) => {
61
+ this.parseLine(line);
62
+ });
63
+ this.process.stderr?.on('data', (data) => {
64
+ console.error(`[StreamJson] stderr: ${data.toString()}`);
65
+ });
66
+ this.process.on('error', (err) => {
67
+ this.handleError(err);
68
+ });
69
+ this.process.on('exit', (code) => {
70
+ console.log(`[StreamJson] Process exited with code ${code}`);
71
+ if (this.status !== 'completed') {
72
+ this.status = code === 0 ? 'completed' : 'error';
73
+ this.emit('exit', code);
74
+ }
75
+ });
76
+ // Send initial prompt
77
+ this.sendUserMessage(this.options.prompt);
78
+ this.status = 'running';
79
+ this.options.onStatusChange?.('working');
80
+ }
81
+ /**
82
+ * Parse a line of NDJSON output
83
+ */
84
+ parseLine(line) {
85
+ if (!line.trim())
86
+ return;
87
+ try {
88
+ const event = JSON.parse(line);
89
+ this.handleEvent(event);
90
+ }
91
+ catch (_err) {
92
+ console.error(`[StreamJson] Failed to parse line: ${line.substring(0, 100)}...`);
93
+ }
94
+ }
95
+ /**
96
+ * Handle a parsed stream event
97
+ */
98
+ handleEvent(event) {
99
+ switch (event.type) {
100
+ case 'system':
101
+ this.handleInitEvent(event);
102
+ break;
103
+ case 'assistant':
104
+ this.handleAssistantEvent(event);
105
+ break;
106
+ case 'user':
107
+ this.handleUserEvent(event);
108
+ break;
109
+ case 'result':
110
+ this.handleResultEvent(event);
111
+ break;
112
+ }
113
+ }
114
+ /**
115
+ * Handle system init event
116
+ */
117
+ handleInitEvent(event) {
118
+ this.claudeSessionId = event.session_id;
119
+ this.model = event.model;
120
+ const sessionEvent = {
121
+ id: randomUUID(),
122
+ sessionName: this.options.sessionName,
123
+ timestamp: Date.now(),
124
+ eventType: 'init',
125
+ };
126
+ this.addEvent(sessionEvent);
127
+ this.emit('init', event);
128
+ }
129
+ /**
130
+ * Handle assistant message event
131
+ */
132
+ handleAssistantEvent(event) {
133
+ for (const content of event.message.content) {
134
+ if (content.type === 'text') {
135
+ const sessionEvent = {
136
+ id: randomUUID(),
137
+ sessionName: this.options.sessionName,
138
+ timestamp: Date.now(),
139
+ eventType: 'text',
140
+ text: content.text,
141
+ };
142
+ this.addEvent(sessionEvent);
143
+ this.emit('text', content.text);
144
+ }
145
+ else if (content.type === 'tool_use') {
146
+ const sessionEvent = {
147
+ id: randomUUID(),
148
+ sessionName: this.options.sessionName,
149
+ timestamp: Date.now(),
150
+ eventType: 'tool_call',
151
+ toolName: content.name,
152
+ toolInput: content.input,
153
+ toolId: content.id,
154
+ };
155
+ this.addEvent(sessionEvent);
156
+ this.emit('tool_call', {
157
+ name: content.name,
158
+ input: content.input,
159
+ id: content.id,
160
+ });
161
+ // Check if this is AskUserQuestion - we need to handle it specially
162
+ if (content.name === 'AskUserQuestion') {
163
+ this.status = 'waiting_input';
164
+ this.options.onStatusChange?.('needs_attention');
165
+ this.emit('needs_input', content.input);
166
+ }
167
+ }
168
+ }
169
+ }
170
+ /**
171
+ * Handle user message event (tool results)
172
+ */
173
+ handleUserEvent(event) {
174
+ for (const content of event.message.content) {
175
+ if (content.type === 'tool_result') {
176
+ const sessionEvent = {
177
+ id: randomUUID(),
178
+ sessionName: this.options.sessionName,
179
+ timestamp: Date.now(),
180
+ eventType: 'tool_result',
181
+ toolId: content.tool_use_id,
182
+ toolOutput: event.tool_use_result?.stdout || content.content,
183
+ toolError: content.is_error,
184
+ };
185
+ this.addEvent(sessionEvent);
186
+ this.emit('tool_result', {
187
+ id: content.tool_use_id,
188
+ output: event.tool_use_result?.stdout || content.content,
189
+ error: content.is_error,
190
+ });
191
+ }
192
+ }
193
+ }
194
+ /**
195
+ * Handle final result event
196
+ */
197
+ handleResultEvent(event) {
198
+ const sessionEvent = {
199
+ id: randomUUID(),
200
+ sessionName: this.options.sessionName,
201
+ timestamp: Date.now(),
202
+ eventType: 'result',
203
+ success: !event.is_error,
204
+ durationMs: event.duration_ms,
205
+ totalCostUsd: event.total_cost_usd,
206
+ numTurns: event.num_turns,
207
+ };
208
+ this.addEvent(sessionEvent);
209
+ this.status = 'completed';
210
+ this.options.onStatusChange?.('idle');
211
+ this.options.onComplete?.(event);
212
+ this.emit('result', event);
213
+ this.emit('complete', event);
214
+ }
215
+ /**
216
+ * Add event and notify callback
217
+ */
218
+ addEvent(event) {
219
+ this.events.push(event);
220
+ this.options.onEvent?.(event);
221
+ this.emit('event', event);
222
+ }
223
+ /**
224
+ * Handle process error
225
+ */
226
+ handleError(err) {
227
+ console.error(`[StreamJson] Error in session ${this.options.sessionName}:`, err);
228
+ this.status = 'error';
229
+ this.options.onStatusChange?.('idle');
230
+ this.emit('error', err);
231
+ }
232
+ /**
233
+ * Send a user message via stdin
234
+ */
235
+ sendUserMessage(content) {
236
+ if (!this.process?.stdin?.writable) {
237
+ console.error(`[StreamJson] Cannot send message - stdin not writable`);
238
+ return;
239
+ }
240
+ const message = {
241
+ type: 'user',
242
+ message: {
243
+ role: 'user',
244
+ content: content,
245
+ },
246
+ };
247
+ this.process.stdin.write(JSON.stringify(message) + '\n');
248
+ }
249
+ /**
250
+ * Send a tool result via stdin (for responding to AskUserQuestion, etc.)
251
+ */
252
+ sendToolResult(toolUseId, result, isError = false) {
253
+ if (!this.process?.stdin?.writable) {
254
+ console.error(`[StreamJson] Cannot send tool result - stdin not writable`);
255
+ return;
256
+ }
257
+ const message = {
258
+ type: 'user',
259
+ message: {
260
+ role: 'user',
261
+ content: [
262
+ {
263
+ type: 'tool_result',
264
+ tool_use_id: toolUseId,
265
+ content: result,
266
+ is_error: isError,
267
+ },
268
+ ],
269
+ },
270
+ };
271
+ this.process.stdin.write(JSON.stringify(message) + '\n');
272
+ if (this.status === 'waiting_input') {
273
+ this.status = 'running';
274
+ this.options.onStatusChange?.('working');
275
+ }
276
+ }
277
+ /**
278
+ * Kill the process
279
+ */
280
+ kill() {
281
+ if (this.process) {
282
+ this.process.kill('SIGTERM');
283
+ this.process = null;
284
+ }
285
+ if (this.readline) {
286
+ this.readline.close();
287
+ this.readline = null;
288
+ }
289
+ }
290
+ /**
291
+ * Get all events
292
+ */
293
+ getEvents() {
294
+ return [...this.events];
295
+ }
296
+ /**
297
+ * Get current status
298
+ */
299
+ getStatus() {
300
+ return this.status;
301
+ }
302
+ /**
303
+ * Get Claude session ID
304
+ */
305
+ getClaudeSessionId() {
306
+ return this.claudeSessionId;
307
+ }
308
+ /**
309
+ * Get model name
310
+ */
311
+ getModel() {
312
+ return this.model;
313
+ }
314
+ /**
315
+ * Check if process is running
316
+ */
317
+ isRunning() {
318
+ return this.status === 'running' || this.status === 'waiting_input';
319
+ }
320
+ }
321
+ // Registry for active stream-json sessions
322
+ const activeSessions = new Map();
323
+ export function getStreamSession(sessionName) {
324
+ return activeSessions.get(sessionName);
325
+ }
326
+ export function registerStreamSession(sessionName, session) {
327
+ activeSessions.set(sessionName, session);
328
+ }
329
+ export function unregisterStreamSession(sessionName) {
330
+ activeSessions.delete(sessionName);
331
+ }
332
+ export function getAllStreamSessions() {
333
+ return activeSessions;
334
+ }
335
+ //# sourceMappingURL=stream-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-json.js","sourceRoot":"","sources":["../../src/services/stream-json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAAa,MAAM,UAAU,CAAC;AAUtD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAgBpC,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACzC,OAAO,GAAwB,IAAI,CAAC;IACpC,QAAQ,GAAqB,IAAI,CAAC;IAClC,OAAO,CAA2B;IAClC,MAAM,GAAmB,EAAE,CAAC;IAC5B,MAAM,GAAwB,UAAU,CAAC;IACzC,eAAe,GAAkB,IAAI,CAAC;IACtC,KAAK,GAAkB,IAAI,CAAC;IAEpC,YAAY,OAAiC;QAC3C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,MAAM,IAAI,GAAG,CAAC,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAE9F,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,oBAAoB;QACpB,MAAM,GAAG,GAAG;YACV,GAAG,OAAO,CAAC,GAAG;YACd,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;SACxB,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,OAAO,CAAC,WAAW,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAEhG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;YACnC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;YACrB,GAAG;YACH,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChD,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;YAC9B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC1B,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACvC,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAC;YAC7D,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAChC,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBACjD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,sBAAsB;QACtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,IAAY;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO;QAEzB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAAsB;QACxC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,IAAI,CAAC,eAAe,CAAC,KAA4B,CAAC,CAAC;gBACnD,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,oBAAoB,CAAC,KAAiC,CAAC,CAAC;gBAC7D,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,eAAe,CAAC,KAA4B,CAAC,CAAC;gBACnD,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,iBAAiB,CAAC,KAA8B,CAAC,CAAC;gBACvD,MAAM;QACV,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,KAA0B;QAChD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAEzB,MAAM,YAAY,GAAiB;YACjC,EAAE,EAAE,UAAU,EAAE;YAChB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACrC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,SAAS,EAAE,MAAM;SAClB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,KAA+B;QAC1D,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,MAAM,YAAY,GAAiB;oBACjC,EAAE,EAAE,UAAU,EAAE;oBAChB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;oBACrC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,MAAM;oBACjB,IAAI,EAAE,OAAO,CAAC,IAAI;iBACnB,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAiB;oBACjC,EAAE,EAAE,UAAU,EAAE;oBAChB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;oBACrC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,WAAW;oBACtB,QAAQ,EAAE,OAAO,CAAC,IAAI;oBACtB,SAAS,EAAE,OAAO,CAAC,KAAK;oBACxB,MAAM,EAAE,OAAO,CAAC,EAAE;iBACnB,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBACrB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,EAAE,EAAE,OAAO,CAAC,EAAE;iBACf,CAAC,CAAC;gBAEH,oEAAoE;gBACpE,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACvC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;oBAC9B,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,iBAAiB,CAAC,CAAC;oBACjD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,KAA0B;QAChD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACnC,MAAM,YAAY,GAAiB;oBACjC,EAAE,EAAE,UAAU,EAAE;oBAChB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;oBACrC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,aAAa;oBACxB,MAAM,EAAE,OAAO,CAAC,WAAW;oBAC3B,UAAU,EAAE,KAAK,CAAC,eAAe,EAAE,MAAM,IAAI,OAAO,CAAC,OAAO;oBAC5D,SAAS,EAAE,OAAO,CAAC,QAAQ;iBAC5B,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;oBACvB,EAAE,EAAE,OAAO,CAAC,WAAW;oBACvB,MAAM,EAAE,KAAK,CAAC,eAAe,EAAE,MAAM,IAAI,OAAO,CAAC,OAAO;oBACxD,KAAK,EAAE,OAAO,CAAC,QAAQ;iBACxB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,KAA4B;QACpD,MAAM,YAAY,GAAiB;YACjC,EAAE,EAAE,UAAU,EAAE;YAChB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACrC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,CAAC,KAAK,CAAC,QAAQ;YACxB,UAAU,EAAE,KAAK,CAAC,WAAW;YAC7B,YAAY,EAAE,KAAK,CAAC,cAAc;YAClC,QAAQ,EAAE,KAAK,CAAC,SAAS;SAC1B,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAE5B,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,KAAmB;QAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,GAAU;QAC5B,OAAO,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC;QACjF,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAAe;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO;aACjB;SACF,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,SAAiB,EAAE,MAAc,EAAE,OAAO,GAAG,KAAK;QAC/D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,SAAS;wBACtB,OAAO,EAAE,MAAM;wBACf,QAAQ,EAAE,OAAO;qBAClB;iBACF;aACF;SACF,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAEzD,IAAI,IAAI,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,eAAe,CAAC;IACtE,CAAC;CACF;AAED,2CAA2C;AAC3C,MAAM,cAAc,GAAG,IAAI,GAAG,EAA6B,CAAC;AAE5D,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,WAAmB,EAAE,OAA0B;IACnF,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -226,6 +226,7 @@ export interface ArchiveSessionResponse {
226
226
  message: string;
227
227
  session?: WSSessionInfo;
228
228
  }
229
+ export type SpawnOutputFormat = 'terminal' | 'stream-json';
229
230
  export interface SpawnSessionRequest {
230
231
  prompt: string;
231
232
  project: string;
@@ -237,6 +238,7 @@ export interface SpawnSessionRequest {
237
238
  timeout?: number;
238
239
  trustMode?: boolean;
239
240
  model?: string;
241
+ outputFormat?: SpawnOutputFormat;
240
242
  }
241
243
  export interface SpawnSessionResponse {
242
244
  success: boolean;
@@ -275,6 +277,97 @@ export interface HookStatusRequest {
275
277
  project?: string;
276
278
  timestamp?: string;
277
279
  }
280
+ export interface StreamJsonEventBase {
281
+ session_id: string;
282
+ uuid: string;
283
+ }
284
+ export interface StreamJsonInitEvent extends StreamJsonEventBase {
285
+ type: 'system';
286
+ subtype: 'init';
287
+ cwd: string;
288
+ tools: string[];
289
+ mcp_servers: Array<{
290
+ name: string;
291
+ status: string;
292
+ }>;
293
+ model: string;
294
+ permissionMode: string;
295
+ claude_code_version: string;
296
+ }
297
+ export interface StreamJsonTextContent {
298
+ type: 'text';
299
+ text: string;
300
+ }
301
+ export interface StreamJsonToolUseContent {
302
+ type: 'tool_use';
303
+ id: string;
304
+ name: string;
305
+ input: Record<string, unknown>;
306
+ }
307
+ export type StreamJsonContent = StreamJsonTextContent | StreamJsonToolUseContent;
308
+ export interface StreamJsonUsage {
309
+ input_tokens: number;
310
+ output_tokens: number;
311
+ cache_creation_input_tokens?: number;
312
+ cache_read_input_tokens?: number;
313
+ }
314
+ export interface StreamJsonAssistantEvent extends StreamJsonEventBase {
315
+ type: 'assistant';
316
+ message: {
317
+ model: string;
318
+ id: string;
319
+ role: 'assistant';
320
+ content: StreamJsonContent[];
321
+ usage: StreamJsonUsage;
322
+ };
323
+ }
324
+ export interface StreamJsonToolResult {
325
+ tool_use_id: string;
326
+ type: 'tool_result';
327
+ content: string;
328
+ is_error: boolean;
329
+ }
330
+ export interface StreamJsonUserEvent extends StreamJsonEventBase {
331
+ type: 'user';
332
+ message: {
333
+ role: 'user';
334
+ content: StreamJsonToolResult[];
335
+ };
336
+ tool_use_result?: {
337
+ stdout?: string;
338
+ stderr?: string;
339
+ };
340
+ }
341
+ export interface StreamJsonResultEvent extends StreamJsonEventBase {
342
+ type: 'result';
343
+ subtype: 'success' | 'error';
344
+ is_error: boolean;
345
+ duration_ms: number;
346
+ num_turns: number;
347
+ result: string;
348
+ total_cost_usd: number;
349
+ usage: {
350
+ input_tokens: number;
351
+ output_tokens: number;
352
+ };
353
+ }
354
+ export type StreamJsonEvent = StreamJsonInitEvent | StreamJsonAssistantEvent | StreamJsonUserEvent | StreamJsonResultEvent;
355
+ export interface SessionEvent {
356
+ id: string;
357
+ sessionName: string;
358
+ timestamp: number;
359
+ eventType: 'init' | 'text' | 'tool_call' | 'tool_result' | 'result';
360
+ toolName?: string;
361
+ toolInput?: Record<string, unknown>;
362
+ toolId?: string;
363
+ toolOutput?: string;
364
+ toolError?: boolean;
365
+ text?: string;
366
+ success?: boolean;
367
+ durationMs?: number;
368
+ totalCostUsd?: number;
369
+ numTurns?: number;
370
+ }
278
371
  export declare const ENVIRONMENT_PRESETS: Record<EnvironmentProvider, {
279
372
  label: string;
280
373
  defaultVariables: Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AA6CA,0BAA0B;AAC1B,MAAM,CAAC,MAAM,wBAAwB,GAAqC;IACxE,KAAK,EAAE,2CAA2C;IAClD,MAAM,EAAE,8BAA8B;IACtC,KAAK,EAAE,iCAAiC;IACxC,IAAI,EAAE,yBAAyB;IAC/B,MAAM,EAAE,EAAE,EAAE,+BAA+B;CAC5C,CAAC;AAEF,iDAAiD;AACjD,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,gBAAgB;IAChB,sBAAsB;IACtB,kBAAkB;IAClB,oBAAoB;IACpB,gBAAgB;CACR,CAAC;AAmIX,mCAAmC;AACnC,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,KAAK;IACL,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,UAAU;IACV,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;CACE,CAAC;AAIX,0DAA0D;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAAiD;IAClF,SAAS,EAAE,KAAK;IAChB,UAAU,EAAE,OAAO;CACpB,CAAC;AA2HF,0BAA0B;AAC1B,MAAM,CAAC,MAAM,mBAAmB,GAO5B;IACF,SAAS,EAAE;QACT,KAAK,EAAE,WAAW;QAClB,gBAAgB,EAAE;YAChB,iBAAiB,EAAE,EAAE;SACtB;QACD,WAAW,EAAE,6BAA6B;KAC3C;IACD,UAAU,EAAE;QACV,KAAK,EAAE,YAAY;QACnB,gBAAgB,EAAE;YAChB,kBAAkB,EAAE,2BAA2B;YAC/C,oBAAoB,EAAE,EAAE;YACxB,iBAAiB,EAAE,EAAE,EAAE,2BAA2B;SACnD;QACD,WAAW,EAAE,mCAAmC;KACjD;CACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AA6CA,0BAA0B;AAC1B,MAAM,CAAC,MAAM,wBAAwB,GAAqC;IACxE,KAAK,EAAE,2CAA2C;IAClD,MAAM,EAAE,8BAA8B;IACtC,KAAK,EAAE,iCAAiC;IACxC,IAAI,EAAE,yBAAyB;IAC/B,MAAM,EAAE,EAAE,EAAE,+BAA+B;CAC5C,CAAC;AAEF,iDAAiD;AACjD,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,gBAAgB;IAChB,sBAAsB;IACtB,kBAAkB;IAClB,oBAAoB;IACpB,gBAAgB;CACR,CAAC;AAmIX,mCAAmC;AACnC,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,KAAK;IACL,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,UAAU;IACV,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;CACE,CAAC;AAIX,0DAA0D;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAAiD;IAClF,SAAS,EAAE,KAAK;IAChB,UAAU,EAAE,OAAO;CACpB,CAAC;AAyPF,0BAA0B;AAC1B,MAAM,CAAC,MAAM,mBAAmB,GAO5B;IACF,SAAS,EAAE;QACT,KAAK,EAAE,WAAW;QAClB,gBAAgB,EAAE;YAChB,iBAAiB,EAAE,EAAE;SACtB;QACD,WAAW,EAAE,6BAA6B;KAC3C;IACD,UAAU,EAAE;QACV,KAAK,EAAE,YAAY;QACnB,gBAAgB,EAAE;YAChB,kBAAkB,EAAE,2BAA2B;YAC/C,oBAAoB,EAAE,EAAE;YACxB,iBAAiB,EAAE,EAAE,EAAE,2BAA2B;SACnD;QACD,WAAW,EAAE,mCAAmC;KACjD;CACF,CAAC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "247-shared",
3
- "version": "2.20.4",
3
+ "version": "2.21.1",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "exports": {
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ const program = new Command();
15
15
  program
16
16
  .name('247')
17
17
  .description('247 - Access Claude Code from anywhere 24/7\nby The Vibe Company')
18
- .version('2.20.4')
18
+ .version('2.21.1')
19
19
  .option('-P, --profile <name>', 'Use a specific profile (dev, prod, etc.)');
20
20
  // Add commands
21
21
  program.addCommand(initCommand);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "247-cli",
3
- "version": "2.20.4",
3
+ "version": "2.21.1",
4
4
  "description": "247 - Access Claude Code from anywhere 24/7",
5
5
  "keywords": [
6
6
  "claude",