@threadbase-sh/streamer 1.69.3 → 1.69.5

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.
@@ -57,6 +57,8 @@ export type SessionHandlersDeps = {
57
57
  detail?: string;
58
58
  options: PermissionOption[];
59
59
  cursor?: number;
60
+ /** Server-owned instance id, minted by handlePermissionChange. */
61
+ gateId: string;
60
62
  }>;
61
63
  pendingPermissionKey: Map<string, string>;
62
64
  contendedSessions: Set<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.handlers.d.ts","sourceRoot":"","sources":["../../../src/api/handlers/sessions.handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.handlers.d.ts","sourceRoot":"","sources":["../../../src/api/handlers/sessions.handlers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAI5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAoBjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAiB1C,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAS/C,eAAO,MAAM,qBAAqB,OAAQ,CAAC;AA+B3C,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,MAA2B,GAClC,OAAO,CAAC,OAAO,CAAC,CAWlB;AAsCD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,mBAAmB,CAAC;IAClC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,gBAAgB,EAAE,YAAY,CAAC;IAC/B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,gBAAgB,EAAE,GAAG,CACnB,MAAM,EACN;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,WAAW,EAAE,CAAC;QAAC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAA;KAAE,CACzE,CAAC;IACF,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,iBAAiB,EAAE,GAAG,CACpB,MAAM,EACN;QACE,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,gBAAgB,EAAE,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,kEAAkE;QAClE,MAAM,EAAE,MAAM,CAAC;KAChB,CACF,CAAC;IACF,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAChD,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,wBAAwB,EAAE,OAAO,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IAKjB,KAAK,EAAE,MAAM,iBAAiB,GAAG,IAAI,CAAC;IACtC,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,gBAAgB,CAAC;IACpC,eAAe,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC1C,MAAM,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC;IAC5D,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAIlC,cAAc,EAAE,MAAM;QAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjF,iBAAiB,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/F,iBAAiB,EAAE,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,GAAG,IAAI,CAAC;IAC7D,oBAAoB,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAG3E,iBAAiB,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC;IACpD,cAAc,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,uBAAuB,EAAE,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,KAAK,SAAS,eAAe,EAAE,CAAC;IAC9F,6BAA6B,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IAC9D,0BAA0B,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACpD,0BAA0B,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3D,kBAAkB,EAAE,MAAM;QACxB,cAAc,EAAE,cAAc,CAAC;QAC/B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,WAAW,CAAC;KACrB,CAAC;IACF,yBAAyB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CACrD,aAAa,GACb;QACE,EAAE,EAAE,IAAI,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,IAAI,EAAE,GAAG,CAAC;QACV,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,YAAY,CAAC;KACxB,CACJ,CAAC;IACF,qBAAqB,EAAE,CACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,KACd,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;QAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC1F,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,yBAAyB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACvF,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC/C,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAChE,CAAC;AAEF;;;;;;;GAOG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,IAAI;IAAxB,YAAoB,IAAI,EAAE,mBAAmB,EAAI;IAEjD,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,KAAK,KAAK,GAEhB;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,mBAAmB,GAE9B;IAED,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,KAAK,gBAAgB,GAE3B;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,gBAAgB,GAE3B;IAED,OAAO,KAAK,kBAAkB,GAE7B;IAED,OAAO,KAAK,iBAAiB,GAE5B;IAED,OAAO,KAAK,oBAAoB,GAE/B;IAED,OAAO,KAAK,iBAAiB,GAE5B;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,kBAAkB,GAE7B;IAED,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,KAAK,mBAAmB,GAE9B;IAED,OAAO,KAAK,wBAAwB,GAEnC;IAED,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,KAAK,GAEhB;IAED,OAAO,KAAK,GAAG,GAEd;IAED,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,cAAc,QAEzB;IAED,OAAO,KAAK,iBAAiB,GAE5B;IAED,OAAO,KAAK,iBAAiB,QAE5B;IAEK,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CrE;IAED;;;OAGG;YACW,gBAAgB;IA+BxB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA+C5E;IAEK,YAAY,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAsE3E;IAED;;;;;;;;;;;;;OAaG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAqH5F;IAED;;;;;;;;;;;OAWG;IACG,aAAa,CAAC,IAAI,EAAE;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,aAAa,CAAC,CAyKzB;IAEK,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,CAoJf;IAOD,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,CAOpE;IAKD,sBAAsB,CACpB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;QACJ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,gBAAgB,EAAE,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,GACP,IAAI,CAkCN;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,CAqFf;IAED;;;;;;;;;;;;;;;;OAgBG;YACW,uBAAuB;IAU/B,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,CAgDf;YAIa,qBAAqB;IAS7B,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,CA4Df;IAED,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAS5D;IAED,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CASzD;IAEK,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA6D7E;IAED;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,yBAAyB;IAYjC;;;;OAIG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAO3C;IAEK,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAuHvE;IAEK,kBAAkB,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAwIjF;IAEK,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,CAmBf;IAED,qBAAqB,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAM/C;CACF"}
