@agimon-ai/doompi-runner 0.0.1-alpha.39 → 0.0.1-alpha.40
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/package.json +15 -14
- package/web/RunnerLogPanel.tsx +13 -7
- package/web/logApi.ts +2 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agimon-ai/doompi-runner",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.40",
|
|
4
4
|
"description": "Supervised shell execution, background process control, and run logs for Pi coding agents.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -323,11 +323,12 @@
|
|
|
323
323
|
"@xterm/headless": "6.0.0",
|
|
324
324
|
"hono": "4.13.3",
|
|
325
325
|
"typebox": "1.3.16",
|
|
326
|
-
"@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.
|
|
327
|
-
"@agimon-ai/doompi-telemetry": "0.0.1-alpha.
|
|
328
|
-
"@agimon-ai/doompi-ui": "0.0.1-alpha.
|
|
329
|
-
"@agimon-ai/doompi-web-
|
|
330
|
-
"@agimon-ai/doompi-web-
|
|
326
|
+
"@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.40",
|
|
327
|
+
"@agimon-ai/doompi-telemetry": "0.0.1-alpha.40",
|
|
328
|
+
"@agimon-ai/doompi-ui": "0.0.1-alpha.40",
|
|
329
|
+
"@agimon-ai/doompi-web-components": "0.0.1-alpha.1",
|
|
330
|
+
"@agimon-ai/doompi-web-contracts": "0.0.1-alpha.3",
|
|
331
|
+
"@agimon-ai/doompi-web-security": "0.0.1-alpha.2"
|
|
331
332
|
},
|
|
332
333
|
"devDependencies": {
|
|
333
334
|
"@earendil-works/pi-coding-agent": "0.84.3",
|
|
@@ -355,14 +356,14 @@
|
|
|
355
356
|
}
|
|
356
357
|
},
|
|
357
358
|
"optionalDependencies": {
|
|
358
|
-
"@agimon-ai/doompi-runner-rmux-darwin-arm64": "0.0.1-alpha.
|
|
359
|
-
"@agimon-ai/doompi-runner-rmux-darwin-x64": "0.0.1-alpha.
|
|
360
|
-
"@agimon-ai/doompi-runner-rmux-linux-arm64": "0.0.1-alpha.
|
|
361
|
-
"@agimon-ai/doompi-runner-
|
|
362
|
-
"@agimon-ai/doompi-runner-
|
|
363
|
-
"@agimon-ai/doompi-runner-rtk-darwin-x64": "0.0.1-alpha.
|
|
364
|
-
"@agimon-ai/doompi-runner-rtk-linux-arm64": "0.0.1-alpha.
|
|
365
|
-
"@agimon-ai/doompi-runner-rtk-linux-x64": "0.0.1-alpha.
|
|
359
|
+
"@agimon-ai/doompi-runner-rmux-darwin-arm64": "0.0.1-alpha.40",
|
|
360
|
+
"@agimon-ai/doompi-runner-rmux-darwin-x64": "0.0.1-alpha.40",
|
|
361
|
+
"@agimon-ai/doompi-runner-rmux-linux-arm64": "0.0.1-alpha.40",
|
|
362
|
+
"@agimon-ai/doompi-runner-rtk-darwin-arm64": "0.0.1-alpha.40",
|
|
363
|
+
"@agimon-ai/doompi-runner-rmux-linux-x64": "0.0.1-alpha.40",
|
|
364
|
+
"@agimon-ai/doompi-runner-rtk-darwin-x64": "0.0.1-alpha.40",
|
|
365
|
+
"@agimon-ai/doompi-runner-rtk-linux-arm64": "0.0.1-alpha.40",
|
|
366
|
+
"@agimon-ai/doompi-runner-rtk-linux-x64": "0.0.1-alpha.40"
|
|
366
367
|
},
|
|
367
368
|
"engines": {
|
|
368
369
|
"node": ">=22.19.0"
|
package/web/RunnerLogPanel.tsx
CHANGED
|
@@ -135,7 +135,7 @@ export function RunnerLogPanel({ sessionId, runId, sendSessionFrame }: WebPlugin
|
|
|
135
135
|
|
|
136
136
|
return (
|
|
137
137
|
<div data-testid="runner-log-panel" className="flex min-h-0 flex-1 flex-col">
|
|
138
|
-
<div className="flex h-11 shrink-0 items-center gap-2
|
|
138
|
+
<div className="flex min-h-11 shrink-0 flex-wrap items-center gap-2 border-b border-doom-border-soft px-3 py-2 sm:h-11 sm:flex-nowrap sm:gap-2.5 sm:px-[26px] sm:py-0">
|
|
139
139
|
<span data-testid="runner-log-name" className="shrink-0 truncate text-[12px] font-bold text-doom-hi">
|
|
140
140
|
{run?.name ?? runId}
|
|
141
141
|
</span>
|
|
@@ -171,14 +171,14 @@ export function RunnerLogPanel({ sessionId, runId, sendSessionFrame }: WebPlugin
|
|
|
171
171
|
</div>
|
|
172
172
|
|
|
173
173
|
{run ? (
|
|
174
|
-
<div className="flex shrink-0 flex-col gap-1.5 border-b border-doom-border-soft px-
|
|
174
|
+
<div className="flex shrink-0 flex-col gap-1.5 border-b border-doom-border-soft px-3 py-2.5 sm:px-[26px]">
|
|
175
175
|
<MetaRow label="command" value={run.command} />
|
|
176
176
|
<MetaRow label="cwd" value={run.cwd} />
|
|
177
177
|
</div>
|
|
178
178
|
) : null}
|
|
179
179
|
|
|
180
|
-
<div className="flex h-10 shrink-0 items-center gap-2
|
|
181
|
-
<span className="relative flex w-
|
|
180
|
+
<div className="flex min-h-10 shrink-0 flex-wrap items-center gap-2 border-b border-doom-border-soft px-3 py-2 sm:h-10 sm:flex-nowrap sm:gap-2.5 sm:px-[26px] sm:py-0">
|
|
181
|
+
<span className="relative flex min-w-0 flex-1 items-center sm:w-[300px] sm:flex-none">
|
|
182
182
|
<SearchIcon className="pointer-events-none absolute left-2.5 h-3 w-3 text-doom-faint" />
|
|
183
183
|
<Input
|
|
184
184
|
size="sm"
|
|
@@ -212,7 +212,10 @@ export function RunnerLogPanel({ sessionId, runId, sendSessionFrame }: WebPlugin
|
|
|
212
212
|
{`± ${String(context)} lines`}
|
|
213
213
|
</Button>
|
|
214
214
|
<span className="min-w-0 flex-1" />
|
|
215
|
-
<span
|
|
215
|
+
<span
|
|
216
|
+
data-testid="runner-log-stats"
|
|
217
|
+
className="min-w-0 basis-full truncate text-[10px] text-doom-faint sm:basis-auto"
|
|
218
|
+
>
|
|
216
219
|
{slice === undefined
|
|
217
220
|
? 'reading…'
|
|
218
221
|
: filtering
|
|
@@ -233,7 +236,10 @@ export function RunnerLogPanel({ sessionId, runId, sendSessionFrame }: WebPlugin
|
|
|
233
236
|
</Button>
|
|
234
237
|
</div>
|
|
235
238
|
|
|
236
|
-
<div
|
|
239
|
+
<div
|
|
240
|
+
data-testid="runner-log-body"
|
|
241
|
+
className="min-h-0 flex-1 overflow-auto bg-doom-panel-deep px-3 py-3 sm:px-[26px]"
|
|
242
|
+
>
|
|
237
243
|
{error !== undefined ? (
|
|
238
244
|
<p data-testid="runner-log-error" className="text-[10px] text-doom-red">
|
|
239
245
|
{error}
|
|
@@ -250,7 +256,7 @@ export function RunnerLogPanel({ sessionId, runId, sendSessionFrame }: WebPlugin
|
|
|
250
256
|
<div ref={bottom} />
|
|
251
257
|
</div>
|
|
252
258
|
|
|
253
|
-
<div className="flex h-8 shrink-0 items-center gap-2.5 border-t border-doom-border-soft px-[26px]">
|
|
259
|
+
<div className="flex h-8 shrink-0 items-center gap-2.5 border-t border-doom-border-soft px-3 sm:px-[26px]">
|
|
254
260
|
<span data-testid="runner-log-path" className="min-w-0 flex-1 truncate text-[9px] text-doom-faint">
|
|
255
261
|
{run?.logPath ?? slice?.path ?? ''}
|
|
256
262
|
</span>
|
package/web/logApi.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { sealedTransport } from '@agimon-ai/doompi-web-security/browser';
|
|
1
2
|
import {
|
|
2
3
|
RUNNER_LOG_STREAM_EVENT,
|
|
3
4
|
type RunnerLogQueryParams,
|
|
@@ -30,7 +31,7 @@ export async function fetchRunnerLog(
|
|
|
30
31
|
): Promise<RunnerLogResult> {
|
|
31
32
|
let response: Response;
|
|
32
33
|
try {
|
|
33
|
-
response = await fetch(runnerLogUrl(sessionId, runId, params), { signal });
|
|
34
|
+
response = await sealedTransport.fetch(runnerLogUrl(sessionId, runId, params), { signal });
|
|
34
35
|
} catch (error) {
|
|
35
36
|
// An aborted request is the caller replacing it, not a failure to report.
|
|
36
37
|
if (error instanceof DOMException && error.name === 'AbortError') return { error: '' };
|