@variantree/watcher 0.1.0 → 0.1.2

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 (52) hide show
  1. package/dist/cli.js +4 -3
  2. package/dist/cli.js.map +1 -1
  3. package/dist/ui/BranchTree.d.ts +21 -0
  4. package/dist/ui/BranchTree.d.ts.map +1 -0
  5. package/dist/ui/BranchTree.js +48 -0
  6. package/dist/ui/BranchTree.js.map +1 -0
  7. package/dist/ui/BranchView.d.ts +14 -0
  8. package/dist/ui/BranchView.d.ts.map +1 -0
  9. package/dist/ui/BranchView.js +15 -0
  10. package/dist/ui/BranchView.js.map +1 -0
  11. package/dist/ui/CheckpointView.d.ts +7 -0
  12. package/dist/ui/CheckpointView.d.ts.map +1 -0
  13. package/dist/ui/CheckpointView.js +9 -0
  14. package/dist/ui/CheckpointView.js.map +1 -0
  15. package/dist/ui/InitView.d.ts +6 -0
  16. package/dist/ui/InitView.d.ts.map +1 -0
  17. package/dist/ui/InitView.js +8 -0
  18. package/dist/ui/InitView.js.map +1 -0
  19. package/dist/ui/Panel.d.ts +8 -0
  20. package/dist/ui/Panel.d.ts.map +1 -0
  21. package/dist/ui/Panel.js +8 -0
  22. package/dist/ui/Panel.js.map +1 -0
  23. package/dist/ui/RestoreView.d.ts +13 -0
  24. package/dist/ui/RestoreView.d.ts.map +1 -0
  25. package/dist/ui/RestoreView.js +15 -0
  26. package/dist/ui/RestoreView.js.map +1 -0
  27. package/dist/ui/StatusView.d.ts +25 -0
  28. package/dist/ui/StatusView.d.ts.map +1 -0
  29. package/dist/ui/StatusView.js +11 -0
  30. package/dist/ui/StatusView.js.map +1 -0
  31. package/dist/ui/TreeView.d.ts +21 -0
  32. package/dist/ui/TreeView.d.ts.map +1 -0
  33. package/dist/ui/TreeView.js +7 -0
  34. package/dist/ui/TreeView.js.map +1 -0
  35. package/dist/ui/WatchView.d.ts +7 -0
  36. package/dist/ui/WatchView.d.ts.map +1 -0
  37. package/dist/ui/WatchView.js +9 -0
  38. package/dist/ui/WatchView.js.map +1 -0
  39. package/dist/ui/components.d.ts +22 -0
  40. package/dist/ui/components.d.ts.map +1 -0
  41. package/dist/ui/components.js +25 -0
  42. package/dist/ui/components.js.map +1 -0
  43. package/dist/ui/render.d.ts +71 -0
  44. package/dist/ui/render.d.ts.map +1 -0
  45. package/dist/ui/render.js +61 -0
  46. package/dist/ui/render.js.map +1 -0
  47. package/dist/ui/theme.d.ts +45 -0
  48. package/dist/ui/theme.d.ts.map +1 -0
  49. package/dist/ui/theme.js +45 -0
  50. package/dist/ui/theme.js.map +1 -0
  51. package/package.json +3 -2
  52. package/scripts/postinstall.js +65 -0
