@rosthq/cli 0.7.127 → 0.7.129
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/forge-workspace.d.ts.map +1 -1
- package/dist/implementation-credential-store.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +84 -25
- package/dist/index.js.map +2 -2
- package/dist/runner-serve.d.ts.map +1 -1
- package/dist/skill-install.d.ts +1 -0
- package/dist/skill-install.d.ts.map +1 -1
- package/dist/token-store.d.ts +1 -0
- package/dist/token-store.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forge-workspace.d.ts","sourceRoot":"","sources":["../src/forge-workspace.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"forge-workspace.d.ts","sourceRoot":"","sources":["../src/forge-workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implementation-credential-store.d.ts","sourceRoot":"","sources":["../src/implementation-credential-store.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAUL,KAAK,QAAQ,EACd,MAAM,kBAAkB,CAAC;AAO1B,QAAA,MAAM,uCAAuC;;;;;;;kBAOlC,CAAC;AAEZ,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,uCAAuC,CAC/C,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,IAAI,OAAO,CAAC,iCAAiC,GAAG,IAAI,CAAC,CAAC;IAC1D,KAAK,CAAC,UAAU,EAAE,iCAAiC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,IAAI,MAAM,CAAC;CACpB,CAAC;
|
|
1
|
+
{"version":3,"file":"implementation-credential-store.d.ts","sourceRoot":"","sources":["../src/implementation-credential-store.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAUL,KAAK,QAAQ,EACd,MAAM,kBAAkB,CAAC;AAO1B,QAAA,MAAM,uCAAuC;;;;;;;kBAOlC,CAAC;AAEZ,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,uCAAuC,CAC/C,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,IAAI,OAAO,CAAC,iCAAiC,GAAG,IAAI,CAAC,CAAC;IAC1D,KAAK,CAAC,UAAU,EAAE,iCAAiC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,IAAI,MAAM,CAAC;CACpB,CAAC;AA6SF,qBAAa,4BAA6B,YAAW,6BAA6B;IACpE,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,SAAqB;IAEpD,IAAI,IAAI,OAAO,CAAC,iCAAiC,GAAG,IAAI,CAAC;IAezD,KAAK,CAAC,UAAU,EAAE,iCAAiC,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,QAAQ,IAAI,MAAM;YAIJ,cAAc;CAI7B;AAED,MAAM,MAAM,0CAA0C,GAAG;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;CAC5C,CAAC;AAEF,wBAAgB,mCAAmC,CACjD,OAAO,GAAE,0CAA+C,GACvD,6BAA6B,CAmC/B"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,aAAa,EAAsB,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAoB,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAoCrE,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAI1C,WAAW,CAAC,EAAE,OAAO,CAAC;IAOtB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAClD,CAAC;AA8BF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,CAAC,cAAc,EAC5B,MAAM,EAAE,MAAM,CAAC,cAAc,GAC5B,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAUxC;AAID,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,KAAK,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,mBAAmB,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,yBAAyB,CAAC;IAGlD,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;CACtC,CAAC;AAEF,wBAAsB,IAAI,CAAC,IAAI,WAAwB,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,aAAa,EAAsB,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAoB,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAoCrE,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAI1C,WAAW,CAAC,EAAE,OAAO,CAAC;IAOtB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAClD,CAAC;AA8BF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,CAAC,cAAc,EAC5B,MAAM,EAAE,MAAM,CAAC,cAAc,GAC5B,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAUxC;AAID,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,KAAK,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,mBAAmB,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,yBAAyB,CAAC;IAGlD,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;CACtC,CAAC;AAEF,wBAAsB,IAAI,CAAC,IAAI,WAAwB,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyfnG;AA8gBD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAUxF"}
|
package/dist/index.js
CHANGED
|
@@ -51242,6 +51242,13 @@ var DarwinTokenStore = class extends KeychainTokenStore {
|
|
|
51242
51242
|
stderr;
|
|
51243
51243
|
backend = null;
|
|
51244
51244
|
fileBackendReason = null;
|
|
51245
|
+
// DER-2813: whether the LAST read resolved off the owner-only file store even
|
|
51246
|
+
// though the write backend is the keychain (a usable-but-empty keychain read
|
|
51247
|
+
// that fell through to disk). Tracked separately from `backend` so describe()
|
|
51248
|
+
// can report the true read origin WITHOUT ever rerouting writes — a later
|
|
51249
|
+
// refresh on this instance must still target the keychain (Codex kickback,
|
|
51250
|
+
// PR #1171).
|
|
51251
|
+
lastReadFromFile = false;
|
|
51245
51252
|
fileStore = null;
|
|
51246
51253
|
async read() {
|
|
51247
51254
|
if (await this.selectBackend() === "file") {
|
|
@@ -51249,11 +51256,13 @@ var DarwinTokenStore = class extends KeychainTokenStore {
|
|
|
51249
51256
|
}
|
|
51250
51257
|
const keychainSession = await super.read();
|
|
51251
51258
|
if (keychainSession) {
|
|
51259
|
+
this.lastReadFromFile = false;
|
|
51252
51260
|
return keychainSession;
|
|
51253
51261
|
}
|
|
51254
51262
|
return this.readFileStoreBestEffort();
|
|
51255
51263
|
}
|
|
51256
51264
|
async write(session) {
|
|
51265
|
+
this.lastReadFromFile = false;
|
|
51257
51266
|
if (await this.selectBackend() === "file") {
|
|
51258
51267
|
await this.file().write(session);
|
|
51259
51268
|
return;
|
|
@@ -51285,6 +51294,9 @@ var DarwinTokenStore = class extends KeychainTokenStore {
|
|
|
51285
51294
|
}
|
|
51286
51295
|
describe() {
|
|
51287
51296
|
if (this.backend !== "file") {
|
|
51297
|
+
if (this.lastReadFromFile) {
|
|
51298
|
+
return "owner-only file store (read from disk; no readable macOS keychain session)";
|
|
51299
|
+
}
|
|
51288
51300
|
return super.describe();
|
|
51289
51301
|
}
|
|
51290
51302
|
switch (this.fileBackendReason) {
|
|
@@ -51301,7 +51313,9 @@ var DarwinTokenStore = class extends KeychainTokenStore {
|
|
|
51301
51313
|
}
|
|
51302
51314
|
async readFileStoreBestEffort() {
|
|
51303
51315
|
try {
|
|
51304
|
-
|
|
51316
|
+
const fromFile = await this.file().read();
|
|
51317
|
+
this.lastReadFromFile = fromFile !== null;
|
|
51318
|
+
return fromFile;
|
|
51305
51319
|
} catch {
|
|
51306
51320
|
return null;
|
|
51307
51321
|
}
|
|
@@ -51316,14 +51330,14 @@ var DarwinTokenStore = class extends KeychainTokenStore {
|
|
|
51316
51330
|
}
|
|
51317
51331
|
warnKeychainNotReadableBack() {
|
|
51318
51332
|
this.stderr.write(
|
|
51319
|
-
`
|
|
51333
|
+
`WARNING: the macOS Keychain accepted the session but it was not readable back (cross-process keychain read failed), so the session was written to the ${this.file().describe()} on disk instead. Later commands find it there automatically.
|
|
51320
51334
|
`
|
|
51321
51335
|
);
|
|
51322
51336
|
}
|
|
51323
51337
|
warnKeychainWriteFailed(error51) {
|
|
51324
51338
|
const detail = error51 instanceof Error ? error51.message : "the macOS Keychain write failed";
|
|
51325
51339
|
this.stderr.write(
|
|
51326
|
-
`
|
|
51340
|
+
`WARNING: ${detail}, so the session was written to the ${this.file().describe()} on disk instead. Later commands find it there automatically.
|
|
51327
51341
|
`
|
|
51328
51342
|
);
|
|
51329
51343
|
}
|
|
@@ -51665,6 +51679,13 @@ var ImplementationDarwinTokenStore = class extends ImplementationKeychainTokenSt
|
|
|
51665
51679
|
stderr;
|
|
51666
51680
|
backend = null;
|
|
51667
51681
|
fileBackendReason = null;
|
|
51682
|
+
// DER-2813: whether the LAST read resolved off the owner-only file store even
|
|
51683
|
+
// though the write backend is the keychain (a usable-but-empty keychain read
|
|
51684
|
+
// that fell through to disk). Tracked separately from `backend` so describe()
|
|
51685
|
+
// can report the true read origin WITHOUT ever rerouting writes — a later
|
|
51686
|
+
// refresh on this instance must still target the keychain (Codex kickback,
|
|
51687
|
+
// PR #1171).
|
|
51688
|
+
lastReadFromFile = false;
|
|
51668
51689
|
fileStore = null;
|
|
51669
51690
|
async read() {
|
|
51670
51691
|
if (await this.selectBackend() === "file") {
|
|
@@ -51672,11 +51693,13 @@ var ImplementationDarwinTokenStore = class extends ImplementationKeychainTokenSt
|
|
|
51672
51693
|
}
|
|
51673
51694
|
const keychainCredential = await super.read();
|
|
51674
51695
|
if (keychainCredential) {
|
|
51696
|
+
this.lastReadFromFile = false;
|
|
51675
51697
|
return keychainCredential;
|
|
51676
51698
|
}
|
|
51677
51699
|
return this.readFileStoreBestEffort();
|
|
51678
51700
|
}
|
|
51679
51701
|
async write(credential) {
|
|
51702
|
+
this.lastReadFromFile = false;
|
|
51680
51703
|
if (await this.selectBackend() === "file") {
|
|
51681
51704
|
await this.file().write(credential);
|
|
51682
51705
|
return;
|
|
@@ -51708,6 +51731,9 @@ var ImplementationDarwinTokenStore = class extends ImplementationKeychainTokenSt
|
|
|
51708
51731
|
}
|
|
51709
51732
|
describe() {
|
|
51710
51733
|
if (this.backend !== "file") {
|
|
51734
|
+
if (this.lastReadFromFile) {
|
|
51735
|
+
return "owner-only file store (read from disk; no readable macOS keychain credential)";
|
|
51736
|
+
}
|
|
51711
51737
|
return super.describe();
|
|
51712
51738
|
}
|
|
51713
51739
|
switch (this.fileBackendReason) {
|
|
@@ -51724,7 +51750,9 @@ var ImplementationDarwinTokenStore = class extends ImplementationKeychainTokenSt
|
|
|
51724
51750
|
}
|
|
51725
51751
|
async readFileStoreBestEffort() {
|
|
51726
51752
|
try {
|
|
51727
|
-
|
|
51753
|
+
const fromFile = await this.file().read();
|
|
51754
|
+
this.lastReadFromFile = fromFile !== null;
|
|
51755
|
+
return fromFile;
|
|
51728
51756
|
} catch {
|
|
51729
51757
|
return null;
|
|
51730
51758
|
}
|
|
@@ -51739,14 +51767,14 @@ var ImplementationDarwinTokenStore = class extends ImplementationKeychainTokenSt
|
|
|
51739
51767
|
}
|
|
51740
51768
|
warnKeychainNotReadableBack() {
|
|
51741
51769
|
this.stderr.write(
|
|
51742
|
-
`
|
|
51770
|
+
`WARNING: the macOS Keychain accepted the implementation credential but it was not readable back (cross-process keychain read failed), so the credential was written to the ${this.file().describe()} on disk instead. Later commands find it there automatically.
|
|
51743
51771
|
`
|
|
51744
51772
|
);
|
|
51745
51773
|
}
|
|
51746
51774
|
warnKeychainWriteFailed(error51) {
|
|
51747
51775
|
const detail = error51 instanceof Error ? error51.message : "the macOS Keychain write failed";
|
|
51748
51776
|
this.stderr.write(
|
|
51749
|
-
`
|
|
51777
|
+
`WARNING: ${detail}, so the implementation credential was written to the ${this.file().describe()} on disk instead. Later commands find it there automatically.
|
|
51750
51778
|
`
|
|
51751
51779
|
);
|
|
51752
51780
|
}
|
|
@@ -63990,8 +64018,8 @@ function buildModelSpawnEnv(base, claudeConfigDir, codexHomeDir) {
|
|
|
63990
64018
|
}
|
|
63991
64019
|
var CLAUDE_CONFIG_AUTH_FILES = [".credentials.json", ".claude.json"];
|
|
63992
64020
|
function resolveSourceClaudeConfigDir(base) {
|
|
63993
|
-
const explicit = base.CLAUDE_CONFIG_DIR;
|
|
63994
|
-
if (
|
|
64021
|
+
const explicit = requireNonBlank("CLAUDE_CONFIG_DIR", base.CLAUDE_CONFIG_DIR);
|
|
64022
|
+
if (explicit !== null) {
|
|
63995
64023
|
return explicit;
|
|
63996
64024
|
}
|
|
63997
64025
|
const home = base.HOME;
|
|
@@ -66674,6 +66702,12 @@ async function prepareForgeTurn(ctx, workOrder, execution, runtime, seams) {
|
|
|
66674
66702
|
if (!workOrderId || !buildRequestId) {
|
|
66675
66703
|
return { ok: false, summary: "forge turn missing work order id or build request id" };
|
|
66676
66704
|
}
|
|
66705
|
+
let runtimeSourceHomes;
|
|
66706
|
+
try {
|
|
66707
|
+
runtimeSourceHomes = resolveRuntimeSourceHomes();
|
|
66708
|
+
} catch (error51) {
|
|
66709
|
+
return { ok: false, summary: `forge turn refused: ${redactForLog(error51 instanceof Error ? error51.message : String(error51))}` };
|
|
66710
|
+
}
|
|
66677
66711
|
const brokered = await brokerForgeCredential(ctx, workOrderId);
|
|
66678
66712
|
if (!brokered.ok) {
|
|
66679
66713
|
return { ok: false, summary: brokered.summary };
|
|
@@ -66726,7 +66760,8 @@ async function prepareForgeTurn(ctx, workOrder, execution, runtime, seams) {
|
|
|
66726
66760
|
],
|
|
66727
66761
|
allowNetwork: ctx.config.sandboxAllowNetwork,
|
|
66728
66762
|
modelRuntime: runtime,
|
|
66729
|
-
|
|
66763
|
+
// Resolved once at the top of this function (DER-2842) — before the workspace exists.
|
|
66764
|
+
...runtimeSourceHomes,
|
|
66730
66765
|
// DER-1485 (round 6): THIS turn's own codex isolate. Passed for EVERY runtime: it is what the
|
|
66731
66766
|
// profile re-allows read+write for a CODEX turn (codex reads and refresh-writes auth.json there,
|
|
66732
66767
|
// under the one profile it shares with its Bash child), and it is also what the legacy-flat-home
|
|
@@ -66927,20 +66962,31 @@ async function spawnRunnerTurn(ctx, workOrder, runtime, kind, resumeSessionIdOve
|
|
|
66927
66962
|
}
|
|
66928
66963
|
forgePrep = prepared.prep;
|
|
66929
66964
|
}
|
|
66930
|
-
|
|
66931
|
-
|
|
66932
|
-
|
|
66933
|
-
|
|
66934
|
-
|
|
66935
|
-
|
|
66936
|
-
|
|
66937
|
-
|
|
66938
|
-
|
|
66939
|
-
|
|
66940
|
-
|
|
66941
|
-
|
|
66942
|
-
|
|
66943
|
-
|
|
66965
|
+
let sandbox;
|
|
66966
|
+
if (forgePrep) {
|
|
66967
|
+
sandbox = forgePrep.sandbox;
|
|
66968
|
+
} else {
|
|
66969
|
+
let runtimeSourceHomes;
|
|
66970
|
+
try {
|
|
66971
|
+
runtimeSourceHomes = resolveRuntimeSourceHomes();
|
|
66972
|
+
} catch (error51) {
|
|
66973
|
+
return { ok: false, summary: `turn refused: ${redactForLog(error51 instanceof Error ? error51.message : String(error51))}` };
|
|
66974
|
+
}
|
|
66975
|
+
sandbox = resolveSandboxSpec({
|
|
66976
|
+
mode: ctx.config.sandboxMode,
|
|
66977
|
+
platform: process.platform,
|
|
66978
|
+
workspaceDir: tmpdir2(),
|
|
66979
|
+
tmpDir: tmpdir2(),
|
|
66980
|
+
homeDir: ctx.config.homeDir,
|
|
66981
|
+
stateFile: ctx.config.stateFile,
|
|
66982
|
+
runnerBaseDir: path10.join(ctx.config.homeDir, ".rost"),
|
|
66983
|
+
allowNetwork: ctx.config.sandboxAllowNetwork,
|
|
66984
|
+
modelRuntime: runtime,
|
|
66985
|
+
...runtimeSourceHomes,
|
|
66986
|
+
// DER-1485 (round 6): see above — allow is codex-only, the derived legacy deny is universal.
|
|
66987
|
+
codexIsolateHomeDir: stableCodexHomeDir(ctx.state, ctx.config.homeDir)
|
|
66988
|
+
});
|
|
66989
|
+
}
|
|
66944
66990
|
const repoDir = forgePrep ? forgePrep.repoDir : null;
|
|
66945
66991
|
const plan = resolveTurnPlan({ kind, execution, repoDir });
|
|
66946
66992
|
const mcp = typeof workOrder.mcp === "object" && workOrder.mcp !== null ? workOrder.mcp : {};
|
|
@@ -67136,6 +67182,12 @@ async function pollForQueueMerge(ctx, input) {
|
|
|
67136
67182
|
}
|
|
67137
67183
|
async function resolveMergeConflictTurn(ctx, input) {
|
|
67138
67184
|
const tenantId = typeof input.workOrder.tenant_id === "string" ? input.workOrder.tenant_id : ctx.state.tenant_id ?? "runner";
|
|
67185
|
+
let runtimeSourceHomes;
|
|
67186
|
+
try {
|
|
67187
|
+
runtimeSourceHomes = resolveRuntimeSourceHomes();
|
|
67188
|
+
} catch (error51) {
|
|
67189
|
+
return { pushed: false, result: { ok: false, summary: `[forge-merge] conflict turn refused: ${redactForLog(error51 instanceof Error ? error51.message : String(error51))}`.slice(0, MERGE_CONFLICT_SUMMARY_MAX) } };
|
|
67190
|
+
}
|
|
67139
67191
|
let workspace;
|
|
67140
67192
|
try {
|
|
67141
67193
|
workspace = await prepareMergeWorkspace({
|
|
@@ -67166,7 +67218,8 @@ async function resolveMergeConflictTurn(ctx, input) {
|
|
|
67166
67218
|
],
|
|
67167
67219
|
allowNetwork: ctx.config.sandboxAllowNetwork,
|
|
67168
67220
|
modelRuntime: input.runtime,
|
|
67169
|
-
|
|
67221
|
+
// Resolved once at the top of this function (DER-2842) — before the workspace exists.
|
|
67222
|
+
...runtimeSourceHomes,
|
|
67170
67223
|
// DER-1485 (round 6): see above — allow is codex-only, the derived legacy deny is universal.
|
|
67171
67224
|
codexIsolateHomeDir: stableCodexHomeDir(ctx.state, ctx.config.homeDir)
|
|
67172
67225
|
});
|
|
@@ -68119,8 +68172,10 @@ async function main(argv = process.argv.slice(2), options = {}) {
|
|
|
68119
68172
|
}
|
|
68120
68173
|
if (command === "onboard" && (args[0] === "status" || args[0] === "resume" || args[0] === "rehearse" || args[0] === "activate" || args[0] === "source-ingest" || args[0] === "setup" || args[0] === "setup-status")) {
|
|
68121
68174
|
let implCredential = null;
|
|
68175
|
+
let implStore;
|
|
68122
68176
|
try {
|
|
68123
|
-
|
|
68177
|
+
implStore = createImplementationCredentialStore();
|
|
68178
|
+
implCredential = await implStore.read();
|
|
68124
68179
|
} catch {
|
|
68125
68180
|
implCredential = null;
|
|
68126
68181
|
}
|
|
@@ -68148,6 +68203,10 @@ ${onboardingUsage()}
|
|
|
68148
68203
|
onError: (error51) => isDeadRunError(error51) ? "handled" : "print"
|
|
68149
68204
|
});
|
|
68150
68205
|
if (exit !== "fall-through") {
|
|
68206
|
+
if (exit === 0 && !invocation.json && (invocation.action === "status" || invocation.action === "resume")) {
|
|
68207
|
+
io.stdout.write(`The implementation credential is stored in ${implStore.describe()}.
|
|
68208
|
+
`);
|
|
68209
|
+
}
|
|
68151
68210
|
return exit;
|
|
68152
68211
|
}
|
|
68153
68212
|
warnImplementationCredentialFallback(io, Boolean(session));
|