@getpaseo/server 0.1.97-beta.2 → 0.1.97-beta.3

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.
@@ -102,6 +102,7 @@ export declare class ProviderSnapshotManager {
102
102
  private reconcileSnapshotForRegistry;
103
103
  private warmUp;
104
104
  private refreshProviders;
105
+ private resolveProvidersToWarm;
105
106
  private clearCachedProviders;
106
107
  private loadProviders;
107
108
  private loadProvider;
@@ -43,31 +43,11 @@ export class ProviderSnapshotManager {
43
43
  }
44
44
  getSnapshot(cwd) {
45
45
  const resolvedCwd = resolveSnapshotCwd(cwd);
46
- const entries = this.snapshots.get(resolvedCwd);
47
- if (!entries) {
48
- const loadingEntries = this.resetSnapshotToLoading(resolvedCwd);
49
- void this.warmUp(resolvedCwd);
50
- return entriesToArray(loadingEntries);
46
+ const providersToWarm = this.resolveProvidersToWarm(resolvedCwd);
47
+ if (providersToWarm.length > 0) {
48
+ void this.warmUp(resolvedCwd, providersToWarm);
51
49
  }
52
- const missingProviders = this.getProviderIds().filter((provider) => !entries.has(provider));
53
- if (missingProviders.length > 0) {
54
- const loadingEntries = this.createLoadingEntries();
55
- for (const provider of missingProviders) {
56
- const loadingEntry = loadingEntries.get(provider);
57
- if (loadingEntry) {
58
- entries.set(provider, loadingEntry);
59
- }
60
- }
61
- void this.warmUp(resolvedCwd, missingProviders);
62
- }
63
- const providerLoads = this.providerLoads.get(resolvedCwd);
64
- const loadingProviders = Array.from(entries.values())
65
- .filter((entry) => entry.status === "loading" && !providerLoads?.has(entry.provider))
66
- .map((entry) => entry.provider);
67
- if (loadingProviders.length > 0) {
68
- void this.warmUp(resolvedCwd, loadingProviders);
69
- }
70
- return entriesToArray(entries);
50
+ return entriesToArray(this.getOrCreateSnapshot(resolvedCwd));
71
51
  }
72
52
  async refreshSnapshotForCwd(options) {
73
53
  const snapshotCwd = resolveSnapshotCwd(options.cwd);
@@ -91,17 +71,11 @@ export class ProviderSnapshotManager {
91
71
  if (options.providers && providers?.length === 0) {
92
72
  return;
93
73
  }
94
- const snapshot = this.snapshots.get(snapshotCwd);
95
- if (!snapshot) {
96
- this.resetSnapshotToLoading(snapshotCwd, providers);
97
- }
98
- else if (providers) {
99
- const missingProviders = providers.filter((provider) => !snapshot.has(provider));
100
- if (missingProviders.length > 0) {
101
- this.resetSnapshotToLoading(snapshotCwd, missingProviders);
102
- }
74
+ const providersToWarm = this.resolveProvidersToWarm(snapshotCwd, providers);
75
+ if (providersToWarm.length === 0) {
76
+ return;
103
77
  }
104
- await this.warmUp(snapshotCwd, providers);
78
+ await this.warmUp(snapshotCwd, providersToWarm);
105
79
  }
106
80
  async refresh(options) {
107
81
  await this.refreshSnapshotForCwd(options);
@@ -355,6 +329,19 @@ export class ProviderSnapshotManager {
355
329
  async refreshProviders(cwd, providers) {
356
330
  await this.loadProviders({ cwd, providers, force: true });
357
331
  }
332
+ resolveProvidersToWarm(cwd, providers) {
333
+ const providersToInspect = providers ?? this.getProviderIds();
334
+ const snapshot = this.snapshots.get(cwd);
335
+ if (!snapshot) {
336
+ this.resetSnapshotToLoading(cwd, providers);
337
+ return providersToInspect;
338
+ }
339
+ const missingProviders = providersToInspect.filter((provider) => !snapshot.has(provider));
340
+ if (missingProviders.length > 0) {
341
+ this.resetSnapshotToLoading(cwd, missingProviders);
342
+ }
343
+ return providersToInspect.filter((provider) => snapshot.get(provider)?.status === "loading");
344
+ }
358
345
  clearCachedProviders(providers) {
359
346
  const providerSet = providers ? new Set(providers) : null;
360
347
  const loadingEntries = this.createLoadingEntries();
@@ -404,6 +391,10 @@ export class ProviderSnapshotManager {
404
391
  if (existingLoad && !options.force) {
405
392
  return existingLoad.promise;
406
393
  }
394
+ const existingEntry = this.snapshots.get(options.cwd)?.get(options.provider);
395
+ if (existingEntry && existingEntry.status !== "loading" && !options.force) {
396
+ return Promise.resolve();
397
+ }
407
398
  const load = {
408
399
  promise: Promise.resolve(),
409
400
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getpaseo/server",
3
- "version": "0.1.97-beta.2",
3
+ "version": "0.1.97-beta.3",
4
4
  "description": "Paseo backend server",
5
5
  "files": [
6
6
  "dist/server",
@@ -64,10 +64,10 @@
64
64
  "dependencies": {
65
65
  "@agentclientprotocol/sdk": "^0.17.1",
66
66
  "@anthropic-ai/claude-agent-sdk": "^0.2.133",
67
- "@getpaseo/client": "0.1.97-beta.2",
68
- "@getpaseo/highlight": "0.1.97-beta.2",
69
- "@getpaseo/protocol": "0.1.97-beta.2",
70
- "@getpaseo/relay": "0.1.97-beta.2",
67
+ "@getpaseo/client": "0.1.97-beta.3",
68
+ "@getpaseo/highlight": "0.1.97-beta.3",
69
+ "@getpaseo/protocol": "0.1.97-beta.3",
70
+ "@getpaseo/relay": "0.1.97-beta.3",
71
71
  "@isaacs/ttlcache": "^2.1.4",
72
72
  "@modelcontextprotocol/sdk": "^1.20.1",
73
73
  "@opencode-ai/sdk": "1.14.46",