@generacy-ai/control-plane 0.6.0 → 0.7.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.
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import http from 'node:http';
2
+ import { createJitGitTokenClient, JitTokenError, } from '../src/services/jit-git-token-client.js';
3
3
  const DEFAULT_SOCKET_PATH = '/run/generacy-control-plane/control.sock';
4
4
  const EXIT_CODE_BY_CODE = {
5
5
  CONTROL_SOCKET_UNREACHABLE: 2,
@@ -10,6 +10,7 @@ const EXIT_CODE_BY_CODE = {
10
10
  CLOUD_UPSTREAM_ERROR: 7,
11
11
  CLOUD_RESPONSE_INVALID: 8,
12
12
  CREDENTIAL_NOT_CONFIGURED: 9,
13
+ RESPONSE_PARSE_ERROR: 8,
13
14
  INTERNAL_ERROR: 1,
14
15
  };
15
16
  function exitErr(outcome) {
@@ -22,7 +23,6 @@ function readStdin() {
22
23
  process.stdin.on('data', (c) => chunks.push(c));
23
24
  process.stdin.on('end', () => resolve(Buffer.concat(chunks).toString('utf8')));
24
25
  process.stdin.on('error', reject);
25
- // If stdin is closed before any data, 'end' fires naturally.
26
26
  });
27
27
  }
28
28
  function parseInput(raw) {
@@ -42,93 +42,49 @@ function parseInput(raw) {
42
42
  }
43
43
  return attrs;
44
44
  }
