@getpaseo/server 0.1.18 → 0.1.20

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 (74) hide show
  1. package/dist/server/client/daemon-client.d.ts +5 -1
  2. package/dist/server/client/daemon-client.d.ts.map +1 -1
  3. package/dist/server/client/daemon-client.js +22 -0
  4. package/dist/server/client/daemon-client.js.map +1 -1
  5. package/dist/server/server/agent/agent-management-mcp.d.ts.map +1 -1
  6. package/dist/server/server/agent/agent-management-mcp.js +11 -28
  7. package/dist/server/server/agent/agent-management-mcp.js.map +1 -1
  8. package/dist/server/server/agent/agent-manager.d.ts +2 -0
  9. package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
  10. package/dist/server/server/agent/agent-manager.js +50 -6
  11. package/dist/server/server/agent/agent-manager.js.map +1 -1
  12. package/dist/server/server/agent/mcp-server.d.ts.map +1 -1
  13. package/dist/server/server/agent/mcp-server.js +11 -34
  14. package/dist/server/server/agent/mcp-server.js.map +1 -1
  15. package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
  16. package/dist/server/server/agent/providers/claude-agent.js +169 -43
  17. package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
  18. package/dist/server/server/bootstrap.d.ts +13 -0
  19. package/dist/server/server/bootstrap.d.ts.map +1 -1
  20. package/dist/server/server/bootstrap.js +46 -32
  21. package/dist/server/server/bootstrap.js.map +1 -1
  22. package/dist/server/server/persisted-config.d.ts +22 -22
  23. package/dist/server/server/session.d.ts +10 -6
  24. package/dist/server/server/session.d.ts.map +1 -1
  25. package/dist/server/server/session.js +191 -223
  26. package/dist/server/server/session.js.map +1 -1
  27. package/dist/server/server/speech/speech-types.d.ts +2 -2
  28. package/dist/server/server/websocket-server.d.ts +4 -1
  29. package/dist/server/server/websocket-server.d.ts.map +1 -1
  30. package/dist/server/server/websocket-server.js +27 -1
  31. package/dist/server/server/websocket-server.js.map +1 -1
  32. package/dist/server/server/workspace-registry-bootstrap.d.ts +11 -0
  33. package/dist/server/server/workspace-registry-bootstrap.d.ts.map +1 -0
  34. package/dist/server/server/workspace-registry-bootstrap.js +98 -0
  35. package/dist/server/server/workspace-registry-bootstrap.js.map +1 -0
  36. package/dist/server/server/workspace-registry-model.d.ts +26 -0
  37. package/dist/server/server/workspace-registry-model.d.ts.map +1 -0
  38. package/dist/server/server/workspace-registry-model.js +150 -0
  39. package/dist/server/server/workspace-registry-model.js.map +1 -0
  40. package/dist/server/server/workspace-registry.d.ts +128 -0
  41. package/dist/server/server/workspace-registry.d.ts.map +1 -0
  42. package/dist/server/server/workspace-registry.js +141 -0
  43. package/dist/server/server/workspace-registry.js.map +1 -0
  44. package/dist/server/shared/messages.d.ts +1510 -0
  45. package/dist/server/shared/messages.d.ts.map +1 -1
  46. package/dist/server/shared/messages.js +39 -0
  47. package/dist/server/shared/messages.js.map +1 -1
  48. package/dist/server/utils/checkout-git.d.ts +5 -0
  49. package/dist/server/utils/checkout-git.d.ts.map +1 -1
  50. package/dist/server/utils/checkout-git.js +64 -4
  51. package/dist/server/utils/checkout-git.js.map +1 -1
  52. package/dist/src/server/agent/agent-manager.js +50 -6
  53. package/dist/src/server/agent/agent-manager.js.map +1 -1
  54. package/dist/src/server/agent/mcp-server.js +11 -34
  55. package/dist/src/server/agent/mcp-server.js.map +1 -1
  56. package/dist/src/server/agent/providers/claude-agent.js +169 -43
  57. package/dist/src/server/agent/providers/claude-agent.js.map +1 -1
  58. package/dist/src/server/bootstrap.js +46 -32
  59. package/dist/src/server/bootstrap.js.map +1 -1
  60. package/dist/src/server/session.js +191 -223
  61. package/dist/src/server/session.js.map +1 -1
  62. package/dist/src/server/websocket-server.js +27 -1
  63. package/dist/src/server/websocket-server.js.map +1 -1
  64. package/dist/src/server/workspace-registry-bootstrap.js +98 -0
  65. package/dist/src/server/workspace-registry-bootstrap.js.map +1 -0
  66. package/dist/src/server/workspace-registry-model.js +150 -0
  67. package/dist/src/server/workspace-registry-model.js.map +1 -0
  68. package/dist/src/server/workspace-registry.js +141 -0
  69. package/dist/src/server/workspace-registry.js.map +1 -0
  70. package/dist/src/shared/messages.js +39 -0
  71. package/dist/src/shared/messages.js.map +1 -1
  72. package/dist/src/utils/checkout-git.js +64 -4
  73. package/dist/src/utils/checkout-git.js.map +1 -1
  74. package/package.json +4 -3
