@tuskydp/cli 0.1.0

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 (153) hide show
  1. package/dist/bin/tuskydp.d.ts +3 -0
  2. package/dist/bin/tuskydp.d.ts.map +1 -0
  3. package/dist/bin/tuskydp.js +3 -0
  4. package/dist/bin/tuskydp.js.map +1 -0
  5. package/dist/src/client.d.ts +120 -0
  6. package/dist/src/client.d.ts.map +1 -0
  7. package/dist/src/client.js +152 -0
  8. package/dist/src/client.js.map +1 -0
  9. package/dist/src/commands/account.d.ts +3 -0
  10. package/dist/src/commands/account.d.ts.map +1 -0
  11. package/dist/src/commands/account.js +66 -0
  12. package/dist/src/commands/account.js.map +1 -0
  13. package/dist/src/commands/auth.d.ts +3 -0
  14. package/dist/src/commands/auth.d.ts.map +1 -0
  15. package/dist/src/commands/auth.js +171 -0
  16. package/dist/src/commands/auth.js.map +1 -0
  17. package/dist/src/commands/decrypt.d.ts +15 -0
  18. package/dist/src/commands/decrypt.d.ts.map +1 -0
  19. package/dist/src/commands/decrypt.js +224 -0
  20. package/dist/src/commands/decrypt.js.map +1 -0
  21. package/dist/src/commands/download.d.ts +5 -0
  22. package/dist/src/commands/download.d.ts.map +1 -0
  23. package/dist/src/commands/download.js +67 -0
  24. package/dist/src/commands/download.js.map +1 -0
  25. package/dist/src/commands/encryption.d.ts +3 -0
  26. package/dist/src/commands/encryption.d.ts.map +1 -0
  27. package/dist/src/commands/encryption.js +254 -0
  28. package/dist/src/commands/encryption.js.map +1 -0
  29. package/dist/src/commands/export.d.ts +70 -0
  30. package/dist/src/commands/export.d.ts.map +1 -0
  31. package/dist/src/commands/export.js +178 -0
  32. package/dist/src/commands/export.js.map +1 -0
  33. package/dist/src/commands/files.d.ts +3 -0
  34. package/dist/src/commands/files.d.ts.map +1 -0
  35. package/dist/src/commands/files.js +179 -0
  36. package/dist/src/commands/files.js.map +1 -0
  37. package/dist/src/commands/mcp.d.ts +8 -0
  38. package/dist/src/commands/mcp.d.ts.map +1 -0
  39. package/dist/src/commands/mcp.js +178 -0
  40. package/dist/src/commands/mcp.js.map +1 -0
  41. package/dist/src/commands/rehydrate.d.ts +5 -0
  42. package/dist/src/commands/rehydrate.d.ts.map +1 -0
  43. package/dist/src/commands/rehydrate.js +27 -0
  44. package/dist/src/commands/rehydrate.js.map +1 -0
  45. package/dist/src/commands/tui.d.ts +3 -0
  46. package/dist/src/commands/tui.d.ts.map +1 -0
  47. package/dist/src/commands/tui.js +10 -0
  48. package/dist/src/commands/tui.js.map +1 -0
  49. package/dist/src/commands/upload.d.ts +6 -0
  50. package/dist/src/commands/upload.d.ts.map +1 -0
  51. package/dist/src/commands/upload.js +121 -0
  52. package/dist/src/commands/upload.js.map +1 -0
  53. package/dist/src/commands/vault.d.ts +3 -0
  54. package/dist/src/commands/vault.d.ts.map +1 -0
  55. package/dist/src/commands/vault.js +118 -0
  56. package/dist/src/commands/vault.js.map +1 -0
  57. package/dist/src/config.d.ts +15 -0
  58. package/dist/src/config.d.ts.map +1 -0
  59. package/dist/src/config.js +26 -0
  60. package/dist/src/config.js.map +1 -0
  61. package/dist/src/crypto.d.ts +16 -0
  62. package/dist/src/crypto.d.ts.map +1 -0
  63. package/dist/src/crypto.js +95 -0
  64. package/dist/src/crypto.js.map +1 -0
  65. package/dist/src/index.d.ts +2 -0
  66. package/dist/src/index.d.ts.map +1 -0
  67. package/dist/src/index.js +59 -0
  68. package/dist/src/index.js.map +1 -0
  69. package/dist/src/lib/keyring.d.ts +4 -0
  70. package/dist/src/lib/keyring.d.ts.map +1 -0
  71. package/dist/src/lib/keyring.js +51 -0
  72. package/dist/src/lib/keyring.js.map +1 -0
  73. package/dist/src/lib/output.d.ts +6 -0
  74. package/dist/src/lib/output.d.ts.map +1 -0
  75. package/dist/src/lib/output.js +37 -0
  76. package/dist/src/lib/output.js.map +1 -0
  77. package/dist/src/lib/progress.d.ts +2 -0
  78. package/dist/src/lib/progress.d.ts.map +1 -0
  79. package/dist/src/lib/progress.js +5 -0
  80. package/dist/src/lib/progress.js.map +1 -0
  81. package/dist/src/lib/resolve.d.ts +3 -0
  82. package/dist/src/lib/resolve.d.ts.map +1 -0
  83. package/dist/src/lib/resolve.js +25 -0
  84. package/dist/src/lib/resolve.js.map +1 -0
  85. package/dist/src/mcp/context.d.ts +19 -0
  86. package/dist/src/mcp/context.d.ts.map +1 -0
  87. package/dist/src/mcp/context.js +8 -0
  88. package/dist/src/mcp/context.js.map +1 -0
  89. package/dist/src/mcp/server.d.ts +13 -0
  90. package/dist/src/mcp/server.d.ts.map +1 -0
  91. package/dist/src/mcp/server.js +113 -0
  92. package/dist/src/mcp/server.js.map +1 -0
  93. package/dist/src/mcp/tools/account.d.ts +7 -0
  94. package/dist/src/mcp/tools/account.d.ts.map +1 -0
  95. package/dist/src/mcp/tools/account.js +31 -0
  96. package/dist/src/mcp/tools/account.js.map +1 -0
  97. package/dist/src/mcp/tools/files.d.ts +10 -0
  98. package/dist/src/mcp/tools/files.d.ts.map +1 -0
  99. package/dist/src/mcp/tools/files.js +310 -0
  100. package/dist/src/mcp/tools/files.js.map +1 -0
  101. package/dist/src/mcp/tools/folders.d.ts +7 -0
  102. package/dist/src/mcp/tools/folders.d.ts.map +1 -0
  103. package/dist/src/mcp/tools/folders.js +67 -0
  104. package/dist/src/mcp/tools/folders.js.map +1 -0
  105. package/dist/src/mcp/tools/helpers.d.ts +15 -0
  106. package/dist/src/mcp/tools/helpers.d.ts.map +1 -0
  107. package/dist/src/mcp/tools/helpers.js +25 -0
  108. package/dist/src/mcp/tools/helpers.js.map +1 -0
  109. package/dist/src/mcp/tools/trash.d.ts +7 -0
  110. package/dist/src/mcp/tools/trash.d.ts.map +1 -0
  111. package/dist/src/mcp/tools/trash.js +46 -0
  112. package/dist/src/mcp/tools/trash.js.map +1 -0
  113. package/dist/src/mcp/tools/vaults.d.ts +7 -0
  114. package/dist/src/mcp/tools/vaults.d.ts.map +1 -0
  115. package/dist/src/mcp/tools/vaults.js +85 -0
  116. package/dist/src/mcp/tools/vaults.js.map +1 -0
  117. package/dist/src/sdk.d.ts +53 -0
  118. package/dist/src/sdk.d.ts.map +1 -0
  119. package/dist/src/sdk.js +88 -0
  120. package/dist/src/sdk.js.map +1 -0
  121. package/dist/src/tui/auth-screen.d.ts +6 -0
  122. package/dist/src/tui/auth-screen.d.ts.map +1 -0
  123. package/dist/src/tui/auth-screen.js +165 -0
  124. package/dist/src/tui/auth-screen.js.map +1 -0
  125. package/dist/src/tui/dialogs.d.ts +10 -0
  126. package/dist/src/tui/dialogs.d.ts.map +1 -0
  127. package/dist/src/tui/dialogs.js +303 -0
  128. package/dist/src/tui/dialogs.js.map +1 -0
  129. package/dist/src/tui/files-panel.d.ts +34 -0
  130. package/dist/src/tui/files-panel.d.ts.map +1 -0
  131. package/dist/src/tui/files-panel.js +135 -0
  132. package/dist/src/tui/files-panel.js.map +1 -0
  133. package/dist/src/tui/helpers.d.ts +38 -0
  134. package/dist/src/tui/helpers.d.ts.map +1 -0
  135. package/dist/src/tui/helpers.js +187 -0
  136. package/dist/src/tui/helpers.js.map +1 -0
  137. package/dist/src/tui/index.d.ts +2 -0
  138. package/dist/src/tui/index.d.ts.map +1 -0
  139. package/dist/src/tui/index.js +382 -0
  140. package/dist/src/tui/index.js.map +1 -0
  141. package/dist/src/tui/overview.d.ts +4 -0
  142. package/dist/src/tui/overview.d.ts.map +1 -0
  143. package/dist/src/tui/overview.js +136 -0
  144. package/dist/src/tui/overview.js.map +1 -0
  145. package/dist/src/tui/status-bar.d.ts +18 -0
  146. package/dist/src/tui/status-bar.d.ts.map +1 -0
  147. package/dist/src/tui/status-bar.js +54 -0
  148. package/dist/src/tui/status-bar.js.map +1 -0
  149. package/dist/src/tui/vaults-panel.d.ts +26 -0
  150. package/dist/src/tui/vaults-panel.d.ts.map +1 -0
  151. package/dist/src/tui/vaults-panel.js +118 -0
  152. package/dist/src/tui/vaults-panel.js.map +1 -0
  153. package/package.json +42 -0
