gitx.do 0.0.2 → 0.0.3

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 (237) hide show
  1. package/dist/cli/commands/blame.d.ts +259 -0
  2. package/dist/cli/commands/blame.d.ts.map +1 -0
  3. package/dist/cli/commands/blame.js +609 -0
  4. package/dist/cli/commands/blame.js.map +1 -0
  5. package/dist/cli/commands/branch.d.ts +249 -0
  6. package/dist/cli/commands/branch.d.ts.map +1 -0
  7. package/dist/cli/commands/branch.js +693 -0
  8. package/dist/cli/commands/branch.js.map +1 -0
  9. package/dist/cli/commands/commit.d.ts +182 -0
  10. package/dist/cli/commands/commit.d.ts.map +1 -0
  11. package/dist/cli/commands/commit.js +437 -0
  12. package/dist/cli/commands/commit.js.map +1 -0
  13. package/dist/cli/commands/diff.d.ts +464 -0
  14. package/dist/cli/commands/diff.d.ts.map +1 -0
  15. package/dist/cli/commands/diff.js +958 -0
  16. package/dist/cli/commands/diff.js.map +1 -0
  17. package/dist/cli/commands/log.d.ts +239 -0
  18. package/dist/cli/commands/log.d.ts.map +1 -0
  19. package/dist/cli/commands/log.js +535 -0
  20. package/dist/cli/commands/log.js.map +1 -0
  21. package/dist/cli/commands/review.d.ts +457 -0
  22. package/dist/cli/commands/review.d.ts.map +1 -0
  23. package/dist/cli/commands/review.js +533 -0
  24. package/dist/cli/commands/review.js.map +1 -0
  25. package/dist/cli/commands/status.d.ts +269 -0
  26. package/dist/cli/commands/status.d.ts.map +1 -0
  27. package/dist/cli/commands/status.js +493 -0
  28. package/dist/cli/commands/status.js.map +1 -0
  29. package/dist/cli/commands/web.d.ts +199 -0
  30. package/dist/cli/commands/web.d.ts.map +1 -0
  31. package/dist/cli/commands/web.js +696 -0
  32. package/dist/cli/commands/web.js.map +1 -0
  33. package/dist/cli/fs-adapter.d.ts +656 -0
  34. package/dist/cli/fs-adapter.d.ts.map +1 -0
  35. package/dist/cli/fs-adapter.js +1179 -0
  36. package/dist/cli/fs-adapter.js.map +1 -0
  37. package/dist/cli/index.d.ts +387 -0
  38. package/dist/cli/index.d.ts.map +1 -0
  39. package/dist/cli/index.js +523 -0
  40. package/dist/cli/index.js.map +1 -0
  41. package/dist/cli/ui/components/DiffView.d.ts +7 -0
  42. package/dist/cli/ui/components/DiffView.d.ts.map +1 -0
  43. package/dist/cli/ui/components/DiffView.js +11 -0
  44. package/dist/cli/ui/components/DiffView.js.map +1 -0
  45. package/dist/cli/ui/components/ErrorDisplay.d.ts +6 -0
  46. package/dist/cli/ui/components/ErrorDisplay.d.ts.map +1 -0
  47. package/dist/cli/ui/components/ErrorDisplay.js +11 -0
  48. package/dist/cli/ui/components/ErrorDisplay.js.map +1 -0
  49. package/dist/cli/ui/components/FuzzySearch.d.ts +9 -0
  50. package/dist/cli/ui/components/FuzzySearch.d.ts.map +1 -0
  51. package/dist/cli/ui/components/FuzzySearch.js +12 -0
  52. package/dist/cli/ui/components/FuzzySearch.js.map +1 -0
  53. package/dist/cli/ui/components/LoadingSpinner.d.ts +6 -0
  54. package/dist/cli/ui/components/LoadingSpinner.d.ts.map +1 -0
  55. package/dist/cli/ui/components/LoadingSpinner.js +10 -0
  56. package/dist/cli/ui/components/LoadingSpinner.js.map +1 -0
  57. package/dist/cli/ui/components/NavigationList.d.ts +9 -0
  58. package/dist/cli/ui/components/NavigationList.d.ts.map +1 -0
  59. package/dist/cli/ui/components/NavigationList.js +11 -0
  60. package/dist/cli/ui/components/NavigationList.js.map +1 -0
  61. package/dist/cli/ui/components/ScrollableContent.d.ts +8 -0
  62. package/dist/cli/ui/components/ScrollableContent.d.ts.map +1 -0
  63. package/dist/cli/ui/components/ScrollableContent.js +11 -0
  64. package/dist/cli/ui/components/ScrollableContent.js.map +1 -0
  65. package/dist/cli/ui/components/index.d.ts +7 -0
  66. package/dist/cli/ui/components/index.d.ts.map +1 -0
  67. package/dist/cli/ui/components/index.js +9 -0
  68. package/dist/cli/ui/components/index.js.map +1 -0
  69. package/dist/cli/ui/terminal-ui.d.ts +52 -0
  70. package/dist/cli/ui/terminal-ui.d.ts.map +1 -0
  71. package/dist/cli/ui/terminal-ui.js +121 -0
  72. package/dist/cli/ui/terminal-ui.js.map +1 -0
  73. package/dist/durable-object/object-store.d.ts +401 -23
  74. package/dist/durable-object/object-store.d.ts.map +1 -1
  75. package/dist/durable-object/object-store.js +414 -25
  76. package/dist/durable-object/object-store.js.map +1 -1
  77. package/dist/durable-object/schema.d.ts +188 -0
  78. package/dist/durable-object/schema.d.ts.map +1 -1
  79. package/dist/durable-object/schema.js +160 -0
  80. package/dist/durable-object/schema.js.map +1 -1
  81. package/dist/durable-object/wal.d.ts +336 -31
  82. package/dist/durable-object/wal.d.ts.map +1 -1
  83. package/dist/durable-object/wal.js +272 -27
  84. package/dist/durable-object/wal.js.map +1 -1
  85. package/dist/index.d.ts +379 -3
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +379 -7
  88. package/dist/index.js.map +1 -1
  89. package/dist/mcp/adapter.d.ts +579 -38
  90. package/dist/mcp/adapter.d.ts.map +1 -1
  91. package/dist/mcp/adapter.js +426 -33
  92. package/dist/mcp/adapter.js.map +1 -1
  93. package/dist/mcp/sandbox.d.ts +532 -29
  94. package/dist/mcp/sandbox.d.ts.map +1 -1
  95. package/dist/mcp/sandbox.js +389 -22
  96. package/dist/mcp/sandbox.js.map +1 -1
  97. package/dist/mcp/sdk-adapter.d.ts +478 -56
  98. package/dist/mcp/sdk-adapter.d.ts.map +1 -1
  99. package/dist/mcp/sdk-adapter.js +346 -44
  100. package/dist/mcp/sdk-adapter.js.map +1 -1
  101. package/dist/mcp/tools.d.ts +445 -30
  102. package/dist/mcp/tools.d.ts.map +1 -1
  103. package/dist/mcp/tools.js +363 -33
  104. package/dist/mcp/tools.js.map +1 -1
  105. package/dist/ops/blame.d.ts +424 -21
  106. package/dist/ops/blame.d.ts.map +1 -1
  107. package/dist/ops/blame.js +303 -20
  108. package/dist/ops/blame.js.map +1 -1
  109. package/dist/ops/branch.d.ts +583 -32
  110. package/dist/ops/branch.d.ts.map +1 -1
  111. package/dist/ops/branch.js +365 -23
  112. package/dist/ops/branch.js.map +1 -1
  113. package/dist/ops/commit-traversal.d.ts +164 -24
  114. package/dist/ops/commit-traversal.d.ts.map +1 -1
  115. package/dist/ops/commit-traversal.js +68 -2
  116. package/dist/ops/commit-traversal.js.map +1 -1
  117. package/dist/ops/commit.d.ts +387 -53
  118. package/dist/ops/commit.d.ts.map +1 -1
  119. package/dist/ops/commit.js +249 -29
  120. package/dist/ops/commit.js.map +1 -1
  121. package/dist/ops/merge-base.d.ts +195 -21
  122. package/dist/ops/merge-base.d.ts.map +1 -1
  123. package/dist/ops/merge-base.js +122 -12
  124. package/dist/ops/merge-base.js.map +1 -1
  125. package/dist/ops/merge.d.ts +600 -130
  126. package/dist/ops/merge.d.ts.map +1 -1
  127. package/dist/ops/merge.js +408 -60
  128. package/dist/ops/merge.js.map +1 -1
  129. package/dist/ops/tag.d.ts +67 -2
  130. package/dist/ops/tag.d.ts.map +1 -1
  131. package/dist/ops/tag.js +42 -1
  132. package/dist/ops/tag.js.map +1 -1
  133. package/dist/ops/tree-builder.d.ts +102 -6
  134. package/dist/ops/tree-builder.d.ts.map +1 -1
  135. package/dist/ops/tree-builder.js +30 -5
  136. package/dist/ops/tree-builder.js.map +1 -1
  137. package/dist/ops/tree-diff.d.ts +50 -2
  138. package/dist/ops/tree-diff.d.ts.map +1 -1
  139. package/dist/ops/tree-diff.js +50 -2
  140. package/dist/ops/tree-diff.js.map +1 -1
  141. package/dist/pack/delta.d.ts +211 -39
  142. package/dist/pack/delta.d.ts.map +1 -1
  143. package/dist/pack/delta.js +232 -46
  144. package/dist/pack/delta.js.map +1 -1
  145. package/dist/pack/format.d.ts +390 -28
  146. package/dist/pack/format.d.ts.map +1 -1
  147. package/dist/pack/format.js +344 -33
  148. package/dist/pack/format.js.map +1 -1
  149. package/dist/pack/full-generation.d.ts +313 -28
  150. package/dist/pack/full-generation.d.ts.map +1 -1
  151. package/dist/pack/full-generation.js +238 -19
  152. package/dist/pack/full-generation.js.map +1 -1
  153. package/dist/pack/generation.d.ts +346 -23
  154. package/dist/pack/generation.d.ts.map +1 -1
  155. package/dist/pack/generation.js +269 -21
  156. package/dist/pack/generation.js.map +1 -1
  157. package/dist/pack/index.d.ts +407 -86
  158. package/dist/pack/index.d.ts.map +1 -1
  159. package/dist/pack/index.js +351 -70
  160. package/dist/pack/index.js.map +1 -1
  161. package/dist/refs/branch.d.ts +517 -71
  162. package/dist/refs/branch.d.ts.map +1 -1
  163. package/dist/refs/branch.js +410 -26
  164. package/dist/refs/branch.js.map +1 -1
  165. package/dist/refs/storage.d.ts +610 -57
  166. package/dist/refs/storage.d.ts.map +1 -1
  167. package/dist/refs/storage.js +481 -29
  168. package/dist/refs/storage.js.map +1 -1
  169. package/dist/refs/tag.d.ts +677 -67
  170. package/dist/refs/tag.d.ts.map +1 -1
  171. package/dist/refs/tag.js +497 -30
  172. package/dist/refs/tag.js.map +1 -1
  173. package/dist/storage/lru-cache.d.ts +556 -53
  174. package/dist/storage/lru-cache.d.ts.map +1 -1
  175. package/dist/storage/lru-cache.js +439 -36
  176. package/dist/storage/lru-cache.js.map +1 -1
  177. package/dist/storage/object-index.d.ts +483 -38
  178. package/dist/storage/object-index.d.ts.map +1 -1
  179. package/dist/storage/object-index.js +388 -22
  180. package/dist/storage/object-index.js.map +1 -1
  181. package/dist/storage/r2-pack.d.ts +957 -94
  182. package/dist/storage/r2-pack.d.ts.map +1 -1
  183. package/dist/storage/r2-pack.js +756 -48
  184. package/dist/storage/r2-pack.js.map +1 -1
  185. package/dist/tiered/cdc-pipeline.d.ts +1610 -38
  186. package/dist/tiered/cdc-pipeline.d.ts.map +1 -1
  187. package/dist/tiered/cdc-pipeline.js +1131 -22
  188. package/dist/tiered/cdc-pipeline.js.map +1 -1
  189. package/dist/tiered/migration.d.ts +903 -41
  190. package/dist/tiered/migration.d.ts.map +1 -1
  191. package/dist/tiered/migration.js +646 -24
  192. package/dist/tiered/migration.js.map +1 -1
  193. package/dist/tiered/parquet-writer.d.ts +944 -47
  194. package/dist/tiered/parquet-writer.d.ts.map +1 -1
  195. package/dist/tiered/parquet-writer.js +667 -39
  196. package/dist/tiered/parquet-writer.js.map +1 -1
  197. package/dist/tiered/read-path.d.ts +728 -34
  198. package/dist/tiered/read-path.d.ts.map +1 -1
  199. package/dist/tiered/read-path.js +310 -27
  200. package/dist/tiered/read-path.js.map +1 -1
  201. package/dist/types/objects.d.ts +457 -0
  202. package/dist/types/objects.d.ts.map +1 -1
  203. package/dist/types/objects.js +305 -4
  204. package/dist/types/objects.js.map +1 -1
  205. package/dist/types/storage.d.ts +407 -35
  206. package/dist/types/storage.d.ts.map +1 -1
  207. package/dist/types/storage.js +27 -3
  208. package/dist/types/storage.js.map +1 -1
  209. package/dist/utils/hash.d.ts +133 -12
  210. package/dist/utils/hash.d.ts.map +1 -1
  211. package/dist/utils/hash.js +133 -12
  212. package/dist/utils/hash.js.map +1 -1
  213. package/dist/utils/sha1.d.ts +102 -9
  214. package/dist/utils/sha1.d.ts.map +1 -1
  215. package/dist/utils/sha1.js +114 -11
  216. package/dist/utils/sha1.js.map +1 -1
  217. package/dist/wire/capabilities.d.ts +896 -88
  218. package/dist/wire/capabilities.d.ts.map +1 -1
  219. package/dist/wire/capabilities.js +566 -62
  220. package/dist/wire/capabilities.js.map +1 -1
  221. package/dist/wire/pkt-line.d.ts +293 -15
  222. package/dist/wire/pkt-line.d.ts.map +1 -1
  223. package/dist/wire/pkt-line.js +251 -15
  224. package/dist/wire/pkt-line.js.map +1 -1
  225. package/dist/wire/receive-pack.d.ts +814 -64
  226. package/dist/wire/receive-pack.d.ts.map +1 -1
  227. package/dist/wire/receive-pack.js +542 -41
  228. package/dist/wire/receive-pack.js.map +1 -1
  229. package/dist/wire/smart-http.d.ts +575 -97
  230. package/dist/wire/smart-http.d.ts.map +1 -1
  231. package/dist/wire/smart-http.js +337 -46
  232. package/dist/wire/smart-http.js.map +1 -1
  233. package/dist/wire/upload-pack.d.ts +492 -98
  234. package/dist/wire/upload-pack.d.ts.map +1 -1
  235. package/dist/wire/upload-pack.js +347 -59
  236. package/dist/wire/upload-pack.js.map +1 -1
  237. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationList.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/components/NavigationList.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,UAAU,EAAE,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,KAAK,IAAI,CAAA;CAC/C;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,SAAS,CAOpE"}
