@sylphx/lens-server 2.7.0 → 2.7.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.
package/dist/index.js CHANGED
@@ -786,7 +786,12 @@ class LensServerImpl {
786
786
  emit: createFieldEmit(currentPath),
787
787
  onCleanup
788
788
  };
789
- result[field] = await resolverDef.resolveField(field, obj, args, extendedCtx);
789
+ if (resolverDef.isSubscription(field)) {
790
+ result[field] = null;
791
+ resolverDef.resolveField(field, obj, args, extendedCtx).catch(() => {});
792
+ } else {
793
+ result[field] = await resolverDef.resolveField(field, obj, args, extendedCtx);
794
+ }
790
795
  } catch {
791
796
  result[field] = null;
792
797
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sylphx/lens-server",
3
- "version": "2.7.0",
3
+ "version": "2.7.2",
4
4
  "description": "Server runtime for Lens API framework",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -30,7 +30,7 @@
30
30
  "author": "SylphxAI",
31
31
  "license": "MIT",
32
32
  "dependencies": {
33
- "@sylphx/lens-core": "^2.4.0"
33
+ "@sylphx/lens-core": "^2.5.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "typescript": "^5.9.3",
@@ -952,7 +952,21 @@ class LensServerImpl<
952
952
  emit: createFieldEmit!(currentPath),
953
953
  onCleanup: onCleanup!,
954
954
  };
955
- result[field] = await resolverDef.resolveField(field, obj, args, extendedCtx);
955
+
956
+ // Check if field is a subscription (uses emit pattern)
957
+ if (resolverDef.isSubscription(field)) {
958
+ // Subscription fields use emit pattern - don't await completion
959
+ // The resolver runs in background, pushing values via emit()
960
+ // Set initial value to null, emit() will update it
961
+ result[field] = null;
962
+ // Start resolver without awaiting (fire and forget)
963
+ resolverDef.resolveField(field, obj, args, extendedCtx).catch(() => {
964
+ // Subscription errors are handled via emit, ignore here
965
+ });
966
+ } else {
967
+ // Regular resolved field - await the result
968
+ result[field] = await resolverDef.resolveField(field, obj, args, extendedCtx);
969
+ }
956
970
  } catch {
957
971
  result[field] = null;
958
972
  }