commandmate 0.34.0 → 0.34.1

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 (208) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +136 -136
  3. package/.next/app-path-routes-manifest.json +27 -27
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +12 -12
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
  9. package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
  10. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/app/update-check/route.js +1 -1
  12. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/capabilities/route.js +1 -1
  24. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/relays/[relayId]/cancel/route.js +1 -1
  41. package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
  42. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/relays/route.js +1 -1
  44. package/.next/server/app/api/relays/route.js.nft.json +1 -1
  45. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  118. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  153. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  155. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  156. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  157. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  159. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  160. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  162. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  163. package/.next/server/app/page_client-reference-manifest.js +1 -1
  164. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  165. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  166. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  167. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  168. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  169. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  170. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  171. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  172. package/.next/server/app/worktrees/[id]/page.js +1 -1
  173. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  174. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  175. package/.next/server/app-paths-manifest.json +27 -27
  176. package/.next/server/chunks/3077.js +1 -1
  177. package/.next/server/chunks/434.js +1 -0
  178. package/.next/server/chunks/595.js +3 -3
  179. package/.next/server/chunks/6130.js +1 -1
  180. package/.next/server/chunks/8807.js +10 -10
  181. package/.next/server/middleware-manifest.json +5 -5
  182. package/.next/server/pages/500.html +1 -1
  183. package/.next/server/server-reference-manifest.json +1 -1
  184. package/.next/server/src/middleware.js +1 -1
  185. package/.next/server/src/middleware.js.map +1 -1
  186. package/.next/static/chunks/{4718-2d9f0397a8f931c4.js → 4718-29cfcfb806724d9a.js} +1 -1
  187. package/.next/static/chunks/app/worktrees/[id]/{page-a39ec2a0732d11a6.js → page-60eab4e24c37cb77.js} +1 -1
  188. package/.next/trace +13 -13
  189. package/README.md +141 -24
  190. package/dist/cli/commands/remote.d.ts +93 -3
  191. package/dist/cli/commands/remote.d.ts.map +1 -1
  192. package/dist/cli/commands/remote.js +232 -9
  193. package/dist/cli/types/index.d.ts +9 -0
  194. package/dist/cli/types/index.d.ts.map +1 -1
  195. package/dist/cli/utils/api-client.d.ts.map +1 -1
  196. package/dist/cli/utils/api-client.js +11 -1
  197. package/dist/cli/utils/remote-state.d.ts +32 -0
  198. package/dist/cli/utils/remote-state.d.ts.map +1 -1
  199. package/dist/cli/utils/remote-state.js +12 -0
  200. package/dist/server/server.js +204 -16
  201. package/dist/server/src/lib/db/agent-instances-db.js +11 -0
  202. package/dist/server/src/lib/hooks/sources/opencode/ports.js +6 -0
  203. package/dist/server/src/lib/relay/relay-session-ref.js +15 -8
  204. package/dist/server/src/lib/ws-server.js +74 -5
  205. package/package.json +1 -1
  206. package/.next/server/chunks/1049.js +0 -1
  207. /package/.next/static/{gniPBCKoXtbIOQey8kNcx → oDWX0JcwfhUYrMnnqDWVC}/_buildManifest.js +0 -0
  208. /package/.next/static/{gniPBCKoXtbIOQey8kNcx → oDWX0JcwfhUYrMnnqDWVC}/_ssgManifest.js +0 -0
@@ -7,6 +7,8 @@
7
7
  * commandmate remote status # Provider / URL / expiry / pairing state
8
8
  * commandmate remote stop # close the door, keeping the server running
9
9
  *
10
+ * commandmate remote --auth remote-only # only the phone's route authenticates
11
+ *
10
12
  * ## What lives here rather than in a Provider (§6.2)
11
13
  *
12
14
  * Two things, and both for the same reason — they are decisions about an
@@ -21,6 +23,17 @@
21
23
  * Provider would have to re-derive interactive-vs-not per Provider, and its
22
24
  * answer would be invisible to the caller that has to honour `--yes`.
23
25
  *
