flavor-code 1.4.0-beta.1 → 1.4.0-beta.10
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/README.md +2 -0
- package/README.zh-CN.md +2 -0
- package/dist/agent/loop.d.ts +7 -2
- package/dist/{app-C5ZQUOKJ.js → app-SMIB6P23.js} +44 -11
- package/dist/{chunk-6MNOZ2TX.js → chunk-BYHO2CA5.js} +1925 -765
- package/dist/{chunk-URUVFECH.js → chunk-EXOSMO57.js} +12 -7
- package/dist/chunk-N5MXHJKD.js +107 -0
- package/dist/{chunk-2BF7CVWZ.js → chunk-RAYH6K2H.js} +2 -2
- package/dist/{chunk-FOTMP4ZS.js → chunk-UO4DLWU5.js} +8 -2
- package/dist/{chunk-ODRWR4KK.js → chunk-XMRKRPNC.js} +179 -14253
- package/dist/{chunk-3WCDZ6ZL.js → chunk-ZJCAQXA7.js} +2 -1
- package/dist/{claude-ink-LP32NSX5.js → claude-ink-6EZHF64C.js} +2 -2
- package/dist/cli-main.js +56 -25
- package/dist/cli.js +54 -10
- package/dist/config/schema.d.ts +8 -0
- package/dist/context/manager.d.ts +9 -0
- package/dist/desktop/main.js +2318 -1071
- package/dist/desktop-renderer/assets/index-RNe5Gtum.js +154 -0
- package/dist/desktop-renderer/assets/{interactive-terminal-C4o7MNPO.js → interactive-terminal-DestMQ2z.js} +1 -1
- package/dist/desktop-renderer/index.html +1 -1
- package/dist/git/service.d.ts +3 -3
- package/dist/git/tools.d.ts +1 -1
- package/dist/goal/classifier.d.ts +2 -0
- package/dist/goal/orchestrator.d.ts +23 -2
- package/dist/goal/planner.d.ts +2 -0
- package/dist/goal/store.d.ts +2 -0
- package/dist/goal/types.d.ts +14 -0
- package/dist/harness/journal.d.ts +2 -0
- package/dist/harness/local.d.ts +2 -0
- package/dist/init/project.d.ts +0 -6
- package/dist/jobs/registry.d.ts +7 -1
- package/dist/{load-V2UIYYQI.js → load-EW56Q2MM.js} +1 -1
- package/dist/loop/orchestrator.d.ts +20 -0
- package/dist/loop/types.d.ts +7 -0
- package/dist/loop/verifier.d.ts +2 -0
- package/dist/models/openai.d.ts +1 -1
- package/dist/models/structured.d.ts +7 -0
- package/dist/models/types.d.ts +1 -1
- package/dist/production.d.ts +17 -0
- package/dist/sdk/index.js +5 -5
- package/dist/session/tree.d.ts +2 -0
- package/dist/tools/lsp.d.ts +15 -10
- package/dist/tools/runtime.d.ts +2 -1
- package/dist/tools/search.d.ts +1 -0
- package/dist/tools/types.d.ts +1 -1
- package/dist/ui/session.d.ts +11 -0
- package/dist/ui/transcript.d.ts +9 -0
- package/dist/utils/abort.d.ts +20 -0
- package/dist/utils/execFileNoThrow.d.ts +1 -0
- package/dist/utils/heap.d.ts +58 -0
- package/dist/utils/memory-restart.d.ts +42 -3
- package/dist/utils/process-tree.d.ts +2 -0
- package/dist/utils/rotation-census.d.ts +36 -0
- package/package.json +3 -2
- package//346/212/200/346/234/257/346/226/271/346/241/210/346/212/245/345/221/212.md +7 -7
- package/dist/astgraph/db.mjs +0 -237
- package/dist/astgraph/extract.mjs +0 -239
- package/dist/astgraph/flavor-plugin.json +0 -25
- package/dist/astgraph/grammars.mjs +0 -68
- package/dist/astgraph/index.js +0 -301
- package/dist/astgraph/indexer.mjs +0 -175
- package/dist/astgraph/query.mjs +0 -165
- package/dist/astgraph/resolve.mjs +0 -93
- package/dist/astgraph/vendor/tree-sitter-javascript.wasm +0 -0
- package/dist/astgraph/vendor/tree-sitter-tsx.wasm +0 -0
- package/dist/astgraph/vendor/tree-sitter-typescript.wasm +0 -0
- package/dist/astgraph/vendor/tree-sitter.js +0 -3980
- package/dist/astgraph/vendor/tree-sitter.wasm +0 -0
- package/dist/astgraph/vendor/zod/LICENSE +0 -21
- package/dist/astgraph/vendor/zod/index.js +0 -4
- package/dist/astgraph/vendor/zod/locales/index.js +0 -1
- package/dist/astgraph/vendor/zod/locales/package.json +0 -7
- package/dist/astgraph/vendor/zod/package.json +0 -135
- package/dist/astgraph/vendor/zod/v4/classic/checks.js +0 -1
- package/dist/astgraph/vendor/zod/v4/classic/coerce.js +0 -17
- package/dist/astgraph/vendor/zod/v4/classic/compat.js +0 -31
- package/dist/astgraph/vendor/zod/v4/classic/errors.js +0 -48
- package/dist/astgraph/vendor/zod/v4/classic/external.js +0 -20
- package/dist/astgraph/vendor/zod/v4/classic/from-json-schema.js +0 -599
- package/dist/astgraph/vendor/zod/v4/classic/index.js +0 -4
- package/dist/astgraph/vendor/zod/v4/classic/iso.js +0 -30
- package/dist/astgraph/vendor/zod/v4/classic/package.json +0 -7
- package/dist/astgraph/vendor/zod/v4/classic/parse.js +0 -15
- package/dist/astgraph/vendor/zod/v4/classic/schemas.js +0 -1395
- package/dist/astgraph/vendor/zod/v4/core/api.js +0 -1087
- package/dist/astgraph/vendor/zod/v4/core/checks.js +0 -575
- package/dist/astgraph/vendor/zod/v4/core/core.js +0 -78
- package/dist/astgraph/vendor/zod/v4/core/doc.js +0 -35
- package/dist/astgraph/vendor/zod/v4/core/errors.js +0 -185
- package/dist/astgraph/vendor/zod/v4/core/index.js +0 -16
- package/dist/astgraph/vendor/zod/v4/core/json-schema-generator.js +0 -95
- package/dist/astgraph/vendor/zod/v4/core/json-schema-processors.js +0 -601
- package/dist/astgraph/vendor/zod/v4/core/json-schema.js +0 -1
- package/dist/astgraph/vendor/zod/v4/core/package.json +0 -7
- package/dist/astgraph/vendor/zod/v4/core/parse.js +0 -93
- package/dist/astgraph/vendor/zod/v4/core/regexes.js +0 -139
- package/dist/astgraph/vendor/zod/v4/core/registries.js +0 -51
- package/dist/astgraph/vendor/zod/v4/core/schemas.js +0 -2239
- package/dist/astgraph/vendor/zod/v4/core/standard-schema.js +0 -1
- package/dist/astgraph/vendor/zod/v4/core/to-json-schema.js +0 -448
- package/dist/astgraph/vendor/zod/v4/core/util.js +0 -674
- package/dist/astgraph/vendor/zod/v4/core/versions.js +0 -5
- package/dist/astgraph/vendor/zod/v4/index.js +0 -3
- package/dist/astgraph/vendor/zod/v4/locales/ar.js +0 -106
- package/dist/astgraph/vendor/zod/v4/locales/az.js +0 -105
- package/dist/astgraph/vendor/zod/v4/locales/be.js +0 -156
- package/dist/astgraph/vendor/zod/v4/locales/bg.js +0 -120
- package/dist/astgraph/vendor/zod/v4/locales/ca.js +0 -107
- package/dist/astgraph/vendor/zod/v4/locales/cs.js +0 -111
- package/dist/astgraph/vendor/zod/v4/locales/da.js +0 -115
- package/dist/astgraph/vendor/zod/v4/locales/de.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/el.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/en.js +0 -113
- package/dist/astgraph/vendor/zod/v4/locales/eo.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/es.js +0 -132
- package/dist/astgraph/vendor/zod/v4/locales/fa.js +0 -114
- package/dist/astgraph/vendor/zod/v4/locales/fi.js +0 -112
- package/dist/astgraph/vendor/zod/v4/locales/fr-CA.js +0 -107
- package/dist/astgraph/vendor/zod/v4/locales/fr.js +0 -125
- package/dist/astgraph/vendor/zod/v4/locales/he.js +0 -214
- package/dist/astgraph/vendor/zod/v4/locales/hr.js +0 -122
- package/dist/astgraph/vendor/zod/v4/locales/hu.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/hy.js +0 -147
- package/dist/astgraph/vendor/zod/v4/locales/id.js +0 -106
- package/dist/astgraph/vendor/zod/v4/locales/index.js +0 -52
- package/dist/astgraph/vendor/zod/v4/locales/is.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/it.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/ja.js +0 -107
- package/dist/astgraph/vendor/zod/v4/locales/ka.js +0 -112
- package/dist/astgraph/vendor/zod/v4/locales/kh.js +0 -5
- package/dist/astgraph/vendor/zod/v4/locales/km.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/ko.js +0 -111
- package/dist/astgraph/vendor/zod/v4/locales/lt.js +0 -203
- package/dist/astgraph/vendor/zod/v4/locales/mk.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/ms.js +0 -107
- package/dist/astgraph/vendor/zod/v4/locales/nl.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/no.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/ota.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/package.json +0 -7
- package/dist/astgraph/vendor/zod/v4/locales/pl.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/ps.js +0 -114
- package/dist/astgraph/vendor/zod/v4/locales/pt.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/ro.js +0 -119
- package/dist/astgraph/vendor/zod/v4/locales/ru.js +0 -156
- package/dist/astgraph/vendor/zod/v4/locales/sl.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/sv.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/ta.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/th.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/tr.js +0 -105
- package/dist/astgraph/vendor/zod/v4/locales/ua.js +0 -5
- package/dist/astgraph/vendor/zod/v4/locales/uk.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/ur.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/uz.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/vi.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/yo.js +0 -107
- package/dist/astgraph/vendor/zod/v4/locales/zh-CN.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/zh-TW.js +0 -107
- package/dist/astgraph/vendor/zod/v4/mini/checks.js +0 -1
- package/dist/astgraph/vendor/zod/v4/mini/coerce.js +0 -22
- package/dist/astgraph/vendor/zod/v4/mini/external.js +0 -14
- package/dist/astgraph/vendor/zod/v4/mini/index.js +0 -3
- package/dist/astgraph/vendor/zod/v4/mini/iso.js +0 -34
- package/dist/astgraph/vendor/zod/v4/mini/package.json +0 -7
- package/dist/astgraph/vendor/zod/v4/mini/parse.js +0 -1
- package/dist/astgraph/vendor/zod/v4/mini/schemas.js +0 -961
- package/dist/astgraph/vendor/zod/v4/package.json +0 -7
- package/dist/chunk-CIVPKHF4.js +0 -53
- package/dist/desktop-renderer/assets/index-CqRIr-hz.js +0 -154
- package/dist/devtools-4QTPKBKK.js +0 -2
package/README.md
CHANGED
|
@@ -178,6 +178,8 @@ Common commands:
|
|
|
178
178
|
|
|
179
179
|
You can submit steering or queue follow-ups while a run is in progress; once the current model response finishes, the task picks up new instructions at safe boundaries.
|
|
180
180
|
|
|
181
|
+
During planned work, a wide CLI shows the main task plan and sub-agent exploration side by side; if only one track exists it uses the full row, and narrow terminals stack both tracks. Long streamed responses keep a live `Writing response` activity below the latest output. LSP tools locate the nearest nested project configuration for each target file, so monorepos and sandbox/worktree projects do not need a `tsconfig.json` or `jsconfig.json` at the Flavor workspace root; JavaScript and CommonJS files are supported by the bundled TypeScript server as well.
|
|
182
|
+
|
|
181
183
|
`/commit` and `/review` use the cheap sub-agent model and degrade gracefully when it is unavailable. Session checkpoints are tagged with the current git state (`branch@sha`), so `/tree` shows what the workspace looked like at each node. `/explain <symbol>` runs on the same cheap model: it assembles call relations from the code graph, the symbol's real source slice, and recent commits touching the file, then generates a five-part newcomer walkthrough (what it does / key implementation points / call flow / why it is written this way / gotchas); an interactive picker disambiguates multiple matches, and a missing graph degrades to a `/ast init` hint instead of an error.
|
|
182
184
|
|
|
183
185
|
#### CLI pals and cross-project work
|
package/README.zh-CN.md
CHANGED
|
@@ -178,6 +178,8 @@ OAuth PKCE 的运行时行为与配置约定见 [PKCE 规范](./docs/specs/pkce-
|
|
|
178
178
|
|
|
179
179
|
运行中可以提交 steering 或排队 follow-up;当前模型响应结束后,任务会在安全边界处接收新指令。
|
|
180
180
|
|
|
181
|
+
有任务规划时,宽终端会把主任务计划与子 Agent 探索左右并排展示;只有一类工作时占满整行,窄终端则自动纵向排列。长内容流式输出期间,最新内容下方会持续显示 `Writing response` 动作。LSP 工具会从目标文件向上寻找最近的嵌套项目配置,因此 monorepo、sandbox 或 worktree 项目无需在 Flavor 工作区根部额外放置 `tsconfig.json` / `jsconfig.json`;内置 TypeScript 服务也支持 JavaScript 与 CommonJS 文件。
|
|
182
|
+
|
|
181
183
|
`/commit` 与 `/review` 使用廉价子 Agent 模型,模型不可用时优雅降级。会话 checkpoint 会标记当前 git 状态(`branch@sha`),`/tree` 可以看到每个节点对应的工作区现场。`/explain <符号>` 同样走廉价模型:它把代码图中的调用关系、符号的真实源码切片和该文件的近期提交历史组装成证据,生成面向新人的五段式讲解(做什么 / 关键实现点 / 调用关系 / 为什么这样写 / 注意事项);多个符号命中时弹出选择卡片,可方向键选择或直接输入更精确的名字;代码图未建立时提示 `/ast init`,不会抛错。
|
|
182
184
|
|
|
183
185
|
#### CLI Pals 与跨项目协作
|
package/dist/agent/loop.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { ContextManager } from "../context/manager.js";
|
|
|
2
2
|
import type { HallucinationGuard } from "../hallucination/guard.js";
|
|
3
3
|
import type { HookBus } from "../hooks/bus.js";
|
|
4
4
|
import type { ModelRegistry } from "../models/registry.js";
|
|
5
|
+
import { MEMORY_PRESSURE_HEAP_RATIO } from "../utils/heap.js";
|
|
5
6
|
import { type ModelMessage, type ModelTool } from "../models/types.js";
|
|
6
7
|
import type { ToolRuntime } from "../tools/runtime.js";
|
|
7
8
|
import type { AgentError, AgentEvent, AgentRunRequest } from "./types.js";
|
|
@@ -10,9 +11,10 @@ import type { AgentError, AgentEvent, AgentRunRequest } from "./types.js";
|
|
|
10
11
|
* leak otherwise ends in a native OOM crash with no recovery; tripping this
|
|
11
12
|
* watermark saves the session and lets the launcher relaunch on a fresh heap.
|
|
12
13
|
* 0.8 keeps headroom for compaction payloads and the GC death spiral that
|
|
13
|
-
* starts near ~0.95.
|
|
14
|
+
* starts near ~0.95. The reading is GC-verified: uncollected garbage alone
|
|
15
|
+
* must not stop a turn.
|
|
14
16
|
*/
|
|
15
|
-
export
|
|
17
|
+
export { MEMORY_PRESSURE_HEAP_RATIO };
|
|
16
18
|
export declare function memoryPressureError(heapUsed: number, heapLimit: number): AgentError | undefined;
|
|
17
19
|
export interface AgentLoopOptions {
|
|
18
20
|
registry: ModelRegistry;
|
|
@@ -46,6 +48,9 @@ export declare class AgentLoop {
|
|
|
46
48
|
constructor(options: AgentLoopOptions);
|
|
47
49
|
get modelId(): string;
|
|
48
50
|
get iterationLimitMode(): "standard" | "d2c";
|
|
51
|
+
get maxIterations(): number;
|
|
52
|
+
get softLimitFactor(): number;
|
|
53
|
+
get extendIterations(): number;
|
|
49
54
|
setModel(modelId: string): void;
|
|
50
55
|
setFallbackModel(modelId: string): void;
|
|
51
56
|
/** D2C keeps a hard cap, but may automatically expand it up to ten times. */
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
statusPresentation
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-RAYH6K2H.js";
|
|
6
6
|
import {
|
|
7
7
|
COMMAND_DESCRIPTIONS,
|
|
8
8
|
MVP_COMMANDS,
|
|
@@ -19,9 +19,9 @@ import {
|
|
|
19
19
|
thinkingWindow,
|
|
20
20
|
transcriptReducer,
|
|
21
21
|
withTimeout
|
|
22
|
-
} from "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
22
|
+
} from "./chunk-BYHO2CA5.js";
|
|
23
|
+
import "./chunk-N5MXHJKD.js";
|
|
24
|
+
import "./chunk-EXOSMO57.js";
|
|
25
25
|
import {
|
|
26
26
|
Box_default,
|
|
27
27
|
ClockContext,
|
|
@@ -38,10 +38,10 @@ import {
|
|
|
38
38
|
useStdout,
|
|
39
39
|
use_app_default,
|
|
40
40
|
use_input_default
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-XMRKRPNC.js";
|
|
42
42
|
import {
|
|
43
43
|
execFileNoThrow
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-ZJCAQXA7.js";
|
|
45
45
|
import "./chunk-S32JRDZK.js";
|
|
46
46
|
|
|
47
47
|
// src/ui/app.tsx
|
|
@@ -1007,7 +1007,7 @@ function TaskStatusLine({ block, interactive }) {
|
|
|
1007
1007
|
thinkingScroll.current = { start: state.start, lastTime: time };
|
|
1008
1008
|
return state.text;
|
|
1009
1009
|
})() : void 0;
|
|
1010
|
-
return /* @__PURE__ */ jsxs2(Box_default, { flexDirection: "column", children: [
|
|
1010
|
+
return /* @__PURE__ */ jsxs2(Box_default, { flexDirection: "column", width: "100%", children: [
|
|
1011
1011
|
/* @__PURE__ */ jsxs2(Box_default, { ref, flexDirection: "row", children: [
|
|
1012
1012
|
/* @__PURE__ */ jsxs2(Text, { ...presentation.color === void 0 ? {} : { color: presentation.color }, children: [
|
|
1013
1013
|
presentation.glyph,
|
|
@@ -1039,38 +1039,70 @@ function ThinkingLineView({ text }) {
|
|
|
1039
1039
|
/* @__PURE__ */ jsx3(Text, { color: THINKING_TEXT, wrap: "truncate-end", children: text })
|
|
1040
1040
|
] });
|
|
1041
1041
|
}
|
|
1042
|
+
var SPLIT_TRACK_MIN_COLUMNS = 72;
|
|
1042
1043
|
function TaskProgressPanel({
|
|
1043
1044
|
blocks,
|
|
1044
1045
|
interactive,
|
|
1045
1046
|
maxHeight = 8,
|
|
1047
|
+
columns = 80,
|
|
1046
1048
|
scrollRef,
|
|
1047
1049
|
onHoverChange
|
|
1048
1050
|
}) {
|
|
1049
1051
|
if (blocks.length === 0 || maxHeight <= 0) return null;
|
|
1052
|
+
const taskBlocks = blocks.filter((block) => block.task?.role === "main");
|
|
1053
|
+
const subagentBlocks = blocks.filter((block) => block.task?.role === "subagent");
|
|
1054
|
+
const hasTasks = taskBlocks.length > 0;
|
|
1055
|
+
const hasSubagents = subagentBlocks.length > 0;
|
|
1056
|
+
const split = hasTasks && hasSubagents && columns >= SPLIT_TRACK_MIN_COLUMNS;
|
|
1050
1057
|
return /* @__PURE__ */ jsxs2(
|
|
1051
1058
|
Box_default,
|
|
1052
1059
|
{
|
|
1053
1060
|
flexDirection: "column",
|
|
1054
1061
|
flexShrink: 0,
|
|
1062
|
+
width: "100%",
|
|
1055
1063
|
maxHeight,
|
|
1056
1064
|
onMouseEnter: () => onHoverChange?.(true),
|
|
1057
1065
|
onMouseLeave: () => onHoverChange?.(false),
|
|
1058
1066
|
children: [
|
|
1059
|
-
/* @__PURE__ */ jsx3(
|
|
1067
|
+
split ? /* @__PURE__ */ jsx3(SplitTrackHeaders, {}) : /* @__PURE__ */ jsx3(TrackHeader, { role: hasTasks ? "main" : "subagent" }),
|
|
1060
1068
|
maxHeight > 1 ? /* @__PURE__ */ jsx3(
|
|
1061
1069
|
ScrollBox_default,
|
|
1062
1070
|
{
|
|
1063
1071
|
...scrollRef === void 0 ? {} : { ref: scrollRef },
|
|
1064
1072
|
flexDirection: "column",
|
|
1065
1073
|
flexShrink: 1,
|
|
1074
|
+
width: "100%",
|
|
1066
1075
|
maxHeight: maxHeight - 1,
|
|
1067
|
-
children:
|
|
1076
|
+
children: split ? pairedTrackRows(taskBlocks, subagentBlocks).map(([task, subagent], index) => /* @__PURE__ */ jsxs2(Box_default, { flexDirection: "row", width: "100%", columnGap: 2, children: [
|
|
1077
|
+
/* @__PURE__ */ jsx3(Box_default, { flexBasis: 0, flexGrow: 1, minWidth: 0, flexDirection: "column", children: task === void 0 ? null : /* @__PURE__ */ jsx3(TaskStatusLine, { block: task, interactive }) }),
|
|
1078
|
+
/* @__PURE__ */ jsx3(Box_default, { flexBasis: 0, flexGrow: 1, minWidth: 0, flexDirection: "column", children: subagent === void 0 ? null : /* @__PURE__ */ jsx3(TaskStatusLine, { block: subagent, interactive }) })
|
|
1079
|
+
] }, `${task?.id ?? "task"}:${subagent?.id ?? "subagent"}:${index}`)) : hasTasks && hasSubagents ? /* @__PURE__ */ jsxs2(Fragment2, { children: [
|
|
1080
|
+
taskBlocks.map((block) => /* @__PURE__ */ jsx3(TaskStatusLine, { block, interactive }, block.id)),
|
|
1081
|
+
/* @__PURE__ */ jsx3(TrackHeader, { role: "subagent" }),
|
|
1082
|
+
subagentBlocks.map((block) => /* @__PURE__ */ jsx3(TaskStatusLine, { block, interactive }, block.id))
|
|
1083
|
+
] }) : (hasTasks ? taskBlocks : subagentBlocks).map((block) => /* @__PURE__ */ jsx3(TaskStatusLine, { block, interactive }, block.id))
|
|
1068
1084
|
}
|
|
1069
1085
|
) : null
|
|
1070
1086
|
]
|
|
1071
1087
|
}
|
|
1072
1088
|
);
|
|
1073
1089
|
}
|
|
1090
|
+
function TrackHeader({ role }) {
|
|
1091
|
+
return /* @__PURE__ */ jsxs2(Text, { dimColor: true, children: [
|
|
1092
|
+
"\u2500\u2500 ",
|
|
1093
|
+
role === "main" ? "task plan" : "subagent exploration",
|
|
1094
|
+
" \u2500\u2500"
|
|
1095
|
+
] });
|
|
1096
|
+
}
|
|
1097
|
+
function SplitTrackHeaders() {
|
|
1098
|
+
return /* @__PURE__ */ jsxs2(Box_default, { flexDirection: "row", width: "100%", columnGap: 2, children: [
|
|
1099
|
+
/* @__PURE__ */ jsx3(Box_default, { flexBasis: 0, flexGrow: 1, minWidth: 0, children: /* @__PURE__ */ jsx3(TrackHeader, { role: "main" }) }),
|
|
1100
|
+
/* @__PURE__ */ jsx3(Box_default, { flexBasis: 0, flexGrow: 1, minWidth: 0, children: /* @__PURE__ */ jsx3(TrackHeader, { role: "subagent" }) })
|
|
1101
|
+
] });
|
|
1102
|
+
}
|
|
1103
|
+
function pairedTrackRows(tasks, subagents) {
|
|
1104
|
+
return Array.from({ length: Math.max(tasks.length, subagents.length) }, (_, index) => [tasks[index], subagents[index]]);
|
|
1105
|
+
}
|
|
1074
1106
|
|
|
1075
1107
|
// src/ui/file-diff-style.ts
|
|
1076
1108
|
var CONTENT = "#f8f8f2";
|
|
@@ -1307,7 +1339,7 @@ function WelcomeCard({
|
|
|
1307
1339
|
columns
|
|
1308
1340
|
}) {
|
|
1309
1341
|
const wide = Math.max(1, Math.floor(columns)) >= WIDE_WELCOME_COLUMNS;
|
|
1310
|
-
const updateHint = updateTo === void 0 ? null : /* @__PURE__ */ jsxs3(Text, { color: "yellowBright", wrap: "
|
|
1342
|
+
const updateHint = updateTo === void 0 ? null : /* @__PURE__ */ jsxs3(Text, { color: "yellowBright", wrap: "wrap", children: [
|
|
1311
1343
|
"\u25B2 ",
|
|
1312
1344
|
"Update available: v",
|
|
1313
1345
|
packageVersion(),
|
|
@@ -1315,7 +1347,7 @@ function WelcomeCard({
|
|
|
1315
1347
|
"\u2192",
|
|
1316
1348
|
" v",
|
|
1317
1349
|
updateTo,
|
|
1318
|
-
"
|
|
1350
|
+
"\nRun: flavor update"
|
|
1319
1351
|
] });
|
|
1320
1352
|
return /* @__PURE__ */ jsx4(Box_default, { width: "100%", borderStyle: "round", borderColor: "yellow", paddingX: 1, children: wide ? /* @__PURE__ */ jsxs3(Box_default, { width: "100%", flexDirection: "row", children: [
|
|
1321
1353
|
/* @__PURE__ */ jsxs3(
|
|
@@ -2550,6 +2582,7 @@ function TerminalLayout({
|
|
|
2550
2582
|
blocks: activeTaskBlocks,
|
|
2551
2583
|
interactive: activeSession,
|
|
2552
2584
|
maxHeight: taskPanelRows,
|
|
2585
|
+
columns,
|
|
2553
2586
|
...taskScrollRef === void 0 ? {} : { scrollRef: taskScrollRef },
|
|
2554
2587
|
...onTaskPanelHoverChange === void 0 ? {} : { onHoverChange: onTaskPanelHoverChange }
|
|
2555
2588
|
}
|