@viewportai/daemon 0.6.2 → 0.8.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 (107) hide show
  1. package/README.md +75 -0
  2. package/dist/cli/args.d.ts.map +1 -1
  3. package/dist/cli/args.js +59 -1
  4. package/dist/cli/args.js.map +1 -1
  5. package/dist/cli/bind-command.d.ts.map +1 -1
  6. package/dist/cli/bind-command.js +7 -3
  7. package/dist/cli/bind-command.js.map +1 -1
  8. package/dist/cli/commands.d.ts +2 -0
  9. package/dist/cli/commands.d.ts.map +1 -1
  10. package/dist/cli/commands.js +2 -0
  11. package/dist/cli/commands.js.map +1 -1
  12. package/dist/cli/context-vault-metadata-command.d.ts +33 -0
  13. package/dist/cli/context-vault-metadata-command.d.ts.map +1 -1
  14. package/dist/cli/context-vault-metadata-command.js +15 -5
  15. package/dist/cli/context-vault-metadata-command.js.map +1 -1
  16. package/dist/cli/context-vault-use-command.d.ts.map +1 -1
  17. package/dist/cli/context-vault-use-command.js +20 -0
  18. package/dist/cli/context-vault-use-command.js.map +1 -1
  19. package/dist/cli/daemon-settings.js +1 -1
  20. package/dist/cli/daemon-settings.js.map +1 -1
  21. package/dist/cli/lifecycle-commands.d.ts.map +1 -1
  22. package/dist/cli/lifecycle-commands.js +6 -1
  23. package/dist/cli/lifecycle-commands.js.map +1 -1
  24. package/dist/cli/lifecycle-pair-command.js +16 -1
  25. package/dist/cli/lifecycle-pair-command.js.map +1 -1
  26. package/dist/cli/lifecycle-status-command.d.ts.map +1 -1
  27. package/dist/cli/lifecycle-status-command.js +6 -0
  28. package/dist/cli/lifecycle-status-command.js.map +1 -1
  29. package/dist/cli/org-binding.d.ts +2 -0
  30. package/dist/cli/org-binding.d.ts.map +1 -1
  31. package/dist/cli/org-binding.js +20 -1
  32. package/dist/cli/org-binding.js.map +1 -1
  33. package/dist/cli/profile-command.d.ts +3 -0
  34. package/dist/cli/profile-command.d.ts.map +1 -0
  35. package/dist/cli/profile-command.js +320 -0
  36. package/dist/cli/profile-command.js.map +1 -0
  37. package/dist/cli/profile-runtime-commands.d.ts +6 -0
  38. package/dist/cli/profile-runtime-commands.d.ts.map +1 -0
  39. package/dist/cli/profile-runtime-commands.js +127 -0
  40. package/dist/cli/profile-runtime-commands.js.map +1 -0
  41. package/dist/cli/setup-command.d.ts +5 -0
  42. package/dist/cli/setup-command.d.ts.map +1 -1
  43. package/dist/cli/setup-command.js +52 -0
  44. package/dist/cli/setup-command.js.map +1 -1
  45. package/dist/cli/uninstall-command.d.ts +2 -0
  46. package/dist/cli/uninstall-command.d.ts.map +1 -0
  47. package/dist/cli/uninstall-command.js +111 -0
  48. package/dist/cli/uninstall-command.js.map +1 -0
  49. package/dist/config-resolution/config-writer.d.ts +4 -0
  50. package/dist/config-resolution/config-writer.d.ts.map +1 -1
  51. package/dist/config-resolution/config-writer.js +18 -2
  52. package/dist/config-resolution/config-writer.js.map +1 -1
  53. package/dist/config-resolution/resolver.js +6 -0
  54. package/dist/config-resolution/resolver.js.map +1 -1
  55. package/dist/config-resolution/schema.d.ts +4 -0
  56. package/dist/config-resolution/schema.d.ts.map +1 -1
  57. package/dist/config-resolution/schema.js +4 -0
  58. package/dist/config-resolution/schema.js.map +1 -1
  59. package/dist/config-resolution/types.d.ts +2 -0
  60. package/dist/config-resolution/types.d.ts.map +1 -1
  61. package/dist/core/config.d.ts.map +1 -1
  62. package/dist/core/config.js +2 -5
  63. package/dist/core/config.js.map +1 -1
  64. package/dist/core/interfaces.d.ts +38 -0
  65. package/dist/core/interfaces.d.ts.map +1 -1
  66. package/dist/core/profiles.d.ts +43 -0
  67. package/dist/core/profiles.d.ts.map +1 -0
  68. package/dist/core/profiles.js +181 -0
  69. package/dist/core/profiles.js.map +1 -0
  70. package/dist/core/session-context-prompt.d.ts.map +1 -1
  71. package/dist/core/session-context-prompt.js +22 -4
  72. package/dist/core/session-context-prompt.js.map +1 -1
  73. package/dist/discovery/claude.js +10 -0
  74. package/dist/discovery/claude.js.map +1 -1
  75. package/dist/discovery/codex-parser.d.ts +10 -0
  76. package/dist/discovery/codex-parser.d.ts.map +1 -1
  77. package/dist/discovery/codex-parser.js +138 -6
  78. package/dist/discovery/codex-parser.js.map +1 -1
  79. package/dist/discovery/codex.d.ts.map +1 -1
  80. package/dist/discovery/codex.js +49 -2
  81. package/dist/discovery/codex.js.map +1 -1
  82. package/dist/discovery/jsonl-entry-parser.d.ts +38 -0
  83. package/dist/discovery/jsonl-entry-parser.d.ts.map +1 -1
  84. package/dist/discovery/jsonl-entry-parser.js +628 -8
  85. package/dist/discovery/jsonl-entry-parser.js.map +1 -1
  86. package/dist/discovery/jsonl-reader.d.ts +10 -0
  87. package/dist/discovery/jsonl-reader.d.ts.map +1 -1
  88. package/dist/discovery/jsonl-reader.js +50 -2
  89. package/dist/discovery/jsonl-reader.js.map +1 -1
  90. package/dist/hooks/types.d.ts +2 -2
  91. package/dist/index.js +5 -1
  92. package/dist/index.js.map +1 -1
  93. package/dist/server/hello-builder.d.ts +22 -0
  94. package/dist/server/hello-builder.d.ts.map +1 -1
  95. package/dist/server/hello-builder.js +31 -0
  96. package/dist/server/hello-builder.js.map +1 -1
  97. package/dist/server/ws-command-handlers.d.ts.map +1 -1
  98. package/dist/server/ws-command-handlers.js +1 -0
  99. package/dist/server/ws-command-handlers.js.map +1 -1
  100. package/dist/server/ws-daemon-event-bridge.d.ts.map +1 -1
  101. package/dist/server/ws-daemon-event-bridge.js +10 -0
  102. package/dist/server/ws-daemon-event-bridge.js.map +1 -1
  103. package/dist/server/ws-session-command-handlers.d.ts.map +1 -1
  104. package/dist/server/ws-session-command-handlers.js +47 -4
  105. package/dist/server/ws-session-command-handlers.js.map +1 -1
  106. package/docs/configuration.md +91 -4
  107. package/package.json +1 -1
