@jmfederico/pi-web 1.202606.0 → 1.202606.2

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 (95) hide show
  1. package/README.md +23 -7
  2. package/dist/client/assets/{CodeViewer-N88Bx8F6.js → CodeViewer-iYSv2-dg.js} +1 -1
  3. package/dist/client/assets/{TerminalPanel-DKiL51Xi.js → TerminalPanel-BpFW6j27.js} +4 -4
  4. package/dist/client/assets/index-D4dbiKXF.js +2210 -0
  5. package/dist/client/index.html +1 -1
  6. package/dist/config.js +63 -1
  7. package/dist/config.js.map +1 -1
  8. package/dist/pi-web-plugins/info/pi-web-plugin.js +8 -1
  9. package/dist/pi-web-plugins/updates/package.json +9 -0
  10. package/dist/pi-web-plugins/{pi-web → updates}/pi-web-plugin.js +38 -30
  11. package/dist/pi-web-plugins/workspace-tasks/config.js +91 -0
  12. package/dist/pi-web-plugins/workspace-tasks/package.json +9 -0
  13. package/dist/pi-web-plugins/workspace-tasks/pi-web-plugin.js +48 -0
  14. package/dist/pi-web-plugins/workspace-tasks/taskRunner.js +12 -0
  15. package/dist/pi-web-plugins/workspace-tasks/tasksPanelElement.js +292 -0
  16. package/dist/pi-web-plugins/workspace-tasks/workspaceTasksClient.js +47 -0
  17. package/dist/plugin-api/unstable.d.ts +22 -0
  18. package/dist/plugin-api.d.ts +169 -0
  19. package/dist/server/app.js +63 -26
  20. package/dist/server/app.js.map +1 -1
  21. package/dist/server/configRoutes.js +123 -0
  22. package/dist/server/configRoutes.js.map +1 -0
  23. package/dist/server/git/gitEnv.js +15 -0
  24. package/dist/server/git/gitEnv.js.map +1 -0
  25. package/dist/server/git/gitService.js +2 -1
  26. package/dist/server/git/gitService.js.map +1 -1
  27. package/dist/server/gitRoutes.js +3 -3
  28. package/dist/server/gitRoutes.js.map +1 -1
  29. package/dist/server/machines/machineClient.js +134 -0
  30. package/dist/server/machines/machineClient.js.map +1 -0
  31. package/dist/server/machines/machinePluginProxyRoutes.js +187 -0
  32. package/dist/server/machines/machinePluginProxyRoutes.js.map +1 -0
  33. package/dist/server/machines/machineProxyRoutes.js +92 -0
  34. package/dist/server/machines/machineProxyRoutes.js.map +1 -0
  35. package/dist/server/machines/machineRoutes.js +56 -0
  36. package/dist/server/machines/machineRoutes.js.map +1 -0
  37. package/dist/server/machines/machineService.js +260 -0
  38. package/dist/server/machines/machineService.js.map +1 -0
  39. package/dist/server/machines/machineStore.js +128 -0
  40. package/dist/server/machines/machineStore.js.map +1 -0
  41. package/dist/server/piWebPluginService.js +45 -15
  42. package/dist/server/piWebPluginService.js.map +1 -1
  43. package/dist/server/piWebStatus.js +127 -36
  44. package/dist/server/piWebStatus.js.map +1 -1
  45. package/dist/server/piWebStatusCache.js +32 -0
  46. package/dist/server/piWebStatusCache.js.map +1 -0
  47. package/dist/server/sessiond/sessionProxyRoutes.js +17 -14
  48. package/dist/server/sessiond/sessionProxyRoutes.js.map +1 -1
  49. package/dist/server/sessiond.js +18 -7
  50. package/dist/server/sessiond.js.map +1 -1
  51. package/dist/server/sessions/piSessionManagerGateway.js +87 -0
  52. package/dist/server/sessions/piSessionManagerGateway.js.map +1 -0
  53. package/dist/server/sessions/piSessionService.js +147 -66
  54. package/dist/server/sessions/piSessionService.js.map +1 -1
  55. package/dist/server/sessions/sessionArchiveStore.js +12 -0
  56. package/dist/server/sessions/sessionArchiveStore.js.map +1 -1
  57. package/dist/server/sessions/sessionNameGenerator.js +2 -0
  58. package/dist/server/sessions/sessionNameGenerator.js.map +1 -1
  59. package/dist/server/sessions/sessionRoutes.js +126 -43
  60. package/dist/server/sessions/sessionRoutes.js.map +1 -1
  61. package/dist/server/terminalProxyRoutes.js +20 -10
  62. package/dist/server/terminalProxyRoutes.js.map +1 -1
  63. package/dist/server/terminals/terminalRoutes.js +11 -0
  64. package/dist/server/terminals/terminalRoutes.js.map +1 -1
  65. package/dist/server/terminals/terminalService.js +6 -0
  66. package/dist/server/terminals/terminalService.js.map +1 -1
  67. package/dist/server/workspaceExplorerRoutes.js +4 -4
  68. package/dist/server/workspaceExplorerRoutes.js.map +1 -1
  69. package/dist/server/workspaces/fileSuggestions.js +98 -17
  70. package/dist/server/workspaces/fileSuggestions.js.map +1 -1
  71. package/dist/server/workspaces/gitWorktreeDiscovery.js +3 -2
  72. package/dist/server/workspaces/gitWorktreeDiscovery.js.map +1 -1
  73. package/dist/server/workspaces/workspaceDeletionRoutes.js +113 -0
  74. package/dist/server/workspaces/workspaceDeletionRoutes.js.map +1 -0
  75. package/dist/shared/apiTypes.d.ts +498 -0
  76. package/dist/shared/apiTypes.js +3 -1
  77. package/dist/shared/apiTypes.js.map +1 -1
  78. package/dist/shared/capabilities.js +25 -0
  79. package/dist/shared/capabilities.js.map +1 -0
  80. package/dist/shared/federatedRoutes.js +61 -0
  81. package/dist/shared/federatedRoutes.js.map +1 -0
  82. package/dist/shared/machinePluginIds.js +41 -0
  83. package/dist/shared/machinePluginIds.js.map +1 -0
  84. package/dist/shared/piWebStatusParsing.js +43 -0
  85. package/dist/shared/piWebStatusParsing.js.map +1 -1
  86. package/dist/shared/pluginIds.js +5 -0
  87. package/dist/shared/pluginIds.js.map +1 -0
  88. package/dist/shared/workspaceDeletion.js +12 -0
  89. package/dist/shared/workspaceDeletion.js.map +1 -0
  90. package/docs/plugins.md +278 -71
  91. package/package.json +8 -12
  92. package/plugin-api/unstable.d.ts +1 -0
  93. package/plugin-api.d.ts +1 -148
  94. package/dist/client/assets/index-DeSR1RUE.js +0 -1446
  95. package/dist/pi-web-plugins/pi-web/package.json +0 -9
