@claudexor/cli 3.4.2 → 3.6.0

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.
Files changed (137) hide show
  1. package/dist/accounts-projection.d.ts +18 -12
  2. package/dist/accounts-projection.d.ts.map +1 -1
  3. package/dist/accounts-projection.js +63 -58
  4. package/dist/accounts-projection.js.map +1 -1
  5. package/dist/accounts-services.d.ts +134 -127
  6. package/dist/accounts-services.d.ts.map +1 -1
  7. package/dist/accounts-services.js +15 -7
  8. package/dist/accounts-services.js.map +1 -1
  9. package/dist/accounts-unified-migration.d.ts +110 -0
  10. package/dist/accounts-unified-migration.d.ts.map +1 -0
  11. package/dist/accounts-unified-migration.js +422 -0
  12. package/dist/accounts-unified-migration.js.map +1 -0
  13. package/dist/agy-quota-source.d.ts +36 -0
  14. package/dist/agy-quota-source.d.ts.map +1 -0
  15. package/dist/agy-quota-source.js +334 -0
  16. package/dist/agy-quota-source.js.map +1 -0
  17. package/dist/auth-login-harnesses.d.ts +13 -0
  18. package/dist/auth-login-harnesses.d.ts.map +1 -0
  19. package/dist/auth-login-harnesses.js +18 -0
  20. package/dist/auth-login-harnesses.js.map +1 -0
  21. package/dist/claude-oauth-usage.d.ts.map +1 -1
  22. package/dist/claude-oauth-usage.js +9 -3
  23. package/dist/claude-oauth-usage.js.map +1 -1
  24. package/dist/claude-statusline.d.ts.map +1 -1
  25. package/dist/claude-statusline.js +14 -1
  26. package/dist/claude-statusline.js.map +1 -1
  27. package/dist/claudexord.d.ts.map +1 -1
  28. package/dist/claudexord.js +25 -37
  29. package/dist/claudexord.js.map +1 -1
  30. package/dist/codex-quota-source.d.ts.map +1 -1
  31. package/dist/codex-quota-source.js +8 -3
  32. package/dist/codex-quota-source.js.map +1 -1
  33. package/dist/command-registry.d.ts.map +1 -1
  34. package/dist/command-registry.js +2 -13
  35. package/dist/command-registry.js.map +1 -1
  36. package/dist/config-dir-login-harnesses.d.ts +7 -0
  37. package/dist/config-dir-login-harnesses.d.ts.map +1 -0
  38. package/dist/config-dir-login-harnesses.js +46 -0
  39. package/dist/config-dir-login-harnesses.js.map +1 -0
  40. package/dist/control-services.d.ts +203 -185
  41. package/dist/control-services.d.ts.map +1 -1
  42. package/dist/control-services.js +39 -118
  43. package/dist/control-services.js.map +1 -1
  44. package/dist/credential-commands.d.ts.map +1 -1
  45. package/dist/credential-commands.js +51 -34
  46. package/dist/credential-commands.js.map +1 -1
  47. package/dist/credential-profile-mutations.d.ts +63 -0
  48. package/dist/credential-profile-mutations.d.ts.map +1 -0
  49. package/dist/credential-profile-mutations.js +187 -0
  50. package/dist/credential-profile-mutations.js.map +1 -0
  51. package/dist/credential-status-invalidation.d.ts +11 -0
  52. package/dist/credential-status-invalidation.d.ts.map +1 -0
  53. package/dist/credential-status-invalidation.js +36 -0
  54. package/dist/credential-status-invalidation.js.map +1 -0
  55. package/dist/daemon-admission-runtime.d.ts +5 -0
  56. package/dist/daemon-admission-runtime.d.ts.map +1 -1
  57. package/dist/daemon-admission-runtime.js +1 -0
  58. package/dist/daemon-admission-runtime.js.map +1 -1
  59. package/dist/harness-command-specs.d.ts +17 -0
  60. package/dist/harness-command-specs.d.ts.map +1 -0
  61. package/dist/harness-command-specs.js +22 -0
  62. package/dist/harness-command-specs.js.map +1 -0
  63. package/dist/harness-command.d.ts +4 -4
  64. package/dist/harness-command.d.ts.map +1 -1
  65. package/dist/harness-command.js +6 -5
  66. package/dist/harness-command.js.map +1 -1
  67. package/dist/harness-installer.d.ts +23 -10
  68. package/dist/harness-installer.d.ts.map +1 -1
  69. package/dist/harness-installer.js +93 -33
  70. package/dist/harness-installer.js.map +1 -1
  71. package/dist/mcp-run-projections.d.ts +1 -1
  72. package/dist/native-login.d.ts +10 -1
  73. package/dist/native-login.d.ts.map +1 -1
  74. package/dist/native-login.js +61 -5
  75. package/dist/native-login.js.map +1 -1
  76. package/dist/ops-commands.d.ts +1 -2
  77. package/dist/ops-commands.d.ts.map +1 -1
  78. package/dist/ops-commands.js +6 -5
  79. package/dist/ops-commands.js.map +1 -1
  80. package/dist/profile-registration.d.ts +13 -1
  81. package/dist/profile-registration.d.ts.map +1 -1
  82. package/dist/profile-registration.js +79 -4
  83. package/dist/profile-registration.js.map +1 -1
  84. package/dist/quota-refreshers.d.ts +3 -0
  85. package/dist/quota-refreshers.d.ts.map +1 -1
  86. package/dist/quota-refreshers.js +2 -0
  87. package/dist/quota-refreshers.js.map +1 -1
  88. package/dist/quota-services.d.ts +4 -2
  89. package/dist/quota-services.d.ts.map +1 -1
  90. package/dist/quota-subject-universe.d.ts.map +1 -1
  91. package/dist/quota-subject-universe.js +11 -2
  92. package/dist/quota-subject-universe.js.map +1 -1
  93. package/dist/registry.d.ts +1 -1
  94. package/dist/registry.d.ts.map +1 -1
  95. package/dist/registry.js +3 -1
  96. package/dist/registry.js.map +1 -1
  97. package/dist/run-orchestrator.d.ts +28 -0
  98. package/dist/run-orchestrator.d.ts.map +1 -0
  99. package/dist/run-orchestrator.js +43 -0
  100. package/dist/run-orchestrator.js.map +1 -0
  101. package/dist/settings-service.d.ts +1 -1
  102. package/dist/settings-service.js +3 -3
  103. package/dist/settings-service.js.map +1 -1
  104. package/dist/setup-job-store.d.ts +4 -2
  105. package/dist/setup-job-store.d.ts.map +1 -1
  106. package/dist/setup-job-support.d.ts +50 -1
  107. package/dist/setup-job-support.d.ts.map +1 -1
  108. package/dist/setup-job-support.js +93 -11
  109. package/dist/setup-job-support.js.map +1 -1
  110. package/dist/setup-jobs.d.ts +8 -4
  111. package/dist/setup-jobs.d.ts.map +1 -1
  112. package/dist/setup-jobs.js +17 -18
  113. package/dist/setup-jobs.js.map +1 -1
  114. package/dist/setup-login-completion.d.ts.map +1 -1
  115. package/dist/setup-login-completion.js +16 -0
  116. package/dist/setup-login-completion.js.map +1 -1
  117. package/dist/setup-login-io.d.ts +7 -1
  118. package/dist/setup-login-io.d.ts.map +1 -1
  119. package/dist/setup-login-io.js +43 -3
  120. package/dist/setup-login-io.js.map +1 -1
  121. package/dist/setup-login-pty.d.ts +27 -0
  122. package/dist/setup-login-pty.d.ts.map +1 -0
  123. package/dist/setup-login-pty.js +58 -0
  124. package/dist/setup-login-pty.js.map +1 -0
  125. package/dist/setup-login-runner.d.ts +1 -9
  126. package/dist/setup-login-runner.d.ts.map +1 -1
  127. package/dist/setup-login-runner.js +17 -49
  128. package/dist/setup-login-runner.js.map +1 -1
  129. package/dist/setup-login-url.d.ts +10 -0
  130. package/dist/setup-login-url.d.ts.map +1 -0
  131. package/dist/setup-login-url.js +48 -0
  132. package/dist/setup-login-url.js.map +1 -0
  133. package/dist/thread-continuity-context.d.ts +24 -0
  134. package/dist/thread-continuity-context.d.ts.map +1 -1
  135. package/dist/thread-continuity-context.js +17 -0
  136. package/dist/thread-continuity-context.js.map +1 -1
  137. package/package.json +24 -23