package/dist/cli.js CHANGED
@@ -65,7 +65,8 @@ function printBranchNode(branch, allBranches, allCheckpoints, indent, isLast) {
65
65
  const connector = indent === '' ? '' : (isLast ? TREE_END : TREE_FORK) + ' ';
66
66
  const nameColor = branch.isActive ? accent : chalk.white;
67
67
  const activeTag = branch.isActive ? accent(' ●') : '';
68
- console.log(` ${dim(indent)}${connector}${nameColor.bold(branch.name)} ${dim(`(${branch.messageCount} msgs)`)}${activeTag}`);
68
+ const branchIcon = brand('⎇');
69
+ console.log(` ${dim(indent)}${connector}${branchIcon} ${nameColor.bold(branch.name)} ${dim(`(${branch.messageCount} msgs)`)}${activeTag}`);
69
70
  const branchCps = allCheckpoints
70
71
  .filter(cp => cp.branchId === branch.id)
71
72
  .sort((a, b) => a.createdAt - b.createdAt);
@@ -77,9 +78,9 @@ function printBranchNode(branch, allBranches, allCheckpoints, indent, isLast) {
77
78
  const childBranches = allBranches.filter(b => b.parentCheckpointId === cp.id);
78
79
  const cpIsLast = i === branchCps.length - 1 && childBranches.length === 0;
79
80
  const cpConnector = cpIsLast ? TREE_END : TREE_FORK;
80
- const snap = cp.snapshotRef ? ` ${SNAP}` : '';
81
+ const cpIcon = cp.snapshotRef ? warn('◆') : dim('');
81
82
  const time = dim(formatTime(cp.createdAt));
82
- console.log(` ${dim(childIndent)}${cpConnector} ${warn(cp.label)}${snap} ${time}`);
83
+ console.log(` ${dim(childIndent)}${cpConnector} ${cpIcon} ${warn(cp.label)} ${time}`);
83
84
  const continuation = cpIsLast ? ' ' : '│ ';
84
85
  for (let j = 0; j < childBranches.length; j++) {
85
86
  printBranchNode(childBranches[j], allBranches, allCheckpoints, childIndent + continuation, j === childBranches.length - 1);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ interface BranchInfo {
2
+ id: string;
3
+ name: string;
4
+ parentCheckpointId: string | null;
5
+ messageCount: number;
6
+ isActive: boolean;
7
+ }
8
+ interface CheckpointInfo {
9
+ id: string;
10
+ label: string;
11
+ branchId: string;
12
+ snapshotRef?: string | null;
13
+ createdAt: number;
14
+ }
15
+ interface BranchTreeProps {
16
+ branches: BranchInfo[];
17
+ checkpoints: CheckpointInfo[];
18
+ }
19
+ export default function BranchTree({ branches, checkpoints }: BranchTreeProps): import("react/jsx-runtime").JSX.Element;
20
+ export {};
21
+ //# sourceMappingURL=BranchTree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BranchTree.d.ts","sourceRoot":"","sources":["../../src/ui/BranchTree.tsx"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,eAAe;IACvB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B;AAuGD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,eAAe,2CAiB5E"}
@@ -0,0 +1,48 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { colors, icons, tree as t } from './theme.js';
4
+ function formatTime(ts) {
5
+ const diff = Date.now() - ts;
6
+ if (diff < 60_000)
7
+ return 'just now';
8
+ if (diff < 3_600_000)
9
+ return `${Math.floor(diff / 60_000)}m ago`;
10
+ if (diff < 86_400_000)
11
+ return `${Math.floor(diff / 3_600_000)}h ago`;
12
+ return `${Math.floor(diff / 86_400_000)}d ago`;
13
+ }
14
+ function CheckpointNode({ cp, isLast, childBranches, allCheckpoints, allBranches, indent }) {
15
+ const connector = isLast && childBranches.length === 0 ? t.last : t.fork;
16
+ const snap = cp.snapshotRef ? ` ${icons.snap}` : '';
17
+ const time = formatTime(cp.createdAt);
18
+ const continuation = isLast ? t.space : t.vertSpace;
19
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsxs(Text, { dimColor: true, children: [indent, connector, " "] }), _jsx(Text, { color: colors.amber, children: cp.label }), _jsx(Text, { color: colors.slate, children: snap }), _jsxs(Text, { dimColor: true, children: [" ", time] })] }), childBranches.map((child, i) => {
20
+ const childIsLast = i === childBranches.length - 1;
21
+ const nextIndent = indent + continuation;
22
+ return (_jsx(BranchNode, { branch: child, allCheckpoints: allCheckpoints, allBranches: allBranches, indent: nextIndent, isLast: childIsLast }, child.id));
23
+ })] }));
24
+ }
25
+ function BranchNode({ branch, allCheckpoints, allBranches, indent, isLast }) {
26
+ const connector = indent === '' ? '' : (isLast ? t.last : t.fork) + ' ';
27
+ const nameColor = branch.isActive ? colors.green : colors.white;
28
+ const activeTag = branch.isActive ? ` ${icons.active}` : '';
29
+ const branchCheckpoints = allCheckpoints
30
+ .filter(cp => cp.branchId === branch.id)
31
+ .sort((a, b) => a.createdAt - b.createdAt);
32
+ const childIndent = indent === ''
33
+ ? ' '
34
+ : indent + (isLast ? t.space : t.vertSpace);
35
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsxs(Text, { dimColor: true, children: [indent, connector] }), _jsx(Text, { color: nameColor, bold: true, children: branch.name }), _jsxs(Text, { dimColor: true, children: [" (", branch.messageCount, " msgs)"] }), branch.isActive && _jsx(Text, { color: colors.green, children: activeTag })] }), branchCheckpoints.map((cp, i) => {
36
+ const cpChildren = allBranches.filter(b => b.parentCheckpointId === cp.id);
37
+ const cpIsLast = i === branchCheckpoints.length - 1;
38
+ return (_jsx(CheckpointNode, { cp: cp, isLast: cpIsLast, childBranches: cpChildren, allCheckpoints: allCheckpoints, allBranches: allBranches, indent: childIndent }, cp.id));
39
+ }), branchCheckpoints.length === 0 && (_jsxs(Box, { children: [_jsxs(Text, { dimColor: true, children: [childIndent, t.last, " "] }), _jsx(Text, { dimColor: true, italic: true, children: "no checkpoints" })] }))] }));
40
+ }
41
+ export default function BranchTree({ branches, checkpoints }) {
42
+ const root = branches.find(b => !b.parentCheckpointId);
43
+ if (!root) {
44
+ return _jsx(Text, { dimColor: true, children: " No branches found." });
45
+ }
46
+ return (_jsx(Box, { flexDirection: "column", children: _jsx(BranchNode, { branch: root, allCheckpoints: checkpoints, allBranches: branches, indent: "", isLast: true }) }));
47
+ }
48
+ //# sourceMappingURL=BranchTree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BranchTree.js","sourceRoot":"","sources":["../../src/ui/BranchTree.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ interface BranchViewProps {
2
+ name: string;
3
+ fromCheckpoint: string;
4
+ restoreSummary?: {
5
+ written: number;
6
+ deleted: number;
7
+ skipped: number;
8
+ } | null;
9
+ contextPath: string;
10
+ launchResult: 'launched' | 'failed' | 'skipped';
11
+ }
12
+ export default function BranchView({ name, fromCheckpoint, restoreSummary, contextPath, launchResult }: BranchViewProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=BranchView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BranchView.d.ts","sourceRoot":"","sources":["../../src/ui/BranchView.tsx"],"names":[],"mappings":"AAMA,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9E,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,eAAe,2CA6CtH"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Text } from 'ink';
3
+ import Panel from './Panel.js';
4
+ import { Success, Detail, Spacer, NextSteps, Warning } from './components.js';
5
+ import { colors } from './theme.js';
6
+ export default function BranchView({ name, fromCheckpoint, restoreSummary, contextPath, launchResult }) {
7
+ return (_jsxs(Panel, { command: "branch", children: [_jsxs(Success, { children: [_jsx(Text, { children: "Branch " }), _jsxs(Text, { bold: true, color: colors.purple, children: ["\"", name, "\""] }), _jsx(Text, { children: " created from " }), _jsxs(Text, { dimColor: true, children: ["\"", fromCheckpoint, "\""] })] }), _jsx(Spacer, {}), restoreSummary && (_jsx(Detail, { label: "restored", value: _jsxs(Text, { children: [restoreSummary.written, " written, ", restoreSummary.deleted, " deleted, ", restoreSummary.skipped, " unchanged"] }) })), _jsx(Detail, { label: "context", value: _jsx(Text, { children: contextPath }) }), _jsx(Spacer, {}), launchResult === 'launched' && (_jsx(Success, { children: _jsx(Text, { color: colors.blue, children: "Opening new OpenCode session..." }) })), launchResult === 'failed' && (_jsxs(_Fragment, { children: [_jsx(Warning, { children: "Could not launch OpenCode automatically" }), _jsx(Spacer, {}), _jsx(NextSteps, { steps: [
8
+ 'Restart OpenCode (quit and reopen)',
9
+ 'Tell it: "Read .variantree/branch-context.md for context"',
10
+ ] })] })), launchResult === 'skipped' && (_jsx(NextSteps, { steps: [
11
+ 'Restart OpenCode (quit and reopen)',
12
+ 'Tell it: "Read .variantree/branch-context.md for context"',
13
+ ] }))] }));
14
+ }
15
+ //# sourceMappingURL=BranchView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BranchView.js","sourceRoot":"","sources":["../../src/ui/BranchView.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAUpC,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAmB;IACrH,OAAO,CACL,MAAC,KAAK,IAAC,OAAO,EAAC,QAAQ,aACrB,MAAC,OAAO,eACN,KAAC,IAAI,0BAAe,EACpB,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,mBAAS,IAAI,UAAc,EAC1D,KAAC,IAAI,iCAAsB,EAC3B,MAAC,IAAI,IAAC,QAAQ,yBAAQ,cAAc,UAAc,IAC1C,EAEV,KAAC,MAAM,KAAG,EAET,cAAc,IAAI,CACjB,KAAC,MAAM,IACL,KAAK,EAAC,UAAU,EAChB,KAAK,EAAE,MAAC,IAAI,eAAE,cAAc,CAAC,OAAO,gBAAY,cAAc,CAAC,OAAO,gBAAY,cAAc,CAAC,OAAO,kBAAkB,GAC1H,CACH,EACD,KAAC,MAAM,IAAC,KAAK,EAAC,SAAS,EAAC,KAAK,EAAE,KAAC,IAAI,cAAE,WAAW,GAAQ,GAAI,EAE7D,KAAC,MAAM,KAAG,EAET,YAAY,KAAK,UAAU,IAAI,CAC9B,KAAC,OAAO,cACN,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,gDAAwC,GACxD,CACX,EACA,YAAY,KAAK,QAAQ,IAAI,CAC5B,8BACE,KAAC,OAAO,0DAAkD,EAC1D,KAAC,MAAM,KAAG,EACV,KAAC,SAAS,IAAC,KAAK,EAAE;4BAChB,oCAAoC;4BACpC,2DAA2D;yBAC5D,GAAI,IACJ,CACJ,EACA,YAAY,KAAK,SAAS,IAAI,CAC7B,KAAC,SAAS,IAAC,KAAK,EAAE;oBAChB,oCAAoC;oBACpC,2DAA2D;iBAC5D,GAAI,CACN,IACK,CACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ interface CheckpointViewProps {
2
+ label: string;
3
+ syncedCount: number;
4
+ }
5
+ export default function CheckpointView({ label, syncedCount }: CheckpointViewProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=CheckpointView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckpointView.d.ts","sourceRoot":"","sources":["../../src/ui/CheckpointView.tsx"],"names":[],"mappings":"AAMA,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,mBAAmB,2CAiBjF"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text } from 'ink';
3
+ import Panel from './Panel.js';
4
+ import { Success, Detail, Spacer } from './components.js';
5
+ import { colors } from './theme.js';
6
+ export default function CheckpointView({ label, syncedCount }) {
7
+ return (_jsxs(Panel, { command: "checkpoint", children: [_jsxs(Success, { children: [_jsx(Text, { children: "Checkpoint " }), _jsxs(Text, { bold: true, color: colors.white, children: ["\"", label, "\""] }), _jsx(Text, { children: " created" })] }), _jsx(Spacer, {}), syncedCount > 0 && (_jsx(Detail, { label: "synced", value: _jsxs(Text, { children: [syncedCount, " message(s) from OpenCode"] }) })), _jsx(Detail, { label: "snapshot", value: _jsx(Text, { children: "code saved" }) })] }));
8
+ }
9
+ //# sourceMappingURL=CheckpointView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckpointView.js","sourceRoot":"","sources":["../../src/ui/CheckpointView.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAOpC,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,KAAK,EAAE,WAAW,EAAuB;IAChF,OAAO,CACL,MAAC,KAAK,IAAC,OAAO,EAAC,YAAY,aACzB,MAAC,OAAO,eACN,KAAC,IAAI,8BAAmB,EACxB,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,MAAM,CAAC,KAAK,mBAAS,KAAK,UAAc,EAC1D,KAAC,IAAI,2BAAgB,IACb,EAEV,KAAC,MAAM,KAAG,EAET,WAAW,GAAG,CAAC,IAAI,CAClB,KAAC,MAAM,IAAC,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAE,MAAC,IAAI,eAAE,WAAW,iCAAiC,GAAI,CACtF,EACD,KAAC,MAAM,IAAC,KAAK,EAAC,UAAU,EAAC,KAAK,EAAE,KAAC,IAAI,6BAAkB,GAAI,IACrD,CACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ interface InitViewProps {
2
+ mcpStatus: 'created' | 'added' | 'exists' | 'failed';
3
+ }
4
+ export default function InitView({ mcpStatus }: InitViewProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=InitView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitView.d.ts","sourceRoot":"","sources":["../../src/ui/InitView.tsx"],"names":[],"mappings":"AAKA,UAAU,aAAa;IACrB,SAAS,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACtD;AAED,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,SAAS,EAAE,EAAE,aAAa,2CA6B5D"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text } from 'ink';
3
+ import Panel from './Panel.js';
4
+ import { Success, Hint, Spacer } from './components.js';
5
+ export default function InitView({ mcpStatus }) {
6
+ return (_jsxs(Panel, { command: "init", children: [_jsx(Success, { children: "Workspace ready" }), _jsx(Spacer, {}), mcpStatus === 'created' && (_jsx(Success, { children: "Created opencode.json with Variantree MCP server" })), mcpStatus === 'added' && (_jsx(Success, { children: "OpenCode MCP server added to existing opencode.json" })), mcpStatus === 'exists' && (_jsx(Hint, { children: "OpenCode MCP configuration already exists" })), mcpStatus === 'failed' && (_jsx(Hint, { children: "Could not auto-configure opencode.json \u2014 add the MCP server manually" })), _jsx(Spacer, {}), _jsxs(Hint, { children: [_jsx(Text, { children: "Run " }), _jsx(Text, { bold: true, color: "white", children: "variantree checkpoint \"label\"" }), _jsx(Text, { children: " after coding to save progress" })] })] }));
7
+ }
8
+ //# sourceMappingURL=InitView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitView.js","sourceRoot":"","sources":["../../src/ui/InitView.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAMxD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,SAAS,EAAiB;IAC3D,OAAO,CACL,MAAC,KAAK,IAAC,OAAO,EAAC,MAAM,aACnB,KAAC,OAAO,kCAA0B,EAElC,KAAC,MAAM,KAAG,EAET,SAAS,KAAK,SAAS,IAAI,CAC1B,KAAC,OAAO,mEAA2D,CACpE,EACA,SAAS,KAAK,OAAO,IAAI,CACxB,KAAC,OAAO,sEAA8D,CACvE,EACA,SAAS,KAAK,QAAQ,IAAI,CACzB,KAAC,IAAI,4DAAiD,CACvD,EACA,SAAS,KAAK,QAAQ,IAAI,CACzB,KAAC,IAAI,4FAA4E,CAClF,EAED,KAAC,MAAM,KAAG,EAEV,MAAC,IAAI,eACH,KAAC,IAAI,uBAAY,EACjB,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,gDAA+C,EACvE,KAAC,IAAI,iDAAsC,IACtC,IACD,CACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface PanelProps {
3
+ command: string;
4
+ children: React.ReactNode;
5
+ }
6
+ export default function Panel({ command, children }: PanelProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=Panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../src/ui/Panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,2CA0B9D"}
@@ -0,0 +1,8 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { colors, icons } from './theme.js';
4
+ export default function Panel({ command, children }) {
5
+ const w = Math.min(process.stdout.columns ?? 60, 80);
6
+ return (_jsxs(Box, { flexDirection: "column", width: w, children: [_jsxs(Box, { paddingLeft: 2, paddingTop: 1, paddingBottom: 0, children: [_jsxs(Text, { color: colors.purple, bold: true, children: [icons.logo, " variantree"] }), _jsxs(Text, { dimColor: true, children: [" ", icons.dot, " "] }), _jsx(Text, { dimColor: true, children: command })] }), _jsx(Box, { flexDirection: "column", borderStyle: "round", borderColor: colors.dimGray, paddingLeft: 1, paddingRight: 1, paddingTop: 0, paddingBottom: 0, children: children })] }));
7
+ }
8
+ //# sourceMappingURL=Panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Panel.js","sourceRoot":"","sources":["../../src/ui/Panel.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAO3C,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAc;IAC7D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAErD,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAE,CAAC,aAElC,MAAC,GAAG,IAAC,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,aAClD,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,mBAAE,KAAK,CAAC,IAAI,mBAAmB,EAC/D,MAAC,IAAI,IAAC,QAAQ,wBAAG,KAAK,CAAC,GAAG,SAAS,EACnC,KAAC,IAAI,IAAC,QAAQ,kBAAE,OAAO,GAAQ,IAC3B,EAGN,KAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,MAAM,CAAC,OAAO,EAC3B,WAAW,EAAE,CAAC,EACd,YAAY,EAAE,CAAC,EACf,UAAU,EAAE,CAAC,EACb,aAAa,EAAE,CAAC,YAEf,QAAQ,GACL,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ interface RestoreViewProps {
2
+ label: string;
3
+ summary?: {
4
+ written: number;
5
+ deleted: number;
6
+ skipped: number;
7
+ } | null;
8
+ contextPath: string;
9
+ launchResult: 'launched' | 'failed' | 'skipped';
10
+ }
11
+ export default function RestoreView({ label, summary, contextPath, launchResult }: RestoreViewProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=RestoreView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RestoreView.d.ts","sourceRoot":"","sources":["../../src/ui/RestoreView.tsx"],"names":[],"mappings":"AAMA,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,gBAAgB,2CA6ClG"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Text } from 'ink';
3
+ import Panel from './Panel.js';
4
+ import { Success, Detail, Spacer, NextSteps, Warning } from './components.js';
5
+ import { colors } from './theme.js';
6
+ export default function RestoreView({ label, summary, contextPath, launchResult }) {
7
+ return (_jsxs(Panel, { command: "restore", children: [_jsxs(Success, { children: [_jsx(Text, { children: "Restored to " }), _jsxs(Text, { bold: true, color: colors.white, children: ["\"", label, "\""] }), !summary && _jsx(Text, { dimColor: true, children: " (no code snapshot)" })] }), _jsx(Spacer, {}), summary && (_jsxs(_Fragment, { children: [_jsx(Detail, { label: "written", value: _jsxs(Text, { children: [summary.written, " file(s)"] }) }), _jsx(Detail, { label: "deleted", value: _jsxs(Text, { children: [summary.deleted, " file(s)"] }) }), _jsx(Detail, { label: "unchanged", value: _jsxs(Text, { children: [summary.skipped, " file(s)"] }) })] })), _jsx(Detail, { label: "context", value: _jsx(Text, { children: contextPath }) }), _jsx(Spacer, {}), launchResult === 'launched' && (_jsx(Success, { children: _jsx(Text, { color: colors.blue, children: "Opening new OpenCode session..." }) })), launchResult === 'failed' && (_jsxs(_Fragment, { children: [_jsx(Warning, { children: "Could not launch OpenCode automatically" }), _jsx(Spacer, {}), _jsx(NextSteps, { steps: [
8
+ 'Restart OpenCode (quit and reopen)',
9
+ 'Tell it: "Read .variantree/branch-context.md for context"',
10
+ ] })] })), launchResult === 'skipped' && (_jsx(NextSteps, { steps: [
11
+ 'Restart OpenCode (quit and reopen)',
12
+ 'Tell it: "Read .variantree/branch-context.md for context"',
13
+ ] }))] }));
14
+ }
15
+ //# sourceMappingURL=RestoreView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RestoreView.js","sourceRoot":"","sources":["../../src/ui/RestoreView.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AASpC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAoB;IACjG,OAAO,CACL,MAAC,KAAK,IAAC,OAAO,EAAC,SAAS,aACtB,MAAC,OAAO,eACN,KAAC,IAAI,+BAAoB,EACzB,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,MAAM,CAAC,KAAK,mBAAS,KAAK,UAAc,EACzD,CAAC,OAAO,IAAI,KAAC,IAAI,IAAC,QAAQ,0CAA2B,IAC9C,EAEV,KAAC,MAAM,KAAG,EAET,OAAO,IAAI,CACV,8BACE,KAAC,MAAM,IAAC,KAAK,EAAC,SAAS,EAAC,KAAK,EAAE,MAAC,IAAI,eAAE,OAAO,CAAC,OAAO,gBAAgB,GAAI,EACzE,KAAC,MAAM,IAAC,KAAK,EAAC,SAAS,EAAC,KAAK,EAAE,MAAC,IAAI,eAAE,OAAO,CAAC,OAAO,gBAAgB,GAAI,EACzE,KAAC,MAAM,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAE,MAAC,IAAI,eAAE,OAAO,CAAC,OAAO,gBAAgB,GAAI,IAC1E,CACJ,EACD,KAAC,MAAM,IAAC,KAAK,EAAC,SAAS,EAAC,KAAK,EAAE,KAAC,IAAI,cAAE,WAAW,GAAQ,GAAI,EAE7D,KAAC,MAAM,KAAG,EAET,YAAY,KAAK,UAAU,IAAI,CAC9B,KAAC,OAAO,cACN,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,gDAAwC,GACxD,CACX,EACA,YAAY,KAAK,QAAQ,IAAI,CAC5B,8BACE,KAAC,OAAO,0DAAkD,EAC1D,KAAC,MAAM,KAAG,EACV,KAAC,SAAS,IAAC,KAAK,EAAE;4BAChB,oCAAoC;4BACpC,2DAA2D;yBAC5D,GAAI,IACJ,CACJ,EACA,YAAY,KAAK,SAAS,IAAI,CAC7B,KAAC,SAAS,IAAC,KAAK,EAAE;oBAChB,oCAAoC;oBACpC,2DAA2D;iBAC5D,GAAI,CACN,IACK,CACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,25 @@
1
+ interface BranchInfo {
2
+ id: string;
3
+ name: string;
4
+ parentCheckpointId: string | null;
5
+ messageCount: number;
6
+ isActive: boolean;
7
+ }
8
+ interface CheckpointInfo {
9
+ id: string;
10
+ label: string;
11
+ branchId: string;
12
+ snapshotRef?: string | null;
13
+ createdAt: number;
14
+ }
15
+ interface StatusViewProps {
16
+ activeBranch: {
17
+ name: string;
18
+ };
19
+ messageCount: number;
20
+ branches: BranchInfo[];
21
+ checkpoints: CheckpointInfo[];
22
+ }
23
+ export default function StatusView({ activeBranch, messageCount, branches, checkpoints }: StatusViewProps): import("react/jsx-runtime").JSX.Element;
24
+ export {};
25
+ //# sourceMappingURL=StatusView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusView.d.ts","sourceRoot":"","sources":["../../src/ui/StatusView.tsx"],"names":[],"mappings":"AAOA,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,eAAe;IACvB,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,eAAe,2CAyBxG"}
@@ -0,0 +1,11 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import Panel from './Panel.js';
4
+ import BranchTree from './BranchTree.js';
5
+ import { Hint, Spacer } from './components.js';
6
+ import { colors, icons } from './theme.js';
7
+ export default function StatusView({ activeBranch, messageCount, branches, checkpoints }) {
8
+ const snapshotCount = checkpoints.filter(cp => cp.snapshotRef).length;
9
+ return (_jsxs(Panel, { command: "status", children: [_jsxs(Box, { children: [_jsxs(Text, { color: colors.purple, children: [icons.branch, " "] }), _jsx(Text, { color: colors.green, bold: true, children: activeBranch.name }), _jsxs(Text, { dimColor: true, children: [" (", messageCount, " messages)"] })] }), _jsx(Spacer, {}), _jsx(BranchTree, { branches: branches, checkpoints: checkpoints }), _jsx(Spacer, {}), _jsxs(Hint, { children: [branches.length, " branch", branches.length !== 1 ? 'es' : '', ' · ', checkpoints.length, " checkpoint", checkpoints.length !== 1 ? 's' : '', snapshotCount > 0 ? ` (${snapshotCount} with snapshots)` : ''] })] }));
10
+ }
11
+ //# sourceMappingURL=StatusView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusView.js","sourceRoot":"","sources":["../../src/ui/StatusView.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAyB3C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAmB;IACvG,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IAEtE,OAAO,CACL,MAAC,KAAK,IAAC,OAAO,EAAC,QAAQ,aACrB,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,aAAG,KAAK,CAAC,MAAM,SAAS,EAClD,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,kBAAE,YAAY,CAAC,IAAI,GAAQ,EAC1D,MAAC,IAAI,IAAC,QAAQ,0BAAK,YAAY,kBAAkB,IAC7C,EAEN,KAAC,MAAM,KAAG,EAEV,KAAC,UAAU,IAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAI,EAE5D,KAAC,MAAM,KAAG,EAEV,MAAC,IAAI,eACF,QAAQ,CAAC,MAAM,aAAS,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EACzD,KAAK,EACL,WAAW,CAAC,MAAM,iBAAa,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAClE,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,kBAAkB,CAAC,CAAC,CAAC,EAAE,IACzD,IACD,CACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,21 @@
1
+ interface BranchInfo {
2
+ id: string;
3
+ name: string;
4
+ parentCheckpointId: string | null;
5
+ messageCount: number;
6
+ isActive: boolean;
7
+ }
8
+ interface CheckpointInfo {
9
+ id: string;
10
+ label: string;
11
+ branchId: string;
12
+ snapshotRef?: string | null;
13
+ createdAt: number;
14
+ }
15
+ interface TreeViewProps {
16
+ branches: BranchInfo[];
17
+ checkpoints: CheckpointInfo[];
18
+ }
19
+ export default function TreeView({ branches, checkpoints }: TreeViewProps): import("react/jsx-runtime").JSX.Element;
20
+ export {};
21
+ //# sourceMappingURL=TreeView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../src/ui/TreeView.tsx"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,aAAa;IACrB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,aAAa,2CAMxE"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import Panel from './Panel.js';
3
+ import BranchTree from './BranchTree.js';
4
+ export default function TreeView({ branches, checkpoints }) {
5
+ return (_jsx(Panel, { command: "tree", children: _jsx(BranchTree, { branches: branches, checkpoints: checkpoints }) }));
6
+ }
7
+ //# sourceMappingURL=TreeView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeView.js","sourceRoot":"","sources":["../../src/ui/TreeView.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAuBzC,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAiB;IACvE,OAAO,CACL,KAAC,KAAK,IAAC,OAAO,EAAC,MAAM,YACnB,KAAC,UAAU,IAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAI,GACtD,CACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ interface WatchViewProps {
2
+ syncCount: number;
3
+ lastError?: string | null;
4
+ }
5
+ export default function WatchView({ syncCount, lastError }: WatchViewProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=WatchView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WatchView.d.ts","sourceRoot":"","sources":["../../src/ui/WatchView.tsx"],"names":[],"mappings":"AAMA,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,cAAc,2CA2BzE"}
@@ -0,0 +1,9 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import Panel from './Panel.js';
4
+ import { Hint } from './components.js';
5
+ import { colors, icons } from './theme.js';
6
+ export default function WatchView({ syncCount, lastError }) {
7
+ return (_jsxs(Panel, { command: "watch", children: [_jsxs(Box, { children: [_jsxs(Text, { color: colors.green, children: [icons.watching, " "] }), _jsx(Text, { children: "Watching for changes..." })] }), syncCount > 0 && (_jsx(Box, { paddingLeft: 2, children: _jsxs(Text, { dimColor: true, children: ["synced ", syncCount, " message(s)"] }) })), lastError && (_jsx(Box, { paddingLeft: 2, children: _jsxs(Text, { color: colors.red, children: [icons.cross, " ", lastError] }) })), _jsxs(Hint, { children: [_jsx(Text, { children: "Press " }), _jsx(Text, { bold: true, color: "white", children: "Ctrl+C" }), _jsx(Text, { children: " to stop" })] })] }));
8
+ }
9
+ //# sourceMappingURL=WatchView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WatchView.js","sourceRoot":"","sources":["../../src/ui/WatchView.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAO3C,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAkB;IACxE,OAAO,CACL,MAAC,KAAK,IAAC,OAAO,EAAC,OAAO,aACpB,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,aAAG,KAAK,CAAC,QAAQ,SAAS,EACnD,KAAC,IAAI,0CAA+B,IAChC,EAEL,SAAS,GAAG,CAAC,IAAI,CAChB,KAAC,GAAG,IAAC,WAAW,EAAE,CAAC,YACjB,MAAC,IAAI,IAAC,QAAQ,8BAAS,SAAS,mBAAmB,GAC/C,CACP,EAEA,SAAS,IAAI,CACZ,KAAC,GAAG,IAAC,WAAW,EAAE,CAAC,YACjB,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,GAAG,aAAG,KAAK,CAAC,KAAK,OAAG,SAAS,IAAQ,GACrD,CACP,EAED,MAAC,IAAI,eACH,KAAC,IAAI,yBAAc,EACnB,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,uBAAc,EACtC,KAAC,IAAI,2BAAgB,IAChB,IACD,CACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ export declare function Success({ children }: {
3
+ children: React.ReactNode;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ export declare function ErrorLine({ children }: {
6
+ children: React.ReactNode;
7
+ }): import("react/jsx-runtime").JSX.Element;
8
+ export declare function Warning({ children }: {
9
+ children: React.ReactNode;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ export declare function Hint({ children }: {
12
+ children: React.ReactNode;
13
+ }): import("react/jsx-runtime").JSX.Element;
14
+ export declare function Detail({ label, value }: {
15
+ label: string;
16
+ value: React.ReactNode;
17
+ }): import("react/jsx-runtime").JSX.Element;
18
+ export declare function Spacer(): import("react/jsx-runtime").JSX.Element;
19
+ export declare function NextSteps({ steps }: {
20
+ steps: string[];
21
+ }): import("react/jsx-runtime").JSX.Element;
22
+ //# sourceMappingURL=components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/ui/components.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAOlE;AAED,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAOpE;AAED,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAOlE;AAED,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAM/D;AAED,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CASjF;AAED,wBAAgB,MAAM,4CAErB;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,2CAcvD"}
@@ -0,0 +1,25 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { colors, icons } from './theme.js';
4
+ export function Success({ children }) {
5
+ return (_jsxs(Box, { children: [_jsxs(Text, { color: colors.green, children: [icons.check, " "] }), _jsx(Text, { children: children })] }));
6
+ }
7
+ export function ErrorLine({ children }) {
8
+ return (_jsxs(Box, { children: [_jsxs(Text, { color: colors.red, children: [icons.cross, " "] }), _jsx(Text, { color: colors.red, children: children })] }));
9
+ }
10
+ export function Warning({ children }) {
11
+ return (_jsxs(Box, { children: [_jsxs(Text, { color: colors.amber, children: [icons.warning, " "] }), _jsx(Text, { children: children })] }));
12
+ }
13
+ export function Hint({ children }) {
14
+ return (_jsx(Box, { paddingLeft: 1, children: _jsx(Text, { dimColor: true, children: children }) }));
15
+ }
16
+ export function Detail({ label, value }) {
17
+ return (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Box, { width: 14, children: _jsx(Text, { dimColor: true, children: label }) }), _jsx(Text, { children: value })] }));
18
+ }
19
+ export function Spacer() {
20
+ return _jsx(Text, { children: ' ' });
21
+ }
22
+ export function NextSteps({ steps }) {
23
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsxs(Text, { color: colors.amber, children: [icons.arrow, " "] }), _jsx(Text, { bold: true, children: "Next steps" })] }), steps.map((step, i) => (_jsx(Box, { paddingLeft: 2, children: _jsxs(Text, { dimColor: true, children: [i + 1, ". ", step] }) }, i)))] }));
24
+ }
25
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/ui/components.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,UAAU,OAAO,CAAC,EAAE,QAAQ,EAAiC;IACjE,OAAO,CACL,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,aAAG,KAAK,CAAC,KAAK,SAAS,EAChD,KAAC,IAAI,cAAE,QAAQ,GAAQ,IACnB,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAE,QAAQ,EAAiC;IACnE,OAAO,CACL,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,GAAG,aAAG,KAAK,CAAC,KAAK,SAAS,EAC9C,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,GAAG,YAAG,QAAQ,GAAQ,IACtC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAE,QAAQ,EAAiC;IACjE,OAAO,CACL,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,aAAG,KAAK,CAAC,OAAO,SAAS,EAClD,KAAC,IAAI,cAAE,QAAQ,GAAQ,IACnB,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAiC;IAC9D,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAE,CAAC,YACjB,KAAC,IAAI,IAAC,QAAQ,kBAAE,QAAQ,GAAQ,GAC5B,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAA6C;IAChF,OAAO,CACL,MAAC,GAAG,IAAC,WAAW,EAAE,CAAC,aACjB,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YACZ,KAAC,IAAI,IAAC,QAAQ,kBAAE,KAAK,GAAQ,GACzB,EACN,KAAC,IAAI,cAAE,KAAK,GAAQ,IAChB,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM;IACpB,OAAO,KAAC,IAAI,cAAE,GAAG,GAAQ,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAE,KAAK,EAAuB;IACtD,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,aAAG,KAAK,CAAC,KAAK,SAAS,EAChD,KAAC,IAAI,IAAC,IAAI,iCAAkB,IACxB,EACL,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,KAAC,GAAG,IAAS,WAAW,EAAE,CAAC,YACzB,MAAC,IAAI,IAAC,QAAQ,mBAAE,CAAC,GAAG,CAAC,QAAI,IAAI,IAAQ,IAD7B,CAAC,CAEL,CACP,CAAC,IACE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Ink render helpers for CLI commands.
3
+ * Kept separate so cli.ts doesn't need JSX.
4
+ */
5
+ interface BranchInfo {
6
+ id: string;
7
+ name: string;
8
+ parentCheckpointId: string | null;
9
+ messageCount: number;
10
+ isActive: boolean;
11
+ }
12
+ interface CheckpointInfo {
13
+ id: string;
14
+ label: string;
15
+ branchId: string;
16
+ snapshotRef?: string | null;
17
+ createdAt: number;
18
+ }
19
+ export declare function renderInit(data: {
20
+ mcpStatus: 'created' | 'added' | 'exists' | 'failed';
21
+ }): Promise<unknown>;
22
+ export declare function renderCheckpoint(data: {
23
+ label: string;
24
+ syncedCount: number;
25
+ }): Promise<unknown>;
26
+ export declare function renderBranch(data: {
27
+ name: string;
28
+ fromCheckpoint: string;
29
+ restoreSummary?: {
30
+ written: number;
31
+ deleted: number;
32
+ skipped: number;
33
+ } | null;
34
+ contextPath: string;
35
+ launchResult: 'launched' | 'failed' | 'skipped';
36
+ }): Promise<unknown>;
37
+ export declare function renderRestore(data: {
38
+ label: string;
39
+ summary?: {
40
+ written: number;
41
+ deleted: number;
42
+ skipped: number;
43
+ } | null;
44
+ contextPath: string;
45
+ launchResult: 'launched' | 'failed' | 'skipped';
46
+ }): Promise<unknown>;
47
+ export declare function renderStatus(data: {
48
+ activeBranch: {
49
+ name: string;
50
+ };
51
+ messageCount: number;
52
+ branches: BranchInfo[];
53
+ checkpoints: CheckpointInfo[];
54
+ }): Promise<unknown>;
55
+ export declare function renderTree(data: {
56
+ branches: BranchInfo[];
57
+ checkpoints: CheckpointInfo[];
58
+ }): Promise<unknown>;
59
+ export declare function renderWatch(initialData: {
60
+ syncCount: number;
61
+ lastError?: string | null;
62
+ }): {
63
+ update(data: {
64
+ syncCount: number;
65
+ lastError?: string | null;
66
+ }): void;
67
+ cleanup(): void;
68
+ };
69
+ export declare function renderError(command: string, message: string, hintText?: string): Promise<unknown>;
70
+ export {};
71
+ //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/ui/render.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAAE,SAAS,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAA;CAAE,oBAGxF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,oBAG5E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9E,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;CACjD,oBAGA;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;CACjD,oBAGA;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B,oBAGA;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B,oBAGA;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE;iBAGxE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;;EAOhE;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,oBAW9E"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Ink render helpers for CLI commands.
3
+ * Kept separate so cli.ts doesn't need JSX.
4
+ */
5
+ import React from 'react';
6
+ import { render } from 'ink';
7
+ import InitView from './InitView.js';
8
+ import CheckpointView from './CheckpointView.js';
9
+ import BranchView from './BranchView.js';
10
+ import RestoreView from './RestoreView.js';
11
+ import StatusView from './StatusView.js';
12
+ import TreeView from './TreeView.js';
13
+ import WatchView from './WatchView.js';
14
+ import Panel from './Panel.js';
15
+ import { ErrorLine, Hint } from './components.js';
16
+ export function renderInit(data) {
17
+ const { waitUntilExit } = render(React.createElement(InitView, data));
18
+ return waitUntilExit();
19
+ }
20
+ export function renderCheckpoint(data) {
21
+ const { waitUntilExit } = render(React.createElement(CheckpointView, data));
22
+ return waitUntilExit();
23
+ }
24
+ export function renderBranch(data) {
25
+ const { waitUntilExit } = render(React.createElement(BranchView, data));
26
+ return waitUntilExit();
27
+ }
28
+ export function renderRestore(data) {
29
+ const { waitUntilExit } = render(React.createElement(RestoreView, data));
30
+ return waitUntilExit();
31
+ }
32
+ export function renderStatus(data) {
33
+ const { waitUntilExit } = render(React.createElement(StatusView, data));
34
+ return waitUntilExit();
35
+ }
36
+ export function renderTree(data) {
37
+ const { waitUntilExit } = render(React.createElement(TreeView, data));
38
+ return waitUntilExit();
39
+ }
40
+ export function renderWatch(initialData) {
41
+ const inst = render(React.createElement(WatchView, initialData));
42
+ return {
43
+ update(data) {
44
+ inst.rerender(React.createElement(WatchView, data));
45
+ },
46
+ cleanup() {
47
+ inst.unmount();
48
+ },
49
+ };
50
+ }
51
+ export function renderError(command, message, hintText) {
52
+ const children = [
53
+ React.createElement(ErrorLine, { key: 'err', children: message }),
54
+ ];
55
+ if (hintText) {
56
+ children.push(React.createElement(Hint, { key: 'hint', children: hintText }));
57
+ }
58
+ const { waitUntilExit } = render(React.createElement(Panel, { command, children }));
59
+ return waitUntilExit();
60
+ }
61
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/ui/render.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Shared theme constants for CLI and Ink components.
3
+ * Claude Code-inspired: minimal, muted, box-drawing borders.
4
+ */
5
+ export declare const colors: {
6
+ readonly purple: "#A78BFA";
7
+ readonly green: "#34D399";
8
+ readonly amber: "#FBBF24";
9
+ readonly red: "#F87171";
10
+ readonly blue: "#60A5FA";
11
+ readonly dimGray: "#6B7280";
12
+ readonly white: "#F9FAFB";
13
+ readonly slate: "#94A3B8";
14
+ readonly cyan: "#67E8F9";
15
+ };
16
+ export declare const icons: {
17
+ readonly logo: "◆";
18
+ readonly check: "✓";
19
+ readonly cross: "✗";
20
+ readonly dot: "·";
21
+ readonly arrow: "→";
22
+ readonly branch: "⎇";
23
+ readonly snap: "◈";
24
+ readonly active: "●";
25
+ readonly inactive: "○";
26
+ readonly warning: "▲";
27
+ readonly play: "▶";
28
+ readonly watching: "◉";
29
+ };
30
+ export declare const box: {
31
+ readonly topLeft: "╭";
32
+ readonly topRight: "╮";
33
+ readonly bottomLeft: "╰";
34
+ readonly bottomRight: "╯";
35
+ readonly horizontal: "─";
36
+ readonly vertical: "│";
37
+ };
38
+ export declare const tree: {
39
+ readonly vert: "│";
40
+ readonly fork: "├──";
41
+ readonly last: "└──";
42
+ readonly space: " ";
43
+ readonly vertSpace: "│ ";
44
+ };
45
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;CAUT,CAAC;AAEX,eAAO,MAAM,KAAK;;;;;;;;;;;;;CAaR,CAAC;AAEX,eAAO,MAAM,GAAG;;;;;;;CAON,CAAC;AAEX,eAAO,MAAM,IAAI;;;;;;CAMP,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Shared theme constants for CLI and Ink components.
3
+ * Claude Code-inspired: minimal, muted, box-drawing borders.
4
+ */
5
+ export const colors = {
6
+ purple: '#A78BFA',
7
+ green: '#34D399',
8
+ amber: '#FBBF24',
9
+ red: '#F87171',
10
+ blue: '#60A5FA',
11
+ dimGray: '#6B7280',
12
+ white: '#F9FAFB',
13
+ slate: '#94A3B8',
14
+ cyan: '#67E8F9',
15
+ };
16
+ export const icons = {
17
+ logo: '◆',
18
+ check: '✓',
19
+ cross: '✗',
20
+ dot: '·',
21
+ arrow: '→',
22
+ branch: '⎇',
23
+ snap: '◈',
24
+ active: '●',
25
+ inactive: '○',
26
+ warning: '▲',
27
+ play: '▶',
28
+ watching: '◉',
29
+ };
30
+ export const box = {
31
+ topLeft: '╭',
32
+ topRight: '╮',
33
+ bottomLeft: '╰',
34
+ bottomRight: '╯',
35
+ horizontal: '─',
36
+ vertical: '│',
37
+ };
38
+ export const tree = {
39
+ vert: '│',
40
+ fork: '├──',
41
+ last: '└──',
42
+ space: ' ',
43
+ vertSpace: '│ ',
44
+ };
45
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,GAAG;IACT,QAAQ,EAAE,GAAG;CACL,CAAC;AAEX,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,UAAU,EAAE,GAAG;IACf,QAAQ,EAAE,GAAG;CACL,CAAC;AAEX,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,MAAM;CACT,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@variantree/watcher",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Passive session file watcher and CLI for Variantree",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -9,7 +9,8 @@
9
9
  "variantree": "./dist/cli.js"
