@rosthq/cli 0.7.127 → 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;AAoRF,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"}
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"}
@@ -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,CAqenG;AA8gBD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAUxF"}
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
- return await this.file().read();
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
- `NOTICE: the macOS Keychain accepted the session but it was not readable back (cross-process keychain read failed). Wrote the session to the ${this.file().describe()} instead \u2014 later commands find it there automatically; no configuration is needed.
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
- `NOTICE: ${detail}. Wrote the session to the ${this.file().describe()} instead \u2014 later commands find it there automatically; no configuration is needed.
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
- return await this.file().read();
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
- `NOTICE: the macOS Keychain accepted the implementation credential but it was not readable back (cross-process keychain read failed). Wrote it to the ${this.file().describe()} instead \u2014 later commands find it there automatically; no configuration is needed.
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
- `NOTICE: ${detail}. Wrote it to the ${this.file().describe()} instead \u2014 later commands find it there automatically; no configuration is needed.
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
  }
@@ -68119,8 +68147,10 @@ async function main(argv = process.argv.slice(2), options = {}) {
68119
68147
  }
68120
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")) {
68121
68149
  let implCredential = null;
68150
+ let implStore;
68122
68151
  try {
68123
- implCredential = await createImplementationCredentialStore().read();
68152
+ implStore = createImplementationCredentialStore();
68153
+ implCredential = await implStore.read();
68124
68154
  } catch {
68125
68155
  implCredential = null;
68126
68156
  }
@@ -68148,6 +68178,10 @@ ${onboardingUsage()}
68148
68178
  onError: (error51) => isDeadRunError(error51) ? "handled" : "print"
68149
68179
  });
68150
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
+ }
68151
68185
  return exit;
68152
68186
  }
68153
68187
  warnImplementationCredentialFallback(io, Boolean(session));