@@ -1 +1 @@
1
- {"version":3,"file":"setup-login-completion.js","sourceRoot":"","sources":["../src/setup-login-completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-login-completion.js","sourceRoot":"","sources":["../src/setup-login-completion.ts"],"names":[],"mappings":"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"}
@@ -22,11 +22,17 @@ export declare const C0_CONTROL_RE: RegExp;
22
22
  * stdin (url_disclosure_with_input — claude's pasted OAuth code). The value
23
23
  * exists only in the 0600 job-dir sidecar and the child's stdin; it never
24
24
  * touches the tail, the result, or any durable record. */
25
- export declare function watchLoginInput(manifest: SetupLoginManifest, child: ChildProcess, now: () => Date): () => void;
25
+ export declare function watchLoginInput(manifest: SetupLoginManifest, child: ChildProcess, now: () => Date,
26
+ /** Called with the value the moment it is delivered. A tty-backed login
27
+ * (ptyStdin) is ECHOED by the terminal line discipline, so the pasted code
28
+ * comes straight back out on the tee'd output — the tail must forget it
29
+ * before any failure receipt is written (INV-062). */
30
+ onDelivered?: (value: string) => void): () => void;
26
31
  /** Ring buffer of the last OUTPUT_TAIL_BYTES of tee'd vendor output. */
27
32
  export declare function createTailBuffer(): {
28
33
  push(chunk: Buffer): void;
29
34
  text(): string;
35
+ forget(value: string): void;
30
36
  };
31
37
  /** Strip terminal escapes (CSI, OSC, bare ESC, C0 controls except newline),
32
38
  * redact secret-like tokens and URL queries, and clamp - diagnostic evidence
@@ -1 +1 @@
1
- {"version":3,"file":"setup-login-io.d.ts","sourceRoot":"","sources":["../src/setup-login-io.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE1F,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;;;;;;GAOG;AAEH,eAAO,MAAM,cAAc,QACgD,CAAC;AAE5E,eAAO,MAAM,aAAa,QAAwC,CAAC;AAInE;;;0DAG0D;AAC1D,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,MAAM,IAAI,GACd,MAAM,IAAI,CAiBZ;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,IAAI;IAAE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,IAAI,MAAM,CAAA;CAAE,CAsBhF;AAMD;;;gBAGgB;AAChB,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,MAAM,CAqBnE"}
1
+ {"version":3,"file":"setup-login-io.d.ts","sourceRoot":"","sources":["../src/setup-login-io.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;;;;;;GAOG;AAEH,eAAO,MAAM,cAAc,QACgD,CAAC;AAE5E,eAAO,MAAM,aAAa,QAAwC,CAAC;AAInE;;;0DAG0D;AAC1D,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,MAAM,IAAI;AACf;;;sDAGsD;AACtD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GACpC,MAAM,IAAI,CA4BZ;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,IAAI;IAClC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,IAAI,MAAM,CAAC;IACf,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CA4CA;AAMD;;;gBAGgB;AAChB,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,MAAM,CAqBnE"}
@@ -1,5 +1,5 @@
1
1
  import { redactSecrets } from "@claudexor/util";
2
- import { readRunnerLoginInput } from "./setup-login-protocol.js";
2
+ import { atomicPrivateJson, readRunnerLoginInput, } from "./setup-login-protocol.js";
3
3
  export const OUTPUT_TAIL_BYTES = 4096;
4
4
  /**
5
5
  * OAuth-URL capture for TERMINAL-mode logins (claude/cursor, and codex's
@@ -18,7 +18,12 @@ const INPUT_POLL_MS = 300;
18
18
  * stdin (url_disclosure_with_input — claude's pasted OAuth code). The value
19
19
  * exists only in the 0600 job-dir sidecar and the child's stdin; it never
20
20
  * touches the tail, the result, or any durable record. */
21
- export function watchLoginInput(manifest, child, now) {
21
+ export function watchLoginInput(manifest, child, now,
22
+ /** Called with the value the moment it is delivered. A tty-backed login
23
+ * (ptyStdin) is ECHOED by the terminal line discipline, so the pasted code
24
+ * comes straight back out on the tee'd output — the tail must forget it
25
+ * before any failure receipt is written (INV-062). */
26
+ onDelivered) {
22
27
  let delivered = false;
23
28
  const timer = setInterval(() => {
24
29
  if (delivered || !manifest.inputPath || !child.stdin || child.stdin.destroyed)
@@ -27,8 +32,19 @@ export function watchLoginInput(manifest, child, now) {
27
32
  if (!input)
28
33
  return;
29
34
  delivered = true;
35
+ onDelivered?.(input.value);
30
36
  try {
31
37
  child.stdin.write(`${input.value}\n`);
38
+ // The secret has been handed to the vendor; what stays on disk is a
39
+ // non-secret consumed marker, so the one-shot conflict check still
40
+ // refuses a second submission while the code itself stops existing.
41
+ atomicPrivateJson(manifest.inputPath, {
42
+ version: input.version,
43
+ jobId: manifest.jobId,
44
+ executionId: manifest.executionId,
45
+ consumed: true,
46
+ submittedAt: input.submittedAt,
47
+ });
32
48
  }
33
49
  catch {
34
50
  // A dead stdin means the vendor already exited; the result receipt
@@ -48,7 +64,20 @@ export function createTailBuffer() {
48
64
  // Ring overflow is tracked HERE and handed to boundedTail — the decoded
49
65
  // string's length (already <= the cap) cannot recover it (X224).
50
66
  let overflowed = false;
67
+ // Exact strings the tail must never carry back out (a tty-echoed sign-in
68
+ // code); `redactSecrets` cannot anchor a vendor code with no known prefix.
69
+ const forgotten = [];
51
70
  return {
71
+ forget(value) {
72
+ // Every delivered value is a secret, however short. A tty also echoes a
73
+ // CR as a LINE BREAK, so the string we wrote comes back as two lines and
74
+ // a whole-string match would miss both halves.
75
+ for (const part of value.split(/[\r\n]+/)) {
76
+ const trimmed = part.trim();
77
+ if (trimmed)
78
+ forgotten.push(trimmed);
79
+ }
80
+ },
52
81
  push(chunk) {
53
82
  const combined = Buffer.concat([tail, chunk]);
54
83
  if (combined.length > OUTPUT_TAIL_BYTES)
@@ -61,7 +90,18 @@ export function createTailBuffer() {
61
90
  let start = 0;
62
91
  while (start < tail.length && (tail[start] & 0b1100_0000) === 0b1000_0000)
63
92
  start += 1;
64
- return boundedTail(tail.subarray(start).toString("utf8"), overflowed || start > 0);
93
+ // Escapes come off BEFORE the forget match: a vendor that re-prints the
94
+ // code in colour splits it with control bytes, the exact-string match
95
+ // misses, and boundedTail then reassembles the plaintext into a durable
96
+ // receipt. Stripping first means the match sees what the reader will.
97
+ let text = tail
98
+ .subarray(start)
99
+ .toString("utf8")
100
+ .replace(TERM_ESCAPE_RE, "")
101
+ .replace(C0_CONTROL_RE, "");
102
+ for (const value of forgotten)
103
+ text = text.split(value).join("[redacted]");
104
+ return boundedTail(text, overflowed || start > 0);
65
105
  },
66
106
  };
67
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup-login-io.js","sourceRoot":"","sources":["../src/setup-login-io.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-login-io.js","sourceRoot":"","sources":["../src/setup-login-io.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GAErB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAEtC;;;;;;;GAOG;AACH,4CAA4C;AAC5C,MAAM,CAAC,MAAM,cAAc,GACzB,yEAAyE,CAAC;AAC5E,4CAA4C;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAG,qCAAqC,CAAC;AAEnE,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B;;;0DAG0D;AAC1D,MAAM,UAAU,eAAe,CAC7B,QAA4B,EAC5B,KAAmB,EACnB,GAAe;AACf;;;sDAGsD;AACtD,WAAqC;IAErC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,IAAI,SAAS,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS;YAAE,OAAO;QACtF,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7F,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,SAAS,GAAG,IAAI,CAAC;QACjB,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC;YACH,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YACtC,oEAAoE;YACpE,mEAAmE;YACnE,oEAAoE;YACpE,iBAAiB,CAAC,QAAQ,CAAC,SAAS,EAAE;gBACpC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;YACnE,4BAA4B;QAC9B,CAAC;IACH,CAAC,EAAE,aAAa,CAAC,CAAC;IAClB,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAChB,KAAK,GAAG,CAAC;IACT,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,gBAAgB;IAK9B,yEAAyE;IACzE,2EAA2E;IAC3E,6BAA6B;IAC7B,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,wEAAwE;IACxE,iEAAiE;IACjE,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,OAAO;QACL,MAAM,CAAC,KAAK;YACV,wEAAwE;YACxE,yEAAyE;YACzE,+CAA+C;YAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,OAAO;oBAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK;YACR,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YAC9C,IAAI,QAAQ,CAAC,MAAM,GAAG,iBAAiB;gBAAE,UAAU,GAAG,IAAI,CAAC;YAC3D,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI;YACF,oEAAoE;YACpE,kEAAkE;YAClE,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAE,GAAG,WAAW,CAAC,KAAK,WAAW;gBAAE,KAAK,IAAI,CAAC,CAAC;YACvF,wEAAwE;YACxE,sEAAsE;YACtE,wEAAwE;YACxE,sEAAsE;YACtE,IAAI,IAAI,GAAG,IAAI;iBACZ,QAAQ,CAAC,KAAK,CAAC;iBACf,QAAQ,CAAC,MAAM,CAAC;iBAChB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;iBAC3B,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,MAAM,KAAK,IAAI,SAAS;gBAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3E,OAAO,WAAW,CAAC,IAAI,EAAE,UAAU,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,0EAA0E;AAC1E,MAAM,YAAY,GAAG,wCAAwC,CAAC;AAE9D;;;gBAGgB;AAChB,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,SAAS,GAAG,KAAK;IACzD,MAAM,KAAK,GAAG,IAAI;SACf,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,OAAO,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAC1C,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,kEAAkE;IAClE,qEAAqE;IACrE,4EAA4E;IAC5E,wEAAwE;IACxE,oEAAoE;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,iBAAiB,CAAC;IAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAC3E,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAE,GAAG,WAAW,CAAC,KAAK,WAAW;QAAE,KAAK,IAAI,CAAC,CAAC;IACvF,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,GAAG;QAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/C,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC"}
@@ -0,0 +1,27 @@
1
+ /** Refusal when this host has no way to give a login a terminal. */
2
+ export declare const PTY_UNAVAILABLE = "this sign-in needs a terminal on stdin and no terminal helper (expect, script) is available here; run the CLI login instead";
3
+ /** Refusal when the sealed command cannot be carried to the helper verbatim. */
4
+ export declare const PTY_UNQUOTABLE = "this sign-in command contains characters the terminal helper cannot carry unchanged; run the CLI login instead";
5
+ /**
6
+ * Wrap a login command that needs a real terminal on stdin.
7
+ *
8
+ * Proven by experiment on this platform pair (2026-08-16): BSD `script(1)`
9
+ * calls `tcgetattr` on its OWN stdin and dies with "Operation not supported"
10
+ * the moment that stdin is a pipe, which is exactly how a daemon-hosted runner
11
+ * spawns it — so macOS cannot use it. `expect(1)`, which ships with macOS,
12
+ * allocates the pty itself and relays plain pipes, and util-linux `script`
13
+ * accepts non-tty stdio where `expect` is usually not installed. Probing for
14
+ * the tool rather than branching on the platform therefore lands on the one
15
+ * that works on both, with a typed refusal when neither exists.
16
+ *
17
+ * The command is passed to Tcl brace-quoted; a word containing a brace or a
18
+ * backslash is REFUSED rather than escaped, because a mis-escaped word would
19
+ * become a different command than the manifest digest sealed.
20
+ */
21
+ export declare function ptyWrappedCommand(binary: string, args: string[], exists?: (path: string) => boolean): {
22
+ binary: string;
23
+ args: string[];
24
+ } | {
25
+ refusal: string;
26
+ };
27
+ //# sourceMappingURL=setup-login-pty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-login-pty.d.ts","sourceRoot":"","sources":["../src/setup-login-pty.ts"],"names":[],"mappings":"AAEA,oEAAoE;AACpE,eAAO,MAAM,eAAe,gIACmG,CAAC;AAEhI,gFAAgF;AAChF,eAAO,MAAM,cAAc,mHACuF,CAAC;AAEnH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAoB,GAC7C;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAkC1D"}
@@ -0,0 +1,58 @@
1
+ import { existsSync } from "node:fs";
2
+ /** Refusal when this host has no way to give a login a terminal. */
3
+ export const PTY_UNAVAILABLE = "this sign-in needs a terminal on stdin and no terminal helper (expect, script) is available here; run the CLI login instead";
4
+ /** Refusal when the sealed command cannot be carried to the helper verbatim. */
5
+ export const PTY_UNQUOTABLE = "this sign-in command contains characters the terminal helper cannot carry unchanged; run the CLI login instead";
6
+ /**
7
+ * Wrap a login command that needs a real terminal on stdin.
8
+ *
9
+ * Proven by experiment on this platform pair (2026-08-16): BSD `script(1)`
10
+ * calls `tcgetattr` on its OWN stdin and dies with "Operation not supported"
11
+ * the moment that stdin is a pipe, which is exactly how a daemon-hosted runner
12
+ * spawns it — so macOS cannot use it. `expect(1)`, which ships with macOS,
13
+ * allocates the pty itself and relays plain pipes, and util-linux `script`
14
+ * accepts non-tty stdio where `expect` is usually not installed. Probing for
15
+ * the tool rather than branching on the platform therefore lands on the one
16
+ * that works on both, with a typed refusal when neither exists.
17
+ *
18
+ * The command is passed to Tcl brace-quoted; a word containing a brace or a
19
+ * backslash is REFUSED rather than escaped, because a mis-escaped word would
20
+ * become a different command than the manifest digest sealed.
21
+ */
22
+ export function ptyWrappedCommand(binary, args, exists = existsSync) {
23
+ const words = [binary, ...args];
24
+ const EXPECT = "/usr/bin/expect";
25
+ const SCRIPT = "/usr/bin/script";
26
+ if (exists(EXPECT)) {
27
+ if (words.some((word) => /[{}\\\n]/.test(word)))
28
+ return { refusal: PTY_UNQUOTABLE };
29
+ const spawnCommand = words.map((word) => `{${word}}`).join(" ");
30
+ return {
31
+ binary: EXPECT,
32
+ // `interact` relays our pipes both ways for the whole login; the vendor
33
+ // sees a terminal, we see its URL and can write the pasted code.
34
+ //
35
+ // Everything after it exists because `interact` returns expect's OWN
36
+ // status, not the vendor's: without this an authentication that the
37
+ // vendor REJECTED would be recorded as a successful login, and its
38
+ // diagnostic tail would be dropped. `wait` yields the child's exit code,
39
+ // a signal death is reported as one, and a spawn that never started is
40
+ // 127 — the same shape a shell would give.
41
+ args: [
42
+ "-c",
43
+ `set timeout -1; if {[catch {spawn -noecho ${spawnCommand}}]} { exit 127 }; ` +
44
+ "set pid [exp_pid]; interact; catch {wait} r; " +
45
+ "if {[lsearch -exact $r CHILDKILLED] >= 0} { exit 129 }; " +
46
+ "catch {exec kill -TERM $pid}; exit [lindex $r 3]",
47
+ ],
48
+ };
49
+ }
50
+ if (exists(SCRIPT) && process.platform !== "darwin") {
51
+ const quoted = words.map((word) => `'${word.replaceAll("'", `'"'"'`)}'`).join(" ");
52
+ // `-e` for the same reason: without it script reports its own status and
53
+ // a rejected login reads as a successful one.
54
+ return { binary: SCRIPT, args: ["-e", "-q", "-c", quoted, "/dev/null"] };
55
+ }
56
+ return { refusal: PTY_UNAVAILABLE };
57
+ }
58
+ //# sourceMappingURL=setup-login-pty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-login-pty.js","sourceRoot":"","sources":["../src/setup-login-pty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,oEAAoE;AACpE,MAAM,CAAC,MAAM,eAAe,GAC1B,6HAA6H,CAAC;AAEhI,gFAAgF;AAChF,MAAM,CAAC,MAAM,cAAc,GACzB,gHAAgH,CAAC;AAEnH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,IAAc,EACd,MAAM,GAA8B,UAAU;IAE9C,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,iBAAiB,CAAC;IACjC,MAAM,MAAM,GAAG,iBAAiB,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QACpF,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO;YACL,MAAM,EAAE,MAAM;YACd,wEAAwE;YACxE,iEAAiE;YACjE,EAAE;YACF,qEAAqE;YACrE,oEAAoE;YACpE,mEAAmE;YACnE,yEAAyE;YACzE,uEAAuE;YACvE,2CAA2C;YAC3C,IAAI,EAAE;gBACJ,IAAI;gBACJ,6CAA6C,YAAY,oBAAoB;oBAC3E,+CAA+C;oBAC/C,0DAA0D;oBAC1D,kDAAkD;aACrD;SACF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnF,yEAAyE;QACzE,8CAA8C;QAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;IAC3E,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AACtC,CAAC"}
@@ -2,6 +2,7 @@
2
2
  import { spawn } from "node:child_process";
3
3
  import { processGroupServiceWithWindowsSupport } from "@claudexor/core";
4
4
  export { terminateAppServerChild } from "./setup-login-child-lifecycle.js";
5
+ export { createOAuthUrlDetector, extractOAuthUrl } from "./setup-login-url.js";
5
6
  export interface SetupLoginRunnerOptions {
6
7
  now?: () => Date;
7
8
  sleep?: (ms: number) => Promise<void>;
@@ -18,13 +19,4 @@ export interface SetupLoginRunnerOptions {
18
19
  export declare function runSetupLogin(manifestPath: string, options?: SetupLoginRunnerOptions): Promise<number>;
19
20
  /** Worker entrypoint. Exported so the permit ordering can be fault-injected. */
20
21
  export declare function runSetupLoginWorker(manifestPath: string, options?: SetupLoginRunnerOptions): Promise<number>;
21
- export declare function extractOAuthUrl(text: string): string | null;
22
- /**
23
- * Per-login detector. A match ending at the window's very end may be cut by a
24
- * chunk boundary (wave finding): it is published PROVISIONALLY, superseded by
25
- * a longer capture, and FINAL only once output continues past its end.
26
- */
27
- export declare function createOAuthUrlDetector(): {
28
- push(chunk: Buffer): string | null;
29
- };
30
22
  //# sourceMappingURL=setup-login-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-login-runner.d.ts","sourceRoot":"","sources":["../src/setup-login-runner.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAwC,MAAM,oBAAoB,CAAC;AAKjF,OAAO,EAGL,qCAAqC,EACtC,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAqB3E,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,KAAK,CAAC;IAC5B,mBAAmB,CAAC,EAAE,UAAU,CAAC,OAAO,qCAAqC,CAAC,CAAC;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,gFAAgF;AAChF,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC,CAkKjB;AA+ID,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO3D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI;IAAE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,CAuB/E"}
1
+ {"version":3,"file":"setup-login-runner.d.ts","sourceRoot":"","sources":["../src/setup-login-runner.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAwC,MAAM,oBAAoB,CAAC;AAKjF,OAAO,EAGL,qCAAqC,EACtC,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAI3E,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAc/E,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,KAAK,CAAC;IAC5B,mBAAmB,CAAC,EAAE,UAAU,CAAC,OAAO,qCAAqC,CAAC,CAAC;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,gFAAgF;AAChF,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC,CA8KjB"}
@@ -9,7 +9,10 @@ import { startCodexDeviceLogin, } from "./codex-device-login.js";
9
9
  import { terminateAppServerChild } from "./setup-login-child-lifecycle.js";
10
10
  export { terminateAppServerChild } from "./setup-login-child-lifecycle.js";
11
11
  import { nativeLoginEnv } from "./native-login.js";
12
- import { C0_CONTROL_RE, TERM_ESCAPE_RE, boundedTail, createTailBuffer, watchLoginInput, } from "./setup-login-io.js";
12
+ import { ptyWrappedCommand } from "./setup-login-pty.js";
13
+ import { createOAuthUrlDetector } from "./setup-login-url.js";
14
+ export { createOAuthUrlDetector, extractOAuthUrl } from "./setup-login-url.js";
15
+ import { boundedTail, createTailBuffer, watchLoginInput } from "./setup-login-io.js";
13
16
  import { waitForSetupLoginPermit } from "./setup-login-permit.js";
14
17
  import { SETUP_LOGIN_PROTOCOL_VERSION, atomicPrivateJson, readLoginManifest, verifyExecutableEvidence, } from "./setup-login-protocol.js";
15
18
  /**
@@ -126,6 +129,16 @@ export async function runSetupLoginWorker(manifestPath, options = {}) {
126
129
  // The disclosure is best-effort context; it must never kill the login.
127
130
  }
128
131
  };
132
+ // A vendor that reads its code only from a terminal is wrapped here; the
133
+ // wrapper is transport, so the evidence verified above still covers the
134
+ // VENDOR binary and its sealed argv (setup-login-pty.ts).
135
+ const command = manifest.ptyStdin
136
+ ? ptyWrappedCommand(manifest.binary, manifest.args)
137
+ : { binary: manifest.binary, args: manifest.args };
138
+ if ("refusal" in command) {
139
+ persistFailure(manifest, now, permit.issuedAt, "spawn_failed", command.refusal);
140
+ return 1;
141
+ }
129
142
  // A spawn throw and a wait rejection wrote the SAME receipt, so they share
130
143
  // one catch; de-registering the hold handlers is every exit's finally.
131
144
  let result;
@@ -143,7 +156,7 @@ export async function runSetupLoginWorker(manifestPath, options = {}) {
143
156
  ? ["inherit", "pipe", "pipe"]
144
157
  : "inherit",
145
158
  };
146
- const child = spawnProcess(manifest.binary, manifest.args, spawnOptions);
159
+ const child = spawnProcess(command.binary, command.args, spawnOptions);
147
160
  if (teeOutput) {
148
161
  const tee = (sink) => (chunk) => {
149
162
  sink.write(chunk);
@@ -154,7 +167,8 @@ export async function runSetupLoginWorker(manifestPath, options = {}) {
154
167
  child.stderr?.on("data", tee(process.stderr));
155
168
  }
156
169
  if (withInput && manifest.inputPath) {
157
- stopInputWatch = watchLoginInput(manifest, child, now);
170
+ // A tty echoes what we write, so the code would otherwise ride the tail.
171
+ stopInputWatch = watchLoginInput(manifest, child, now, (value) => tail.forget(value));
158
172
  }
159
173
  result = await waitForExit(child);
160
174
  }
@@ -309,52 +323,6 @@ function appServerConnection(child) {
309
323
  },
310
324
  };
311
325
  }
312
- const OAUTH_URL_SIGNATURE_RE = /(oauth|authori[sz]e|login|sign[-_]?in|device|sso|verification|callback)/i;
313
- /**
314
- * First sign-in-shaped URL in vendor CLI output, or null. Terminal escapes are
315
- * stripped first; trailing prose punctuation is trimmed; a docs link in a
316
- * banner never qualifies.
317
- */
318
- const OAUTH_URL_SCAN_WINDOW = 8_192;
319
- export function extractOAuthUrl(text) {
320
- const plain = text.replace(TERM_ESCAPE_RE, "").replace(C0_CONTROL_RE, "");
321
- for (const match of plain.matchAll(/https:\/\/[^\s"'<>()[\]]+/g)) {
322
- const url = match[0].replace(/[.,;:!?]+$/, "");
323
- if (OAUTH_URL_SIGNATURE_RE.test(url))
324
- return url;
325
- }
326
- return null;
327
- }
328
- /**
329
- * Per-login detector. A match ending at the window's very end may be cut by a
330
- * chunk boundary (wave finding): it is published PROVISIONALLY, superseded by
331
- * a longer capture, and FINAL only once output continues past its end.
332
- */
333
- export function createOAuthUrlDetector() {
334
- let window = "";
335
- let published = null;
336
- let finalized = false;
337
- return {
338
- push(chunk) {
339
- if (finalized)
340
- return null;
341
- window = (window + chunk.toString("utf8")).slice(-OAUTH_URL_SCAN_WINDOW);
342
- const plain = window.replace(TERM_ESCAPE_RE, "").replace(C0_CONTROL_RE, "");
343
- const match = [...plain.matchAll(/https:\/\/[^\s"'<>()[\]]+/g)].find((m) => OAUTH_URL_SIGNATURE_RE.test(m[0]));
344
- if (!match)
345
- return null;
346
- const url = match[0].replace(/[.,;:!?]+$/, "");
347
- if ((match.index ?? 0) + match[0].length < plain.length) {
348
- finalized = true;
349
- return url === published ? null : url;
350
- }
351
- if (published !== null && url.length <= published.length)
352
- return null;
353
- published = url;
354
- return url;
355
- },
356
- };
357
- }
358
326
  /** Run `<binary> login --help` captured, bounded to 10s. Fails OPEN: only a
359
327
  * COMPLETED probe whose help text lacks the flag reports unsupported. */
360
328
  function probeLoginHelp(binary, spawnProcess, probeEnv) {
@@ -1 +1 @@
1
- {"version":3,"file":"setup-login-runner.js","sourceRoot":"","sources":["../src/setup-login-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-login-runner.js","sourceRoot":"","sources":["../src/setup-login-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare function extractOAuthUrl(text: string): string | null;
2
+ /**
3
+ * Per-login detector. A match ending at the window's very end may be cut by a
4
+ * chunk boundary (wave finding): it is published PROVISIONALLY, superseded by
5
+ * a longer capture, and FINAL only once output continues past its end.
6
+ */
7
+ export declare function createOAuthUrlDetector(): {
8
+ push(chunk: Buffer): string | null;
9
+ };
10
+ //# sourceMappingURL=setup-login-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-login-url.d.ts","sourceRoot":"","sources":["../src/setup-login-url.ts"],"names":[],"mappings":"AAYA,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO3D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI;IAAE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,CAuB/E"}
@@ -0,0 +1,48 @@
1
+ import { C0_CONTROL_RE, TERM_ESCAPE_RE } from "./setup-login-io.js";
2
+ const OAUTH_URL_SIGNATURE_RE = /(oauth|authori[sz]e|login|sign[-_]?in|device|sso|verification|callback)/i;
3
+ /**
4
+ * First sign-in-shaped URL in vendor CLI output, or null. Terminal escapes are
5
+ * stripped first; trailing prose punctuation is trimmed; a docs link in a
6
+ * banner never qualifies.
7
+ */
8
+ const OAUTH_URL_SCAN_WINDOW = 8_192;
9
+ export function extractOAuthUrl(text) {
10
+ const plain = text.replace(TERM_ESCAPE_RE, "").replace(C0_CONTROL_RE, "");
11
+ for (const match of plain.matchAll(/https:\/\/[^\s"'<>()[\]]+/g)) {
12
+ const url = match[0].replace(/[.,;:!?]+$/, "");
13
+ if (OAUTH_URL_SIGNATURE_RE.test(url))
14
+ return url;
15
+ }
16
+ return null;
17
+ }
18
+ /**
19
+ * Per-login detector. A match ending at the window's very end may be cut by a
20
+ * chunk boundary (wave finding): it is published PROVISIONALLY, superseded by
21
+ * a longer capture, and FINAL only once output continues past its end.
22
+ */
23
+ export function createOAuthUrlDetector() {
24
+ let window = "";
25
+ let published = null;
26
+ let finalized = false;
27
+ return {
28
+ push(chunk) {
29
+ if (finalized)
30
+ return null;
31
+ window = (window + chunk.toString("utf8")).slice(-OAUTH_URL_SCAN_WINDOW);
32
+ const plain = window.replace(TERM_ESCAPE_RE, "").replace(C0_CONTROL_RE, "");
33
+ const match = [...plain.matchAll(/https:\/\/[^\s"'<>()[\]]+/g)].find((m) => OAUTH_URL_SIGNATURE_RE.test(m[0]));
34
+ if (!match)
35
+ return null;
36
+ const url = match[0].replace(/[.,;:!?]+$/, "");
37
+ if ((match.index ?? 0) + match[0].length < plain.length) {
38
+ finalized = true;
39
+ return url === published ? null : url;
40
+ }
41
+ if (published !== null && url.length <= published.length)
42
+ return null;
43
+ published = url;
44
+ return url;
45
+ },
46
+ };
47
+ }
48
+ //# sourceMappingURL=setup-login-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-login-url.js","sourceRoot":"","sources":["../src/setup-login-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEpE,MAAM,sBAAsB,GAC1B,0EAA0E,CAAC;AAE7E;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAEpC,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC1E,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACpC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,OAAO;QACL,IAAI,CAAC,KAAK;YACR,IAAI,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC3B,MAAM,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC;YACzE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAC5E,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACzE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAClC,CAAC;YACF,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACxD,SAAS,GAAG,IAAI,CAAC;gBACjB,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;YACxC,CAAC;YACD,IAAI,SAAS,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACtE,SAAS,GAAG,GAAG,CAAC;YAChB,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -16,6 +16,30 @@ export interface ThreadContinuitySource {
16
16
  turn_id: string;
17
17
  }>;
18
18
  }
19
+ /**
20
+ * Native resume inputs for one thread run (unified account model): a PINNED
21
+ * turn resumes only the pin's own sessions; an UNPINNED turn gets the latest
22
+ * session per harness plus the thread's durable account bindings — the engine
23
+ * boundary re-verifies every cached session against the RESOLVED account, so
24
+ * resume never crosses profiles (INV-135, D-U1 order pin → binding → pool).
25
+ */
26
+ export declare function threadRunResumeInputs(threads: {
27
+ resumeMap(threadId: string, profileId: string | null): Record<string, {
28
+ sessionId: string;
29
+ profileId: string | null;
30
+ }>;
31
+ resumeMapAuto(threadId: string): Record<string, {
32
+ sessionId: string;
33
+ profileId: string | null;
34
+ }>;
35
+ accountBindings(threadId: string): Record<string, string>;
36
+ }, threadId: string | undefined, requestedProfileId: string | null): {
37
+ resumeSessions?: Record<string, {
38
+ sessionId: string;
39
+ profileId: string | null;
40
+ }>;
41
+ threadAccountBindings?: Record<string, string>;
42
+ };
19
43
  /**
20
44
  * Continuity facts for one thread turn (INV-137): the prior turns the engine
21
45
  * builds its delta packet from, plus every lane checkpoint of the thread.
@@ -1 +1 @@
1
- {"version":3,"file":"thread-continuity-context.d.ts","sourceRoot":"","sources":["../src/thread-continuity-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,mFAAmF;AACnF,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAC;QACxC,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,wBAAwB,CACtB,QAAQ,EAAE,MAAM,GACf,aAAa,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,OAAO,EAAE,sBAAsB,CAAC;IAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GAAG,uBAAuB,GAAG,SAAS,CAsBtC"}
1
+ {"version":3,"file":"thread-continuity-context.d.ts","sourceRoot":"","sources":["../src/thread-continuity-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,mFAAmF;AACnF,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAC;QACxC,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,wBAAwB,CACtB,QAAQ,EAAE,MAAM,GACf,aAAa,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtF;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE;IACP,SAAS,CACP,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACnE,aAAa,CACX,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACnE,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3D,EACD,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAChC;IACD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACjF,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD,CAQA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,OAAO,EAAE,sBAAsB,CAAC;IAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GAAG,uBAAuB,GAAG,SAAS,CAsBtC"}
@@ -1,3 +1,20 @@
1
+ /**
2
+ * Native resume inputs for one thread run (unified account model): a PINNED
3
+ * turn resumes only the pin's own sessions; an UNPINNED turn gets the latest
4
+ * session per harness plus the thread's durable account bindings — the engine
5
+ * boundary re-verifies every cached session against the RESOLVED account, so
6
+ * resume never crosses profiles (INV-135, D-U1 order pin → binding → pool).
7
+ */
8
+ export function threadRunResumeInputs(threads, threadId, requestedProfileId) {
9
+ if (!threadId)
10
+ return {};
11
+ if (requestedProfileId)
12
+ return { resumeSessions: threads.resumeMap(threadId, requestedProfileId) };
13
+ return {
14
+ resumeSessions: threads.resumeMapAuto(threadId),
15
+ threadAccountBindings: threads.accountBindings(threadId),
16
+ };
17
+ }
1
18
  /**
2
19
  * Continuity facts for one thread turn (INV-137): the prior turns the engine
3
20
  * builds its delta packet from, plus every lane checkpoint of the thread.
@@ -1 +1 @@
1
- {"version":3,"file":"thread-continuity-context.js","sourceRoot":"","sources":["../src/thread-continuity-context.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAKvC;IACC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IACvD,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC;IACnE,OAAO;QACL,MAAM;QACN,SAAS;QACT,UAAU,EAAE,OAAO;aAChB,QAAQ,CAAC,QAAQ,CAAC;aAClB,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,EAAE,KAAK,MAAM;YACf,CAAC,CAAC,MAAM,IAAI,IAAI;YAChB,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,UAAU,GAAG,gBAAgB,CAAC,CACzD;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,eAAe,EAAE,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtE,OAAO,EAAE,CAAC,CAAC,UAAU;YACrB,SAAS,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;YAC/B,MAAM,EAAE,CAAC,CAAC,OAAO;SAClB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"thread-continuity-context.js","sourceRoot":"","sources":["../src/thread-continuity-context.ts"],"names":[],"mappings":"AAgBA;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,OASC,EACD,QAA4B,EAC5B,kBAAiC;IAKjC,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,IAAI,kBAAkB;QACpB,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,CAAC;IAC7E,OAAO;QACL,cAAc,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC/C,qBAAqB,EAAE,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC;KACzD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAKvC;IACC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IACvD,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC;IACnE,OAAO;QACL,MAAM;QACN,SAAS;QACT,UAAU,EAAE,OAAO;aAChB,QAAQ,CAAC,QAAQ,CAAC;aAClB,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,EAAE,KAAK,MAAM;YACf,CAAC,CAAC,MAAM,IAAI,IAAI;YAChB,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,UAAU,GAAG,gBAAgB,CAAC,CACzD;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,eAAe,EAAE,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtE,OAAO,EAAE,CAAC,CAAC,UAAU;YACrB,SAAS,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;YAC/B,MAAM,EAAE,CAAC,CAAC,OAAO;SAClB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}