@@ -3,8 +3,8 @@ import { readdir, readFile, realpath, stat } from "node:fs/promises";
3
3
  import { dirname, join, relative, resolve, sep } from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
5
  import { DefaultPackageManager, getAgentDir, SettingsManager } from "@earendil-works/pi-coding-agent";
6
- import { piWebDataDir } from "../config.js";
7
- const pluginIdPattern = /^[a-z][a-z0-9.-]*$/u;
6
+ import { loadPiWebConfig, piWebDataDir } from "../config.js";
7
+ import { isPiWebPluginId } from "../shared/pluginIds.js";
8
8
  export class DefaultPiPackageProvider {
9
9
  constructor(cwd = process.cwd(), agentDir = getAgentDir()) {
10
10
  this.packageManager = new DefaultPackageManager({
@@ -26,20 +26,21 @@ export class PiWebPluginService {
26
26
  const agentDir = options.agentDir ?? getAgentDir();
27
27
  this.roots = options.roots ?? defaultPluginRoots(cwd);
28
28
  this.packageProvider = options.packageProvider === false ? undefined : options.packageProvider ?? new DefaultPiPackageProvider(cwd, agentDir);
29
+ this.configProvider = options.configProvider ?? (() => loadPiWebConfig({ cwd }).config);
29
30
  }
30
31
  async manifest() {
31
- const plugins = await this.discoverPlugins();
32
32
  return {
33
- plugins: plugins.map((plugin) => ({
34
- id: plugin.id,
35
- module: `/pi-web-plugins/${encodeURIComponent(plugin.id)}/${plugin.entryFile}?v=${encodeURIComponent(plugin.version)}`,
36
- source: plugin.source,
37
- scope: plugin.scope,
38
- })),
33
+ plugins: (await this.plugins()).plugins
34
+ .filter((plugin) => plugin.enabled)
35
+ .map((plugin) => ({ id: plugin.id, module: plugin.module, source: plugin.source, scope: plugin.scope, machineSpecific: plugin.machineSpecific })),
39
36
  };
40
37
  }
38
+ async plugins() {
39
+ const [plugins, config] = await Promise.all([this.discoverPlugins(), Promise.resolve(this.configProvider())]);
40
+ return { plugins: plugins.map((plugin) => this.pluginInfo(plugin, config)) };
41
+ }
41
42
  async readAsset(pluginId, assetPath) {
42
- if (!pluginIdPattern.test(pluginId))
43
+ if (!isPiWebPluginId(pluginId))
43
44
  return undefined;
44
45
  const plugin = (await this.discoverPlugins()).find((candidate) => candidate.id === pluginId);
45
46
  if (plugin === undefined)
@@ -56,6 +57,16 @@ export class PiWebPluginService {
56
57
  return undefined;
57
58
  return { content: await readFile(realAsset), contentType: contentTypeFor(realAsset) };
58
59
  }
60
+ pluginInfo(plugin, config) {
61
+ return {
62
+ id: plugin.id,
63
+ module: `/pi-web-plugins/${encodeURIComponent(plugin.id)}/${plugin.entryFile}?v=${encodeURIComponent(plugin.version)}`,
64
+ source: plugin.source,
65
+ scope: plugin.scope,
66
+ machineSpecific: plugin.machineSpecific,
67
+ enabled: config.plugins?.[plugin.id]?.enabled !== false,
68
+ };
69
+ }
59
70
  async discoverPlugins() {
60
71
  const records = new Map();
61
72
  for (const plugin of await this.discoverLocalPlugins())
@@ -112,7 +123,7 @@ async function discoverLocalRoot(root) {
112
123
  const entries = await readdir(root.path, { withFileTypes: true }).catch(() => []);
113
124
  const plugins = [];
114
125
  for (const entry of entries) {
115
- if (!pluginIdPattern.test(entry.name))
126
+ if (!isPiWebPluginId(entry.name))
116
127
  continue;
117
128
  const pluginRoot = join(root.path, entry.name);
118
129
  const pluginStat = entry.isDirectory() ? undefined : entry.isSymbolicLink() ? await stat(pluginRoot).catch(() => undefined) : undefined;
@@ -150,7 +161,7 @@ async function discoverPluginEntries(root, config) {
150
161
  const entryStat = await stat(entryPath).catch(() => undefined);
151
162
  if (entryStat?.isFile() !== true)
152
163
  throw new Error(`PI WEB plugin module not found for ${entry.id}: ${entry.module}`);
153
- plugins.push({ id: entry.id, root, entryFile: entry.module, version: String(Math.floor(entryStat.mtimeMs)) });
164
+ plugins.push({ id: entry.id, root, entryFile: entry.module, version: String(Math.floor(entryStat.mtimeMs)), machineSpecific: entry.machineSpecific });
154
165
  }
155
166
  return plugins;
156
167
  }
@@ -172,7 +183,7 @@ async function readPiWebPackageConfig(root) {
172
183
  }
173
184
  function parsePluginEntries(piWeb, packagePath) {
174
185
  if (piWeb["plugin"] !== undefined)
175
- throw new Error(`Unsupported PI WEB plugin metadata in ${packagePath}: use piWeb.plugins with { id, module } entries`);
186
+ throw new Error(`Unsupported PI WEB plugin metadata in ${packagePath}: use piWeb.plugins with { id, module, machineSpecific? } entries`);
176
187
  const plugins = piWeb["plugins"];
177
188
  if (plugins === undefined)
178
189
  return [];
@@ -183,13 +194,32 @@ function parsePluginEntries(piWeb, packagePath) {
183
194
  throw new Error(`PI WEB plugin entry ${String(index + 1)} must be an object in ${packagePath}`);
184
195
  const id = entry["id"];
185
196
  const module = entry["module"];
186
- if (typeof id !== "string" || !pluginIdPattern.test(id))
197
+ if (typeof id !== "string" || !isPiWebPluginId(id))
187
198
  throw new Error(`Invalid PI WEB plugin id in ${packagePath}: ${String(id)}`);
188
199
  if (typeof module !== "string" || module === "")
189
200
  throw new Error(`Invalid PI WEB plugin module for ${id} in ${packagePath}`);
190
- return { id, module };
201
+ return { id, module, machineSpecific: parseMachineSpecific(entry["machineSpecific"], packagePath, id) };
191
202
  });
192
203
  }
204
+ function parseMachineSpecific(value, packagePath, pluginId) {
205
+ if (value === undefined)
206
+ return false;
207
+ if (typeof value !== "boolean")
208
+ throw new Error(`Invalid PI WEB plugin machineSpecific value for ${pluginId} in ${packagePath}: ${formatUnknownValue(value)}`);
209
+ return value;
210
+ }
211
+ function formatUnknownValue(value) {
212
+ if (typeof value === "string")
213
+ return value;
214
+ if (typeof value === "number" || typeof value === "boolean" || typeof value === "bigint" || typeof value === "symbol" || typeof value === "function" || value === null || value === undefined)
215
+ return String(value);
216
+ try {
217
+ return JSON.stringify(value);
218
+ }
219
+ catch {
220
+ return Object.prototype.toString.call(value);
221
+ }
222
+ }
193
223
  function addUnique(records, plugin) {
194
224
  if (records.has(plugin.id)) {
195
225
  warnInvalidPlugin(plugin.source, `Duplicate PI WEB plugin id: ${plugin.id}`);
@@ -1 +1 @@
1
- {"version":3,"file":"piWebPluginService.js","sourceRoot":"","sources":["../../src/server/piWebPluginService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"piWebPluginService.js","sourceRoot":"","sources":["../../src/server/piWebPluginService.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,20 @@
1
- import { spawnSync } from "node:child_process";
1
+ import { execFile } from "node:child_process";
2
2
  import { existsSync, readFileSync } from "node:fs";
3
3
  import { readFile, realpath, stat } from "node:fs/promises";
4
+ import { promisify } from "node:util";
4
5
  import { homedir } from "node:os";
5
6
  import { dirname, join, relative, resolve, sep } from "node:path";
6
7
  import { fileURLToPath } from "node:url";
7
8
  import { DefaultPackageManager, getAgentDir, SettingsManager } from "@earendil-works/pi-coding-agent";
8
- import { parsePiWebComponentStatus } from "../shared/piWebStatusParsing.js";
9
+ import { effectivePiWebCapabilities, WEB_RUNTIME_CAPABILITIES } from "../shared/capabilities.js";
10
+ import { parsePiWebComponentStatus, parsePiWebRuntimeComponent } from "../shared/piWebStatusParsing.js";
9
11
  import { SessionDaemonClient } from "../sessiond/sessionDaemonClient.js";
10
12
  const PI_WEB_PACKAGE_NAME = "@jmfederico/pi-web";
11
13
  const PI_WEB_NPM_SOURCE = `npm:${PI_WEB_PACKAGE_NAME}`;
12
14
  const DEFAULT_VERSION = "0.0.0-dev";
13
15
  const LATEST_RELEASE_CACHE_MS = 6 * 60 * 60 * 1000;
14
16
  const VERSION_CHECK_TIMEOUT_MS = 5000;
17
+ const execFileAsync = promisify(execFile);
15
18
  const serviceRefs = {
16
19
  sessiond: {
17
20
  id: "sessiond",
@@ -35,6 +38,25 @@ const serviceRefs = {
35
38
  const startServiceOrder = ["sessiond", "web", "uiDev"];
36
39
  let latestReleaseCache;
37
40
  const runtimePackageInfo = readPackageInfoSync();
41
+ export function getPiWebRuntimeComponent(component, capabilities = []) {
42
+ return {
43
+ component,
44
+ label: component === "web" ? "Web/UI" : "Session daemon",
45
+ runtimeVersion: runtimePackageInfo?.version ?? DEFAULT_VERSION,
46
+ available: true,
47
+ capabilities: [...capabilities],
48
+ };
49
+ }
50
+ export async function getPiWebRuntime(daemon = new SessionDaemonClient()) {
51
+ const web = getPiWebRuntimeComponent("web", WEB_RUNTIME_CAPABILITIES);
52
+ const sessiond = await getSessiondRuntimeComponent(daemon);
53
+ return {
54
+ packageName: PI_WEB_PACKAGE_NAME,
55
+ generatedAt: new Date().toISOString(),
56
+ components: { web, sessiond },
57
+ capabilities: effectivePiWebCapabilities({ web, sessiond }),
58
+ };
59
+ }
38
60
  export async function getPiWebComponentStatus(component) {
39
61
  const [installed, installation] = await Promise.all([
40
62
  readInstalledPackageInfo(),
@@ -68,7 +90,7 @@ export async function getPiWebStatus(daemon = new SessionDaemonClient()) {
68
90
  const { web, sessiond } = versionStatus.components;
69
91
  const release = await getLatestReleaseStatus(web.installedVersion ?? web.runtimeVersion ?? DEFAULT_VERSION);
70
92
  const components = { web, sessiond };
71
- const commands = commandsFor(components);
93
+ const commands = await commandsFor(components);
72
94
  const messages = buildMessages(components, release, commands);
73
95
  return {
74
96
  ...versionStatus,
@@ -162,7 +184,7 @@ async function detectPiPackageInstallation(realRoot, displayPath) {
162
184
  return undefined;
163
185
  }
164
186
  async function detectNpmGlobalInstallation(realRoot, displayPath) {
165
- const npmRoot = npmGlobalRoot();
187
+ const npmRoot = await npmGlobalRoot();
166
188
  if (npmRoot === undefined)
167
189
  return undefined;
168
190
  const realNpmRoot = await realPathOrSelf(npmRoot);
@@ -170,12 +192,15 @@ async function detectNpmGlobalInstallation(realRoot, displayPath) {
170
192
  return undefined;
171
193
  return { kind: "npm-global", path: displayPath, npmRoot };
172
194
  }
173
- function npmGlobalRoot() {
174
- const result = spawnSync("npm", ["root", "-g"], { encoding: "utf8" });
175
- if (result.status !== 0)
195
+ async function npmGlobalRoot() {
196
+ try {
197
+ const { stdout } = await execFileAsync("npm", ["root", "-g"], { encoding: "utf8" });
198
+ const root = stdout.trim();
199
+ return root === "" ? undefined : root;
200
+ }
201
+ catch {
176
202
  return undefined;
177
- const root = result.stdout.trim();
178
- return root === "" ? undefined : root;
203
+ }
179
204
  }
180
205
  function packageRootPath() {
181
206
  return dirname(packageJsonPath());
@@ -187,21 +212,80 @@ function isSameOrWithin(parent, candidate) {
187
212
  const rel = relative(parent, candidate);
188
213
  return rel === "" || (!rel.startsWith("..") && !rel.startsWith(sep));
189
214
  }
215
+ async function getSessiondRuntimeComponent(daemon) {
216
+ try {
217
+ const upstream = await daemon.request("GET", "/runtime");
218
+ if (upstream.statusCode < 200 || upstream.statusCode >= 300) {
219
+ return await legacySessiondRuntimeComponent(daemon) ?? unavailableSessiondRuntime(`runtime check returned HTTP ${String(upstream.statusCode)}`);
220
+ }
221
+ const parsed = upstream.body === "" ? undefined : JSON.parse(upstream.body);
222
+ const runtime = parsePiWebRuntimeComponent(parsed);
223
+ if (runtime !== undefined)
224
+ return runtime;
225
+ const legacyVersion = isRecord(parsed) ? parsePiWebComponentStatus(parsed["version"]) : undefined;
226
+ if (legacyVersion !== undefined)
227
+ return runtimeComponentFromStatus(legacyVersion);
228
+ return await legacySessiondRuntimeComponent(daemon) ?? unavailableSessiondRuntime("runtime response did not include valid runtime information");
229
+ }
230
+ catch (error) {
231
+ return unavailableSessiondRuntime(error instanceof Error ? error.message : String(error));
232
+ }
233
+ }
190
234
  async function getSessiondComponentStatus(daemon) {
191
235
  try {
192
- const upstream = await daemon.request("GET", "/health");
236
+ const upstream = await daemon.request("GET", "/runtime");
193
237
  if (upstream.statusCode < 200 || upstream.statusCode >= 300) {
194
- return unavailableSessiond(`health check returned HTTP ${String(upstream.statusCode)}`);
238
+ return await legacySessiondComponentStatus(daemon) ?? unavailableSessiond(`runtime check returned HTTP ${String(upstream.statusCode)}`);
195
239
  }
196
240
  const parsed = upstream.body === "" ? undefined : JSON.parse(upstream.body);
197
- const version = isRecord(parsed) ? parsed["version"] : undefined;
198
- const component = parsePiWebComponentStatus(version);
199
- return component ?? unavailableSessiond("health response did not include version information");
241
+ const legacyVersion = isRecord(parsed) ? parsePiWebComponentStatus(parsed["version"]) : undefined;
242
+ if (legacyVersion !== undefined)
243
+ return legacyVersion;
244
+ const runtime = parsePiWebRuntimeComponent(parsed);
245
+ if (runtime?.available !== true)
246
+ return await legacySessiondComponentStatus(daemon) ?? unavailableSessiond(runtime?.error ?? "runtime response did not include valid runtime information");
247
+ const status = await getPiWebComponentStatus("sessiond");
248
+ return { ...status, ...(runtime.runtimeVersion === undefined ? {} : { runtimeVersion: runtime.runtimeVersion }), available: true };
200
249
  }
201
250
  catch (error) {
202
251
  return unavailableSessiond(error instanceof Error ? error.message : String(error));
203
252
  }
204
253
  }
254
+ async function legacySessiondRuntimeComponent(daemon) {
255
+ const status = await legacySessiondComponentStatus(daemon);
256
+ return status === undefined ? undefined : runtimeComponentFromStatus(status);
257
+ }
258
+ async function legacySessiondComponentStatus(daemon) {
259
+ try {
260
+ const upstream = await daemon.request("GET", "/health");
261
+ if (upstream.statusCode < 200 || upstream.statusCode >= 300)
262
+ return undefined;
263
+ const parsed = upstream.body === "" ? undefined : JSON.parse(upstream.body);
264
+ return isRecord(parsed) ? parsePiWebComponentStatus(parsed["version"]) : undefined;
265
+ }
266
+ catch {
267
+ return undefined;
268
+ }
269
+ }
270
+ function runtimeComponentFromStatus(status) {
271
+ return {
272
+ component: status.component,
273
+ label: status.label,
274
+ ...(status.runtimeVersion === undefined ? {} : { runtimeVersion: status.runtimeVersion }),
275
+ available: status.available,
276
+ capabilities: [],
277
+ ...(status.error === undefined ? {} : { error: status.error }),
278
+ };
279
+ }
280
+ function unavailableSessiondRuntime(error) {
281
+ return {
282
+ component: "sessiond",
283
+ label: "Session daemon",
284
+ available: false,
285
+ capabilities: [],
286
+ error,
287
+ };
288
+ }
205
289
  function unavailableSessiond(error) {
206
290
  return {
207
291
  component: "sessiond",
@@ -252,15 +336,17 @@ async function fetchLatestNpmVersion(currentVersion) {
252
336
  throw new Error("npm registry response did not include a version");
253
337
  return version;
254
338
  }
255
- function commandsFor(components) {
339
+ async function commandsFor(components) {
256
340
  const installation = preferredInstallation(components);
257
- const serviceCommands = nativeServiceCommands();
258
- const cliCommands = piWebCliCommands(installation);
341
+ const [serviceCommands, cliCommands] = await Promise.all([
342
+ nativeServiceCommands(),
343
+ piWebCliCommands(installation),
344
+ ]);
259
345
  const restart = restartCommandFor(installation, serviceCommands, cliCommands);
260
346
  const restartWeb = serviceCommands.restartWeb ?? cliCommands.restart;
261
347
  const restartSessiond = serviceCommands.restartSessiond ?? cliCommands.restart;
262
348
  const status = serviceCommands.status ?? cliCommands.status;
263
- const update = updateCommandFor(installation, restart);
349
+ const update = await updateCommandFor(installation, restart);
264
350
  return {
265
351
  ...(update === undefined ? {} : { update }),
266
352
  ...(restart === undefined ? {} : { restart }),
@@ -276,8 +362,8 @@ function preferredInstallation(components) {
276
362
  return web?.kind === "local" ? web : sessiond;
277
363
  return web ?? sessiond;
278
364
  }
279
- function piWebCliCommands(installation) {
280
- if (installation?.kind !== "npm-global" || !hasCommand("pi-web"))
365
+ async function piWebCliCommands(installation) {
366
+ if (installation?.kind !== "npm-global" || !(await hasCommand("pi-web")))
281
367
  return {};
282
368
  return { restart: "pi-web restart", status: "pi-web status" };
283
369
  }
@@ -286,25 +372,25 @@ function restartCommandFor(installation, serviceCommands, cliCommands) {
286
372
  return serviceCommands.restart ?? cliCommands.restart;
287
373
  return cliCommands.restart ?? serviceCommands.restart;
288
374
  }
289
- function updateCommandFor(installation, restartCommand) {
375
+ async function updateCommandFor(installation, restartCommand) {
290
376
  if (restartCommand === undefined)
291
377
  return undefined;
292
378
  if (installation?.kind === "pi-package") {
293
- if (!hasCommand("pi"))
379
+ if (!(await hasCommand("pi")))
294
380
  return undefined;
295
381
  return `pi update ${installation.source ?? PI_WEB_NPM_SOURCE} && ${restartCommand}`;
296
382
  }
297
383
  if (installation?.kind === "local" && installation.path !== undefined) {
298
- if (!hasCommand("npm") || !isGitCheckoutWithUpstream(installation.path))
384
+ if (!(await hasCommand("npm")) || !(await isGitCheckoutWithUpstream(installation.path)))
299
385
  return undefined;
300
386
  return `cd ${shellQuote(installation.path)} && git pull --ff-only && npm install && npm run build && ${restartCommand}`;
301
387
  }
302
- if (installation?.kind !== "npm-global" || !hasCommand("npm"))
388
+ if (installation?.kind !== "npm-global" || !(await hasCommand("npm")))
303
389
  return undefined;
304
390
  return `npm install -g ${PI_WEB_PACKAGE_NAME} && ${restartCommand}`;
305
391
  }
306
- function nativeServiceCommands() {
307
- const backend = nativeServiceBackend();
392
+ async function nativeServiceCommands() {
393
+ const backend = await nativeServiceBackend();
308
394
  if (backend === undefined)
309
395
  return {};
310
396
  const installed = installedServiceIds(backend);
@@ -321,10 +407,10 @@ function nativeServiceCommands() {
321
407
  ...(status.length === 0 ? {} : { status: statusNativeServicesCommand(backend, status) }),
322
408
  };
323
409
  }
324
- function nativeServiceBackend() {
325
- if (process.platform === "linux" && hasCommand("systemctl"))
410
+ async function nativeServiceBackend() {
411
+ if (process.platform === "linux" && await hasCommand("systemctl"))
326
412
  return "systemd";
327
- if (process.platform === "darwin" && hasCommand("launchctl"))
413
+ if (process.platform === "darwin" && await hasCommand("launchctl"))
328
414
  return "launchd";
329
415
  return undefined;
330
416
  }
@@ -353,17 +439,22 @@ function statusNativeServicesCommand(backend, refs) {
353
439
  return `systemctl --user status ${refs.map((ref) => ref.systemdName).join(" ")}`;
354
440
  return refs.map((ref) => `launchctl print gui/$(id -u)/${ref.launchdLabel}`).join(" && ");
355
441
  }
356
- function isGitCheckoutWithUpstream(path) {
357
- return hasCommand("git")
358
- && commandSucceeds("git", ["-C", path, "rev-parse", "--is-inside-work-tree"])
359
- && commandSucceeds("git", ["-C", path, "rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{u}"]);
442
+ async function isGitCheckoutWithUpstream(path) {
443
+ return await hasCommand("git")
444
+ && await commandSucceeds("git", ["-C", path, "rev-parse", "--is-inside-work-tree"])
445
+ && await commandSucceeds("git", ["-C", path, "rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{u}"]);
360
446
  }
361
447
  function hasCommand(command) {
362
448
  return commandSucceeds("/usr/bin/env", ["sh", "-c", `command -v ${command}`]);
363
449
  }
364
- function commandSucceeds(command, args) {
365
- const result = spawnSync(command, args, { encoding: "utf8" });
366
- return result.status === 0;
450
+ async function commandSucceeds(command, args) {
451
+ try {
452
+ await execFileAsync(command, args, { encoding: "utf8" });
453
+ return true;
454
+ }
455
+ catch {
456
+ return false;
457
+ }
367
458
  }
368
459
  function shellQuote(value) {
369
460
  return `'${value.replaceAll("'", "'\\''")}'`;
@@ -1 +1 @@
1
- {"version":3,"file":"piWebStatus.js","sourceRoot":"","sources":["../../src/server/piWebStatus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"piWebStatus.js","sourceRoot":"","sources":["../../src/server/piWebStatus.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ const DEFAULT_PI_WEB_STATUS_CACHE_TTL_MS = 60_000;
2
+ export function createPiWebStatusCache(load, options = {}) {
3
+ const ttlMs = options.ttlMs ?? DEFAULT_PI_WEB_STATUS_CACHE_TTL_MS;
4
+ const now = options.now ?? Date.now;
5
+ let cached;
6
+ let pending;
7
+ const refresh = () => {
8
+ pending ??= Promise.resolve()
9
+ .then(load)
10
+ .then((status) => {
11
+ cached = { status, expiresAt: now() + ttlMs };
12
+ return status;
13
+ })
14
+ .finally(() => {
15
+ pending = undefined;
16
+ });
17
+ return pending;
18
+ };
19
+ return {
20
+ async get() {
21
+ if (cached !== undefined) {
22
+ if (cached.expiresAt > now())
23
+ return cached.status;
24
+ void refresh().catch((error) => { options.onError?.(error); });
25
+ return cached.status;
26
+ }
27
+ return refresh();
28
+ },
29
+ refresh,
30
+ };
31
+ }
32
+ //# sourceMappingURL=piWebStatusCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"piWebStatusCache.js","sourceRoot":"","sources":["../../src/server/piWebStatusCache.ts"],"names":[],"mappings":"AAEA,MAAM,kCAAkC,GAAG,MAAM,CAAC;AAalD,MAAM,UAAU,sBAAsB,CAAC,IAAwC,EAAE,UAAmC,EAAE;IACpH,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,kCAAkC,CAAC;IAClE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACpC,IAAI,MAAsE,CAAC;IAC3E,IAAI,OAAiD,CAAC;IAEtD,MAAM,OAAO,GAAG,GAAiC,EAAE;QACjD,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE;aAC1B,IAAI,CAAC,IAAI,CAAC;aACV,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,MAAM,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YAC9C,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,OAAO,GAAG,SAAS,CAAC;QACtB,CAAC,CAAC,CAAC;QACL,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,CAAC,GAAG;YACP,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE;oBAAE,OAAO,MAAM,CAAC,MAAM,CAAC;gBACnD,KAAK,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,OAAO,MAAM,CAAC,MAAM,CAAC;YACvB,CAAC;YACD,OAAO,OAAO,EAAE,CAAC;QACnB,CAAC;QACD,OAAO;KACR,CAAC;AACJ,CAAC"}