dev3000 0.0.130 → 0.0.134

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 (110) hide show
  1. package/bin/dev3000 +90 -0
  2. package/dist/cli.d.ts +1 -1
  3. package/dist/cli.js +216 -51
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/cloud-fix.js +8 -8
  6. package/dist/commands/cloud-fix.js.map +1 -1
  7. package/dist/components/AgentSelector.d.ts +12 -0
  8. package/dist/components/AgentSelector.d.ts.map +1 -0
  9. package/dist/components/AgentSelector.js +99 -0
  10. package/dist/components/AgentSelector.js.map +1 -0
  11. package/dist/components/SkillSelector.d.ts +9 -0
  12. package/dist/components/SkillSelector.d.ts.map +1 -0
  13. package/dist/components/SkillSelector.js +70 -0
  14. package/dist/components/SkillSelector.js.map +1 -0
  15. package/dist/dev-environment.d.ts +38 -0
  16. package/dist/dev-environment.d.ts.map +1 -1
  17. package/dist/dev-environment.js +350 -116
  18. package/dist/dev-environment.js.map +1 -1
  19. package/dist/src/tui-interface-impl.tsx +36 -22
  20. package/dist/tui-interface-impl.d.ts +10 -6
  21. package/dist/tui-interface-impl.d.ts.map +1 -1
  22. package/dist/tui-interface-impl.js +24 -16
  23. package/dist/tui-interface-impl.js.map +1 -1
  24. package/dist/tui-interface.d.ts +11 -7
  25. package/dist/tui-interface.d.ts.map +1 -1
  26. package/dist/tui-interface.js +6 -6
  27. package/dist/tui-interface.js.map +1 -1
  28. package/dist/utils/agent-selection.d.ts +24 -0
  29. package/dist/utils/agent-selection.d.ts.map +1 -0
  30. package/dist/utils/agent-selection.js +34 -0
  31. package/dist/utils/agent-selection.js.map +1 -0
  32. package/dist/utils/project-name.d.ts +6 -0
  33. package/dist/utils/project-name.d.ts.map +1 -1
  34. package/dist/utils/project-name.js +10 -0
  35. package/dist/utils/project-name.js.map +1 -1
  36. package/dist/utils/skill-installer.d.ts +29 -0
  37. package/dist/utils/skill-installer.d.ts.map +1 -0
  38. package/dist/utils/skill-installer.js +185 -0
  39. package/dist/utils/skill-installer.js.map +1 -0
  40. package/dist/utils/tmux-helpers.d.ts +35 -0
  41. package/dist/utils/tmux-helpers.d.ts.map +1 -0
  42. package/dist/utils/tmux-helpers.js +62 -0
  43. package/dist/utils/tmux-helpers.js.map +1 -0
  44. package/dist/utils/user-config.d.ts +6 -0
  45. package/dist/utils/user-config.d.ts.map +1 -1
  46. package/dist/utils/user-config.js +30 -5
  47. package/dist/utils/user-config.js.map +1 -1
  48. package/dist/utils/version-check.d.ts +10 -1
  49. package/dist/utils/version-check.d.ts.map +1 -1
  50. package/dist/utils/version-check.js +60 -2
  51. package/dist/utils/version-check.js.map +1 -1
  52. package/mcp-server/.next/BUILD_ID +1 -1
  53. package/mcp-server/.next/build-manifest.json +2 -2
  54. package/mcp-server/.next/fallback-build-manifest.json +2 -2
  55. package/mcp-server/.next/next-minimal-server.js.nft.json +1 -1
  56. package/mcp-server/.next/next-server.js.nft.json +1 -1
  57. package/mcp-server/.next/prerender-manifest.json +3 -3
  58. package/mcp-server/.next/server/app/_global-error/page.js.nft.json +1 -1
  59. package/mcp-server/.next/server/app/_global-error.html +2 -2
  60. package/mcp-server/.next/server/app/_global-error.rsc +1 -1
  61. package/mcp-server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  62. package/mcp-server/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  63. package/mcp-server/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  64. package/mcp-server/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  65. package/mcp-server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  66. package/mcp-server/.next/server/app/_not-found/page.js.nft.json +1 -1
  67. package/mcp-server/.next/server/app/_not-found.html +1 -1
  68. package/mcp-server/.next/server/app/_not-found.rsc +1 -1
  69. package/mcp-server/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  70. package/mcp-server/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  71. package/mcp-server/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  72. package/mcp-server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  73. package/mcp-server/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  74. package/mcp-server/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  75. package/mcp-server/.next/server/app/api/jank/[session]/route.js.nft.json +1 -1
  76. package/mcp-server/.next/server/app/api/logs/append/route.js.nft.json +1 -1
  77. package/mcp-server/.next/server/app/api/logs/head/route.js.nft.json +1 -1
  78. package/mcp-server/.next/server/app/api/logs/list/route.js.nft.json +1 -1
  79. package/mcp-server/.next/server/app/api/logs/rotate/route.js.nft.json +1 -1
  80. package/mcp-server/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  81. package/mcp-server/.next/server/app/api/logs/tail/route.js.nft.json +1 -1
  82. package/mcp-server/.next/server/app/api/orchestrator/route.js.nft.json +1 -1
  83. package/mcp-server/.next/server/app/api/screenshots/[filename]/route.js.nft.json +1 -1
  84. package/mcp-server/.next/server/app/api/screenshots/capture/route.js.nft.json +1 -1
  85. package/mcp-server/.next/server/app/api/screenshots/clear/route.js.nft.json +1 -1
  86. package/mcp-server/.next/server/app/api/screenshots/list/route.js.nft.json +1 -1
  87. package/mcp-server/.next/server/app/api/teams/route.js.nft.json +1 -1
  88. package/mcp-server/.next/server/app/api/tools/route.js.nft.json +1 -1
  89. package/mcp-server/.next/server/app/index.html +1 -1
  90. package/mcp-server/.next/server/app/index.rsc +1 -1
  91. package/mcp-server/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  92. package/mcp-server/.next/server/app/index.segments/_full.segment.rsc +1 -1
  93. package/mcp-server/.next/server/app/index.segments/_head.segment.rsc +1 -1
  94. package/mcp-server/.next/server/app/index.segments/_index.segment.rsc +1 -1
  95. package/mcp-server/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  96. package/mcp-server/.next/server/app/logs/page.js.nft.json +1 -1
  97. package/mcp-server/.next/server/app/mcp/route.js.nft.json +1 -1
  98. package/mcp-server/.next/server/app/page.js.nft.json +1 -1
  99. package/mcp-server/.next/server/app/video/[session]/page.js.nft.json +1 -1
  100. package/mcp-server/.next/server/chunks/[root-of-the-server]__141a5bc7._.js.map +1 -1
  101. package/mcp-server/.next/server/pages/404.html +1 -1
  102. package/mcp-server/.next/server/pages/500.html +2 -2
  103. package/mcp-server/.next/server/server-reference-manifest.js +1 -1
  104. package/mcp-server/.next/server/server-reference-manifest.json +1 -1
  105. package/mcp-server/app/mcp/route.ts +2 -0
  106. package/package.json +11 -4
  107. package/src/tui-interface-impl.tsx +36 -22
  108. /package/mcp-server/.next/static/{YTIno5QuIO6mgeAWJ8zng → Fekb6bDxTd8hH8dFQNlIK}/_buildManifest.js +0 -0
  109. /package/mcp-server/.next/static/{YTIno5QuIO6mgeAWJ8zng → Fekb6bDxTd8hH8dFQNlIK}/_clientMiddlewareManifest.json +0 -0
  110. /package/mcp-server/.next/static/{YTIno5QuIO6mgeAWJ8zng → Fekb6bDxTd8hH8dFQNlIK}/_ssgManifest.js +0 -0
