lim 0.41.0 → 0.42.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.
@@ -158,8 +158,8 @@ class BaseCommand extends core_1.Command {
158
158
  if (!this.parsedFlags?.['api-key'] && !config.apiKey) {
159
159
  this.error('Not authenticated. Run `lim login` first, or provide --api-key.');
160
160
  }
161
- // An explicit key (--api-key, LIM_API_KEY, tunnel run --token) stays in
162
- // use after a login, so logging in cannot fix its rejection.
161
+ // An explicit key (--api-key, LIM_API_KEY) stays in use after a login,
162
+ // so logging in cannot fix its rejection.
163
163
  if (this.parsedFlags?.['api-key']) {
164
164
  this.error('The API key was rejected; it may be revoked or expired.');
165
165
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-command.js","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-command.js","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"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"}
@@ -22,9 +22,14 @@ export default class TunnelRun extends BaseCommand {
22
22
  };
23
23
  run(): Promise<void>;
24
24
  /**
25
- * The tunnel to run: the one a tunnel key names, the one --name names, or
26
- * a throwaway tunnel that --name and --selector create.
25
+ * Runs the connector with the tunnel's token until Ctrl+C or a terminal
26
+ * error, and deletes a quick tunnel this command created on the way out.
27
27
  */
28
- private resolveTunnel;
28
+ private serve;
29
+ /**
30
+ * Creates the quick tunnel --name and --selector ask for, with its own
31
+ * token, using the admin's credential.
32
+ */
33
+ private createQuick;
29
34
  }
30
35
  //# sourceMappingURL=run.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/tunnel/run.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAajD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAA+D;IAC7E,MAAM,CAAC,WAAW,SAQL;IACb,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;MAmCV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA2D1B;;;OAGG;YACW,aAAa;CAwC5B"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/tunnel/run.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAmBjD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAA+D;IAC7E,MAAM,CAAC,WAAW,SAOyD;IAC3E,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;MAoCV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C1B;;;OAGG;YACW,KAAK;IAmDnB;;;OAGG;YACW,WAAW;CAyB1B"}
@@ -11,8 +11,7 @@ const VERSION = require('../../../package.json').version;
11
11
  class TunnelRun extends base_command_1.BaseCommand {
12
12
  async run() {
13
13
  const { flags } = await this.parse(TunnelRun);
14
- // The tunnel key is an API key; it wins over a key already in the shell.
15
- this.setParsedFlags(flags.token ? { ...flags, 'api-key': flags.token } : flags);
14
+ this.setParsedFlags(flags);
16
15
  let inspection;
17
16
  try {
18
17
  inspection = (0, tunnel_inspection_flags_1.tunnelInspectionContext)(flags);
@@ -21,16 +20,46 @@ class TunnelRun extends base_command_1.BaseCommand {
21
20
  this.error(error instanceof Error ? error.message : String(error));
22
21
  }
23
22
  const selectors = flags.selector?.length ? (0, tunnel_process_1.parseTunnelSelectors)(flags.selector) : undefined;
23
+ // A tunnel token names its organization and tunnel and is the only
24
+ // credential the connector needs. --api-key, LIM_API_KEY and lim login
25
+ // stay an admin's, which only create quick tunnels.
26
+ if (flags.token) {
27
+ const claims = (0, backend_1.tunnelTokenClaims)(flags.token);
28
+ if (!claims) {
29
+ this.error('--token takes a tunnel token from the console (Network) or the API; this is not one.');
30
+ }
31
+ if (flags.name || selectors) {
32
+ this.error("A tunnel token runs its own tunnel as created; drop --name and --selector, and edit the tunnel's " +
33
+ 'selectors in the console.');
34
+ }
35
+ await this.serve({ ...claims, token: flags.token, created: false }, flags, inspection);
36
+ return;
37
+ }
38
+ if (!flags.name) {
39
+ this.error("Run with the tunnel's token (--token or LIM_TUNNEL_TOKEN), or pass --name and --selector for a " +
40
+ 'quick tunnel.');
41
+ }
42
+ const name = flags.name;
24
43
  await this.withAuth(async () => {
25
- const { organizationId, tunnelId: keyTunnelId } = await (0, backend_1.whoAmITunnel)(this.client);
26
- const tunnel = await this.resolveTunnel(organizationId, keyTunnelId, flags.name, selectors);
27
- // A tunnel key's tunnel learns its name from the first active.
28
- let name = flags.name;
44
+ const organizationId = await (0, backend_1.quickTunnelOrganization)(this.client);
45
+ const tunnel = await this.createQuick(organizationId, name, selectors);
46
+ await this.serve({ organizationId, tunnelId: tunnel.id, token: tunnel.token, created: true }, flags, inspection);
47
+ });
48
+ }
49
+ /**
50
+ * Runs the connector with the tunnel's token until Ctrl+C or a terminal
51
+ * error, and deletes a quick tunnel this command created on the way out.
52
+ */
53
+ async serve(tunnel, flags, inspection) {
54
+ // A tunnel token's tunnel learns its name from the first active.
55
+ let name = flags.name;
56
+ let stop;
57
+ try {
29
58
  const connector = (0, api_1.runTunnel)({
30
- apiKey: this.client.apiKey ?? '',
59
+ token: tunnel.token,
31
60
  baseURL: this.client.baseURL,
32
- organizationId,
33
- tunnelId: tunnel.id,
61
+ organizationId: tunnel.organizationId,
62
+ tunnelId: tunnel.tunnelId,
34
63
  inspection: (0, tunnel_inspection_flags_1.tunnelInspectionConfig)(inspection),
35
64
  replace: flags.replace,
36
65
  clientVersion: VERSION,
@@ -43,89 +72,77 @@ class TunnelRun extends base_command_1.BaseCommand {
43
72
  this.info((0, tunnel_run_1.formatTunnelConnectorEvent)(name, event, tunnel.created));
44
73
  },
45
74
  });
46
- // close() says bye, which also takes a throwaway tunnel away.
47
- const stop = () => void connector.close();
75
+ // close() says bye, which also takes a quick tunnel away.
76
+ stop = () => void connector.close();
48
77
  process.once('SIGINT', stop);
49
78
  process.once('SIGTERM', stop);
50
- try {
51
- await connector.closed;
52
- }
53
- catch (error) {
54
- this.error(error instanceof Error ? error.message : String(error));
55
- }
56
- finally {
79
+ await connector.closed;
80
+ }
81
+ catch (error) {
82
+ this.error(error instanceof Error ? error.message : String(error));
83
+ }
84
+ finally {
85
+ if (stop) {
57
86
  process.off('SIGINT', stop);
58
87
  process.off('SIGTERM', stop);
59
- // A connector stopped while connecting, refused, or out of retries
60
- // never said bye, so its throwaway tunnel would hold the name until
61
- // the hub sweeps it.
62
- if (tunnel.created) {
63
- await (0, backend_1.deleteQuickTunnel)(this.client, organizationId, tunnel.id).catch((error) => this.warn(`${error instanceof Error ? error.message : String(error)}; it goes away within ten minutes.`));
64
- }
65
88
  }
66
- });
89
+ // A connector stopped while connecting, refused, or out of retries
90
+ // never said bye, so its quick tunnel would hold the name until the
91
+ // hub sweeps it.
92
+ if (tunnel.created) {
93
+ await (0, backend_1.deleteQuickTunnel)(this.client, tunnel.organizationId, tunnel.tunnelId).catch((error) => this.warn(`${error instanceof Error ? error.message : String(error)}; it goes away within ten minutes.`));
94
+ }
95
+ }
67
96
  }
68
97
  /**
69
- * The tunnel to run: the one a tunnel key names, the one --name names, or
70
- * a throwaway tunnel that --name and --selector create.
98
+ * Creates the quick tunnel --name and --selector ask for, with its own
99
+ * token, using the admin's credential.
71
100
  */
72
- async resolveTunnel(organizationId, keyTunnelId, name, selectors) {
73
- if (keyTunnelId) {
74
- if (name || selectors) {
75
- this.error("A tunnel key runs its own tunnel as created; drop --name and --selector, and edit the tunnel's " +
76
- 'selectors in the console.');
77
- }
78
- return { id: keyTunnelId, created: false };
79
- }
80
- if (!name) {
81
- this.error("Run with the tunnel's key (--token), or pass --name with an admin's credential.");
82
- }
101
+ async createQuick(organizationId, name, selectors) {
83
102
  const existing = await (0, backend_1.findTunnel)(this.client, organizationId, name);
84
103
  if (existing?.ephemeral) {
85
- // A throwaway tunnel is its creator's alone and goes when it stops.
86
- this.error(`Tunnel ${name} is another connector's throwaway tunnel; pick another name.`);
104
+ // A quick tunnel is its creator's alone and goes when it stops.
105
+ this.error(`Tunnel ${name} is another connector's quick tunnel; pick another name.`);
87
106
  }
88
107
  if (existing) {
89
- if (selectors) {
90
- this.error(`Tunnel ${name} has its own selectors; edit them in the console instead of passing --selector.`);
91
- }
92
- return { id: existing.id, created: false };
108
+ this.error(`Tunnel ${name} runs with its own token (--token). Rotate or create its token in the console ` +
109
+ '(Network) if you no longer have it.');
93
110
  }
94
111
  if (!selectors) {
95
112
  this.error(`Tunnel ${name} does not exist. Create it in the console (Network > New tunnel), or pass --selector to ` +
96
- 'run a throwaway tunnel.');
113
+ 'run a quick tunnel.');
97
114
  }
98
115
  const created = await (0, backend_1.createQuickTunnel)(this.client, organizationId, name, selectors);
99
- return { id: created.id, created: true };
116
+ return { id: created.tunnel.id, token: created.token };
100
117
  }
101
118
  }
