@trebired/code-server-kit 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +318 -82
  3. package/dist/errors.d.ts +37 -4
  4. package/dist/errors.d.ts.map +1 -1
  5. package/dist/errors.js +73 -7
  6. package/dist/errors.js.map +1 -1
  7. package/dist/index.d.ts +10 -3
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +9 -2
  10. package/dist/index.js.map +1 -1
  11. package/dist/launch.d.ts +2 -3
  12. package/dist/launch.d.ts.map +1 -1
  13. package/dist/launch.js +15 -223
  14. package/dist/launch.js.map +1 -1
  15. package/dist/logging.d.ts +5 -0
  16. package/dist/logging.d.ts.map +1 -0
  17. package/dist/logging.js +11 -0
  18. package/dist/logging.js.map +1 -0
  19. package/dist/plan.d.ts +15 -0
  20. package/dist/plan.d.ts.map +1 -0
  21. package/dist/plan.js +355 -0
  22. package/dist/plan.js.map +1 -0
  23. package/dist/profile.d.ts +8 -0
  24. package/dist/profile.d.ts.map +1 -0
  25. package/dist/profile.js +107 -0
  26. package/dist/profile.js.map +1 -0
  27. package/dist/proxy.d.ts +6 -0
  28. package/dist/proxy.d.ts.map +1 -0
  29. package/dist/proxy.js +92 -0
  30. package/dist/proxy.js.map +1 -0
  31. package/dist/readiness.d.ts.map +1 -1
  32. package/dist/readiness.js +42 -4
  33. package/dist/readiness.js.map +1 -1
  34. package/dist/resolve.d.ts.map +1 -1
  35. package/dist/resolve.js +3 -1
  36. package/dist/resolve.js.map +1 -1
  37. package/dist/session.d.ts +11 -0
  38. package/dist/session.d.ts.map +1 -0
  39. package/dist/session.js +888 -0
  40. package/dist/session.js.map +1 -0
  41. package/dist/spec.d.ts +7 -0
  42. package/dist/spec.d.ts.map +1 -0
  43. package/dist/spec.js +64 -0
  44. package/dist/spec.js.map +1 -0
  45. package/dist/systemd.d.ts +17 -0
  46. package/dist/systemd.d.ts.map +1 -0
  47. package/dist/systemd.js +254 -0
  48. package/dist/systemd.js.map +1 -0
  49. package/dist/types.d.ts +300 -3
  50. package/dist/types.d.ts.map +1 -1
  51. package/package.json +3 -2
package/dist/readiness.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import net from "node:net";
2
- import { CodeServerProcessExitedBeforeReadyError, CodeServerStartupTimeoutError, } from "./errors.js";
2
+ import { CodeServerInvalidConfigurationError, CodeServerProcessExitedBeforeReadyError, CodeServerStartupProbeError, CodeServerStartupTimeoutError, } from "./errors.js";
3
3
  const DEFAULT_READY_HOST = "127.0.0.1";
4
4
  const DEFAULT_READY_RETRY_INTERVAL_MS = 100;
5
5
  const DEFAULT_READY_TIMEOUT_MS = 30000;