@@ -0,0 +1,320 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { configDir, configFilePath } from '../core/config.js';
4
+ import { activeProfileInfo, clearCurrentProfile, normalizeProfileName, profileHomePath, readProfileRegistry, resolveViewportBaseHome, setCurrentProfile, upsertProfileRecord, writeProfileRegistry, } from '../core/profiles.js';
5
+ import { getArgs, getFlag, hasFlag } from './args.js';
6
+ import { isJsonMode, printJson } from './command-shared.js';
7
+ import { resolveLocalOrgBindingSync, writeLocalOrgBinding } from './org-binding.js';
8
+ import { execProfileCommand, printProfileEnvironment, profileProcesses, runVpdProfileSubcommand, shellQuote, } from './profile-runtime-commands.js';
9
+ export async function profile() {
10
+ const args = getArgs();
11
+ const subcommand = args[1] ?? 'status';
12
+ switch (subcommand) {
13
+ case 'create':
14
+ await createProfile();
15
+ return;
16
+ case 'use':
17
+ await useProfile(2);
18
+ return;
19
+ case 'ls':
20
+ case 'list':
21
+ await listProfiles();
22
+ return;
23
+ case 'status':
24
+ case 'current':
25
+ await profileStatus();
26
+ return;
27
+ case 'ps':
28
+ await profileProcesses();
29
+ return;
30
+ case 'env':
31
+ case 'shell':
32
+ printProfileEnvironment();
33
+ return;
34
+ case 'exec':
35
+ await execProfileCommand();
36
+ return;
37
+ case 'start':
38
+ case 'stop':
39
+ case 'doctor':
40
+ await runVpdProfileSubcommand(subcommand);
41
+ return;
42
+ case 'clear':
43
+ await clearProfile();
44
+ return;
45
+ case 'help':
46
+ case '--help':
47
+ case '-h':
48
+ console.log(profileHelp());
49
+ return;
50
+ default:
51
+ throw new Error(`${profileHelp()}\nUnknown profile command "${subcommand}".`);
52
+ }
53
+ }
54
+ function profileHelp() {
55
+ return [
56
+ 'Usage: vpd profile <command>',
57
+ '',
58
+ 'Commands:',
59
+ ' create <name> [--copy-current] [--server <url>] [--app-url <url>] [--relay <ws-url>] [--listen <host:port>] [--force] [--json]',
60
+ ' use <name> [--json]',
61
+ ' ls [--json]',
62
+ ' status [--json]',
63
+ ' ps [--json]',
64
+ ' env <name>',
65
+ ' exec <name> -- <command...>',
66
+ ' start <name> [vpd start flags...]',
67
+ ' stop <name> [vpd stop flags...]',
68
+ ' doctor <name> [vpd doctor flags...]',
69
+ ' clear [--json]',
70
+ '',
71
+ 'Temporary scope:',
72
+ ' VPD_PROFILE=prod vpd status',
73
+ ' vpd --profile prod status',
74
+ ].join('\n');
75
+ }
76
+ async function createProfile() {
77
+ const asJson = isJsonMode();
78
+ const args = getArgs();
79
+ const nameArg = args[2];
80
+ if (!nameArg || nameArg.startsWith('--')) {
81
+ throw new Error(profileHelp());
82
+ }
83
+ const name = normalizeProfileName(nameArg);
84
+ const baseHome = resolveViewportBaseHome();
85
+ const active = activeProfileInfo();
86
+ const registry = await readProfileRegistry(baseHome);
87
+ const home = profileHomePath(baseHome, name);
88
+ const force = hasFlag('force') || hasFlag('yes');
89
+ const copyCurrent = hasFlag('copy-current');
90
+ if (registry.profiles[name] && !force) {
91
+ throw new Error(`Profile "${name}" already exists. Re-run with --force to update it.`);
92
+ }
93
+ const options = {
94
+ serverUrl: getFlag('server') ?? getFlag('server-url'),
95
+ appUrl: getFlag('app-url') ?? getFlag('app'),
96
+ relayEndpoint: getFlag('relay') ?? getFlag('relay-endpoint'),
97
+ listen: getFlag('listen'),
98
+ };
99
+ if (copyCurrent) {
100
+ await copyCurrentHomeToProfile({ sourceHome: active.home, baseHome, profileHome: home });
101
+ }
102
+ await fs.mkdir(home, { recursive: true });
103
+ await writeProfileConfig(home, options);
104
+ const migratedBindings = copyCurrent ? await migrateDefaultBindingsToProfile(home, name) : 0;
105
+ const record = upsertProfileRecord(registry, {
106
+ name,
107
+ home,
108
+ serverUrl: options.serverUrl,
109
+ appUrl: options.appUrl,
110
+ relayEndpoint: options.relayEndpoint,
111
+ listen: options.listen,
112
+ });
113
+ await writeProfileRegistry(registry, baseHome);
114
+ const payload = {
115
+ command: 'profile create',
116
+ ok: true,
117
+ profile: record,
118
+ copiedCurrent: copyCurrent,
119
+ migratedBindings,
120
+ configPath: path.join(home, 'config.json'),
121
+ };
122
+ if (asJson) {
123
+ printJson(payload);
124
+ return;
125
+ }
126
+ console.log(`Created profile "${name}".`);
127
+ if (copyCurrent)
128
+ console.log('Copied current daemon home into the profile.');
129
+ if (migratedBindings > 0)
130
+ console.log(`Updated ${migratedBindings} repo binding(s).`);
131
+ console.log(`Home: ${home}`);
132
+ console.log(`Config: ${payload.configPath}`);
133
+ if (options.serverUrl)
134
+ console.log(`Server: ${options.serverUrl}`);
135
+ if (options.appUrl)
136
+ console.log(`App: ${options.appUrl}`);
137
+ if (options.relayEndpoint)
138
+ console.log(`Relay: ${options.relayEndpoint}`);
139
+ if (options.listen)
140
+ console.log(`Listen: ${options.listen}`);
141
+ }
142
+ async function migrateDefaultBindingsToProfile(profileHome, profileName) {
143
+ const configPath = path.join(profileHome, 'config.json');
144
+ let config;
145
+ try {
146
+ config = JSON.parse(await fs.readFile(configPath, 'utf8'));
147
+ }
148
+ catch {
149
+ return 0;
150
+ }
151
+ const directories = Object.values(config.directories ?? {});
152
+ let migrated = 0;
153
+ for (const entry of directories) {
154
+ if (typeof entry.path !== 'string' || entry.path.trim().length === 0)
155
+ continue;
156
+ const binding = resolveLocalOrgBindingSync(entry.path);
157
+ if (!binding || binding.profileName !== 'default')
158
+ continue;
159
+ await writeLocalOrgBinding({
160
+ directory: binding.directory,
161
+ organizationId: binding.organizationId,
162
+ profileName,
163
+ streamEnabled: binding.streamEnabled,
164
+ });
165
+ migrated += 1;
166
+ }
167
+ return migrated;
168
+ }
169
+ async function copyCurrentHomeToProfile(options) {
170
+ const sourceHome = path.resolve(options.sourceHome);
171
+ const baseHome = path.resolve(options.baseHome);
172
+ const profileHome = path.resolve(options.profileHome);
173
+ if (sourceHome === profileHome)
174
+ return;
175
+ await fs.rm(profileHome, { recursive: true, force: true });
176
+ await fs.mkdir(profileHome, { recursive: true });
177
+ const entries = await fs.readdir(sourceHome, { withFileTypes: true });
178
+ for (const entry of entries) {
179
+ if (sourceHome === baseHome &&
180
+ (entry.name === 'profiles' ||
181
+ entry.name === 'profiles.json' ||
182
+ entry.name === 'current-profile')) {
183
+ continue;
184
+ }
185
+ await fs.cp(path.join(sourceHome, entry.name), path.join(profileHome, entry.name), {
186
+ recursive: true,
187
+ force: true,
188
+ });
189
+ }
190
+ }
191
+ export async function useProfileAlias() {
192
+ await useProfile(1);
193
+ }
194
+ async function useProfile(nameIndex) {
195
+ const asJson = isJsonMode();
196
+ const nameArg = getArgs()[nameIndex];
197
+ if (!nameArg || nameArg.startsWith('--')) {
198
+ throw new Error('Usage: vpd profile use <name> [--json]');
199
+ }
200
+ const baseHome = resolveViewportBaseHome();
201
+ const name = normalizeProfileName(nameArg);
202
+ await setCurrentProfile(name, baseHome);
203
+ const payload = {
204
+ command: 'profile use',
205
+ ok: true,
206
+ profile: name,
207
+ home: profileHomePath(baseHome, name),
208
+ };
209
+ if (asJson) {
210
+ printJson(payload);
211
+ return;
212
+ }
213
+ console.log(`Using profile "${name}" as the machine default.`);
214
+ console.log(`Home: ${payload.home}`);
215
+ console.log('This affects new shells. For one terminal, run:');
216
+ console.log(` export VPD_PROFILE=${shellQuote(name)}`);
217
+ console.log(`Or for one command: vpd --profile ${name} status`);
218
+ }
219
+ async function listProfiles() {
220
+ const asJson = isJsonMode();
221
+ const baseHome = resolveViewportBaseHome();
222
+ const registry = await readProfileRegistry(baseHome);
223
+ const active = activeProfileInfo();
224
+ const profiles = Object.values(registry.profiles).sort((a, b) => a.name.localeCompare(b.name));
225
+ const payload = {
226
+ command: 'profile ls',
227
+ ok: true,
228
+ active,
229
+ profiles,
230
+ };
231
+ if (asJson) {
232
+ printJson(payload);
233
+ return;
234
+ }
235
+ if (profiles.length === 0) {
236
+ console.log('No profiles yet. Create one with vpd profile create <name>.');
237
+ return;
238
+ }
239
+ for (const profile of profiles) {
240
+ const marker = active.name === profile.name ? '*' : ' ';
241
+ console.log(`${marker} ${profile.name}\t${profile.home}`);
242
+ }
243
+ }
244
+ async function profileStatus() {
245
+ const asJson = isJsonMode();
246
+ const active = activeProfileInfo();
247
+ const payload = {
248
+ command: 'profile status',
249
+ ok: true,
250
+ active,
251
+ home: configDir(),
252
+ configPath: configFilePath(),
253
+ authTokenPath: path.join(configDir(), 'auth-token'),
254
+ };
255
+ if (asJson) {
256
+ printJson(payload);
257
+ return;
258
+ }
259
+ console.log(`Profile: ${active.name ?? '(default)'}`);
260
+ console.log(`Source: ${active.source}`);
261
+ console.log(`Base: ${active.baseHome}`);
262
+ console.log(`Home: ${payload.home}`);
263
+ console.log(`Config: ${payload.configPath}`);
264
+ }
265
+ async function clearProfile() {
266
+ const asJson = isJsonMode();
267
+ const baseHome = resolveViewportBaseHome();
268
+ await clearCurrentProfile(baseHome);
269
+ const payload = {
270
+ command: 'profile clear',
271
+ ok: true,
272
+ baseHome,
273
+ };
274
+ if (asJson) {
275
+ printJson(payload);
276
+ return;
277
+ }
278
+ console.log('Cleared the default profile. Future commands use the base ~/.viewport home.');
279
+ }
280
+ async function writeProfileConfig(home, options) {
281
+ const configPath = path.join(home, 'config.json');
282
+ let existing = {};
283
+ try {
284
+ existing = JSON.parse(await fs.readFile(configPath, 'utf8'));
285
+ }
286
+ catch {
287
+ existing = {};
288
+ }
289
+ const daemon = normalizeRecord(existing['daemon']);
290
+ const server = normalizeRecord(daemon['server']);
291
+ const relay = normalizeRecord(daemon['relay']);
292
+ const next = {
293
+ ...existing,
294
+ daemon: {
295
+ ...daemon,
296
+ ...(options.listen ? { listen: options.listen } : {}),
297
+ server: {
298
+ ...server,
299
+ ...(options.serverUrl ? { url: options.serverUrl } : {}),
300
+ ...(options.appUrl ? { appUrl: options.appUrl } : {}),
301
+ },
302
+ relay: {
303
+ ...relay,
304
+ ...(options.relayEndpoint ? { endpoint: options.relayEndpoint } : {}),
305
+ ...(options.serverUrl ? { serverUrl: options.serverUrl } : {}),
306
+ },
307
+ },
308
+ };
309
+ await fs.writeFile(configPath, `${JSON.stringify(next, null, 2)}\n`, {
310
+ encoding: 'utf8',
311
+ mode: 0o600,
312
+ });
313
+ await fs.chmod(configPath, 0o600);
314
+ }
315
+ function normalizeRecord(value) {
316
+ if (!value || typeof value !== 'object' || Array.isArray(value))
317
+ return {};
318
+ return value;
319
+ }
320
+ //# sourceMappingURL=profile-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-command.js","sourceRoot":"","sources":["../../src/cli/profile-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function profileProcesses(): Promise<void>;
2
+ export declare function printProfileEnvironment(): void;
3
+ export declare function execProfileCommand(): Promise<void>;
4
+ export declare function runVpdProfileSubcommand(subcommand: string): Promise<void>;
5
+ export declare function shellQuote(value: string): string;
6
+ //# sourceMappingURL=profile-runtime-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-runtime-commands.d.ts","sourceRoot":"","sources":["../../src/cli/profile-runtime-commands.ts"],"names":[],"mappings":"AAcA,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwCtD;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAYxD;AAED,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/E;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD"}
@@ -0,0 +1,127 @@
1
+ import { spawn } from 'node:child_process';
2
+ import fs from 'node:fs/promises';
3
+ import path from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { activeProfileInfo, normalizeProfileName, readProfileRegistry, resolveViewportBaseHome, } from '../core/profiles.js';
6
+ import { getArgs } from './args.js';
7
+ import { isJsonMode, printJson } from './command-shared.js';
8
+ import { isPidRunning } from './daemon-lifecycle.js';
9
+ export async function profileProcesses() {
10
+ const asJson = isJsonMode();
11
+ const baseHome = resolveViewportBaseHome();
12
+ const registry = await readProfileRegistry(baseHome);
13
+ const active = activeProfileInfo();
14
+ const profiles = Object.values(registry.profiles).sort((a, b) => a.name.localeCompare(b.name));
15
+ const rows = await Promise.all(profiles.map(async (profile) => {
16
+ const state = await readProfileRuntimeState(profile.home);
17
+ const running = typeof state?.ownerPid === 'number' ? isPidRunning(state.ownerPid) : false;
18
+ return {
19
+ profile: profile.name,
20
+ active: active.name === profile.name,
21
+ running,
22
+ ownerPid: state?.ownerPid ?? null,
23
+ workerPid: state?.workerPid ?? null,
24
+ listen: state?.listen ?? null,
25
+ home: profile.home,
26
+ };
27
+ }));
28
+ const payload = {
29
+ command: 'profile ps',
30
+ ok: true,
31
+ active,
32
+ profiles: rows,
33
+ };
34
+ if (asJson) {
35
+ printJson(payload);
36
+ return;
37
+ }
38
+ if (rows.length === 0) {
39
+ console.log('No profiles yet.');
40
+ return;
41
+ }
42
+ for (const row of rows) {
43
+ const marker = row.active ? '*' : ' ';
44
+ const state = row.running ? `running owner=${row.ownerPid}` : 'stopped';
45
+ console.log(`${marker} ${row.profile}\t${state}\t${row.listen ?? '-'}`);
46
+ }
47
+ }
48
+ export function printProfileEnvironment() {
49
+ const name = readProfileNameArg(2, 'Usage: vpd profile env <name>');
50
+ console.log(`export VPD_PROFILE=${shellQuote(name)}`);
51
+ }
52
+ export async function execProfileCommand() {
53
+ const args = getArgs();
54
+ const name = readProfileNameArg(2, 'Usage: vpd profile exec <name> -- <command...>');
55
+ const separator = args.indexOf('--');
56
+ if (separator === -1 || separator + 1 >= args.length) {
57
+ throw new Error('Usage: vpd profile exec <name> -- <command...>');
58
+ }
59
+ const command = args[separator + 1];
60
+ if (!command)
61
+ throw new Error('Usage: vpd profile exec <name> -- <command...>');
62
+ const commandArgs = args.slice(separator + 2);
63
+ const code = await runExternalCommand(command, commandArgs, profileEnv(name));
64
+ process.exit(code);
65
+ }
66
+ export async function runVpdProfileSubcommand(subcommand) {
67
+ const args = getArgs();
68
+ const name = readProfileNameArg(2, `Usage: vpd profile ${subcommand} <name> [flags...]`);
69
+ const passthrough = args.slice(3);
70
+ const code = await runCurrentVpd([subcommand, ...passthrough], profileEnv(name));
71
+ process.exit(code);
72
+ }
73
+ export function shellQuote(value) {
74
+ return `'${value.replaceAll("'", "'\\''")}'`;
75
+ }
76
+ function readProfileNameArg(index, usage) {
77
+ const raw = getArgs()[index];
78
+ if (!raw || raw.startsWith('--'))
79
+ throw new Error(usage);
80
+ return normalizeProfileName(raw);
81
+ }
82
+ function profileEnv(name) {
83
+ return {
84
+ ...process.env,
85
+ VPD_PROFILE: name,
86
+ VIEWPORT_PROFILE: name,
87
+ };
88
+ }
89
+ function currentCliPath() {
90
+ return path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../index.js');
91
+ }
92
+ async function runCurrentVpd(args, env) {
93
+ return runExternalCommand(process.execPath, [currentCliPath(), ...args], env);
94
+ }
95
+ async function runExternalCommand(command, args, env) {
96
+ return new Promise((resolve, reject) => {
97
+ const child = spawn(command, args, {
98
+ stdio: 'inherit',
99
+ env,
100
+ });
101
+ child.once('error', reject);
102
+ child.once('exit', (code, signal) => {
103
+ if (signal) {
104
+ reject(new Error(`Command exited via signal ${signal}`));
105
+ return;
106
+ }
107
+ resolve(code ?? 1);
108
+ });
109
+ });
110
+ }
111
+ async function readProfileRuntimeState(profileHome) {
112
+ try {
113
+ const parsed = JSON.parse(await fs.readFile(path.join(profileHome, 'daemon-state.json'), 'utf8'));
114
+ const ownerPid = typeof parsed.ownerPid === 'number' ? parsed.ownerPid : undefined;
115
+ const workerPid = typeof parsed.workerPid === 'number' ? parsed.workerPid : undefined;
116
+ const listen = typeof parsed.listen === 'string'
117
+ ? parsed.listen
118
+ : typeof parsed.host === 'string' && typeof parsed.port === 'number'
119
+ ? `${parsed.host}:${parsed.port}`
120
+ : undefined;
121
+ return { ownerPid, workerPid, listen };
122
+ }
123
+ catch {
124
+ return null;
125
+ }
126
+ }
127
+ //# sourceMappingURL=profile-runtime-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-runtime-commands.js","sourceRoot":"","sources":["../../src/cli/profile-runtime-commands.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,11 @@ export interface SetupPlan {
6
6
  }