@@ -7,7 +7,13 @@ import path from "node:path";
7
7
  import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
8
8
  import { InMemoryTransport } from "@modelcontextprotocol/sdk/inMemory.js";
9
9
  import { isInitializeRequest } from "@modelcontextprotocol/sdk/types.js";
10
- function parseListenString(listen) {
10
+ export function parseListenString(listen) {
11
+ if (listen.startsWith("\\\\.\\pipe\\") || listen.startsWith("pipe://")) {
12
+ return {
13
+ type: "pipe",
14
+ path: listen.startsWith("pipe://") ? listen.slice("pipe://".length) : listen,
15
+ };
16
+ }
11
17
  // Unix socket: starts with / or ~ or contains .sock
12
18
  if (listen.startsWith("/") || listen.startsWith("~") || listen.includes(".sock")) {
13
19
  return { type: "socket", path: listen };
@@ -40,6 +46,8 @@ import { AgentStorage } from "./agent/agent-storage.js";
40
46
  import { attachAgentStoragePersistence } from "./persistence-hooks.js";
41
47
  import { createAgentMcpServer } from "./agent/mcp-server.js";
42
48
  import { createAllClients, shutdownProviders } from "./agent/provider-registry.js";
49
+ import { bootstrapWorkspaceRegistries } from "./workspace-registry-bootstrap.js";
50
+ import { FileBackedProjectRegistry, FileBackedWorkspaceRegistry, } from "./workspace-registry.js";
43
51
  import { createTerminalManager } from "../terminal/terminal-manager.js";
44
52
  import { createConnectionOfferV2, encodeOfferToFragmentUrl, } from "./connection-offer.js";
45
53
  import { loadOrCreateDaemonKeyPair } from "./daemon-keypair.js";
@@ -177,6 +185,8 @@ export async function createPaseoDaemon(config, rootLogger) {
177
185
  });
178
186
  const httpServer = createHTTPServer(app);
179
187
  const agentStorage = new AgentStorage(config.agentStoragePath, logger);
188
+ const projectRegistry = new FileBackedProjectRegistry(path.join(config.paseoHome, "projects", "projects.json"), logger);
189
+ const workspaceRegistry = new FileBackedWorkspaceRegistry(path.join(config.paseoHome, "projects", "workspaces.json"), logger);
180
190
  const agentManager = new AgentManager({
181
191
  clients: {
182
192
  ...createAllClients(logger, {
@@ -190,6 +200,13 @@ export async function createPaseoDaemon(config, rootLogger) {
190
200
  const terminalManager = createTerminalManager();
191
201
  const detachAgentStoragePersistence = attachAgentStoragePersistence(logger, agentManager, agentStorage);
192
202
  await agentStorage.initialize();
203
+ await bootstrapWorkspaceRegistries({
204
+ paseoHome: config.paseoHome,
205
+ agentStorage,
206
+ projectRegistry,
207
+ workspaceRegistry,
208
+ logger,
209
+ });
193
210
  const persistedRecords = await agentStorage.list();
194
211
  logger.info(`Agent registry loaded (${persistedRecords.length} record${persistedRecords.length === 1 ? "" : "s"}); agents will initialize on demand`);
195
212
  logger.info("Voice mode configured for agent-scoped resume flow (no dedicated voice assistant provider)");
@@ -368,7 +385,7 @@ export async function createPaseoDaemon(config, rootLogger) {
368
385
  catch (error) {
369
386
  logger.error({ err: error, intent }, "Failed to handle daemon lifecycle intent");
370
387
  }
371
- });
388
+ }, projectRegistry, workspaceRegistry);
372
389
  unsubscribeSpeechReadiness = subscribeSpeechReadiness((snapshot) => {
373
390
  wsServer?.publishSpeechReadiness(snapshot);
374
391
  });
@@ -382,40 +399,38 @@ export async function createPaseoDaemon(config, rootLogger) {
382
399
  const onListening = () => {
383
400
  httpServer.off("error", onError);
384
401
  const logAndResolve = async () => {
402
+ const relayEnabled = config.relayEnabled ?? true;
403
+ const relayEndpoint = config.relayEndpoint ?? "relay.paseo.sh:443";
404
+ const relayPublicEndpoint = config.relayPublicEndpoint ?? relayEndpoint;
405
+ const appBaseUrl = config.appBaseUrl ?? "https://app.paseo.sh";
385
406
  if (listenTarget.type === "tcp") {
386
407
  logger.info({ host: listenTarget.host, port: listenTarget.port }, `Server listening on http://${listenTarget.host}:${listenTarget.port}`);
387
- const relayEnabled = config.relayEnabled ?? true;
388
- const relayEndpoint = config.relayEndpoint ?? "relay.paseo.sh:443";
389
- const relayPublicEndpoint = config.relayPublicEndpoint ?? relayEndpoint;
390
- const appBaseUrl = config.appBaseUrl ?? "https://app.paseo.sh";
391
- if (relayEnabled) {
392
- const offer = await createConnectionOfferV2({
393
- serverId,
394
- daemonPublicKeyB64: daemonKeyPair.publicKeyB64,
395
- relay: { endpoint: relayPublicEndpoint },
396
- });
397
- const url = encodeOfferToFragmentUrl({ offer, appBaseUrl });
398
- logger.info({ url }, "pairing_offer");
399
- }
400
- if (relayEnabled) {
401
- relayTransport?.stop().catch(() => undefined);
402
- relayTransport = startRelayTransport({
403
- logger,
404
- attachSocket: (ws, metadata) => {
405
- if (!wsServer) {
406
- throw new Error("WebSocket server not initialized");
407
- }
408
- return wsServer.attachExternalSocket(ws, metadata);
409
- },
410
- relayEndpoint,
411
- serverId,
412
- daemonKeyPair: daemonKeyPair.keyPair,
413
- });
414
- }
415
408
  }
416
409
  else {
417
410
  logger.info({ path: listenTarget.path }, `Server listening on ${listenTarget.path}`);
418
411
  }
412
+ if (relayEnabled) {
413
+ const offer = await createConnectionOfferV2({
414
+ serverId,
415
+ daemonPublicKeyB64: daemonKeyPair.publicKeyB64,
416
+ relay: { endpoint: relayPublicEndpoint },
417
+ });
418
+ const url = encodeOfferToFragmentUrl({ offer, appBaseUrl });
419
+ logger.info({ url }, "pairing_offer");
420
+ relayTransport?.stop().catch(() => undefined);
421
+ relayTransport = startRelayTransport({
422
+ logger,
423
+ attachSocket: (ws, metadata) => {
424
+ if (!wsServer) {
425
+ throw new Error("WebSocket server not initialized");
426
+ }
427
+ return wsServer.attachExternalSocket(ws, metadata);
428
+ },
429
+ relayEndpoint,
430
+ serverId,
431
+ daemonKeyPair: daemonKeyPair.keyPair,
432
+ });
433
+ }
419
434
  };
420
435
  logAndResolve().then(resolve, reject);
421
436
  };
@@ -425,8 +440,7 @@ export async function createPaseoDaemon(config, rootLogger) {
425
440
  httpServer.listen(listenTarget.port, listenTarget.host);
426
441
  }
427
442
  else {
428
- // Remove stale socket file if it exists
429
- if (existsSync(listenTarget.path)) {
443
+ if (listenTarget.type === "socket" && existsSync(listenTarget.path)) {
430
444
  unlinkSync(listenTarget.path);
431
445
  }
432
446
  httpServer.listen(listenTarget.path);
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/server/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/server/bootstrap.ts"],"names":[],"mappings":"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"}