@@ -20,7 +20,22 @@ async function waitForCodeServerReady(options) {
20
20
  if (exitResult) {
21
21
  throw createExitedBeforeReadyError(host, port, exitResult, options.process);
22
22
  }
23
- const remainingMs = timeoutMs - (Date.now() - startedAt);
23
+ const elapsedMs = Date.now() - startedAt;
24
+ const probeFailure = await runFailureProbe(options, {
25
+ elapsedMs,
26
+ host,
27
+ port,
28
+ process: options.process,
29
+ });
30
+ if (probeFailure) {
31
+ throw new CodeServerStartupProbeError(probeFailure.message, {
32
+ ...(probeFailure.details ?? {}),
33
+ elapsedMs,
34
+ host,
35
+ port,
36
+ });
37
+ }
38
+ const remainingMs = timeoutMs - elapsedMs;
24
39
  const connected = await canConnect(host, port, Math.min(CONNECT_ATTEMPT_TIMEOUT_MS, remainingMs));
25
40
  if (connected) {
26
41
  return {
@@ -62,6 +77,27 @@ async function canConnect(host, port, timeoutMs) {
62
77
  socket.once("timeout", () => finish(false));
63
78
  });
64
79
  }
80
+ async function runFailureProbe(options, context) {
81
+ if (!options.failureProbe)
82
+ return null;
83
+ const result = await options.failureProbe(context);
84
+ if (!result)
85
+ return null;
86
+ if (typeof result === "string") {
87
+ return {
88
+ message: result,
89
+ };
90
+ }
91
+ if (result instanceof Error) {
92
+ return {
93
+ message: result.message,
94
+ details: {
95
+ name: result.name,
96
+ },
97
+ };
98
+ }
99
+ return result;
100
+ }
65
101
  function createExitedBeforeReadyError(host, port, exitResult, process) {
66
102
  return new CodeServerProcessExitedBeforeReadyError("code-server exited before the TCP port became ready.", {
67
103
  code: exitResult.code,
@@ -78,7 +114,7 @@ function normalizeReadyHost(value) {
78
114
  }
79
115
  function normalizeReadyPort(value) {
80
116
  if (!Number.isInteger(value) || value < 1 || value > 65535) {
81
- throw new TypeError("waitForCodeServerReady requires a TCP port between 1 and 65535.");
117
+ throw new CodeServerInvalidConfigurationError("waitForCodeServerReady requires a TCP port between 1 and 65535.", { value });
82
118
  }
83
119
  return value;
84
120
  }
@@ -86,7 +122,9 @@ function normalizePositiveDuration(value, fallback) {
86
122
  if (value == null)
87
123
  return fallback;
88
124
  if (!Number.isFinite(value) || value <= 0) {
89
- throw new TypeError("Readiness durations must be greater than zero.");
125
+ throw new CodeServerInvalidConfigurationError("Readiness durations must be greater than zero.", {
126
+ value,
127
+ });
90
128
  }
91
129
  return Math.floor(value);
92
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAE3B,OAAO,EACL,mCAAmC,EACnC,uCAAuC,EACvC,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AAQrB,MAAM,kBAAkB,GAAG,WAAW,CAAC;AACvC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAC5C,MAAM,wBAAwB,GAAG,KAAM,CAAC;AACxC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAEvC,KAAK,UAAU,sBAAsB,CAAC,OAA+B;IACnE,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,yBAAyB,CAC/C,OAAO,CAAC,eAAe,EACvB,+BAA+B,CAChC,CAAC;IACF,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IACzF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,UAAU,GAAiC,IAAI,CAAC;IAEpD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACxC,UAAU,GAAG,MAAM,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;QAC1C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACzC,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE;YAClD,SAAS;YACT,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;QAEH,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,2BAA2B,CAAC,YAAY,CAAC,OAAO,EAAE;gBAC1D,GAAG,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC/B,SAAS;gBACT,IAAI;gBACJ,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC,CAAC;QAClG,IAAI,SAAS,EAAE,CAAC;YACd,OAAO;gBACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACjC,IAAI;gBACJ,IAAI;aACL,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,IAAI,6BAA6B,CAAC,8DAA8D,EAAE;QACtG,IAAI;QACJ,IAAI;QACJ,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE;QACpC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE;QACpC,SAAS;KACV,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,IAAY,EAAE,SAAiB;IACrE,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;YACzB,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;QACH,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,EAAE;YAChC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,OAA+B,EAC/B,OAKC;IAED,IAAI,CAAC,OAAO,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAEvC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO;YACL,OAAO,EAAE,MAAM;SAChB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;QAC5B,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB;SACF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,4BAA4B,CACnC,IAAY,EACZ,IAAY,EACZ,UAAiC,EACjC,OAA2C;IAE3C,OAAO,IAAI,uCAAuC,CAAC,sDAAsD,EAAE;QACzG,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,IAAI;QACJ,IAAI;QACJ,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QAC5B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,OAAO,UAAU,IAAI,kBAAkB,CAAC;AAC1C,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;QAC3D,MAAM,IAAI,mCAAmC,CAC3C,iEAAiE,EACjE,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAyB,EAAE,QAAgB;IAC5E,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,QAAQ,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,mCAAmC,CAAC,gDAAgD,EAAE;YAC9F,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,KAAK,CAAC,UAAkB;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAuB,sBAAsB,EAAE,oCAAoC,EAAE,MAAM,YAAY,CAAC;AAQpH,iBAAS,6BAA6B,CAAC,OAAO,GAAE,oCAAyC,GAAG,sBAAsB,CAuBjH;AAsGD,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAuB,sBAAsB,EAAE,oCAAoC,EAAE,MAAM,YAAY,CAAC;AAQpH,iBAAS,6BAA6B,CAAC,OAAO,GAAE,oCAAyC,GAAG,sBAAsB,CAyBjH;AAsGD,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
package/dist/resolve.js CHANGED
@@ -11,6 +11,7 @@ function resolveCodeServerInstallation(options = {}) {
11
11
  if (!isFile(entryPoint)) {
12
12
  throw new CodeServerBinaryNotFoundError("Resolved code-server entrypoint was not found.", {
13
13
  entryPoint,
14
+ entryRelativePath,
14
15
  packageJsonPath,
15
16
  packageRoot,
16
17
  });
@@ -18,6 +19,7 @@ function resolveCodeServerInstallation(options = {}) {
18
19
  return {
19
20
  entryKind: detectEntryKind(entryPoint),
20
21
  entryPoint,
22
+ entryRelativePath,
21
23
  packageJsonPath,
22
24
  packageRoot,
23
25
  supportRoot: resolveSupportRoot(packageRoot),
@@ -75,7 +77,7 @@ function resolveEntryRelativePath(packageJson) {
75
77
  if (typeof packageJson.main === "string" && packageJson.main.trim()) {
76
78
  return packageJson.main;
77
79
  }
78
- throw new CodeServerPackageResolutionError("The installed code-server package does not expose a launch entrypoint.", {});
80
+ throw new CodeServerBinaryNotFoundError("The installed code-server package does not expose a launch entrypoint.", {});
79
81
  }
80
82
  function detectEntryKind(entryPoint) {
81
83
  const extension = path.extname(entryPoint).toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { CodeServerSessionDiagnostics, CodeServerSessionManager, CodeServerSessionManagerOptions, CodeServerSessionRequest, CodeServerSessionRestartResult, CodeServerSessionStartResult, CodeServerSessionStatus, CodeServerSessionStopResult } from "./types.js";
2
+ declare function createCodeServerSessionManager(options?: CodeServerSessionManagerOptions): CodeServerSessionManager;
3
+ declare function startCodeServerSession(options: CodeServerSessionRequest): Promise<CodeServerSessionStartResult>;
4
+ declare function stopCodeServerSession(options: Pick<CodeServerSessionRequest, "logger" | "loggerAdapter" | "profile" | "sessionKey" | "stateRoot"> & {
5
+ signal?: NodeJS.Signals | number;
6
+ }): Promise<CodeServerSessionStopResult | null>;
7
+ declare function restartCodeServerSession(options: CodeServerSessionRequest): Promise<CodeServerSessionRestartResult>;
8
+ declare function getCodeServerSessionStatus(options: Pick<CodeServerSessionRequest, "logger" | "loggerAdapter" | "sessionKey" | "stateRoot">): Promise<CodeServerSessionStatus | null>;
9
+ declare function readCodeServerSessionDiagnostics(options: Pick<CodeServerSessionRequest, "sessionKey" | "stateRoot">): Promise<CodeServerSessionDiagnostics | null>;
10
+ export { createCodeServerSessionManager, getCodeServerSessionStatus, readCodeServerSessionDiagnostics, restartCodeServerSession, startCodeServerSession, stopCodeServerSession, };
11
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAKV,4BAA4B,EAG5B,wBAAwB,EACxB,+BAA+B,EAE/B,wBAAwB,EACxB,8BAA8B,EAC9B,4BAA4B,EAE5B,uBAAuB,EACvB,2BAA2B,EAG5B,MAAM,YAAY,CAAC;AAOpB,iBAAS,8BAA8B,CAAC,OAAO,GAAE,+BAAoC,GAAG,wBAAwB,CAqE/G;AAED,iBAAe,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAS9G;AAED,iBAAe,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,QAAQ,GAAG,eAAe,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,CAAC,GAAG;IAClJ,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;CAClC,GAAG,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAO9C;AAED,iBAAe,wBAAwB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,8BAA8B,CAAC,CASlH;AAED,iBAAe,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,QAAQ,GAAG,eAAe,GAAG,YAAY,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAOnL;AAED,iBAAe,gCAAgC,CAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,YAAY,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAIjK;AAo5BD,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,gCAAgC,EAChC,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,GACtB,CAAC"}