@h-rig/cli 0.0.6-alpha.85 → 0.0.6-alpha.87
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/bin/rig.js +79 -1027
- package/dist/src/app-opentui/bootstrap.js +79 -1027
- package/dist/src/app-opentui/command-palette.js +1 -0
- package/dist/src/app-opentui/drone.js +1 -0
- package/dist/src/app-opentui/index.js +61 -1024
- package/dist/src/app-opentui/list-search.d.ts +5 -1
- package/dist/src/app-opentui/list-search.js +2 -2
- package/dist/src/app-opentui/react/App.js +62 -970
- package/dist/src/app-opentui/react/Backdrop.js +3 -9
- package/dist/src/app-opentui/react/ChromeHost.js +6 -1038
- package/dist/src/app-opentui/react/SceneFrameView.js +55 -5
- package/dist/src/app-opentui/react/launch.js +62 -970
- package/dist/src/app-opentui/react/syntax.js +1 -0
- package/dist/src/app-opentui/registry.js +3 -5
- package/dist/src/app-opentui/render/constants.d.ts +0 -1
- package/dist/src/app-opentui/render/constants.js +0 -2
- package/dist/src/app-opentui/render/graphics.js +3 -9
- package/dist/src/app-opentui/render/hover.d.ts +11 -0
- package/dist/src/app-opentui/render/hover.js +34 -0
- package/dist/src/app-opentui/render/native-host.js +1 -0
- package/dist/src/app-opentui/render/panels.js +50 -3
- package/dist/src/app-opentui/render/preloader.js +1 -0
- package/dist/src/app-opentui/render/scene.js +1 -0
- package/dist/src/app-opentui/render/text.d.ts +13 -0
- package/dist/src/app-opentui/render/text.js +54 -5
- package/dist/src/app-opentui/render/type-bar.js +1 -0
- package/dist/src/app-opentui/runtime.js +62 -1025
- package/dist/src/app-opentui/scenes/command.js +1 -0
- package/dist/src/app-opentui/scenes/doctor.js +1 -0
- package/dist/src/app-opentui/scenes/error.js +1 -0
- package/dist/src/app-opentui/scenes/family-domains/agent.js +1 -0
- package/dist/src/app-opentui/scenes/family-domains/browser.js +1 -0
- package/dist/src/app-opentui/scenes/family-domains/dist.js +1 -0
- package/dist/src/app-opentui/scenes/family-domains/git.js +1 -0
- package/dist/src/app-opentui/scenes/family-domains/github.js +1 -0
- package/dist/src/app-opentui/scenes/family-domains/harness.js +1 -0
- package/dist/src/app-opentui/scenes/family-domains/index.js +1 -0
- package/dist/src/app-opentui/scenes/family-domains/kit.js +1 -0
- package/dist/src/app-opentui/scenes/family-domains/profile.js +1 -0
- package/dist/src/app-opentui/scenes/family-domains/queue.js +1 -0
- package/dist/src/app-opentui/scenes/family-domains/remote.js +1 -0
- package/dist/src/app-opentui/scenes/family-domains/review.js +1 -0
- package/dist/src/app-opentui/scenes/family-domains/setup.js +1 -0
- package/dist/src/app-opentui/scenes/family-domains/stats.js +1 -0
- package/dist/src/app-opentui/scenes/family.js +1 -0
- package/dist/src/app-opentui/scenes/fleet.js +3 -5
- package/dist/src/app-opentui/scenes/handoff.js +1 -0
- package/dist/src/app-opentui/scenes/help.js +1 -0
- package/dist/src/app-opentui/scenes/inbox.js +1 -0
- package/dist/src/app-opentui/scenes/init.js +1 -0
- package/dist/src/app-opentui/scenes/inspect.js +1 -0
- package/dist/src/app-opentui/scenes/main.js +1 -0
- package/dist/src/app-opentui/scenes/pi.js +1 -0
- package/dist/src/app-opentui/scenes/plugin.js +1 -0
- package/dist/src/app-opentui/scenes/repo.js +1 -0
- package/dist/src/app-opentui/scenes/run-detail.js +1 -0
- package/dist/src/app-opentui/scenes/server.js +1 -0
- package/dist/src/app-opentui/scenes/tasks.js +3 -5
- package/dist/src/app-opentui/scenes/workspace.js +1 -0
- package/dist/src/app-opentui/selectable.js +1 -0
- package/dist/src/app-opentui/theme.d.ts +1 -0
- package/dist/src/app-opentui/theme.js +1 -0
- package/package.json +8 -8
- package/dist/src/app-opentui/render/image-visual-layer-worker.d.ts +0 -1
- package/dist/src/app-opentui/render/image-visual-layer-worker.js +0 -1084
- package/dist/src/app-opentui/render/image-visual-layer.d.ts +0 -109
- package/dist/src/app-opentui/render/image-visual-layer.js +0 -1068
- package/dist/src/app-opentui/terminal-capabilities.d.ts +0 -7
- package/dist/src/app-opentui/terminal-capabilities.js +0 -15
|
@@ -17,6 +17,7 @@ var RIG_UI = {
|
|
|
17
17
|
bg2: "#0b0c0e",
|
|
18
18
|
panel: "#101115",
|
|
19
19
|
panel2: "#14161b",
|
|
20
|
+
hover: "#181b24",
|
|
20
21
|
glass: "#1e2230",
|
|
21
22
|
border: "#2a2e3a",
|
|
22
23
|
ink: "#f4f5f8",
|
|
@@ -95,15 +96,60 @@ function fitSceneLines(lines, layout) {
|
|
|
95
96
|
|
|
96
97
|
// packages/cli/src/app-opentui/render/text.ts
|
|
97
98
|
import { RGBA as RGBA2, TextAttributes as TextAttributes3, TextRenderable } from "@opentui/core";
|
|
99
|
+
|
|
100
|
+
// packages/cli/src/app-opentui/render/hover.ts
|
|
101
|
+
var hoveredId;
|
|
102
|
+
var listeners = new Set;
|
|
103
|
+
function isHovered(id) {
|
|
104
|
+
return id !== undefined && id === hoveredId;
|
|
105
|
+
}
|
|
106
|
+
function setHoveredSelectableId(id) {
|
|
107
|
+
if (hoveredId === id)
|
|
108
|
+
return;
|
|
109
|
+
hoveredId = id;
|
|
110
|
+
for (const listener of listeners)
|
|
111
|
+
listener();
|
|
112
|
+
}
|
|
113
|
+
function clearHoveredSelectableId(id) {
|
|
114
|
+
if (id !== undefined && hoveredId === id)
|
|
115
|
+
setHoveredSelectableId(undefined);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// packages/cli/src/app-opentui/render/text.ts
|
|
98
119
|
var TRANSPARENT = RGBA2.fromInts(0, 0, 0, 0);
|
|
120
|
+
var HOVER_BG = RGBA2.fromHex(RIG_UI.hover);
|
|
121
|
+
function lineIsClickable(line) {
|
|
122
|
+
return line?.selectable !== undefined || line?.selectableIndex !== undefined;
|
|
123
|
+
}
|
|
124
|
+
function lineSelectableId(line) {
|
|
125
|
+
return line?.selectable?.id ?? line?.selectableId;
|
|
126
|
+
}
|
|
127
|
+
function lineBackground(line) {
|
|
128
|
+
if (line?.bg)
|
|
129
|
+
return RGBA2.fromHex(line.bg);
|
|
130
|
+
const id = lineSelectableId(line);
|
|
131
|
+
if (id !== undefined && isHovered(id))
|
|
132
|
+
return HOVER_BG;
|
|
133
|
+
return TRANSPARENT;
|
|
134
|
+
}
|
|
99
135
|
function selectableMouseHandler(currentLineRef, onLineMouseDown) {
|
|
100
136
|
return (event) => {
|
|
101
137
|
const currentLine = currentLineRef();
|
|
102
|
-
if (currentLine
|
|
138
|
+
if (!lineIsClickable(currentLine))
|
|
103
139
|
return;
|
|
104
140
|
onLineMouseDown?.(currentLine, event);
|
|
105
141
|
};
|
|
106
142
|
}
|
|
143
|
+
function hoverHandlers(currentLineRef) {
|
|
144
|
+
return {
|
|
145
|
+
onMouseOver: () => {
|
|
146
|
+
const id = lineSelectableId(currentLineRef());
|
|
147
|
+
if (id !== undefined)
|
|
148
|
+
setHoveredSelectableId(id);
|
|
149
|
+
},
|
|
150
|
+
onMouseOut: () => clearHoveredSelectableId(lineSelectableId(currentLineRef()))
|
|
151
|
+
};
|
|
152
|
+
}
|
|
107
153
|
function createFlowTextLine(renderer, id, onLineMouseDown) {
|
|
108
154
|
let currentLine;
|
|
109
155
|
const renderable = new TextRenderable(renderer, {
|
|
@@ -114,7 +160,8 @@ function createFlowTextLine(renderer, id, onLineMouseDown) {
|
|
|
114
160
|
flexShrink: 0,
|
|
115
161
|
fg: RIG_UI.ink2,
|
|
116
162
|
selectable: true,
|
|
117
|
-
onMouseDown: selectableMouseHandler(() => currentLine, onLineMouseDown)
|
|
163
|
+
onMouseDown: selectableMouseHandler(() => currentLine, onLineMouseDown),
|
|
164
|
+
...hoverHandlers(() => currentLine)
|
|
118
165
|
});
|
|
119
166
|
renderable.setRigSceneLine = (line) => {
|
|
120
167
|
currentLine = line;
|
|
@@ -128,7 +175,7 @@ function applyFlowTextLine(renderable, line, width) {
|
|
|
128
175
|
renderable.width = Math.max(1, width);
|
|
129
176
|
renderable.content = line?.styledText ?? line?.text ?? "";
|
|
130
177
|
renderable.fg = line?.fg ?? RIG_UI.ink2;
|
|
131
|
-
renderable.bg = line
|
|
178
|
+
renderable.bg = lineBackground(line);
|
|
132
179
|
renderable.attributes = line?.bold ? TextAttributes3.BOLD : line?.dim ? TextAttributes3.DIM : 0;
|
|
133
180
|
}
|
|
134
181
|
|
|
@@ -435,13 +482,16 @@ function lineContent(line) {
|
|
|
435
482
|
}
|
|
436
483
|
function LineView(props) {
|
|
437
484
|
const { line, onLineClick } = props;
|
|
485
|
+
const id = lineSelectableId(line);
|
|
438
486
|
return /* @__PURE__ */ jsxDEV("text", {
|
|
439
487
|
style: { position: "absolute", left: props.left, top: props.top, width: props.width, zIndex: 5 },
|
|
440
488
|
fg: line.fg ?? RIG_UI.ink2,
|
|
441
|
-
bg: line
|
|
489
|
+
bg: lineBackground(line),
|
|
442
490
|
attributes: lineAttributes(line),
|
|
443
491
|
content: lineContent(line),
|
|
444
|
-
onMouseDown: onLineClick ? () => onLineClick(line) : undefined
|
|
492
|
+
onMouseDown: onLineClick ? () => onLineClick(line) : undefined,
|
|
493
|
+
onMouseOver: id !== undefined ? () => setHoveredSelectableId(id) : undefined,
|
|
494
|
+
onMouseOut: id !== undefined ? () => clearHoveredSelectableId(id) : undefined
|
|
445
495
|
}, undefined, false, undefined, this);
|
|
446
496
|
}
|
|
447
497
|
function PanelHost(props) {
|