26
+ * ## How far the token reaches (Issue #2489)
27
+ *
28
+ * `--auth all` (the default) authenticates every listener, which is what #1937
29
+ * shipped. `--auth remote-only` runs a SECOND loopback listener, points the
30
+ * Provider at that one alone, and exempts the original from authentication — so
31
+ * the phone still pairs and the PC in front of the machine keeps working. The
32
+ * exemption is decided by which listener a request arrived on, never by its
33
+ * source address: a Provider's upstream IS 127.0.0.1, so every IP- and
34
+ * header-based answer here fails open. See `src/lib/ws-server.ts`'s ingress
35
+ * section for the full argument.
36
+ *
24
37
  * ## What this command deliberately does not have
25
38
  *
26
39
  * - **`--token`.** `remote` is the side that MINTS a token; one supplied from
@@ -34,10 +47,13 @@
34
47
  * local session down along with the remote one (§5.3).
35
48
  */
36
49
  Object.defineProperty(exports, "__esModule", { value: true });
37
- exports.REMOTE_LAUNCH_ENV_KEYS = exports.PUBLIC_TUNNEL_PROVIDERS = exports.REMOTE_PROVIDER_ALIASES = exports.MAX_PAIRING_TTL_MS = exports.MIN_PAIRING_TTL_MS = exports.DEFAULT_PAIRING_EXPIRES = exports.DEFAULT_REMOTE_EXPIRES = void 0;
50
+ exports.REMOTE_INGRESS_HOST = exports.DEFAULT_REMOTE_AUTH_SCOPE = exports.REMOTE_AUTH_SCOPES = exports.REMOTE_ONLY_LAUNCH_ENV_KEYS = exports.REMOTE_LAUNCH_ENV_KEYS = exports.PUBLIC_TUNNEL_PROVIDERS = exports.REMOTE_PROVIDER_ALIASES = exports.MAX_PAIRING_TTL_MS = exports.MIN_PAIRING_TTL_MS = exports.DEFAULT_PAIRING_EXPIRES = exports.DEFAULT_REMOTE_EXPIRES = void 0;
38
51
  exports.buildRemoteLaunchEnv = buildRemoteLaunchEnv;
39
52
  exports.applyRemoteLaunchEnv = applyRemoteLaunchEnv;
40
53
  exports.parsePairingDuration = parsePairingDuration;
54
+ exports.parseAuthScope = parseAuthScope;
55
+ exports.resolveEffectiveBind = resolveEffectiveBind;
56
+ exports.isLoopbackBind = isLoopbackBind;
41
57
  exports.selectProvider = selectProvider;
42
58
  exports.runRemoteUp = runRemoteUp;
43
59
  exports.buildPairingUrl = buildPairingUrl;
@@ -56,6 +72,7 @@ const logger_1 = require("../utils/logger");
56
72
  const prompt_1 = require("../utils/prompt");
57
73
  const qr_terminal_1 = require("../utils/qr-terminal");
58
74
  const remote_state_1 = require("../utils/remote-state");
75
+ const server_url_1 = require("../utils/server-url");
59
76
  const security_logger_1 = require("../utils/security-logger");
60
77
  const server_ready_1 = require("../utils/server-ready");
61
78
  const remote_1 = require("../../lib/remote");
@@ -106,6 +123,12 @@ exports.PUBLIC_TUNNEL_PROVIDERS = ['cloudflare-quick'];
106
123
  * put here would be readable by the very agents CommandMate is driving
107
124
  * (§7.2).
108
125
  *