@@ -0,0 +1,185 @@
1
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
2
+ import path from "path";
3
+ import { getProjectDir } from "./project-name.js";
4
+ const GITHUB_REPO = "vercel-labs/agent-skills";
5
+ const SKILLS_PATH = "dx/skills";
6
+ // Skills are installed to project's .claude/skills/ (where Claude Code expects them)
7
+ function getProjectSkillsDir() {
8
+ return path.join(process.cwd(), ".claude", "skills");
9
+ }
10
+ // Tracking data stored in ~/.d3k/{projectName}/skills.json
11
+ function getInstalledSkillsPath() {
12
+ return path.join(getProjectDir(), "skills.json");
13
+ }
14
+ export function loadInstalledSkills() {
15
+ const filePath = getInstalledSkillsPath();
16
+ if (!existsSync(filePath)) {
17
+ return { skills: {}, seenSkills: [] };
18
+ }
19
+ try {
20
+ const content = readFileSync(filePath, "utf-8");
21
+ return JSON.parse(content);
22
+ }
23
+ catch {
24
+ return { skills: {}, seenSkills: [] };
25
+ }
26
+ }
27
+ export function saveInstalledSkills(data) {
28
+ const projectDir = getProjectDir();
29
+ if (!existsSync(projectDir)) {
30
+ mkdirSync(projectDir, { recursive: true });
31
+ }
32
+ writeFileSync(getInstalledSkillsPath(), JSON.stringify(data, null, 2));
33
+ }
34
+ function parseSkillDescription(content) {
35
+ // Parse YAML frontmatter to extract description
36
+ const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---/);
37
+ if (!frontmatterMatch) {
38
+ return "";
39
+ }
40
+ const frontmatter = frontmatterMatch[1];
41
+ const descriptionMatch = frontmatter.match(/description:\s*(.+)/);
42
+ if (descriptionMatch) {
43
+ return descriptionMatch[1].trim();
44
+ }
45
+ return "";
46
+ }
47
+ export async function fetchAvailableSkills() {
48
+ try {
49
+ // Fetch list of skills from GitHub
50
+ const response = await fetch(`https://api.github.com/repos/${GITHUB_REPO}/contents/${SKILLS_PATH}`);
51
+ if (!response.ok) {
52
+ return [];
53
+ }
54
+ const items = (await response.json());
55
+ // Filter to only directories (actual skills, not .zip files)
56
+ const skillDirs = items.filter((item) => item.type === "dir");
57
+ // Fetch description for each skill
58
+ const skills = [];
59
+ for (const dir of skillDirs) {
60
+ try {
61
+ const skillMdUrl = `https://raw.githubusercontent.com/${GITHUB_REPO}/main/${dir.path}/SKILL.md`;
62
+ const skillMdResponse = await fetch(skillMdUrl);
63
+ let description = "";
64
+ if (skillMdResponse.ok) {
65
+ const content = await skillMdResponse.text();
66
+ description = parseSkillDescription(content);
67
+ }
68
+ skills.push({
69
+ name: dir.name,
70
+ description: description || `${dir.name} skill`,
71
+ path: dir.path,
72
+ sha: dir.sha,
73
+ isNew: false, // Will be set by getActionableSkills
74
+ isUpdate: false // Will be set by getActionableSkills
75
+ });
76
+ }
77
+ catch {
78
+ // Skip skills we can't fetch
79
+ }
80
+ }
81
+ return skills;
82
+ }
83
+ catch {
84
+ // Network error or API rate limit - return empty
85
+ return [];
86
+ }
87
+ }
88
+ export function getActionableSkills(available, installed) {
89
+ const actionable = [];
90
+ for (const skill of available) {
91
+ const installedInfo = installed.skills[skill.name];
92
+ const seenKey = `${skill.name}:${skill.sha}`;
93
+ if (!installedInfo) {
94
+ // New skill - check if user already skipped this version
95
+ if (!installed.seenSkills.includes(seenKey)) {
96
+ actionable.push({ ...skill, isNew: true, isUpdate: false });
97
+ }
98
+ }
99
+ else if (installedInfo.sha !== skill.sha) {
100
+ // Update available - check if user already skipped this version
101
+ if (!installed.seenSkills.includes(seenKey)) {
102
+ actionable.push({ ...skill, isNew: false, isUpdate: true });
103
+ }
104
+ }
105
+ // If sha matches, skill is up to date - skip
106
+ }
107
+ return actionable;
108
+ }
109
+ async function downloadDirectory(dirPath, targetDir) {
110
+ const response = await fetch(`https://api.github.com/repos/${GITHUB_REPO}/contents/${dirPath}`);
111
+ if (!response.ok) {
112
+ throw new Error(`Failed to fetch directory: ${dirPath}`);
113
+ }
114
+ const items = (await response.json());
115
+ for (const item of items) {
116
+ if (item.type === "file" && item.download_url) {
117
+ // Download file
118
+ const fileResponse = await fetch(item.download_url);
119
+ if (!fileResponse.ok) {
120
+ continue;
121
+ }
122
+ const content = await fileResponse.text();
123
+ const filePath = path.join(targetDir, item.name);
124
+ writeFileSync(filePath, content);
125
+ }
126
+ else if (item.type === "dir") {
127
+ // Create subdirectory and recurse
128
+ const subDir = path.join(targetDir, item.name);
129
+ if (!existsSync(subDir)) {
130
+ mkdirSync(subDir, { recursive: true });
131
+ }
132
+ await downloadDirectory(item.path, subDir);
133
+ }
134
+ }
135
+ }
136
+ export async function installSkill(skill) {
137
+ const skillDir = path.join(getProjectSkillsDir(), skill.name);
138
+ // Create skill directory
139
+ if (!existsSync(skillDir)) {
140
+ mkdirSync(skillDir, { recursive: true });
141
+ }
142
+ // Download all files recursively
143
+ await downloadDirectory(skill.path, skillDir);
144
+ // Update installed.json
145
+ const installed = loadInstalledSkills();
146
+ installed.skills[skill.name] = {
147
+ installedAt: new Date().toISOString(),
148
+ sha: skill.sha
149
+ };
150
+ // Remove from seenSkills if it was there (user chose to install after skipping)
151
+ installed.seenSkills = installed.seenSkills.filter((s) => !s.startsWith(`${skill.name}:`));
152
+ saveInstalledSkills(installed);
153
+ }
154
+ export function markSkillsAsSeen(skills) {
155
+ const installed = loadInstalledSkills();
156
+ for (const skill of skills) {
157
+ const seenKey = `${skill.name}:${skill.sha}`;
158
+ if (!installed.seenSkills.includes(seenKey)) {
159
+ installed.seenSkills.push(seenKey);
160
+ }
161
+ }
162
+ saveInstalledSkills(installed);
163
+ }
164
+ export async function checkForNewSkills() {
165
+ const available = await fetchAvailableSkills();
166
+ const installed = loadInstalledSkills();
167
+ return getActionableSkills(available, installed);
168
+ }
169
+ export async function installSelectedSkills(skills, onProgress) {
170
+ const success = [];
171
+ const failed = [];
172
+ for (let i = 0; i < skills.length; i++) {
173
+ const skill = skills[i];
174
+ onProgress?.(skill, i, skills.length);
175
+ try {
176
+ await installSkill(skill);
177
+ success.push(skill.name);
178
+ }
179
+ catch {
180
+ failed.push(skill.name);
181
+ }
182
+ }
183
+ return { success, failed };
184
+ }
185
+ //# sourceMappingURL=skill-installer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-installer.js","sourceRoot":"","sources":["../../src/utils/skill-installer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Helper functions for tmux split-screen mode with --with-agent flag.
3
+ * Extracted for testability.
4
+ */
5
+ export interface TmuxSessionConfig {
6
+ sessionName: string;
7
+ d3kCommand: string;
8
+ agentCommand: string;
9
+ agentDelay: number;
10
+ paneWidthPercent: number;
11
+ }
12
+ /**
13
+ * Generate tmux commands for setting up split-screen mode.
14
+ */
15
+ export declare function generateTmuxCommands(config: TmuxSessionConfig): string[];
16
+ /**
17
+ * Generate a unique session name for tmux.
18
+ */
19
+ export declare function generateSessionName(): string;
20
+ /**
21
+ * Check if tmux is installed by looking for the binary.
22
+ */
23
+ export declare function isTmuxInstalled(): Promise<boolean>;
24
+ /**
25
+ * Get installation instructions for tmux based on platform.
26
+ */
27
+ export declare function getTmuxInstallInstructions(): string[];
28
+ /**
29
+ * Default configuration for tmux split-screen.
30
+ */
31
+ export declare const DEFAULT_TMUX_CONFIG: {
32
+ agentDelay: number;
33
+ paneWidthPercent: number;
34
+ };
35
+ //# sourceMappingURL=tmux-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tmux-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/tmux-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,EAAE,CA6BxE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAQxD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CAErD;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;CAG/B,CAAA"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Helper functions for tmux split-screen mode with --with-agent flag.
3
+ * Extracted for testability.
4
+ */
5
+ /**
6
+ * Generate tmux commands for setting up split-screen mode.
7
+ */
8
+ export function generateTmuxCommands(config) {
9
+ const { sessionName, d3kCommand, agentCommand, agentDelay, paneWidthPercent } = config;
10
+ const agentWithDelay = agentDelay > 0 ? `sleep ${agentDelay} && ${agentCommand}` : agentCommand;
11
+ return [
12
+ // Create new session with d3k in the first pane (will be right side)
13
+ `tmux new-session -d -s "${sessionName}" "${d3kCommand}"`,
14
+ // Increase scrollback buffer for more history
15
+ `tmux set-option -t "${sessionName}" history-limit 10000`,
16
+ // Hide the tmux status bar for a cleaner look
17
+ `tmux set-option -t "${sessionName}" status off`,
18
+ // When any pane exits, kill the entire session (so Ctrl-C in either pane exits both)
19
+ `tmux set-hook -t "${sessionName}" pane-exited "kill-session -t ${sessionName}"`,
20
+ // Make inactive pane borders subtle gray, active pane border purple to show focus
21
+ `tmux set-option -t "${sessionName}" pane-border-style "fg=#333333"`,
22
+ `tmux set-option -t "${sessionName}" pane-active-border-style "fg=#A18CE5"`,
23
+ // Split horizontally and run agent in the new pane (left side)
24
+ // -b puts the new pane before (left of) the current one
25
+ `tmux split-window -h -b -p ${paneWidthPercent} -t "${sessionName}" "${agentWithDelay}"`,
26
+ // Focus on the agent pane (left side, pane 0 after split with -b)
27
+ `tmux select-pane -t "${sessionName}:0.0"`
28
+ ];
29
+ }
30
+ /**
31
+ * Generate a unique session name for tmux.
32
+ */
33
+ export function generateSessionName() {
34
+ return `d3k-${Date.now()}`;
35
+ }
36
+ /**
37
+ * Check if tmux is installed by looking for the binary.
38
+ */
39
+ export async function isTmuxInstalled() {
40
+ const { execSync } = await import("child_process");
41
+ try {
42
+ execSync("which tmux", { stdio: "ignore" });
43
+ return true;
44
+ }
45
+ catch {
46
+ return false;
47
+ }
48
+ }
49
+ /**
50
+ * Get installation instructions for tmux based on platform.
51
+ */
52
+ export function getTmuxInstallInstructions() {
53
+ return ["macOS: brew install tmux", "Ubuntu: sudo apt install tmux", "Fedora: sudo dnf install tmux"];
54
+ }
55
+ /**
56
+ * Default configuration for tmux split-screen.
57
+ */
58
+ export const DEFAULT_TMUX_CONFIG = {
59
+ agentDelay: 5, // 5 seconds for MCP to start
60
+ paneWidthPercent: 65 // Agent gets 65% of width
61
+ };
62
+ //# sourceMappingURL=tmux-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tmux-helpers.js","sourceRoot":"","sources":["../../src/utils/tmux-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAyB;IAC5D,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAA;IAEtF,MAAM,cAAc,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;IAE/F,OAAO;QACL,qEAAqE;QACrE,2BAA2B,WAAW,MAAM,UAAU,GAAG;QAEzD,8CAA8C;QAC9C,uBAAuB,WAAW,uBAAuB;QAEzD,8CAA8C;QAC9C,uBAAuB,WAAW,cAAc;QAEhD,qFAAqF;QACrF,qBAAqB,WAAW,kCAAkC,WAAW,GAAG;QAEhF,kFAAkF;QAClF,uBAAuB,WAAW,kCAAkC;QACpE,uBAAuB,WAAW,yCAAyC;QAE3E,+DAA+D;QAC/D,wDAAwD;QACxD,8BAA8B,gBAAgB,QAAQ,WAAW,MAAM,cAAc,GAAG;QAExF,kEAAkE;QAClE,wBAAwB,WAAW,OAAO;KAC3C,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;IAClD,IAAI,CAAC;QACH,QAAQ,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC3C,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,CAAC,2BAA2B,EAAE,+BAA+B,EAAE,+BAA+B,CAAC,CAAA;AACxG,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU,EAAE,CAAC,EAAE,6BAA6B;IAC5C,gBAAgB,EAAE,EAAE,CAAC,0BAA0B;CAChD,CAAA"}
@@ -1,6 +1,12 @@
1
+ export interface AgentConfig {
2
+ name: string;
3
+ command: string;
4
+ }
1
5
  export interface UserConfig {
2
6
  disableMcpConfigs?: string;
7
+ defaultAgent?: AgentConfig;
3
8
  }
