@northflare/runner 0.0.11 → 0.0.13
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/utils/config.d.ts +1 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +13 -2
- package/dist/utils/config.js.map +1 -1
- package/package.json +1 -2
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/coverage-final.json +0 -12
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -176
- package/coverage/lib/index.html +0 -116
- package/coverage/lib/preload-script.js.html +0 -964
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -196
- package/coverage/src/collections/index.html +0 -116
- package/coverage/src/collections/runner-messages.ts.html +0 -312
- package/coverage/src/components/claude-manager.ts.html +0 -1290
- package/coverage/src/components/index.html +0 -146
- package/coverage/src/components/message-handler.ts.html +0 -730
- package/coverage/src/components/repository-manager.ts.html +0 -841
- package/coverage/src/index.html +0 -131
- package/coverage/src/index.ts.html +0 -448
- package/coverage/src/runner.ts.html +0 -1239
- package/coverage/src/utils/config.ts.html +0 -780
- package/coverage/src/utils/console.ts.html +0 -121
- package/coverage/src/utils/index.html +0 -161
- package/coverage/src/utils/logger.ts.html +0 -475
- package/coverage/src/utils/status-line.ts.html +0 -445
- package/exceptions.log +0 -24
- package/lib/codex-sdk/src/codex.ts +0 -38
- package/lib/codex-sdk/src/codexOptions.ts +0 -10
- package/lib/codex-sdk/src/events.ts +0 -80
- package/lib/codex-sdk/src/exec.ts +0 -336
- package/lib/codex-sdk/src/index.ts +0 -39
- package/lib/codex-sdk/src/items.ts +0 -127
- package/lib/codex-sdk/src/outputSchemaFile.ts +0 -40
- package/lib/codex-sdk/src/thread.ts +0 -155
- package/lib/codex-sdk/src/threadOptions.ts +0 -18
- package/lib/codex-sdk/src/turnOptions.ts +0 -6
- package/lib/codex-sdk/tests/abort.test.ts +0 -165
- package/lib/codex-sdk/tests/codexExecSpy.ts +0 -37
- package/lib/codex-sdk/tests/responsesProxy.ts +0 -225
- package/lib/codex-sdk/tests/run.test.ts +0 -687
- package/lib/codex-sdk/tests/runStreamed.test.ts +0 -211
- package/lib/codex-sdk/tsconfig.json +0 -24
- package/rejections.log +0 -68
- package/runner.log +0 -488
- package/src/components/claude-sdk-manager.ts +0 -1425
- package/src/components/codex-sdk-manager.ts +0 -1358
- package/src/components/enhanced-repository-manager.ts +0 -823
- package/src/components/message-handler-sse.ts +0 -1097
- package/src/components/repository-manager.ts +0 -337
- package/src/index.ts +0 -168
- package/src/runner-sse.ts +0 -917
- package/src/services/RunnerAPIClient.ts +0 -175
- package/src/services/SSEClient.ts +0 -258
- package/src/types/claude.ts +0 -66
- package/src/types/computer-name.d.ts +0 -4
- package/src/types/index.ts +0 -64
- package/src/types/messages.ts +0 -39
- package/src/types/runner-interface.ts +0 -36
- package/src/utils/StateManager.ts +0 -187
- package/src/utils/config.ts +0 -316
- package/src/utils/console.ts +0 -15
- package/src/utils/debug.ts +0 -18
- package/src/utils/expand-env.ts +0 -22
- package/src/utils/logger.ts +0 -134
- package/src/utils/model.ts +0 -29
- package/src/utils/status-line.ts +0 -122
- package/src/utils/tool-response-sanitizer.ts +0 -160
- package/test-debug.sh +0 -26
- package/tests/retry-strategies.test.ts +0 -410
- package/tests/sdk-integration.test.ts +0 -329
- package/tests/sdk-streaming.test.ts +0 -1180
- package/tests/setup.ts +0 -5
- package/tests/test-claude-manager.ts +0 -120
- package/tests/tool-response-sanitizer.test.ts +0 -63
- package/tsconfig.json +0 -36
- package/vitest.config.ts +0 -27
|
@@ -1,445 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for src/utils/status-line.ts</title>
|
|
7
|
-
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
-
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
-
<style type='text/css'>
|
|
13
|
-
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
-
}
|
|
16
|
-
</style>
|
|
17
|
-
</head>
|
|
18
|
-
|
|
19
|
-
<body>
|
|
20
|
-
<div class='wrapper'>
|
|
21
|
-
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/utils</a> status-line.ts</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">0% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>0/121</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">0% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/1</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">0% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>0/1</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">0% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>0/121</span>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</div>
|
|
54
|
-
<p class="quiet">
|
|
55
|
-
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
-
</p>
|
|
57
|
-
<template id="filterTemplate">
|
|
58
|
-
<div class="quiet">
|
|
59
|
-
Filter:
|
|
60
|
-
<input type="search" id="fileSearch">
|
|
61
|
-
</div>
|
|
62
|
-
</template>
|
|
63
|
-
</div>
|
|
64
|
-
<div class='status-line low'></div>
|
|
65
|
-
<pre><table class="coverage">
|
|
66
|
-
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
-
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
-
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
-
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
-
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
-
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
-
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
-
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
-
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
-
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
-
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
-
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
-
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
-
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
-
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
-
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
-
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
-
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
-
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
-
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
-
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
-
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
-
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
-
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
-
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
-
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
-
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
-
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
-
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
-
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
-
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
-
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
-
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
-
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
-
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
-
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
-
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
-
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
-
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
-
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
-
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
-
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
-
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
-
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
-
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
-
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
-
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
-
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
-
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
-
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
-
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
-
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
-
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
-
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
-
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
-
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
-
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
-
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
-
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
-
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
-
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
-
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
-
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
-
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
-
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
-
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
-
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
-
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
-
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
-
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
-
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
-
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
-
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
-
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
-
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
-
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
-
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
-
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
-
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
-
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
-
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
-
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
-
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
-
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
-
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
-
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
-
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
-
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
-
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
-
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
-
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
-
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
-
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
-
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
-
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
-
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
-
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
-
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
-
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
-
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
-
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
-
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
-
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
-
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
-
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
-
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
-
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
-
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
-
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
-
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
-
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
-
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
-
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
-
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
-
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
-
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
-
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
-
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
-
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
-
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
-
<a name='L121'></a><a href='#L121'>121</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
187
|
-
<span class="cline-any cline-no"> </span>
|
|
188
|
-
<span class="cline-any cline-no"> </span>
|
|
189
|
-
<span class="cline-any cline-no"> </span>
|
|
190
|
-
<span class="cline-any cline-no"> </span>
|
|
191
|
-
<span class="cline-any cline-no"> </span>
|
|
192
|
-
<span class="cline-any cline-no"> </span>
|
|
193
|
-
<span class="cline-any cline-no"> </span>
|
|
194
|
-
<span class="cline-any cline-no"> </span>
|
|
195
|
-
<span class="cline-any cline-no"> </span>
|
|
196
|
-
<span class="cline-any cline-no"> </span>
|
|
197
|
-
<span class="cline-any cline-no"> </span>
|
|
198
|
-
<span class="cline-any cline-no"> </span>
|
|
199
|
-
<span class="cline-any cline-no"> </span>
|
|
200
|
-
<span class="cline-any cline-no"> </span>
|
|
201
|
-
<span class="cline-any cline-no"> </span>
|
|
202
|
-
<span class="cline-any cline-no"> </span>
|
|
203
|
-
<span class="cline-any cline-no"> </span>
|
|
204
|
-
<span class="cline-any cline-no"> </span>
|
|
205
|
-
<span class="cline-any cline-no"> </span>
|
|
206
|
-
<span class="cline-any cline-no"> </span>
|
|
207
|
-
<span class="cline-any cline-no"> </span>
|
|
208
|
-
<span class="cline-any cline-no"> </span>
|
|
209
|
-
<span class="cline-any cline-no"> </span>
|
|
210
|
-
<span class="cline-any cline-no"> </span>
|
|
211
|
-
<span class="cline-any cline-no"> </span>
|
|
212
|
-
<span class="cline-any cline-no"> </span>
|
|
213
|
-
<span class="cline-any cline-no"> </span>
|
|
214
|
-
<span class="cline-any cline-no"> </span>
|
|
215
|
-
<span class="cline-any cline-no"> </span>
|
|
216
|
-
<span class="cline-any cline-no"> </span>
|
|
217
|
-
<span class="cline-any cline-no"> </span>
|
|
218
|
-
<span class="cline-any cline-no"> </span>
|
|
219
|
-
<span class="cline-any cline-no"> </span>
|
|
220
|
-
<span class="cline-any cline-no"> </span>
|
|
221
|
-
<span class="cline-any cline-no"> </span>
|
|
222
|
-
<span class="cline-any cline-no"> </span>
|
|
223
|
-
<span class="cline-any cline-no"> </span>
|
|
224
|
-
<span class="cline-any cline-no"> </span>
|
|
225
|
-
<span class="cline-any cline-no"> </span>
|
|
226
|
-
<span class="cline-any cline-no"> </span>
|
|
227
|
-
<span class="cline-any cline-no"> </span>
|
|
228
|
-
<span class="cline-any cline-no"> </span>
|
|
229
|
-
<span class="cline-any cline-no"> </span>
|
|
230
|
-
<span class="cline-any cline-no"> </span>
|
|
231
|
-
<span class="cline-any cline-no"> </span>
|
|
232
|
-
<span class="cline-any cline-no"> </span>
|
|
233
|
-
<span class="cline-any cline-no"> </span>
|
|
234
|
-
<span class="cline-any cline-no"> </span>
|
|
235
|
-
<span class="cline-any cline-no"> </span>
|
|
236
|
-
<span class="cline-any cline-no"> </span>
|
|
237
|
-
<span class="cline-any cline-no"> </span>
|
|
238
|
-
<span class="cline-any cline-no"> </span>
|
|
239
|
-
<span class="cline-any cline-no"> </span>
|
|
240
|
-
<span class="cline-any cline-no"> </span>
|
|
241
|
-
<span class="cline-any cline-no"> </span>
|
|
242
|
-
<span class="cline-any cline-no"> </span>
|
|
243
|
-
<span class="cline-any cline-no"> </span>
|
|
244
|
-
<span class="cline-any cline-no"> </span>
|
|
245
|
-
<span class="cline-any cline-no"> </span>
|
|
246
|
-
<span class="cline-any cline-no"> </span>
|
|
247
|
-
<span class="cline-any cline-no"> </span>
|
|
248
|
-
<span class="cline-any cline-no"> </span>
|
|
249
|
-
<span class="cline-any cline-no"> </span>
|
|
250
|
-
<span class="cline-any cline-no"> </span>
|
|
251
|
-
<span class="cline-any cline-no"> </span>
|
|
252
|
-
<span class="cline-any cline-no"> </span>
|
|
253
|
-
<span class="cline-any cline-no"> </span>
|
|
254
|
-
<span class="cline-any cline-no"> </span>
|
|
255
|
-
<span class="cline-any cline-no"> </span>
|
|
256
|
-
<span class="cline-any cline-no"> </span>
|
|
257
|
-
<span class="cline-any cline-no"> </span>
|
|
258
|
-
<span class="cline-any cline-no"> </span>
|
|
259
|
-
<span class="cline-any cline-no"> </span>
|
|
260
|
-
<span class="cline-any cline-no"> </span>
|
|
261
|
-
<span class="cline-any cline-no"> </span>
|
|
262
|
-
<span class="cline-any cline-no"> </span>
|
|
263
|
-
<span class="cline-any cline-no"> </span>
|
|
264
|
-
<span class="cline-any cline-no"> </span>
|
|
265
|
-
<span class="cline-any cline-no"> </span>
|
|
266
|
-
<span class="cline-any cline-no"> </span>
|
|
267
|
-
<span class="cline-any cline-no"> </span>
|
|
268
|
-
<span class="cline-any cline-no"> </span>
|
|
269
|
-
<span class="cline-any cline-no"> </span>
|
|
270
|
-
<span class="cline-any cline-no"> </span>
|
|
271
|
-
<span class="cline-any cline-no"> </span>
|
|
272
|
-
<span class="cline-any cline-no"> </span>
|
|
273
|
-
<span class="cline-any cline-no"> </span>
|
|
274
|
-
<span class="cline-any cline-no"> </span>
|
|
275
|
-
<span class="cline-any cline-no"> </span>
|
|
276
|
-
<span class="cline-any cline-no"> </span>
|
|
277
|
-
<span class="cline-any cline-no"> </span>
|
|
278
|
-
<span class="cline-any cline-no"> </span>
|
|
279
|
-
<span class="cline-any cline-no"> </span>
|
|
280
|
-
<span class="cline-any cline-no"> </span>
|
|
281
|
-
<span class="cline-any cline-no"> </span>
|
|
282
|
-
<span class="cline-any cline-no"> </span>
|
|
283
|
-
<span class="cline-any cline-no"> </span>
|
|
284
|
-
<span class="cline-any cline-no"> </span>
|
|
285
|
-
<span class="cline-any cline-no"> </span>
|
|
286
|
-
<span class="cline-any cline-no"> </span>
|
|
287
|
-
<span class="cline-any cline-no"> </span>
|
|
288
|
-
<span class="cline-any cline-no"> </span>
|
|
289
|
-
<span class="cline-any cline-no"> </span>
|
|
290
|
-
<span class="cline-any cline-no"> </span>
|
|
291
|
-
<span class="cline-any cline-no"> </span>
|
|
292
|
-
<span class="cline-any cline-no"> </span>
|
|
293
|
-
<span class="cline-any cline-no"> </span>
|
|
294
|
-
<span class="cline-any cline-no"> </span>
|
|
295
|
-
<span class="cline-any cline-no"> </span>
|
|
296
|
-
<span class="cline-any cline-no"> </span>
|
|
297
|
-
<span class="cline-any cline-no"> </span>
|
|
298
|
-
<span class="cline-any cline-no"> </span>
|
|
299
|
-
<span class="cline-any cline-no"> </span>
|
|
300
|
-
<span class="cline-any cline-no"> </span>
|
|
301
|
-
<span class="cline-any cline-no"> </span>
|
|
302
|
-
<span class="cline-any cline-no"> </span>
|
|
303
|
-
<span class="cline-any cline-no"> </span>
|
|
304
|
-
<span class="cline-any cline-no"> </span>
|
|
305
|
-
<span class="cline-any cline-no"> </span>
|
|
306
|
-
<span class="cline-any cline-no"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >/**<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
|
307
|
-
<span class="cstat-no" title="statement not covered" > * StatusLineManager - Manages persistent status line output for active Claude Code processes</span>
|
|
308
|
-
<span class="cstat-no" title="statement not covered" > * </span>
|
|
309
|
-
<span class="cstat-no" title="statement not covered" > * This component maintains a single-line status output that updates every minute to show</span>
|
|
310
|
-
<span class="cstat-no" title="statement not covered" > * the count of active Claude Code processes. It prevents the machine from entering idle</span>
|
|
311
|
-
<span class="cstat-no" title="statement not covered" > * state while processes are running and provides clear visual feedback without cluttering</span>
|
|
312
|
-
<span class="cstat-no" title="statement not covered" > * the terminal with multiple log lines.</span>
|
|
313
|
-
<span class="cstat-no" title="statement not covered" > */</span>
|
|
314
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
315
|
-
<span class="cstat-no" title="statement not covered" >export class StatusLineManager {</span>
|
|
316
|
-
<span class="cstat-no" title="statement not covered" > private intervalId?: NodeJS.Timeout;</span>
|
|
317
|
-
<span class="cstat-no" title="statement not covered" > private activeCount: number = 0;</span>
|
|
318
|
-
<span class="cstat-no" title="statement not covered" > private lastLine: string = "";</span>
|
|
319
|
-
<span class="cstat-no" title="statement not covered" > private isEnabled: boolean = true;</span>
|
|
320
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
321
|
-
<span class="cstat-no" title="statement not covered" > constructor() {</span>
|
|
322
|
-
<span class="cstat-no" title="statement not covered" > // Only enable status line when not in debug mode</span>
|
|
323
|
-
<span class="cstat-no" title="statement not covered" > this.isEnabled = process.env["DEBUG"] !== "true";</span>
|
|
324
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
325
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
326
|
-
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
327
|
-
<span class="cstat-no" title="statement not covered" > * Updates the count of active conversations</span>
|
|
328
|
-
<span class="cstat-no" title="statement not covered" > */</span>
|
|
329
|
-
<span class="cstat-no" title="statement not covered" > updateActiveCount(count: number): void {</span>
|
|
330
|
-
<span class="cstat-no" title="statement not covered" > const wasZero = this.activeCount === 0;</span>
|
|
331
|
-
<span class="cstat-no" title="statement not covered" > const isZero = count === 0;</span>
|
|
332
|
-
<span class="cstat-no" title="statement not covered" > this.activeCount = count;</span>
|
|
333
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
334
|
-
<span class="cstat-no" title="statement not covered" > // Start interval when transitioning from 0 to active</span>
|
|
335
|
-
<span class="cstat-no" title="statement not covered" > if (wasZero && !isZero) {</span>
|
|
336
|
-
<span class="cstat-no" title="statement not covered" > this.startInterval();</span>
|
|
337
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
338
|
-
<span class="cstat-no" title="statement not covered" > // Stop interval when transitioning to 0</span>
|
|
339
|
-
<span class="cstat-no" title="statement not covered" > else if (!wasZero && isZero) {</span>
|
|
340
|
-
<span class="cstat-no" title="statement not covered" > this.stopInterval();</span>
|
|
341
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
342
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
343
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
344
|
-
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
345
|
-
<span class="cstat-no" title="statement not covered" > * Starts the status line interval</span>
|
|
346
|
-
<span class="cstat-no" title="statement not covered" > */</span>
|
|
347
|
-
<span class="cstat-no" title="statement not covered" > private startInterval(): void {</span>
|
|
348
|
-
<span class="cstat-no" title="statement not covered" > if (!this.isEnabled || this.intervalId) return;</span>
|
|
349
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
350
|
-
<span class="cstat-no" title="statement not covered" > // Show initial status immediately</span>
|
|
351
|
-
<span class="cstat-no" title="statement not covered" > this.showStatus();</span>
|
|
352
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
353
|
-
<span class="cstat-no" title="statement not covered" > // Update every minute on the minute</span>
|
|
354
|
-
<span class="cstat-no" title="statement not covered" > const now = new Date();</span>
|
|
355
|
-
<span class="cstat-no" title="statement not covered" > const msUntilNextMinute = (60 - now.getSeconds()) * 1000 - now.getMilliseconds();</span>
|
|
356
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
357
|
-
<span class="cstat-no" title="statement not covered" > // First timeout to align with the minute</span>
|
|
358
|
-
<span class="cstat-no" title="statement not covered" > setTimeout(() => {</span>
|
|
359
|
-
<span class="cstat-no" title="statement not covered" > this.showStatus();</span>
|
|
360
|
-
<span class="cstat-no" title="statement not covered" > </span>
|
|
361
|
-
<span class="cstat-no" title="statement not covered" > // Then set up regular interval</span>
|
|
362
|
-
<span class="cstat-no" title="statement not covered" > this.intervalId = setInterval(() => {</span>
|
|
363
|
-
<span class="cstat-no" title="statement not covered" > this.showStatus();</span>
|
|
364
|
-
<span class="cstat-no" title="statement not covered" > }, 60000); // Every 60 seconds</span>
|
|
365
|
-
<span class="cstat-no" title="statement not covered" > }, msUntilNextMinute);</span>
|
|
366
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
367
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
368
|
-
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
369
|
-
<span class="cstat-no" title="statement not covered" > * Stops the status line interval</span>
|
|
370
|
-
<span class="cstat-no" title="statement not covered" > */</span>
|
|
371
|
-
<span class="cstat-no" title="statement not covered" > private stopInterval(): void {</span>
|
|
372
|
-
<span class="cstat-no" title="statement not covered" > if (this.intervalId) {</span>
|
|
373
|
-
<span class="cstat-no" title="statement not covered" > clearInterval(this.intervalId);</span>
|
|
374
|
-
<span class="cstat-no" title="statement not covered" > this.intervalId = undefined;</span>
|
|
375
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
376
|
-
<span class="cstat-no" title="statement not covered" > </span>
|
|
377
|
-
<span class="cstat-no" title="statement not covered" > // Show final "No active" message</span>
|
|
378
|
-
<span class="cstat-no" title="statement not covered" > this.showStatus();</span>
|
|
379
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
380
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
381
|
-
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
382
|
-
<span class="cstat-no" title="statement not covered" > * Shows the current status</span>
|
|
383
|
-
<span class="cstat-no" title="statement not covered" > */</span>
|
|
384
|
-
<span class="cstat-no" title="statement not covered" > private showStatus(): void {</span>
|
|
385
|
-
<span class="cstat-no" title="statement not covered" > if (!this.isEnabled) return;</span>
|
|
386
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
387
|
-
<span class="cstat-no" title="statement not covered" > const now = new Date();</span>
|
|
388
|
-
<span class="cstat-no" title="statement not covered" > const timeStr = now.toTimeString().slice(0, 5); // HH:MM format</span>
|
|
389
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
390
|
-
<span class="cstat-no" title="statement not covered" > let newLine: string;</span>
|
|
391
|
-
<span class="cstat-no" title="statement not covered" > if (this.activeCount === 0) {</span>
|
|
392
|
-
<span class="cstat-no" title="statement not covered" > newLine = "No active Claude Code processes";</span>
|
|
393
|
-
<span class="cstat-no" title="statement not covered" > } else if (this.activeCount === 1) {</span>
|
|
394
|
-
<span class="cstat-no" title="statement not covered" > newLine = `${timeStr} 1 active Claude Code process`;</span>
|
|
395
|
-
<span class="cstat-no" title="statement not covered" > } else {</span>
|
|
396
|
-
<span class="cstat-no" title="statement not covered" > newLine = `${timeStr} ${this.activeCount} active Claude Code processes`;</span>
|
|
397
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
398
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
399
|
-
<span class="cstat-no" title="statement not covered" > // If this is the first status line, position it</span>
|
|
400
|
-
<span class="cstat-no" title="statement not covered" > if (!this.lastLine) {</span>
|
|
401
|
-
<span class="cstat-no" title="statement not covered" > // Move to start of line and save cursor position</span>
|
|
402
|
-
<span class="cstat-no" title="statement not covered" > process.stdout.write('\r');</span>
|
|
403
|
-
<span class="cstat-no" title="statement not covered" > } else {</span>
|
|
404
|
-
<span class="cstat-no" title="statement not covered" > // Clear the current line</span>
|
|
405
|
-
<span class="cstat-no" title="statement not covered" > process.stdout.write('\r' + ' '.repeat(this.lastLine.length) + '\r');</span>
|
|
406
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
407
|
-
<span class="cstat-no" title="statement not covered" > </span>
|
|
408
|
-
<span class="cstat-no" title="statement not covered" > // Write the new status without newline</span>
|
|
409
|
-
<span class="cstat-no" title="statement not covered" > process.stdout.write(newLine);</span>
|
|
410
|
-
<span class="cstat-no" title="statement not covered" > this.lastLine = newLine;</span>
|
|
411
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
412
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
413
|
-
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
414
|
-
<span class="cstat-no" title="statement not covered" > * Cleans up the status line manager</span>
|
|
415
|
-
<span class="cstat-no" title="statement not covered" > */</span>
|
|
416
|
-
<span class="cstat-no" title="statement not covered" > dispose(): void {</span>
|
|
417
|
-
<span class="cstat-no" title="statement not covered" > this.stopInterval();</span>
|
|
418
|
-
<span class="cstat-no" title="statement not covered" > // Add a newline to ensure next output starts on a new line</span>
|
|
419
|
-
<span class="cstat-no" title="statement not covered" > if (this.lastLine) {</span>
|
|
420
|
-
<span class="cstat-no" title="statement not covered" > process.stdout.write('\n');</span>
|
|
421
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
422
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
423
|
-
<span class="cstat-no" title="statement not covered" >}</span>
|
|
424
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
425
|
-
<span class="cstat-no" title="statement not covered" >// Singleton instance</span>
|
|
426
|
-
<span class="cstat-no" title="statement not covered" >export const statusLineManager = new StatusLineManager();</span></pre></td></tr></table></pre>
|
|
427
|
-
|
|
428
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
429
|
-
</div><!-- /wrapper -->
|
|
430
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
431
|
-
Code coverage generated by
|
|
432
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
433
|
-
at 2025-08-14T21:15:54.473Z
|
|
434
|
-
</div>
|
|
435
|
-
<script src="../../prettify.js"></script>
|
|
436
|
-
<script>
|
|
437
|
-
window.onload = function () {
|
|
438
|
-
prettyPrint();
|
|
439
|
-
};
|
|
440
|
-
</script>
|
|
441
|
-
<script src="../../sorter.js"></script>
|
|
442
|
-
<script src="../../block-navigation.js"></script>
|
|
443
|
-
</body>
|
|
444
|
-
</html>
|
|
445
|
-
|