7
7
  export declare function recommendedSetupPlan(): SetupPlan;
8
8
  export declare function applySetupFlagOverrides(plan: SetupPlan, args?: string[]): SetupPlan;
9
+ export declare function ensureManagedProfileForSetup(): Promise<{
10
+ profileName: string | null;
11
+ created: boolean;
12
+ selected: boolean;
13
+ }>;
9
14
  export declare function resolveInstallUserForLinger(env?: NodeJS.ProcessEnv): string | null;
10
15
  export declare function parseLingerValue(raw: string): boolean | null;
11
16
  export declare function setup(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"setup-command.d.ts","sourceRoot":"","sources":["../../src/cli/setup-command.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;CACvB;AAOD,wBAAgB,oBAAoB,IAAI,SAAS,CAOhD;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,WAAY,GAAG,SAAS,CAMpF;AAsCD,wBAAgB,2BAA2B,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,IAAI,CAM/F;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAK5D;AAiFD,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA+F3C"}
1
+ {"version":3,"file":"setup-command.d.ts","sourceRoot":"","sources":["../../src/cli/setup-command.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;CACvB;AAOD,wBAAgB,oBAAoB,IAAI,SAAS,CAOhD;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,WAAY,GAAG,SAAS,CAMpF;AAkBD,wBAAsB,4BAA4B,IAAI,OAAO,CAAC;IAC5D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC,CAiDD;AAsBD,wBAAgB,2BAA2B,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,IAAI,CAM/F;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAK5D;AAiFD,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAwG3C"}
@@ -4,12 +4,17 @@ import { createInterface } from 'node:readline/promises';
4
4
  import { spawnSync } from 'node:child_process';
5
5
  import { hasFlag, getArgs } from './args.js';
6
6
  import { configDir } from '../core/config.js';
7
+ import { activeProfileInfo, profileHomePath, readProfileRegistry, resolveViewportBaseHome, setCurrentProfile, upsertProfileRecord, writeProfileRegistry, } from '../core/profiles.js';
7
8
  import { install } from './install-command.js';
8
9
  import { assessAgentPrerequisites, installPrerequisites } from '../startup-prereqs.js';
9
10
  import { currentServicePlatform, installUserService } from './service-commands.js';
10
11
  const SETUP_STATE_FILE = 'setup-state.json';
11
12
  const PROMPT_TIMEOUT_MS = 30_000;
12
13
  const PROMPT_TIMEOUT_TOKEN = '__VPD_SETUP_TIMEOUT__';
14
+ const MANAGED_PROFILE_NAME = 'prod';
15
+ const MANAGED_SERVER_URL = 'https://api.getviewport.com';
16
+ const MANAGED_APP_URL = 'https://app.getviewport.com';
17
+ const MANAGED_RELAY_ENDPOINT = 'wss://relay.getviewport.com/ws';
13
18
  export function recommendedSetupPlan() {
14
19
  return {
15
20
  recommended: true,
@@ -42,6 +47,47 @@ async function saveSetupState(plan) {
42
47
  mode: 0o600,
43
48
  });
44
49
  }
50
+ export async function ensureManagedProfileForSetup() {
51
+ const active = activeProfileInfo();
52
+ if (active.name) {
53
+ return { profileName: active.name, created: false, selected: false };
54
+ }
55
+ const baseHome = resolveViewportBaseHome();
56
+ const registry = await readProfileRegistry(baseHome);
57
+ const profileHome = profileHomePath(baseHome, MANAGED_PROFILE_NAME);
58
+ const existed = Boolean(registry.profiles[MANAGED_PROFILE_NAME]);
59
+ upsertProfileRecord(registry, {
60
+ name: MANAGED_PROFILE_NAME,
61
+ home: profileHome,
62
+ serverUrl: MANAGED_SERVER_URL,
63
+ appUrl: MANAGED_APP_URL,
64
+ relayEndpoint: MANAGED_RELAY_ENDPOINT,
65
+ });
66
+ await writeProfileRegistry(registry, baseHome);
67
+ await fs.mkdir(profileHome, { recursive: true });
68
+ const profileConfigPath = path.join(profileHome, 'config.json');
69
+ if (!existed) {
70
+ await fs.writeFile(profileConfigPath, `${JSON.stringify({
71
+ daemon: {
72
+ server: {
73
+ url: MANAGED_SERVER_URL,
74
+ appUrl: MANAGED_APP_URL,
75
+ },
76
+ relay: {
77
+ endpoint: MANAGED_RELAY_ENDPOINT,
78
+ serverUrl: MANAGED_SERVER_URL,
79
+ },
80
+ },
81
+ }, null, 2)}\n`, { encoding: 'utf-8', mode: 0o600 });
82
+ await fs.chmod(profileConfigPath, 0o600);
83
+ }
84
+ await setCurrentProfile(MANAGED_PROFILE_NAME, baseHome);
85
+ return {
86
+ profileName: MANAGED_PROFILE_NAME,
87
+ created: !existed,
88
+ selected: true,
89
+ };
90
+ }
45
91
  async function promptYesNo(question, defaultYes = true) {
46
92
  const rl = createInterface({ input: process.stdin, output: process.stdout });
47
93
  try {
@@ -140,6 +186,12 @@ export async function setup() {
140
186
  if (hasFlag('json')) {
141
187
  throw new Error('`vpd setup --json` is not supported. Run interactive setup without --json.');
142
188
  }
189
+ const profileSetup = await ensureManagedProfileForSetup();
190
+ if (profileSetup.selected) {
191
+ console.log(profileSetup.created
192
+ ? 'Created default prod profile for managed Viewport.'
193
+ : 'Using existing prod profile for managed Viewport.');
194
+ }
143
195
  const forceRecommended = hasFlag('yes') || hasFlag('recommended');
144
196
  const forceCustom = hasFlag('choose');
145
197
  if (forceRecommended && forceCustom) {
@@ -1 +1 @@
1
- {"version":3,"file":"setup-command.js","sourceRoot":"","sources":["../../src/cli/setup-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-command.js","sourceRoot":"","sources":["../../src/cli/setup-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function uninstall(): Promise<void>;
2
+ //# sourceMappingURL=uninstall-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall-command.d.ts","sourceRoot":"","sources":["../../src/cli/uninstall-command.ts"],"names":[],"mappings":"AAyBA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAuD/C"}