126
+ * - `CM_AUTH_SCOPE` — the `--auth` value (#2489). Not a secret and not a path:
127
+ * the string `all` or `remote-only`, which is what `middleware.ts` and
128
+ * `ws-server.ts` read to decide whether the local listener may skip the
129
+ * token. Always exported, including for `all`, so the server is told what
130
+ * was chosen rather than inferring it from a missing variable.
131
+ *
109
132
  * `tests/unit/cli/commands/remote-launch-env-1937.test.ts` holds the measured
110
133
  * set to this declaration in BOTH directions, the way
111
134
  * `agent-launch-plan-secrets-1933.test.ts` does for `prepareLaunch`. Adding a
@@ -115,6 +138,19 @@ exports.REMOTE_LAUNCH_ENV_KEYS = [
115
138
  'CM_AUTH_TOKEN_HASH',
116
139
  'CM_AUTH_EXPIRE',
117
140
  'CM_REMOTE_PAIRING_FILE',
141
+ 'CM_AUTH_SCOPE',
142
+ ];
143
+ /**
144
+ * The measured set for `--auth remote-only` (Issue #2489).
145
+ *
146
+ * One key more than {@link REMOTE_LAUNCH_ENV_KEYS}, and declared separately
147
+ * rather than as an "optional extra" so the exact-set measurement keeps working
148
+ * in BOTH directions for BOTH modes. A conditional key checked against a single
149
+ * list would be a list that describes neither mode.
150
+ */
151
+ exports.REMOTE_ONLY_LAUNCH_ENV_KEYS = [
152
+ ...exports.REMOTE_LAUNCH_ENV_KEYS,
153
+ 'CM_REMOTE_INGRESS_PORT',
118
154
  ];
119
155
  /**
120
156
  * Build the exact environment `remote` contributes to the server it starts.
@@ -124,15 +160,20 @@ exports.REMOTE_LAUNCH_ENV_KEYS = [
124
160
  * {@link REMOTE_LAUNCH_ENV_KEYS} — "what did remote add" is otherwise only
125
161
  * observable by diffing a global.
126
162
  *
127
- * @param input - Hash, expiry and handoff path
128
- * @returns The three variables, and nothing else
163
+ * @param input - Hash, expiry, handoff path and auth scope
164
+ * @returns Those variables, and nothing else
129
165
  */
130
166
  function buildRemoteLaunchEnv(input) {
131
- return {
167
+ const env = {
132
168
  CM_AUTH_TOKEN_HASH: input.authTokenHash,
133
169
  CM_AUTH_EXPIRE: input.authExpire,
134
170
  CM_REMOTE_PAIRING_FILE: input.pairingFilePath,
171
+ CM_AUTH_SCOPE: input.authScope,
135
172
  };
173
+ if (input.authScope === 'remote-only' && input.remoteIngressPort !== undefined) {
174
+ env.CM_REMOTE_INGRESS_PORT = String(input.remoteIngressPort);
175
+ }
176
+ return env;
136
177
  }
137
178
  /**
138
179
  * Copy the launch env into `process.env`, where `daemon.ts` reads it.
@@ -187,6 +228,79 @@ function parsePairingDuration(value) {
187
228
  }
188
229
  return ms;
189
230
  }
231
+ /**
232
+ * What the user may type after `--auth`, and the default when they type nothing.
233
+ *
234
+ * Issue #2489. `all` is the default deliberately: `remote-only` leaves every
235
+ * process on this machine — including the agents CommandMate itself runs in tmux
236
+ * — able to reach the API without a token, which is the same exposure as a
237
+ * CommandMate started without `--auth` at all, and weaker than `all`. Opting
238
+ * into that is the user's call to make, not a default to inherit.
239
+ */
240
+ exports.REMOTE_AUTH_SCOPES = ['all', 'remote-only'];
241
+ /** Auth scope applied when `--auth` is not given (Issue #2489). */
242
+ exports.DEFAULT_REMOTE_AUTH_SCOPE = 'all';
243
+ /**
244
+ * Where the `remote-only` ingress listener lives (Issue #2489).
245
+ *
246
+ * The literal loopback address, matching `REMOTE_INGRESS_BIND` in `server.ts`:
247
+ * both Providers dial `http://127.0.0.1:<port>`, and the listener must not be
248
+ * reachable from anywhere else.
249
+ */
250
+ exports.REMOTE_INGRESS_HOST = '127.0.0.1';
251
+ /**
252
+ * Loopback bind addresses that keep the local listener off the network.
253
+ *
254
+ * Issue #2489: `remote-only` makes the local listener unauthenticated, so it is
255
+ * refused when the server would bind anywhere a second machine can reach —
256
+ * otherwise "local means trusted" quietly becomes "the LAN means trusted".
257
+ * `server.ts` re-checks this against its own effective `CM_BIND`; this copy is
258
+ * what turns the mistake into an exit code instead of a degraded server.
259
+ */
260
+ const LOOPBACK_BINDS = ['127.0.0.1', 'localhost', '::1', '[::1]'];
261
+ /**
262
+ * Parse an `--auth` value.
263
+ *
264
+ * @param value - Raw flag value; undefined means the flag was not given
265
+ * @returns The scope to use
266
+ * @throws Error naming the valid values, for CONFIG_ERROR
267
+ */
268
+ function parseAuthScope(value) {
269
+ if (value === undefined)
270
+ return exports.DEFAULT_REMOTE_AUTH_SCOPE;
271
+ const normalized = value.trim().toLowerCase();
272
+ const match = exports.REMOTE_AUTH_SCOPES.find((scope) => scope === normalized);
273
+ if (match === undefined) {
274
+ throw new Error(`Unknown --auth value: "${value}". Valid values: ${exports.REMOTE_AUTH_SCOPES.join(', ')}.`);
275
+ }
276
+ return match;
277
+ }
278
+ /**
279
+ * The bind address the server this session starts will actually listen on.
280
+ *
281
+ * Read through `loadEffectiveEnv()` rather than `process.env` because that is
282
+ * what `daemon.start()` hands the child: it layers `.env` OVER the exported
283
+ * environment, so a `CM_BIND=0.0.0.0` written in `~/.commandmate/.env` is
284
+ * invisible to `process.env` here and decisive for the server. Checking the
285
+ * wrong one is how this guard would pass while the thing it guards against
286
+ * happened anyway.
287
+ *
288
+ * This is the one place `remote` reads `CM_BIND`, and only in `remote-only`
289
+ * mode — §9.1's "remote neither reads nor writes CM_BIND" still holds for every
290
+ * other path, and `remote` never writes it.
291
+ *
292
+ * @returns The effective `CM_BIND`, defaulted the way `server.ts` defaults it
293
+ */
294
+ function resolveEffectiveBind() {
295
+ return (0, server_url_1.loadEffectiveEnv)().CM_BIND || '127.0.0.1';
296
+ }
297
+ /**
298
+ * @param bind - An effective `CM_BIND` value
299
+ * @returns true when nothing outside this machine can reach that address
300
+ */
301
+ function isLoopbackBind(bind) {
302
+ return LOOPBACK_BINDS.includes(bind.trim().toLowerCase());
303
+ }
190
304
  /**
191
305
  * Apply the Provider selection rule (§6.2).
192
306
  *
@@ -376,6 +490,33 @@ async function runRemoteUp(options) {
376
490
  logger.error(`Invalid --pairing-expires value: ${(0, types_1.getErrorMessage)(error)}`);
377
491
  return types_1.ExitCode.CONFIG_ERROR;
378
492
  }
493
+ // Issue #2489. Both checks happen BEFORE any Provider is probed: neither an
494
+ // unknown `--auth` value nor a LAN-facing bind should cost the user a
495
+ // `tailscale serve` that then has to be reverted.
496
+ let authScope;
497
+ try {
498
+ authScope = parseAuthScope(options.auth);
499
+ }
500
+ catch (error) {
501
+ logger.error((0, types_1.getErrorMessage)(error));
502
+ return types_1.ExitCode.CONFIG_ERROR;
503
+ }
504
+ if (authScope === 'remote-only') {
505
+ const bind = resolveEffectiveBind();
506
+ if (!isLoopbackBind(bind)) {
507
+ logger.error(`--auth remote-only requires a loopback CM_BIND, but this server would bind to ${bind}.`);
508
+ logger.info('In this mode the local listener answers without a token, so a non-loopback bind would ' +
509
+ 'extend that to every host that can reach this machine.');
510
+ logger.info('Set CM_BIND=127.0.0.1, or run "commandmate remote --auth all".');
511
+ (0, security_logger_1.logSecurityEvent)({
512
+ timestamp: new Date().toISOString(),
513
+ command: 'remote',
514
+ action: 'failure',
515
+ details: `up: remote-only refused (CM_BIND=${bind})`,
516
+ });
517
+ return types_1.ExitCode.CONFIG_ERROR;
518
+ }
519
+ }
379
520
  // 1. Probe every Provider, then apply the selection rule here (§6.2).
380
521
  const candidates = await (0, remote_1.detectRemoteProviders)();
381
522
  const selection = selectProvider(candidates, options.provider);
@@ -416,9 +557,31 @@ async function runRemoteUp(options) {
416
557
  const sessionToken = (0, auth_1.generateToken)();
417
558
  const authTokenHash = (0, auth_1.hashToken)(sessionToken);
418
559
  const pairing = (0, pairing_code_1.createPairingHandoff)({ ttlMs: pairingTtlMs, sessionToken });
560
+ // 4b. Issue #2489: in `remote-only` the Provider gets a socket of its own, so
561
+ // "which listener did this arrive on" can answer "does this need a token".
562
+ // Picked here rather than by the server because the Provider is started from
563
+ // this process and has to be pointed somewhere; the server re-validates the
564
+ // value and falls back to authenticating everything if it cannot use it.
565
+ let remoteIngressPort;
566
+ if (authScope === 'remote-only') {
567
+ try {
568
+ remoteIngressPort = await (0, remote_1.findFreeLoopbackPort)();
569
+ }
570
+ catch (error) {
571
+ logger.error(`Could not reserve a loopback port for the remote listener: ${(0, types_1.getErrorMessage)(error)}`);
572
+ (0, pairing_code_1.consumePairingHandoff)(pairing.filePath);
573
+ return types_1.ExitCode.START_FAILED;
574
+ }
575
+ }
419
576
  // 5. Start the server through the existing exit-free core. Not reimplemented:
420
577
  // `runStart` already owns .env loading, port allocation and the daemon spawn.
421
- const restoreEnv = applyRemoteLaunchEnv(buildRemoteLaunchEnv({ authTokenHash, authExpire: expires, pairingFilePath: pairing.filePath }));
578
+ const restoreEnv = applyRemoteLaunchEnv(buildRemoteLaunchEnv({
579
+ authTokenHash,
580
+ authExpire: expires,
581
+ pairingFilePath: pairing.filePath,
582
+ authScope,
583
+ remoteIngressPort,
584
+ }));
422
585
  logger.info('Starting the CommandMate server...');
423
586
  const started = await (0, start_1.runStart)({ daemon: true, port: options.port });
424
587
  if (!started.ok) {
@@ -442,11 +605,31 @@ async function runRemoteUp(options) {
442
605
  return types_1.ExitCode.START_FAILED;
443
606
  }
444
607
  logger.success(`Server: ${started.url} (pid ${started.pid})`);
608
+ // 6b. Issue #2489: the remote listener is fatal in exactly the same way. The
609
+ // server refuses `remote-only` rather than dying when it cannot open this
610
+ // socket — it must not take the user's local session down — so its absence
611
+ // reaches us as a port that never answers, and publishing a URL that fronts
612
+ // it would hand the user a QR code for nothing. Roll the whole session back.
613
+ if (remoteIngressPort !== undefined) {
614
+ if (!(await (0, server_ready_1.waitForServer)(exports.REMOTE_INGRESS_HOST, remoteIngressPort))) {
615
+ logger.error(`The server did not open its remote listener on ${exports.REMOTE_INGRESS_HOST}:${remoteIngressPort} in time.`);
616
+ logger.info('Nothing was published. Re-run, or use "commandmate remote --auth all".');
617
+ await rollback(daemonManager, pairing.filePath, restoreEnv);
618
+ return types_1.ExitCode.START_FAILED;
619
+ }
620
+ logger.success(`Remote listener: ${exports.REMOTE_INGRESS_HOST}:${remoteIngressPort} (authentication required)`);
621
+ }
445
622
  // 7. Open the outside door. The Provider is handed 127.0.0.1 explicitly; it
446
623
  // never reads CM_BIND (§9.1).
624
+ //
625
+ // Issue #2489: in `remote-only` it is handed the SEPARATE loopback port
626
+ // instead. That substitution is the whole mechanism — the Provider reaches
627
+ // only the listener that always authenticates, and the port the user's own
628
+ // browser and CLI dial is never published.
629
+ const publishedPort = remoteIngressPort ?? endpoint.port;
447
630
  let handle;
448
631
  try {
449
- handle = await provider.start({ port: endpoint.port, signal: new AbortController().signal });
632
+ handle = await provider.start({ port: publishedPort, signal: new AbortController().signal });
450
633
  }
451
634
  catch (error) {
452
635
  logger.error(`Provider ${provider.id} failed to start: ${(0, types_1.getErrorMessage)(error)}`);
@@ -472,7 +655,12 @@ async function runRemoteUp(options) {
472
655
  expiresAt: now + expiresMs,
473
656
  pairing: { filePath: pairing.filePath, expiresAt: pairing.expiresAt },
474
657
  handle,
475
- server: { pid: started.pid ?? null, port: endpoint.port },
658
+ server: {
659
+ pid: started.pid ?? null,
660
+ port: endpoint.port,
661
+ remoteIngressPort: remoteIngressPort ?? null,
662
+ },
663
+ authScope,
476
664
  };
477
665
  try {
478
666
  (0, remote_state_1.writeRemoteState)(state);
@@ -493,7 +681,7 @@ async function runRemoteUp(options) {
493
681
  command: 'remote',
494
682
  action: 'success',
495
683
  // Neither the pairing code nor the token appears here (§5.2).
496
- details: `up: provider=${handle.provider} port=${endpoint.port}`,
684
+ details: `up: provider=${handle.provider} port=${publishedPort} auth=${authScope}`,
497
685
  });
498
686
  if (options.json) {
499
687
  // NOT a pure-JSON stream, and saying so is better than implying otherwise:
@@ -504,13 +692,19 @@ async function runRemoteUp(options) {
504
692
  console.log(JSON.stringify({
505
693
  action: 'up',
506
694
  provider: state.provider,
695
+ authScope: state.authScope ?? exports.DEFAULT_REMOTE_AUTH_SCOPE,
507
696
  url: state.url,
508
697
  // The one-time display, in the form a machine caller can use. `status`
509
698
  // never emits this field - the code is shown by `up` or not at all.
510
699
  pairingUrl,
511
700
  expiresAt: new Date(state.expiresAt).toISOString(),
512
701
  pairing: { expiresAt: new Date(state.pairing.expiresAt).toISOString() },
513
- server: { pid: state.server.pid, port: state.server.port, url: started.url },
702
+ server: {
703
+ pid: state.server.pid,
704
+ port: state.server.port,
705
+ url: started.url,
706
+ remoteIngressPort: state.server.remoteIngressPort ?? null,
707
+ },
514
708
  }, null, 2));
515
709
  }
516
710
  return types_1.ExitCode.SUCCESS;
@@ -685,6 +879,9 @@ async function runRemoteStatus(options) {
685
879
  action: 'status',
686
880
  remote: {
687
881
  provider: state.provider,
882
+ // Issue #2489: what `--auth` this session ran with. A record written
883
+ // before #2489 has no such field and was, by construction, `all`.
884
+ authScope: state.authScope ?? exports.DEFAULT_REMOTE_AUTH_SCOPE,
688
885
  // The URL is public information; the pairing code and the token are
689
886
  // not, and neither appears here or anywhere else in `status` (§5.4).
690
887
  url: state.url,
@@ -696,6 +893,10 @@ async function runRemoteStatus(options) {
696
893
  state: pairing,
697
894
  expiresAt: new Date(state.pairing.expiresAt).toISOString(),
698
895
  },
896
+ server: {
897
+ port: state.server.port,
898
+ remoteIngressPort: state.server.remoteIngressPort ?? null,
899
+ },
699
900
  },
700
901
  server,
701
902
  }, null, 2));
@@ -703,6 +904,7 @@ async function runRemoteStatus(options) {
703
904
  else {
704
905
  logger.info(`Provider: ${state.provider}`);
705
906
  logger.info(`URL: ${state.url}`);
907
+ logger.info(`Auth scope: ${describeAuthScope(state)}`);
706
908
  logger.info(`Remote expires: ${new Date(state.expiresAt).toISOString()} (${formatRemaining(state.expiresAt - now)})`);
707
909
  logger.info(`Pairing: ${pairing}`);
708
910
  logger.info(`Server: ${describeServer(server)}`);
@@ -718,6 +920,26 @@ async function runRemoteStatus(options) {
718
920
  }
719
921
  return types_1.ExitCode.SUCCESS;
720
922
  }
923
+ /**
924
+ * Render the `Auth scope:` line (Issue #2489).
925
+ *
926
+ * `remote-only` says where the exemption applies as well as that it exists: the
927
+ * difference between the two ports is the entire security boundary, so a line
928
+ * that named only the mode would leave the reader to guess which socket is
929
+ * which.
930
+ *
931
+ * @param state - The recorded session
932
+ * @returns The text after `Auth scope:`
933
+ */
934
+ function describeAuthScope(state) {
935
+ const scope = state.authScope ?? exports.DEFAULT_REMOTE_AUTH_SCOPE;
936
+ if (scope !== 'remote-only') {
937
+ return 'all (every request needs the paired token)';
938
+ }
939
+ const ingress = state.server.remoteIngressPort;
940
+ return (`remote-only (provider port ${ingress ?? 'unknown'} needs the paired token; ` +
941
+ `http://${exports.REMOTE_INGRESS_HOST}:${state.server.port} on this machine does not)`);
942
+ }
721
943
  /**
722
944
  * @param server - Daemon status, or null when there is no PID file
723
945
  * @returns The `Server:` line
@@ -839,6 +1061,7 @@ function createRemoteCommand() {
839
1061
  .option('--pairing-expires <duration>', `Pairing code TTL, 1m-24h (default: ${exports.DEFAULT_PAIRING_EXPIRES})`)
840
1062
  .option('-p, --port <number>', 'Port for the server to expose', parseInt)
841
1063
  .option('--yes', 'Approve creating a public tunnel without prompting (required when non-interactive)')
1064
+ .option('--auth <scope>', `How far authentication reaches: all or remote-only (default: ${exports.DEFAULT_REMOTE_AUTH_SCOPE})`)
842
1065
  .option('--json', 'JSON output')
843
1066
  // Deliberately absent: --token (remote mints its own; see the file header)
844
1067
  // and every --auto-yes flag (§5.5).
@@ -350,6 +350,15 @@ export interface RemoteOptions {
350
350
  port?: number;
351
351
  /** Approve creating a public tunnel without prompting */
352
352
  yes?: boolean;
353
+ /**
354
+ * Issue #2489: how far authentication reaches — `all` (default) or `remote-only`.
355
+ *
356
+ * Typed as the raw string commander hands over, not a union: an unknown value
357
+ * has to reach `runRemoteUp` to be rejected with CONFIG_ERROR, and a union
358
+ * here would make that the type system's silent problem instead of the user's
359
+ * visible one.
360
+ */
361
+ auth?: string;
353
362
  json?: boolean;
354
363
  }
355
364
  /** send command options [Issue #518, #576] */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/types/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/api-client.ts"],"names":[],"mappings":"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"}
@@ -116,8 +116,18 @@ function handleApiError(error, status, payload, context) {
116
116
  };
117
117
  case 401:
118
118
  case 403:
119
+ // Issue #2489: the second sentence is the one that matters during a
120
+ // `commandmate remote` session. `remote` mints the token, hands its
121
+ // plaintext to the phone once through the pairing handoff and deletes
122
+ // it — so "set CM_AUTH_TOKEN" names a value the operator has no way to
123
+ // obtain, and following that advice is a dead end (#2489's report spent
124
+ // a session there). `--auth remote-only` is the exit: it leaves the
125
+ // loopback listener this client dials unauthenticated while the
126
+ // Provider's listener keeps demanding the token.
119
127
  return {
120
- message: 'Authentication failed. Use --token <token> or set CM_AUTH_TOKEN environment variable.',
128
+ message: 'Authentication failed. Use --token <token> or set CM_AUTH_TOKEN environment variable. ' +
129
+ 'During a "commandmate remote" session the token is only ever shown to the paired phone — ' +
130
+ 'restart it with "commandmate remote --auth remote-only" to use the CLI from this machine without one.',
121
131
  exitCode: types_1.ExitCode.CONFIG_ERROR,
122
132
  };
123
133
  case 404:
@@ -45,6 +45,15 @@ export declare const REMOTE_STATE_FILE_MODE = 384;
45
45
  * teardown driven by a record it does not understand.
46
46
  */
47
47
  export declare const REMOTE_STATE_SCHEMA_VERSION = 1;
48
+ /**
49
+ * How far authentication reached for one remote session (Issue #2489).
50
+ *
51
+ * - `all` — every listener authenticates. The pre-#2489 behaviour and the
52
+ * default, and what an older state file (which has no such field) means.
53
+ * - `remote-only` — the Provider's listener authenticates; the loopback
54
+ * listener the user's own browser and CLI talk to does not.
55
+ */
56
+ export type RemoteAuthScope = 'all' | 'remote-only';
48
57
  /** What one remote session recorded for the commands that come after it. */
49
58
  export interface RemoteState {
50
59
  schemaVersion: number;
@@ -76,7 +85,30 @@ export interface RemoteState {
76
85
  server: {
77
86
  pid: number | null;
78
87
  port: number;
88
+ /**
89
+ * Issue #2489: the extra loopback port the Provider was pointed at, when
90
+ * `--auth remote-only` was used. Null (or absent, in a file written before
91
+ * #2489) when the Provider fronts `port` itself.
92
+ *
93
+ * Recorded for `remote status` only. `remote stop` does not close it: the
94
+ * listener lives in the server process and there is no way to retract one
95
+ * socket without restarting the server, which §5.3 forbids — stopping the
96
+ * server would take the local session down with the remote one. Closing the
97
+ * Provider is what makes it unreachable, and the listener itself is
98
+ * loopback-only and authenticates every request, so what is left behind is a
99
+ * socket no less protected than the main port under `--auth all`.
100
+ */
101
+ remoteIngressPort?: number | null;
79
102
  };
103
+ /**
104
+ * Issue #2489: the `--auth` value this session ran with.
105
+ *
106
+ * Optional so a state file written before #2489 still validates — `remote
107
+ * stop` reading `null` for an unrecognised record would orphan a live tunnel,
108
+ * which is a far worse failure than a missing display field. Absent reads as
109
+ * `all`, which is what those sessions were.
110
+ */
111
+ authScope?: RemoteAuthScope;
80
112
  }
81
113
  /**
82
114
  * Absolute path of the state file.
@@ -1 +1 @@
1
- {"version":3,"file":"remote-state.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/remote-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEvE,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,gBAAgB,CAAC;AAEpD,qEAAqE;AACrE,eAAO,MAAM,sBAAsB,MAAQ,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,4EAA4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,OAAO,EAAE;QACP,sEAAsE;QACtE,QAAQ,EAAE,MAAM,CAAC;QACjB,8EAA8E;QAC9E,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,gFAAgF;IAChF,MAAM,EAAE,YAAY,CAAC;IACrB,4DAA4D;IAC5D,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAa5E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAkBrE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAMzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAqBlE"}
1
+ {"version":3,"file":"remote-state.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/remote-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEvE,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,gBAAgB,CAAC;AAEpD,qEAAqE;AACrE,eAAO,MAAM,sBAAsB,MAAQ,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,aAAa,CAAC;AAEpD,4EAA4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,OAAO,EAAE;QACP,sEAAsE;QACtE,QAAQ,EAAE,MAAM,CAAC;QACjB,8EAA8E;QAC9E,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,gFAAgF;IAChF,MAAM,EAAE,YAAY,CAAC;IACrB,4DAA4D;IAC5D,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb;;;;;;;;;;;;WAYG;QACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,CAAC;IACF;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAa5E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAkBrE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAMzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAqClE"}
@@ -164,6 +164,18 @@ function isRemoteState(value) {
164
164
  return false;
165
165
  if (typeof server.port !== 'number')
166
166
  return false;
167
+ // Issue #2489: present-and-wrong is rejected; absent is accepted and reads as
168
+ // "this session predates --auth", which is the compatibility this field needs.
169
+ if (server.remoteIngressPort !== undefined &&
170
+ server.remoteIngressPort !== null &&
171
+ typeof server.remoteIngressPort !== 'number') {
172
+ return false;
173
+ }
174
+ if (record.authScope !== undefined &&
175
+ record.authScope !== 'all' &&
176
+ record.authScope !== 'remote-only') {
177
+ return false;
178
+ }
167
179
  return isRemoteHandle(record.handle);
168
180
  }
169
181
  /**