@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.
Files changed (70) hide show
  1. package/agent/dist/db/environments.d.ts +65 -0
  2. package/agent/dist/db/environments.d.ts.map +1 -0
  3. package/agent/dist/db/environments.js +243 -0
  4. package/agent/dist/db/environments.js.map +1 -0
  5. package/agent/dist/db/history.d.ts +37 -0
  6. package/agent/dist/db/history.d.ts.map +1 -0
  7. package/agent/dist/db/history.js +98 -0
  8. package/agent/dist/db/history.js.map +1 -0
  9. package/agent/dist/db/index.d.ts +37 -0
  10. package/agent/dist/db/index.d.ts.map +1 -0
  11. package/agent/dist/db/index.js +225 -0
  12. package/agent/dist/db/index.js.map +1 -0
  13. package/agent/dist/db/schema.d.ts +70 -0
  14. package/agent/dist/db/schema.d.ts.map +1 -0
  15. package/agent/dist/db/schema.js +79 -0
  16. package/agent/dist/db/schema.js.map +1 -0
  17. package/agent/dist/db/sessions.d.ts +75 -0
  18. package/agent/dist/db/sessions.d.ts.map +1 -0
  19. package/agent/dist/db/sessions.js +244 -0
  20. package/agent/dist/db/sessions.js.map +1 -0
  21. package/agent/dist/editor.d.ts +18 -0
  22. package/agent/dist/editor.d.ts.map +1 -0
  23. package/agent/dist/editor.js +220 -0
  24. package/agent/dist/editor.js.map +1 -0
  25. package/agent/dist/environments.d.ts +59 -0
  26. package/agent/dist/environments.d.ts.map +1 -0
  27. package/agent/dist/environments.js +229 -0
  28. package/agent/dist/environments.js.map +1 -0
  29. package/agent/dist/git.d.ts +39 -0
  30. package/agent/dist/git.d.ts.map +1 -0
  31. package/agent/dist/git.js +436 -0
  32. package/agent/dist/git.js.map +1 -0
  33. package/agent/dist/index.d.ts +2 -0
  34. package/agent/dist/index.d.ts.map +1 -0
  35. package/agent/dist/index.js +17 -0
  36. package/agent/dist/index.js.map +1 -0
  37. package/agent/dist/server.d.ts +2 -0
  38. package/agent/dist/server.d.ts.map +1 -0
  39. package/agent/dist/server.js +1062 -0
  40. package/agent/dist/server.js.map +1 -0
  41. package/agent/dist/terminal.d.ts +14 -0
  42. package/agent/dist/terminal.d.ts.map +1 -0
  43. package/agent/dist/terminal.js +115 -0
  44. package/agent/dist/terminal.js.map +1 -0
  45. package/dist/commands/init.d.ts.map +1 -1
  46. package/dist/commands/init.js +25 -14
  47. package/dist/commands/init.js.map +1 -1
  48. package/dist/commands/profile.d.ts +3 -0
  49. package/dist/commands/profile.d.ts.map +1 -0
  50. package/dist/commands/profile.js +156 -0
  51. package/dist/commands/profile.js.map +1 -0
  52. package/dist/commands/start.d.ts.map +1 -1
  53. package/dist/commands/start.js +21 -10
  54. package/dist/commands/start.js.map +1 -1
  55. package/dist/index.d.ts +3 -1
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +6 -1
  58. package/dist/index.js.map +1 -1
  59. package/dist/lib/config.d.ts +30 -5
  60. package/dist/lib/config.d.ts.map +1 -1
  61. package/dist/lib/config.js +85 -12
  62. package/dist/lib/config.js.map +1 -1
  63. package/dist/lib/process.d.ts +2 -1
  64. package/dist/lib/process.d.ts.map +1 -1
  65. package/dist/lib/process.js +10 -4
  66. package/dist/lib/process.js.map +1 -1
  67. package/hooks/.claude-plugin/plugin.json +5 -0
  68. package/hooks/hooks/hooks.json +61 -0
  69. package/hooks/scripts/notify-status.sh +89 -0
  70. 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"}