@@ -0,0 +1,11 @@
1
+ // Navigation List Component for gitx terminal UI
2
+ // GREEN phase implementation
3
+ export function NavigationList(props) {
4
+ return {
5
+ type: 'NavigationList',
6
+ props,
7
+ items: props.items,
8
+ selectedIndex: props.selectedIndex
9
+ };
10
+ }
11
+ //# sourceMappingURL=NavigationList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationList.js","sourceRoot":"","sources":["../../../../src/cli/ui/components/NavigationList.tsx"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,6BAA6B;AAW7B,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,KAAK;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,aAAa,EAAE,KAAK,CAAC,aAAa;KACnC,CAAA;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface ScrollableContentProps {
3
+ content: string;
4
+ height: number;
5
+ onScroll?: (scrollPosition: number) => void;
6
+ }
7
+ export declare function ScrollableContent(props: ScrollableContentProps): ReactNode;
8
+ //# sourceMappingURL=ScrollableContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollableContent.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/components/ScrollableContent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,SAAS,CAO1E"}
@@ -0,0 +1,11 @@
1
+ // Scrollable Content Component for gitx terminal UI
2
+ // GREEN phase implementation
3
+ export function ScrollableContent(props) {
4
+ return {
5
+ type: 'ScrollableContent',
6
+ props,
7
+ content: props.content,
8
+ height: props.height
9
+ };
10
+ }
11
+ //# sourceMappingURL=ScrollableContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollableContent.js","sourceRoot":"","sources":["../../../../src/cli/ui/components/ScrollableContent.tsx"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,6BAA6B;AAU7B,MAAM,UAAU,iBAAiB,CAAC,KAA6B;IAC7D,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,KAAK;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAA;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { DiffView } from './DiffView';
2
+ export { LoadingSpinner } from './LoadingSpinner';
3
+ export { ErrorDisplay } from './ErrorDisplay';
4
+ export { ScrollableContent } from './ScrollableContent';
5
+ export { FuzzySearch } from './FuzzySearch';
6
+ export { NavigationList } from './NavigationList';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/components/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,9 @@
1
+ // Component exports for gitx terminal UI
2
+ // This is a minimal stub - tests are in RED phase
3
+ export { DiffView } from './DiffView';
4
+ export { LoadingSpinner } from './LoadingSpinner';
5
+ export { ErrorDisplay } from './ErrorDisplay';
6
+ export { ScrollableContent } from './ScrollableContent';
7
+ export { FuzzySearch } from './FuzzySearch';
8
+ export { NavigationList } from './NavigationList';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/ui/components/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,kDAAkD;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,52 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface TerminalUIProps {
3
+ children?: ReactNode;
4
+ }
5
+ export interface KeyboardEvent {
6
+ key: string;
7
+ ctrlKey?: boolean;
8
+ metaKey?: boolean;
9
+ shiftKey?: boolean;
10
+ altKey?: boolean;
11
+ }
12
+ export interface MouseEvent {
13
+ x: number;
14
+ y: number;
15
+ button: 'left' | 'right' | 'middle';
16
+ }
17
+ export interface TerminalDimensions {
18
+ width: number;
19
+ height: number;
20
+ }
21
+ export interface DiffViewProps {
22
+ diff: string;
23
+ viewMode: 'split' | 'unified';
24
+ }
25
+ export interface LoadingSpinnerProps {
26
+ message?: string;
27
+ }
28
+ export interface ErrorDisplayProps {
29
+ error: Error | string;
30
+ }
31
+ export interface ScrollableContentProps {
32
+ content: string;
33
+ height: number;
34
+ }
35
+ export interface FuzzySearchProps {
36
+ items: string[];
37
+ onSelect: (item: string) => void;
38
+ onCancel: () => void;
39
+ }
40
+ export declare function TerminalUIApp(props: TerminalUIProps): ReactNode;
41
+ export declare function handleKeyboardInput(_event: KeyboardEvent): void;
42
+ export declare function handleMouseClick(_event: MouseEvent): void;
43
+ export declare function getTerminalDimensions(): TerminalDimensions;
44
+ export declare function adaptLayoutForWidth(width: number): 'wide' | 'narrow';
45
+ export declare function DiffView(props: DiffViewProps): ReactNode;
46
+ export declare function selectDiffViewMode(terminalWidth: number): 'split' | 'unified';
47
+ export declare function LoadingSpinner(props: LoadingSpinnerProps): ReactNode;
48
+ export declare function ErrorDisplay(props: ErrorDisplayProps): ReactNode;
49
+ export declare function ScrollableContent(props: ScrollableContentProps): ReactNode;
50
+ export declare function FuzzySearch(props: FuzzySearchProps): ReactNode;
51
+ export declare function render(_element: ReactNode): void;
52
+ //# sourceMappingURL=terminal-ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-ui.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/terminal-ui.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB;AAMD,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,CAO/D;AAMD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAI/D;AAMD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAGzD;AAMD,wBAAgB,qBAAqB,IAAI,kBAAkB,CAK1D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAOpE;AAMD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,CAQxD;AAED,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAO7E;AAMD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,SAAS,CAOpE;AAMD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,CAQhE;AAMD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,SAAS,CAQ1E;AAMD,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAS9D;AAMD,wBAAgB,MAAM,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI,CAGhD"}
@@ -0,0 +1,121 @@
1
+ // Terminal UI for gitx CLI using @opentui/react
2
+ // GREEN phase implementation - minimum code to pass tests
3
+ // ============================================================================
4
+ // Terminal UI App Component
5
+ // ============================================================================
6
+ export function TerminalUIApp(props) {
7
+ // Returns a simple representation of the app
8
+ return {
9
+ type: 'TerminalUIApp',
10
+ props,
11
+ children: props.children
12
+ };
13
+ }
14
+ // ============================================================================
15
+ // Keyboard Input Handler
16
+ // ============================================================================
17
+ export function handleKeyboardInput(_event) {
18
+ // Handles all keyboard events without throwing
19
+ // Arrow keys, Enter, Escape, vim-style navigation, etc.
20
+ // This is a minimal implementation that just accepts all events
21
+ }
22
+ // ============================================================================
23
+ // Mouse Event Handler
24
+ // ============================================================================
25
+ export function handleMouseClick(_event) {
26
+ // Handles all mouse click events without throwing
27
+ // Supports left, right, and middle clicks at any coordinates
28
+ }
29
+ // ============================================================================
30
+ // Terminal Dimensions
31
+ // ============================================================================
32
+ export function getTerminalDimensions() {
33
+ // Get terminal dimensions from process.stdout or fallback to defaults
34
+ const width = process.stdout?.columns ?? 80;
35
+ const height = process.stdout?.rows ?? 24;
36
+ return { width, height };
37
+ }
38
+ export function adaptLayoutForWidth(width) {
39
+ // Wide layout for terminals >= 120 columns
40
+ // Narrow layout for terminals < 120 columns
41
+ if (width >= 120) {
42
+ return 'wide';
43
+ }
44
+ return 'narrow';
45
+ }
46
+ // ============================================================================
47
+ // Diff View
48
+ // ============================================================================
49
+ export function DiffView(props) {
50
+ // Returns a representation of the diff view component
51
+ return {
52
+ type: 'DiffView',
53
+ props,
54
+ diff: props.diff,
55
+ viewMode: props.viewMode
56
+ };
57
+ }
58
+ export function selectDiffViewMode(terminalWidth) {
59
+ // Wide terminals (>= 120 columns) should use split view
60
+ // Narrow terminals (< 120 columns) should use unified view
61
+ if (terminalWidth >= 120) {
62
+ return 'split';
63
+ }
64
+ return 'unified';
65
+ }
66
+ // ============================================================================
67
+ // Loading Spinner
68
+ // ============================================================================
69
+ export function LoadingSpinner(props) {
70
+ // Returns a representation of the loading spinner component
71
+ return {
72
+ type: 'LoadingSpinner',
73
+ props,
74
+ message: props.message
75
+ };
76
+ }
77
+ // ============================================================================
78
+ // Error Display
79
+ // ============================================================================
80
+ export function ErrorDisplay(props) {
81
+ // Returns a representation of the error display component
82
+ const message = props.error instanceof Error ? props.error.message : props.error;
83
+ return {
84
+ type: 'ErrorDisplay',
85
+ props,
86
+ message
87
+ };
88
+ }
89
+ // ============================================================================
90
+ // Scrollable Content
91
+ // ============================================================================
92
+ export function ScrollableContent(props) {
93
+ // Returns a representation of the scrollable content component
94
+ return {
95
+ type: 'ScrollableContent',
96
+ props,
97
+ content: props.content,
98
+ height: props.height
99
+ };
100
+ }
101
+ // ============================================================================
102
+ // Fuzzy Search
103
+ // ============================================================================
104
+ export function FuzzySearch(props) {
105
+ // Returns a representation of the fuzzy search component
106
+ return {
107
+ type: 'FuzzySearch',
108
+ props,
109
+ items: props.items,
110
+ onSelect: props.onSelect,
111
+ onCancel: props.onCancel
112
+ };
113
+ }
114
+ // ============================================================================
115
+ // Render Function
116
+ // ============================================================================
117
+ export function render(_element) {
118
+ // Minimal render function that accepts any element
119
+ // In a real implementation, this would render to the terminal
120
+ }
121
+ //# sourceMappingURL=terminal-ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-ui.js","sourceRoot":"","sources":["../../../src/cli/ui/terminal-ui.tsx"],"names":[],"mappings":"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"}