@entelligentsia/forgecli 0.9.3 → 0.9.4
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/CHANGELOG.md +11 -0
- package/dist/bin/forge.js +81 -68
- package/dist/bin/forge.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.9.4] — 2026-05-19
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- **`forge update` no longer emits "Detected unsettled top-level await"
|
|
14
|
+
warning** while blocked at the `[y/N]` upgrade prompt. The bin entry
|
|
15
|
+
point's subcommand dispatch is now wrapped in an async function
|
|
16
|
+
invoked from a non-awaited `.catch()` chain at module scope, so the
|
|
17
|
+
long-running interactive readline never sits at a top-level `await`.
|
|
18
|
+
Pre-existing behaviour bug since long-prompt subcommands shipped;
|
|
19
|
+
surfaced loudly on Node v22+.
|
|
20
|
+
|
|
10
21
|
## [0.9.3] — 2026-05-19
|
|
11
22
|
|
|
12
23
|
### Changed
|
package/dist/bin/forge.js
CHANGED
|
@@ -97,75 +97,88 @@ Slash commands (inside a Forge project):
|
|
|
97
97
|
// ---------------------------------------------------------------------------
|
|
98
98
|
// Main
|
|
99
99
|
// ---------------------------------------------------------------------------
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
if (parsed
|
|
110
|
-
|
|
111
|
-
// Also forward --help to pi so the pi help section is shown
|
|
112
|
-
await main(["--help"], { extensionFactories: [forgecli] });
|
|
113
|
-
process.exit(0);
|
|
114
|
-
}
|
|
115
|
-
if (parsed.forgeAction === "doctor") {
|
|
116
|
-
const pkg = readForgeCliPkg();
|
|
117
|
-
const exitCode = await runDoctor(parsed.subcommandArgs ?? [], {
|
|
118
|
-
forgeCli: pkg.version ?? "unknown",
|
|
119
|
-
forgePlugin: pkg.forge?.bundledVersion ?? "unknown",
|
|
120
|
-
pi: await readPiVersion(),
|
|
121
|
-
});
|
|
122
|
-
process.exit(exitCode);
|
|
123
|
-
}
|
|
124
|
-
if (parsed.forgeAction === "update") {
|
|
125
|
-
const pkg = readForgeCliPkg();
|
|
126
|
-
const exitCode = await runUpdate(parsed.subcommandArgs ?? [], { forgeCli: pkg.version ?? "unknown" });
|
|
127
|
-
process.exit(exitCode);
|
|
128
|
-
}
|
|
129
|
-
if (parsed.forgeAction === "config") {
|
|
130
|
-
const exitCode = await runConfig(parsed.subcommandArgs ?? []);
|
|
131
|
-
process.exit(exitCode);
|
|
132
|
-
}
|
|
133
|
-
// Apply forge env overrides
|
|
134
|
-
Object.assign(process.env, parsed.env);
|
|
135
|
-
applyForgeOwnedEnvDefaults();
|
|
136
|
-
// Default prompt-cache retention to "long" for all Forge sessions.
|
|
137
|
-
//
|
|
138
|
-
// Rationale: Forge subagent phases (plan, review_plan, implement, review_code,
|
|
139
|
-
// approve, commit) routinely run ~10 minutes per phase, and a sprint chains
|
|
140
|
-
// 4–8 such phases per task across the same persona/system-prompt prefix.
|
|
141
|
-
// Anthropic's default 5-minute cache TTL expires mid-phase; OpenAI's default
|
|
142
|
-
// in-memory cache evicts between phases. "long" gives Anthropic a 1h TTL and
|
|
143
|
-
// OpenAI 24h retention — comfortably covering a phase and the gap to the next.
|
|
144
|
-
//
|
|
145
|
-
// Cost: on Anthropic, 1h cache writes cost 25% more than 5m writes — but a
|
|
146
|
-
// single subsequent cache read (90% cheaper than fresh input) repays that
|
|
147
|
-
// premium ~3.6×, and every Forge phase reads the same prefix many times. On
|
|
148
|
-
// OpenAI, 24h retention is free. On proxies/compat backends, pi-ai ignores
|
|
149
|
-
// this env var, so this default is safe everywhere.
|
|
150
|
-
//
|
|
151
|
-
// Users who want the upstream pi-ai default keep an explicit value:
|
|
152
|
-
// PI_CACHE_RETENTION=short forge ...
|
|
153
|
-
if (!process.env.PI_CACHE_RETENTION) {
|
|
154
|
-
process.env.PI_CACHE_RETENTION = "long";
|
|
155
|
-
}
|
|
156
|
-
// Fast-path subcommand: spawn the bundled cjs tool directly. This skips
|
|
157
|
-
// the entire pi/agent boot and turns 26s cold-starts into <100ms shells.
|
|
158
|
-
if (parsed.forgeAction === "subcommand" && parsed.subcommandTool) {
|
|
159
|
-
const toolPath = path.resolve(__dirname, "..", "forge-payload", "tools", parsed.subcommandTool);
|
|
160
|
-
if (!fs.existsSync(toolPath)) {
|
|
161
|
-
process.stderr.write(`forge: fast-path tool not found at ${toolPath}. Bundle may be corrupt — try \`forge --version\` and reinstall.\n`);
|
|
100
|
+
// Wrapped in an async IIFE rather than using top-level await.
|
|
101
|
+
// Why: subcommands like `forge update` block on an interactive [y/N]
|
|
102
|
+
// readline prompt for arbitrarily long. Node v22+ emits a
|
|
103
|
+
// "Detected unsettled top-level await" warning when a top-level await
|
|
104
|
+
// has been pending past ~10s with an idle-looking event loop. Pushing
|
|
105
|
+
// the await one frame down into a regular async function silences it
|
|
106
|
+
// without changing behaviour.
|
|
107
|
+
async function run() {
|
|
108
|
+
const parsed = parseForgeArgv(process.argv.slice(2));
|
|
109
|
+
if (isParseError(parsed)) {
|
|
110
|
+
process.stderr.write(`${parsed.error}\n`);
|
|
162
111
|
process.exit(1);
|
|
163
112
|
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
113
|
+
if (parsed.forgeAction === "version") {
|
|
114
|
+
await printVersion();
|
|
115
|
+
process.exit(0);
|
|
116
|
+
}
|
|
117
|
+
if (parsed.forgeAction === "help") {
|
|
118
|
+
printHelp();
|
|
119
|
+
// Also forward --help to pi so the pi help section is shown
|
|
120
|
+
await main(["--help"], { extensionFactories: [forgecli] });
|
|
121
|
+
process.exit(0);
|
|
122
|
+
}
|
|
123
|
+
if (parsed.forgeAction === "doctor") {
|
|
124
|
+
const pkg = readForgeCliPkg();
|
|
125
|
+
const exitCode = await runDoctor(parsed.subcommandArgs ?? [], {
|
|
126
|
+
forgeCli: pkg.version ?? "unknown",
|
|
127
|
+
forgePlugin: pkg.forge?.bundledVersion ?? "unknown",
|
|
128
|
+
pi: await readPiVersion(),
|
|
129
|
+
});
|
|
130
|
+
process.exit(exitCode);
|
|
131
|
+
}
|
|
132
|
+
if (parsed.forgeAction === "update") {
|
|
133
|
+
const pkg = readForgeCliPkg();
|
|
134
|
+
const exitCode = await runUpdate(parsed.subcommandArgs ?? [], { forgeCli: pkg.version ?? "unknown" });
|
|
135
|
+
process.exit(exitCode);
|
|
136
|
+
}
|
|
137
|
+
if (parsed.forgeAction === "config") {
|
|
138
|
+
const exitCode = await runConfig(parsed.subcommandArgs ?? []);
|
|
139
|
+
process.exit(exitCode);
|
|
140
|
+
}
|
|
141
|
+
// Apply forge env overrides
|
|
142
|
+
Object.assign(process.env, parsed.env);
|
|
143
|
+
applyForgeOwnedEnvDefaults();
|
|
144
|
+
// Default prompt-cache retention to "long" for all Forge sessions.
|
|
145
|
+
//
|
|
146
|
+
// Rationale: Forge subagent phases (plan, review_plan, implement, review_code,
|
|
147
|
+
// approve, commit) routinely run ~10 minutes per phase, and a sprint chains
|
|
148
|
+
// 4–8 such phases per task across the same persona/system-prompt prefix.
|
|
149
|
+
// Anthropic's default 5-minute cache TTL expires mid-phase; OpenAI's default
|
|
150
|
+
// in-memory cache evicts between phases. "long" gives Anthropic a 1h TTL and
|
|
151
|
+
// OpenAI 24h retention — comfortably covering a phase and the gap to the next.
|
|
152
|
+
//
|
|
153
|
+
// Cost: on Anthropic, 1h cache writes cost 25% more than 5m writes — but a
|
|
154
|
+
// single subsequent cache read (90% cheaper than fresh input) repays that
|
|
155
|
+
// premium ~3.6×, and every Forge phase reads the same prefix many times. On
|
|
156
|
+
// OpenAI, 24h retention is free. On proxies/compat backends, pi-ai ignores
|
|
157
|
+
// this env var, so this default is safe everywhere.
|
|
158
|
+
//
|
|
159
|
+
// Users who want the upstream pi-ai default keep an explicit value:
|
|
160
|
+
// PI_CACHE_RETENTION=short forge ...
|
|
161
|
+
if (!process.env.PI_CACHE_RETENTION) {
|
|
162
|
+
process.env.PI_CACHE_RETENTION = "long";
|
|
163
|
+
}
|
|
164
|
+
// Fast-path subcommand: spawn the bundled cjs tool directly. This skips
|
|
165
|
+
// the entire pi/agent boot and turns 26s cold-starts into <100ms shells.
|
|
166
|
+
if (parsed.forgeAction === "subcommand" && parsed.subcommandTool) {
|
|
167
|
+
const toolPath = path.resolve(__dirname, "..", "forge-payload", "tools", parsed.subcommandTool);
|
|
168
|
+
if (!fs.existsSync(toolPath)) {
|
|
169
|
+
process.stderr.write(`forge: fast-path tool not found at ${toolPath}. Bundle may be corrupt — try \`forge --version\` and reinstall.\n`);
|
|
170
|
+
process.exit(1);
|
|
171
|
+
}
|
|
172
|
+
const result = spawnSync(process.execPath, [toolPath, ...(parsed.subcommandArgs ?? [])], {
|
|
173
|
+
stdio: "inherit",
|
|
174
|
+
});
|
|
175
|
+
process.exit(result.status ?? 1);
|
|
176
|
+
}
|
|
177
|
+
// Delegate to pi
|
|
178
|
+
await main(parsed.piArgv, { extensionFactories: [forgecli] });
|
|
168
179
|
}
|
|
169
|
-
|
|
170
|
-
|
|
180
|
+
run().catch((err) => {
|
|
181
|
+
process.stderr.write(`forge: fatal: ${err instanceof Error ? err.stack ?? err.message : String(err)}\n`);
|
|
182
|
+
process.exit(1);
|
|
183
|
+
});
|
|
171
184
|
//# sourceMappingURL=forge.js.map
|
package/dist/bin/forge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forge.js","sourceRoot":"","sources":["../../src/bin/forge.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"forge.js","sourceRoot":"","sources":["../../src/bin/forge.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@entelligentsia/forgecli",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.4",
|
|
4
4
|
"description": "Forge SDLC ported onto @earendil-works/pi-coding-agent — production launcher with three bin aliases (forge/forgecli/4ge). Bundles a curated fork of pi-coding-agent vendored under earendil-works names.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Entelligentsia",
|