@@ -0,0 +1,26 @@
1
+ import blessed from 'blessed';
2
+ import type { TuskyClient } from '@tuskydp/sdk';
3
+ export interface VaultItem {
4
+ id: string;
5
+ name: string;
6
+ slug: string;
7
+ visibility: string;
8
+ fileCount: number;
9
+ totalSizeBytes: number;
10
+ }
11
+ export declare class VaultsPanel {
12
+ list: blessed.Widgets.ListElement;
13
+ private screen;
14
+ private sdk;
15
+ private vaults;
16
+ private loading;
17
+ private onSelect;
18
+ constructor(screen: blessed.Widgets.Screen, sdk: TuskyClient, parent: blessed.Widgets.BoxElement, onSelect: (vault: VaultItem) => void);
19
+ load(): Promise<void>;
20
+ getSelected(): VaultItem | null;
21
+ getVaults(): VaultItem[];
22
+ focus(): void;
23
+ blur(): void;
24
+ destroy(): void;
25
+ }
26
+ //# sourceMappingURL=vaults-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaults-panel.d.ts","sourceRoot":"","sources":["../../../src/tui/vaults-panel.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,WAAW;IACtB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;IAClC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAA6B;gBAG3C,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAC9B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI;IA4ChC,IAAI;IAkDV,WAAW,IAAI,SAAS,GAAG,IAAI;IAK/B,SAAS,IAAI,SAAS,EAAE;IAIxB,KAAK;IAML,IAAI;IAKJ,OAAO;CAGR"}
@@ -0,0 +1,118 @@
1
+ import blessed from 'blessed';
2
+ import { formatBytes, formatRow, getCurrentTheme } from './helpers.js';
3
+ export class VaultsPanel {
4
+ list;
5
+ screen;
6
+ sdk;
7
+ vaults = [];
8
+ loading = false;
9
+ onSelect;
10
+ constructor(screen, sdk, parent, onSelect) {
11
+ this.screen = screen;
12
+ this.sdk = sdk;
13
+ this.onSelect = onSelect;
14
+ this.list = blessed.list({
15
+ parent,
16
+ top: 0,
17
+ left: 0,
18
+ width: '100%',
19
+ height: '100%',
20
+ border: { type: 'line' },
21
+ style: {
22
+ border: { fg: 'cyan' },
23
+ fg: 'white',
24
+ selected: {
25
+ bg: 'cyan',
26
+ fg: 'black',
27
+ },
28
+ focus: {
29
+ border: { fg: 'green' },
30
+ },
31
+ },
32
+ label: ' Vaults ',
33
+ tags: true,
34
+ keys: true,
35
+ vi: true,
36
+ interactive: true,
37
+ scrollable: true,
38
+ alwaysScroll: true,
39
+ scrollbar: {
40
+ style: { bg: 'cyan' },
41
+ },
42
+ });
43
+ // Load files when navigating vaults (not on Enter — that shows details)
44
+ this.list.on('select item', (_item, index) => {
45
+ if (this.vaults[index]) {
46
+ this.onSelect(this.vaults[index]);
47
+ }
48
+ });
49
+ }
50
+ async load() {
51
+ if (this.loading)
52
+ return;
53
+ this.loading = true;
54
+ this.list.setItems(['Loading vaults...']);
55
+ this.screen.render();
56
+ try {
57
+ const vaults = await this.sdk.vaults.list();
58
+ this.vaults = vaults.map((v) => ({
59
+ id: v.id,
60
+ name: v.name,
61
+ slug: v.slug,
62
+ visibility: v.visibility,
63
+ fileCount: v.fileCount || 0,
64
+ totalSizeBytes: v.totalSizeBytes || 0,
65
+ }));
66
+ if (this.vaults.length === 0) {
67
+ this.list.setItems(['(no vaults — press n to create)']);
68
+ }
69
+ else {
70
+ // Calculate available width (subtract border + padding)
71
+ const totalW = this.list.width - 4;
72
+ const filesW = 7; // "999 files" max ~9
73
+ const visW = 7; // "private"
74
+ const sizeW = 9; // "999.9 GB"
75
+ const nameW = Math.max(8, totalW - filesW - visW - sizeW - 3);
76
+ const items = this.vaults.map((v) => {
77
+ const vis = v.visibility === 'private' ? 'private' : 'public';
78
+ const visTagged = v.visibility === 'private' ? '{yellow-fg}private{/yellow-fg}' : '{green-fg}public{/green-fg}';
79
+ const size = formatBytes(v.totalSizeBytes);
80
+ const files = `${v.fileCount}`;
81
+ const name = v.name.length > nameW ? v.name.slice(0, nameW - 1) + '…' : v.name;
82
+ return formatRow([
83
+ { text: name, width: nameW },
84
+ { text: vis, tagged: visTagged, width: visW },
85
+ { text: files, width: filesW, align: 'right' },
86
+ { text: size, width: sizeW, align: 'right' },
87
+ ], totalW);
88
+ });
89
+ this.list.setItems(items);
90
+ }
91
+ }
92
+ catch (err) {
93
+ this.list.setItems([`Error: ${err.message}`]);
94
+ }
95
+ this.loading = false;
96
+ this.screen.render();
97
+ }
98
+ getSelected() {
99
+ const idx = this.list.selected;
100
+ return this.vaults[idx] || null;
101
+ }
102
+ getVaults() {
103
+ return this.vaults;
104
+ }
105
+ focus() {
106
+ this.list.focus();
107
+ this.list.style.border = { fg: getCurrentTheme().borderFocus };
108
+ this.screen.render();
109
+ }
110
+ blur() {
111
+ this.list.style.border = { fg: getCurrentTheme().border };
112
+ this.screen.render();
113
+ }
114
+ destroy() {
115
+ this.list.destroy();
116
+ }
117
+ }
118
+ //# sourceMappingURL=vaults-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaults-panel.js","sourceRoot":"","sources":["../../../src/tui/vaults-panel.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@tuskydp/cli",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "bin": {
6
+ "tusky": "./dist/bin/tuskydp.js"
7
+ },
8
+ "dependencies": {
9
+ "@modelcontextprotocol/sdk": "^1.27.1",
10
+ "blessed": "^0.1.81",
11
+ "chalk": "^5.4.1",
12
+ "cli-table3": "^0.6.0",
13
+ "commander": "^13.0.0",
14
+ "conf": "^13.0.0",
15
+ "inquirer": "^12.0.0",
16
+ "mime-types": "^3.0.0",
17
+ "ora": "^8.0.0",
18
+ "zod": "3",
19
+ "@tuskydp/sdk": "0.1.0",
20
+ "@tuskydp/shared": "0.1.0"
21
+ },
22
+ "devDependencies": {
23
+ "@types/blessed": "^0.1.27",
24
+ "@types/mime-types": "^2.1.0",
25
+ "@types/node": "^22.0.0",
26
+ "tsx": "^4.0.0",
27
+ "typescript": "^5.6.0"
28
+ },
29
+ "publishConfig": {
30
+ "access": "public"
31
+ },
32
+ "files": [
33
+ "dist"
34
+ ],
35
+ "scripts": {
36
+ "dev": "tsx src/index.ts",
37
+ "build": "tsc",
38
+ "typecheck": "tsc --noEmit",
39
+ "test": "vitest run",
40
+ "test:watch": "vitest"
41
+ }
42
+ }