45
- function postToControlSocket(socketPath) {
46
- return new Promise((resolve, reject) => {
47
- const req = http.request({
48
- socketPath,
49
- path: '/git-token',
50
- method: 'POST',
51
- headers: {
52
- 'content-type': 'application/json',
53
- 'content-length': '2',
54
- },
55
- }, (res) => {
56
- const chunks = [];
57
- res.on('data', (c) => chunks.push(c));
58
- res.on('end', () => {
59
- resolve({ status: res.statusCode ?? 0, body: Buffer.concat(chunks).toString('utf8') });
60
- });
61
- res.on('error', reject);
62
- });
63
- req.on('error', reject);
64
- req.write('{}');
65
- req.end();
66
- });
45
+ function resolveSocketPath() {
46
+ return (process.env['GIT_TOKEN_SOCKET_PATH'] ??
47
+ process.env['CONTROL_PLANE_SOCKET_PATH'] ??
48
+ DEFAULT_SOCKET_PATH);
49
+ }
50
+ function mapJitErrorToExit(code) {
51
+ return EXIT_CODE_BY_CODE[code] ?? EXIT_CODE_BY_CODE.INTERNAL_ERROR;
67
52
  }
68
53
  async function runGet(socketPath, input) {
69
54
  if (input.host !== 'github.com') {
70
55
  // Defensive bypass — git's per-host config should already prevent this.
71
56
  process.exit(0);
72
57
  }
73
- let response;
58
+ const client = createJitGitTokenClient({ socketPath });
59
+ let token;
74
60
  try {
75
- response = await postToControlSocket(socketPath);
61
+ const response = await client.fetch();
62
+ token = response.token;
76
63
  }
77
64
  catch (err) {
78
- const cause = err.code ?? err.message;
79
- exitErr({
80
- code: 'CONTROL_SOCKET_UNREACHABLE',
81
- message: `control socket at ${socketPath} unreachable (${cause})`,
82
- exitCode: EXIT_CODE_BY_CODE.CONTROL_SOCKET_UNREACHABLE,
83
- });
84
- }
85
- if (response.status >= 200 && response.status < 300) {
86
- let parsed;
87
- try {
88
- parsed = JSON.parse(response.body);
89
- }
90
- catch {
91
- exitErr({
92
- code: 'CLOUD_RESPONSE_INVALID',
93
- message: 'control-plane returned a non-JSON body on success',
94
- exitCode: EXIT_CODE_BY_CODE.CLOUD_RESPONSE_INVALID,
95
- });
96
- }
97
- if (typeof parsed.token !== 'string' || parsed.token.length === 0) {
65
+ if (err instanceof JitTokenError) {
98
66
  exitErr({
99
- code: 'CLOUD_RESPONSE_INVALID',
100
- message: 'control-plane response missing token',
101
- exitCode: EXIT_CODE_BY_CODE.CLOUD_RESPONSE_INVALID,
67
+ code: err.code,
68
+ message: err.message,
69
+ exitCode: mapJitErrorToExit(err.code),
102
70
  });
103
71
  }
104
- const out = [];
105
- if (input.protocol)
106
- out.push(`protocol=${input.protocol}`);
107
- if (input.host)
108
- out.push(`host=${input.host}`);
109
- out.push('username=x-access-token');
110
- out.push(`password=${parsed.token}`);
111
- out.push(''); // trailing blank line
112
- process.stdout.write(out.join('\n'));
113
- process.exit(0);
114
- }
115
- // Non-2xx — extract code/message from error body if possible.
116
- let code = 'INTERNAL_ERROR';
117
- let message = `control-plane returned HTTP ${response.status}`;
118
- try {
119
- const errBody = JSON.parse(response.body);
120
- if (typeof errBody.code === 'string' && errBody.code in EXIT_CODE_BY_CODE) {
121
- code = errBody.code;
122
- }
123
- if (typeof errBody.error === 'string') {
124
- message = errBody.error;
125
- }
126
- }
127
- catch {
128
- // Fall through to defaults.
72
+ exitErr({
73
+ code: 'INTERNAL_ERROR',
74
+ message: err instanceof Error ? err.message : String(err),
75
+ exitCode: EXIT_CODE_BY_CODE.INTERNAL_ERROR,
76
+ });
129
77
  }
130
- const exitCode = EXIT_CODE_BY_CODE[code] ?? EXIT_CODE_BY_CODE.INTERNAL_ERROR;
131
- exitErr({ code, message, exitCode });
78
+ const out = [];
79
+ if (input.protocol)
80
+ out.push(`protocol=${input.protocol}`);
81
+ if (input.host)
82
+ out.push(`host=${input.host}`);
83
+ out.push('username=x-access-token');
84
+ out.push(`password=${token}`);
85
+ out.push(''); // trailing blank line
86
+ process.stdout.write(out.join('\n'));
87
+ process.exit(0);
132
88
  }
133
89
  async function main() {
134
90
  const action = process.argv[2];
@@ -144,7 +100,7 @@ async function main() {
144
100
  process.exit(0);
145
101
  }
146
102
  const input = parseInput(raw);
147
- const socketPath = process.env['CONTROL_PLANE_SOCKET_PATH'] ?? DEFAULT_SOCKET_PATH;
103
+ const socketPath = resolveSocketPath();
148
104
  await runGet(socketPath, input);
149
105
  }
150
106
  main().catch((err) => {
@@ -1 +1 @@
1
- {"version":3,"file":"git-credential-generacy.js","sourceRoot":"","sources":["../../bin/git-credential-generacy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-credential-generacy.js","sourceRoot":"","sources":["../../bin/git-credential-generacy.ts"],"names":[],"mappings":";AAEA,OAAO,EACL,uBAAuB,EACvB,aAAa,GAEd,MAAM,yCAAyC,CAAC;AAEjD,MAAM,mBAAmB,GAAG,0CAA0C,CAAC;AAUvE,MAAM,iBAAiB,GAA2B;IAChD,0BAA0B,EAAE,CAAC;IAC7B,uBAAuB,EAAE,CAAC;IAC1B,iBAAiB,EAAE,CAAC;IACpB,mBAAmB,EAAE,CAAC;IACtB,qBAAqB,EAAE,CAAC;IACxB,oBAAoB,EAAE,CAAC;IACvB,sBAAsB,EAAE,CAAC;IACzB,yBAAyB,EAAE,CAAC;IAC5B,oBAAoB,EAAE,CAAC;IACvB,cAAc,EAAE,CAAC;CAClB,CAAC;AAEF,SAAS,OAAO,CAAC,OAAqB;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;IACnF,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/E,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAOD,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,IAAI,IAAI,KAAK,EAAE;YAAE,MAAM;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,SAAS;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,GAAG,KAAK,UAAU;YAAE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;aAC1C,IAAI,GAAG,KAAK,MAAM;YAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;QACxC,mBAAmB,CACpB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAuB;IAChD,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,cAAe,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,UAAkB,EAAE,KAAiB;IACzD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,wEAAwE;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAEvD,IAAI,KAAa,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACtC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC;gBACN,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;aACtC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC;YACN,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACzD,QAAQ,EAAE,iBAAiB,CAAC,cAAe;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,KAAK,CAAC,QAAQ;QAAE,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACpC,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC;IAC9B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAuB,CAAC;IACrD,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACjE,OAAO,CAAC;YACN,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,kBAAkB,MAAM,IAAI,QAAQ,EAAE;YAC/C,QAAQ,EAAE,iBAAiB,CAAC,cAAe;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;IAE9B,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,mEAAmE;IACnE,OAAO,CAAC;QACN,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QACzD,QAAQ,EAAE,iBAAiB,CAAC,cAAe;KAC5C,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -4,6 +4,7 @@ export { ClusterStatusSchema, DeploymentModeSchema, ClusterVariantSchema, Cluste
4
4
  export { initClusterState, updateClusterStatus, getClusterState, } from './state.js';
5
5
  export { CodeServerProcessManager, getCodeServerManager, setCodeServerManager, loadOptionsFromEnv, DEFAULT_CODE_SERVER_BIN, DEFAULT_CODE_SERVER_SOCKET, DEFAULT_IDLE_TIMEOUT_MS, type CodeServerManager, type CodeServerManagerOptions, type CodeServerStartResult, type CodeServerStatus, } from './services/code-server-manager.js';
6
6
  export { TunnelHandler, type RelayMessageSender, } from './services/tunnel-handler.js';
7
+ export { createJitGitTokenClient, JitTokenError, type JitGitTokenClient, type JitGitTokenClientOptions, type JitGitTokenResponse, type JitTokenErrorCode, } from './services/jit-git-token-client.js';
7
8
  export { ControlPlaneError, sendError, type ControlPlaneErrorCode, type ControlPlaneErrorResponse, } from './errors.js';
8
9
  export { ControlPlaneServer } from './server.js';
9
10
  export { DockerEngineClient, type DockerEngineClientOptions, type ListContainersOptions, type CreateContainerResponse, type StreamContainerEventsOptions, } from './services/docker-engine-client.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGhF,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,GACtB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,GAC/B,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,GAClC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,KAAK,WAAW,EAChB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,KAAK,aAAa,EAClB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGhF,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,GACtB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,GAC/B,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,GAClC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,KAAK,WAAW,EAChB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,KAAK,aAAa,EAClB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kCAAkC,CAAC"}
package/dist/src/index.js CHANGED
@@ -5,6 +5,7 @@ export { initClusterState, updateClusterStatus, getClusterState, } from './state
5
5
  // Services
6
6
  export { CodeServerProcessManager, getCodeServerManager, setCodeServerManager, loadOptionsFromEnv, DEFAULT_CODE_SERVER_BIN, DEFAULT_CODE_SERVER_SOCKET, DEFAULT_IDLE_TIMEOUT_MS, } from './services/code-server-manager.js';
7
7
  export { TunnelHandler, } from './services/tunnel-handler.js';
8
+ export { createJitGitTokenClient, JitTokenError, } from './services/jit-git-token-client.js';
8
9
  // Errors
9
10
  export { ControlPlaneError, sendError, } from './errors.js';
10
11
  // Server
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,UAAU;AACV,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,GAexB,MAAM,cAAc,CAAC;AAEtB,QAAQ;AACR,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,WAAW;AACX,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,GAKxB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,aAAa,GAEd,MAAM,8BAA8B,CAAC;AAEtC,SAAS;AACT,OAAO,EACL,iBAAiB,EACjB,SAAS,GAGV,MAAM,aAAa,CAAC;AAErB,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,4CAA4C;AAC5C,OAAO,EACL,kBAAkB,GAKnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAEL,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAEL,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,UAAU;AACV,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,GAexB,MAAM,cAAc,CAAC;AAEtB,QAAQ;AACR,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,WAAW;AACX,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,GAKxB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,aAAa,GAEd,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,uBAAuB,EACvB,aAAa,GAKd,MAAM,oCAAoC,CAAC;AAE5C,SAAS;AACT,OAAO,EACL,iBAAiB,EACjB,SAAS,GAGV,MAAM,aAAa,CAAC;AAErB,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,4CAA4C;AAC5C,OAAO,EACL,kBAAkB,GAKnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAEL,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAEL,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,21 @@
1
+ export type JitTokenErrorCode = 'CLUSTER_API_KEY_MISSING' | 'CREDENTIAL_NOT_CONFIGURED' | 'CLOUD_UNREACHABLE' | 'CLOUD_AUTH_REJECTED' | 'CLOUD_REQUEST_INVALID' | 'CLOUD_UPSTREAM_ERROR' | 'CLOUD_RESPONSE_INVALID' | 'CONTROL_SOCKET_UNREACHABLE' | 'RESPONSE_PARSE_ERROR';
2
+ export declare class JitTokenError extends Error {
3
+ readonly code: JitTokenErrorCode;
4
+ readonly details?: Record<string, unknown>;
5
+ constructor(code: JitTokenErrorCode, message: string, details?: Record<string, unknown>);
6
+ }
7
+ export interface JitGitTokenResponse {
8
+ token: string;
9
+ expiresAt: Date;
10
+ }
11
+ export interface JitGitTokenClient {
12
+ fetch(credentialId?: string): Promise<JitGitTokenResponse>;
13
+ }
14
+ export interface JitGitTokenClientOptions {
15
+ socketPath: string;
16
+ logger?: {
17
+ warn(obj: Record<string, unknown>, msg: string): void;
18
+ };
19
+ }
20
+ export declare function createJitGitTokenClient(options: JitGitTokenClientOptions): JitGitTokenClient;
21
+ //# sourceMappingURL=jit-git-token-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jit-git-token-client.d.ts","sourceRoot":"","sources":["../../../src/services/jit-git-token-client.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GACzB,yBAAyB,GACzB,2BAA2B,GAC3B,mBAAmB,GACnB,qBAAqB,GACrB,uBAAuB,GACvB,sBAAsB,GACtB,wBAAwB,GACxB,4BAA4B,GAC5B,sBAAsB,CAAC;AAc3B,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE/B,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAQxF;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CACpE;AAkCD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,iBAAiB,CAgF5F"}
@@ -0,0 +1,105 @@
1
+ import http from 'node:http';
2
+ const KNOWN_ERROR_CODES = new Set([
3
+ 'CLUSTER_API_KEY_MISSING',
4
+ 'CREDENTIAL_NOT_CONFIGURED',
5
+ 'CLOUD_UNREACHABLE',
6
+ 'CLOUD_AUTH_REJECTED',
7
+ 'CLOUD_REQUEST_INVALID',
8
+ 'CLOUD_UPSTREAM_ERROR',
9
+ 'CLOUD_RESPONSE_INVALID',
10
+ 'CONTROL_SOCKET_UNREACHABLE',
11
+ 'RESPONSE_PARSE_ERROR',
12
+ ]);
13
+ export class JitTokenError extends Error {
14
+ code;
15
+ details;
16
+ constructor(code, message, details) {
17
+ super(message);
18
+ this.name = 'JitTokenError';
19
+ this.code = code;
20
+ if (details !== undefined) {
21
+ this.details = details;
22
+ }
23
+ }
24
+ }
25
+ function postToControlSocket(socketPath, body) {
26
+ return new Promise((resolve, reject) => {
27
+ const req = http.request({
28
+ socketPath,
29
+ path: '/git-token',
30
+ method: 'POST',
31
+ headers: {
32
+ 'content-type': 'application/json',
33
+ 'content-length': Buffer.byteLength(body).toString(),
34
+ },
35
+ }, (res) => {
36
+ const chunks = [];
37
+ res.on('data', (c) => chunks.push(c));
38
+ res.on('end', () => {
39
+ resolve({ status: res.statusCode ?? 0, body: Buffer.concat(chunks).toString('utf8') });
40
+ });
41
+ res.on('error', reject);
42
+ });
43
+ req.on('error', reject);
44
+ req.write(body);
45
+ req.end();
46
+ });
47
+ }
48
+ export function createJitGitTokenClient(options) {
49
+ const { socketPath, logger } = options;
50
+ return {
51
+ async fetch(credentialId) {
52
+ const body = credentialId === undefined ? '{}' : JSON.stringify({ credentialId });
53
+ let response;
54
+ try {
55
+ response = await postToControlSocket(socketPath, body);
56
+ }
57
+ catch (err) {
58
+ const cause = err.code ?? err.message;
59
+ throw new JitTokenError('CONTROL_SOCKET_UNREACHABLE', `control socket at ${socketPath} unreachable (${cause})`, { cause });
60
+ }
61
+ if (response.status >= 200 && response.status < 300) {
62
+ let parsed;
63
+ try {
64
+ parsed = JSON.parse(response.body);
65
+ }
66
+ catch {
67
+ logger?.warn({ socketPath, status: response.status }, 'jit-git-token-client: non-JSON success body');
68
+ throw new JitTokenError('RESPONSE_PARSE_ERROR', 'control-plane returned a non-JSON body on success');
69
+ }
70
+ if (typeof parsed.token !== 'string' || parsed.token.length === 0) {
71
+ throw new JitTokenError('RESPONSE_PARSE_ERROR', 'control-plane response missing token');
72
+ }
73
+ if (typeof parsed.expiresAt !== 'string') {
74
+ throw new JitTokenError('RESPONSE_PARSE_ERROR', 'control-plane response missing expiresAt');
75
+ }
76
+ const expiresAtMs = Date.parse(parsed.expiresAt);
77
+ if (!Number.isFinite(expiresAtMs)) {
78
+ throw new JitTokenError('RESPONSE_PARSE_ERROR', `control-plane returned an unparseable expiresAt: ${parsed.expiresAt}`);
79
+ }
80
+ return { token: parsed.token, expiresAt: new Date(expiresAtMs) };
81
+ }
82
+ // Non-2xx — extract code/message from error body if possible.
83
+ let code = 'CLOUD_UPSTREAM_ERROR';
84
+ let message = `HTTP ${response.status}`;
85
+ let details;
86
+ try {
87
+ const errBody = JSON.parse(response.body);
88
+ if (typeof errBody.code === 'string' && KNOWN_ERROR_CODES.has(errBody.code)) {
89
+ code = errBody.code;
90
+ }
91
+ if (typeof errBody.error === 'string') {
92
+ message = errBody.error;
93
+ }
94
+ if (errBody.details && typeof errBody.details === 'object') {
95
+ details = errBody.details;
96
+ }
97
+ }
98
+ catch {
99
+ // Body was empty / not JSON — keep defaults.
100
+ }
101
+ throw new JitTokenError(code, message, details);
102
+ },
103
+ };
104
+ }
105
+ //# sourceMappingURL=jit-git-token-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jit-git-token-client.js","sourceRoot":"","sources":["../../../src/services/jit-git-token-client.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,7 @@ export declare class VsCodeTunnelProcessManager implements VsCodeTunnelManager {
54
54
  private tunnelUrl;
55
55
  private actualTunnelName;
56
56
  private stopping;
57
+ private timedOut;
57
58
  constructor(opts: VsCodeTunnelManagerOptions);
58
59
  /** Extract the registered tunnel name from a `https://vscode.dev/tunnel/<name>/…` URL. */
59
60
  private tunnelNameFromUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-tunnel-manager.d.ts","sourceRoot":"","sources":["../../../src/services/vscode-tunnel-manager.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,UAAU,GACV,uBAAuB,GACvB,WAAW,GACX,cAAc,GACd,OAAO,CAAC;AAEZ,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC1C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,SAAS,IAAI,kBAAkB,CAAC;IAChC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAC5D,eAAO,MAAM,8BAA8B,QAAS,CAAC;AACrD,eAAO,MAAM,6BAA6B,OAAQ,CAAC;AAQnD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED,wBAAgB,kBAAkB,CAChC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,0BAA0B,CAc5B;AAOD,qBAAa,0BAA2B,YAAW,mBAAmB;IAkBxD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAjBjC,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,SAAS,CAAuB;IAOxC,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAS;gBAEI,IAAI,EAAE,0BAA0B;IAE7D,0FAA0F;IAC1F,OAAO,CAAC,iBAAiB;IAIzB,SAAS,IAAI,kBAAkB;IAIzB,KAAK,IAAI,OAAO,CAAC,uBAAuB,CAAC;IA+HzC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBrB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAuDjC,OAAO,CAAC,gBAAgB;IA+DxB,OAAO,CAAC,oBAAoB;CAM7B;AAID,wBAAgB,sBAAsB,IAAI,mBAAmB,CAK5D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAE7E"}
1
+ {"version":3,"file":"vscode-tunnel-manager.d.ts","sourceRoot":"","sources":["../../../src/services/vscode-tunnel-manager.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,UAAU,GACV,uBAAuB,GACvB,WAAW,GACX,cAAc,GACd,OAAO,CAAC;AAEZ,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC1C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,SAAS,IAAI,kBAAkB,CAAC;IAChC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAC5D,eAAO,MAAM,8BAA8B,QAAS,CAAC;AACrD,eAAO,MAAM,6BAA6B,OAAQ,CAAC;AAQnD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED,wBAAgB,kBAAkB,CAChC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,0BAA0B,CAc5B;AAOD,qBAAa,0BAA2B,YAAW,mBAAmB;IAsBxD,OAAO,CAAC,QAAQ,CAAC,IAAI;IArBjC,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,SAAS,CAAuB;IAOxC,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAS;IAIzB,OAAO,CAAC,QAAQ,CAAS;gBAEI,IAAI,EAAE,0BAA0B;IAE7D,0FAA0F;IAC1F,OAAO,CAAC,iBAAiB;IAIzB,SAAS,IAAI,kBAAkB;IAIzB,KAAK,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAqKzC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBrB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAuDjC,OAAO,CAAC,gBAAgB;IA+DxB,OAAO,CAAC,oBAAoB;CAM7B;AAID,wBAAgB,sBAAsB,IAAI,mBAAmB,CAK5D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAE7E"}
@@ -64,6 +64,10 @@ export class VsCodeTunnelProcessManager {
64
64
  // cloud/UI deep-links to the tunnel that's actually running, not the dead one.
65
65
  actualTunnelName = null;
66
66
  stopping = false;
67
+ // Set by the device-code timeout handler before it kills the child so the
68
+ // exit handler can suppress the wasPending `error` emit. Cleared at the top
69
+ // of the exit handler alongside `stopping` so a stale value cannot leak.
70
+ timedOut = false;
67
71
  constructor(opts) {
68
72
  this.opts = opts;
69
73
  }
@@ -76,25 +80,38 @@ export class VsCodeTunnelProcessManager {
76
80
  }
77
81
  async start() {
78
82
  if (this.child) {
79
- if (this.status === "authorization_pending" && this.deviceCode) {
80
- emitTunnelEvent({
81
- status: "authorization_pending",
82
- deviceCode: this.deviceCode,
83
- verificationUri: this.verificationUri ?? "https://github.com/login/device",
84
- tunnelName: this.opts.tunnelName,
85
- });
83
+ // Defense-in-depth (FR-003): if some code path has left a stale child
84
+ // behind alongside a resting-error status, don't early-return — SIGTERM
85
+ // the stale child (via stop(), which handles SIGKILL backstop) and fall
86
+ // through to a fresh spawn. `await` guarantees no two `code tunnel
87
+ // --name <same>` processes ever overlap (#743).
88
+ if (this.status === "error" ||
89
+ this.status === "disconnected" ||
90
+ this.status === "stopped") {
91
+ await this.stop();
92
+ // fall through to the fresh-spawn path below
86
93
  }
87
- else if (this.status === "connected") {
88
- emitTunnelEvent({
89
- status: "connected",
94
+ else {
95
+ if (this.status === "authorization_pending" && this.deviceCode) {
96
+ emitTunnelEvent({
97
+ status: "authorization_pending",
98
+ deviceCode: this.deviceCode,
99
+ verificationUri: this.verificationUri ?? "https://github.com/login/device",
100
+ tunnelName: this.opts.tunnelName,
101
+ });
102
+ }
103
+ else if (this.status === "connected") {
104
+ emitTunnelEvent({
105
+ status: "connected",
106
+ tunnelName: this.actualTunnelName ?? this.opts.tunnelName,
107
+ tunnelUrl: this.tunnelUrl ?? undefined,
108
+ });
109
+ }
110
+ return {
111
+ status: this.status,
90
112
  tunnelName: this.actualTunnelName ?? this.opts.tunnelName,
91
- tunnelUrl: this.tunnelUrl ?? undefined,
92
- });
113
+ };
93
114
  }
94
- return {
95
- status: this.status,
96
- tunnelName: this.actualTunnelName ?? this.opts.tunnelName,
97
- };
98
115
  }
99
116
  this.status = "starting";
100
117
  this.stdoutBuffer = [];
@@ -113,7 +130,9 @@ export class VsCodeTunnelProcessManager {
113
130
  const wasConnected = this.status === "connected";
114
131
  const wasPending = this.status === "authorization_pending" || this.status === "starting";
115
132
  const stopInitiated = this.stopping;
133
+ const timedOut = this.timedOut;
116
134
  this.stopping = false;
135
+ this.timedOut = false;
117
136
  this.child = null;
118
137
  this.clearDeviceCodeTimer();
119
138
  this.deviceCode = null;
@@ -123,6 +142,11 @@ export class VsCodeTunnelProcessManager {
123
142
  if (stopInitiated) {
124
143
  this.status = "stopped";
125
144
  }
145
+ else if (timedOut) {
146
+ // Device-code timeout initiated this exit. status was already set to
147
+ // "error" and the single `error` event was emitted by the timeout
148
+ // handler; suppress the wasPending duplicate emit.
149
+ }
126
150
  else if (wasConnected) {
127
151
  this.status = "disconnected";
128
152
  emitTunnelEvent({
@@ -183,7 +207,26 @@ export class VsCodeTunnelProcessManager {
183
207
  status: "error",
184
208
  error: "Timed out waiting for device code",
185
209
  details: last20 || undefined,
210
+ tunnelName: this.opts.tunnelName,
186
211
  });
212
+ // Kill the child so the exit handler can clear `this.child`, otherwise
213
+ // every subsequent start() (the Restart button) will hit the early-
214
+ // return with a live `this.child` and silently no-op. `timedOut`
215
+ // routes the exit-handler cascade past the wasPending branch so we
216
+ // don't emit a second, misleading "code tunnel exited (code N)" event.
217
+ this.timedOut = true;
218
+ this.child?.kill("SIGTERM");
219
+ const forceKillMs = this.opts.forceKillTimeoutMs ?? DEFAULT_FORCE_KILL_TIMEOUT_MS;
220
+ const forceKillTimer = setTimeout(() => {
221
+ try {
222
+ this.child?.kill("SIGKILL");
223
+ }
224
+ catch {
225
+ // already gone
226
+ }
227
+ }, forceKillMs);
228
+ if (typeof forceKillTimer.unref === "function")
229
+ forceKillTimer.unref();
187
230
  }
188
231
  }, timeoutMs);
189
232
  if (typeof this.deviceCodeTimer.unref === "function")
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-tunnel-manager.js","sourceRoot":"","sources":["../../../src/services/vscode-tunnel-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vscode-tunnel-manager.js","sourceRoot":"","sources":["../../../src/services/vscode-tunnel-manager.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ export function mapCredentialToEnvEntries(id, type, value) {
45
45
  export function formatEnvFile(entries) {
46
46
  if (entries.length === 0)
47
47
  return '';
48
- return entries.map((e) => `${e.key}=${e.value}`).join('\n');
48
+ return entries.map((e) => `${e.key}=${e.value}`).join('\n') + '\n';
49
49
  }
50
50
  export async function writeWizardEnvFile(options) {
51
51
  const { agencyDir, envFilePath = DEFAULT_ENV_FILE_PATH } = options;
@@ -1 +1 @@
1
- {"version":3,"file":"wizard-env-writer.js","sourceRoot":"","sources":["../../../src/services/wizard-env-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wizard-env-writer.js","sourceRoot":"","sources":["../../../src/services/wizard-env-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AA6B9D,MAAM,qBAAqB,GAAG,0CAA0C,CAAC;AAEzE,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,EAAU,EACV,IAAY,EACZ,KAAa;IAEb,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAI9B,CAAC;YACF,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChE,MAAM,OAAO,GAAe,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACvE,IAAI,QAA4B,CAAC;gBACjC,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;oBAChD,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;oBAC/C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,QAAQ,GAAG,OAAO,CAAC;oBACrB,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,QAAQ,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3F,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC;gBACjC,CAAC;gBACD,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACtD,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,QAAQ,2BAA2B,EAAE,CAAC,CAAC;gBACnF,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,OAAO,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAmB;IAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAkC;IAElC,MAAM,EAAE,SAAS,EAAE,WAAW,GAAG,qBAAqB,EAAE,GAAG,OAAO,CAAC;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAE1D,wDAAwD;IACxD,IAAI,cAAc,GAAqC,EAAE,CAAC;IAC1D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM,EAAE,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAClE,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,CAAC;IACH,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,uDAAuD;YACvD,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACrD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QAC5D,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAClD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAC5D,CAAC;IAED,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,yBAAyB,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAEzE,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEvF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AAC7C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@generacy-ai/control-plane",
3
- "version": "0.6.0",
3
+ "version": "0.7.1",
4
4
  "description": "In-cluster control-plane HTTP service over Unix socket for cloud-hosted bootstrap UI",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -21,7 +21,7 @@
21
21
  "dependencies": {
22
22
  "yaml": "^2.7.0",
23
23
  "zod": "^3.23.0",
24
- "@generacy-ai/config": "0.2.0",
24
+ "@generacy-ai/config": "0.3.0",
25
25
  "@generacy-ai/credhelper": "0.1.1"
26
26
  },
27
27
  "devDependencies": {