10
10
  },
11
11
  "files": [
12
- "dist"
12
+ "dist",
13
+ "scripts"
13
14
  ],
14
15
  "scripts": {
15
16
  "build": "tsc",
@@ -0,0 +1,65 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Postinstall script — registers the Variantree MCP server in all supported
4
+ * AI tool global configs (OpenCode, Claude Code).
5
+ *
6
+ * Runs automatically after `npm install -g @variantree/watcher`.
7
+ * Each registration is idempotent — skips if already configured.
8
+ */
9
+
10
+ import fs from 'node:fs';
11
+ import path from 'node:path';
12
+ import os from 'node:os';
13
+
14
+ const MCP_COMMAND_NPXARGS = ['-y', '@variantree/mcp'];
15
+ const MCP_ENV = { VARIANTREE_DIR: '.' };
16
+
17
+ // ─── OpenCode ────────────────────────────────────────────────────────────────
18
+
19
+ function registerOpenCode() {
20
+ const configDir = process.env.XDG_CONFIG_HOME
21
+ ?? path.join(os.homedir(), '.config');
22
+ const configPath = path.join(configDir, 'opencode', 'opencode.json');
23
+
24
+ let config = {};
25
+ try { config = JSON.parse(fs.readFileSync(configPath, 'utf8')); } catch {}
26
+
27
+ if (!config.mcp) config.mcp = {};
28
+ if (config.mcp.variantree) return;
29
+
30
+ config.mcp.variantree = {
31
+ type: 'local',
32
+ command: ['npx', ...MCP_COMMAND_NPXARGS],
33
+ environment: MCP_ENV,
34
+ };
35
+
36
+ fs.mkdirSync(path.dirname(configPath), { recursive: true });
37
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf8');
38
+ console.log('[variantree] OpenCode: MCP server registered in', configPath);
39
+ }
40
+
41
+ // ─── Claude Code ─────────────────────────────────────────────────────────────
42
+
43
+ function registerClaudeCode() {
44
+ const configPath = path.join(os.homedir(), '.claude.json');
45
+
46
+ let config = {};
47
+ try { config = JSON.parse(fs.readFileSync(configPath, 'utf8')); } catch {}
48
+
49
+ if (!config.mcpServers) config.mcpServers = {};
50
+ if (config.mcpServers.variantree) return;
51
+
52
+ config.mcpServers.variantree = {
53
+ command: 'npx',
54
+ args: MCP_COMMAND_NPXARGS,
55
+ env: MCP_ENV,
56
+ };
57
+
58
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf8');
59
+ console.log('[variantree] Claude Code: MCP server registered in', configPath);
60
+ }
61
+
62
+ // ─── Run ─────────────────────────────────────────────────────────────────────
63
+
64
+ try { registerOpenCode(); } catch {}
65
+ try { registerClaudeCode(); } catch {}