102
119
  TunnelRun.summary = 'Serve a persistent tunnel to every instance that names it';
103
120
  TunnelRun.description = 'Run the connector of a tunnel created in the console (Network > New tunnel) or the API, and open ' +
104
121
  'a destination tunnel to every iOS and Android instance created with --tunnel <name>, until Ctrl+C. ' +
105
- 'Run it with the tunnel key the console shows (--token); the key names its tunnel, and the ' +
106
- "tunnel's selectors decide which destinations instances reach through this machine. An admin's " +
107
- 'login runs any tunnel with --name, and --name with --selector runs a throwaway tunnel that goes ' +
108
- 'away when this connector exits. Instance tunnels stay up while the connection to Limrun ' +
109
- 'reconnects. One connector holds a tunnel at a time: others wait on standby, and --replace takes ' +
110
- 'it over.';
122
+ 'Run it with the tunnel token the console shows (--token or LIM_TUNNEL_TOKEN); the token names its tunnel, and the ' +
123
+ "tunnel's selectors decide which destinations instances reach through this machine. With an " +
124
+ "admin's login, --name and --selector run a quick tunnel that goes away when this connector " +
125
+ 'exits. Instance tunnels stay up while the connection to Limrun reconnects. One connector holds a ' +
126
+ 'tunnel at a time: others wait on standby, and --replace takes it over.';
111
127
  TunnelRun.examples = [
112
- '<%= config.bin %> tunnel run --token <tunnel key>',
113
- '<%= config.bin %> tunnel run --name staging',
128
+ '<%= config.bin %> tunnel run --token <tunnel token>',
114
129
  '<%= config.bin %> tunnel run --name scratch --selector localhost:3000',
115
130
  '<%= config.bin %> ios create --tunnel staging',
116
131
  ];
