@termaxjs/web-core 0.1.1

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.
Files changed (226) hide show
  1. package/LICENSE +201 -0
  2. package/dist/block/blockRange.d.ts +11 -0
  3. package/dist/block/blockRange.d.ts.map +1 -0
  4. package/dist/block/blockRange.js +16 -0
  5. package/dist/block/blockRange.js.map +1 -0
  6. package/dist/block/modeMachine.d.ts +18 -0
  7. package/dist/block/modeMachine.d.ts.map +1 -0
  8. package/dist/block/modeMachine.js +21 -0
  9. package/dist/block/modeMachine.js.map +1 -0
  10. package/dist/cursorBlink.d.ts +2 -0
  11. package/dist/cursorBlink.d.ts.map +1 -0
  12. package/dist/cursorBlink.js +4 -0
  13. package/dist/cursorBlink.js.map +1 -0
  14. package/dist/explorer/HeadlessFileTree.d.ts +27 -0
  15. package/dist/explorer/HeadlessFileTree.d.ts.map +1 -0
  16. package/dist/explorer/HeadlessFileTree.js +147 -0
  17. package/dist/explorer/HeadlessFileTree.js.map +1 -0
  18. package/dist/explorer/expansionCache.d.ts +4 -0
  19. package/dist/explorer/expansionCache.d.ts.map +1 -0
  20. package/dist/explorer/expansionCache.js +26 -0
  21. package/dist/explorer/expansionCache.js.map +1 -0
  22. package/dist/explorer/index.d.ts +5 -0
  23. package/dist/explorer/index.d.ts.map +1 -0
  24. package/dist/explorer/index.js +5 -0
  25. package/dist/explorer/index.js.map +1 -0
  26. package/dist/explorer/pathUtils.d.ts +5 -0
  27. package/dist/explorer/pathUtils.d.ts.map +1 -0
  28. package/dist/explorer/pathUtils.js +19 -0
  29. package/dist/explorer/pathUtils.js.map +1 -0
  30. package/dist/explorer/types.d.ts +65 -0
  31. package/dist/explorer/types.d.ts.map +1 -0
  32. package/dist/explorer/types.js +2 -0
  33. package/dist/explorer/types.js.map +1 -0
  34. package/dist/git/HeadlessGitGraph.d.ts +39 -0
  35. package/dist/git/HeadlessGitGraph.d.ts.map +1 -0
  36. package/dist/git/HeadlessGitGraph.js +81 -0
  37. package/dist/git/HeadlessGitGraph.js.map +1 -0
  38. package/dist/images/KittyGraphicsParser.d.ts +24 -0
  39. package/dist/images/KittyGraphicsParser.d.ts.map +1 -0
  40. package/dist/images/KittyGraphicsParser.js +87 -0
  41. package/dist/images/KittyGraphicsParser.js.map +1 -0
  42. package/dist/images/SixelDecoder.d.ts +9 -0
  43. package/dist/images/SixelDecoder.d.ts.map +1 -0
  44. package/dist/images/SixelDecoder.js +110 -0
  45. package/dist/images/SixelDecoder.js.map +1 -0
  46. package/dist/index.d.ts +25 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +25 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/keymap.d.ts +9 -0
  51. package/dist/keymap.d.ts.map +1 -0
  52. package/dist/keymap.js +62 -0
  53. package/dist/keymap.js.map +1 -0
  54. package/dist/layout/HeadlessFloatingManager.d.ts +18 -0
  55. package/dist/layout/HeadlessFloatingManager.d.ts.map +1 -0
  56. package/dist/layout/HeadlessFloatingManager.js +41 -0
  57. package/dist/layout/HeadlessFloatingManager.js.map +1 -0
  58. package/dist/layout/HeadlessPaneTree.d.ts +27 -0
  59. package/dist/layout/HeadlessPaneTree.d.ts.map +1 -0
  60. package/dist/layout/HeadlessPaneTree.js +117 -0
  61. package/dist/layout/HeadlessPaneTree.js.map +1 -0
  62. package/dist/layout/PaneGeometry.d.ts +17 -0
  63. package/dist/layout/PaneGeometry.d.ts.map +1 -0
  64. package/dist/layout/PaneGeometry.js +27 -0
  65. package/dist/layout/PaneGeometry.js.map +1 -0
  66. package/dist/layout/index.d.ts +9 -0
  67. package/dist/layout/index.d.ts.map +1 -0
  68. package/dist/layout/index.js +12 -0
  69. package/dist/layout/index.js.map +1 -0
  70. package/dist/layout/paneTree.d.ts +39 -0
  71. package/dist/layout/paneTree.d.ts.map +1 -0
  72. package/dist/layout/paneTree.js +215 -0
  73. package/dist/layout/paneTree.js.map +1 -0
  74. package/dist/layout/storeUtils.d.ts +23 -0
  75. package/dist/layout/storeUtils.d.ts.map +1 -0
  76. package/dist/layout/storeUtils.js +9 -0
  77. package/dist/layout/storeUtils.js.map +1 -0
  78. package/dist/layout/tabsActions.d.ts +72 -0
  79. package/dist/layout/tabsActions.d.ts.map +1 -0
  80. package/dist/layout/tabsActions.js +975 -0
  81. package/dist/layout/tabsActions.js.map +1 -0
  82. package/dist/layout/tabsStore.d.ts +43 -0
  83. package/dist/layout/tabsStore.d.ts.map +1 -0
  84. package/dist/layout/tabsStore.js +69 -0
  85. package/dist/layout/tabsStore.js.map +1 -0
  86. package/dist/layout/types.d.ts +114 -0
  87. package/dist/layout/types.d.ts.map +1 -0
  88. package/dist/layout/types.js +2 -0
  89. package/dist/layout/types.js.map +1 -0
  90. package/dist/layout/useTabs.d.ts +55 -0
  91. package/dist/layout/useTabs.d.ts.map +1 -0
  92. package/dist/layout/useTabs.js +116 -0
  93. package/dist/layout/useTabs.js.map +1 -0
  94. package/dist/lsp/client.d.ts +16 -0
  95. package/dist/lsp/client.d.ts.map +1 -0
  96. package/dist/lsp/client.js +125 -0
  97. package/dist/lsp/client.js.map +1 -0
  98. package/dist/lsp/index.d.ts +3 -0
  99. package/dist/lsp/index.d.ts.map +1 -0
  100. package/dist/lsp/index.js +3 -0
  101. package/dist/lsp/index.js.map +1 -0
  102. package/dist/lsp/types.d.ts +44 -0
  103. package/dist/lsp/types.d.ts.map +1 -0
  104. package/dist/lsp/types.js +2 -0
  105. package/dist/lsp/types.js.map +1 -0
  106. package/dist/palette/HeadlessCommandPalette.d.ts +21 -0
  107. package/dist/palette/HeadlessCommandPalette.d.ts.map +1 -0
  108. package/dist/palette/HeadlessCommandPalette.js +48 -0
  109. package/dist/palette/HeadlessCommandPalette.js.map +1 -0
  110. package/dist/parser/VtEngine.d.ts +87 -0
  111. package/dist/parser/VtEngine.d.ts.map +1 -0
  112. package/dist/parser/VtEngine.js +1206 -0
  113. package/dist/parser/VtEngine.js.map +1 -0
  114. package/dist/parser/index.d.ts +2 -0
  115. package/dist/parser/index.d.ts.map +1 -0
  116. package/dist/parser/index.js +2 -0
  117. package/dist/parser/index.js.map +1 -0
  118. package/dist/protocol.d.ts +3 -0
  119. package/dist/protocol.d.ts.map +1 -0
  120. package/dist/protocol.js +94 -0
  121. package/dist/protocol.js.map +1 -0
  122. package/dist/settings/EditorSchema.d.ts +3 -0
  123. package/dist/settings/EditorSchema.d.ts.map +1 -0
  124. package/dist/settings/EditorSchema.js +78 -0
  125. package/dist/settings/EditorSchema.js.map +1 -0
  126. package/dist/settings/GeneralSchema.d.ts +3 -0
  127. package/dist/settings/GeneralSchema.d.ts.map +1 -0
  128. package/dist/settings/GeneralSchema.js +87 -0
  129. package/dist/settings/GeneralSchema.js.map +1 -0
  130. package/dist/settings/TerminalSchema.d.ts +3 -0
  131. package/dist/settings/TerminalSchema.d.ts.map +1 -0
  132. package/dist/settings/TerminalSchema.js +196 -0
  133. package/dist/settings/TerminalSchema.js.map +1 -0
  134. package/dist/settings/UiCustomizationSchema.d.ts +3 -0
  135. package/dist/settings/UiCustomizationSchema.d.ts.map +1 -0
  136. package/dist/settings/UiCustomizationSchema.js +85 -0
  137. package/dist/settings/UiCustomizationSchema.js.map +1 -0
  138. package/dist/settings/constants.d.ts +6 -0
  139. package/dist/settings/constants.d.ts.map +1 -0
  140. package/dist/settings/constants.js +27 -0
  141. package/dist/settings/constants.js.map +1 -0
  142. package/dist/settings/index.d.ts +7 -0
  143. package/dist/settings/index.d.ts.map +1 -0
  144. package/dist/settings/index.js +7 -0
  145. package/dist/settings/index.js.map +1 -0
  146. package/dist/settings/types.d.ts +34 -0
  147. package/dist/settings/types.d.ts.map +1 -0
  148. package/dist/settings/types.js +2 -0
  149. package/dist/settings/types.js.map +1 -0
  150. package/dist/spaces/HeadlessSpaces.d.ts +31 -0
  151. package/dist/spaces/HeadlessSpaces.d.ts.map +1 -0
  152. package/dist/spaces/HeadlessSpaces.js +48 -0
  153. package/dist/spaces/HeadlessSpaces.js.map +1 -0
  154. package/dist/theme/applyTheme.d.ts +4 -0
  155. package/dist/theme/applyTheme.d.ts.map +1 -0
  156. package/dist/theme/applyTheme.js +130 -0
  157. package/dist/theme/applyTheme.js.map +1 -0
  158. package/dist/theme/index.d.ts +3 -0
  159. package/dist/theme/index.d.ts.map +1 -0
  160. package/dist/theme/index.js +3 -0
  161. package/dist/theme/index.js.map +1 -0
  162. package/dist/theme/validateTheme.d.ts +10 -0
  163. package/dist/theme/validateTheme.d.ts.map +1 -0
  164. package/dist/theme/validateTheme.js +158 -0
  165. package/dist/theme/validateTheme.js.map +1 -0
  166. package/dist/theme.d.ts +12 -0
  167. package/dist/theme.d.ts.map +1 -0
  168. package/dist/theme.js +32 -0
  169. package/dist/theme.js.map +1 -0
  170. package/dist/themes/caffeine.d.ts +3 -0
  171. package/dist/themes/caffeine.d.ts.map +1 -0
  172. package/dist/themes/caffeine.js +121 -0
  173. package/dist/themes/caffeine.js.map +1 -0
  174. package/dist/themes/catppuccin.d.ts +3 -0
  175. package/dist/themes/catppuccin.d.ts.map +1 -0
  176. package/dist/themes/catppuccin.js +119 -0
  177. package/dist/themes/catppuccin.js.map +1 -0
  178. package/dist/themes/claude.d.ts +3 -0
  179. package/dist/themes/claude.d.ts.map +1 -0
  180. package/dist/themes/claude.js +121 -0
  181. package/dist/themes/claude.js.map +1 -0
  182. package/dist/themes/gruvbox.d.ts +3 -0
  183. package/dist/themes/gruvbox.d.ts.map +1 -0
  184. package/dist/themes/gruvbox.js +119 -0
  185. package/dist/themes/gruvbox.js.map +1 -0
  186. package/dist/themes/index.d.ts +16 -0
  187. package/dist/themes/index.d.ts.map +1 -0
  188. package/dist/themes/index.js +45 -0
  189. package/dist/themes/index.js.map +1 -0
  190. package/dist/themes/nord.d.ts +3 -0
  191. package/dist/themes/nord.d.ts.map +1 -0
  192. package/dist/themes/nord.js +103 -0
  193. package/dist/themes/nord.js.map +1 -0
  194. package/dist/themes/rose-pine.d.ts +3 -0
  195. package/dist/themes/rose-pine.d.ts.map +1 -0
  196. package/dist/themes/rose-pine.js +119 -0
  197. package/dist/themes/rose-pine.js.map +1 -0
  198. package/dist/themes/sage.d.ts +3 -0
  199. package/dist/themes/sage.d.ts.map +1 -0
  200. package/dist/themes/sage.js +121 -0
  201. package/dist/themes/sage.js.map +1 -0
  202. package/dist/themes/termax-default.d.ts +3 -0
  203. package/dist/themes/termax-default.d.ts.map +1 -0
  204. package/dist/themes/termax-default.js +119 -0
  205. package/dist/themes/termax-default.js.map +1 -0
  206. package/dist/themes/tide.d.ts +3 -0
  207. package/dist/themes/tide.d.ts.map +1 -0
  208. package/dist/themes/tide.js +121 -0
  209. package/dist/themes/tide.js.map +1 -0
  210. package/dist/themes/tokyo-night.d.ts +3 -0
  211. package/dist/themes/tokyo-night.d.ts.map +1 -0
  212. package/dist/themes/tokyo-night.js +64 -0
  213. package/dist/themes/tokyo-night.js.map +1 -0
  214. package/dist/themes/types.d.ts +75 -0
  215. package/dist/themes/types.d.ts.map +1 -0
  216. package/dist/themes/types.js +2 -0
  217. package/dist/themes/types.js.map +1 -0
  218. package/dist/types.d.ts +217 -0
  219. package/dist/types.d.ts.map +1 -0
  220. package/dist/types.js +16 -0
  221. package/dist/types.js.map +1 -0
  222. package/dist/utils/shellQuote.d.ts +3 -0
  223. package/dist/utils/shellQuote.d.ts.map +1 -0
  224. package/dist/utils/shellQuote.js +12 -0
  225. package/dist/utils/shellQuote.js.map +1 -0
  226. package/package.json +69 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabsActions.js","sourceRoot":"","sources":["../../src/layout/tabsActions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { Tab } from "./types.js";
