Skip to content

Commit 4372ce5

Browse files
committed
fix(ci): allow known service type migrations
1 parent 076f1ff commit 4372ce5

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

packages/core/src/__tests__/service-type-collisions.test.ts

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,29 @@ const serviceTypeValuesByMember = new Map(
5050
);
5151

5252
const duplicateServiceTypeAllowlist = new Map<string, AllowlistEntry>([
53+
[
54+
"capability-router",
55+
{
56+
reason:
57+
"RuntimeCapabilityService is the canonical capability-router owner; legacy remote/E2B router services keep the same slot during the P0 migration until their dispatch logic folds into RuntimeCapabilityService strategies.",
58+
classes: new Set([
59+
"packages/core/src/services/runtime-capability-service.ts:RuntimeCapabilityService",
60+
"packages/agent/src/services/e2b-capability-router.ts:E2BRemoteCapabilityRouterService",
61+
"packages/agent/src/services/remote-capability-router.ts:RemoteCapabilityRouterService",
62+
]),
63+
},
64+
],
65+
[
66+
"xr-session",
67+
{
68+
reason:
69+
"Hearwear and the standalone XR plugin expose the same XR session service contract while the hardware-specific plugin split settles; they must not be enabled together.",
70+
classes: new Set([
71+
"plugins/plugin-hearwear/src/services/xr-session-service.ts:XRSessionService",
72+
"plugins/plugin-xr/src/services/xr-session-service.ts:XRSessionService",
73+
]),
74+
},
75+
],
5376
[
5477
"trajectories",
5578
{
@@ -61,6 +84,29 @@ const duplicateServiceTypeAllowlist = new Map<string, AllowlistEntry>([
6184
]),
6285
},
6386
],
87+
[
88+
"capability-router",
89+
{
90+
reason:
91+
"Capability router unification keeps the core canonical service beside legacy agent router implementations during the P0/P1 migration; runtime wiring must select one active router.",
92+
classes: new Set([
93+
"packages/core/src/services/runtime-capability-service.ts:RuntimeCapabilityService",
94+
"packages/agent/src/services/e2b-capability-router.ts:E2BRemoteCapabilityRouterService",
95+
"packages/agent/src/services/remote-capability-router.ts:RemoteCapabilityRouterService",
96+
]),
97+
},
98+
],
99+
[
100+
"xr-session",
101+
{
102+
reason:
103+
"Hearwear reuses the XR session service contract while plugin-xr remains as the standalone XR package; these plugins should not be enabled together for the same device surface.",
104+
classes: new Set([
105+
"plugins/plugin-hearwear/src/services/xr-session-service.ts:XRSessionService",
106+
"plugins/plugin-xr/src/services/xr-session-service.ts:XRSessionService",
107+
]),
108+
},
109+
],
64110
[
65111
"discord-local",
66112
{

0 commit comments

Comments
 (0)