@proletariat/cli 0.3.73 → 0.3.74
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/dist/commands/self-update.d.ts +17 -0
- package/dist/commands/self-update.js +183 -0
- package/dist/commands/self-update.js.map +1 -0
- package/dist/lib/execution/context.d.ts +1 -1
- package/dist/lib/execution/context.js +5 -3
- package/dist/lib/execution/context.js.map +1 -1
- package/dist/lib/execution/runners/devcontainer.js +29 -13
- package/dist/lib/execution/runners/devcontainer.js.map +1 -1
- package/dist/lib/update-check.d.ts +8 -2
- package/dist/lib/update-check.js +42 -2
- package/dist/lib/update-check.js.map +1 -1
- package/dist/lib/update-prompt.js +24 -4
- package/dist/lib/update-prompt.js.map +1 -1
- package/oclif.manifest.json +3630 -3579
- package/package.json +1 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class SelfUpdate extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
check: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Build the shell command for the detected install method.
|
|
14
|
+
*/
|
|
15
|
+
private getUpdateShellCommand;
|
|
16
|
+
private printTroubleshootingHelp;
|
|
17
|
+
}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { execSync } from 'node:child_process';
|
|
3
|
+
import { colors } from '../lib/colors.js';
|
|
4
|
+
import { machineOutputFlags } from '../lib/pmo/index.js';
|
|
5
|
+
import { shouldOutputJson } from '../lib/prompt-json.js';
|
|
6
|
+
import { detectPackageManager, fetchLatestVersion, getUpdateCommand, getStandaloneInstallDir, isNewerVersion, } from '../lib/update-check.js';
|
|
7
|
+
export default class SelfUpdate extends Command {
|
|
8
|
+
static description = 'Update prlt to the latest version';
|
|
9
|
+
static examples = [
|
|
10
|
+
'<%= config.bin %> self-update',
|
|
11
|
+
'<%= config.bin %> self-update --check',
|
|
12
|
+
'<%= config.bin %> self-update --force',
|
|
13
|
+
];
|
|
14
|
+
static flags = {
|
|
15
|
+
...machineOutputFlags,
|
|
16
|
+
check: Flags.boolean({
|
|
17
|
+
description: 'Check for updates without installing',
|
|
18
|
+
default: false,
|
|
19
|
+
}),
|
|
20
|
+
force: Flags.boolean({
|
|
21
|
+
description: 'Force update even if already on latest version',
|
|
22
|
+
default: false,
|
|
23
|
+
}),
|
|
24
|
+
};
|
|
25
|
+
async run() {
|
|
26
|
+
const { flags } = await this.parse(SelfUpdate);
|
|
27
|
+
const jsonMode = shouldOutputJson(flags);
|
|
28
|
+
const currentVersion = this.config.version;
|
|
29
|
+
const pm = detectPackageManager();
|
|
30
|
+
if (!jsonMode) {
|
|
31
|
+
this.log('');
|
|
32
|
+
this.log(colors.primary('Proletariat CLI Self-Update'));
|
|
33
|
+
this.log('');
|
|
34
|
+
this.log(` Current version: ${colors.text(currentVersion)}`);
|
|
35
|
+
this.log(` Install method: ${colors.text(pm)}`);
|
|
36
|
+
}
|
|
37
|
+
// Fetch latest version
|
|
38
|
+
const latestVersion = await fetchLatestVersion(pm === 'standalone' ? 'npm' : pm);
|
|
39
|
+
if (!latestVersion) {
|
|
40
|
+
if (jsonMode) {
|
|
41
|
+
this.log(JSON.stringify({
|
|
42
|
+
success: false,
|
|
43
|
+
error: 'Could not fetch latest version from registry',
|
|
44
|
+
currentVersion,
|
|
45
|
+
packageManager: pm,
|
|
46
|
+
}, null, 2));
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
this.log('');
|
|
50
|
+
this.log(colors.error('Could not fetch latest version. Check your network connection.'));
|
|
51
|
+
}
|
|
52
|
+
this.exit(1);
|
|
53
|
+
}
|
|
54
|
+
const updateAvailable = isNewerVersion(currentVersion, latestVersion);
|
|
55
|
+
if (!jsonMode) {
|
|
56
|
+
this.log(` Latest version: ${colors.text(latestVersion)}`);
|
|
57
|
+
this.log('');
|
|
58
|
+
}
|
|
59
|
+
// --check mode: just report and exit
|
|
60
|
+
if (flags.check) {
|
|
61
|
+
if (jsonMode) {
|
|
62
|
+
this.log(JSON.stringify({
|
|
63
|
+
success: true,
|
|
64
|
+
currentVersion,
|
|
65
|
+
latestVersion,
|
|
66
|
+
updateAvailable,
|
|
67
|
+
packageManager: pm,
|
|
68
|
+
updateCommand: getUpdateCommand(pm),
|
|
69
|
+
}, null, 2));
|
|
70
|
+
}
|
|
71
|
+
else if (updateAvailable) {
|
|
72
|
+
this.log(` ${colors.warning('Update available!')} ${currentVersion} → ${colors.success(latestVersion)}`);
|
|
73
|
+
this.log(` Run ${colors.primary('prlt self-update')} to install`);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
this.log(` ${colors.success('You are on the latest version.')}`);
|
|
77
|
+
}
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
// No update available (and not forced)
|
|
81
|
+
if (!updateAvailable && !flags.force) {
|
|
82
|
+
if (jsonMode) {
|
|
83
|
+
this.log(JSON.stringify({
|
|
84
|
+
success: true,
|
|
85
|
+
currentVersion,
|
|
86
|
+
latestVersion,
|
|
87
|
+
updateAvailable: false,
|
|
88
|
+
message: 'Already on the latest version',
|
|
89
|
+
}, null, 2));
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
this.log(` ${colors.success('Already on the latest version.')}`);
|
|
93
|
+
this.log('');
|
|
94
|
+
}
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
// Perform the update
|
|
98
|
+
const command = this.getUpdateShellCommand(pm, latestVersion);
|
|
99
|
+
if (jsonMode) {
|
|
100
|
+
this.log(JSON.stringify({
|
|
101
|
+
success: true,
|
|
102
|
+
action: 'updating',
|
|
103
|
+
currentVersion,
|
|
104
|
+
latestVersion,
|
|
105
|
+
packageManager: pm,
|
|
106
|
+
command,
|
|
107
|
+
}, null, 2));
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
this.log(` Updating ${currentVersion} → ${latestVersion}…`);
|
|
111
|
+
this.log('');
|
|
112
|
+
this.log(` Running: ${colors.textMuted(command)}`);
|
|
113
|
+
this.log('');
|
|
114
|
+
}
|
|
115
|
+
try {
|
|
116
|
+
execSync(command, {
|
|
117
|
+
stdio: 'inherit',
|
|
118
|
+
timeout: 120_000,
|
|
119
|
+
});
|
|
120
|
+
if (!jsonMode) {
|
|
121
|
+
this.log('');
|
|
122
|
+
this.log(colors.success('Update complete!') + ' Run your command again to use the new version.');
|
|
123
|
+
this.log('');
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
if (!jsonMode) {
|
|
128
|
+
this.log('');
|
|
129
|
+
this.log(colors.error('Update failed.') + ' Try running the command manually:');
|
|
130
|
+
this.log(` ${command}`);
|
|
131
|
+
this.log('');
|
|
132
|
+
this.printTroubleshootingHelp(pm);
|
|
133
|
+
}
|
|
134
|
+
this.exit(1);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Build the shell command for the detected install method.
|
|
139
|
+
*/
|
|
140
|
+
getUpdateShellCommand(pm, version) {
|
|
141
|
+
switch (pm) {
|
|
142
|
+
case 'brew':
|
|
143
|
+
return 'brew upgrade chrismcdermut/proletariat/prlt';
|
|
144
|
+
case 'standalone': {
|
|
145
|
+
const installDir = getStandaloneInstallDir();
|
|
146
|
+
const parts = [
|
|
147
|
+
'curl -fsSL https://raw.githubusercontent.com/chrismcdermut/proletariat/main/scripts/install.sh | bash',
|
|
148
|
+
];
|
|
149
|
+
const args = [];
|
|
150
|
+
if (version)
|
|
151
|
+
args.push(`--version ${version}`);
|
|
152
|
+
if (installDir)
|
|
153
|
+
args.push(`--prefix ${installDir}`);
|
|
154
|
+
if (args.length > 0) {
|
|
155
|
+
parts[0] += ` -s -- ${args.join(' ')}`;
|
|
156
|
+
}
|
|
157
|
+
return parts[0];
|
|
158
|
+
}
|
|
159
|
+
default:
|
|
160
|
+
return 'npm install -g @proletariat/cli';
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
printTroubleshootingHelp(pm) {
|
|
164
|
+
if (pm === 'brew') {
|
|
165
|
+
this.log(' If brew reports "already installed", your tap may be stale:');
|
|
166
|
+
this.log(` ${colors.textMuted('brew tap --force chrismcdermut/proletariat')}`);
|
|
167
|
+
this.log(` ${colors.textMuted('brew upgrade chrismcdermut/proletariat/prlt')}`);
|
|
168
|
+
this.log('');
|
|
169
|
+
}
|
|
170
|
+
if (pm === 'npm') {
|
|
171
|
+
this.log(' If npm fails with EEXIST, another install method may be conflicting.');
|
|
172
|
+
this.log(` See: ${colors.textMuted('prlt self-update --help')} or`);
|
|
173
|
+
this.log(` Docs: ${colors.textMuted('https://github.com/chrismcdermut/proletariat/blob/main/docs/switching-install-methods.md')}`);
|
|
174
|
+
this.log('');
|
|
175
|
+
}
|
|
176
|
+
if (pm === 'standalone') {
|
|
177
|
+
this.log(' If the standalone installer fails, try re-running manually:');
|
|
178
|
+
this.log(` ${colors.textMuted('curl -fsSL https://raw.githubusercontent.com/chrismcdermut/proletariat/main/scripts/install.sh | bash')}`);
|
|
179
|
+
this.log('');
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=self-update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"self-update.js","sourceRoot":"","sources":["../../src/commands/self-update.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export declare function detectRepoWorktrees(agentDir: string): string[];
|
|
|
18
18
|
*
|
|
19
19
|
* @param agentDir - The agent's working directory
|
|
20
20
|
* @param repoWorktrees - Array of repository names (from detectRepoWorktrees)
|
|
21
|
-
* @param fallbackPath - Path to use if no worktrees found (defaults to
|
|
21
|
+
* @param fallbackPath - Path to use if no worktrees found (defaults to agentDir)
|
|
22
22
|
* @returns The resolved worktree path
|
|
23
23
|
*/
|
|
24
24
|
export declare function resolveWorktreePath(agentDir: string, repoWorktrees: string[], fallbackPath?: string): string;
|
|
@@ -36,7 +36,7 @@ export function detectRepoWorktrees(agentDir) {
|
|
|
36
36
|
*
|
|
37
37
|
* @param agentDir - The agent's working directory
|
|
38
38
|
* @param repoWorktrees - Array of repository names (from detectRepoWorktrees)
|
|
39
|
-
* @param fallbackPath - Path to use if no worktrees found (defaults to
|
|
39
|
+
* @param fallbackPath - Path to use if no worktrees found (defaults to agentDir)
|
|
40
40
|
* @returns The resolved worktree path
|
|
41
41
|
*/
|
|
42
42
|
export function resolveWorktreePath(agentDir, repoWorktrees, fallbackPath) {
|
|
@@ -49,8 +49,10 @@ export function resolveWorktreePath(agentDir, repoWorktrees, fallbackPath) {
|
|
|
49
49
|
return agentDir;
|
|
50
50
|
}
|
|
51
51
|
else {
|
|
52
|
-
// No git worktrees found -
|
|
53
|
-
|
|
52
|
+
// No git worktrees found - fall back to agentDir so the path stays
|
|
53
|
+
// inside the Docker mount (process.cwd() is on the host and won't
|
|
54
|
+
// resolve inside a container)
|
|
55
|
+
return fallbackPath ?? agentDir;
|
|
54
56
|
}
|
|
55
57
|
}
|
|
56
58
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/lib/execution/context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,aAAa,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC9C,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC3C,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACtE,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;YAC9C,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,aAAuB,EACvB,YAAqB;IAErB,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,mDAAmD;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9C,CAAC;SAAM,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,uEAAuE;QACvE,OAAO,QAAQ,CAAA;IACjB,CAAC;SAAM,CAAC;QACN,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/lib/execution/context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,aAAa,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC9C,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC3C,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACtE,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;YAC9C,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,aAAuB,EACvB,YAAqB;IAErB,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,mDAAmD;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9C,CAAC;SAAM,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,uEAAuE;QACvE,OAAO,QAAQ,CAAA;IACjB,CAAC;SAAM,CAAC;QACN,mEAAmE;QACnE,kEAAkE;QAClE,8BAA8B;QAC9B,OAAO,YAAY,IAAI,QAAQ,CAAA;IACjC,CAAC;AACH,CAAC"}
|
|
@@ -38,23 +38,36 @@ function cleanupOldPromptFiles(worktreePath, ticketId) {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
|
-
* Write prompt to a file inside the
|
|
42
|
-
*
|
|
41
|
+
* Write prompt to a file that's accessible inside the Docker container.
|
|
42
|
+
* Always writes to a path under agentDir (mounted at /workspace) so the
|
|
43
|
+
* container can read it — even when worktreePath is outside agentDir.
|
|
43
44
|
* Cleans up old prompt files for the same ticket before writing.
|
|
44
45
|
*/
|
|
45
46
|
function writePromptFile(context) {
|
|
46
|
-
// Clean up old prompt files for this ticket before creating a new one
|
|
47
|
-
cleanupOldPromptFiles(context.worktreePath, context.ticketId);
|
|
48
47
|
const prompt = buildPrompt(context);
|
|
49
48
|
const filename = `.prlt-prompt-${context.ticketId}-${Date.now()}.txt`;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
//
|
|
53
|
-
//
|
|
49
|
+
// Container mounts agentDir at /workspace.
|
|
50
|
+
// Determine if worktreePath is inside agentDir — if so, write the prompt
|
|
51
|
+
// file there alongside the code. If worktreePath is OUTSIDE agentDir
|
|
52
|
+
// (e.g., when resolveWorktreePath falls back to cwd), write to agentDir
|
|
53
|
+
// itself so the file is always under the /workspace mount.
|
|
54
54
|
const relativePath = path.relative(context.agentDir, context.worktreePath);
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
const isInsideAgentDir = relativePath && !relativePath.startsWith('..');
|
|
56
|
+
let hostWriteDir;
|
|
57
|
+
let containerPath;
|
|
58
|
+
if (isInsideAgentDir) {
|
|
59
|
+
hostWriteDir = context.worktreePath;
|
|
60
|
+
containerPath = `/workspace/${relativePath}/${filename}`;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// worktreePath is outside agentDir — write to agentDir root
|
|
64
|
+
hostWriteDir = context.agentDir;
|
|
65
|
+
containerPath = `/workspace/${filename}`;
|
|
66
|
+
}
|
|
67
|
+
// Clean up old prompt files before creating a new one
|
|
68
|
+
cleanupOldPromptFiles(hostWriteDir, context.ticketId);
|
|
69
|
+
const hostPath = path.join(hostWriteDir, filename);
|
|
70
|
+
fs.writeFileSync(hostPath, prompt, { mode: 0o644 });
|
|
58
71
|
return { hostPath, containerPath };
|
|
59
72
|
}
|
|
60
73
|
// =============================================================================
|
|
@@ -66,9 +79,12 @@ function writePromptFile(context) {
|
|
|
66
79
|
* Uses a prompt file to avoid shell escaping issues.
|
|
67
80
|
*/
|
|
68
81
|
export function buildDevcontainerCommand(context, executor, promptFile, containerId, outputMode = 'interactive', permissionMode = 'safe', displayMode = 'terminal', mcpConfigFile) {
|
|
69
|
-
// Calculate the relative path from agentDir to worktreePath for cd
|
|
82
|
+
// Calculate the relative path from agentDir to worktreePath for cd.
|
|
83
|
+
// Only use the relative path if worktreePath is inside agentDir — if it
|
|
84
|
+
// traverses upward (starts with ..), the path won't exist inside Docker.
|
|
70
85
|
const relativePath = path.relative(context.agentDir, context.worktreePath);
|
|
71
|
-
const
|
|
86
|
+
const isInsideAgentDir = relativePath && !relativePath.startsWith('..');
|
|
87
|
+
const cdCmd = isInsideAgentDir ? `cd /workspace/${relativePath} && ` : '';
|
|
72
88
|
// Build executor command using the centralized getExecutorCommand()
|
|
73
89
|
let executorCmd;
|
|
74
90
|
const skipPermissions = permissionMode === 'danger';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devcontainer.js","sourceRoot":"","sources":["../../../../src/lib/execution/runners/devcontainer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,EACL,QAAQ,EACR,EAAE,EACF,IAAI,EACJ,EAAE,EAQF,4BAA4B,EAC5B,iBAAiB,EACjB,eAAe,EACf,oBAAoB,GACrB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAEL,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAEtE,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,YAAoB,EAAE,QAAiB;IACpE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,QAAQ;YACtB,CAAC,CAAC,IAAI,MAAM,CAAC,mBAAmB,QAAQ,cAAc,CAAC;YACvD,CAAC,CAAC,yBAAyB,CAAA;QAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAA;gBAC9C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,sCAAsC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAA;gBACnE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,8CAA8C,YAAY,GAAG,EAAE,GAAG,CAAC,CAAA;IACnF,CAAC;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"devcontainer.js","sourceRoot":"","sources":["../../../../src/lib/execution/runners/devcontainer.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export interface VersionCheckCache {
|
|
|
18
18
|
last_checked_at: string | null;
|
|
19
19
|
dismissed_version: string | null;
|
|
20
20
|
}
|
|
21
|
-
export type PackageManager = 'brew' | 'npm';
|
|
21
|
+
export type PackageManager = 'brew' | 'npm' | 'standalone';
|
|
22
22
|
export declare function readCache(): VersionCheckCache;
|
|
23
23
|
export declare function writeCache(cache: VersionCheckCache): void;
|
|
24
24
|
/**
|
|
@@ -30,13 +30,19 @@ export declare function shouldCheck(cache: VersionCheckCache): boolean;
|
|
|
30
30
|
*
|
|
31
31
|
* Priority:
|
|
32
32
|
* 1. PRLT_MANAGED_BY env var (explicit override)
|
|
33
|
-
* 2.
|
|
33
|
+
* 2. Standalone install metadata file (~/.local/lib/proletariat/.install-metadata.json)
|
|
34
|
+
* 3. Binary path heuristic (Homebrew prefixes → brew, ~/.local/bin → standalone, otherwise npm)
|
|
34
35
|
*/
|
|
35
36
|
export declare function detectPackageManager(): PackageManager;
|
|
36
37
|
/**
|
|
37
38
|
* Get the update command string for the detected package manager.
|
|
38
39
|
*/
|
|
39
40
|
export declare function getUpdateCommand(pm: PackageManager): string;
|
|
41
|
+
/**
|
|
42
|
+
* Get the standalone install directory from metadata or default.
|
|
43
|
+
* Returns null if not a standalone install.
|
|
44
|
+
*/
|
|
45
|
+
export declare function getStandaloneInstallDir(): string | null;
|
|
40
46
|
/**
|
|
41
47
|
* Resolve the local filesystem path for the Homebrew tap.
|
|
42
48
|
* Returns null if the tap directory doesn't exist.
|
package/dist/lib/update-check.js
CHANGED
|
@@ -103,7 +103,8 @@ export function shouldCheck(cache) {
|
|
|
103
103
|
*
|
|
104
104
|
* Priority:
|
|
105
105
|
* 1. PRLT_MANAGED_BY env var (explicit override)
|
|
106
|
-
* 2.
|
|
106
|
+
* 2. Standalone install metadata file (~/.local/lib/proletariat/.install-metadata.json)
|
|
107
|
+
* 3. Binary path heuristic (Homebrew prefixes → brew, ~/.local/bin → standalone, otherwise npm)
|
|
107
108
|
*/
|
|
108
109
|
export function detectPackageManager() {
|
|
109
110
|
// 1. Env var override
|
|
@@ -112,6 +113,8 @@ export function detectPackageManager() {
|
|
|
112
113
|
return 'brew';
|
|
113
114
|
if (envOverride === 'npm')
|
|
114
115
|
return 'npm';
|
|
116
|
+
if (envOverride === 'standalone')
|
|
117
|
+
return 'standalone';
|
|
115
118
|
// 2. Binary path heuristic
|
|
116
119
|
try {
|
|
117
120
|
const binPath = execSync('which prlt', {
|
|
@@ -122,9 +125,22 @@ export function detectPackageManager() {
|
|
|
122
125
|
if (binPath.startsWith('/opt/homebrew/') || binPath.startsWith('/usr/local/')) {
|
|
123
126
|
return 'brew';
|
|
124
127
|
}
|
|
128
|
+
// Standalone installer uses ~/.local/bin or custom PRLT_INSTALL_DIR
|
|
129
|
+
const homeDir = process.env.HOME || '';
|
|
130
|
+
if (homeDir && binPath.startsWith(path.join(homeDir, '.local'))) {
|
|
131
|
+
return 'standalone';
|
|
132
|
+
}
|
|
125
133
|
}
|
|
126
134
|
catch {
|
|
127
|
-
// which failed — fall through
|
|
135
|
+
// which failed — fall through
|
|
136
|
+
}
|
|
137
|
+
// 3. Check for standalone install metadata file
|
|
138
|
+
const homeDir = process.env.HOME || '';
|
|
139
|
+
if (homeDir) {
|
|
140
|
+
const metadataPath = path.join(homeDir, '.local', 'lib', 'proletariat', '.install-metadata.json');
|
|
141
|
+
if (fs.existsSync(metadataPath)) {
|
|
142
|
+
return 'standalone';
|
|
143
|
+
}
|
|
128
144
|
}
|
|
129
145
|
return 'npm';
|
|
130
146
|
}
|
|
@@ -135,8 +151,32 @@ export function getUpdateCommand(pm) {
|
|
|
135
151
|
if (pm === 'brew') {
|
|
136
152
|
return 'brew upgrade chrismcdermut/proletariat/prlt';
|
|
137
153
|
}
|
|
154
|
+
if (pm === 'standalone') {
|
|
155
|
+
return 'prlt self-update';
|
|
156
|
+
}
|
|
138
157
|
return 'npm install -g @proletariat/cli';
|
|
139
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* Get the standalone install directory from metadata or default.
|
|
161
|
+
* Returns null if not a standalone install.
|
|
162
|
+
*/
|
|
163
|
+
export function getStandaloneInstallDir() {
|
|
164
|
+
const homeDir = process.env.HOME || '';
|
|
165
|
+
if (!homeDir)
|
|
166
|
+
return null;
|
|
167
|
+
const metadataPath = path.join(homeDir, '.local', 'lib', 'proletariat', '.install-metadata.json');
|
|
168
|
+
try {
|
|
169
|
+
if (fs.existsSync(metadataPath)) {
|
|
170
|
+
const content = fs.readFileSync(metadataPath, 'utf-8');
|
|
171
|
+
const metadata = JSON.parse(content);
|
|
172
|
+
return metadata.install_dir ?? path.join(homeDir, '.local');
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
// ignore
|
|
177
|
+
}
|
|
178
|
+
return path.join(homeDir, '.local');
|
|
179
|
+
}
|
|
140
180
|
// ---------------------------------------------------------------------------
|
|
141
181
|
// Stale Homebrew tap detection
|
|
142
182
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-check.js","sourceRoot":"","sources":["../../src/lib/update-check.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"update-check.js","sourceRoot":"","sources":["../../src/lib/update-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* `check_for_update_on_startup` machine-level setting is disabled.
|
|
12
12
|
*/
|
|
13
13
|
import { execSync } from 'node:child_process';
|
|
14
|
-
import { dismissVersion, getStaleTapCommands } from './update-check.js';
|
|
14
|
+
import { dismissVersion, getStaleTapCommands, getStandaloneInstallDir } from './update-check.js';
|
|
15
15
|
// ---------------------------------------------------------------------------
|
|
16
16
|
// Environment guards
|
|
17
17
|
// ---------------------------------------------------------------------------
|
|
@@ -128,6 +128,23 @@ export async function showUpdatePrompt(info) {
|
|
|
128
128
|
// ---------------------------------------------------------------------------
|
|
129
129
|
// Action handlers
|
|
130
130
|
// ---------------------------------------------------------------------------
|
|
131
|
+
/**
|
|
132
|
+
* Get the shell command to run for a standalone self-update.
|
|
133
|
+
* Downloads and pipes the installer script, passing the target version.
|
|
134
|
+
*/
|
|
135
|
+
function getStandaloneUpdateCommand(version) {
|
|
136
|
+
const installDir = getStandaloneInstallDir();
|
|
137
|
+
const parts = ['curl -fsSL https://raw.githubusercontent.com/chrismcdermut/proletariat/main/scripts/install.sh | bash'];
|
|
138
|
+
const args = [];
|
|
139
|
+
if (version)
|
|
140
|
+
args.push(`--version ${version}`);
|
|
141
|
+
if (installDir)
|
|
142
|
+
args.push(`--prefix ${installDir}`);
|
|
143
|
+
if (args.length > 0) {
|
|
144
|
+
parts[0] += ` -s -- ${args.join(' ')}`;
|
|
145
|
+
}
|
|
146
|
+
return parts[0];
|
|
147
|
+
}
|
|
131
148
|
/**
|
|
132
149
|
* Execute the update command, then signal the caller to stop.
|
|
133
150
|
* Runs synchronously so the user sees output in real time.
|
|
@@ -135,11 +152,14 @@ export async function showUpdatePrompt(info) {
|
|
|
135
152
|
* init hook can exit cleanly through oclif lifecycle.
|
|
136
153
|
*/
|
|
137
154
|
async function executeUpdate(info) {
|
|
155
|
+
const command = info.packageManager === 'standalone'
|
|
156
|
+
? getStandaloneUpdateCommand(info.latestVersion)
|
|
157
|
+
: info.updateCommand;
|
|
138
158
|
console.log('');
|
|
139
|
-
console.log(`Running: ${
|
|
159
|
+
console.log(`Running: ${command}`);
|
|
140
160
|
console.log('');
|
|
141
161
|
try {
|
|
142
|
-
execSync(
|
|
162
|
+
execSync(command, {
|
|
143
163
|
stdio: 'inherit',
|
|
144
164
|
timeout: 120_000, // 2 minute timeout
|
|
145
165
|
});
|
|
@@ -150,7 +170,7 @@ async function executeUpdate(info) {
|
|
|
150
170
|
catch {
|
|
151
171
|
console.error('');
|
|
152
172
|
console.error('Update failed. You can try running the command manually:');
|
|
153
|
-
console.error(` ${
|
|
173
|
+
console.error(` ${command}`);
|
|
154
174
|
// If brew upgrade failed and the tap is stale, show remediation
|
|
155
175
|
if (info.packageManager === 'brew' && info.staleTap?.isStale) {
|
|
156
176
|
await printStaleTapGuidance();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-prompt.js","sourceRoot":"","sources":["../../src/lib/update-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"update-prompt.js","sourceRoot":"","sources":["../../src/lib/update-prompt.ts"],"names":[],"mappings":"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"}
|