@vibecompany/247-cli 0.1.0 → 0.2.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.
- package/agent/dist/db/environments.d.ts +65 -0
- package/agent/dist/db/environments.d.ts.map +1 -0
- package/agent/dist/db/environments.js +243 -0
- package/agent/dist/db/environments.js.map +1 -0
- package/agent/dist/db/history.d.ts +37 -0
- package/agent/dist/db/history.d.ts.map +1 -0
- package/agent/dist/db/history.js +98 -0
- package/agent/dist/db/history.js.map +1 -0
- package/agent/dist/db/index.d.ts +37 -0
- package/agent/dist/db/index.d.ts.map +1 -0
- package/agent/dist/db/index.js +225 -0
- package/agent/dist/db/index.js.map +1 -0
- package/agent/dist/db/schema.d.ts +70 -0
- package/agent/dist/db/schema.d.ts.map +1 -0
- package/agent/dist/db/schema.js +79 -0
- package/agent/dist/db/schema.js.map +1 -0
- package/agent/dist/db/sessions.d.ts +75 -0
- package/agent/dist/db/sessions.d.ts.map +1 -0
- package/agent/dist/db/sessions.js +244 -0
- package/agent/dist/db/sessions.js.map +1 -0
- package/agent/dist/editor.d.ts +18 -0
- package/agent/dist/editor.d.ts.map +1 -0
- package/agent/dist/editor.js +220 -0
- package/agent/dist/editor.js.map +1 -0
- package/agent/dist/environments.d.ts +59 -0
- package/agent/dist/environments.d.ts.map +1 -0
- package/agent/dist/environments.js +229 -0
- package/agent/dist/environments.js.map +1 -0
- package/agent/dist/git.d.ts +39 -0
- package/agent/dist/git.d.ts.map +1 -0
- package/agent/dist/git.js +436 -0
- package/agent/dist/git.js.map +1 -0
- package/agent/dist/index.d.ts +2 -0
- package/agent/dist/index.d.ts.map +1 -0
- package/agent/dist/index.js +17 -0
- package/agent/dist/index.js.map +1 -0
- package/agent/dist/server.d.ts +2 -0
- package/agent/dist/server.d.ts.map +1 -0
- package/agent/dist/server.js +1062 -0
- package/agent/dist/server.js.map +1 -0
- package/agent/dist/terminal.d.ts +14 -0
- package/agent/dist/terminal.d.ts.map +1 -0
- package/agent/dist/terminal.js +115 -0
- package/agent/dist/terminal.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +25 -14
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/profile.d.ts +3 -0
- package/dist/commands/profile.d.ts.map +1 -0
- package/dist/commands/profile.js +156 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +21 -10
- package/dist/commands/start.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +30 -5
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +85 -12
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/process.d.ts +2 -1
- package/dist/lib/process.d.ts.map +1 -1
- package/dist/lib/process.js +10 -4
- package/dist/lib/process.js.map +1 -1
- package/hooks/.claude-plugin/plugin.json +5 -0
- package/hooks/hooks/hooks.json +61 -0
- package/hooks/scripts/notify-status.sh +89 -0
- package/package.json +22 -5
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { readFileSync, writeFileSync, existsSync } from 'fs';
|
|
2
|
+
import { join, dirname } from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
import { randomUUID } from 'crypto';
|
|
5
|
+
import { ENVIRONMENT_PRESETS } from '@vibecompany/247-shared';
|
|
6
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
7
|
+
const __dirname = dirname(__filename);
|
|
8
|
+
// Store environments.json next to config.json (in apps/agent/)
|
|
9
|
+
const ENVIRONMENTS_FILE = join(__dirname, '..', 'environments.json');
|
|
10
|
+
// In-memory cache
|
|
11
|
+
let environments = [];
|
|
12
|
+
// Track which environment each session uses
|
|
13
|
+
const sessionEnvironments = new Map();
|
|
14
|
+
/**
|
|
15
|
+
* Load environments from disk
|
|
16
|
+
*/
|
|
17
|
+
export function loadEnvironments() {
|
|
18
|
+
if (existsSync(ENVIRONMENTS_FILE)) {
|
|
19
|
+
try {
|
|
20
|
+
const data = readFileSync(ENVIRONMENTS_FILE, 'utf-8');
|
|
21
|
+
environments = JSON.parse(data);
|
|
22
|
+
console.log(`[Environments] Loaded ${environments.length} environments from ${ENVIRONMENTS_FILE}`);
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
console.error('[Environments] Failed to load:', err);
|
|
26
|
+
environments = [];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
// Initialize with default Anthropic environment
|
|
31
|
+
console.log('[Environments] No environments.json found, creating default Anthropic environment');
|
|
32
|
+
const now = Date.now();
|
|
33
|
+
environments = [
|
|
34
|
+
{
|
|
35
|
+
id: 'default-anthropic',
|
|
36
|
+
name: 'Anthropic (Default)',
|
|
37
|
+
provider: 'anthropic',
|
|
38
|
+
icon: null,
|
|
39
|
+
isDefault: true,
|
|
40
|
+
variables: {
|
|
41
|
+
ANTHROPIC_API_KEY: '',
|
|
42
|
+
},
|
|
43
|
+
createdAt: now,
|
|
44
|
+
updatedAt: now,
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
saveEnvironments();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Save environments to disk
|
|
52
|
+
*/
|
|
53
|
+
function saveEnvironments() {
|
|
54
|
+
try {
|
|
55
|
+
writeFileSync(ENVIRONMENTS_FILE, JSON.stringify(environments, null, 2));
|
|
56
|
+
console.log(`[Environments] Saved ${environments.length} environments to ${ENVIRONMENTS_FILE}`);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
console.error('[Environments] Failed to save:', err);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Convert Environment to safe EnvironmentMetadata (no secret values)
|
|
64
|
+
*/
|
|
65
|
+
function toMetadata(env) {
|
|
66
|
+
return {
|
|
67
|
+
id: env.id,
|
|
68
|
+
name: env.name,
|
|
69
|
+
provider: env.provider,
|
|
70
|
+
icon: env.icon,
|
|
71
|
+
isDefault: env.isDefault,
|
|
72
|
+
variableKeys: Object.keys(env.variables),
|
|
73
|
+
createdAt: env.createdAt,
|
|
74
|
+
updatedAt: env.updatedAt,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Get all environments (full data, agent-side only)
|
|
79
|
+
*/
|
|
80
|
+
export function getAllEnvironments() {
|
|
81
|
+
return environments;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Get all environments as safe metadata (for dashboard)
|
|
85
|
+
*/
|
|
86
|
+
export function getEnvironmentsMetadata() {
|
|
87
|
+
return environments.map(toMetadata);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get single environment by ID (full data)
|
|
91
|
+
*/
|
|
92
|
+
export function getEnvironment(id) {
|
|
93
|
+
return environments.find((e) => e.id === id);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Get single environment metadata
|
|
97
|
+
*/
|
|
98
|
+
export function getEnvironmentMetadata(id) {
|
|
99
|
+
const env = getEnvironment(id);
|
|
100
|
+
if (!env)
|
|
101
|
+
return undefined;
|
|
102
|
+
return toMetadata(env);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Get default environment
|
|
106
|
+
*/
|
|
107
|
+
export function getDefaultEnvironment() {
|
|
108
|
+
return environments.find((e) => e.isDefault);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Create new environment
|
|
112
|
+
*/
|
|
113
|
+
export function createEnvironment(req) {
|
|
114
|
+
const now = Date.now();
|
|
115
|
+
// If setting as default, unset other defaults
|
|
116
|
+
if (req.isDefault) {
|
|
117
|
+
environments = environments.map((e) => ({ ...e, isDefault: false }));
|
|
118
|
+
}
|
|
119
|
+
// If this is the first environment, make it default
|
|
120
|
+
const isFirstEnv = environments.length === 0;
|
|
121
|
+
const env = {
|
|
122
|
+
id: randomUUID(),
|
|
123
|
+
name: req.name,
|
|
124
|
+
provider: req.provider,
|
|
125
|
+
icon: req.icon ?? null,
|
|
126
|
+
isDefault: req.isDefault ?? isFirstEnv,
|
|
127
|
+
variables: req.variables,
|
|
128
|
+
createdAt: now,
|
|
129
|
+
updatedAt: now,
|
|
130
|
+
};
|
|
131
|
+
environments.push(env);
|
|
132
|
+
saveEnvironments();
|
|
133
|
+
console.log(`[Environments] Created environment: ${env.name} (${env.provider})`);
|
|
134
|
+
return env;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Update environment
|
|
138
|
+
*/
|
|
139
|
+
export function updateEnvironment(id, req) {
|
|
140
|
+
const index = environments.findIndex((e) => e.id === id);
|
|
141
|
+
if (index === -1)
|
|
142
|
+
return null;
|
|
143
|
+
// If setting as default, unset other defaults
|
|
144
|
+
if (req.isDefault) {
|
|
145
|
+
environments = environments.map((e) => ({ ...e, isDefault: false }));
|
|
146
|
+
}
|
|
147
|
+
// Merge variables if provided (don't replace entirely, allow partial updates)
|
|
148
|
+
const updatedVariables = req.variables
|
|
149
|
+
? { ...environments[index].variables, ...req.variables }
|
|
150
|
+
: environments[index].variables;
|
|
151
|
+
environments[index] = {
|
|
152
|
+
...environments[index],
|
|
153
|
+
...(req.name !== undefined && { name: req.name }),
|
|
154
|
+
...(req.provider !== undefined && { provider: req.provider }),
|
|
155
|
+
...(req.icon !== undefined && { icon: req.icon }),
|
|
156
|
+
...(req.isDefault !== undefined && { isDefault: req.isDefault }),
|
|
157
|
+
variables: updatedVariables,
|
|
158
|
+
updatedAt: Date.now(),
|
|
159
|
+
};
|
|
160
|
+
saveEnvironments();
|
|
161
|
+
console.log(`[Environments] Updated environment: ${environments[index].name}`);
|
|
162
|
+
return environments[index];
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Delete environment
|
|
166
|
+
*/
|
|
167
|
+
export function deleteEnvironment(id) {
|
|
168
|
+
const index = environments.findIndex((e) => e.id === id);
|
|
169
|
+
if (index === -1)
|
|
170
|
+
return false;
|
|
171
|
+
const wasDefault = environments[index].isDefault;
|
|
172
|
+
const deletedName = environments[index].name;
|
|
173
|
+
environments.splice(index, 1);
|
|
174
|
+
// If deleted env was default, make first remaining env default
|
|
175
|
+
if (wasDefault && environments.length > 0) {
|
|
176
|
+
environments[0].isDefault = true;
|
|
177
|
+
}
|
|
178
|
+
saveEnvironments();
|
|
179
|
+
console.log(`[Environments] Deleted environment: ${deletedName}`);
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Get environment variables for terminal injection
|
|
184
|
+
* Returns the variables for the specified environment, or default if not found
|
|
185
|
+
*/
|
|
186
|
+
export function getEnvironmentVariables(environmentId) {
|
|
187
|
+
let env;
|
|
188
|
+
if (environmentId) {
|
|
189
|
+
env = getEnvironment(environmentId);
|
|
190
|
+
}
|
|
191
|
+
// Fall back to default
|
|
192
|
+
if (!env) {
|
|
193
|
+
env = getDefaultEnvironment();
|
|
194
|
+
}
|
|
195
|
+
return env?.variables ?? {};
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Track which environment a session uses
|
|
199
|
+
*/
|
|
200
|
+
export function setSessionEnvironment(sessionName, environmentId) {
|
|
201
|
+
sessionEnvironments.set(sessionName, environmentId);
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Get the environment ID for a session
|
|
205
|
+
*/
|
|
206
|
+
export function getSessionEnvironment(sessionName) {
|
|
207
|
+
return sessionEnvironments.get(sessionName);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Clear session environment tracking (when session is killed)
|
|
211
|
+
*/
|
|
212
|
+
export function clearSessionEnvironment(sessionName) {
|
|
213
|
+
sessionEnvironments.delete(sessionName);
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Create environment from preset
|
|
217
|
+
*/
|
|
218
|
+
export function createEnvironmentFromPreset(provider, name, customVariables) {
|
|
219
|
+
const preset = ENVIRONMENT_PRESETS[provider];
|
|
220
|
+
return createEnvironment({
|
|
221
|
+
name,
|
|
222
|
+
provider,
|
|
223
|
+
variables: {
|
|
224
|
+
...preset.defaultVariables,
|
|
225
|
+
...customVariables,
|
|
226
|
+
},
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=environments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environments.js","sourceRoot":"","sources":["../src/environments.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export interface CloneResult {
|
|
2
|
+
success: boolean;
|
|
3
|
+
projectName: string;
|
|
4
|
+
path: string;
|
|
5
|
+
error?: string;
|
|
6
|
+
}
|
|
7
|
+
export type GitFileStatus = 'modified' | 'added' | 'deleted' | 'untracked' | 'unchanged' | 'conflicted';
|
|
8
|
+
export interface FileNode {
|
|
9
|
+
path: string;
|
|
10
|
+
name: string;
|
|
11
|
+
type: 'file' | 'directory';
|
|
12
|
+
status?: GitFileStatus;
|
|
13
|
+
children?: FileNode[];
|
|
14
|
+
extension?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function isGitRepo(projectPath: string): Promise<boolean>;
|
|
17
|
+
export declare function getGitStatus(projectPath: string): Promise<Map<string, GitFileStatus>>;
|
|
18
|
+
export declare function listFiles(projectPath: string): Promise<FileNode[]>;
|
|
19
|
+
export declare function getFileContent(projectPath: string, filePath: string): Promise<{
|
|
20
|
+
content: string;
|
|
21
|
+
encoding: BufferEncoding;
|
|
22
|
+
size: number;
|
|
23
|
+
isBinary: boolean;
|
|
24
|
+
}>;
|
|
25
|
+
export declare function openFileInEditor(projectPath: string, filePath: string): Promise<{
|
|
26
|
+
success: boolean;
|
|
27
|
+
command?: string;
|
|
28
|
+
error?: string;
|
|
29
|
+
}>;
|
|
30
|
+
export declare function getChangesSummary(projectPath: string): Promise<{
|
|
31
|
+
modified: number;
|
|
32
|
+
added: number;
|
|
33
|
+
deleted: number;
|
|
34
|
+
untracked: number;
|
|
35
|
+
conflicted: number;
|
|
36
|
+
}>;
|
|
37
|
+
export declare function extractProjectName(url: string): string;
|
|
38
|
+
export declare function cloneRepo(repoUrl: string, basePath: string, projectName?: string): Promise<CloneResult>;
|
|
39
|
+
//# sourceMappingURL=git.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAExG,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,wBAAsB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQrE;AAGD,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CA2D3F;AAuID,wBAAsB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAQxE;AAGD,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACnF,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC,CAyCD;AAGD,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACrF,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAiDD;AAGD,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CAgCD;AAkBD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBtD;AASD,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,CAAC,CAoGtB"}
|