orynacode-ai 1.16.2 → 1.16.4
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 +3 -4
- package/parsers-config.ts +1 -386
- package/script/build.ts +1 -1
- package/script/schema.ts +2 -2
- package/script/trace-imports.ts +1 -1
- package/src/cli/cmd/{tui/attach.ts → attach.ts} +40 -46
- package/src/cli/cmd/models.ts +1 -1
- package/src/cli/cmd/prompt-display.ts +1 -48
- package/src/cli/cmd/providers.ts +3 -3
- package/src/cli/cmd/run/demo.ts +1 -1
- package/src/cli/cmd/run/entry.body.ts +11 -0
- package/src/cli/cmd/run/footer.command.tsx +298 -112
- package/src/cli/cmd/run/footer.menu.tsx +84 -37
- package/src/cli/cmd/run/footer.permission.tsx +9 -2
- package/src/cli/cmd/run/footer.prompt.tsx +135 -30
- package/src/cli/cmd/run/footer.question.tsx +2 -1
- package/src/cli/cmd/run/footer.subagent.tsx +9 -1
- package/src/cli/cmd/run/footer.ts +104 -43
- package/src/cli/cmd/run/footer.view.tsx +475 -425
- package/src/cli/cmd/run/footer.width.ts +27 -0
- package/src/cli/cmd/run/prompt.editor.ts +157 -0
- package/src/cli/cmd/run/prompt.shared.ts +7 -1
- package/src/cli/cmd/run/runtime.boot.ts +3 -11
- package/src/cli/cmd/run/runtime.lifecycle.ts +72 -11
- package/src/cli/cmd/run/runtime.queue.ts +12 -10
- package/src/cli/cmd/run/runtime.ts +49 -26
- package/src/cli/cmd/run/scrollback.surface.ts +14 -1
- package/src/cli/cmd/run/scrollback.writer.tsx +19 -1
- package/src/cli/cmd/run/session-replay.ts +78 -5
- package/src/cli/cmd/run/splash.ts +22 -48
- package/src/cli/cmd/run/stream.transport.ts +6 -9
- package/src/cli/cmd/run/subagent-data.ts +77 -45
- package/src/cli/cmd/run/theme.ts +138 -51
- package/src/cli/cmd/run/turn-summary.ts +47 -0
- package/src/cli/cmd/run/types.ts +10 -2
- package/src/cli/cmd/{tui/thread.ts → tui.ts} +40 -40
- package/src/cli/tui/layer.ts +7 -0
- package/src/config/tui-host-attention.ts +21 -0
- package/src/{cli/cmd/tui/config → config}/tui-migrate.ts +4 -4
- package/src/{cli/cmd/tui/config → config}/tui.ts +37 -53
- package/src/index.ts +2 -2
- package/src/mcp/index.ts +20 -6
- package/src/{cli/cmd/tui/context/agent.tsx → oryna/agent-signal.ts} +2 -1
- package/src/oryna/agent.ts +21 -13
- package/src/oryna/reply-service.ts +3 -1
- package/src/plugin/index.ts +2 -2
- package/src/plugin/oryna.ts +4 -4
- package/src/plugin/tui/internal.ts +12 -0
- package/src/{cli/cmd/tui/plugin → plugin/tui}/runtime.ts +65 -22
- package/src/server/routes/instance/httpapi/api.ts +4 -2
- package/src/server/routes/instance/httpapi/groups/reference.ts +60 -0
- package/src/server/routes/instance/httpapi/groups/tui.ts +1 -1
- package/src/server/routes/instance/httpapi/handlers/config.ts +11 -11
- package/src/server/routes/instance/httpapi/handlers/control.ts +2 -2
- package/src/server/routes/instance/httpapi/handlers/provider.ts +5 -5
- package/src/server/routes/instance/httpapi/handlers/reference.ts +27 -0
- package/src/server/routes/instance/httpapi/handlers/tui.ts +1 -1
- package/src/server/routes/instance/httpapi/middleware/authorization.ts +4 -1
- package/src/server/routes/instance/httpapi/server.ts +12 -8
- package/src/session/session.ts +2 -0
- package/src/temporary.ts +1 -1
- package/src/tool/registry.ts +1 -25
- package/src/tool/reply.ts +1 -1
- package/src/tool/task.ts +4 -3
- package/src/util/error.ts +1 -88
- package/src/util/locale.ts +2 -86
- package/src/util/process.ts +2 -1
- package/src/util/record.ts +1 -3
- package/test/cli/cmd/tui/attention.test.ts +2 -2
- package/test/cli/run/footer.view.test.tsx +443 -35
- package/test/cli/run/footer.width.test.ts +35 -0
- package/test/cli/run/prompt.editor.test.ts +101 -0
- package/test/cli/run/prompt.shared.test.ts +0 -32
- package/test/cli/run/runtime.boot.test.ts +2 -1
- package/test/cli/run/runtime.queue.test.ts +16 -0
- package/test/cli/run/runtime.test.ts +238 -0
- package/test/cli/run/scrollback.surface.test.ts +17 -0
- package/test/cli/run/session-replay.test.ts +248 -12
- package/test/cli/run/stream.transport.test.ts +2 -2
- package/test/cli/run/subagent-data.test.ts +98 -7
- package/test/cli/run/theme.test.ts +25 -0
- package/test/cli/tui/attach.test.ts +11 -0
- package/test/cli/tui/editor-context-zed.test.ts +1 -6
- package/test/cli/tui/editor-context.test.tsx +13 -4
- package/test/cli/tui/plugin-add.test.ts +2 -2
- package/test/cli/tui/plugin-install.test.ts +2 -2
- package/test/cli/tui/plugin-lifecycle.test.ts +1 -1
- package/test/cli/tui/plugin-loader-entrypoint.test.ts +2 -2
- package/test/cli/tui/plugin-loader-pure.test.ts +2 -2
- package/test/cli/tui/plugin-loader.test.ts +3 -3
- package/test/cli/tui/plugin-toggle.test.ts +2 -2
- package/test/cli/tui/thread.test.ts +9 -1
- package/test/config/tui.test.ts +14 -6
- package/test/fixture/tui-environment.tsx +32 -0
- package/test/fixture/tui-plugin.ts +1 -1
- package/test/fixture/tui-runtime.ts +17 -25
- package/test/fixture/tui-sdk.ts +1 -1
- package/test/mcp/lifecycle.test.ts +90 -0
- package/test/mcp/oauth-auto-connect.test.ts +38 -0
- package/test/mcp/oauth-browser.test.ts +4 -0
- package/test/preload.ts +5 -1
- package/test/server/httpapi-authorization.test.ts +6 -6
- package/test/server/httpapi-exercise/index.ts +13 -10
- package/test/server/httpapi-public-openapi.test.ts +9 -9
- package/test/server/httpapi-query-schema-drift.test.ts +2 -2
- package/test/server/httpapi-reference.test.ts +56 -0
- package/test/server/httpapi-sdk.test.ts +1 -1
- package/test/server/httpapi-session.test.ts +4 -4
- package/test/session/compaction.test.ts +2 -0
- package/test/session/prompt.test.ts +2 -0
- package/test/tool/__snapshots__/parameters.test.ts.snap +1 -1
- package/test/tool/skill.test.ts +3 -0
- package/test/util/error.test.ts +0 -48
- package/tsconfig.json +0 -1
- package/src/cli/cmd/tui/app.tsx +0 -1113
- package/src/cli/cmd/tui/attention.ts +0 -262
- package/src/cli/cmd/tui/component/bg-pulse-render.ts +0 -436
- package/src/cli/cmd/tui/component/bg-pulse.tsx +0 -99
- package/src/cli/cmd/tui/component/border.tsx +0 -21
- package/src/cli/cmd/tui/component/command-palette.tsx +0 -79
- package/src/cli/cmd/tui/component/dialog-agent.tsx +0 -31
- package/src/cli/cmd/tui/component/dialog-console-org.tsx +0 -103
- package/src/cli/cmd/tui/component/dialog-mcp.tsx +0 -85
- package/src/cli/cmd/tui/component/dialog-model.tsx +0 -185
- package/src/cli/cmd/tui/component/dialog-move-session.tsx +0 -240
- package/src/cli/cmd/tui/component/dialog-provider.tsx +0 -687
- package/src/cli/cmd/tui/component/dialog-retry-action.tsx +0 -160
- package/src/cli/cmd/tui/component/dialog-session-delete-failed.tsx +0 -99
- package/src/cli/cmd/tui/component/dialog-session-list.tsx +0 -318
- package/src/cli/cmd/tui/component/dialog-session-rename.tsx +0 -31
- package/src/cli/cmd/tui/component/dialog-skill.tsx +0 -36
- package/src/cli/cmd/tui/component/dialog-stash.tsx +0 -87
- package/src/cli/cmd/tui/component/dialog-status.tsx +0 -168
- package/src/cli/cmd/tui/component/dialog-tag.tsx +0 -47
- package/src/cli/cmd/tui/component/dialog-theme-list.tsx +0 -50
- package/src/cli/cmd/tui/component/dialog-variant.tsx +0 -39
- package/src/cli/cmd/tui/component/dialog-workspace-create.tsx +0 -313
- package/src/cli/cmd/tui/component/dialog-workspace-file-changes.tsx +0 -144
- package/src/cli/cmd/tui/component/dialog-workspace-list.tsx +0 -112
- package/src/cli/cmd/tui/component/dialog-workspace-unavailable.tsx +0 -69
- package/src/cli/cmd/tui/component/error-component.tsx +0 -81
- package/src/cli/cmd/tui/component/logo.tsx +0 -885
- package/src/cli/cmd/tui/component/plugin-route-missing.tsx +0 -14
- package/src/cli/cmd/tui/component/prompt/autocomplete.tsx +0 -799
- package/src/cli/cmd/tui/component/prompt/cwd.ts +0 -0
- package/src/cli/cmd/tui/component/prompt/frecency.tsx +0 -90
- package/src/cli/cmd/tui/component/prompt/history.tsx +0 -117
- package/src/cli/cmd/tui/component/prompt/index.tsx +0 -1725
- package/src/cli/cmd/tui/component/prompt/move.tsx +0 -192
- package/src/cli/cmd/tui/component/prompt/part.ts +0 -31
- package/src/cli/cmd/tui/component/prompt/stash.tsx +0 -101
- package/src/cli/cmd/tui/component/prompt/traits.ts +0 -35
- package/src/cli/cmd/tui/component/prompt/workspace.tsx +0 -137
- package/src/cli/cmd/tui/component/spinner.tsx +0 -24
- package/src/cli/cmd/tui/component/startup-loading.tsx +0 -63
- package/src/cli/cmd/tui/component/todo-item.tsx +0 -32
- package/src/cli/cmd/tui/component/use-connected.tsx +0 -9
- package/src/cli/cmd/tui/component/workspace-label.tsx +0 -19
- package/src/cli/cmd/tui/config/keybind.ts +0 -467
- package/src/cli/cmd/tui/config/tui-schema.ts +0 -88
- package/src/cli/cmd/tui/context/aggregate-failures.ts +0 -51
- package/src/cli/cmd/tui/context/args.tsx +0 -15
- package/src/cli/cmd/tui/context/directory.ts +0 -15
- package/src/cli/cmd/tui/context/editor-zed.ts +0 -287
- package/src/cli/cmd/tui/context/editor.ts +0 -469
- package/src/cli/cmd/tui/context/event.ts +0 -38
- package/src/cli/cmd/tui/context/exit.tsx +0 -42
- package/src/cli/cmd/tui/context/helper.tsx +0 -25
- package/src/cli/cmd/tui/context/kv.tsx +0 -76
- package/src/cli/cmd/tui/context/local.tsx +0 -510
- package/src/cli/cmd/tui/context/path-format.tsx +0 -39
- package/src/cli/cmd/tui/context/project.tsx +0 -111
- package/src/cli/cmd/tui/context/prompt.tsx +0 -18
- package/src/cli/cmd/tui/context/route.tsx +0 -52
- package/src/cli/cmd/tui/context/sdk.tsx +0 -142
- package/src/cli/cmd/tui/context/sync-v2.tsx +0 -447
- package/src/cli/cmd/tui/context/sync.tsx +0 -628
- package/src/cli/cmd/tui/context/theme/aura.json +0 -69
- package/src/cli/cmd/tui/context/theme/ayu.json +0 -80
- package/src/cli/cmd/tui/context/theme/carbonfox.json +0 -248
- package/src/cli/cmd/tui/context/theme/catppuccin-frappe.json +0 -230
- package/src/cli/cmd/tui/context/theme/catppuccin-macchiato.json +0 -230
- package/src/cli/cmd/tui/context/theme/catppuccin.json +0 -112
- package/src/cli/cmd/tui/context/theme/cobalt2.json +0 -225
- package/src/cli/cmd/tui/context/theme/cursor.json +0 -249
- package/src/cli/cmd/tui/context/theme/dracula.json +0 -219
- package/src/cli/cmd/tui/context/theme/everforest.json +0 -241
- package/src/cli/cmd/tui/context/theme/flexoki.json +0 -237
- package/src/cli/cmd/tui/context/theme/github.json +0 -233
- package/src/cli/cmd/tui/context/theme/gruvbox.json +0 -242
- package/src/cli/cmd/tui/context/theme/kanagawa.json +0 -77
- package/src/cli/cmd/tui/context/theme/lucent-orng.json +0 -234
- package/src/cli/cmd/tui/context/theme/material.json +0 -235
- package/src/cli/cmd/tui/context/theme/matrix.json +0 -77
- package/src/cli/cmd/tui/context/theme/mercury.json +0 -252
- package/src/cli/cmd/tui/context/theme/monokai.json +0 -221
- package/src/cli/cmd/tui/context/theme/nightowl.json +0 -221
- package/src/cli/cmd/tui/context/theme/nord.json +0 -223
- package/src/cli/cmd/tui/context/theme/one-dark.json +0 -84
- package/src/cli/cmd/tui/context/theme/opencode.json +0 -245
- package/src/cli/cmd/tui/context/theme/orng.json +0 -249
- package/src/cli/cmd/tui/context/theme/oryna.json +0 -95
- package/src/cli/cmd/tui/context/theme/osaka-jade.json +0 -93
- package/src/cli/cmd/tui/context/theme/palenight.json +0 -222
- package/src/cli/cmd/tui/context/theme/rosepine.json +0 -234
- package/src/cli/cmd/tui/context/theme/solarized.json +0 -223
- package/src/cli/cmd/tui/context/theme/synthwave84.json +0 -226
- package/src/cli/cmd/tui/context/theme/tokyonight.json +0 -243
- package/src/cli/cmd/tui/context/theme/vercel.json +0 -245
- package/src/cli/cmd/tui/context/theme/vesper.json +0 -218
- package/src/cli/cmd/tui/context/theme/zenburn.json +0 -223
- package/src/cli/cmd/tui/context/theme.tsx +0 -1341
- package/src/cli/cmd/tui/context/thinking.ts +0 -67
- package/src/cli/cmd/tui/context/tui-config.tsx +0 -9
- package/src/cli/cmd/tui/feature-plugins/home/footer.tsx +0 -98
- package/src/cli/cmd/tui/feature-plugins/home/tips-view.tsx +0 -288
- package/src/cli/cmd/tui/feature-plugins/home/tips.tsx +0 -59
- package/src/cli/cmd/tui/feature-plugins/session/dialog.tsx +0 -356
- package/src/cli/cmd/tui/feature-plugins/session/index.tsx +0 -32
- package/src/cli/cmd/tui/feature-plugins/session/preview-pane.tsx +0 -288
- package/src/cli/cmd/tui/feature-plugins/session/util.tsx +0 -54
- package/src/cli/cmd/tui/feature-plugins/sidebar/context.tsx +0 -65
- package/src/cli/cmd/tui/feature-plugins/sidebar/files.tsx +0 -70
- package/src/cli/cmd/tui/feature-plugins/sidebar/footer.tsx +0 -96
- package/src/cli/cmd/tui/feature-plugins/sidebar/lsp.tsx +0 -65
- package/src/cli/cmd/tui/feature-plugins/sidebar/mcp.tsx +0 -97
- package/src/cli/cmd/tui/feature-plugins/sidebar/todo.tsx +0 -49
- package/src/cli/cmd/tui/feature-plugins/system/diff-viewer-file-tree-utils.ts +0 -232
- package/src/cli/cmd/tui/feature-plugins/system/diff-viewer-file-tree.tsx +0 -162
- package/src/cli/cmd/tui/feature-plugins/system/diff-viewer-ui.tsx +0 -103
- package/src/cli/cmd/tui/feature-plugins/system/diff-viewer.tsx +0 -1058
- package/src/cli/cmd/tui/feature-plugins/system/notifications.ts +0 -94
- package/src/cli/cmd/tui/feature-plugins/system/plugins.tsx +0 -269
- package/src/cli/cmd/tui/feature-plugins/system/session-v2.tsx +0 -1184
- package/src/cli/cmd/tui/feature-plugins/system/which-key.tsx +0 -608
- package/src/cli/cmd/tui/keymap.tsx +0 -283
- package/src/cli/cmd/tui/layer.ts +0 -6
- package/src/cli/cmd/tui/plugin/api.tsx +0 -390
- package/src/cli/cmd/tui/plugin/command-shim.ts +0 -109
- package/src/cli/cmd/tui/plugin/internal.ts +0 -42
- package/src/cli/cmd/tui/plugin/slots.tsx +0 -60
- package/src/cli/cmd/tui/routes/home/session-destination.tsx +0 -39
- package/src/cli/cmd/tui/routes/home.tsx +0 -149
- package/src/cli/cmd/tui/routes/session/dialog-fork-from-timeline.tsx +0 -76
- package/src/cli/cmd/tui/routes/session/dialog-message.tsx +0 -108
- package/src/cli/cmd/tui/routes/session/dialog-subagent.tsx +0 -26
- package/src/cli/cmd/tui/routes/session/dialog-timeline.tsx +0 -47
- package/src/cli/cmd/tui/routes/session/footer.tsx +0 -91
- package/src/cli/cmd/tui/routes/session/index.tsx +0 -2629
- package/src/cli/cmd/tui/routes/session/permission.tsx +0 -729
- package/src/cli/cmd/tui/routes/session/question.tsx +0 -514
- package/src/cli/cmd/tui/routes/session/sidebar.tsx +0 -102
- package/src/cli/cmd/tui/routes/session/subagent-footer.tsx +0 -132
- package/src/cli/cmd/tui/ui/dialog-alert.tsx +0 -66
- package/src/cli/cmd/tui/ui/dialog-confirm.tsx +0 -108
- package/src/cli/cmd/tui/ui/dialog-export-options.tsx +0 -217
- package/src/cli/cmd/tui/ui/dialog-help.tsx +0 -40
- package/src/cli/cmd/tui/ui/dialog-prompt.tsx +0 -126
- package/src/cli/cmd/tui/ui/dialog-select.tsx +0 -712
- package/src/cli/cmd/tui/ui/dialog.tsx +0 -218
- package/src/cli/cmd/tui/ui/link.tsx +0 -34
- package/src/cli/cmd/tui/ui/spinner.ts +0 -368
- package/src/cli/cmd/tui/ui/toast.tsx +0 -102
- package/src/cli/cmd/tui/util/audio.ts +0 -58
- package/src/cli/cmd/tui/util/clipboard.ts +0 -181
- package/src/cli/cmd/tui/util/collapse-tool-output.ts +0 -19
- package/src/cli/cmd/tui/util/editor.ts +0 -43
- package/src/cli/cmd/tui/util/layout.ts +0 -25
- package/src/cli/cmd/tui/util/model.ts +0 -23
- package/src/cli/cmd/tui/util/provider-origin.ts +0 -7
- package/src/cli/cmd/tui/util/revert-diff.ts +0 -18
- package/src/cli/cmd/tui/util/scroll.ts +0 -25
- package/src/cli/cmd/tui/util/selection.ts +0 -73
- package/src/cli/cmd/tui/util/signal.ts +0 -41
- package/src/cli/cmd/tui/util/transcript.ts +0 -112
- package/src/cli/cmd/tui/win32.ts +0 -130
- package/src/util/format.ts +0 -20
- package/test/cli/cmd/tui/aggregate-failures.test.ts +0 -93
- package/test/cli/cmd/tui/dialog-workspace-create.test.ts +0 -28
- package/test/cli/cmd/tui/model-options.test.ts +0 -30
- package/test/cli/cmd/tui/notifications.test.ts +0 -267
- package/test/cli/cmd/tui/prompt-history.test.ts +0 -44
- package/test/cli/cmd/tui/prompt-part.test.ts +0 -77
- package/test/cli/cmd/tui/prompt-traits.test.ts +0 -29
- package/test/cli/cmd/tui/provider-options.test.ts +0 -29
- package/test/cli/cmd/tui/sync-fixture.tsx +0 -64
- package/test/cli/cmd/tui/sync-live-hydration.test.tsx +0 -278
- package/test/cli/cmd/tui/sync-undefined-messages.test.tsx +0 -47
- package/test/cli/cmd/tui/sync.test.tsx +0 -70
- package/test/cli/tui/__snapshots__/inline-tool-wrap-snapshot.test.tsx.snap +0 -72
- package/test/cli/tui/app-lifecycle.test.ts +0 -261
- package/test/cli/tui/dialog-prompt.test.tsx +0 -146
- package/test/cli/tui/diff-viewer-file-tree-utils.test.ts +0 -323
- package/test/cli/tui/diff-viewer-file-tree.test.tsx +0 -197
- package/test/cli/tui/diff-viewer.test.tsx +0 -230
- package/test/cli/tui/inline-tool-wrap-snapshot.test.tsx +0 -232
- package/test/cli/tui/keymap.test.tsx +0 -136
- package/test/cli/tui/prompt-submit-race.test.ts +0 -98
- package/test/cli/tui/revert-diff.test.ts +0 -35
- package/test/cli/tui/slot-replace.test.tsx +0 -50
- package/test/cli/tui/sync-v2.test.tsx +0 -558
- package/test/cli/tui/theme-store.test.ts +0 -76
- package/test/cli/tui/thinking.test.ts +0 -36
- package/test/cli/tui/transcript.test.ts +0 -426
- package/test/cli/tui/use-event.test.tsx +0 -145
- package/test/util/format.test.ts +0 -59
- /package/src/cli/{cmd/tui → tui}/validate-session.ts +0 -0
- /package/src/cli/{cmd/tui → tui}/worker.ts +0 -0
- /package/src/{cli/cmd/tui/config/cwd.ts → config/tui-cwd.ts} +0 -0
- /package/src/{cli/cmd/tui/event.ts → server/tui-event.ts} +0 -0
|
@@ -79,6 +79,13 @@ function systemBody(raw: string, phase: StreamCommit["phase"]): RunEntryBody {
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
export function entryFlags(commit: StreamCommit): EntryFlags {
|
|
82
|
+
if (commit.summary) {
|
|
83
|
+
return {
|
|
84
|
+
startOnNewLine: true,
|
|
85
|
+
trailingNewline: false,
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
82
89
|
if (commit.kind === "user") {
|
|
83
90
|
return {
|
|
84
91
|
startOnNewLine: true,
|
|
@@ -156,6 +163,10 @@ export function entryCanStream(commit: StreamCommit, body: RunEntryBody): boolea
|
|
|
156
163
|
}
|
|
157
164
|
|
|
158
165
|
export function entryBody(commit: StreamCommit): RunEntryBody {
|
|
166
|
+
if (commit.summary) {
|
|
167
|
+
return RUN_ENTRY_NONE
|
|
168
|
+
}
|
|
169
|
+
|
|
159
170
|
const raw = cleanRunText(commit.text)
|
|
160
171
|
|
|
161
172
|
if (commit.kind === "user") {
|
|
@@ -14,6 +14,8 @@ type PanelEntry = RunFooterMenuItem & {
|
|
|
14
14
|
|
|
15
15
|
type CommandEntry =
|
|
16
16
|
| (PanelEntry & { action: "model" })
|
|
17
|
+
| (PanelEntry & { action: "editor" })
|
|
18
|
+
| (PanelEntry & { action: "skill" })
|
|
17
19
|
| (PanelEntry & { action: "queued" })
|
|
18
20
|
| (PanelEntry & { action: "subagent" })
|
|
19
21
|
| (PanelEntry & { action: "variant.cycle" })
|
|
@@ -33,6 +35,10 @@ type VariantEntry = PanelEntry & {
|
|
|
33
35
|
current: boolean
|
|
34
36
|
}
|
|
35
37
|
|
|
38
|
+
type SkillEntry = PanelEntry & {
|
|
39
|
+
name: string
|
|
40
|
+
}
|
|
41
|
+
|
|
36
42
|
type SubagentEntry = PanelEntry & {
|
|
37
43
|
sessionID: string
|
|
38
44
|
current: boolean
|
|
@@ -107,6 +113,10 @@ function subagentStatusLabel(status: FooterSubagentTab["status"]) {
|
|
|
107
113
|
return "done"
|
|
108
114
|
}
|
|
109
115
|
|
|
116
|
+
if (status === "cancelled") {
|
|
117
|
+
return "cancelled"
|
|
118
|
+
}
|
|
119
|
+
|
|
110
120
|
if (status === "error") {
|
|
111
121
|
return "error"
|
|
112
122
|
}
|
|
@@ -203,94 +213,129 @@ function PanelShell(props: {
|
|
|
203
213
|
inputRef: (input: InputRenderable) => void
|
|
204
214
|
onQuery: (query: string) => void
|
|
205
215
|
children: JSX.Element
|
|
216
|
+
dark?: boolean
|
|
217
|
+
chrome?: "default" | "minimal"
|
|
206
218
|
}) {
|
|
207
|
-
|
|
208
|
-
|
|
219
|
+
const background = () => (props.dark ? props.theme().shade : props.theme().surface)
|
|
220
|
+
const minimal = () => props.chrome === "minimal"
|
|
221
|
+
const content = (
|
|
222
|
+
<>
|
|
223
|
+
<box height={1} flexShrink={0} backgroundColor={background()} />
|
|
224
|
+
<box
|
|
225
|
+
width="100%"
|
|
226
|
+
height={1}
|
|
227
|
+
paddingLeft={PANEL_PAD}
|
|
228
|
+
paddingRight={PANEL_PAD}
|
|
229
|
+
flexDirection="row"
|
|
230
|
+
gap={1}
|
|
231
|
+
flexShrink={0}
|
|
232
|
+
backgroundColor={background()}
|
|
233
|
+
>
|
|
234
|
+
<text fg={props.theme().text} attributes={TextAttributes.BOLD} wrapMode="none" flexShrink={0}>
|
|
235
|
+
{props.title}
|
|
236
|
+
</text>
|
|
237
|
+
{props.countVisible !== false ? (
|
|
238
|
+
<text fg={props.theme().muted} wrapMode="none" flexShrink={0}>
|
|
239
|
+
{countLabel(props.count, props.total, props.query)}
|
|
240
|
+
</text>
|
|
241
|
+
) : null}
|
|
242
|
+
<box flexGrow={1} flexShrink={1} backgroundColor="transparent" />
|
|
243
|
+
<text fg={props.theme().muted} wrapMode="none" truncate flexShrink={0}>
|
|
244
|
+
esc
|
|
245
|
+
</text>
|
|
246
|
+
</box>
|
|
247
|
+
<box height={1} flexShrink={0} backgroundColor={background()} />
|
|
209
248
|
<box
|
|
210
249
|
width="100%"
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
backgroundColor="transparent"
|
|
215
|
-
customBorderChars={PANEL_BORDER}
|
|
250
|
+
height={1}
|
|
251
|
+
paddingLeft={PANEL_PAD}
|
|
252
|
+
paddingRight={PANEL_PAD}
|
|
216
253
|
flexShrink={0}
|
|
254
|
+
backgroundColor={background()}
|
|
217
255
|
>
|
|
218
|
-
<
|
|
256
|
+
<input
|
|
257
|
+
width="100%"
|
|
258
|
+
focusedBackgroundColor={background()}
|
|
259
|
+
focusedTextColor={props.theme().text}
|
|
260
|
+
placeholder={props.placeholder}
|
|
261
|
+
placeholderColor={props.theme().muted}
|
|
262
|
+
cursorColor={props.theme().highlight}
|
|
263
|
+
onInput={props.onQuery}
|
|
264
|
+
ref={(input) => {
|
|
265
|
+
props.inputRef(input)
|
|
266
|
+
input.traits = { status: "FILTER" }
|
|
267
|
+
queueMicrotask(() => {
|
|
268
|
+
if (!input.isDestroyed) {
|
|
269
|
+
input.focus()
|
|
270
|
+
}
|
|
271
|
+
})
|
|
272
|
+
}}
|
|
273
|
+
/>
|
|
274
|
+
</box>
|
|
275
|
+
<box height={1} flexShrink={0} backgroundColor={background()} />
|
|
276
|
+
<box width="100%" flexDirection="column" flexShrink={0} backgroundColor={background()}>
|
|
277
|
+
{props.children}
|
|
278
|
+
</box>
|
|
279
|
+
</>
|
|
280
|
+
)
|
|
281
|
+
return (
|
|
282
|
+
<box id={props.id} width="100%" flexDirection="column" border={false} backgroundColor="transparent" flexShrink={0}>
|
|
283
|
+
{minimal() ? (
|
|
284
|
+
<box width="100%" flexDirection="column" border={false} backgroundColor="transparent" flexShrink={0}>
|
|
285
|
+
{content}
|
|
286
|
+
</box>
|
|
287
|
+
) : (
|
|
219
288
|
<box
|
|
220
289
|
width="100%"
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
290
|
+
flexDirection="column"
|
|
291
|
+
border={["left"]}
|
|
292
|
+
borderColor={props.theme().highlight}
|
|
293
|
+
backgroundColor="transparent"
|
|
294
|
+
customBorderChars={PANEL_BORDER}
|
|
226
295
|
flexShrink={0}
|
|
227
|
-
backgroundColor={props.theme().surface}
|
|
228
296
|
>
|
|
229
|
-
|
|
230
|
-
{props.title}
|
|
231
|
-
</text>
|
|
232
|
-
{props.countVisible !== false ? (
|
|
233
|
-
<text fg={props.theme().muted} wrapMode="none" flexShrink={0}>
|
|
234
|
-
{countLabel(props.count, props.total, props.query)}
|
|
235
|
-
</text>
|
|
236
|
-
) : null}
|
|
237
|
-
<box flexGrow={1} flexShrink={1} backgroundColor="transparent" />
|
|
238
|
-
<text fg={props.theme().muted} wrapMode="none" truncate flexShrink={0}>
|
|
239
|
-
esc
|
|
240
|
-
</text>
|
|
297
|
+
{content}
|
|
241
298
|
</box>
|
|
242
|
-
|
|
299
|
+
)}
|
|
300
|
+
{minimal() ? (
|
|
243
301
|
<box
|
|
302
|
+
id={`${props.id}-bottom`}
|
|
244
303
|
width="100%"
|
|
245
304
|
height={1}
|
|
246
|
-
|
|
247
|
-
|
|
305
|
+
border={false}
|
|
306
|
+
backgroundColor="transparent"
|
|
248
307
|
flexShrink={0}
|
|
249
|
-
backgroundColor={props.theme().surface}
|
|
250
308
|
>
|
|
251
|
-
<
|
|
309
|
+
<box
|
|
252
310
|
width="100%"
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
onInput={props.onQuery}
|
|
259
|
-
ref={(input) => {
|
|
260
|
-
props.inputRef(input)
|
|
261
|
-
input.traits = { status: "FILTER" }
|
|
262
|
-
queueMicrotask(() => {
|
|
263
|
-
if (!input.isDestroyed) {
|
|
264
|
-
input.focus()
|
|
265
|
-
}
|
|
266
|
-
})
|
|
267
|
-
}}
|
|
311
|
+
height={1}
|
|
312
|
+
border={["bottom"]}
|
|
313
|
+
borderColor={background()}
|
|
314
|
+
backgroundColor="transparent"
|
|
315
|
+
customBorderChars={HALF_BLOCK_BORDER}
|
|
268
316
|
/>
|
|
269
317
|
</box>
|
|
270
|
-
|
|
271
|
-
<box width="100%" flexDirection="column" flexShrink={0} backgroundColor={props.theme().surface}>
|
|
272
|
-
{props.children}
|
|
273
|
-
</box>
|
|
274
|
-
</box>
|
|
275
|
-
<box
|
|
276
|
-
id={`${props.id}-bottom`}
|
|
277
|
-
width="100%"
|
|
278
|
-
height={1}
|
|
279
|
-
border={["left"]}
|
|
280
|
-
borderColor={props.theme().highlight}
|
|
281
|
-
backgroundColor="transparent"
|
|
282
|
-
customBorderChars={PANEL_BOTTOM_BORDER}
|
|
283
|
-
flexShrink={0}
|
|
284
|
-
>
|
|
318
|
+
) : (
|
|
285
319
|
<box
|
|
320
|
+
id={`${props.id}-bottom`}
|
|
286
321
|
width="100%"
|
|
287
322
|
height={1}
|
|
288
|
-
border={["
|
|
289
|
-
borderColor={props.theme().
|
|
323
|
+
border={["left"]}
|
|
324
|
+
borderColor={props.theme().highlight}
|
|
290
325
|
backgroundColor="transparent"
|
|
291
|
-
customBorderChars={
|
|
292
|
-
|
|
293
|
-
|
|
326
|
+
customBorderChars={PANEL_BOTTOM_BORDER}
|
|
327
|
+
flexShrink={0}
|
|
328
|
+
>
|
|
329
|
+
<box
|
|
330
|
+
width="100%"
|
|
331
|
+
height={1}
|
|
332
|
+
border={["bottom"]}
|
|
333
|
+
borderColor={background()}
|
|
334
|
+
backgroundColor="transparent"
|
|
335
|
+
customBorderChars={HALF_BLOCK_BORDER}
|
|
336
|
+
/>
|
|
337
|
+
</box>
|
|
338
|
+
)}
|
|
294
339
|
</box>
|
|
295
340
|
)
|
|
296
341
|
}
|
|
@@ -304,6 +349,8 @@ export function RunCommandMenuBody(props: {
|
|
|
304
349
|
variantCycle: string
|
|
305
350
|
onClose: () => void
|
|
306
351
|
onModel: () => void
|
|
352
|
+
onEditor: () => void
|
|
353
|
+
onSkill: () => void
|
|
307
354
|
onSubagent: () => void
|
|
308
355
|
onQueued: () => void
|
|
309
356
|
onVariant: () => void
|
|
@@ -314,19 +361,67 @@ export function RunCommandMenuBody(props: {
|
|
|
314
361
|
}) {
|
|
315
362
|
let field: InputRenderable | undefined
|
|
316
363
|
const [query, setQuery] = createSignal("")
|
|
364
|
+
const skills = createMemo(() => (props.commands() ?? []).filter((item) => item.source === "skill"))
|
|
365
|
+
const activeSubagentCount = createMemo(() => props.subagents().filter((item) => item.status === "running").length)
|
|
317
366
|
const entries = createMemo<CommandEntry[]>(() => {
|
|
318
|
-
const builtins = ["new"]
|
|
319
|
-
|
|
367
|
+
const builtins = ["editor", "new"]
|
|
368
|
+
const session: CommandEntry[] = [
|
|
369
|
+
{
|
|
370
|
+
action: "editor",
|
|
371
|
+
category: "Session",
|
|
372
|
+
display: "Open editor",
|
|
373
|
+
footer: "/editor",
|
|
374
|
+
keywords: "editor compose draft external editor",
|
|
375
|
+
},
|
|
376
|
+
...(props.subagents().length > 0
|
|
377
|
+
? [
|
|
378
|
+
{
|
|
379
|
+
action: "subagent" as const,
|
|
380
|
+
category: "Session",
|
|
381
|
+
display: "View subagents",
|
|
382
|
+
footer:
|
|
383
|
+
activeSubagentCount() > 0 ? `${activeSubagentCount()} active` : `${props.subagents().length} recent`,
|
|
384
|
+
keywords: props
|
|
385
|
+
.subagents()
|
|
386
|
+
.map((item) => `${item.label} ${item.description} ${item.title ?? ""}`)
|
|
387
|
+
.join(" "),
|
|
388
|
+
},
|
|
389
|
+
]
|
|
390
|
+
: []),
|
|
391
|
+
{
|
|
392
|
+
action: "slash",
|
|
393
|
+
category: "Session",
|
|
394
|
+
name: "new",
|
|
395
|
+
display: "New session",
|
|
396
|
+
footer: "/new",
|
|
397
|
+
keywords: "new session clear",
|
|
398
|
+
},
|
|
399
|
+
]
|
|
400
|
+
const prompt: CommandEntry[] =
|
|
401
|
+
props.commands() === undefined || skills().length > 0
|
|
402
|
+
? [
|
|
403
|
+
{
|
|
404
|
+
action: "skill" as const,
|
|
405
|
+
category: "Prompt",
|
|
406
|
+
display: "Skills",
|
|
407
|
+
footer: "/skills",
|
|
408
|
+
keywords: `skill skills ${skills()
|
|
409
|
+
.map((item) => `${item.name} ${item.description ?? ""}`)
|
|
410
|
+
.join(" ")}`.trim(),
|
|
411
|
+
},
|
|
412
|
+
]
|
|
413
|
+
: []
|
|
414
|
+
const agent: CommandEntry[] = [
|
|
320
415
|
{
|
|
321
416
|
action: "model",
|
|
322
|
-
category: "
|
|
417
|
+
category: "Agent",
|
|
323
418
|
display: "Switch model",
|
|
324
419
|
},
|
|
325
420
|
...(props.queued().length > 0
|
|
326
421
|
? [
|
|
327
422
|
{
|
|
328
423
|
action: "queued" as const,
|
|
329
|
-
category: "
|
|
424
|
+
category: "Agent",
|
|
330
425
|
display: "Manage queued prompts",
|
|
331
426
|
footer: `${props.queued().length} queued`,
|
|
332
427
|
keywords: props
|
|
@@ -336,23 +431,9 @@ export function RunCommandMenuBody(props: {
|
|
|
336
431
|
},
|
|
337
432
|
]
|
|
338
433
|
: []),
|
|
339
|
-
...(props.subagents().length > 0
|
|
340
|
-
? [
|
|
341
|
-
{
|
|
342
|
-
action: "subagent" as const,
|
|
343
|
-
category: "Suggested",
|
|
344
|
-
display: "View subagents",
|
|
345
|
-
footer: `${props.subagents().length} active`,
|
|
346
|
-
keywords: props
|
|
347
|
-
.subagents()
|
|
348
|
-
.map((item) => `${item.label} ${item.description} ${item.title ?? ""}`)
|
|
349
|
-
.join(" "),
|
|
350
|
-
},
|
|
351
|
-
]
|
|
352
|
-
: []),
|
|
353
434
|
{
|
|
354
435
|
action: "variant.cycle",
|
|
355
|
-
category: "
|
|
436
|
+
category: "Agent",
|
|
356
437
|
display: "Variant cycle",
|
|
357
438
|
footer: props.variantCycle,
|
|
358
439
|
keywords: "variant cycle",
|
|
@@ -361,37 +442,36 @@ export function RunCommandMenuBody(props: {
|
|
|
361
442
|
? [
|
|
362
443
|
{
|
|
363
444
|
action: "variant.list" as const,
|
|
364
|
-
category: "
|
|
445
|
+
category: "Agent",
|
|
365
446
|
display: "Switch model variant",
|
|
366
447
|
keywords: `variant variants ${props.variants().join(" ")}`,
|
|
367
448
|
},
|
|
368
449
|
]
|
|
369
450
|
: []),
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
.sort((a, b) => categoryRank(a.category) - categoryRank(b.category) || a.display.localeCompare(b.display)),
|
|
451
|
+
]
|
|
452
|
+
const commands = (props.commands() ?? [])
|
|
453
|
+
.filter((item) => item.source !== "skill" && !builtins.includes(item.name))
|
|
454
|
+
.map(
|
|
455
|
+
(item) =>
|
|
456
|
+
({
|
|
457
|
+
action: "slash",
|
|
458
|
+
category: item.source === "mcp" ? "MCP Commands" : "Project Commands",
|
|
459
|
+
name: item.name,
|
|
460
|
+
display: item.name,
|
|
461
|
+
footer: `/${item.name}`,
|
|
462
|
+
keywords:
|
|
463
|
+
item.source === "mcp"
|
|
464
|
+
? `/${item.name} ${item.name} mcp ${item.description ?? ""}`
|
|
465
|
+
: `/${item.name} ${item.name} ${item.description ?? ""}`,
|
|
466
|
+
}) satisfies CommandEntry,
|
|
467
|
+
)
|
|
468
|
+
.sort((a, b) => categoryRank(a.category) - categoryRank(b.category) || a.display.localeCompare(b.display))
|
|
469
|
+
|
|
470
|
+
return [
|
|
471
|
+
...session,
|
|
472
|
+
...prompt,
|
|
473
|
+
...agent,
|
|
474
|
+
...commands,
|
|
395
475
|
{ action: "exit", category: "System", display: "Exit", footer: "/exit", keywords: "/exit exit" },
|
|
396
476
|
]
|
|
397
477
|
})
|
|
@@ -403,6 +483,16 @@ export function RunCommandMenuBody(props: {
|
|
|
403
483
|
return
|
|
404
484
|
}
|
|
405
485
|
|
|
486
|
+
if (item.action === "editor") {
|
|
487
|
+
props.onEditor()
|
|
488
|
+
return
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
if (item.action === "skill") {
|
|
492
|
+
props.onSkill()
|
|
493
|
+
return
|
|
494
|
+
}
|
|
495
|
+
|
|
406
496
|
if (item.action === "subagent") {
|
|
407
497
|
props.onSubagent()
|
|
408
498
|
return
|
|
@@ -471,6 +561,8 @@ export function RunCommandMenuBody(props: {
|
|
|
471
561
|
field = input
|
|
472
562
|
}}
|
|
473
563
|
onQuery={setQuery}
|
|
564
|
+
dark
|
|
565
|
+
chrome="minimal"
|
|
474
566
|
>
|
|
475
567
|
<RunFooterMenu
|
|
476
568
|
id="run-direct-footer-command-list"
|
|
@@ -485,6 +577,8 @@ export function RunCommandMenuBody(props: {
|
|
|
485
577
|
paddingLeft={PANEL_PAD}
|
|
486
578
|
paddingRight={PANEL_PAD}
|
|
487
579
|
grouped={!query().trim()}
|
|
580
|
+
background
|
|
581
|
+
headerColor={props.theme().muted}
|
|
488
582
|
/>
|
|
489
583
|
</PanelShell>
|
|
490
584
|
)
|
|
@@ -566,6 +660,8 @@ export function RunSubagentSelectBody(props: {
|
|
|
566
660
|
field = input
|
|
567
661
|
}}
|
|
568
662
|
onQuery={setQuery}
|
|
663
|
+
dark
|
|
664
|
+
chrome="minimal"
|
|
569
665
|
>
|
|
570
666
|
<RunFooterMenu
|
|
571
667
|
id="run-direct-footer-subagent-list"
|
|
@@ -575,11 +671,12 @@ export function RunSubagentSelectBody(props: {
|
|
|
575
671
|
offset={menu.offset}
|
|
576
672
|
rows={menu.rows}
|
|
577
673
|
limit={SUBAGENT_LIST_ROWS}
|
|
578
|
-
empty="No
|
|
674
|
+
empty="No subagents found"
|
|
579
675
|
border={false}
|
|
580
676
|
paddingLeft={PANEL_PAD}
|
|
581
677
|
paddingRight={PANEL_PAD}
|
|
582
678
|
grouped={false}
|
|
679
|
+
background
|
|
583
680
|
/>
|
|
584
681
|
</PanelShell>
|
|
585
682
|
)
|
|
@@ -662,6 +759,8 @@ export function RunQueuedPromptSelectBody(props: {
|
|
|
662
759
|
field = input
|
|
663
760
|
}}
|
|
664
761
|
onQuery={setQuery}
|
|
762
|
+
dark
|
|
763
|
+
chrome="minimal"
|
|
665
764
|
>
|
|
666
765
|
<RunFooterMenu
|
|
667
766
|
id="run-direct-footer-queued-list"
|
|
@@ -676,6 +775,86 @@ export function RunQueuedPromptSelectBody(props: {
|
|
|
676
775
|
paddingLeft={PANEL_PAD}
|
|
677
776
|
paddingRight={PANEL_PAD}
|
|
678
777
|
grouped={false}
|
|
778
|
+
background
|
|
779
|
+
/>
|
|
780
|
+
</PanelShell>
|
|
781
|
+
)
|
|
782
|
+
}
|
|
783
|
+
|
|
784
|
+
export function RunSkillSelectBody(props: {
|
|
785
|
+
theme: Accessor<RunFooterTheme>
|
|
786
|
+
commands: Accessor<RunCommand[] | undefined>
|
|
787
|
+
onClose: () => void
|
|
788
|
+
onSelect: (name: string) => void
|
|
789
|
+
}) {
|
|
790
|
+
let field: InputRenderable | undefined
|
|
791
|
+
const [query, setQuery] = createSignal("")
|
|
792
|
+
const entries = createMemo<SkillEntry[]>(() =>
|
|
793
|
+
(props.commands() ?? [])
|
|
794
|
+
.filter((item) => item.source === "skill")
|
|
795
|
+
.map((item) => ({
|
|
796
|
+
category: "",
|
|
797
|
+
display: item.name,
|
|
798
|
+
description: item.description?.replace(/\s+/g, " ").trim() || undefined,
|
|
799
|
+
keywords: `skill ${item.name} ${item.description ?? ""}`,
|
|
800
|
+
name: item.name,
|
|
801
|
+
}))
|
|
802
|
+
.sort((a, b) => a.display.localeCompare(b.display)),
|
|
803
|
+
)
|
|
804
|
+
const items = createMemo<SkillEntry[]>(() => match(query(), entries()))
|
|
805
|
+
const menu = createFooterMenuState({ count: () => items().length, limit: PANEL_LIST_ROWS })
|
|
806
|
+
const select = () => {
|
|
807
|
+
const item = items()[menu.selected()]
|
|
808
|
+
if (!item) {
|
|
809
|
+
return
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
props.onSelect(item.name)
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
createEffect(() => {
|
|
816
|
+
query()
|
|
817
|
+
menu.reset()
|
|
818
|
+
})
|
|
819
|
+
|
|
820
|
+
useKeyboard((event) => {
|
|
821
|
+
if (event.defaultPrevented) {
|
|
822
|
+
return
|
|
823
|
+
}
|
|
824
|
+
|
|
825
|
+
handleKey({ event, menu, field: () => field, setQuery, select, close: props.onClose })
|
|
826
|
+
})
|
|
827
|
+
|
|
828
|
+
return (
|
|
829
|
+
<PanelShell
|
|
830
|
+
id="run-direct-footer-skill-panel"
|
|
831
|
+
title="Skills"
|
|
832
|
+
query={query()}
|
|
833
|
+
count={items().length}
|
|
834
|
+
total={entries().length}
|
|
835
|
+
placeholder="Search"
|
|
836
|
+
theme={props.theme}
|
|
837
|
+
inputRef={(input) => {
|
|
838
|
+
field = input
|
|
839
|
+
}}
|
|
840
|
+
onQuery={setQuery}
|
|
841
|
+
dark
|
|
842
|
+
chrome="minimal"
|
|
843
|
+
>
|
|
844
|
+
<RunFooterMenu
|
|
845
|
+
id="run-direct-footer-skill-list"
|
|
846
|
+
theme={props.theme}
|
|
847
|
+
items={items}
|
|
848
|
+
selected={menu.selected}
|
|
849
|
+
offset={menu.offset}
|
|
850
|
+
rows={() => PANEL_LIST_ROWS}
|
|
851
|
+
limit={PANEL_LIST_ROWS}
|
|
852
|
+
empty={props.commands() ? "No skills found" : "Skills loading"}
|
|
853
|
+
border={false}
|
|
854
|
+
paddingLeft={PANEL_PAD}
|
|
855
|
+
paddingRight={PANEL_PAD}
|
|
856
|
+
grouped={false}
|
|
857
|
+
background
|
|
679
858
|
/>
|
|
680
859
|
</PanelShell>
|
|
681
860
|
)
|
|
@@ -759,6 +938,8 @@ export function RunVariantSelectBody(props: {
|
|
|
759
938
|
field = input
|
|
760
939
|
}}
|
|
761
940
|
onQuery={setQuery}
|
|
941
|
+
dark
|
|
942
|
+
chrome="minimal"
|
|
762
943
|
>
|
|
763
944
|
<RunFooterMenu
|
|
764
945
|
id="run-direct-footer-variant-list"
|
|
@@ -773,6 +954,7 @@ export function RunVariantSelectBody(props: {
|
|
|
773
954
|
paddingLeft={PANEL_PAD}
|
|
774
955
|
paddingRight={PANEL_PAD}
|
|
775
956
|
grouped={false}
|
|
957
|
+
background
|
|
776
958
|
/>
|
|
777
959
|
</PanelShell>
|
|
778
960
|
)
|
|
@@ -879,6 +1061,8 @@ export function RunModelSelectBody(props: {
|
|
|
879
1061
|
field = input
|
|
880
1062
|
}}
|
|
881
1063
|
onQuery={setQuery}
|
|
1064
|
+
dark
|
|
1065
|
+
chrome="minimal"
|
|
882
1066
|
>
|
|
883
1067
|
<RunFooterMenu
|
|
884
1068
|
id="run-direct-footer-model-list"
|
|
@@ -893,6 +1077,8 @@ export function RunModelSelectBody(props: {
|
|
|
893
1077
|
paddingLeft={PANEL_PAD}
|
|
894
1078
|
paddingRight={PANEL_PAD}
|
|
895
1079
|
grouped={!query().trim()}
|
|
1080
|
+
background
|
|
1081
|
+
headerColor={props.theme().muted}
|
|
896
1082
|
/>
|
|
897
1083
|
</PanelShell>
|
|
898
1084
|
)
|