2
+ export declare const DEFAULT_SPACE_ID = "default";
3
+ /** No tab is active in the current space (e.g. an empty space). */
4
+ export declare const NO_ACTIVE_TAB = -1;
5
+ type State = {
6
+ tabs: Tab[];
7
+ /**
8
+ * Derived mirror of the *current* space's active tab (or NO_ACTIVE_TAB when
9
+ * the active space is empty). Read by the ~40 components that compare
10
+ * `t.id === activeId`. Kept in sync with `activeBySpace` by the actions below;
11
+ * never write it directly — go through `setActiveId`/`setActiveSpaceId`.
12
+ */
13
+ activeId: number;
14
+ /** Source of truth: the active tab id remembered per space. */
15
+ activeBySpace: Record<string, number>;
16
+ booted: boolean;
17
+ nextId: number;
18
+ activeSpaceId: string;
19
+ allocId: () => number;
20
+ markBooted: () => void;
21
+ setActiveId: (id: number | ((curr: number) => number)) => void;
22
+ setActiveSpaceId: (id: string) => void;
23
+ setTabs: (updater: Tab[] | ((curr: Tab[]) => Tab[])) => void;
24
+ };
25
+ export declare const useTabsStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<State>, "setState" | "devtools"> & {
26
+ setState(partial: State | Partial<State> | ((state: State) => State | Partial<State>), replace?: false | undefined, action?: (string | {
27
+ [x: string]: unknown;
28
+ [x: number]: unknown;
29
+ [x: symbol]: unknown;
30
+ type: string;
31
+ }) | undefined): void;
32
+ setState(state: State | ((state: State) => State), replace: true, action?: (string | {
33
+ [x: string]: unknown;
34
+ [x: number]: unknown;
35
+ [x: symbol]: unknown;
36
+ type: string;
37
+ }) | undefined): void;
38
+ devtools: {
39
+ cleanup: () => void;
40
+ };
41
+ }>;
42
+ export {};
43
+ //# sourceMappingURL=tabsStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabsStore.d.ts","sourceRoot":"","sources":["../../src/layout/tabsStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C,mEAAmE;AACnE,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IAGtB,OAAO,EAAE,MAAM,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,KAAK,IAAI,CAAC;IAC/D,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;CAC9D,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;EAiEtB,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { createAppStore } from "./storeUtils.js";
2
+ export const DEFAULT_SPACE_ID = "default";
3
+ /** No tab is active in the current space (e.g. an empty space). */
4
+ export const NO_ACTIVE_TAB = -1;
5
+ export const useTabsStore = createAppStore("tabs", (set, get) => ({
6
+ tabs: [
7
+ {
8
+ id: 1,
9
+ kind: "terminal",
10
+ spaceId: DEFAULT_SPACE_ID,
11
+ cold: true,
12
+ title: "shell",
13
+ paneTree: { kind: "leaf", id: 2 },
14
+ activeLeafId: 2,
15
+ },
16
+ ],
17
+ activeId: 1,
18
+ activeBySpace: { [DEFAULT_SPACE_ID]: 1 },
19
+ booted: false,
20
+ nextId: 3,
21
+ activeSpaceId: DEFAULT_SPACE_ID,
22
+ allocId: () => {
23
+ const id = get().nextId;
24
+ set({ nextId: id + 1 });
25
+ return id;
26
+ },
27
+ markBooted: () => set({ booted: true }),
28
+ setActiveId: (idOrUpdater) => {
29
+ const state = get();
30
+ const id = typeof idOrUpdater === "function"
31
+ ? idOrUpdater(state.activeId)
32
+ : idOrUpdater;
33
+ // Route the id to its owning space so each space remembers its own active
34
+ // tab. Ids not in the list (e.g. NO_ACTIVE_TAB) belong to the current space.
35
+ const spaceId = state.tabs.find((t) => t.id === id)?.spaceId ?? state.activeSpaceId;
36
+ const activeBySpace = { ...state.activeBySpace, [spaceId]: id };
37
+ // The mirror only tracks the space currently on screen.
38
+ if (spaceId === state.activeSpaceId)
39
+ set({ activeBySpace, activeId: id });
40
+ else
41
+ set({ activeBySpace });
42
+ },
43
+ setActiveSpaceId: (activeSpaceId) => {
44
+ const state = get();
45
+ // Restore the space's remembered tab; fall back to its first tab, else
46
+ // NO_ACTIVE_TAB (empty space).
47
+ const remembered = state.activeBySpace[activeSpaceId];
48
+ const activeId = remembered != null && state.tabs.some((t) => t.id === remembered)
49
+ ? remembered
50
+ : (state.tabs.find((t) => t.spaceId === activeSpaceId)?.id ??
51
+ NO_ACTIVE_TAB);
52
+ set({
53
+ activeSpaceId,
54
+ activeId,
55
+ activeBySpace: activeId === NO_ACTIVE_TAB
56
+ ? state.activeBySpace
57
+ : { ...state.activeBySpace, [activeSpaceId]: activeId },
58
+ });
59
+ },
60
+ setTabs: (updater) => {
61
+ if (typeof updater === "function") {
62
+ set({ tabs: updater(get().tabs) });
63
+ }
64
+ else {
65
+ set({ tabs: updater });
66
+ }
67
+ },
68
+ }));
69
+ //# sourceMappingURL=tabsStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabsStore.js","sourceRoot":"","sources":["../../src/layout/tabsStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ import type { TermaxPaneNode as PaneNode } from "./paneTree.js";
2
+ export type TabBase = {
3
+ spaceId: string;
4
+ /** Restored from disk, not yet activated: rendered as a placeholder, not mounted. */
5
+ cold?: boolean;
6
+ /** Optional color for the tab (e.g. hex code or theme var) */
7
+ color?: string;
8
+ };
9
+ export type TerminalTab = TabBase & {
10
+ id: number;
11
+ kind: "terminal";
12
+ title: string;
13
+ cwd?: string;
14
+ paneTree: PaneNode;
15
+ activeLeafId: number;
16
+ blocks?: boolean;
17
+ /** AI agent cannot read buffer / context of this terminal. */
18
+ private?: boolean;
19
+ /** User-set label that overrides the cwd-derived name. Survives cd. */
20
+ customTitle?: string;
21
+ /** Dynamically set by OSC title sequences from the running process. */
22
+ dynamicTitle?: string;
23
+ /** True when the terminal has signaled a bell. */
24
+ alert?: boolean;
25
+ /** True when the terminal command is idle/waiting for input. */
26
+ interaction?: boolean;
27
+ /** True when a command has been executing for over 30 seconds. */
28
+ longRunning?: boolean;
29
+ /** Custom badge text rendered as a watermark in the terminal pane. */
30
+ badge?: string;
31
+ };
32
+ export type EditorTab = TabBase & {
33
+ id: number;
34
+ kind: "editor";
35
+ title: string;
36
+ path: string;
37
+ dirty: boolean;
38
+ gotoLine?: number;
39
+ /**
40
+ * True while the tab is in the transient "preview" state — opened by a
41
+ * single-click in the explorer and not yet pinned by the user. A preview tab
42
+ * is replaced by the next single-click rather than accumulating.
43
+ */
44
+ preview: boolean;
45
+ };
46
+ export type PreviewTab = TabBase & {
47
+ id: number;
48
+ kind: "preview";
49
+ title: string;
50
+ url: string;
51
+ };
52
+ export type MarkdownTab = TabBase & {
53
+ id: number;
54
+ kind: "markdown";
55
+ title: string;
56
+ path: string;
57
+ };
58
+ export type AiDiffStatus = "pending" | "approved" | "rejected";
59
+ export type AiDiffTab = TabBase & {
60
+ id: number;
61
+ kind: "ai-diff";
62
+ title: string;
63
+ path: string;
64
+ /** "" for newly created files. */
65
+ originalContent: string;
66
+ proposedContent: string;
67
+ /** Tool-call approval id used to resolve the AI SDK approval. */
68
+ approvalId: string;
69
+ status: AiDiffStatus;
70
+ isNewFile: boolean;
71
+ };
72
+ export type GitDiffTab = TabBase & {
73
+ id: number;
74
+ kind: "git-diff";
75
+ title: string;
76
+ path: string;
77
+ repoRoot: string;
78
+ mode: "-" | "+";
79
+ originalPath: string | null;
80
+ };
81
+ export type GitHistoryTab = TabBase & {
82
+ id: number;
83
+ kind: "git-history";
84
+ title: string;
85
+ repoRoot: string;
86
+ };
87
+ export type GitCommitFileDiffTab = TabBase & {
88
+ id: number;
89
+ kind: "git-commit-file";
90
+ title: string;
91
+ repoRoot: string;
92
+ sha: string;
93
+ shortSha: string;
94
+ subject: string;
95
+ path: string;
96
+ originalPath: string | null;
97
+ };
98
+ export type Tab = TerminalTab | EditorTab | PreviewTab | MarkdownTab | AiDiffTab | GitDiffTab | GitHistoryTab | GitCommitFileDiffTab;
99
+ export type TabPatch = Partial<{
100
+ title: string;
101
+ cwd: string;
102
+ path: string;
103
+ dirty: boolean;
104
+ url: string;
105
+ /** Empty string resets a terminal tab to its cwd-derived name. */
106
+ customTitle: string;
107
+ dynamicTitle: string;
108
+ alert: boolean;
109
+ interaction: boolean;
110
+ longRunning: boolean;
111
+ color: string | undefined;
112
+ badge: string | undefined;
113
+ }>;
114
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/layout/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/layout/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,55 @@
1
+ export declare const MAX_PANES_PER_TAB = 4;
2
+ import type { AiDiffStatus, AiDiffTab, EditorTab, GitCommitFileDiffTab, GitDiffTab, GitHistoryTab, MarkdownTab, PreviewTab, Tab, TabPatch, TerminalTab } from "./types.js";
3
+ export type { AiDiffStatus, AiDiffTab, EditorTab, GitCommitFileDiffTab, GitDiffTab, GitHistoryTab, MarkdownTab, PreviewTab, Tab, TabPatch, TerminalTab, };
4
+ import { closeActivePane, closeAiDiffTab, closePaneByLeaf, closeOtherPanes, extractPaneToTab, unsplitAllPanesToTabs, closeTab, copyTabToSpace, focusNextPaneInTab, focusPane, mergeTabIntoPane, movePane, moveTabToSpace, newAgentTab, newBlockTab, newMarkdownTab, newPreviewTab, newPrivateTab, newTabInSpace, openAiDiffTab, openCommitFileDiffTab, openCommitHistoryTab, openFileTab, openGitDiffTab, pinTab, removeTabsForSpace, reorderTab, replaceTabs, resetWorkspace, selectByIndex, setActiveSpaceForNewTabs, setAiDiffStatus, setLeafCwd, splitActivePane, splitPaneDirectly, splitPaneWithEditor, swapPanes, updateTab } from "./tabsActions.js";
5
+ import { DEFAULT_SPACE_ID } from "./tabsStore.js";
6
+ export { DEFAULT_SPACE_ID };
7
+ export declare function nextActiveInSpace(tabs: Tab[], closingId: number): number | null;
8
+ export declare function useTabs(_initial?: Partial<TerminalTab>): {
9
+ tabs: Tab[];
10
+ activeId: number;
11
+ setActiveId: (id: number | ((curr: number) => number)) => void;
12
+ allocId: () => number;
13
+ replaceTabs: typeof replaceTabs;
14
+ moveTabToSpace: typeof moveTabToSpace;
15
+ copyTabToSpace: typeof copyTabToSpace;
16
+ reorderTab: typeof reorderTab;
17
+ newTabInSpace: typeof newTabInSpace;
18
+ addTabs: (newTabs: Tab[]) => void;
19
+ removeTabsForSpace: typeof removeTabsForSpace;
20
+ markBooted: () => void;
21
+ setActiveSpaceForNewTabs: typeof setActiveSpaceForNewTabs;
22
+ newTab: (cwd?: string, command?: string[], title?: string) => number;
23
+ newBlockTab: typeof newBlockTab;
24
+ newAgentTab: typeof newAgentTab;
25
+ newPrivateTab: typeof newPrivateTab;
26
+ openFileTab: typeof openFileTab;
27
+ pinTab: typeof pinTab;
28
+ newPreviewTab: typeof newPreviewTab;
29
+ newMarkdownTab: typeof newMarkdownTab;
30
+ openAiDiffTab: typeof openAiDiffTab;
31
+ openGitDiffTab: typeof openGitDiffTab;
32
+ openCommitHistoryTab: typeof openCommitHistoryTab;
33
+ openCommitFileDiffTab: typeof openCommitFileDiffTab;
34
+ setAiDiffStatus: typeof setAiDiffStatus;
35
+ closeAiDiffTab: typeof closeAiDiffTab;
36
+ closeTab: typeof closeTab;
37
+ updateTab: typeof updateTab;
38
+ selectByIndex: typeof selectByIndex;
39
+ setLeafCwd: typeof setLeafCwd;
40
+ focusPane: typeof focusPane;
41
+ focusNextPaneInTab: typeof focusNextPaneInTab;
42
+ splitActivePane: typeof splitActivePane;
43
+ splitPaneDirectly: typeof splitPaneDirectly;
44
+ splitPaneWithEditor: typeof splitPaneWithEditor;
45
+ mergeTabIntoPane: typeof mergeTabIntoPane;
46
+ swapPanes: typeof swapPanes;
47
+ movePane: typeof movePane;
48
+ closeActivePane: typeof closeActivePane;
49
+ closePaneByLeaf: typeof closePaneByLeaf;
50
+ closeOtherPanes: typeof closeOtherPanes;
51
+ extractPaneToTab: typeof extractPaneToTab;
52
+ unsplitAllPanesToTabs: typeof unsplitAllPanesToTabs;
53
+ resetWorkspace: typeof resetWorkspace;
54
+ };
55
+ //# sourceMappingURL=useTabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTabs.d.ts","sourceRoot":"","sources":["../../src/layout/useTabs.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACV,GAAG,EACH,QAAQ,EACR,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACV,GAAG,EACH,QAAQ,EACR,WAAW,GACZ,CAAC;AAEF,OAAO,EACL,eAAe,EACf,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,WAAW,EACX,WAAW,EACX,cAAc,EACd,aAAa,EACb,aAAa,EAEb,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,MAAM,EACN,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,eAAe,EACf,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,SAAS,EACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAgB,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAI5B,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,GAAG,EAAE,EACX,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAOf;AAED,wBAAgB,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;;;;;;;;;;uBAoEhC,GAAG,EAAE;;;;mBAIT,MAAM,YAAY,MAAM,EAAE,UAAU,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkC5D"}
@@ -0,0 +1,116 @@
1
+ import { useEffect, useRef } from "react";
2
+ // Matches the renderer slot pool size — over this we'd evict an active leaf.
3
+ export const MAX_PANES_PER_TAB = 4;
4
+ import { closeActivePane, closeAiDiffTab, closePaneByLeaf, closeOtherPanes, extractPaneToTab, unsplitAllPanesToTabs, closeTab, copyTabToSpace, focusNextPaneInTab, focusPane, mergeTabIntoPane, movePane, moveTabToSpace, newAgentTab, newBlockTab, newMarkdownTab, newPreviewTab, newPrivateTab, newTab, newTabInSpace, openAiDiffTab, openCommitFileDiffTab, openCommitHistoryTab, openFileTab, openGitDiffTab, pinTab, removeTabsForSpace, reorderTab, replaceTabs, resetWorkspace, selectByIndex, setActiveSpaceForNewTabs, setAiDiffStatus, setLeafCwd, splitActivePane, splitPaneDirectly, splitPaneWithEditor, swapPanes, updateTab, } from "./tabsActions.js";
5
+ import { DEFAULT_SPACE_ID, useTabsStore } from "./tabsStore.js";
6
+ export { DEFAULT_SPACE_ID };
7
+ // Next active after close, scoped to the closing tab's space. null = last tab of
8
+ // its space, which callers treat as "refuse to close".
9
+ export function nextActiveInSpace(tabs, closingId) {
10
+ const closing = tabs.find((t) => t.id === closingId);
11
+ if (!closing)
12
+ return null;
13
+ const sameSpace = tabs.filter((t) => t.spaceId === closing.spaceId);
14
+ if (sameSpace.length <= 1)
15
+ return null;
16
+ const idx = sameSpace.findIndex((t) => t.id === closingId);
17
+ return (sameSpace[idx - 1] ?? sameSpace[idx + 1]).id;
18
+ }
19
+ export function useTabs(_initial) {
20
+ const tabs = useTabsStore((s) => s.tabs);
21
+ const activeId = useTabsStore((s) => s.activeId);
22
+ const booted = useTabsStore((s) => s.booted);
23
+ const { setTabs, setActiveId, allocId, markBooted, setActiveSpaceId } = useTabsStore.getState();
24
+ // We need to support `initial` argument on first load if it differs.
25
+ // For Phase 1 we will just rely on the default state in store.
26
+ // `useTabs` will be refactored further in later phases to handle `initial` safely.
27
+ // Expose activeSpaceIdRef-like behavior via store:
28
+ const _activeSpaceIdRef = {
29
+ get current() {
30
+ return useTabsStore.getState().activeSpaceId;
31
+ },
32
+ set current(id) {
33
+ useTabsStore.getState().setActiveSpaceId(id);
34
+ },
35
+ };
36
+ const tabsRef = useRef(tabs);
37
+ const activeIdRef = useRef(activeId);
38
+ useEffect(() => {
39
+ tabsRef.current = tabs;
40
+ }, [tabs]);
41
+ useEffect(() => {
42
+ activeIdRef.current = activeId;
43
+ }, [activeId]);
44
+ // Activating a cold tab warms it: one choke point for every activation path.
45
+ // Also clears the alert flag if it's set.
46
+ useEffect(() => {
47
+ if (!booted)
48
+ return;
49
+ setTabs((curr) => {
50
+ const t = curr.find((x) => x.id === activeId);
51
+ if (!t?.cold &&
52
+ !(t && t.kind === "terminal" && (t.alert || t.interaction)))
53
+ return curr;
54
+ return curr.map((x) => {
55
+ if (x.id !== activeId)
56
+ return x;
57
+ if (x.kind === "terminal")
58
+ return { ...x, cold: false, alert: false, interaction: false };
59
+ return { ...x, cold: false };
60
+ });
61
+ });
62
+ }, [activeId, booted, setTabs]);
63
+ useEffect(() => {
64
+ if (!false || typeof window === "undefined")
65
+ return;
66
+ window.__termaxNewBlockTab = newBlockTab;
67
+ }, []);
68
+ return {
69
+ tabs,
70
+ activeId,
71
+ setActiveId,
72
+ allocId,
73
+ replaceTabs,
74
+ moveTabToSpace,
75
+ copyTabToSpace,
76
+ reorderTab,
77
+ newTabInSpace,
78
+ addTabs: (newTabs) => setTabs((curr) => [...curr, ...newTabs]),
79
+ removeTabsForSpace,
80
+ markBooted,
81
+ setActiveSpaceForNewTabs,
82
+ newTab: (cwd, command, title) => newTab(cwd, command, title),
83
+ newBlockTab,
84
+ newAgentTab,
85
+ newPrivateTab,
86
+ openFileTab,
87
+ pinTab,
88
+ newPreviewTab,
89
+ newMarkdownTab,
90
+ openAiDiffTab,
91
+ openGitDiffTab,
92
+ openCommitHistoryTab,
93
+ openCommitFileDiffTab,
94
+ setAiDiffStatus,
95
+ closeAiDiffTab,
96
+ closeTab,
97
+ updateTab,
98
+ selectByIndex,
99
+ setLeafCwd,
100
+ focusPane,
101
+ focusNextPaneInTab,
102
+ splitActivePane,
103
+ splitPaneDirectly,
104
+ splitPaneWithEditor,
105
+ mergeTabIntoPane,
106
+ swapPanes,
107
+ movePane,
108
+ closeActivePane,
109
+ closePaneByLeaf,
110
+ closeOtherPanes,
111
+ extractPaneToTab,
112
+ unsplitAllPanesToTabs,
113
+ resetWorkspace,
114
+ };
115
+ }
116
+ //# sourceMappingURL=useTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTabs.js","sourceRoot":"","sources":["../../src/layout/useTabs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { LspDiagnostic, LspCompletionItem, LspHoverResult, LspPosition, LspServerDef, ILspTransport } from "./types.js";
2
+ export declare const BUILTIN_LSP_SERVERS: Record<string, LspServerDef>;
3
+ export declare class HeadlessLspClient {
4
+ private transport;
5
+ private activeServers;
6
+ private diagnosticsByUri;
7
+ private listeners;
8
+ constructor(transport: ILspTransport);
9
+ ensureServerForFile(filePath: string, rootUri: string): Promise<string | null>;
10
+ getDiagnostics(uri: string): LspDiagnostic[];
11
+ onDiagnostics(callback: (uri: string, diagnostics: LspDiagnostic[]) => void): () => void;
12
+ getHover(serverId: string, uri: string, position: LspPosition): Promise<LspHoverResult | null>;
13
+ getCompletions(serverId: string, uri: string, position: LspPosition): Promise<LspCompletionItem[]>;
14
+ dispose(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/lsp/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,YAAY,EACZ,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAsC5D,CAAC;AAEF,qBAAa,iBAAiB;IAKhB,OAAO,CAAC,SAAS;IAJ7B,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,gBAAgB,CAAsC;IAC9D,OAAO,CAAC,SAAS,CAAkE;gBAE/D,SAAS,EAAE,aAAa;IAE/B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA6BpF,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE;IAI5C,aAAa,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IAOlF,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAc9F,cAAc,CACzB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,WAAW,GACpB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAmBlB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAOtC"}