247-cli 2.21.1 → 2.23.2

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 (133) hide show
  1. package/agent/dist/config.d.ts +4 -7
  2. package/agent/dist/config.d.ts.map +1 -1
  3. package/agent/dist/config.js +1 -2
  4. package/agent/dist/config.js.map +1 -1
  5. package/agent/dist/db/index.d.ts +0 -6
  6. package/agent/dist/db/index.d.ts.map +1 -1
  7. package/agent/dist/db/index.js +142 -88
  8. package/agent/dist/db/index.js.map +1 -1
  9. package/agent/dist/db/schema.d.ts +3 -50
  10. package/agent/dist/db/schema.d.ts.map +1 -1
  11. package/agent/dist/db/schema.js +2 -67
  12. package/agent/dist/db/schema.js.map +1 -1
  13. package/agent/dist/db/sessions.d.ts +0 -20
  14. package/agent/dist/db/sessions.d.ts.map +1 -1
  15. package/agent/dist/db/sessions.js +0 -86
  16. package/agent/dist/db/sessions.js.map +1 -1
  17. package/agent/dist/index.js +1 -0
  18. package/agent/dist/index.js.map +1 -1
  19. package/agent/dist/logger.d.ts +0 -2
  20. package/agent/dist/logger.d.ts.map +1 -1
  21. package/agent/dist/logger.js +0 -4
  22. package/agent/dist/logger.js.map +1 -1
  23. package/agent/dist/routes/attention.d.ts +10 -0
  24. package/agent/dist/routes/attention.d.ts.map +1 -0
  25. package/agent/dist/routes/attention.js +123 -0
  26. package/agent/dist/routes/attention.js.map +1 -0
  27. package/agent/dist/routes/index.d.ts +3 -7
  28. package/agent/dist/routes/index.d.ts.map +1 -1
  29. package/agent/dist/routes/index.js +3 -7
  30. package/agent/dist/routes/index.js.map +1 -1
  31. package/agent/dist/routes/pair.d.ts +26 -0
  32. package/agent/dist/routes/pair.d.ts.map +1 -0
  33. package/agent/dist/routes/pair.js +381 -0
  34. package/agent/dist/routes/pair.js.map +1 -0
  35. package/agent/dist/routes/projects.d.ts +2 -1
  36. package/agent/dist/routes/projects.d.ts.map +1 -1
  37. package/agent/dist/routes/projects.js +7 -39
  38. package/agent/dist/routes/projects.js.map +1 -1
  39. package/agent/dist/routes/sessions.d.ts.map +1 -1
  40. package/agent/dist/routes/sessions.js +38 -97
  41. package/agent/dist/routes/sessions.js.map +1 -1
  42. package/agent/dist/server.d.ts.map +1 -1
  43. package/agent/dist/server.js +11 -81
  44. package/agent/dist/server.js.map +1 -1
  45. package/agent/dist/setup-hooks.d.ts +10 -0
  46. package/agent/dist/setup-hooks.d.ts.map +1 -0
  47. package/agent/dist/setup-hooks.js +157 -0
  48. package/agent/dist/setup-hooks.js.map +1 -0
  49. package/agent/dist/status.d.ts.map +1 -1
  50. package/agent/dist/status.js +0 -8
  51. package/agent/dist/status.js.map +1 -1
  52. package/agent/dist/websocket-handlers.d.ts.map +1 -1
  53. package/agent/dist/websocket-handlers.js +2 -139
  54. package/agent/dist/websocket-handlers.js.map +1 -1
  55. package/agent/node_modules/247-shared/dist/types/index.d.ts +0 -147
  56. package/agent/node_modules/247-shared/dist/types/index.d.ts.map +1 -1
  57. package/agent/node_modules/247-shared/dist/types/index.js +0 -16
  58. package/agent/node_modules/247-shared/dist/types/index.js.map +1 -1
  59. package/agent/node_modules/247-shared/package.json +1 -1
  60. package/dist/index.js +1 -1
  61. package/package.json +3 -3
  62. package/agent/dist/db/environments.d.ts +0 -60
  63. package/agent/dist/db/environments.d.ts.map +0 -1
  64. package/agent/dist/db/environments.js +0 -235
  65. package/agent/dist/db/environments.js.map +0 -1
  66. package/agent/dist/db/events.d.ts +0 -46
  67. package/agent/dist/db/events.d.ts.map +0 -1
  68. package/agent/dist/db/events.js +0 -193
  69. package/agent/dist/db/events.js.map +0 -1
  70. package/agent/dist/db/push-subscriptions.d.ts +0 -44
  71. package/agent/dist/db/push-subscriptions.d.ts.map +0 -1
  72. package/agent/dist/db/push-subscriptions.js +0 -98
  73. package/agent/dist/db/push-subscriptions.js.map +0 -1
  74. package/agent/dist/editor.d.ts +0 -18
  75. package/agent/dist/editor.d.ts.map +0 -1
  76. package/agent/dist/editor.js +0 -222
  77. package/agent/dist/editor.js.map +0 -1
  78. package/agent/dist/environments.d.ts +0 -59
  79. package/agent/dist/environments.d.ts.map +0 -1
  80. package/agent/dist/environments.js +0 -229
  81. package/agent/dist/environments.js.map +0 -1
  82. package/agent/dist/git.d.ts +0 -39
  83. package/agent/dist/git.d.ts.map +0 -1
  84. package/agent/dist/git.js +0 -436
  85. package/agent/dist/git.js.map +0 -1
  86. package/agent/dist/heartbeat-monitor.d.ts +0 -24
  87. package/agent/dist/heartbeat-monitor.d.ts.map +0 -1
  88. package/agent/dist/heartbeat-monitor.js +0 -105
  89. package/agent/dist/heartbeat-monitor.js.map +0 -1
  90. package/agent/dist/push/sender.d.ts +0 -26
  91. package/agent/dist/push/sender.d.ts.map +0 -1
  92. package/agent/dist/push/sender.js +0 -122
  93. package/agent/dist/push/sender.js.map +0 -1
  94. package/agent/dist/push/vapid.d.ts +0 -25
  95. package/agent/dist/push/vapid.d.ts.map +0 -1
  96. package/agent/dist/push/vapid.js +0 -81
  97. package/agent/dist/push/vapid.js.map +0 -1
  98. package/agent/dist/routes/editor.d.ts +0 -9
  99. package/agent/dist/routes/editor.d.ts.map +0 -1
  100. package/agent/dist/routes/editor.js +0 -63
  101. package/agent/dist/routes/editor.js.map +0 -1
  102. package/agent/dist/routes/environments.d.ts +0 -6
  103. package/agent/dist/routes/environments.d.ts.map +0 -1
  104. package/agent/dist/routes/environments.js +0 -94
  105. package/agent/dist/routes/environments.js.map +0 -1
  106. package/agent/dist/routes/files.d.ts +0 -6
  107. package/agent/dist/routes/files.d.ts.map +0 -1
  108. package/agent/dist/routes/files.js +0 -84
  109. package/agent/dist/routes/files.js.map +0 -1
  110. package/agent/dist/routes/heartbeat.d.ts +0 -10
  111. package/agent/dist/routes/heartbeat.d.ts.map +0 -1
  112. package/agent/dist/routes/heartbeat.js +0 -124
  113. package/agent/dist/routes/heartbeat.js.map +0 -1
  114. package/agent/dist/routes/notification.d.ts +0 -9
  115. package/agent/dist/routes/notification.d.ts.map +0 -1
  116. package/agent/dist/routes/notification.js +0 -172
  117. package/agent/dist/routes/notification.js.map +0 -1
  118. package/agent/dist/routes/push.d.ts +0 -7
  119. package/agent/dist/routes/push.d.ts.map +0 -1
  120. package/agent/dist/routes/push.js +0 -98
  121. package/agent/dist/routes/push.js.map +0 -1
  122. package/agent/dist/routes/stop.d.ts +0 -9
  123. package/agent/dist/routes/stop.d.ts.map +0 -1
  124. package/agent/dist/routes/stop.js +0 -121
  125. package/agent/dist/routes/stop.js.map +0 -1
  126. package/agent/dist/services/stream-json.d.ts +0 -109
  127. package/agent/dist/services/stream-json.d.ts.map +0 -1
  128. package/agent/dist/services/stream-json.js +0 -335
  129. package/agent/dist/services/stream-json.js.map +0 -1
  130. package/agent/dist/setup-statusline.d.ts +0 -10
  131. package/agent/dist/setup-statusline.d.ts.map +0 -1
  132. package/agent/dist/setup-statusline.js +0 -234
  133. package/agent/dist/setup-statusline.js.map +0 -1
@@ -1,109 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,335 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream-json.js","sourceRoot":"","sources":["../../src/services/stream-json.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Auto-configuration for Claude Code statusLine integration.
3
- * Creates the statusline script and configures Claude settings at agent startup.
4
- */
5
- /**
6
- * Ensure statusLine and hooks are configured for 247 integration.
7
- * Called at agent startup.
8
- */
9
- export declare function ensureStatusLineConfigured(): void;
10
- //# sourceMappingURL=setup-statusline.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-statusline.d.ts","sourceRoot":"","sources":["../src/setup-statusline.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAUjD"}