@rosthq/cli 0.7.126 → 0.7.128
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.
|
@@ -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;
|
|
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
|
}
|
|
@@ -67879,6 +67907,14 @@ function usage() {
|
|
|
67879
67907
|
}
|
|
67880
67908
|
|
|
67881
67909
|
// src/index.ts
|
|
67910
|
+
function warnImplementationCredentialFallback(io, hasUserSession) {
|
|
67911
|
+
if (!hasUserSession) {
|
|
67912
|
+
return;
|
|
67913
|
+
}
|
|
67914
|
+
io.stderr.write(
|
|
67915
|
+
"Implementation credential is no longer active; falling back to your logged-in user session.\n"
|
|
67916
|
+
);
|
|
67917
|
+
}
|
|
67882
67918
|
function createConfirmPrompt(input, output) {
|
|
67883
67919
|
return async (question) => {
|
|
67884
67920
|
const rl = createInterface({ input, output });
|
|
@@ -68111,8 +68147,10 @@ async function main(argv = process.argv.slice(2), options = {}) {
|
|
|
68111
68147
|
}
|
|
68112
68148
|
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")) {
|
|
68113
68149
|
let implCredential = null;
|
|
68150
|
+
let implStore;
|
|
68114
68151
|
try {
|
|
68115
|
-
|
|
68152
|
+
implStore = createImplementationCredentialStore();
|
|
68153
|
+
implCredential = await implStore.read();
|
|
68116
68154
|
} catch {
|
|
68117
68155
|
implCredential = null;
|
|
68118
68156
|
}
|
|
@@ -68140,8 +68178,13 @@ ${onboardingUsage()}
|
|
|
68140
68178
|
onError: (error51) => isDeadRunError(error51) ? "handled" : "print"
|
|
68141
68179
|
});
|
|
68142
68180
|
if (exit !== "fall-through") {
|
|
68181
|
+
if (exit === 0 && !invocation.json && (invocation.action === "status" || invocation.action === "resume")) {
|
|
68182
|
+
io.stdout.write(`The implementation credential is stored in ${implStore.describe()}.
|
|
68183
|
+
`);
|
|
68184
|
+
}
|
|
68143
68185
|
return exit;
|
|
68144
68186
|
}
|
|
68187
|
+
warnImplementationCredentialFallback(io, Boolean(session));
|
|
68145
68188
|
}
|
|
68146
68189
|
}
|
|
68147
68190
|
if (command === "seat" && args[0] === "create-complete") {
|
|
@@ -68182,6 +68225,7 @@ ${onboardingUsage()}
|
|
|
68182
68225
|
if (!deadRun) {
|
|
68183
68226
|
return exit;
|
|
68184
68227
|
}
|
|
68228
|
+
warnImplementationCredentialFallback(io, Boolean(session));
|
|
68185
68229
|
}
|
|
68186
68230
|
}
|
|
68187
68231
|
if (!session) {
|