@industry-theme/xterm-terminal-panel 0.5.1 → 0.5.3
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/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +260 -31
- package/dist/src/components/ThemedTerminal.d.ts.map +1 -1
- package/dist/src/panel-types/index.d.ts +3 -0
- package/dist/src/panel-types/index.d.ts.map +1 -1
- package/dist/src/panels/TabbedTerminalPanel.d.ts.map +1 -1
- package/dist/src/telemetry.d.ts +10 -0
- package/dist/src/telemetry.d.ts.map +1 -0
- package/dist/src/types/terminal.types.d.ts +9 -0
- package/dist/src/types/terminal.types.d.ts.map +1 -1
- package/package.json +8 -2
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { ThemedTerminal } from './src/components/ThemedTerminal';
|
|
|
2
2
|
export { ThemedTerminalWithProvider } from './src/components/ThemedTerminalWithProvider';
|
|
3
3
|
export { WorkingOverlay } from './src/components/WorkingOverlay';
|
|
4
4
|
export type { WorkingOverlayProps } from './src/components/WorkingOverlay';
|
|
5
|
-
export type { ThemedTerminalProps, ThemedTerminalRef, TerminalHeaderBadge, TerminalOverlayState, TerminalScrollPosition, LinkClickModifiers, } from './src/types/terminal.types';
|
|
5
|
+
export type { ThemedTerminalProps, ThemedTerminalRef, TerminalActivityState, TerminalHeaderBadge, TerminalOverlayState, TerminalScrollPosition, LinkClickModifiers, } from './src/types/terminal.types';
|
|
6
6
|
export { useThemedTerminal } from './src/hooks/useThemedTerminal';
|
|
7
7
|
export type { UseThemedTerminalReturn } from './src/hooks/useThemedTerminal';
|
|
8
8
|
export { createTerminalTheme, getTerminalCSSVariables, } from './src/utils/terminalTheme';
|
|
@@ -19,6 +19,8 @@ export { panels, onPackageLoad, onPackageUnload } from './src/panel-exports';
|
|
|
19
19
|
export { terminalPanelTools, terminalPanelToolsMetadata, createTerminalSessionTool, writeToTerminalTool, closeTerminalSessionTool, clearTerminalTool, focusTerminalTool, } from './src/panel-exports';
|
|
20
20
|
export type { PanelDefinition, PanelMetadata, PanelComponentProps, PanelContextValue, PanelActions, PanelEventEmitter, TerminalSessionInfo, CreateTerminalSessionOptions, TerminalPanelActions, TerminalEventType, TerminalLinkClickEvent, TerminalScope, TerminalPanelProps, TerminalTab, TabbedTerminalPanelProps, OwnershipStatus, OwnershipResult, PortReadyData, TerminalWorkingState, TerminalActivityType, TerminalActivityChangedEvent, } from './src/panel-types';
|
|
21
21
|
export { getTerminalSessions, getTerminalSession, isTerminalLoading, getRepositoryPath, getWorkspacePath, getTerminalDirectory, getTerminalSlice, } from './src/panel-types';
|
|
22
|
+
export { getTracer, getActiveSpan, withSpan, withSpanSync, TRACER_NAME, TRACER_VERSION, trace, context, SpanStatusCode, } from './src/telemetry';
|
|
23
|
+
export type { Tracer, Span } from './src/telemetry';
|
|
22
24
|
export type { Theme } from '@principal-ade/industry-theme';
|
|
23
25
|
export type { Terminal, ITheme as XTermTheme, ITerminalOptions } from '@xterm/xterm';
|
|
24
26
|
export type { ISearchOptions } from '@xterm/addon-search';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,YAAY,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAG7E,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAG5D,YAAY,EACV,GAAG,EACH,OAAO,EACP,SAAS,EACT,WAAW,EACX,cAAc,EACf,MAAM,iBAAiB,CAAC;AAIzB,YAAY,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,YAAY,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAO1F,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,YAAY,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAG9E,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG7E,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,4BAA4B,EAC5B,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAO3B,YAAY,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAG3D,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrF,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,YAAY,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAG7E,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAG5D,YAAY,EACV,GAAG,EACH,OAAO,EACP,SAAS,EACT,WAAW,EACX,cAAc,EACf,MAAM,iBAAiB,CAAC;AAIzB,YAAY,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,YAAY,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAO1F,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,YAAY,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAG9E,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG7E,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,4BAA4B,EAC5B,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EACL,SAAS,EACT,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EACd,KAAK,EACL,OAAO,EACP,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAOpD,YAAY,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAG3D,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrF,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -26,6 +26,28 @@ import {
|
|
|
26
26
|
} from "react";
|
|
27
27
|
import"@xterm/xterm/css/xterm.css";
|
|
28
28
|
|
|
29
|
+
// src/telemetry.ts
|
|
30
|
+
import {
|
|
31
|
+
trace,
|
|
32
|
+
context,
|
|
33
|
+
SpanStatusCode
|
|
34
|
+
} from "@opentelemetry/api";
|
|
35
|
+
var PACKAGE_VERSION = "0.5.1";
|
|
36
|
+
var TRACER_NAME = "@industry-theme/xterm-terminal-panel";
|
|
37
|
+
var TRACER_VERSION = PACKAGE_VERSION;
|
|
38
|
+
function getTracer() {
|
|
39
|
+
return trace.getTracer(TRACER_NAME, TRACER_VERSION);
|
|
40
|
+
}
|
|
41
|
+
function getActiveSpan() {
|
|
42
|
+
return trace.getActiveSpan();
|
|
43
|
+
}
|
|
44
|
+
async function withSpan(span, fn) {
|
|
45
|
+
return context.with(trace.setSpan(context.active(), span), fn);
|
|
46
|
+
}
|
|
47
|
+
function withSpanSync(span, fn) {
|
|
48
|
+
return context.with(trace.setSpan(context.active(), span), fn);
|
|
49
|
+
}
|
|
50
|
+
|
|
29
51
|
// src/utils/terminalTheme.ts
|
|
30
52
|
function createTerminalTheme(theme) {
|
|
31
53
|
return {
|
|
@@ -183,9 +205,13 @@ var ThemedTerminal = forwardRef(({
|
|
|
183
205
|
onPopOut,
|
|
184
206
|
onShortcut,
|
|
185
207
|
overlayState,
|
|
186
|
-
isWorking = false,
|
|
208
|
+
isWorking: isWorkingProp = false,
|
|
187
209
|
workingMessage = "Agent working...",
|
|
188
210
|
workingSubtitle,
|
|
211
|
+
activityDetection = true,
|
|
212
|
+
activityTimeout = 500,
|
|
213
|
+
onActivityChange,
|
|
214
|
+
autoShowBlinds = false,
|
|
189
215
|
cursorBlink = true,
|
|
190
216
|
cursorStyle = "block",
|
|
191
217
|
scrollback = 1e4,
|
|
@@ -196,7 +222,6 @@ var ThemedTerminal = forwardRef(({
|
|
|
196
222
|
}, ref) => {
|
|
197
223
|
const terminalRef = useRef(null);
|
|
198
224
|
const [terminal, setTerminal] = useState(null);
|
|
199
|
-
const [showWorkingOverlay, setShowWorkingOverlay] = useState(isWorking);
|
|
200
225
|
const [isClosingOverlay, setIsClosingOverlay] = useState(false);
|
|
201
226
|
const fitAddonRef = useRef(null);
|
|
202
227
|
const searchAddonRef = useRef(null);
|
|
@@ -206,13 +231,31 @@ var ThemedTerminal = forwardRef(({
|
|
|
206
231
|
const isVisibleRef = useRef(isVisible);
|
|
207
232
|
const isScrollLockedRef = useRef(defaultScrollLocked);
|
|
208
233
|
const onShortcutRef = useRef(onShortcut);
|
|
234
|
+
const [isActivityDetected, setIsActivityDetected] = useState(false);
|
|
235
|
+
const activityTimeoutRef = useRef(null);
|
|
236
|
+
const activityStartTimeRef = useRef(null);
|
|
237
|
+
const onActivityChangeRef = useRef(onActivityChange);
|
|
209
238
|
useEffect(() => {
|
|
210
239
|
onShortcutRef.current = onShortcut;
|
|
211
240
|
}, [onShortcut]);
|
|
241
|
+
useEffect(() => {
|
|
242
|
+
onActivityChangeRef.current = onActivityChange;
|
|
243
|
+
}, [onActivityChange]);
|
|
244
|
+
const isWorking = isWorkingProp || autoShowBlinds && isActivityDetected;
|
|
245
|
+
const [showWorkingOverlay, setShowWorkingOverlay] = useState(isWorking);
|
|
212
246
|
useEffect(() => {
|
|
213
247
|
if (isWorking) {
|
|
214
248
|
setIsClosingOverlay(false);
|
|
215
249
|
setShowWorkingOverlay(true);
|
|
250
|
+
const tracer = getTracer();
|
|
251
|
+
const span = tracer.startSpan("terminal.blinds", {
|
|
252
|
+
attributes: {
|
|
253
|
+
"blinds.action": "shown"
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
span.addEvent("terminal.blinds.shown");
|
|
257
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
258
|
+
span.end();
|
|
216
259
|
} else if (showWorkingOverlay) {
|
|
217
260
|
setIsClosingOverlay(true);
|
|
218
261
|
}
|
|
@@ -220,6 +263,72 @@ var ThemedTerminal = forwardRef(({
|
|
|
220
263
|
const handleOverlayCloseComplete = useCallback(() => {
|
|
221
264
|
setShowWorkingOverlay(false);
|
|
222
265
|
setIsClosingOverlay(false);
|
|
266
|
+
const tracer = getTracer();
|
|
267
|
+
const span = tracer.startSpan("terminal.blinds", {
|
|
268
|
+
attributes: {
|
|
269
|
+
"blinds.action": "hidden"
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
span.addEvent("terminal.blinds.hidden");
|
|
273
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
274
|
+
span.end();
|
|
275
|
+
}, []);
|
|
276
|
+
const trackActivity = useCallback(() => {
|
|
277
|
+
if (!activityDetection)
|
|
278
|
+
return;
|
|
279
|
+
if (activityTimeoutRef.current) {
|
|
280
|
+
clearTimeout(activityTimeoutRef.current);
|
|
281
|
+
}
|
|
282
|
+
if (!activityStartTimeRef.current) {
|
|
283
|
+
activityStartTimeRef.current = Date.now();
|
|
284
|
+
setIsActivityDetected(true);
|
|
285
|
+
const tracer = getTracer();
|
|
286
|
+
const span = tracer.startSpan("terminal.activity", {
|
|
287
|
+
attributes: {
|
|
288
|
+
"activity.type": "started"
|
|
289
|
+
}
|
|
290
|
+
});
|
|
291
|
+
span.addEvent("terminal.activity.started", {
|
|
292
|
+
"activity.startedAt": activityStartTimeRef.current
|
|
293
|
+
});
|
|
294
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
295
|
+
span.end();
|
|
296
|
+
const state = {
|
|
297
|
+
isActive: true,
|
|
298
|
+
startedAt: activityStartTimeRef.current
|
|
299
|
+
};
|
|
300
|
+
onActivityChangeRef.current?.(state);
|
|
301
|
+
}
|
|
302
|
+
activityTimeoutRef.current = setTimeout(() => {
|
|
303
|
+
const startedAt = activityStartTimeRef.current;
|
|
304
|
+
const duration = startedAt ? Date.now() - startedAt : undefined;
|
|
305
|
+
activityStartTimeRef.current = null;
|
|
306
|
+
setIsActivityDetected(false);
|
|
307
|
+
const tracer = getTracer();
|
|
308
|
+
const span = tracer.startSpan("terminal.activity", {
|
|
309
|
+
attributes: {
|
|
310
|
+
"activity.type": "stopped",
|
|
311
|
+
"activity.duration.ms": duration
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
span.addEvent("terminal.activity.stopped", {
|
|
315
|
+
"activity.duration.ms": duration ?? 0
|
|
316
|
+
});
|
|
317
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
318
|
+
span.end();
|
|
319
|
+
const state = {
|
|
320
|
+
isActive: false,
|
|
321
|
+
duration
|
|
322
|
+
};
|
|
323
|
+
onActivityChangeRef.current?.(state);
|
|
324
|
+
}, activityTimeout);
|
|
325
|
+
}, [activityDetection, activityTimeout]);
|
|
326
|
+
useEffect(() => {
|
|
327
|
+
return () => {
|
|
328
|
+
if (activityTimeoutRef.current) {
|
|
329
|
+
clearTimeout(activityTimeoutRef.current);
|
|
330
|
+
}
|
|
331
|
+
};
|
|
223
332
|
}, []);
|
|
224
333
|
const handleDroppedContent = useCallback((content) => {
|
|
225
334
|
if (terminal) {
|
|
@@ -288,6 +397,7 @@ var ThemedTerminal = forwardRef(({
|
|
|
288
397
|
if (terminal) {
|
|
289
398
|
terminal.write(data);
|
|
290
399
|
scheduleScrollToBottom();
|
|
400
|
+
trackActivity();
|
|
291
401
|
} else {
|
|
292
402
|
console.warn("[ThemedTerminal] write called but terminal is null!");
|
|
293
403
|
}
|
|
@@ -295,6 +405,7 @@ var ThemedTerminal = forwardRef(({
|
|
|
295
405
|
writeln: (data) => {
|
|
296
406
|
if (terminal) {
|
|
297
407
|
terminal.writeln(data);
|
|
408
|
+
trackActivity();
|
|
298
409
|
scheduleScrollToBottom();
|
|
299
410
|
}
|
|
300
411
|
},
|
|
@@ -369,7 +480,7 @@ var ThemedTerminal = forwardRef(({
|
|
|
369
480
|
},
|
|
370
481
|
isScrollLocked: () => isScrollLockedRef.current,
|
|
371
482
|
getScrollPosition
|
|
372
|
-
}), [terminal]);
|
|
483
|
+
}), [terminal, trackActivity]);
|
|
373
484
|
const initialConfigRef = useRef({
|
|
374
485
|
cursorBlink,
|
|
375
486
|
cursorStyle,
|
|
@@ -1323,40 +1434,40 @@ import { Lock, Unlock, ArrowDown } from "lucide-react";
|
|
|
1323
1434
|
import { useCallback as useCallback2, useEffect as useEffect3, useRef as useRef2, useState as useState3 } from "react";
|
|
1324
1435
|
|
|
1325
1436
|
// src/panel-types/index.ts
|
|
1326
|
-
function getTerminalSessions(
|
|
1327
|
-
return
|
|
1437
|
+
function getTerminalSessions(context2) {
|
|
1438
|
+
return context2.terminal?.data ?? [];
|
|
1328
1439
|
}
|
|
1329
|
-
function getTerminalSession(
|
|
1330
|
-
const sessions = getTerminalSessions(
|
|
1440
|
+
function getTerminalSession(context2, sessionId) {
|
|
1441
|
+
const sessions = getTerminalSessions(context2);
|
|
1331
1442
|
return sessions.find((s) => s.id === sessionId);
|
|
1332
1443
|
}
|
|
1333
|
-
function isTerminalLoading(
|
|
1334
|
-
return
|
|
1444
|
+
function isTerminalLoading(context2) {
|
|
1445
|
+
return context2.terminal?.loading ?? false;
|
|
1335
1446
|
}
|
|
1336
|
-
function getRepositoryPath(
|
|
1337
|
-
return
|
|
1447
|
+
function getRepositoryPath(context2) {
|
|
1448
|
+
return context2.currentScope.repository?.path ?? null;
|
|
1338
1449
|
}
|
|
1339
|
-
function getWorkspacePath(
|
|
1340
|
-
return
|
|
1450
|
+
function getWorkspacePath(context2) {
|
|
1451
|
+
return context2.currentScope.workspace?.path ?? null;
|
|
1341
1452
|
}
|
|
1342
|
-
function getTerminalDirectory(
|
|
1453
|
+
function getTerminalDirectory(context2, terminalScope = "repository") {
|
|
1343
1454
|
switch (terminalScope) {
|
|
1344
1455
|
case "workspace":
|
|
1345
|
-
return getWorkspacePath(
|
|
1456
|
+
return getWorkspacePath(context2);
|
|
1346
1457
|
case "repository":
|
|
1347
|
-
return getRepositoryPath(
|
|
1458
|
+
return getRepositoryPath(context2) ?? getWorkspacePath(context2);
|
|
1348
1459
|
default:
|
|
1349
|
-
return getRepositoryPath(
|
|
1460
|
+
return getRepositoryPath(context2) ?? getWorkspacePath(context2);
|
|
1350
1461
|
}
|
|
1351
1462
|
}
|
|
1352
|
-
function getTerminalSlice(
|
|
1353
|
-
return
|
|
1463
|
+
function getTerminalSlice(context2) {
|
|
1464
|
+
return context2.terminal;
|
|
1354
1465
|
}
|
|
1355
1466
|
|
|
1356
1467
|
// src/panels/TerminalPanel.tsx
|
|
1357
1468
|
import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1358
1469
|
var TerminalPanel = ({
|
|
1359
|
-
context,
|
|
1470
|
+
context: context2,
|
|
1360
1471
|
actions,
|
|
1361
1472
|
events: _events,
|
|
1362
1473
|
terminalScope = "repository"
|
|
@@ -1374,7 +1485,7 @@ var TerminalPanel = ({
|
|
|
1374
1485
|
const terminalRef = useRef2(null);
|
|
1375
1486
|
const dataPortRef = useRef2(null);
|
|
1376
1487
|
const isScrollLockedRef = useRef2(scrollPosition.isScrollLocked);
|
|
1377
|
-
const terminalDirectory = getTerminalDirectory(
|
|
1488
|
+
const terminalDirectory = getTerminalDirectory(context2, terminalScope);
|
|
1378
1489
|
const pendingSessionIdRef = useRef2(null);
|
|
1379
1490
|
useEffect3(() => {
|
|
1380
1491
|
let mounted = true;
|
|
@@ -1511,7 +1622,7 @@ var TerminalPanel = ({
|
|
|
1511
1622
|
setScrollPosition(position);
|
|
1512
1623
|
isScrollLockedRef.current = position.isScrollLocked;
|
|
1513
1624
|
}, []);
|
|
1514
|
-
const sessionInfo = sessionId ? getTerminalSession(
|
|
1625
|
+
const sessionInfo = sessionId ? getTerminalSession(context2, sessionId) : undefined;
|
|
1515
1626
|
if (error) {
|
|
1516
1627
|
return /* @__PURE__ */ jsxs5("div", {
|
|
1517
1628
|
style: {
|
|
@@ -1680,7 +1791,7 @@ import React2, {
|
|
|
1680
1791
|
} from "react";
|
|
1681
1792
|
import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1682
1793
|
function TerminalTabContentInner(props, ref) {
|
|
1683
|
-
const { tab, sessionId, isActive, isVisible, actions, events, terminalContext, onSessionCreated, onScrollPositionChange, isForeign = false, defaultScrollLocked } = props;
|
|
1794
|
+
const { tab, sessionId, isActive, isVisible, actions, events, terminalContext, onSessionCreated, onScrollPositionChange, isForeign = false, defaultScrollLocked, activityDetection = true, activityTimeout = 500, autoShowBlinds = false, onActivityStateChange } = props;
|
|
1684
1795
|
console.log("[TerminalTabContent] RENDER", { tabId: tab.id, isActive, sessionId });
|
|
1685
1796
|
const terminalRef = useRef3(null);
|
|
1686
1797
|
const [localSessionId, setLocalSessionId] = useState4(sessionId);
|
|
@@ -1744,12 +1855,39 @@ function TerminalTabContentInner(props, ref) {
|
|
|
1744
1855
|
});
|
|
1745
1856
|
if (!mounted)
|
|
1746
1857
|
return;
|
|
1858
|
+
const tracer = getTracer();
|
|
1859
|
+
const span = tracer.startSpan("terminal.session", {
|
|
1860
|
+
attributes: {
|
|
1861
|
+
"session.id": newSessionId,
|
|
1862
|
+
"session.cwd": tab.directory,
|
|
1863
|
+
"session.context": `${terminalContext}:${tab.id}`
|
|
1864
|
+
}
|
|
1865
|
+
});
|
|
1866
|
+
span.addEvent("terminal.session.created", {
|
|
1867
|
+
"session.id": newSessionId,
|
|
1868
|
+
"session.cwd": tab.directory
|
|
1869
|
+
});
|
|
1870
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
1871
|
+
span.end();
|
|
1747
1872
|
setLocalSessionId(newSessionId);
|
|
1748
1873
|
setIsInitialized(true);
|
|
1749
1874
|
onSessionCreated(tab.id, newSessionId);
|
|
1750
1875
|
await claimAndConnect(newSessionId);
|
|
1751
1876
|
} catch (error) {
|
|
1752
1877
|
console.error("[TerminalTabContent] Failed to create session:", error);
|
|
1878
|
+
const tracer = getTracer();
|
|
1879
|
+
const span = tracer.startSpan("terminal.session", {
|
|
1880
|
+
attributes: {
|
|
1881
|
+
"session.action": "create",
|
|
1882
|
+
"error.occurred": true
|
|
1883
|
+
}
|
|
1884
|
+
});
|
|
1885
|
+
span.addEvent("terminal.session.error", {
|
|
1886
|
+
"error.message": error instanceof Error ? error.message : "Unknown error"
|
|
1887
|
+
});
|
|
1888
|
+
span.recordException(error);
|
|
1889
|
+
span.setStatus({ code: SpanStatusCode.ERROR, message: "Session creation failed" });
|
|
1890
|
+
span.end();
|
|
1753
1891
|
}
|
|
1754
1892
|
};
|
|
1755
1893
|
initSession();
|
|
@@ -1848,6 +1986,21 @@ function TerminalTabContentInner(props, ref) {
|
|
|
1848
1986
|
});
|
|
1849
1987
|
}
|
|
1850
1988
|
}, [localSessionId, events]);
|
|
1989
|
+
const handleActivityChange = useCallback3((state) => {
|
|
1990
|
+
if (localSessionId) {
|
|
1991
|
+
onActivityStateChange?.(localSessionId, state.isActive);
|
|
1992
|
+
events.emit({
|
|
1993
|
+
type: "terminal:activity-changed",
|
|
1994
|
+
source: "TabbedTerminalPanel",
|
|
1995
|
+
timestamp: Date.now(),
|
|
1996
|
+
payload: {
|
|
1997
|
+
sessionId: localSessionId,
|
|
1998
|
+
activityType: state.isActive ? "started" : "stopped",
|
|
1999
|
+
isWorking: state.isActive
|
|
2000
|
+
}
|
|
2001
|
+
});
|
|
2002
|
+
}
|
|
2003
|
+
}, [localSessionId, events, onActivityStateChange]);
|
|
1851
2004
|
const handleScrollToBottom = useCallback3(() => {
|
|
1852
2005
|
terminalRef.current?.scrollToBottom();
|
|
1853
2006
|
}, []);
|
|
@@ -1912,6 +2065,10 @@ function TerminalTabContentInner(props, ref) {
|
|
|
1912
2065
|
cursorBlink: shouldRenderTerminal,
|
|
1913
2066
|
scrollback: 1e4,
|
|
1914
2067
|
enableSearch: true,
|
|
2068
|
+
activityDetection,
|
|
2069
|
+
activityTimeout,
|
|
2070
|
+
autoShowBlinds,
|
|
2071
|
+
onActivityChange: shouldRenderTerminal ? handleActivityChange : undefined,
|
|
1915
2072
|
enableWebLinks: true,
|
|
1916
2073
|
overlayState
|
|
1917
2074
|
}, shouldRenderTerminal ? "active" : "overlay")
|
|
@@ -1932,6 +2089,12 @@ var areTerminalTabContentPropsEqual = (prevProps, nextProps) => {
|
|
|
1932
2089
|
changes.push("terminalContext");
|
|
1933
2090
|
if (prevProps.isForeign !== nextProps.isForeign)
|
|
1934
2091
|
changes.push("isForeign");
|
|
2092
|
+
if (prevProps.activityDetection !== nextProps.activityDetection)
|
|
2093
|
+
changes.push("activityDetection");
|
|
2094
|
+
if (prevProps.activityTimeout !== nextProps.activityTimeout)
|
|
2095
|
+
changes.push("activityTimeout");
|
|
2096
|
+
if (prevProps.autoShowBlinds !== nextProps.autoShowBlinds)
|
|
2097
|
+
changes.push("autoShowBlinds");
|
|
1935
2098
|
if (changes.length > 0) {
|
|
1936
2099
|
console.log("[TerminalTabContent] MEMO - will re-render, props changed:", changes, { tabId: nextProps.tab.id });
|
|
1937
2100
|
}
|
|
@@ -1962,7 +2125,10 @@ var TabbedTerminalPanelInner = ({
|
|
|
1962
2125
|
onActiveTabChange,
|
|
1963
2126
|
requestFocusTabId,
|
|
1964
2127
|
onFocusTabHandled,
|
|
1965
|
-
workingStates
|
|
2128
|
+
workingStates,
|
|
2129
|
+
activityDetection = true,
|
|
2130
|
+
activityTimeout = 500,
|
|
2131
|
+
autoShowBlinds = false
|
|
1966
2132
|
}) => {
|
|
1967
2133
|
console.log("[TabbedTerminalPanel] RENDER", { terminalContext, directory, width });
|
|
1968
2134
|
const { theme } = useTheme6();
|
|
@@ -1981,6 +2147,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
1981
2147
|
}, [isControlled, onActiveTabChange]);
|
|
1982
2148
|
const [sessionIds, setSessionIds] = useState4(new Map);
|
|
1983
2149
|
const [scrollPositions, setScrollPositions] = useState4(new Map);
|
|
2150
|
+
const [activityStates, setActivityStates] = useState4(new Map);
|
|
1984
2151
|
const customTabsKey = React2.useMemo(() => {
|
|
1985
2152
|
const customTabs = initialTabs.filter((tab) => tab.contentType !== "terminal");
|
|
1986
2153
|
return JSON.stringify(customTabs);
|
|
@@ -2169,8 +2336,8 @@ var TabbedTerminalPanelInner = ({
|
|
|
2169
2336
|
useEffect4(() => {
|
|
2170
2337
|
const handleSessionCreated2 = (event) => {
|
|
2171
2338
|
const customEvent = event;
|
|
2172
|
-
const { context } = customEvent.detail || {};
|
|
2173
|
-
if (
|
|
2339
|
+
const { context: context2 } = customEvent.detail || {};
|
|
2340
|
+
if (context2 && context2.startsWith(terminalContext)) {
|
|
2174
2341
|
console.log("[TabbedTerminalPanel] External session created, restoring owned sessions...");
|
|
2175
2342
|
restoreOwnedSessions();
|
|
2176
2343
|
}
|
|
@@ -2217,8 +2384,34 @@ var TabbedTerminalPanelInner = ({
|
|
|
2217
2384
|
if (!isForeign && sessionId && actions.destroyTerminalSession) {
|
|
2218
2385
|
try {
|
|
2219
2386
|
await actions.destroyTerminalSession(sessionId);
|
|
2387
|
+
const tracer = getTracer();
|
|
2388
|
+
const span = tracer.startSpan("terminal.session", {
|
|
2389
|
+
attributes: {
|
|
2390
|
+
"session.id": sessionId,
|
|
2391
|
+
"session.action": "destroyed"
|
|
2392
|
+
}
|
|
2393
|
+
});
|
|
2394
|
+
span.addEvent("terminal.session.destroyed", {
|
|
2395
|
+
"session.id": sessionId
|
|
2396
|
+
});
|
|
2397
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
2398
|
+
span.end();
|
|
2220
2399
|
} catch (err) {
|
|
2221
2400
|
console.error("[TabbedTerminalPanel] Failed to destroy session:", err);
|
|
2401
|
+
const tracer = getTracer();
|
|
2402
|
+
const span = tracer.startSpan("terminal.session", {
|
|
2403
|
+
attributes: {
|
|
2404
|
+
"session.id": sessionId,
|
|
2405
|
+
"session.action": "destroy",
|
|
2406
|
+
"error.occurred": true
|
|
2407
|
+
}
|
|
2408
|
+
});
|
|
2409
|
+
span.addEvent("terminal.session.error", {
|
|
2410
|
+
"error.message": err instanceof Error ? err.message : "Unknown error"
|
|
2411
|
+
});
|
|
2412
|
+
span.recordException(err);
|
|
2413
|
+
span.setStatus({ code: SpanStatusCode.ERROR, message: "Session destruction failed" });
|
|
2414
|
+
span.end();
|
|
2222
2415
|
}
|
|
2223
2416
|
}
|
|
2224
2417
|
setSessionIds((prev) => {
|
|
@@ -2258,6 +2451,17 @@ var TabbedTerminalPanelInner = ({
|
|
|
2258
2451
|
const handleSessionCreated = useCallback3((tabId, sessionId) => {
|
|
2259
2452
|
setSessionIds((prev) => new Map(prev).set(tabId, sessionId));
|
|
2260
2453
|
}, []);
|
|
2454
|
+
const handleActivityStateChange = useCallback3((sessionId, isActive) => {
|
|
2455
|
+
setActivityStates((prev) => {
|
|
2456
|
+
const next = new Map(prev);
|
|
2457
|
+
if (isActive) {
|
|
2458
|
+
next.set(sessionId, true);
|
|
2459
|
+
} else {
|
|
2460
|
+
next.delete(sessionId);
|
|
2461
|
+
}
|
|
2462
|
+
return next;
|
|
2463
|
+
});
|
|
2464
|
+
}, []);
|
|
2261
2465
|
useTabKeyboardShortcuts({
|
|
2262
2466
|
onNewTab: () => {
|
|
2263
2467
|
if (isCreatingTabRef.current)
|
|
@@ -2280,7 +2484,9 @@ var TabbedTerminalPanelInner = ({
|
|
|
2280
2484
|
});
|
|
2281
2485
|
const renderTabAccessory = useCallback3((tab) => {
|
|
2282
2486
|
const tabSessionId = sessionIds.get(tab.id);
|
|
2283
|
-
const
|
|
2487
|
+
const hasExternalWorkingState = tabSessionId ? workingStates?.[tabSessionId]?.isWorking : false;
|
|
2488
|
+
const hasInternalActivity = tabSessionId ? activityStates.get(tabSessionId) : false;
|
|
2489
|
+
const isWorking = hasExternalWorkingState || hasInternalActivity;
|
|
2284
2490
|
const isActive = tab.id === activeTabId;
|
|
2285
2491
|
if (!isActive && !isWorking)
|
|
2286
2492
|
return null;
|
|
@@ -2338,7 +2544,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
2338
2544
|
})
|
|
2339
2545
|
]
|
|
2340
2546
|
});
|
|
2341
|
-
}, [activeTabId, scrollPositions, defaultScrollPosition, handleToggleScrollLock, theme, sessionIds, workingStates]);
|
|
2547
|
+
}, [activeTabId, scrollPositions, defaultScrollPosition, handleToggleScrollLock, theme, sessionIds, workingStates, activityStates]);
|
|
2342
2548
|
return /* @__PURE__ */ jsxs6("div", {
|
|
2343
2549
|
style: {
|
|
2344
2550
|
display: "flex",
|
|
@@ -2420,7 +2626,11 @@ var TabbedTerminalPanelInner = ({
|
|
|
2420
2626
|
onSessionCreated: handleSessionCreated,
|
|
2421
2627
|
onScrollPositionChange: handleTabScrollPositionChange,
|
|
2422
2628
|
isForeign: tab.id.startsWith("tab-foreign-"),
|
|
2423
|
-
defaultScrollLocked
|
|
2629
|
+
defaultScrollLocked,
|
|
2630
|
+
activityDetection,
|
|
2631
|
+
activityTimeout,
|
|
2632
|
+
autoShowBlinds,
|
|
2633
|
+
onActivityStateChange: handleActivityStateChange
|
|
2424
2634
|
}, tab.id);
|
|
2425
2635
|
}
|
|
2426
2636
|
return /* @__PURE__ */ jsx7("div", {
|
|
@@ -2446,7 +2656,11 @@ var TabbedTerminalPanelInner = ({
|
|
|
2446
2656
|
onSessionCreated: handleSessionCreated,
|
|
2447
2657
|
onScrollPositionChange: handleTabScrollPositionChange,
|
|
2448
2658
|
isForeign: tab.id.startsWith("tab-foreign-"),
|
|
2449
|
-
defaultScrollLocked
|
|
2659
|
+
defaultScrollLocked,
|
|
2660
|
+
activityDetection,
|
|
2661
|
+
activityTimeout,
|
|
2662
|
+
autoShowBlinds,
|
|
2663
|
+
onActivityStateChange: handleActivityStateChange
|
|
2450
2664
|
}, tab.id);
|
|
2451
2665
|
}
|
|
2452
2666
|
return /* @__PURE__ */ jsxs6("div", {
|
|
@@ -2547,6 +2761,12 @@ var TabbedTerminalPanelMemoized = React2.memo(TabbedTerminalPanelInner, (prevPro
|
|
|
2547
2761
|
changes.push("onActiveTabChange");
|
|
2548
2762
|
if (prevProps.workingStates !== nextProps.workingStates)
|
|
2549
2763
|
changes.push("workingStates");
|
|
2764
|
+
if (prevProps.activityDetection !== nextProps.activityDetection)
|
|
2765
|
+
changes.push("activityDetection");
|
|
2766
|
+
if (prevProps.activityTimeout !== nextProps.activityTimeout)
|
|
2767
|
+
changes.push("activityTimeout");
|
|
2768
|
+
if (prevProps.autoShowBlinds !== nextProps.autoShowBlinds)
|
|
2769
|
+
changes.push("autoShowBlinds");
|
|
2550
2770
|
const ignoredChanges = [];
|
|
2551
2771
|
if (prevProps.context !== nextProps.context)
|
|
2552
2772
|
ignoredChanges.push("context");
|
|
@@ -2742,8 +2962,11 @@ var onPackageUnload = async () => {
|
|
|
2742
2962
|
};
|
|
2743
2963
|
export {
|
|
2744
2964
|
writeToTerminalTool,
|
|
2965
|
+
withSpanSync,
|
|
2966
|
+
withSpan,
|
|
2745
2967
|
useThemedTerminal,
|
|
2746
2968
|
useTabKeyboardShortcuts,
|
|
2969
|
+
trace,
|
|
2747
2970
|
terminalPanelToolsMetadata,
|
|
2748
2971
|
terminalPanelTools,
|
|
2749
2972
|
panels,
|
|
@@ -2752,15 +2975,18 @@ export {
|
|
|
2752
2975
|
isTerminalLoading,
|
|
2753
2976
|
isTabOfType,
|
|
2754
2977
|
getWorkspacePath,
|
|
2978
|
+
getTracer,
|
|
2755
2979
|
getTerminalSlice,
|
|
2756
2980
|
getTerminalSessions,
|
|
2757
2981
|
getTerminalSession,
|
|
2758
2982
|
getTerminalDirectory,
|
|
2759
2983
|
getTerminalCSSVariables,
|
|
2760
2984
|
getRepositoryPath,
|
|
2985
|
+
getActiveSpan,
|
|
2761
2986
|
focusTerminalTool,
|
|
2762
2987
|
createTerminalTheme,
|
|
2763
2988
|
createTerminalSessionTool,
|
|
2989
|
+
context,
|
|
2764
2990
|
closeTerminalSessionTool,
|
|
2765
2991
|
clearTerminalTool,
|
|
2766
2992
|
WorkingOverlay,
|
|
@@ -2769,5 +2995,8 @@ export {
|
|
|
2769
2995
|
TerminalPanel,
|
|
2770
2996
|
TabbedTerminalPanel,
|
|
2771
2997
|
TabButton,
|
|
2772
|
-
TabBar
|
|
2998
|
+
TabBar,
|
|
2999
|
+
TRACER_VERSION,
|
|
3000
|
+
TRACER_NAME,
|
|
3001
|
+
SpanStatusCode
|
|
2773
3002
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemedTerminal.d.ts","sourceRoot":"","sources":["../../../src/components/ThemedTerminal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAkC3D,OAAO,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ThemedTerminal.d.ts","sourceRoot":"","sources":["../../../src/components/ThemedTerminal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAkC3D,OAAO,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAGV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,8BAA8B,CAAC;AAEtC,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,KAAK,EAAE,KAAK,CAAC;CACd;AAsBD,eAAO,MAAM,cAAc,4HAunC1B,CAAC"}
|
|
@@ -122,5 +122,8 @@ export interface TabbedTerminalPanelProps<TTab extends BaseTab = TerminalTab> ex
|
|
|
122
122
|
renderTabLabel?: (tab: TTab) => React.ReactNode;
|
|
123
123
|
width?: number;
|
|
124
124
|
workingStates?: Record<string, TerminalWorkingState>;
|
|
125
|
+
activityDetection?: boolean;
|
|
126
|
+
activityTimeout?: number;
|
|
127
|
+
autoShowBlinds?: boolean;
|
|
125
128
|
}
|
|
126
129
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/panel-types/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/panel-types/index.ts"],"names":[],"mappings":"AAQA,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EACV,YAAY,IAAI,gBAAgB,EAChC,mBAAmB,IAAI,uBAAuB,EAC9C,iBAAiB,EACjB,SAAS,EACV,MAAM,qCAAqC,CAAC;AAK7C,MAAM,MAAM,iBAAiB,GACzB,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,uBAAuB,GACvB,qBAAqB,GACrB,qBAAqB,GACrB,mBAAmB,GACnB,2BAA2B,CAAC;AAKhC,MAAM,WAAW,sBAAsB;IAErC,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,MAAM,CAAC;IAElB,QAAQ,EAAE,OAAO,CAAC;IAElB,OAAO,EAAE,OAAO,CAAC;IAEjB,OAAO,EAAE,OAAO,CAAC;IAEjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAKD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAKnD,MAAM,WAAW,qBAAqB;IAEpC,QAAQ,EAAE,kBAAkB,CAAC;IAE7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,SAAS,CAAC;AAOzD,MAAM,WAAW,4BAA4B;IAE3C,SAAS,EAAE,MAAM,CAAC;IAElB,YAAY,EAAE,oBAAoB,CAAC;IAEnC,SAAS,EAAE,OAAO,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,MAAM,WAAW,4BAA4B;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAKD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAKD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC;CAC5C;AAOD,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAE5D,qBAAqB,EAAE,CACrB,OAAO,CAAC,EAAE,4BAA4B,KACnC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,sBAAsB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAG7D,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAGzF,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAU3C,mBAAmB,EAAE,CACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,KAAK,IAAI,KACvD,MAAM,IAAI,CAAC;IAGhB,sBAAsB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACxE,sBAAsB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACzF,wBAAwB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAO1E,eAAe,EAAE,CACf,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,KACtE,MAAM,IAAI,CAAC;IAGhB,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAOzD,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAS/F,cAAc,EAAE,CACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAC7B,MAAM,IAAI,CAAC;IAGhB,oBAAoB,EAAE,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;CAC5D;AAOD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,GAC/C,mBAAmB,EAAE,CAEvB;AAKD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,EAChD,SAAS,EAAE,MAAM,GAChB,mBAAmB,GAAG,SAAS,CAGjC;AAMD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAE3F;AAOD,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,WAAW,CAAC;AAMvD,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAO7G,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAKD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAE3E;AAKD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAE1E;AAKD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,iBAAiB,EAC1B,aAAa,GAAE,aAA4B,GAC1C,MAAM,GAAG,IAAI,CASf;AAMD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,GAC/C,SAAS,CAAC,mBAAmB,EAAE,CAAC,GAAG,SAAS,CAE9C;AAED,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAM5C,MAAM,WAAW,oBAAoB;IAEnC,SAAS,EAAE,OAAO,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C,WAAW,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAGlB;AA0BD,MAAM,WAAW,wBAAwB,CAAC,IAAI,SAAS,OAAO,GAAG,WAAW,CAAE,SAAQ,IAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC;IAM7H,eAAe,EAAE,MAAM,CAAC;IAKxB,SAAS,EAAE,MAAM,CAAC;IAMlB,UAAU,CAAC,EAAE,OAAO,CAAC;IAMrB,SAAS,CAAC,EAAE,OAAO,CAAC;IAMpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAK9B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IAKtC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;IAQrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAO5B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAuBnD,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAOlC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAM/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAK3B,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAStD,cAAc,CAAC,EAAE,MAAM,CAAC;IAwBxB,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IAkBhH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;IAiB/C,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;IAMhD,KAAK,CAAC,EAAE,MAAM,CAAC;IAgBf,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAUrD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAO5B,eAAe,CAAC,EAAE,MAAM,CAAC;IAOzB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabbedTerminalPanel.d.ts","sourceRoot":"","sources":["../../../src/panels/TabbedTerminalPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,KAKN,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EACV,wBAAwB,EACxB,WAAW,
|
|
1
|
+
{"version":3,"file":"TabbedTerminalPanel.d.ts","sourceRoot":"","sources":["../../../src/panels/TabbedTerminalPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,KAKN,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EACV,wBAAwB,EACxB,WAAW,EAKZ,MAAM,gBAAgB,CAAC;AAoCxB,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B;AA6zCD,eAAO,MAAM,mBAAmB,EAAkC,CAAC,IAAI,SAAS,OAAO,cAAc,EAAE,OAAO,GAAG,WAAW,EAC1H,KAAK,EAAE,wBAAwB,CAAC,IAAI,CAAC,KAClC,KAAK,CAAC,YAAY,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { trace, context, SpanStatusCode, type Tracer, type Span } from '@opentelemetry/api';
|
|
2
|
+
export declare const TRACER_NAME = "@industry-theme/xterm-terminal-panel";
|
|
3
|
+
export declare const TRACER_VERSION = "0.5.1";
|
|
4
|
+
export declare function getTracer(): Tracer;
|
|
5
|
+
export declare function getActiveSpan(): Span | undefined;
|
|
6
|
+
export declare function withSpan<T>(span: Span, fn: () => Promise<T>): Promise<T>;
|
|
7
|
+
export declare function withSpanSync<T>(span: Span, fn: () => T): T;
|
|
8
|
+
export { trace, context, SpanStatusCode };
|
|
9
|
+
export type { Tracer, Span };
|
|
10
|
+
//# sourceMappingURL=telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,KAAK,EACL,OAAO,EACP,cAAc,EACd,KAAK,MAAM,EACX,KAAK,IAAI,EACV,MAAM,oBAAoB,CAAC;AAM5B,eAAO,MAAM,WAAW,yCAAyC,CAAC;AAClE,eAAO,MAAM,cAAc,UAAkB,CAAC;AAM9C,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAMD,wBAAgB,aAAa,IAAI,IAAI,GAAG,SAAS,CAEhD;AAMD,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAEZ;AAKD,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE1D;AAGD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1C,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC"}
|
|
@@ -20,6 +20,11 @@ export interface TerminalScrollPosition {
|
|
|
20
20
|
isAtBottom: boolean;
|
|
21
21
|
isScrollLocked: boolean;
|
|
22
22
|
}
|
|
23
|
+
export interface TerminalActivityState {
|
|
24
|
+
isActive: boolean;
|
|
25
|
+
startedAt?: number;
|
|
26
|
+
duration?: number;
|
|
27
|
+
}
|
|
23
28
|
export type TerminalShortcut = 'command-palette';
|
|
24
29
|
export interface TerminalShortcutEvent {
|
|
25
30
|
shortcut: TerminalShortcut;
|
|
@@ -54,6 +59,10 @@ export interface ThemedTerminalProps {
|
|
|
54
59
|
isWorking?: boolean;
|
|
55
60
|
workingMessage?: string;
|
|
56
61
|
workingSubtitle?: string;
|
|
62
|
+
activityDetection?: boolean;
|
|
63
|
+
activityTimeout?: number;
|
|
64
|
+
onActivityChange?: (state: TerminalActivityState) => void;
|
|
65
|
+
autoShowBlinds?: boolean;
|
|
57
66
|
convertEol?: boolean;
|
|
58
67
|
cursorBlink?: boolean;
|
|
59
68
|
cursorStyle?: 'block' | 'underline' | 'bar';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.types.d.ts","sourceRoot":"","sources":["../../../src/types/terminal.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"terminal.types.d.ts","sourceRoot":"","sources":["../../../src/types/terminal.types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@industry-theme/xterm-terminal-panel",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.3",
|
|
4
4
|
"description": "Industry-themed xterm.js terminal components with panel framework integration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
26
26
|
"build": "bun run clean && bun run build:esm && bun run build:tools && bun run build:types && bun run build:styles",
|
|
27
|
-
"build:esm": "NODE_ENV=production bun build ./index.ts --outdir ./dist --entry-naming [dir]/[name].[ext] --format esm --target browser --external react --external react-dom --external @xterm/xterm --external @xterm/addon-fit --external @xterm/addon-search --external @xterm/addon-web-links --external @xterm/addon-webgl --external @principal-ade/industry-theme --external @principal-ade/panel-framework-core --external lucide-react --external clsx",
|
|
27
|
+
"build:esm": "NODE_ENV=production bun build ./index.ts --outdir ./dist --entry-naming [dir]/[name].[ext] --format esm --target browser --external react --external react-dom --external @xterm/xterm --external @xterm/addon-fit --external @xterm/addon-search --external @xterm/addon-web-links --external @xterm/addon-webgl --external @principal-ade/industry-theme --external @principal-ade/panel-framework-core --external lucide-react --external clsx --external @opentelemetry/api",
|
|
28
28
|
"build:tools": "bun build ./src/tools/index.ts --outfile ./dist/tools.bundle.js --format esm --target browser",
|
|
29
29
|
"build:types": "tsc --project tsconfig.build.json --emitDeclarationOnly --declaration --declarationMap",
|
|
30
30
|
"build:styles": "cp src/styles/terminal-theme.css dist/styles.css",
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"clsx": "^2.1.1"
|
|
58
58
|
},
|
|
59
59
|
"peerDependencies": {
|
|
60
|
+
"@opentelemetry/api": ">=1.8.0",
|
|
60
61
|
"@principal-ade/industry-theme": ">=0.1.8",
|
|
61
62
|
"@principal-ade/panel-framework-core": ">=0.5.1",
|
|
62
63
|
"@principal-ade/panel-layouts": ">=0.4.0",
|
|
@@ -71,6 +72,9 @@
|
|
|
71
72
|
"react-dom": ">=19.0.0"
|
|
72
73
|
},
|
|
73
74
|
"peerDependenciesMeta": {
|
|
75
|
+
"@opentelemetry/api": {
|
|
76
|
+
"optional": true
|
|
77
|
+
},
|
|
74
78
|
"lucide-react": {
|
|
75
79
|
"optional": true
|
|
76
80
|
},
|
|
@@ -80,6 +84,8 @@
|
|
|
80
84
|
},
|
|
81
85
|
"devDependencies": {
|
|
82
86
|
"@chromatic-com/storybook": "^4.1.3",
|
|
87
|
+
"@opentelemetry/api": "^1.9.0",
|
|
88
|
+
"@principal-ai/storybook-addon-otel": "^0.3.22",
|
|
83
89
|
"@eslint/js": "^9.32.0",
|
|
84
90
|
"@industry-theme/agent-panels": "^0.2.12",
|
|
85
91
|
"@principal-ade/industry-theme": "^0.1.7",
|