package/dist/cli.cjs CHANGED
@@ -119705,11 +119705,11 @@ function toPublicSession(s3) {
119705
119705
  subStatus: s3.subStatus ?? null
119706
119706
  };
119707
119707
  }
119708
- var import_crypto11, import_fs26, import_path26, OUTPUT_BUFFER_MAX, INPUT_HISTORY_MAX, QUIET_DETECT_MS, CODEX_READY_FALLBACK_MS, SUBMIT_BYTES, CODEX_SUBMIT_DELAY_MS, CODEX_SUBMIT_MAX_WAIT_MS, CODEX_SUBMIT_STALE_MS, CodexPtyRunner;
119708
+ var import_crypto12, import_fs26, import_path26, OUTPUT_BUFFER_MAX, INPUT_HISTORY_MAX, QUIET_DETECT_MS, CODEX_READY_FALLBACK_MS, SUBMIT_BYTES, CODEX_SUBMIT_DELAY_MS, CODEX_SUBMIT_MAX_WAIT_MS, CODEX_SUBMIT_STALE_MS, CodexPtyRunner;
119709
119709
  var init_codex_pty_runner = __esm({
119710
119710
  "src/codex-pty-runner.ts"() {
119711
119711
  "use strict";
119712
- import_crypto11 = require("crypto");
119712
+ import_crypto12 = require("crypto");
119713
119713
  import_fs26 = require("fs");
119714
119714
  import_path26 = require("path");
119715
119715
  init_logger();
@@ -119874,7 +119874,7 @@ var init_codex_pty_runner = __esm({
119874
119874
  // binding logic). This runner generates a local placeholder id for the
119875
119875
  // ManagedSession handle only.
119876
119876
  async startFresh(options) {
119877
- const sessionId = (0, import_crypto11.randomUUID)();
119877
+ const sessionId = (0, import_crypto12.randomUUID)();
119878
119878
  const args = ["--cd", options.projectPath, "--no-alt-screen"];
119879
119879
  if (options.systemPrompt) {
119880
119880
  args.push(options.systemPrompt);
@@ -119893,7 +119893,7 @@ var init_codex_pty_runner = __esm({
119893
119893
  * until watchForCodexRollout binds the real id.
119894
119894
  */
119895
119895
  async startFork(options) {
119896
- const sessionId = (0, import_crypto11.randomUUID)();
119896
+ const sessionId = (0, import_crypto12.randomUUID)();
119897
119897
  return this.launch(
119898
119898
  sessionId,
119899
119899
  ["fork", options.forkFromId, "--cd", options.projectPath, "--no-alt-screen"],
@@ -121111,11 +121111,11 @@ function toPublicSession2(s3) {
121111
121111
  subStatus: s3.subStatus ?? null
121112
121112
  };
121113
121113
  }
121114
- var import_crypto12, import_fs27, import_path27, OUTPUT_BUFFER_MAX2, INPUT_HISTORY_MAX2, CLAUDE_PROMPT_MARKERS, QUIET_DETECT_MS2, OSC_TAIL_CHARS, SCRAPE_THROTTLE_MS, CLAUDE_READY_FALLBACK_MS, SUBMIT_BYTES2, SUBMIT_DELAY_MS, SUBMIT_MAX_WAIT_MS, PTYManager;
121114
+ var import_crypto13, import_fs27, import_path27, OUTPUT_BUFFER_MAX2, INPUT_HISTORY_MAX2, CLAUDE_PROMPT_MARKERS, QUIET_DETECT_MS2, OSC_TAIL_CHARS, SCRAPE_THROTTLE_MS, CLAUDE_READY_FALLBACK_MS, SUBMIT_BYTES2, SUBMIT_DELAY_MS, SUBMIT_MAX_WAIT_MS, PTYManager;
121115
121115
  var init_pty_manager = __esm({
121116
121116
  "src/pty-manager.ts"() {
121117
121117
  "use strict";
121118
- import_crypto12 = require("crypto");
121118
+ import_crypto13 = require("crypto");
121119
121119
  import_fs27 = require("fs");
121120
121120
  import_path27 = require("path");
121121
121121
  init_claude_flags();
@@ -121308,7 +121308,7 @@ var init_pty_manager = __esm({
121308
121308
  // onReady fires once Claude reaches its first prompt (waiting_input).
121309
121309
  async startFresh(options) {
121310
121310
  const nodePty = await loadPty();
121311
- const sessionId = (0, import_crypto12.randomUUID)();
121311
+ const sessionId = (0, import_crypto13.randomUUID)();
121312
121312
  const projectName = options.projectName ?? (0, import_path27.basename)(options.projectPath);
121313
121313
  const permissionMode = options.permissionMode ?? "acceptEdits";
121314
121314
  const args = [
@@ -132349,7 +132349,7 @@ Content-Length: 0\r
132349
132349
 
132350
132350
  // src/server.ts
132351
132351
  var import_client = __toESM(require_lib3(), 1);
132352
- var import_crypto15 = require("crypto");
132352
+ var import_crypto16 = require("crypto");
132353
132353
  var import_events2 = require("events");
132354
132354
  var import_fs39 = require("fs");
132355
132355
  var import_promises16 = require("fs/promises");
@@ -147066,6 +147066,7 @@ var ConversationHandlers = class {
147066
147066
  };
147067
147067
 
147068
147068
  // src/api/handlers/sessions.handlers.ts
147069
+ var import_crypto9 = require("crypto");
147069
147070
  var import_fs22 = require("fs");
147070
147071
  var import_path22 = require("path");
147071
147072
 
@@ -147717,19 +147718,39 @@ var UnknownOptionError = class extends Error {
147717
147718
  question;
147718
147719
  value;
147719
147720
  };
147721
+ var UnsupportedPromptShapeError = class extends Error {
147722
+ constructor(detail) {
147723
+ super(`Unsupported prompt shape: ${detail}`);
147724
+ this.detail = detail;
147725
+ this.name = "UnsupportedPromptShapeError";
147726
+ }
147727
+ detail;
147728
+ };
147729
+ var IncompleteAnswerError = class extends Error {
147730
+ constructor(question) {
147731
+ super(`Missing answer for question "${question}"`);
147732
+ this.question = question;
147733
+ this.name = "IncompleteAnswerError";
147734
+ }
147735
+ question;
147736
+ };
147720
147737
  function answersToKeystrokes(questions, answers) {
147721
- let out = "";
147722
- for (const q2 of questions) {
147723
- const raw2 = answers[q2.question];
147724
- if (raw2 === void 0) {
147725
- throw new Error(`Missing answer for question "${q2.question}"`);
147726
- }
147727
- const label = Array.isArray(raw2) ? raw2[0] : raw2;
147728
- const target = q2.options.findIndex((o) => o.label === label);
147729
- if (target < 0) throw new UnknownOptionError(q2.question, label);
147730
- out += DOWN.repeat(target) + ENTER2;
147738
+ if (questions.length !== 1) {
147739
+ throw new UnsupportedPromptShapeError(`${questions.length} questions`);
147731
147740
  }
147732
- return out;
147741
+ const q2 = questions[0];
147742
+ if (q2.multiSelect) throw new UnsupportedPromptShapeError("multiSelect");
147743
+ const raw2 = answers[q2.question];
147744
+ if (raw2 === void 0 || Array.isArray(raw2) && raw2.length === 0) {
147745
+ throw new IncompleteAnswerError(q2.question);
147746
+ }
147747
+ if (Array.isArray(raw2) && raw2.length > 1) {
147748
+ throw new UnsupportedPromptShapeError(`${raw2.length} labels for a single-select question`);
147749
+ }
147750
+ const label = Array.isArray(raw2) ? raw2[0] : raw2;
147751
+ const target = q2.options.findIndex((o) => o.label === label);
147752
+ if (target < 0) throw new UnknownOptionError(q2.question, label);
147753
+ return DOWN.repeat(target) + ENTER2;
147733
147754
  }
147734
147755
 
147735
147756
  // src/services/questions/resolveAnswer.ts
@@ -147743,6 +147764,10 @@ function resolveAnswer(pending, body) {
147743
147764
  return { ok: true, keys: answersToKeystrokes(pending.questions, answers) };
147744
147765
  } catch (e) {
147745
147766
  if (e instanceof UnknownOptionError) return { ok: false, reason: "unknown_option" };
147767
+ if (e instanceof UnsupportedPromptShapeError) {
147768
+ return { ok: false, reason: "unsupported_prompt_shape" };
147769
+ }
147770
+ if (e instanceof IncompleteAnswerError) return { ok: false, reason: "incomplete_answer" };
147746
147771
  throw e;
147747
147772
  }
147748
147773
  }
@@ -148641,7 +148666,9 @@ var SessionHandlers = class {
148641
148666
  }
148642
148667
  const key = permissionContentKey(gate);
148643
148668
  if (this.pendingPermissionKey.get(sessionId) === key) return;
148644
- this.pendingPermission.set(sessionId, gate);
148669
+ const prior = this.pendingPermission.get(sessionId);
148670
+ const gateId = prior && permissionGateKey(prior) === permissionGateKey(gate) ? prior.gateId : (0, import_crypto9.randomUUID)();
148671
+ this.pendingPermission.set(sessionId, { ...gate, gateId });
148645
148672
  this.pendingPermissionKey.set(sessionId, key);
148646
148673
  const subscriberCount = this.sessionSubscribers.get(sessionId)?.size ?? 0;
148647
148674
  this.log.info(
@@ -148655,7 +148682,8 @@ var SessionHandlers = class {
148655
148682
  ...gate.detail ? { detail: gate.detail } : {},
148656
148683
  options: gate.options,
148657
148684
  ...gate.cursor !== void 0 ? { cursor: gate.cursor } : {},
148658
- contentKey: permissionGateKey(gate)
148685
+ contentKey: permissionGateKey(gate),
148686
+ gateId
148659
148687
  });
148660
148688
  }
148661
148689
  /**
@@ -148683,10 +148711,15 @@ var SessionHandlers = class {
148683
148711
  const body = await readBody2(req);
148684
148712
  const contentKey = body?.contentKey;
148685
148713
  const optionIndex = body?.optionIndex;
148714
+ const gateId = body?.gateId;
148686
148715
  if (typeof contentKey !== "string" || !Number.isInteger(optionIndex) || optionIndex < 0) {
148687
148716
  json2(res, 400, { ok: false, reason: "Expected { contentKey: string, optionIndex: number }" });
148688
148717
  return;
148689
148718
  }
148719
+ if (gateId !== void 0 && typeof gateId !== "string") {
148720
+ json2(res, 400, { ok: false, reason: "Expected gateId to be a string" });
148721
+ return;
148722
+ }
148690
148723
  const gateClosed = () => {
148691
148724
  this.pendingPermission.delete(sessionId);
148692
148725
  this.pendingPermissionKey.delete(sessionId);
@@ -148698,6 +148731,16 @@ var SessionHandlers = class {
148698
148731
  gateClosed();
148699
148732
  return;
148700
148733
  }
148734
+ if (gateId !== void 0 && gateId !== gate.gateId) {
148735
+ json2(res, 409, { ok: false, reason: "gate_mismatch" });
148736
+ return;
148737
+ }
148738
+ if (gateId === void 0) {
148739
+ this.log.info(`[permission.answer_legacy_identity] ${sessionId.slice(0, 8)}`, {
148740
+ event: "permission.answer_legacy_identity",
148741
+ sessionId
148742
+ });
148743
+ }
148701
148744
  if (permissionGateKey(gate) !== contentKey) {
148702
148745
  json2(res, 409, { ok: false, reason: "gate_mismatch" });
148703
148746
  return;
@@ -148707,7 +148750,8 @@ var SessionHandlers = class {
148707
148750
  json2(res, 409, { ok: false, reason: "unknown_option" });
148708
148751
  return;
148709
148752
  }
148710
- if (!await this.permissionGateStillOpen(sessionId, contentKey)) {
148753
+ const provider = this.sessionStore.getManaged(sessionId)?.provider;
148754
+ if (provider !== CODEX_CLI_PROVIDER && !await this.permissionGateStillOpen(sessionId, contentKey)) {
148711
148755
  gateClosed();
148712
148756
  return;
148713
148757
  }
@@ -148751,7 +148795,14 @@ var SessionHandlers = class {
148751
148795
  const pending = this.pendingQuestions.get(sessionId);
148752
148796
  const resolution = resolveAnswer(pending, body);
148753
148797
  if (!resolution.ok) {
148754
- json2(res, 400, { ok: false, reason: resolution.reason });
148798
+ const unanswerable = resolution.reason === "unsupported_prompt_shape" || resolution.reason === "incomplete_answer";
148799
+ json2(res, 400, {
148800
+ ok: false,
148801
+ reason: resolution.reason,
148802
+ ...unanswerable ? {
148803
+ error: "This prompt needs an answer the app cannot give yet; answer it in the terminal"
148804
+ } : {}
148805
+ });
148755
148806
  return;
148756
148807
  }
148757
148808
  const toolUseId = pending?.toolUseId ?? "";
@@ -149512,7 +149563,7 @@ var ManagedSessionsRepository = class {
149512
149563
  };
149513
149564
 
149514
149565
  // src/db/repositories/projects.repository.ts
149515
- var import_crypto9 = require("crypto");
149566
+ var import_crypto10 = require("crypto");
149516
149567
  function rowToProject(row) {
149517
149568
  return {
149518
149569
  id: row.id,
@@ -149597,7 +149648,7 @@ var ProjectsRepository = class {
149597
149648
  });
149598
149649
  return rowToProject(this.getById.get(existing.id));
149599
149650
  }
149600
- const id = (0, import_crypto9.randomUUID)();
149651
+ const id = (0, import_crypto10.randomUUID)();
149601
149652
  this.insert.run({
149602
149653
  id,
149603
149654
  path: path2,
@@ -149636,7 +149687,7 @@ var SessionsRepository = class {
149636
149687
  init_runtime_store();
149637
149688
 
149638
149689
  // src/e2ee/noise.ts
149639
- var import_crypto10 = require("crypto");
149690
+ var import_crypto11 = require("crypto");
149640
149691
  var NOISE_PROTOCOL_NAME = "Noise_IKpsk1_25519_ChaChaPoly_SHA256";
149641
149692
  var PAIR_PROLOGUE = Buffer.from("threadbase-e2ee/1 pair", "utf-8");
149642
149693
  var DHLEN = 32;
@@ -149652,15 +149703,15 @@ var NoiseError = class extends Error {
149652
149703
  }
149653
149704
  };
149654
149705
  function generateKeyPair() {
149655
- const { publicKey, privateKey } = (0, import_crypto10.generateKeyPairSync)("x25519");
149706
+ const { publicKey, privateKey } = (0, import_crypto11.generateKeyPairSync)("x25519");
149656
149707
  return { publicKey, privateKey, publicKeyRaw: rawPublicKey(publicKey) };
149657
149708
  }
149658
149709
  function keyPairFrom(privateKey) {
149659
- const publicKey = (0, import_crypto10.createPublicKey)(privateKey);
149710
+ const publicKey = (0, import_crypto11.createPublicKey)(privateKey);
149660
149711
  return { publicKey, privateKey, publicKeyRaw: rawPublicKey(publicKey) };
149661
149712
  }
149662
149713
  function rawPublicKey(key) {
149663
- const pub = key.type === "public" ? key : (0, import_crypto10.createPublicKey)(key);
149714
+ const pub = key.type === "public" ? key : (0, import_crypto11.createPublicKey)(key);
149664
149715
  const jwk = pub.export({ format: "jwk" });
149665
149716
  if (jwk.crv !== "X25519" || typeof jwk.x !== "string") {
149666
149717
  throw new NoiseError("Not an X25519 public key");
@@ -149672,7 +149723,7 @@ function publicKeyFromRaw(raw2) {
149672
149723
  throw new NoiseError(`X25519 public key must be ${DHLEN} bytes, got ${raw2.length}`);
149673
149724
  }
149674
149725
  try {
149675
- return (0, import_crypto10.createPublicKey)({
149726
+ return (0, import_crypto11.createPublicKey)({
149676
149727
  key: { kty: "OKP", crv: "X25519", x: raw2.toString("base64url") },
149677
149728
  format: "jwk"
149678
149729
  });
@@ -149681,7 +149732,7 @@ function publicKeyFromRaw(raw2) {
149681
149732
  }
149682
149733
  }
149683
149734
  function pskFromPairToken(token) {
149684
- return (0, import_crypto10.createHash)("sha256").update("threadbase-e2ee/1 psk", "utf-8").update(token, "utf-8").digest();
149735
+ return (0, import_crypto11.createHash)("sha256").update("threadbase-e2ee/1 psk", "utf-8").update(token, "utf-8").digest();
149685
149736
  }
149686
149737
  function chachaNonce(n) {
149687
149738
  const nonce = Buffer.alloc(12);
@@ -149700,7 +149751,7 @@ var CipherState = class {
149700
149751
  }
149701
149752
  encryptWithAd(ad, plaintext) {
149702
149753
  if (!this.k) return plaintext;
149703
- const cipher = (0, import_crypto10.createCipheriv)("chacha20-poly1305", this.k, chachaNonce(this.n), {
149754
+ const cipher = (0, import_crypto11.createCipheriv)("chacha20-poly1305", this.k, chachaNonce(this.n), {
149704
149755
  authTagLength: TAGLEN
149705
149756
  });
149706
149757
  cipher.setAAD(ad, { plaintextLength: plaintext.length });
@@ -149713,7 +149764,7 @@ var CipherState = class {
149713
149764
  if (ciphertext.length < TAGLEN) throw new NoiseError("Ciphertext shorter than its tag");
149714
149765
  const body = ciphertext.subarray(0, ciphertext.length - TAGLEN);
149715
149766
  const tag = ciphertext.subarray(ciphertext.length - TAGLEN);
149716
- const decipher = (0, import_crypto10.createDecipheriv)("chacha20-poly1305", this.k, chachaNonce(this.n), {
149767
+ const decipher = (0, import_crypto11.createDecipheriv)("chacha20-poly1305", this.k, chachaNonce(this.n), {
149717
149768
  authTagLength: TAGLEN
149718
149769
  });
149719
149770
  decipher.setAAD(ad, { plaintextLength: body.length });
@@ -149734,7 +149785,7 @@ var SymmetricState = class {
149734
149785
  cipher = new CipherState();
149735
149786
  constructor(protocolName) {
149736
149787
  const name = Buffer.from(protocolName, "utf-8");
149737
- this.h = name.length <= HASHLEN ? Buffer.concat([name, Buffer.alloc(HASHLEN - name.length)]) : (0, import_crypto10.createHash)("sha256").update(name).digest();
149788
+ this.h = name.length <= HASHLEN ? Buffer.concat([name, Buffer.alloc(HASHLEN - name.length)]) : (0, import_crypto11.createHash)("sha256").update(name).digest();
149738
149789
  this.ck = Buffer.from(this.h);
149739
149790
  this.cipher.initializeKey(null);
149740
149791
  }
@@ -149746,7 +149797,7 @@ var SymmetricState = class {
149746
149797
  * subtly wrong.
149747
149798
  */
149748
149799
  hkdf(ikm, outputs) {
149749
- const raw2 = Buffer.from((0, import_crypto10.hkdfSync)("sha256", ikm, this.ck, Buffer.alloc(0), HASHLEN * outputs));
149800
+ const raw2 = Buffer.from((0, import_crypto11.hkdfSync)("sha256", ikm, this.ck, Buffer.alloc(0), HASHLEN * outputs));
149750
149801
  const out = [];
149751
149802
  for (let i = 0; i < outputs; i++) out.push(raw2.subarray(i * HASHLEN, (i + 1) * HASHLEN));
149752
149803
  return out;
@@ -149757,7 +149808,7 @@ var SymmetricState = class {
149757
149808
  this.cipher.initializeKey(tempK);
149758
149809
  }
149759
149810
  mixHash(data) {
149760
- this.h = (0, import_crypto10.createHash)("sha256").update(this.h).update(data).digest();
149811
+ this.h = (0, import_crypto11.createHash)("sha256").update(this.h).update(data).digest();
149761
149812
  }
149762
149813
  /** Spec §5.2. Used only by the `psk` token. */
149763
149814
  mixKeyAndHash(ikm) {
@@ -149787,7 +149838,7 @@ var SymmetricState = class {
149787
149838
  }
149788
149839
  };
149789
149840
  function dh(privateKey, publicKey) {
149790
- return (0, import_crypto10.diffieHellman)({ privateKey, publicKey });
149841
+ return (0, import_crypto11.diffieHellman)({ privateKey, publicKey });
149791
149842
  }
149792
149843
  function readMessage1(args) {
149793
149844
  assertMessageSize(args.message1, NOISE_MESSAGE_1_OVERHEAD);
@@ -150105,7 +150156,7 @@ init_live_session_manager();
150105
150156
  init_logger();
150106
150157
 
150107
150158
  // src/pair-store.ts
150108
- var import_crypto13 = require("crypto");
150159
+ var import_crypto14 = require("crypto");
150109
150160
  var DEFAULT_TTL_SECONDS = 180;
150110
150161
  var SWEEP_INTERVAL_MS = 6e4;
150111
150162
  var PairTokenStore = class {
@@ -150120,7 +150171,7 @@ var PairTokenStore = class {
150120
150171
  }
150121
150172
  }
150122
150173
  mint() {
150123
- const token = `pt_${(0, import_crypto13.randomBytes)(16).toString("hex")}`;
150174
+ const token = `pt_${(0, import_crypto14.randomBytes)(16).toString("hex")}`;
150124
150175
  const expiresAt = Date.now() + this.ttlMs;
150125
150176
  this.current = { token, expiresAt, used: false };
150126
150177
  return {
@@ -151467,7 +151518,8 @@ function createApiDeps(deps) {
151467
151518
  ...pendingGate.detail ? { detail: pendingGate.detail } : {},
151468
151519
  options: pendingGate.options,
151469
151520
  ...pendingGate.cursor !== void 0 ? { cursor: pendingGate.cursor } : {},
151470
- contentKey: permissionGateKey(pendingGate)
151521
+ contentKey: permissionGateKey(pendingGate),
151522
+ gateId: pendingGate.gateId
151471
151523
  })
151472
151524
  );
151473
151525
  }
@@ -151534,7 +151586,7 @@ function createApiDeps(deps) {
151534
151586
  }
151535
151587
 
151536
151588
  // src/services/cache-integrity/cacheIntegrityMonitor.ts
151537
- var import_crypto14 = require("crypto");
151589
+ var import_crypto15 = require("crypto");
151538
151590
  var import_fs34 = require("fs");
151539
151591
 
151540
151592
  // src/services/cache-integrity/alertStore.ts
@@ -151599,7 +151651,7 @@ function envInt(name, fallback) {
151599
151651
  }
151600
151652
  function fingerprintOf(ids) {
151601
151653
  const sorted = [...ids].sort();
151602
- return `sha256:${(0, import_crypto14.createHash)("sha256").update(sorted.join("\n")).digest("hex")}`;
151654
+ return `sha256:${(0, import_crypto15.createHash)("sha256").update(sorted.join("\n")).digest("hex")}`;
151603
151655
  }
151604
151656
  var CacheIntegrityMonitor = class {
151605
151657
  constructor(cache, wsHub, log15, cacheDir, rescan, runDuringReset) {
@@ -154369,7 +154421,7 @@ var StreamerServer = class {
154369
154421
  runtimeStore = null;
154370
154422
  // Identifies this streamer run. A registry row carrying a different id is a
154371
154423
  // session that outlived the process that started it.
154372
- streamerInstanceId = (0, import_crypto15.randomUUID)();
154424
+ streamerInstanceId = (0, import_crypto16.randomUUID)();
154373
154425
  cacheMetadataRepo = null;
154374
154426
  // Push registration + delivery state (C7). Null when the cache DB failed to
154375
154427
  // open — registration then degrades to a no-op rather than 500ing.