@pentoshi/clai 4.14.3 → 4.14.5
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/CONTRIBUTING.md +4 -0
- package/PROVIDERS.md +2 -0
- package/README.md +27 -1
- package/dist/agent/compaction-summary.d.ts +1 -1
- package/dist/agent/compaction-summary.js +6 -3
- package/dist/agent/compaction-summary.js.map +1 -1
- package/dist/agent/context/user-credentials.d.ts +11 -0
- package/dist/agent/context/user-credentials.js +34 -1
- package/dist/agent/context/user-credentials.js.map +1 -1
- package/dist/agent/parser/arg-formatting.js +4 -3
- package/dist/agent/parser/arg-formatting.js.map +1 -1
- package/dist/agent/parser/terminal-args.d.ts +3 -0
- package/dist/agent/parser/terminal-args.js +52 -0
- package/dist/agent/parser/terminal-args.js.map +1 -0
- package/dist/agent/subagents/read-only-tools.js +2 -2
- package/dist/agent/subagents/read-only-tools.js.map +1 -1
- package/dist/agent/turn/subagent-inbox.js +2 -2
- package/dist/agent/turn/subagent-inbox.js.map +1 -1
- package/dist/agent/turn/tool-execution/single-tool.js +1 -0
- package/dist/agent/turn/tool-execution/single-tool.js.map +1 -1
- package/dist/app/adapters/current-updates-adapter.d.ts +1 -1
- package/dist/app/adapters/current-updates-adapter.js +4 -13
- package/dist/app/adapters/current-updates-adapter.js.map +1 -1
- package/dist/app/controllers/session-controller.d.ts +5 -0
- package/dist/app/controllers/session-controller.js +54 -7
- package/dist/app/controllers/session-controller.js.map +1 -1
- package/dist/app/ports/updates-port.d.ts +1 -1
- package/dist/classic/app/action-handlers.js +7 -0
- package/dist/classic/app/action-handlers.js.map +1 -1
- package/dist/classic/blocks/tool-lines.js +3 -3
- package/dist/classic/blocks/tool-lines.js.map +1 -1
- package/dist/commands/update/detection.d.ts +20 -0
- package/dist/commands/update/detection.js +207 -0
- package/dist/commands/update/detection.js.map +1 -0
- package/dist/commands/update/download.d.ts +3 -0
- package/dist/commands/update/download.js +63 -0
- package/dist/commands/update/download.js.map +1 -0
- package/dist/commands/update/installers.d.ts +16 -5
- package/dist/commands/update/installers.js +12 -513
- package/dist/commands/update/installers.js.map +1 -1
- package/dist/commands/update/lock.d.ts +6 -0
- package/dist/commands/update/lock.js +86 -0
- package/dist/commands/update/lock.js.map +1 -0
- package/dist/commands/update/metadata.d.ts +6 -0
- package/dist/commands/update/metadata.js +36 -0
- package/dist/commands/update/metadata.js.map +1 -0
- package/dist/commands/update/native.d.ts +3 -0
- package/dist/commands/update/native.js +179 -0
- package/dist/commands/update/native.js.map +1 -0
- package/dist/commands/update/package-managers.d.ts +4 -0
- package/dist/commands/update/package-managers.js +158 -0
- package/dist/commands/update/package-managers.js.map +1 -0
- package/dist/commands/update/process.d.ts +17 -0
- package/dist/commands/update/process.js +114 -0
- package/dist/commands/update/process.js.map +1 -0
- package/dist/commands/update/source-worker.d.ts +2 -0
- package/dist/commands/update/source-worker.js +71 -0
- package/dist/commands/update/source-worker.js.map +1 -0
- package/dist/commands/update/source.d.ts +2 -0
- package/dist/commands/update/source.js +79 -0
- package/dist/commands/update/source.js.map +1 -0
- package/dist/commands/update/verification.d.ts +7 -0
- package/dist/commands/update/verification.js +73 -0
- package/dist/commands/update/verification.js.map +1 -0
- package/dist/commands/update/windows-stage.d.ts +21 -0
- package/dist/commands/update/windows-stage.js +186 -0
- package/dist/commands/update/windows-stage.js.map +1 -0
- package/dist/commands/update-install.d.ts +4 -13
- package/dist/commands/update-install.js +20 -152
- package/dist/commands/update-install.js.map +1 -1
- package/dist/commands/update.d.ts +4 -9
- package/dist/commands/update.js +51 -103
- package/dist/commands/update.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/interactive-session/cleanup.js +1 -1
- package/dist/interactive-session/cleanup.js.map +1 -1
- package/dist/interactive-session/manager.d.ts +2 -0
- package/dist/interactive-session/manager.js +62 -30
- package/dist/interactive-session/manager.js.map +1 -1
- package/dist/interactive-session/output-store.d.ts +1 -1
- package/dist/interactive-session/output-store.js +4 -1
- package/dist/interactive-session/output-store.js.map +1 -1
- package/dist/interactive-session/output-view.js +23 -1
- package/dist/interactive-session/output-view.js.map +1 -1
- package/dist/interactive-session/streaming-redactor.js +1 -1
- package/dist/interactive-session/streaming-redactor.js.map +1 -1
- package/dist/interactive-session/transport-node-pty.d.ts +2 -1
- package/dist/interactive-session/transport-node-pty.js +24 -20
- package/dist/interactive-session/transport-node-pty.js.map +1 -1
- package/dist/interactive-session/types.d.ts +3 -0
- package/dist/interactive-session/types.js.map +1 -1
- package/dist/llm/responses-error.d.ts +3 -0
- package/dist/llm/responses-error.js +37 -0
- package/dist/llm/responses-error.js.map +1 -0
- package/dist/llm/responses-http.js +5 -2
- package/dist/llm/responses-http.js.map +1 -1
- package/dist/llm/responses-replay.d.ts +2 -0
- package/dist/llm/responses-replay.js +37 -1
- package/dist/llm/responses-replay.js.map +1 -1
- package/dist/llm/responses-stream-events.js +3 -20
- package/dist/llm/responses-stream-events.js.map +1 -1
- package/dist/llm/responses-stream.js +2 -0
- package/dist/llm/responses-stream.js.map +1 -1
- package/dist/os/bun-runtime.js +2 -1
- package/dist/os/bun-runtime.js.map +1 -1
- package/dist/os/update-origin.d.ts +7 -0
- package/dist/os/update-origin.js +30 -0
- package/dist/os/update-origin.js.map +1 -0
- package/dist/prompts/embedded.js +2 -2
- package/dist/prompts/embedded.js.map +1 -1
- package/dist/prompts/index.js +2 -2
- package/dist/prompts/system.agent.md +6 -5
- package/dist/prompts/system.ask.md +1 -1
- package/dist/session-runtime/client.js +2 -1
- package/dist/session-runtime/client.js.map +1 -1
- package/dist/store/history/jsonl-lock.js +10 -7
- package/dist/store/history/jsonl-lock.js.map +1 -1
- package/dist/store/history/recovery.js +2 -1
- package/dist/store/history/recovery.js.map +1 -1
- package/dist/store/history.js +4 -2
- package/dist/store/history.js.map +1 -1
- package/dist/tools/definitions/fs-read.js +1 -1
- package/dist/tools/definitions/fs-read.js.map +1 -1
- package/dist/tools/definitions/terminal.js +43 -37
- package/dist/tools/definitions/terminal.js.map +1 -1
- package/dist/tools/fs/read-input.d.ts +1 -1
- package/dist/tools/fs/read-input.js +2 -2
- package/dist/tools/fs/read-input.js.map +1 -1
- package/dist/tools/interactive-session-tools.js +79 -33
- package/dist/tools/interactive-session-tools.js.map +1 -1
- package/dist/tools/shell/interactive-probes.d.ts +1 -0
- package/dist/tools/shell/interactive-probes.js +35 -0
- package/dist/tools/shell/interactive-probes.js.map +1 -0
- package/dist/tools/shell.js +11 -2
- package/dist/tools/shell.js.map +1 -1
- package/dist/tools/tool-types.d.ts +2 -1
- package/dist/tui-v2/app/App.js +13 -5
- package/dist/tui-v2/app/App.js.map +1 -1
- package/dist/tui-v2/components/plan/plan-interaction.d.ts +11 -0
- package/dist/tui-v2/components/plan/plan-interaction.js +56 -0
- package/dist/tui-v2/components/plan/plan-interaction.js.map +1 -0
- package/dist/tui-v2/components/plan/plan-view.d.ts +7 -1
- package/dist/tui-v2/components/plan/plan-view.js +78 -175
- package/dist/tui-v2/components/plan/plan-view.js.map +1 -1
- package/dist/tui-v2/components/plan/task-title.d.ts +9 -0
- package/dist/tui-v2/components/plan/task-title.js +17 -0
- package/dist/tui-v2/components/plan/task-title.js.map +1 -0
- package/dist/tui-v2/components/plan/use-task-disclosure.d.ts +25 -0
- package/dist/tui-v2/components/plan/use-task-disclosure.js +125 -0
- package/dist/tui-v2/components/plan/use-task-disclosure.js.map +1 -0
- package/dist/tui-v2/components/transcript/tool-card.js +2 -2
- package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
- package/dist/tui-v2/components/transcript/use-transcript-selection.js +11 -6
- package/dist/tui-v2/components/transcript/use-transcript-selection.js.map +1 -1
- package/dist/tui-v2/composer/composer-editor.js +3 -0
- package/dist/tui-v2/composer/composer-editor.js.map +1 -1
- package/dist/ui-core/actions/action-id.d.ts +1 -1
- package/dist/ui-core/actions/action-id.js +7 -0
- package/dist/ui-core/actions/action-id.js.map +1 -1
- package/dist/ui-core/actions/format-shortcuts.js +7 -0
- package/dist/ui-core/actions/format-shortcuts.js.map +1 -1
- package/dist/ui-core/commands/config-commands.js +12 -6
- package/dist/ui-core/commands/config-commands.js.map +1 -1
- package/dist/ui-core/commands/prompt-commands.d.ts +1 -1
- package/dist/ui-core/commands/prompt-commands.js +12 -2
- package/dist/ui-core/commands/prompt-commands.js.map +1 -1
- package/dist/ui-core/controllers/selection-controller.js +2 -1
- package/dist/ui-core/controllers/selection-controller.js.map +1 -1
- package/dist/ui-core/controllers/toast-controller.js +4 -4
- package/dist/ui-core/controllers/toast-controller.js.map +1 -1
- package/dist/ui-core/rendering/plan-view.js +24 -12
- package/dist/ui-core/rendering/plan-view.js.map +1 -1
- package/dist/ui-core/rendering/task-disclosure.d.ts +19 -0
- package/dist/ui-core/rendering/task-disclosure.js +70 -0
- package/dist/ui-core/rendering/task-disclosure.js.map +1 -0
- package/dist/ui-core/rendering/terminal-output.d.ts +6 -0
- package/dist/ui-core/rendering/terminal-output.js +45 -0
- package/dist/ui-core/rendering/terminal-output.js.map +1 -0
- package/dist/ui-core/rendering/tool-presenter.d.ts +1 -1
- package/dist/ui-core/rendering/tool-presenter.js +21 -4
- package/dist/ui-core/rendering/tool-presenter.js.map +1 -1
- package/dist/ui-core/rendering/transcript-export.d.ts +2 -0
- package/dist/ui-core/rendering/transcript-export.js +1 -0
- package/dist/ui-core/rendering/transcript-export.js.map +1 -1
- package/dist/ui-core/rendering/transcript-semantic.js +9 -0
- package/dist/ui-core/rendering/transcript-semantic.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ActionRouter } from "../../../ui-core/actions/action-router.js";
|
|
2
|
+
import { defaultKeymap } from "../../../ui-core/actions/keymap.js";
|
|
3
|
+
const PLAN_BINDINGS = [
|
|
4
|
+
{ chord: "down", action: "plan.next-task", context: "plan" },
|
|
5
|
+
{ chord: "up", action: "plan.prev-task", context: "plan" },
|
|
6
|
+
{ chord: "enter", action: "plan.toggle-task", context: "plan" },
|
|
7
|
+
{ chord: "right", action: "plan.expand-task", context: "plan" },
|
|
8
|
+
{ chord: "left", action: "plan.collapse-task", context: "plan" },
|
|
9
|
+
{ chord: "e", action: "plan.expand-all", context: "plan" },
|
|
10
|
+
{ chord: "c", action: "plan.collapse-all", context: "plan" },
|
|
11
|
+
{ chord: "pageup", action: "plan.page-up", context: "plan" },
|
|
12
|
+
{ chord: "pagedown", action: "plan.page-down", context: "plan" },
|
|
13
|
+
];
|
|
14
|
+
export const OPEN_TUI_KEYMAP = [
|
|
15
|
+
...defaultKeymap.filter((binding) => binding.context !== "plan"),
|
|
16
|
+
...PLAN_BINDINGS,
|
|
17
|
+
];
|
|
18
|
+
const planRouter = new ActionRouter(PLAN_BINDINGS);
|
|
19
|
+
export function resolvePlanInteraction(chord) {
|
|
20
|
+
return planRouter.resolve(chord, "plan");
|
|
21
|
+
}
|
|
22
|
+
export function handlePlanInteraction(action, port) {
|
|
23
|
+
if (!port)
|
|
24
|
+
return false;
|
|
25
|
+
switch (action) {
|
|
26
|
+
case "plan.next-task":
|
|
27
|
+
port.moveSelection(1);
|
|
28
|
+
return true;
|
|
29
|
+
case "plan.prev-task":
|
|
30
|
+
port.moveSelection(-1);
|
|
31
|
+
return true;
|
|
32
|
+
case "plan.toggle-task":
|
|
33
|
+
port.setSelectedExpanded();
|
|
34
|
+
return true;
|
|
35
|
+
case "plan.expand-task":
|
|
36
|
+
port.setSelectedExpanded(true);
|
|
37
|
+
return true;
|
|
38
|
+
case "plan.collapse-task":
|
|
39
|
+
port.setSelectedExpanded(false);
|
|
40
|
+
return true;
|
|
41
|
+
case "plan.expand-all":
|
|
42
|
+
port.setAllExpanded(true);
|
|
43
|
+
return true;
|
|
44
|
+
case "plan.collapse-all":
|
|
45
|
+
port.setAllExpanded(false);
|
|
46
|
+
return true;
|
|
47
|
+
case "plan.page-up":
|
|
48
|
+
port.page(-1);
|
|
49
|
+
return true;
|
|
50
|
+
case "plan.page-down":
|
|
51
|
+
port.page(1);
|
|
52
|
+
return true;
|
|
53
|
+
default: return false;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=plan-interaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-interaction.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/plan/plan-interaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,aAAa,EAAmB,MAAM,oCAAoC,CAAC;AASpF,MAAM,aAAa,GAA0B;IAC3C,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE;IAC5D,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE;IAC1D,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE;IAC/D,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE;IAC/D,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAAE;IAChE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE;IAC1D,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE;IAC5D,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE;IAC5D,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE;CACjE,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAA0B;IACpD,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC;IAChE,GAAG,aAAa;CACjB,CAAC;AAEF,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC;AAEnD,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAgB,EAAE,IAAgC;IACtF,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,gBAAgB;YAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QAC1D,KAAK,gBAAgB;YAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QAC3D,KAAK,kBAAkB;YAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QACjE,KAAK,kBAAkB;YAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QACrE,KAAK,oBAAoB;YAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QACxE,KAAK,iBAAiB;YAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QAC/D,KAAK,mBAAmB;YAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QAClE,KAAK,cAAc;YAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QAChD,KAAK,gBAAgB;YAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QACjD,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC;IACxB,CAAC;AACH,CAAC"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
/** @jsxImportSource @opentui/react */
|
|
2
|
-
import { type ReactNode } from "react";
|
|
2
|
+
import { type ReactNode, type Ref } from "react";
|
|
3
3
|
import type { SessionPlan } from "../../../store/plan.js";
|
|
4
4
|
import type { Theme } from "../../../ui-core/rendering/theme.js";
|
|
5
5
|
import type { AppServices } from "../../../ui-core/bootstrap/composition-root.js";
|
|
6
|
+
import { type TaskDisclosureBinding } from "./use-task-disclosure.js";
|
|
7
|
+
import type { PlanInteractionPort } from "./plan-interaction.js";
|
|
8
|
+
import "./task-title.js";
|
|
6
9
|
export interface PlanViewProps {
|
|
7
10
|
readonly theme: Theme;
|
|
8
11
|
readonly plan: SessionPlan | undefined;
|
|
9
12
|
readonly services: AppServices;
|
|
10
13
|
readonly width?: number | undefined;
|
|
14
|
+
readonly focused?: boolean | undefined;
|
|
15
|
+
readonly interactionRef?: Ref<PlanInteractionPort> | undefined;
|
|
16
|
+
readonly disclosureBinding?: TaskDisclosureBinding | undefined;
|
|
11
17
|
}
|
|
12
18
|
declare function PlanViewImpl(props: PlanViewProps): ReactNode;
|
|
13
19
|
export declare const PlanView: import("react").MemoExoticComponent<typeof PlanViewImpl>;
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@opentui/react/jsx-runtime";
|
|
2
2
|
/** @jsxImportSource @opentui/react */
|
|
3
|
-
import { memo, useEffect, useRef } from "react";
|
|
3
|
+
import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
4
4
|
import { countRender } from "../../perf/render-counters.js";
|
|
5
5
|
import { TextAttributes } from "@opentui/core";
|
|
6
|
-
import { activeTaskId, cleanTaskTitle, planStatusChip, planStatusColor, progressBar, progressView, taskGlyph, taskRowColor, taskOwnerChip,
|
|
6
|
+
import { activeTaskId, cleanTaskTitle, planStatusChip, planStatusColor, progressBar, progressView, taskGlyph, taskRowColor, taskOwnerChip, wrapPlanText, } from "../../../ui-core/rendering/plan-view.js";
|
|
7
7
|
import { discardPlan, implementPlan } from "../../../ui-core/plan/plan-lifecycle.js";
|
|
8
|
+
import { hasTaskDetails, taskDetailText, wrapTaskDisclosureTitle, TASK_DISCLOSURE_BUTTON_WIDTH } from "../../../ui-core/rendering/task-disclosure.js";
|
|
9
|
+
import { revealTaskHeader, useTaskDisclosure } from "./use-task-disclosure.js";
|
|
10
|
+
import "./task-title.js";
|
|
8
11
|
function tokenFg(theme, token) {
|
|
9
12
|
return theme[token];
|
|
10
13
|
}
|
|
11
14
|
function Chip(props) {
|
|
12
15
|
const { label, fg, bg } = props;
|
|
13
|
-
return (_jsx("text", { content: ` ${label} `, style: {
|
|
16
|
+
return (_jsx("text", { selectable: false, content: ` ${label} `, style: {
|
|
14
17
|
fg,
|
|
15
18
|
bg,
|
|
16
19
|
height: 1,
|
|
@@ -19,12 +22,14 @@ function Chip(props) {
|
|
|
19
22
|
} }));
|
|
20
23
|
}
|
|
21
24
|
function ActionChip(props) {
|
|
22
|
-
const { label, fg, bg, onClick } = props;
|
|
23
|
-
return (_jsx("box", { onMouseDown: (event) => {
|
|
25
|
+
const { id, label, fg, bg, onClick } = props;
|
|
26
|
+
return (_jsx("box", { id: id, onMouseDown: (event) => {
|
|
27
|
+
if (event.button !== 0)
|
|
28
|
+
return;
|
|
24
29
|
event.preventDefault();
|
|
25
30
|
event.stopPropagation();
|
|
26
31
|
onClick();
|
|
27
|
-
}, style: { flexShrink: 0 }, children: _jsx("text", { content: ` ${label} `, style: {
|
|
32
|
+
}, style: { flexShrink: 0 }, children: _jsx("text", { selectable: false, content: ` ${label} `, style: {
|
|
28
33
|
fg,
|
|
29
34
|
bg,
|
|
30
35
|
height: 1,
|
|
@@ -33,189 +38,87 @@ function ActionChip(props) {
|
|
|
33
38
|
}
|
|
34
39
|
function PlanViewImpl(props) {
|
|
35
40
|
countRender("PlanView");
|
|
36
|
-
const { theme, plan, services, width: widthProp } = props;
|
|
41
|
+
const { theme, plan, services, width: widthProp, interactionRef } = props;
|
|
42
|
+
const focused = props.focused ?? services.focus.activeContext() === "plan";
|
|
37
43
|
const scrollRef = useRef(null);
|
|
38
44
|
const activeId = plan ? activeTaskId(plan) : undefined;
|
|
39
|
-
const innerW = Math.max(
|
|
40
|
-
const
|
|
45
|
+
const innerW = Math.max(1, (widthProp ?? 36) - 4);
|
|
46
|
+
const disclosure = useTaskDisclosure(plan, scrollRef, interactionRef, props.disclosureBinding);
|
|
47
|
+
const displayTasks = disclosure.tasks;
|
|
48
|
+
const revealedTaskId = focused ? disclosure.selectedId : activeId;
|
|
41
49
|
useEffect(() => {
|
|
42
|
-
if (
|
|
43
|
-
scrollRef.current
|
|
44
|
-
|
|
45
|
-
|
|
50
|
+
if (revealedTaskId)
|
|
51
|
+
revealTaskHeader(scrollRef.current, revealedTaskId);
|
|
52
|
+
}, [revealedTaskId]);
|
|
53
|
+
const toggleTask = useCallback((id) => {
|
|
54
|
+
if (services.overlay.isOpen())
|
|
55
|
+
return;
|
|
56
|
+
services.focus.focusRegion("plan");
|
|
57
|
+
disclosure.toggleTask(id);
|
|
58
|
+
}, [services.focus, services.overlay, disclosure.toggleTask]);
|
|
59
|
+
function setAllExpanded(expanded) {
|
|
60
|
+
if (services.overlay.isOpen())
|
|
61
|
+
return;
|
|
62
|
+
services.focus.focusRegion("plan");
|
|
63
|
+
disclosure.setAllExpanded(expanded);
|
|
64
|
+
}
|
|
46
65
|
function trapWheel(event) {
|
|
47
66
|
if (!event.scroll)
|
|
48
67
|
return;
|
|
49
68
|
event.stopPropagation();
|
|
69
|
+
disclosure.hideKeyboardFocus();
|
|
50
70
|
services.focus.focusRegion("plan");
|
|
51
71
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
width: "100%",
|
|
57
|
-
height: "100%",
|
|
58
|
-
justifyContent: "center",
|
|
59
|
-
alignItems: "center",
|
|
60
|
-
backgroundColor: theme.statusBackground,
|
|
61
|
-
}, onMouseScroll: trapWheel, onMouseDown: () => services.focus.focusRegion("plan"), children: _jsxs("box", { style: {
|
|
62
|
-
flexDirection: "column",
|
|
63
|
-
alignItems: "center",
|
|
64
|
-
flexShrink: 0,
|
|
65
|
-
paddingLeft: 1,
|
|
66
|
-
paddingRight: 1,
|
|
67
|
-
}, children: [_jsx("text", { content: "\u25C7", style: { fg: theme.magenta, height: 1, attributes: TextAttributes.BOLD } }), _jsx("text", { content: " ", style: { height: 1 } }), _jsx("text", { content: "No tasks yet", style: {
|
|
68
|
-
fg: theme.foreground,
|
|
69
|
-
height: 1,
|
|
70
|
-
attributes: TextAttributes.BOLD,
|
|
71
|
-
} }), _jsx("text", { content: " ", style: { height: 1 } }), _jsx("text", { content: "Plan a multi-step job,", style: { fg: theme.muted, height: 1 } }), _jsx("text", { content: "then /implement.", style: { fg: theme.muted, height: 1 } }), _jsx("text", { content: " ", style: { height: 1 } }), _jsx("text", { content: "Ctrl+H toggle \u00B7 Ctrl+P detail", style: { fg: theme.cyan, height: 1 } })] }) }));
|
|
72
|
-
}
|
|
72
|
+
return (_jsx("box", { id: "plan-pane", style: { flexDirection: "column", flexGrow: 1, width: "100%", height: "100%", backgroundColor: theme.statusBackground }, onMouseDown: (event) => event.preventDefault(), onMouseScroll: trapWheel, children: plan ? (_jsxs(_Fragment, { children: [_jsx(PlanHeader, { theme: theme, plan: plan, services: services, width: innerW, summary: disclosure.summary, onSetAllExpanded: setAllExpanded }), _jsxs("scrollbox", { id: "plan-tasks", ref: scrollRef, stickyScroll: false, viewportCulling: true, scrollY: true, scrollX: false, scrollbarOptions: { visible: false, showArrows: false }, onMouseScroll: trapWheel, style: { flexGrow: 1, flexShrink: 1, width: "100%", minHeight: 1, backgroundColor: theme.statusBackground, paddingLeft: 1, paddingRight: 1 }, children: [displayTasks.map((task, index) => (_jsx(TaskRow, { task: task, theme: theme, width: innerW, active: task.id === activeId, selected: focused && disclosure.keyboardFocusVisible && task.id === disclosure.selectedId, expanded: disclosure.expanded.has(task.id), index: index, onToggle: toggleTask }, task.id))), displayTasks.length === 0 ? _jsx("text", { selectable: false, content: "No tasks yet", style: { fg: theme.muted, height: 1 } }) : null] })] })) : (_jsxs("box", { style: { flexDirection: "column", flexGrow: 1, justifyContent: "center", alignItems: "center", paddingLeft: 1, paddingRight: 1 }, children: [_jsx("text", { selectable: false, content: "\u25C7", style: { fg: theme.magenta, height: 1, attributes: TextAttributes.BOLD } }), _jsx("text", { selectable: false, content: "No tasks yet", style: { fg: theme.foreground, height: 1, attributes: TextAttributes.BOLD, marginTop: 1 } }), _jsx("text", { selectable: false, content: "Plan a multi-step job,", style: { fg: theme.muted, height: 1, marginTop: 1 } }), _jsx("text", { selectable: false, content: "then /implement.", style: { fg: theme.muted, height: 1 } }), _jsx("text", { selectable: false, content: "Ctrl+H toggle \u00B7 Ctrl+P detail", style: { fg: theme.cyan, height: 1, marginTop: 1 } })] })) }));
|
|
73
|
+
}
|
|
74
|
+
function PlanHeader(props) {
|
|
75
|
+
const { theme, plan, services, width, summary, onSetAllExpanded } = props;
|
|
73
76
|
const progress = progressView(plan);
|
|
74
77
|
const statusFg = tokenFg(theme, planStatusColor(plan.status));
|
|
75
|
-
const statusBg = plan.status === "completed"
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
const bar = progressBar(progress.done, progress.total, barWidth);
|
|
85
|
-
const countLabel = progress.total === 0
|
|
86
|
-
? "0 tasks"
|
|
87
|
-
: `${progress.done}/${progress.total}`;
|
|
88
|
-
return (_jsxs("box", { style: {
|
|
89
|
-
flexDirection: "column",
|
|
90
|
-
flexGrow: 1,
|
|
91
|
-
width: "100%",
|
|
92
|
-
height: "100%",
|
|
93
|
-
backgroundColor: theme.statusBackground,
|
|
94
|
-
}, onMouseScroll: trapWheel, onMouseDown: () => services.focus.focusRegion("plan"), children: [_jsxs("box", { style: {
|
|
95
|
-
flexDirection: "column",
|
|
96
|
-
width: "100%",
|
|
97
|
-
flexShrink: 0,
|
|
98
|
-
paddingLeft: 1,
|
|
99
|
-
paddingRight: 1,
|
|
100
|
-
paddingTop: 1,
|
|
101
|
-
backgroundColor: theme.statusBackground,
|
|
102
|
-
}, children: [goalLines.map((line, i) => (_jsx("text", { content: line, style: {
|
|
103
|
-
fg: theme.foreground,
|
|
104
|
-
height: 1,
|
|
105
|
-
attributes: TextAttributes.BOLD,
|
|
106
|
-
} }, `g-${i}`))), _jsx("text", { content: " ", style: { height: 1 } }), _jsxs("box", { style: {
|
|
107
|
-
flexDirection: "row",
|
|
108
|
-
width: "100%",
|
|
109
|
-
height: 1,
|
|
110
|
-
alignItems: "center",
|
|
111
|
-
flexShrink: 0,
|
|
112
|
-
}, children: [_jsx(Chip, { label: planStatusChip(plan.status), fg: theme.white, bg: statusBg, theme: theme }), _jsx("text", { content: " ", style: { height: 1 } }), _jsx("text", { content: plan.kind || "general", style: { fg: theme.muted, height: 1 } })] }), _jsxs("box", { style: {
|
|
113
|
-
flexDirection: "row",
|
|
114
|
-
width: "100%",
|
|
115
|
-
height: 1,
|
|
116
|
-
marginTop: 1,
|
|
117
|
-
alignItems: "center",
|
|
118
|
-
flexShrink: 0,
|
|
119
|
-
}, children: [_jsx("text", { content: bar, style: {
|
|
120
|
-
fg: progress.done === progress.total && progress.total > 0
|
|
121
|
-
? theme.success
|
|
122
|
-
: theme.cyan,
|
|
123
|
-
height: 1,
|
|
124
|
-
flexShrink: 0,
|
|
125
|
-
} }), _jsx("text", { content: " ", style: { height: 1 } }), _jsx("text", { content: countLabel, style: {
|
|
126
|
-
fg: statusFg,
|
|
127
|
-
height: 1,
|
|
128
|
-
attributes: TextAttributes.BOLD,
|
|
129
|
-
} })] }), plan.status === "draft" ? (_jsxs("box", { style: {
|
|
130
|
-
flexDirection: "row",
|
|
131
|
-
width: "100%",
|
|
132
|
-
height: 1,
|
|
133
|
-
marginTop: 1,
|
|
134
|
-
flexShrink: 0,
|
|
135
|
-
alignItems: "center",
|
|
136
|
-
}, children: [_jsx(ActionChip, { label: "Implement", fg: theme.white, bg: theme.success, onClick: () => void implementPlan(services) }), _jsx("text", { content: " ", style: { height: 1 } }), _jsx(ActionChip, { label: "Discard", fg: theme.foreground, bg: theme.chip, onClick: () => void discardPlan(services) })] })) : null, _jsx("text", { content: "─".repeat(Math.max(8, innerW)), style: { fg: theme.border, height: 1, marginTop: 1 } })] }), _jsxs("scrollbox", { ref: scrollRef, stickyScroll: false, viewportCulling: true, scrollY: true, scrollX: false, scrollbarOptions: { visible: false, showArrows: false }, onMouseScroll: trapWheel, style: {
|
|
137
|
-
flexGrow: 1,
|
|
138
|
-
flexShrink: 1,
|
|
139
|
-
width: "100%",
|
|
140
|
-
minHeight: 4,
|
|
141
|
-
backgroundColor: theme.statusBackground,
|
|
142
|
-
paddingLeft: 1,
|
|
143
|
-
paddingRight: 1,
|
|
144
|
-
paddingTop: 0,
|
|
145
|
-
}, children: [displayTasks.map((task, index) => (_jsx(TaskRow, { task: task, theme: theme, width: innerW, active: task.id === activeId, index: index }, task.id))), _jsx("text", { content: " ", style: { height: 1 } })] })] }));
|
|
78
|
+
const statusBg = plan.status === "completed" ? theme.diffAddBg : plan.status === "draft" ? theme.chipTeal : theme.chip;
|
|
79
|
+
const countLabel = progress.total === 0 ? "0 tasks" : `${progress.done}/${progress.total}`;
|
|
80
|
+
const canExpand = summary.expanded < summary.total;
|
|
81
|
+
const canCollapse = summary.expanded > 0;
|
|
82
|
+
const controlsWidth = (canExpand ? 12 : 0) + (canCollapse ? 14 : 0) + (canExpand && canCollapse ? 1 : 0);
|
|
83
|
+
const inline = width >= controlsWidth + countLabel.length + 7;
|
|
84
|
+
const barWidth = Math.max(4, Math.min(14, width - countLabel.length - (inline ? controlsWidth + 3 : 1)));
|
|
85
|
+
const controls = summary.total > 0 ? (_jsxs("box", { style: { flexDirection: width >= controlsWidth ? "row" : "column", flexShrink: 0, gap: width >= controlsWidth ? 1 : 0 }, children: [canExpand ? _jsx(ActionChip, { id: "plan-expand-all", label: "Expand all", fg: theme.foreground, bg: theme.chip, onClick: () => onSetAllExpanded(true) }) : null, canCollapse ? _jsx(ActionChip, { id: "plan-collapse-all", label: "Collapse all", fg: theme.foreground, bg: theme.chip, onClick: () => onSetAllExpanded(false) }) : null] })) : null;
|
|
86
|
+
return (_jsxs("box", { id: "plan-header", style: { flexDirection: "column", width: "100%", flexShrink: 0, paddingLeft: 1, paddingRight: 1, paddingTop: 1 }, children: [wrapPlanText(plan.goal, width).map((line, index) => (_jsx("text", { selectable: false, content: line, style: { fg: theme.foreground, height: 1, attributes: TextAttributes.BOLD } }, `goal-${index}`))), _jsxs("box", { style: { flexDirection: "row", width: "100%", height: 1, marginTop: 1, flexShrink: 0, gap: 1 }, children: [_jsx(Chip, { label: planStatusChip(plan.status), fg: plan.status === "draft" ? theme.white : theme.foreground, bg: statusBg, theme: theme }), _jsx("text", { selectable: false, content: wrapPlanText(plan.kind || "general", Math.max(1, width - planStatusChip(plan.status).length - 3))[0] ?? "", style: { fg: theme.muted, height: 1, flexShrink: 1 } })] }), _jsxs("box", { id: "plan-progress", style: { flexDirection: "row", width: "100%", height: 1, marginTop: 1, alignItems: "center", flexShrink: 0, gap: 1 }, children: [_jsx("text", { selectable: false, content: progressBar(progress.done, progress.total, barWidth), style: { fg: progress.done === progress.total && progress.total > 0 ? theme.success : theme.cyan, height: 1, flexShrink: 0 } }), _jsx("text", { selectable: false, content: countLabel, style: { fg: statusFg, height: 1, flexShrink: 0, attributes: TextAttributes.BOLD } }), inline && controls ? _jsx("box", { style: { flexGrow: 1 } }) : null, inline ? controls : null] }), !inline && controls ? _jsx("box", { style: { flexShrink: 0, marginTop: 1 }, children: controls }) : null, plan.status === "draft" ? (_jsxs("box", { style: { flexDirection: width >= 21 ? "row" : "column", width: "100%", marginTop: 1, flexShrink: 0, gap: width >= 21 ? 1 : 0 }, children: [_jsx(ActionChip, { id: "plan-implement", label: "Implement", fg: theme.foreground, bg: theme.diffAddBg, onClick: () => void implementPlan(services) }), _jsx(ActionChip, { id: "plan-discard", label: "Discard", fg: theme.foreground, bg: theme.chip, onClick: () => void discardPlan(services) })] })) : null, _jsx("text", { selectable: false, content: "─".repeat(width), style: { fg: theme.border, height: 1, marginTop: 1, marginBottom: 1 } })] }));
|
|
146
87
|
}
|
|
147
|
-
function
|
|
148
|
-
const {
|
|
149
|
-
const
|
|
88
|
+
function TaskDisclosureButton(props) {
|
|
89
|
+
const { taskId, theme, bg, selected, expanded, onToggle } = props;
|
|
90
|
+
const [hovered, setHovered] = useState(false);
|
|
91
|
+
const highlighted = selected || hovered;
|
|
92
|
+
const id = `plan-task-${taskId}-disclosure`;
|
|
93
|
+
return (_jsx("box", { id: id, onMouseOver: () => setHovered(true), onMouseOut: () => setHovered(false), onMouseDown: (event) => {
|
|
94
|
+
if (event.button !== 0)
|
|
95
|
+
return;
|
|
96
|
+
event.preventDefault();
|
|
97
|
+
event.stopPropagation();
|
|
98
|
+
onToggle(taskId);
|
|
99
|
+
}, style: { width: TASK_DISCLOSURE_BUTTON_WIDTH, height: 1, flexShrink: 0, justifyContent: "center", alignItems: "center", backgroundColor: bg }, children: _jsx("text", { selectable: false, id: `${id}-label`, wrapMode: "none", content: expanded ? "−" : "+", style: { fg: highlighted ? theme.cyan : theme.foreground, bg, width: 1, height: 1, flexShrink: 0, attributes: TextAttributes.BOLD } }) }));
|
|
100
|
+
}
|
|
101
|
+
const TaskRow = memo(function TaskRow(props) {
|
|
102
|
+
const { task, theme, width, active, selected, expanded, index, onToggle } = props;
|
|
150
103
|
const stateColor = tokenFg(theme, taskRowColor(task));
|
|
151
|
-
const titleColor = state === "pending" || state === "skipped"
|
|
152
|
-
|
|
153
|
-
: stateColor;
|
|
154
|
-
const glyph = taskGlyph(task);
|
|
155
|
-
const bg = active || (state === "in_progress" && !task.responderOwned)
|
|
104
|
+
const titleColor = task.state === "pending" || task.state === "skipped" ? theme.foreground : stateColor;
|
|
105
|
+
const bg = active || (task.state === "in_progress" && !task.responderOwned)
|
|
156
106
|
? theme.rowA
|
|
157
|
-
: index % 2 === 0
|
|
158
|
-
? theme.rowB
|
|
159
|
-
: theme.statusBackground;
|
|
107
|
+
: index % 2 === 0 ? theme.rowB : theme.statusBackground;
|
|
160
108
|
const ownerChip = taskOwnerChip(task);
|
|
161
|
-
const title = `${task.parentTaskId ? "↳ " : ""}`
|
|
162
|
-
|
|
163
|
-
const
|
|
164
|
-
const
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
const
|
|
173
|
-
|
|
174
|
-
? TextAttributes.BOLD
|
|
175
|
-
: TextAttributes.NONE;
|
|
176
|
-
return (_jsxs("box", { id: `plan-task-${task.id}`, style: {
|
|
177
|
-
flexDirection: "column",
|
|
178
|
-
width: "100%",
|
|
179
|
-
flexShrink: 0,
|
|
180
|
-
}, children: [_jsxs("box", { style: {
|
|
181
|
-
flexDirection: "row",
|
|
182
|
-
width: "100%",
|
|
183
|
-
flexShrink: 0,
|
|
184
|
-
alignItems: "stretch",
|
|
185
|
-
backgroundColor: bg,
|
|
186
|
-
}, children: [_jsx("box", { style: {
|
|
187
|
-
width: 1,
|
|
188
|
-
flexShrink: 0,
|
|
189
|
-
alignSelf: "stretch",
|
|
190
|
-
backgroundColor: stateColor,
|
|
191
|
-
minHeight: 1,
|
|
192
|
-
} }), _jsxs("box", { style: {
|
|
193
|
-
flexDirection: "column",
|
|
194
|
-
flexGrow: 1,
|
|
195
|
-
flexShrink: 1,
|
|
196
|
-
minWidth: 0,
|
|
197
|
-
justifyContent: "center",
|
|
198
|
-
paddingLeft: 1,
|
|
199
|
-
paddingRight: 1,
|
|
200
|
-
paddingTop: 1,
|
|
201
|
-
paddingBottom: 1,
|
|
202
|
-
backgroundColor: bg,
|
|
203
|
-
}, children: [_jsx("text", { content: `${glyph} ${firstTitle}`, style: {
|
|
204
|
-
fg: titleColor,
|
|
205
|
-
bg,
|
|
206
|
-
height: 1,
|
|
207
|
-
attributes: titleAttributes,
|
|
208
|
-
} }), titleLines.slice(1).map((line, i) => (_jsx("text", { content: ` ${line}`, style: {
|
|
209
|
-
fg: titleColor,
|
|
210
|
-
bg,
|
|
211
|
-
height: 1,
|
|
212
|
-
attributes: titleAttributes,
|
|
213
|
-
} }, `t-${task.id}-${i}`))), noteLines.map((line, i) => (_jsx("text", { content: line, style: {
|
|
214
|
-
fg: theme.muted,
|
|
215
|
-
bg,
|
|
216
|
-
height: 1,
|
|
217
|
-
attributes: TextAttributes.DIM,
|
|
218
|
-
} }, `n-${task.id}-${i}`)))] })] }), _jsx("text", { content: " ", style: { bg: theme.statusBackground, height: 1, width: "100%" } })] }));
|
|
109
|
+
const title = `${task.parentTaskId ? "↳ " : ""}${ownerChip ? `[${ownerChip}] ` : ""}${cleanTaskTitle(task)}`;
|
|
110
|
+
const expandable = hasTaskDetails(task);
|
|
111
|
+
const titleLines = wrapTaskDisclosureTitle(title, width, expandable);
|
|
112
|
+
const titleAttributes = task.state === "in_progress" || active ? TextAttributes.BOLD : TextAttributes.NONE;
|
|
113
|
+
return (_jsxs("box", { id: `plan-task-${task.id}`, style: { flexDirection: "column", width: "100%", flexShrink: 0 }, children: [_jsxs("box", { style: { flexDirection: "row", width: "100%", flexShrink: 0, alignItems: "stretch", backgroundColor: bg }, children: [_jsx("box", { style: { width: 1, flexShrink: 0, alignSelf: "stretch", backgroundColor: stateColor, minHeight: 1 } }), _jsxs("box", { style: { flexDirection: "column", flexGrow: 1, flexShrink: 1, minWidth: 0, justifyContent: "center", paddingLeft: 1, paddingRight: 1, paddingTop: 1, paddingBottom: 1, backgroundColor: bg }, children: [_jsx("task-title", { id: `plan-task-${task.id}-header`, style: { flexDirection: "column", width: "100%", flexShrink: 0 }, children: titleLines.map((line, lineIndex) => {
|
|
114
|
+
const last = lineIndex === titleLines.length - 1;
|
|
115
|
+
return (_jsxs("box", { style: { flexDirection: "row", flexShrink: 0 }, children: [_jsx("text", { selectable: false, id: `plan-task-${task.id}-title-${last ? "end" : lineIndex}`, wrapMode: "none", content: `${lineIndex === 0 ? taskGlyph(task) : " "} ${line}`, style: { fg: titleColor, bg, height: 1, flexShrink: 0, attributes: titleAttributes } }), last && expandable ? (_jsxs(_Fragment, { children: [_jsx("text", { selectable: false, content: " ", style: { bg, height: 1, flexShrink: 0 } }), _jsx(TaskDisclosureButton, { taskId: task.id, theme: theme, bg: bg, selected: selected, expanded: expanded, onToggle: onToggle })] })) : null] }, `title-${lineIndex}`));
|
|
116
|
+
}) }), expanded && expandable ? _jsx(TaskDetails, { task: task, theme: theme, width: Math.max(1, width - 6), bg: bg }) : null] })] }), _jsx("text", { selectable: false, content: " ", style: { bg: theme.statusBackground, height: 1, width: "100%" } })] }));
|
|
117
|
+
});
|
|
118
|
+
function TaskDetails(props) {
|
|
119
|
+
const { task, theme, width, bg } = props;
|
|
120
|
+
const lines = useMemo(() => wrapPlanText(taskDetailText(task), width), [task, width]);
|
|
121
|
+
return (_jsx("box", { id: `plan-task-${task.id}-details`, style: { flexDirection: "column", flexShrink: 0, width: "100%" }, children: lines.map((line, index) => _jsx("text", { selectable: false, content: line, style: { fg: theme.muted, bg, height: 1, attributes: TextAttributes.DIM } }, `body-${index}`)) }));
|
|
219
122
|
}
|
|
220
123
|
export const PlanView = memo(PlanViewImpl);
|
|
221
124
|
//# sourceMappingURL=plan-view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-view.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/plan/plan-view.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan-view.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/plan/plan-view.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BoxRenderable } from "@opentui/core";
|
|
2
|
+
export declare class TaskTitleRenderable extends BoxRenderable {
|
|
3
|
+
protected _getVisibleChildren(): number[];
|
|
4
|
+
}
|
|
5
|
+
declare module "@opentui/react" {
|
|
6
|
+
interface OpenTUIComponents {
|
|
7
|
+
"task-title": typeof TaskTitleRenderable;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BoxRenderable, ScrollBoxRenderable } from "@opentui/core";
|
|
2
|
+
import { extend } from "@opentui/react";
|
|
3
|
+
export class TaskTitleRenderable extends BoxRenderable {
|
|
4
|
+
_getVisibleChildren() {
|
|
5
|
+
let ancestor = this.parent;
|
|
6
|
+
while (ancestor && !(ancestor instanceof ScrollBoxRenderable))
|
|
7
|
+
ancestor = ancestor.parent;
|
|
8
|
+
if (!ancestor)
|
|
9
|
+
return super._getVisibleChildren();
|
|
10
|
+
const viewport = ancestor.viewport;
|
|
11
|
+
const fits = this.height <= viewport.height;
|
|
12
|
+
const clipped = this.y < viewport.y || this.y + this.height > viewport.y + viewport.height;
|
|
13
|
+
return fits && clipped ? [] : super._getVisibleChildren();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
extend({ "task-title": TaskTitleRenderable });
|
|
17
|
+
//# sourceMappingURL=task-title.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-title.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/plan/task-title.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAmB,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IACjC,mBAAmB;QACpC,IAAI,QAAQ,GAAsB,IAAI,CAAC,MAAM,CAAC;QAC9C,OAAO,QAAQ,IAAI,CAAC,CAAC,QAAQ,YAAY,mBAAmB,CAAC;YAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC1F,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC3F,OAAO,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;IAC5D,CAAC;CACF;AAQD,MAAM,CAAC,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type Dispatch, type Ref, type RefObject, type SetStateAction } from "react";
|
|
2
|
+
import type { ScrollBoxRenderable } from "@opentui/core";
|
|
3
|
+
import type { PlanTask, SessionPlan } from "../../../store/plan.js";
|
|
4
|
+
import { type TaskDisclosureState } from "../../../ui-core/rendering/task-disclosure.js";
|
|
5
|
+
import type { PlanInteractionPort } from "./plan-interaction.js";
|
|
6
|
+
export interface TaskDisclosureBinding {
|
|
7
|
+
readonly state: TaskDisclosureState;
|
|
8
|
+
readonly tasks: readonly PlanTask[];
|
|
9
|
+
readonly setState: Dispatch<SetStateAction<TaskDisclosureState>>;
|
|
10
|
+
}
|
|
11
|
+
export declare function useTaskDisclosureBinding(plan: SessionPlan | undefined, inherited?: TaskDisclosureBinding): TaskDisclosureBinding;
|
|
12
|
+
export declare function revealTaskHeader(scroll: ScrollBoxRenderable | null, taskId: string): void;
|
|
13
|
+
export declare function useTaskDisclosure(plan: SessionPlan | undefined, scrollRef: RefObject<ScrollBoxRenderable | null>, interactionRef: Ref<PlanInteractionPort> | undefined, inherited?: TaskDisclosureBinding): {
|
|
14
|
+
tasks: readonly PlanTask[];
|
|
15
|
+
expanded: ReadonlySet<string>;
|
|
16
|
+
selectedId: string | undefined;
|
|
17
|
+
keyboardFocusVisible: boolean;
|
|
18
|
+
summary: {
|
|
19
|
+
readonly total: number;
|
|
20
|
+
readonly expanded: number;
|
|
21
|
+
};
|
|
22
|
+
toggleTask: (id: string) => void;
|
|
23
|
+
setAllExpanded: (expanded: boolean, keyboardFocusVisible?: boolean) => void;
|
|
24
|
+
hideKeyboardFocus: () => void;
|
|
25
|
+
};
|