117
132
  TunnelRun.flags = {
118
133
  ...base_command_1.BaseCommand.baseFlags,
119
134
  token: core_1.Flags.string({
120
- description: 'Tunnel key from the console (Network > New tunnel). Takes precedence over --api-key and LIM_API_KEY.',
135
+ description: 'Tunnel token from the console (Network) or the API.',
136
+ env: 'LIM_TUNNEL_TOKEN',
121
137
  }),
122
138
  name: core_1.Flags.string({
123
- description: "Tunnel to run with an admin's credential. A tunnel key runs its own tunnel and needs no name.",
139
+ description: "Name of a quick tunnel to run with --selector and an admin's login. A tunnel token runs its own " +
140
+ 'tunnel and needs no name.',
124
141
  }),
125
142
  selector: core_1.Flags.string({
126
- description: 'Run a throwaway tunnel with this destination, as localhost:port, IPv4:port, [IPv6]:port, or a ' +
127
- 'private exact or *. wildcard domain, when --name names no tunnel yet. A tunnel created in the ' +
128
- 'console keeps its own selectors. Repeat for more selectors.',
143
+ description: 'Run a quick tunnel with this destination, as localhost:port, IPv4:port, [IPv6]:port, or a ' +
144
+ 'private exact or *. wildcard domain. A tunnel created in the console keeps its own selectors. ' +
145
+ 'Repeat for more selectors.',
129
146
  multiple: true,
130
147
  }),
131
148
  replace: core_1.Flags.boolean({
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/tunnel/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/tunnel/run.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,15 @@ const backend_1 = require("../../lib/backend");
10
10
  const tunnel_run_1 = require("../../lib/tunnel-run");
11
11
  jest.mock('@limrun/api', () => ({ ...jest.requireActual('@limrun/api'), runTunnel: jest.fn() }));
12
12
  jest.mock('../../lib/backend', () => ({
13
- whoAmITunnel: jest.fn(),
13
+ quickTunnelOrganization: jest.fn(),
14
14
  findTunnel: jest.fn(),
15
15
  createQuickTunnel: jest.fn(),
16
16
  deleteQuickTunnel: jest.fn(async () => { }),
17
+ tunnelTokenClaims: jest.requireActual('../../lib/backend').tunnelTokenClaims,
17
18
  }));
19
+ // A tunnel token's header and signature do not matter to the CLI; only the
20
+ // payload's claims are read.
21
+ const tunnelToken = `lim_st_eyJhbGciOiJFZERTQSJ9.${Buffer.from(JSON.stringify({ sub: 'org_1', scopes: ['tunnel:tunnel_01h455vb4pex5vsknk084sn02q:connect'] })).toString('base64url')}.c2ln`;
18
22
  beforeEach(() => jest.clearAllMocks());
19
23
  describe('tunnel run flags', () => {
20
24
  test('need neither a name nor selectors, with inspection on by default', async () => {
@@ -24,12 +28,31 @@ describe('tunnel run flags', () => {
24
28
  expect(flags.selector).toBeUndefined();
25
29
  expect(run_1.default.flags).not.toHaveProperty('har');
26
30
  });
31
+ test('read the tunnel token from LIM_TUNNEL_TOKEN, never from LIM_API_KEY', async () => {
32
+ const saved = { token: process.env['LIM_TUNNEL_TOKEN'], key: process.env['LIM_API_KEY'] };
33
+ process.env['LIM_TUNNEL_TOKEN'] = tunnelToken;
34
+ process.env['LIM_API_KEY'] = 'lim_admin';
35
+ try {
36
+ const { flags } = await core_1.Parser.parse([], { flags: run_1.default.flags });
37
+ expect(flags.token).toBe(tunnelToken);
38
+ expect(flags['api-key']).toBe('lim_admin');
39
+ }
40
+ finally {
41
+ for (const [name, value] of [
42
+ ['LIM_TUNNEL_TOKEN', saved.token],
43
+ ['LIM_API_KEY', saved.key],
44
+ ]) {
45
+ if (value === undefined)
46
+ delete process.env[name];
47
+ else
48
+ process.env[name] = value;
49
+ }
50
+ }
51
+ });
27
52
  });
28
53
  describe('tunnel run command', () => {
29
- function setup(flags, { keyTunnelId, closed = Promise.resolve() } = {}) {
30
- jest
31
- .mocked(backend_1.whoAmITunnel)
32
- .mockResolvedValue({ organizationId: 'org_1', ...(keyTunnelId ? { tunnelId: keyTunnelId } : {}) });
54
+ function setup(flags, { closed = Promise.resolve() } = {}) {
55
+ jest.mocked(backend_1.quickTunnelOrganization).mockResolvedValue('org_1');
33
56
  const close = jest.fn(async () => { });
34
57
  jest.mocked(api_1.runTunnel).mockReturnValue({ closed, close });
35
58
  const info = jest.fn();
@@ -61,15 +84,18 @@ describe('tunnel run command', () => {
61
84
  function options() {
62
85
  return jest.mocked(api_1.runTunnel).mock.calls[0][0];
63
86
  }
64
- test('runs the tunnel a tunnel key names, with the mapped options', async () => {
65
- const { command, info } = setup({}, { keyTunnelId: 'tunnel_1' });
87
+ test('runs the tunnel a tunnel token names with that token alone', async () => {
88
+ const { command, info } = setup({ token: tunnelToken });
66
89
  await command.run();
90
+ // The admin's key in the shell is never used: no backend call, and the
91
+ // connector runs with the tunnel token.
92
+ expect(backend_1.quickTunnelOrganization).not.toHaveBeenCalled();
67
93
  expect(backend_1.findTunnel).not.toHaveBeenCalled();
68
94
  expect(options()).toMatchObject({
69
- apiKey: 'lim_key',
95
+ token: tunnelToken,
70
96
  baseURL: 'https://api.example.test',
71
97
  organizationId: 'org_1',
72
- tunnelId: 'tunnel_1',
98
+ tunnelId: 'tunnel_01h455vb4pex5vsknk084sn02q',
73
99
  inspection: { enabled: true, captureBodies: true, maxBodyBytes: 1024, persist: true, ttlSeconds: 3600 },
74
100
  replace: true,
75
101
  logLevel: 'warn',
@@ -80,81 +106,95 @@ describe('tunnel run command', () => {
80
106
  expect(info).toHaveBeenCalledWith('Tunnel staging is active. Instances created with --tunnel staging attach here; press Ctrl+C to stop.');
81
107
  expect(info).toHaveBeenCalledWith('Standby: ci-1 holds tunnel staging. Waiting for it to go away; use --replace to take it over.');
82
108
  });
83
- test('runs with the key --token passes, over one in the shell', async () => {
84
- const { command } = setup({ token: 'lim_tunnel_key' }, { keyTunnelId: 'tunnel_1' });
85
- await command.run();
86
- expect(command.setParsedFlags).toHaveBeenCalledWith(expect.objectContaining({ token: 'lim_tunnel_key', 'api-key': 'lim_tunnel_key' }));
87
- });
88
- test('runs the tunnel an admin names', async () => {
89
- jest.mocked(backend_1.findTunnel).mockResolvedValue({ id: 'tunnel_2', name: 'staging', ephemeral: false });
90
- const { command } = setup({ name: 'staging' });
91
- await command.run();
92
- expect(backend_1.findTunnel).toHaveBeenCalledWith(expect.anything(), 'org_1', 'staging');
93
- expect(options()).toMatchObject({ tunnelId: 'tunnel_2' });
94
- expect(backend_1.createQuickTunnel).not.toHaveBeenCalled();
95
- expect(backend_1.deleteQuickTunnel).not.toHaveBeenCalled();
109
+ test.each([
110
+ ['an API key', 'lim_' + 'k'.repeat(48)],
111
+ ['a signed token for an instance', 'lim_st_e30.e30.c2ln'],
112
+ ])('refuses %s passed as --token', async (_, token) => {
113
+ const { command } = setup({ token });
114
+ await expect(command.run()).rejects.toThrow('--token takes a tunnel token');
115
+ expect(backend_1.quickTunnelOrganization).not.toHaveBeenCalled();
96
116
  });
97
- test('creates a throwaway tunnel for --name with --selector', async () => {
117
+ test("creates a quick tunnel for --name with --selector and runs it with the tunnel's token", async () => {
98
118
  jest.mocked(backend_1.findTunnel).mockResolvedValue(undefined);
99
- jest.mocked(backend_1.createQuickTunnel).mockResolvedValue({ id: 'tunnel_3', name: 'scratch', ephemeral: true });
119
+ jest.mocked(backend_1.createQuickTunnel).mockResolvedValue({
120
+ tunnel: { id: 'tunnel_3', name: 'scratch', ephemeral: true },
121
+ token: 'lim_st_quick',
122
+ });
100
123
  const { command, info } = setup({ name: 'scratch', selector: ['localhost:3000'] });
101
124
  await command.run();
102
125
  expect(backend_1.createQuickTunnel).toHaveBeenCalledWith(expect.anything(), 'org_1', 'scratch', ['localhost:3000']);
103
- expect(options()).toMatchObject({ tunnelId: 'tunnel_3' });
126
+ // Only tunnel tokens connect, so the admin's login never reaches the hub.
127
+ expect(options()).toMatchObject({ tunnelId: 'tunnel_3', token: 'lim_st_quick' });
104
128
  options().onEvent({ type: 'active', sessionId: 's1', name: 'scratch' });
105
129
  expect(info).toHaveBeenCalledWith(expect.stringContaining('goes away when this connector exits'));
106
130
  expect(backend_1.deleteQuickTunnel).toHaveBeenCalledWith(expect.anything(), 'org_1', 'tunnel_3');
107
131
  });
108
- test('deletes its throwaway tunnel when the connector fails', async () => {
132
+ test('deletes its quick tunnel when the connector cannot start', async () => {
109
133
  jest.mocked(backend_1.findTunnel).mockResolvedValue(undefined);
110
- jest.mocked(backend_1.createQuickTunnel).mockResolvedValue({ id: 'tunnel_3', name: 'scratch', ephemeral: true });
134
+ jest.mocked(backend_1.createQuickTunnel).mockResolvedValue({
135
+ tunnel: { id: 'tunnel_3', name: 'scratch', ephemeral: true },
136
+ token: 'lim_st_quick',
137
+ });
138
+ const { command } = setup({ name: 'scratch', selector: ['localhost:3000'] });
139
+ jest.mocked(api_1.runTunnel).mockImplementation(() => {
140
+ throw new Error('invalid header value');
141
+ });
142
+ await expect(command.run()).rejects.toThrow('invalid header value');
143
+ expect(backend_1.deleteQuickTunnel).toHaveBeenCalledWith(expect.anything(), 'org_1', 'tunnel_3');
144
+ });
145
+ test('deletes its quick tunnel when the connector fails', async () => {
146
+ jest.mocked(backend_1.findTunnel).mockResolvedValue(undefined);
147
+ jest.mocked(backend_1.createQuickTunnel).mockResolvedValue({
148
+ tunnel: { id: 'tunnel_3', name: 'scratch', ephemeral: true },
149
+ token: 'lim_st_quick',
150
+ });
111
151
  const { command } = setup({ name: 'scratch', selector: ['localhost:3000'] }, { closed: Promise.reject(new Error('tunnel scratch: unauthorized')) });
112
152
  await expect(command.run()).rejects.toThrow('tunnel scratch: unauthorized');
113
153
  expect(backend_1.deleteQuickTunnel).toHaveBeenCalledWith(expect.anything(), 'org_1', 'tunnel_3');
114
154
  });
115
155
  test.each([
116
156
  [
117
- 'a tunnel key with selectors',
118
- { selector: ['localhost:3000'] },
119
- 'tunnel_1',
120
- 'A tunnel key runs its own tunnel as created',
157
+ 'a tunnel token with selectors',
158
+ { token: tunnelToken, selector: ['localhost:3000'] },
159
+ 'A tunnel token runs its own tunnel as created',
160
+ ],
161
+ [
162
+ 'a tunnel token with a name',
163
+ { token: tunnelToken, name: 'b' },
164
+ 'A tunnel token runs its own tunnel as created',
121
165
  ],
122
- ['a tunnel key with a name', { name: 'b' }, 'tunnel_1', 'A tunnel key runs its own tunnel as created'],
123
166
  [
124
- 'no key and no name',
167
+ 'no token and no name',
125
168
  {},
126
- undefined,
127
- "Run with the tunnel's key (--token), or pass --name with an admin's credential.",
169
+ "Run with the tunnel's token (--token or LIM_TUNNEL_TOKEN), or pass --name and --selector for a quick tunnel.",
128
170
  ],
129
171
  [
130
172
  'a name that does not exist without selectors',
131
173
  { name: 'missing' },
132
- undefined,
133
174
  'Tunnel missing does not exist. Create it in the console (Network > New tunnel), or pass --selector to ' +
134
- 'run a throwaway tunnel.',
175
+ 'run a quick tunnel.',
135
176
  ],
136
- ])('refuses %s', async (_, flags, keyTunnelId, message) => {
177
+ ])('refuses %s', async (_, flags, message) => {
137
178
  jest.mocked(backend_1.findTunnel).mockResolvedValue(undefined);
138
- const { command } = setup(flags, keyTunnelId ? { keyTunnelId } : {});
179
+ const { command } = setup(flags);
139
180
  await expect(command.run()).rejects.toThrow(message);
140
181
  expect(api_1.runTunnel).not.toHaveBeenCalled();
141
182
  });
142
- test('refuses selectors for a tunnel that has its own', async () => {
183
+ test.each([[{ name: 'staging' }], [{ name: 'staging', selector: ['localhost:3000'] }]])('refuses to run a console-created tunnel without its token (%j)', async (flags) => {
143
184
  jest.mocked(backend_1.findTunnel).mockResolvedValue({ id: 'tunnel_2', name: 'staging', ephemeral: false });
144
- const { command } = setup({ name: 'staging', selector: ['localhost:3000'] });
145
- await expect(command.run()).rejects.toThrow('Tunnel staging has its own selectors');
185
+ const { command } = setup(flags);
186
+ await expect(command.run()).rejects.toThrow('Tunnel staging runs with its own token (--token)');
187
+ expect(api_1.runTunnel).not.toHaveBeenCalled();
188
+ expect(backend_1.createQuickTunnel).not.toHaveBeenCalled();
146
189
  });
147
- test.each([[{ name: 'scratch' }], [{ name: 'scratch', selector: ['localhost:3000'] }]])("refuses another connector's throwaway tunnel (%j)", async (flags) => {
190
+ test.each([[{ name: 'scratch' }], [{ name: 'scratch', selector: ['localhost:3000'] }]])("refuses another connector's quick tunnel (%j)", async (flags) => {
148
191
  jest.mocked(backend_1.findTunnel).mockResolvedValue({ id: 'tunnel_3', name: 'scratch', ephemeral: true });
149
192
  const { command } = setup(flags);
150
- await expect(command.run()).rejects.toThrow("Tunnel scratch is another connector's throwaway tunnel");
193
+ await expect(command.run()).rejects.toThrow("Tunnel scratch is another connector's quick tunnel");
151
194
  expect(api_1.runTunnel).not.toHaveBeenCalled();
152
195
  });
153
196
  test('fails with the terminal connector error', async () => {
154
- const { command } = setup({}, {
155
- keyTunnelId: 'tunnel_1',
156
- closed: Promise.reject(new Error('tunnel staging: the tunnel was deleted')),
157
- });
197
+ const { command } = setup({ token: tunnelToken }, { closed: Promise.reject(new Error('tunnel staging: the tunnel was deleted')) });
158
198
  await expect(command.run()).rejects.toThrow('tunnel staging: the tunnel was deleted');
159
199
  });
160
200
  });
@@ -165,9 +205,9 @@ describe('tunnel run event lines', () => {
165
205
  'Tunnel staging is active. Instances created with --tunnel staging attach here; press Ctrl+C to stop.',
166
206
  ],
167
207
  [
168
- { type: 'keyExpiring', expiresAt: '2026-10-20T00:00:00Z' },
169
- 'The key this connector runs with expires at 2026-10-20T00:00:00Z. Issue a new key for tunnel staging ' +
170
- 'in the console (Network) and restart the connector with it.',
208
+ { type: 'tokenExpiring', expiresAt: '2026-10-20T00:00:00Z' },
209
+ 'The token this connector runs with expires at 2026-10-20T00:00:00Z. Rotate the token of tunnel staging ' +
210
+ 'in the console (Network) and restart the connector with the new one.',
171
211
  ],
172
212
  [
173
213
  { type: 'standby', holder: { hostname: 'ci-1', since: '2026-10-08T10:00:00Z' } },
@@ -197,9 +237,10 @@ describe('tunnel run event lines', () => {
197
237
  test('names the tunnel generically before the first active', () => {
198
238
  expect((0, tunnel_run_1.formatTunnelConnectorEvent)(undefined, { type: 'standby', holder: { hostname: 'ci-1' } })).toBe('Standby: ci-1 holds the tunnel. Waiting for it to go away; use --replace to take it over.');
199
239
  });
200
- test('says a throwaway tunnel goes with its connector', () => {
240
+ test('says a quick tunnel goes with its connector, and restarts for a new token', () => {
201
241
  expect((0, tunnel_run_1.formatTunnelConnectorEvent)('scratch', { type: 'active', sessionId: 's1', name: 'scratch' }, true)).toBe('Tunnel scratch is active. Instances created with --tunnel scratch attach here; press Ctrl+C to stop. ' +
202
- 'It is a throwaway tunnel and goes away when this connector exits.');
242
+ 'It is a quick tunnel and goes away when this connector exits.');
243
+ expect((0, tunnel_run_1.formatTunnelConnectorEvent)('scratch', { type: 'tokenExpiring', expiresAt: '2026-10-20T00:00:00Z' }, true)).toBe('The token of quick tunnel scratch expires at 2026-10-20T00:00:00Z. Restart the connector to get a new one.');
203
244
  });
204
245
  });
205
246
  //# sourceMappingURL=run.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.test.js","sourceRoot":"","sources":["../../../src/commands/tunnel/run.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.test.js","sourceRoot":"","sources":["../../../src/commands/tunnel/run.test.ts"],"names":[],"mappings":";;;;;AAAA,sCAAqC;AACrC,qCAAqE;AACrE,gDAA8B;AAC9B,+CAA8G;AAC9G,qDAAkE;AAElE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACjG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,uBAAuB,EAAE,IAAI,CAAC,EAAE,EAAE;IAClC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;IACrB,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE;IAC5B,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;IAC1C,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,iBAAiB;CAC7E,CAAC,CAAC,CAAC;AAEJ,2EAA2E;AAC3E,6BAA6B;AAC7B,MAAM,WAAW,GAAG,+BAA+B,MAAM,CAAC,IAAI,CAC5D,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,kDAAkD,CAAC,EAAE,CAAC,CAC/F,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC;AAE/B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;AAEvC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,aAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,aAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/F,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,CAAC,aAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1F,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,WAAW,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,aAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,aAAS,CAAC,KAAK,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACT,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAC1B,CAAC,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC;gBACjC,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC;aAClB,EAAE,CAAC;gBACX,IAAI,KAAK,KAAK,SAAS;oBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;oBAC7C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,SAAS,KAAK,CACZ,KAAsE,EACtE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,KAAiC,EAAE;QAE/D,IAAI,CAAC,MAAM,CAAC,iCAAuB,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,eAAS,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,aAAS,CAAC,SAAS,CAAC,EAAE;YAChE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBAClB,KAAK,EAAE;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,IAAI;oBACb,GAAG,EAAE,IAAI;oBACT,gBAAgB,EAAE,IAAI;oBACtB,GAAG,KAAK;iBACT;aACF,CAAC;YACF,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;YACzB,QAAQ,EAAE,KAAK,EAAE,GAAwB,EAAE,EAAE,CAAC,GAAG,EAAE;YACnD,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAK;YAC/B,IAAI;YACJ,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;SACF,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE;YACvC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,0BAA0B,EAAE;SAClE,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS,OAAO;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,eAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAA2B,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QACxD,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;QAEpB,uEAAuE;QACvE,wCAAwC;QACxC,MAAM,CAAC,iCAAuB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACvD,MAAM,CAAC,oBAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1C,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC;YAC9B,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE,0BAA0B;YACnC,cAAc,EAAE,OAAO;YACvB,QAAQ,EAAE,mCAAmC;YAC7C,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;YACvG,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QACH,0CAA0C;QAC1C,OAAO,EAAE,CAAC,OAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACzE,OAAO,EAAE,CAAC,OAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAC/B,sGAAsG,CACvG,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAC/B,+FAA+F,CAChG,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC;QACR,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC,gCAAgC,EAAE,qBAAqB,CAAC;KAC1D,CAAC,CAAC,8BAA8B,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE;QACpD,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAC5E,MAAM,CAAC,iCAAuB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;QACvG,IAAI,CAAC,MAAM,CAAC,oBAAU,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,2BAAiB,CAAC,CAAC,iBAAiB,CAAC;YAC/C,MAAM,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;YAC5D,KAAK,EAAE,cAAc;SACtB,CAAC,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACnF,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;QAEpB,MAAM,CAAC,2BAAiB,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1G,0EAA0E;QAC1E,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QACjF,OAAO,EAAE,CAAC,OAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAClG,MAAM,CAAC,2BAAiB,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QAC1E,IAAI,CAAC,MAAM,CAAC,oBAAU,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,2BAAiB,CAAC,CAAC,iBAAiB,CAAC;YAC/C,MAAM,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;YAC5D,KAAK,EAAE,cAAc;SACtB,CAAC,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,CAAC,eAAS,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAC7C,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACpE,MAAM,CAAC,2BAAiB,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACnE,IAAI,CAAC,MAAM,CAAC,oBAAU,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,2BAAiB,CAAC,CAAC,iBAAiB,CAAC;YAC/C,MAAM,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;YAC5D,KAAK,EAAE,cAAc;SACtB,CAAC,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CACvB,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,EACjD,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,EAAE,CACtE,CAAC;QACF,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAC5E,MAAM,CAAC,2BAAiB,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC;QACR;YACE,+BAA+B;YAC/B,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE;YACpD,+CAA+C;SAChD;QACD;YACE,4BAA4B;YAC5B,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE;YACjC,+CAA+C;SAChD;QACD;YACE,sBAAsB;YACtB,EAAE;YACF,8GAA8G;SAC/G;QACD;YACE,8CAA8C;YAC9C,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,wGAAwG;gBACtG,qBAAqB;SACxB;KACO,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACpD,IAAI,CAAC,MAAM,CAAC,oBAAU,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,CAAC,eAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAU,CAAC,CAC9F,gEAAgE,EAChE,KAAK,EAAE,KAAK,EAAE,EAAE;QACd,IAAI,CAAC,MAAM,CAAC,oBAAU,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACjG,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;QAChG,MAAM,CAAC,eAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzC,MAAM,CAAC,2BAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnD,CAAC,CACF,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAU,CAAC,CAC9F,+CAA+C,EAC/C,KAAK,EAAE,KAAK,EAAE,EAAE;QACd,IAAI,CAAC,MAAM,CAAC,oBAAU,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChG,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;QAClG,MAAM,CAAC,eAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3C,CAAC,CACF,CAAC;IAEF,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CACvB,EAAE,KAAK,EAAE,WAAW,EAAE,EACtB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,EAAE,CAChF,CAAC;QACF,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAI,CAAC,IAAI,CAAC;QACR;YACE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3D,sGAAsG;SACvG;QACD;YACE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,sBAAsB,EAAE;YAC5D,yGAAyG;gBACvG,sEAAsE;SACzE;QACD;YACE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE;YAChF,iEAAiE;gBAC/D,2DAA2D;SAC9D;QACD;YACE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE;YACrF,+CAA+C;SAChD;QACD;YACE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,sCAAsC,EAAE;YACvF,8GAA8G;SAC/G;QACD;YACE;gBACE,IAAI,EAAE,cAAc;gBACpB,UAAU,EAAE,OAAO;gBACnB,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,kCAAkC;aAC3C;YACD,2DAA2D;SAC5D;KACO,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACxC,MAAM,CAAC,IAAA,uCAA0B,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,IAAA,uCAA0B,EAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CACnG,2FAA2F,CAC5F,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACrF,MAAM,CACJ,IAAA,uCAA0B,EAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAClG,CAAC,IAAI,CACJ,uGAAuG;YACrG,+DAA+D,CAClE,CAAC;QACF,MAAM,CACJ,IAAA,uCAA0B,EACxB,SAAS,EACT,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,sBAAsB,EAAE,EAC5D,IAAI,CACL,CACF,CAAC,IAAI,CACJ,4GAA4G,CAC7G,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -26,21 +26,34 @@ export interface PersistentTunnel {
26
26
  ephemeral: boolean;
27
27
  }
28
28
  /**
29
- * Resolves the organization and, when the credential is a tunnel key, the
30
- * one tunnel it runs: a tunnel key's only scope is tunnel:<id>:connect. A
31
- * connector needs an organization key, so a user token's default
32
- * organization does not count.
29
+ * Resolves the organization an admin's credential acts for, to create a quick
30
+ * tunnel. It must be an organization key, so a user token's default
31
+ * organization does not count. A tunnel token belongs in --token: the backend
32
+ * accepts no signed token.
33
33
  */
34
- export declare function whoAmITunnel(client: Limrun): Promise<{
34
+ export declare function quickTunnelOrganization(client: Limrun): Promise<string>;
35
+ /**
36
+ * Reads the organization and tunnel a tunnel token names, without verifying
37
+ * it; undefined when the token is no tunnel token. Its only scope is
38
+ * tunnel:<id>:connect.
39
+ */
40
+ export declare function tunnelTokenClaims(token: string): {
35
41
  organizationId: string;
36
- tunnelId?: string;
37
- }>;
42
+ tunnelId: string;
43
+ } | undefined;
38
44
  /** Finds an organization's tunnel by the name instances use. */
39
45
  export declare function findTunnel(client: Limrun, organizationId: string, name: string): Promise<PersistentTunnel | undefined>;
40
- /** Creates a throwaway tunnel that goes away when its connector does. */
41
- export declare function createQuickTunnel(client: Limrun, organizationId: string, name: string, selectors: string[]): Promise<PersistentTunnel>;
42
46
  /**
43
- * Deletes a throwaway tunnel this CLI created. The hub deletes it when its
47
+ * Creates a quick tunnel that goes away when its connector does, with the
48
+ * token the connector runs it with: only tunnel tokens connect. The token
49
+ * goes with the tunnel, so it lasts a month, the shortest the API takes.
50
+ */
51
+ export declare function createQuickTunnel(client: Limrun, organizationId: string, name: string, selectors: string[]): Promise<{
52
+ tunnel: PersistentTunnel;
53
+ token: string;
54
+ }>;
55
+ /**
56
+ * Deletes a quick tunnel this CLI created. The hub deletes it when its
44
57
  * connector says bye, so a missing tunnel is the normal case.
45
58
  */
46
59
  export declare function deleteQuickTunnel(client: Limrun, organizationId: string, tunnelId: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/lib/backend.ts"],"names":[],"mappings":"AAAA,OAAO,MAAwD,MAAM,aAAa,CAAC;AAEnF;;;;;GAKG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,4EAA4E;IAC5E,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,2BAA2B,sBAAsB,CAAC;AAU/D;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO5D;AAgBD,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CASzG;AAMD,gEAAgE;AAChE,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAQvC;AAED,yEAAyE;AACzE,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,gBAAgB,CAAC,CAS3B;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CASf;AAQD,oEAAoE;AACpE,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAcjC;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,eAAe,CAAC,CAgB1B"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/lib/backend.ts"],"names":[],"mappings":"AAAA,OAAO,MAAwD,MAAM,aAAa,CAAC;AAEnF;;;;;GAKG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,4EAA4E;IAC5E,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,2BAA2B,sBAAsB,CAAC;AAU/D;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO5D;AAeD,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAa7E;AAYD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAoBzG;AAMD,gEAAgE;AAChE,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAQvC;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAetD;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CASf;AAQD,oEAAoE;AACpE,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAcjC;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,eAAe,CAAC,CAgB1B"}
@@ -2,7 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.androidSigningKeySecretType = void 0;
4
4
  exports.whoAmI = whoAmI;
5
- exports.whoAmITunnel = whoAmITunnel;
5
+ exports.quickTunnelOrganization = quickTunnelOrganization;
6
+ exports.tunnelTokenClaims = tunnelTokenClaims;
6
7
  exports.findTunnel = findTunnel;
7
8
  exports.createQuickTunnel = createQuickTunnel;
8
9
  exports.deleteQuickTunnel = deleteQuickTunnel;
@@ -40,20 +41,56 @@ async function fetchWhoAmI(client) {
40
41
  }
41
42
  }
42
43
  /**
43
- * Resolves the organization and, when the credential is a tunnel key, the
44
- * one tunnel it runs: a tunnel key's only scope is tunnel:<id>:connect. A
45
- * connector needs an organization key, so a user token's default
46
- * organization does not count.
44
+ * Resolves the organization an admin's credential acts for, to create a quick
45
+ * tunnel. It must be an organization key, so a user token's default
46
+ * organization does not count. A tunnel token belongs in --token: the backend
47
+ * accepts no signed token.
47
48
  */
48
- async function whoAmITunnel(client) {
49
+ async function quickTunnelOrganization(client) {
50
+ if ((client.apiKey ?? '').startsWith(SIGNED_TOKEN_PREFIX)) {
51
+ throw new Error('The API key is a signed token. Pass a tunnel token with --token or LIM_TUNNEL_TOKEN; the API key ' +
52
+ "is an admin's, for quick tunnels.");
53
+ }
49
54
  const body = await fetchWhoAmI(client);
50
55
  const organizationId = body.organization?.id;
51
56
  if (!organizationId) {
52
- throw new Error('Running a tunnel needs an API key: a tunnel key from the console, or an admin key.');
57
+ throw new Error("A quick tunnel needs an admin's organization key or login.");
58
+ }
59
+ return organizationId;
60
+ }
61
+ /** The tunnel a credential's scopes name, when its only scope connects one. */
62
+ function onlyTunnelOf(scopes) {
63
+ const [scope, ...rest] = Array.isArray(scopes) ? scopes : [];
64
+ const match = rest.length === 0 && typeof scope === 'string' ? /^tunnel:(tunnel_[0-9a-z]+):connect$/.exec(scope) : null;
65
+ return match?.[1];
66
+ }
67
+ const SIGNED_TOKEN_PREFIX = 'lim_st_';
68
+ /**
69
+ * Reads the organization and tunnel a tunnel token names, without verifying
70
+ * it; undefined when the token is no tunnel token. Its only scope is
71
+ * tunnel:<id>:connect.
72
+ */
73
+ function tunnelTokenClaims(token) {
74
+ const payload = token.slice(SIGNED_TOKEN_PREFIX.length).split('.')[1];
75
+ if (!token.startsWith(SIGNED_TOKEN_PREFIX) || !payload) {
76
+ return undefined;
77
+ }
78
+ let claims;
79
+ try {
80
+ claims = JSON.parse(Buffer.from(payload, 'base64url').toString('utf8'));
81
+ }
82
+ catch {
83
+ return undefined;
84
+ }
85
+ if (typeof claims !== 'object' || claims === null) {
86
+ return undefined;
87
+ }
88
+ const { sub, scopes } = claims;
89
+ const tunnelId = onlyTunnelOf(scopes);
90
+ if (!tunnelId || typeof sub !== 'string' || sub === '') {
91
+ return undefined;
53
92
  }
54
- const [scope, ...rest] = body.scopes ?? [];
55
- const match = rest.length === 0 ? /^tunnel:(tunnel_[0-9a-z]+):connect$/.exec(scope ?? '') : null;
56
- return match ? { organizationId, tunnelId: match[1] } : { organizationId };
93
+ return { organizationId: sub, tunnelId };
57
94
  }
58
95
  function tunnelsPath(organizationId) {
59
96
  return `/v1/organizations/${encodeURIComponent(organizationId)}/tunnels`;
@@ -69,20 +106,30 @@ async function findTunnel(client, organizationId, name) {
69
106
  }
70
107
  return body.tunnels?.find((tunnel) => tunnel.name === name);
71
108
  }
72
- /** Creates a throwaway tunnel that goes away when its connector does. */
109
+ /**
110
+ * Creates a quick tunnel that goes away when its connector does, with the
111
+ * token the connector runs it with: only tunnel tokens connect. The token
112
+ * goes with the tunnel, so it lasts a month, the shortest the API takes.
113
+ */
73
114
  async function createQuickTunnel(client, organizationId, name, selectors) {
115
+ let body;
74
116
  try {
75
- const body = await client.post(tunnelsPath(organizationId), {
76
- body: { name, selectors, ephemeral: true },
117
+ body = await client.post(tunnelsPath(organizationId), {
118
+ body: { name, selectors, ephemeral: true, token: { expirationMonths: 1 } },
77
119
  });
78
- return body.tunnel;
79
120
  }
80
121
  catch (err) {
81
122
  rethrow(err, `Failed to create tunnel ${name}`);
82
123
  }
124
+ if (!body.token?.token) {
125
+ // Nothing can run a tunnel without its token, so it goes at once.
126
+ await deleteQuickTunnel(client, organizationId, body.tunnel.id).catch(() => { });
127
+ throw new Error(`Limrun created tunnel ${name} but returned no token to run it with.`);
128
+ }
129
+ return { tunnel: body.tunnel, token: body.token.token };
83
130
  }
84
131
  /**
85
- * Deletes a throwaway tunnel this CLI created. The hub deletes it when its
132
+ * Deletes a quick tunnel this CLI created. The hub deletes it when its
86
133
  * connector says bye, so a missing tunnel is the normal case.
87
134
  */
88
135
  async function deleteQuickTunnel(client, organizationId, tunnelId) {
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/lib/backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/lib/backend.ts"],"names":[],"mappings":"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"}
@@ -57,26 +57,39 @@ describe('backend client', () => {
57
57
  };
58
58
  }
59
59
  describe('tunnels', () => {
60
- it('reads the one tunnel a tunnel key runs from its scopes', async () => {
61
- fetchMock.mockResolvedValue(mockResponse(200, {
62
- type: 'organization',
63
- organization: { id: 'org_1' },
64
- scopes: ['tunnel:tunnel_01h455vb4pex5vsknk084sn02q:connect'],
65
- }));
66
- await expect((0, backend_1.whoAmITunnel)(client)).resolves.toEqual({
67
- organizationId: 'org_1',
68
- tunnelId: 'tunnel_01h455vb4pex5vsknk084sn02q',
69
- });
60
+ // A signed token's header and signature do not matter here; only the
61
+ // payload's claims are read.
62
+ function signedToken(claims) {
63
+ return `lim_st_eyJhbGciOiJFZERTQSJ9.${Buffer.from(JSON.stringify(claims)).toString('base64url')}.c2ln`;
64
+ }
65
+ it('reads the organization and tunnel a tunnel token names', () => {
66
+ expect((0, backend_1.tunnelTokenClaims)(signedToken({ sub: 'org_1', scopes: ['tunnel:tunnel_01h455vb4pex5vsknk084sn02q:connect'] }))).toEqual({ organizationId: 'org_1', tunnelId: 'tunnel_01h455vb4pex5vsknk084sn02q' });
70
67
  });
71
68
  it.each([
72
- ['an admin key', ['*:*:all']],
73
- ['a key that runs every tunnel', ['tunnel:*:connect']],
74
- ['a key with more than its tunnel', ['tunnel:tunnel_01h455vb4pex5vsknk084sn02q:connect', 'ios:*:read']],
75
- ])('names no tunnel for %s', async (_, scopes) => {
76
- fetchMock.mockResolvedValue(mockResponse(200, { organization: { id: 'org_1' }, scopes }));
77
- await expect((0, backend_1.whoAmITunnel)(client)).resolves.toEqual({ organizationId: 'org_1' });
78
- });
79
- it('finds a tunnel by name and creates a throwaway one', async () => {
69
+ ['a payload that is null', null],
70
+ ['an instance token', { sub: 'org_1', scopes: ['ios:ios_euna_x:all'] }],
71
+ ['a token for every tunnel', { sub: 'org_1', scopes: ['tunnel:*:connect'] }],
72
+ [
73
+ 'a token with more than its tunnel',
74
+ { sub: 'org_1', scopes: ['tunnel:tunnel_01h455vb4pex5vsknk084sn02q:connect', 'ios:*:read'] },
75
+ ],
76
+ ])('reads no tunnel from %s', (_, claims) => {
77
+ expect((0, backend_1.tunnelTokenClaims)(signedToken(claims))).toBeUndefined();
78
+ });
79
+ it("asks whoami for the organization of an admin's key", async () => {
80
+ fetchMock.mockResolvedValue(mockResponse(200, { organization: { id: 'org_1' } }));
81
+ await expect((0, backend_1.quickTunnelOrganization)(client)).resolves.toBe('org_1');
82
+ });
83
+ it('refuses a signed token as the API key, without a call', async () => {
84
+ const tokenClient = new api_1.default({
85
+ apiKey: signedToken({ sub: 'org_1', scopes: ['tunnel:tunnel_01h455vb4pex5vsknk084sn02q:connect'] }),
86
+ baseURL: apiEndpoint,
87
+ maxRetries: 0,
88
+ });
89
+ await expect((0, backend_1.quickTunnelOrganization)(tokenClient)).rejects.toThrow('--token or LIM_TUNNEL_TOKEN');
90
+ expect(fetchMock).not.toHaveBeenCalled();
91
+ });
92
+ it('finds a tunnel by name and creates a quick one', async () => {
80
93
  fetchMock.mockResolvedValueOnce(mockResponse(200, { tunnels: [{ id: 'tunnel_1', name: 'staging', ephemeral: false }] }));
81
94
  await expect((0, backend_1.findTunnel)(client, 'org_1', 'staging')).resolves.toEqual({
82
95
  id: 'tunnel_1',
@@ -84,19 +97,31 @@ describe('backend client', () => {
84
97
  ephemeral: false,
85
98
  });
86
99
  expect(requestOf(fetchMock.mock.calls[0]).url).toBe(`${apiEndpoint}/v1/organizations/org_1/tunnels`);
87
- fetchMock.mockResolvedValueOnce(mockResponse(201, { tunnel: { id: 'tunnel_2', name: 'scratch', ephemeral: true } }));
88
- await expect((0, backend_1.createQuickTunnel)(client, 'org_1', 'scratch', ['localhost:3000'])).resolves.toMatchObject({
89
- id: 'tunnel_2',
90
- ephemeral: true,
100
+ fetchMock.mockResolvedValueOnce(mockResponse(201, {
101
+ tunnel: { id: 'tunnel_2', name: 'scratch', ephemeral: true },
102
+ token: { token: 'lim_st_quick', expiresAt: '2026-11-09T00:00:00Z' },
103
+ }));
104
+ await expect((0, backend_1.createQuickTunnel)(client, 'org_1', 'scratch', ['localhost:3000'])).resolves.toEqual({
105
+ tunnel: { id: 'tunnel_2', name: 'scratch', ephemeral: true },
106
+ token: 'lim_st_quick',
91
107
  });
92
108
  const [, init] = fetchMock.mock.calls[1];
93
109
  expect(JSON.parse(String(init.body))).toEqual({
94
110
  name: 'scratch',
95
111
  selectors: ['localhost:3000'],
96
112
  ephemeral: true,
113
+ token: { expirationMonths: 1 },
97
114
  });
115
+ // Without its token the tunnel could not run, so the create fails and
116
+ // the tunnel goes at once.
117
+ fetchMock.mockResolvedValueOnce(mockResponse(201, { tunnel: { id: 'tunnel_3', name: 'other', ephemeral: true } }));
118
+ fetchMock.mockResolvedValueOnce(new Response(null, { status: 204 }));
119
+ await expect((0, backend_1.createQuickTunnel)(client, 'org_1', 'other', ['localhost:3000'])).rejects.toThrow('returned no token');
120
+ const [deleteURL, deleteInit] = fetchMock.mock.calls[3];
121
+ expect(deleteURL).toBe(`${apiEndpoint}/v1/organizations/org_1/tunnels/tunnel_3`);
122
+ expect(deleteInit.method).toBe('DELETE');
98
123
  });
99
- it('deletes a throwaway tunnel by ID, and a tunnel the hub already removed is fine', async () => {
124
+ it('deletes a quick tunnel by ID, and a tunnel the hub already removed is fine', async () => {
100
125
  fetchMock.mockResolvedValueOnce(new Response(null, { status: 204 }));
101
126
  await (0, backend_1.deleteQuickTunnel)(client, 'org_1', 'tunnel_2');
102
127
  const [url, init] = fetchMock.mock.calls[0];
@@ -1 +1 @@
1
- {"version":3,"file":"backend.test.js","sourceRoot":"","sources":["../../src/lib/backend.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend.test.js","sourceRoot":"","sources":["../../src/lib/backend.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { TunnelConnectorEvent } from '@limrun/api';
2
2
  /**
3
3
  * One human-readable log line per connector event. name is undefined until
4
- * the first active, for a connector started with a tunnel key alone.
4
+ * the first active, for a connector started with a tunnel token alone.
5
5
  */
6
6
  export declare function formatTunnelConnectorEvent(name: string | undefined, event: TunnelConnectorEvent, ephemeral?: boolean): string;
7
7
  //# sourceMappingURL=tunnel-run.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-run.d.ts","sourceRoot":"","sources":["../../src/lib/tunnel-run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,EAAE,oBAAoB,EAC3B,SAAS,UAAQ,GAChB,MAAM,CAmCR"}
1
+ {"version":3,"file":"tunnel-run.d.ts","sourceRoot":"","sources":["../../src/lib/tunnel-run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,EAAE,oBAAoB,EAC3B,SAAS,UAAQ,GAChB,MAAM,CAoCR"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.formatTunnelConnectorEvent = formatTunnelConnectorEvent;
4
4
  /**
5
5
  * One human-readable log line per connector event. name is undefined until
6
- * the first active, for a connector started with a tunnel key alone.
6
+ * the first active, for a connector started with a tunnel token alone.
7
7
  */
8
8
  function formatTunnelConnectorEvent(name, event, ephemeral = false) {
9
9
  const tunnel = name ? `tunnel ${name}` : 'the tunnel';
@@ -11,10 +11,13 @@ function formatTunnelConnectorEvent(name, event, ephemeral = false) {
11
11
  case 'active':
12
12
  return (`Tunnel ${event.name} is active. Instances created with --tunnel ${event.name} attach here; ` +
13
13
  `press Ctrl+C to stop.` +
14
- (ephemeral ? ' It is a throwaway tunnel and goes away when this connector exits.' : ''));
15
- case 'keyExpiring':
16
- return (`The key this connector runs with expires at ${event.expiresAt}. Issue a new key for ${tunnel} ` +
17
- 'in the console (Network) and restart the connector with it.');
14
+ (ephemeral ? ' It is a quick tunnel and goes away when this connector exits.' : ''));
15
+ case 'tokenExpiring':
16
+ // A quick tunnel's token goes with it, so a restart brings a new one.
17
+ return ephemeral ?
18
+ `The token of quick ${tunnel} expires at ${event.expiresAt}. Restart the connector to get a new one.`
19
+ : `The token this connector runs with expires at ${event.expiresAt}. Rotate the token of ${tunnel} ` +
20
+ 'in the console (Network) and restart the connector with the new one.';
18
21
  case 'standby':
19
22
  return (`Standby: ${event.holder.hostname} holds ${tunnel}` +
20
23
  (event.holder.since ? ` since ${event.holder.since}. ` : '. ') +
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-run.js","sourceRoot":"","sources":["../../src/lib/tunnel-run.ts"],"names":[],"mappings":";;AAMA,gEAuCC;AA3CD;;;GAGG;AACH,SAAgB,0BAA0B,CACxC,IAAwB,EACxB,KAA2B,EAC3B,SAAS,GAAG,KAAK;IAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IACtD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,CACL,UAAU,KAAK,CAAC,IAAI,+CAA+C,KAAK,CAAC,IAAI,gBAAgB;gBAC7F,uBAAuB;gBACvB,CAAC,SAAS,CAAC,CAAC,CAAC,oEAAoE,CAAC,CAAC,CAAC,EAAE,CAAC,CACxF,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO,CACL,+CAA+C,KAAK,CAAC,SAAS,yBAAyB,MAAM,GAAG;gBAChG,6DAA6D,CAC9D,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO,CACL,YAAY,KAAK,CAAC,MAAM,CAAC,QAAQ,UAAU,MAAM,EAAE;gBACnD,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC9D,2DAA2D,CAC5D,CAAC;QACJ,KAAK,UAAU;YACb,OAAO,YAAY,KAAK,CAAC,UAAU,YAAY,KAAK,CAAC,QAAQ,IAAI,CAAC;QACpE,KAAK,UAAU;YACb,OAAO,YAAY,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;QAC1D,KAAK,QAAQ;YACX,OAAO,SAAS,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC;QAC1G,KAAK,cAAc;YACjB,OAAO,oBAAoB,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC;QACnF,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;YACtD,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;gBACrB,YAAY,KAAK,CAAC,UAAU,OAAO,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG;gBAC9D,CAAC,CAAC,6BAA6B,KAAK,KAAK,KAAK,CAAC,MAAM,0CAA0C,CAAC;QACpG,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"tunnel-run.js","sourceRoot":"","sources":["../../src/lib/tunnel-run.ts"],"names":[],"mappings":";;AAMA,gEAwCC;AA5CD;;;GAGG;AACH,SAAgB,0BAA0B,CACxC,IAAwB,EACxB,KAA2B,EAC3B,SAAS,GAAG,KAAK;IAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IACtD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,CACL,UAAU,KAAK,CAAC,IAAI,+CAA+C,KAAK,CAAC,IAAI,gBAAgB;gBAC7F,uBAAuB;gBACvB,CAAC,SAAS,CAAC,CAAC,CAAC,gEAAgE,CAAC,CAAC,CAAC,EAAE,CAAC,CACpF,CAAC;QACJ,KAAK,eAAe;YAClB,sEAAsE;YACtE,OAAO,SAAS,CAAC,CAAC;gBACd,sBAAsB,MAAM,eAAe,KAAK,CAAC,SAAS,2CAA2C;gBACvG,CAAC,CAAC,iDAAiD,KAAK,CAAC,SAAS,yBAAyB,MAAM,GAAG;oBAChG,sEAAsE,CAAC;QAC/E,KAAK,SAAS;YACZ,OAAO,CACL,YAAY,KAAK,CAAC,MAAM,CAAC,QAAQ,UAAU,MAAM,EAAE;gBACnD,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC9D,2DAA2D,CAC5D,CAAC;QACJ,KAAK,UAAU;YACb,OAAO,YAAY,KAAK,CAAC,UAAU,YAAY,KAAK,CAAC,QAAQ,IAAI,CAAC;QACpE,KAAK,UAAU;YACb,OAAO,YAAY,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;QAC1D,KAAK,QAAQ;YACX,OAAO,SAAS,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC;QAC1G,KAAK,cAAc;YACjB,OAAO,oBAAoB,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC;QACnF,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;YACtD,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;gBACrB,YAAY,KAAK,CAAC,UAAU,OAAO,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG;gBAC9D,CAAC,CAAC,6BAA6B,KAAK,KAAK,KAAK,CAAC,MAAM,0CAA0C,CAAC;QACpG,CAAC;IACH,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lim",
3
- "version": "0.41.0",
3
+ "version": "0.42.0",
4
4
  "description": "Use remote XCode, Gradle, iOS Simulator, Android Emulator and more to build and test apps from Linux, Windows or macOS.",
5
5
  "bin": {
6
6
  "lim": "./bin/run.js"
@@ -25,7 +25,7 @@
25
25
  "test": "jest"
26
26
  },
27
27
  "dependencies": {
28
- "@limrun/api": "0.61.0",
28
+ "@limrun/api": "0.62.0",
29
29
  "@oclif/core": "^4",
30
30
  "cli-progress": "^3.12.0",
31
31
  "cli-table3": "^0.6.5",