4
9
  export declare function getUserConfigPath(): string;
5
10
  export declare function loadUserConfig(): UserConfig;
11
+ export declare function saveUserConfig(updates: Partial<UserConfig>): void;
6
12
  //# sourceMappingURL=user-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-config.d.ts","sourceRoot":"","sources":["../../src/utils/user-config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAcD,wBAAgB,cAAc,IAAI,UAAU,CAgB3C"}
1
+ {"version":3,"file":"user-config.d.ts","sourceRoot":"","sources":["../../src/utils/user-config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,WAAW,CAAA;CAC3B;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAcD,wBAAgB,cAAc,IAAI,UAAU,CA0B3C;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAmBjE"}
@@ -1,9 +1,8 @@
1
- import { existsSync, readFileSync } from "fs";
1
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
2
2
  import { homedir } from "os";
3
- import { join } from "path";
3
+ import { dirname, join } from "path";
4
4
  export function getUserConfigPath() {
5
- const configHome = process.env.XDG_CONFIG_HOME || join(homedir(), ".config");
6
- return join(configHome, "dev3000", "config.json");
5
+ return join(homedir(), ".d3k", "config.json");
7
6
  }
8
7
  function normalizeDisableList(value) {
9
8
  if (typeof value === "string" && value.trim().length > 0) {
@@ -23,10 +22,36 @@ export function loadUserConfig() {
23
22
  const content = readFileSync(configPath, "utf-8");
24
23
  const parsed = JSON.parse(content);
25
24
  const disableList = normalizeDisableList(parsed.disableMcpConfigs);
26
- return disableList ? { disableMcpConfigs: disableList } : {};
25
+ const config = {};
26
+ if (disableList) {
27
+ config.disableMcpConfigs = disableList;
28
+ }
29
+ if (parsed.defaultAgent && typeof parsed.defaultAgent === "object") {
30
+ const agent = parsed.defaultAgent;
31
+ if (typeof agent.name === "string" && typeof agent.command === "string") {
32
+ config.defaultAgent = { name: agent.name, command: agent.command };
33
+ }
34
+ }
35
+ return config;
27
36
  }
28
37
  catch {
29
38
  return {};
30
39
  }
31
40
  }
41
+ export function saveUserConfig(updates) {
42
+ const configPath = getUserConfigPath();
43
+ const configDir = dirname(configPath);
44
+ // Ensure directory exists
45
+ if (!existsSync(configDir)) {
46
+ mkdirSync(configDir, { recursive: true });
47
+ }
48
+ // Load existing config and merge
49
+ const existing = loadUserConfig();
50
+ const merged = { ...existing, ...updates };
51
+ // Remove defaultAgent if set to undefined (user chose "No agent")
52
+ if (updates.defaultAgent === undefined && "defaultAgent" in updates) {
53
+ delete merged.defaultAgent;
54
+ }
55
+ writeFileSync(configPath, JSON.stringify(merged, null, 2));
56
+ }
32
57
  //# sourceMappingURL=user-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-config.js","sourceRoot":"","sources":["../../src/utils/user-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAM3B,MAAM,UAAU,iBAAiB;IAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;IAC5E,OAAO,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;AACnD,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC5E,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAA;IAEtC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAA;QAC7D,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAElE,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"user-config.js","sourceRoot":"","sources":["../../src/utils/user-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAYpC,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC5E,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAA;IAEtC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAA;QAC7D,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAElE,MAAM,MAAM,GAAe,EAAE,CAAA;QAC7B,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,iBAAiB,GAAG,WAAW,CAAA;QACxC,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACnE,MAAM,KAAK,GAAG,MAAM,CAAC,YAAuC,CAAA;YAC5D,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACxE,MAAM,CAAC,YAAY,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAA;YACpE,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAA4B;IACzD,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAA;IACtC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAErC,0BAA0B;IAC1B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,iCAAiC;IACjC,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAA;IACjC,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAA;IAE1C,kEAAkE;IAClE,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,cAAc,IAAI,OAAO,EAAE,CAAC;QACpE,OAAO,MAAM,CAAC,YAAY,CAAA;IAC5B,CAAC;IAED,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAC5D,CAAC"}
@@ -33,11 +33,20 @@ export declare function isNewerVersion(current: string, latest: string): boolean
33
33
  */
34
34
  export declare function checkForUpdates(): Promise<VersionInfo>;
35
35
  /**
36
- * Perform the upgrade
36
+ * Perform the upgrade (blocking, with stdio output)
37
37
  */
38
38
  export declare function performUpgrade(): {
39
39
  success: boolean;
40
40
  error?: string;
41
41
  };
42
+ /**
43
+ * Perform the upgrade asynchronously (non-blocking, for background updates)
44
+ * Returns the new version on success, or null on failure
45
+ */
46
+ export declare function performUpgradeAsync(): Promise<{
47
+ success: boolean;
48
+ newVersion?: string;
49
+ error?: string;
50
+ }>;
42
51
  export {};
43
52
  //# sourceMappingURL=version-check.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../src/utils/version-check.ts"],"names":[],"mappings":"AAMA,UAAU,WAAW;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,eAAe,EAAE,OAAO,CAAA;IACxB,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAC/C;AAuDD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAU1C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0CjE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAyDrE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CASxF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CA4BvE;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,CAW5D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBrE"}
1
+ {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../src/utils/version-check.ts"],"names":[],"mappings":"AASA,UAAU,WAAW;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,eAAe,EAAE,OAAO,CAAA;IACxB,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAC/C;AAuDD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAe1C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0CjE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAyDrE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CASxF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CA4BvE;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,CAgB5D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBrE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgD9G"}
@@ -53,6 +53,10 @@ function writeCachedVersion(version) {
53
53
  * Get the current installed version of dev3000
54
54
  */
55
55
  export function getCurrentVersion() {
56
+ // Check for compile-time injected version first (for standalone binaries)
57
+ if (typeof __D3K_VERSION__ !== "undefined") {
58
+ return __D3K_VERSION__;
59
+ }
56
60
  try {
57
61
  const currentFile = fileURLToPath(import.meta.url);
58
62
  const packageRoot = dirname(dirname(dirname(currentFile))); // Go up from dist/utils to package root
@@ -216,15 +220,19 @@ export async function checkForUpdates() {
216
220
  const currentVersion = getCurrentVersion();
217
221
  const latestVersion = await fetchLatestVersion();
218
222
  const packageManager = detectPackageManager();
223
+ // Don't auto-update if on a canary/prerelease version
224
+ // Canary users should upgrade manually
225
+ const isCanary = currentVersion.includes("-");
226
+ const updateAvailable = !isCanary && latestVersion !== null && isNewerVersion(currentVersion, latestVersion);
219
227
  return {
220
228
  currentVersion,
221
229
  latestVersion,
222
- updateAvailable: latestVersion !== null && isNewerVersion(currentVersion, latestVersion),
230
+ updateAvailable,
223
231
  packageManager
224
232
  };
225
233
  }
226
234
  /**
227
- * Perform the upgrade
235
+ * Perform the upgrade (blocking, with stdio output)
228
236
  */
229
237
  export function performUpgrade() {
230
238
  const packageManager = detectPackageManager();
@@ -245,4 +253,54 @@ export function performUpgrade() {
245
253
  };
246
254
  }
247
255
  }
256
+ /**
257
+ * Perform the upgrade asynchronously (non-blocking, for background updates)
258
+ * Returns the new version on success, or null on failure
259
+ */
260
+ export async function performUpgradeAsync() {
261
+ const packageManager = detectPackageManager();
262
+ const command = getUpgradeCommand(packageManager);
263
+ return new Promise((resolve) => {
264
+ try {
265
+ // Run upgrade silently in background
266
+ execSync(command, {
267
+ stdio: "ignore",
268
+ timeout: 120000 // 2 minute timeout
269
+ });
270
+ // After upgrade, fetch the new version by checking what's installed
271
+ // Clear the module cache and re-read package.json isn't reliable after global install
272
+ // Instead, use npm/pnpm to query the installed version
273
+ try {
274
+ const versionCommand = packageManager === "pnpm"
275
+ ? "pnpm list -g dev3000 --json"
276
+ : packageManager === "yarn"
277
+ ? "yarn global list --json"
278
+ : "npm list -g dev3000 --json";
279
+ const result = execSync(versionCommand, { encoding: "utf8", timeout: 5000 });
280
+ const parsed = JSON.parse(result);
281
+ // Extract version based on package manager format
282
+ let newVersion;
283
+ if (packageManager === "pnpm") {
284
+ // pnpm format: array of packages
285
+ newVersion = parsed?.[0]?.dependencies?.dev3000?.version;
286
+ }
287
+ else if (packageManager === "npm") {
288
+ // npm format: { dependencies: { dev3000: { version: "x.x.x" } } }
289
+ newVersion = parsed?.dependencies?.dev3000?.version;
290
+ }
291
+ resolve({ success: true, newVersion });
292
+ }
293
+ catch {
294
+ // Couldn't get version, but upgrade succeeded
295
+ resolve({ success: true });
296
+ }
297
+ }
298
+ catch (error) {
299
+ resolve({
300
+ success: false,
301
+ error: error instanceof Error ? error.message : "Unknown error during upgrade"
302
+ });
303
+ }
304
+ });
305
+ }
248
306
  //# sourceMappingURL=version-check.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/utils/version-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/utils/version-check.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- YTIno5QuIO6mgeAWJ8zng
1
+ Fekb6bDxTd8hH8dFQNlIK
@@ -7,8 +7,8 @@
7
7
  "static/chunks/a6dad97d9634a72d.js"
8
8
  ],
9
9
  "lowPriorityFiles": [
10
- "static/YTIno5QuIO6mgeAWJ8zng/_ssgManifest.js",
11
- "static/YTIno5QuIO6mgeAWJ8zng/_buildManifest.js"
10
+ "static/Fekb6bDxTd8hH8dFQNlIK/_ssgManifest.js",
11
+ "static/Fekb6bDxTd8hH8dFQNlIK/_buildManifest.js"
12
12
  ],
13
13
  "rootMainFiles": [
14
14
  "static/chunks/41c5312e59752fb5.js",
@@ -5,8 +5,8 @@
5
5
  "devFiles": [],
6
6
  "polyfillFiles": [],
7
7
  "lowPriorityFiles": [
8
- "static/YTIno5QuIO6mgeAWJ8zng/_ssgManifest.js",
9
- "static/YTIno5QuIO6mgeAWJ8zng/_buildManifest.js"
8
+ "static/Fekb6bDxTd8hH8dFQNlIK/_ssgManifest.js",
9
+ "static/Fekb6bDxTd8hH8dFQNlIK/_buildManifest.js"
10
10
  ],
11
11
  "rootMainFiles": []
12
12
  }