Download packages/agent-core-v2/test/features/sessionInit/sessionInitFeature.test.ts from SaylorTwift/kimi-code: direct link, hf CLI and curl.
- Browser
- Download file 2.89 kB
-
https://huggingface.co/SaylorTwift/kimi-code/resolve/main/packages/agent-core-v2/test/features/sessionInit/sessionInitFeature.test.ts
- Command line
-
hf download hf://SaylorTwift/kimi-code/packages/agent-core-v2/test/features/sessionInit/sessionInitFeature.test.ts
-
curl -L -o sessionInitFeature.test.ts https://huggingface.co/SaylorTwift/kimi-code/resolve/main/packages/agent-core-v2/test/features/sessionInit/sessionInitFeature.test.ts
2.89 kB
| import { beforeEach, describe, expect, it } from 'vitest'; | |
| import { ScopeActivation } from '#/_base/di/instantiation'; | |
| import { | |
| _clearScopedRegistryForTests, | |
| registerScopedService, | |
| } from '#/_base/di/scope'; | |
| import { createScopedTestHost, stubPair } from '#/_base/di/test'; | |
| import { IBootstrapService } from '#/app/bootstrap/bootstrap'; | |
| import { IFeatureManager } from '#/app/feature/featureManager'; | |
| import { FeatureManagerService } from '#/app/feature/featureManagerService'; | |
| import { LifecycleScope } from '#/app/scopes'; | |
| import { SessionInitFeature } from '#/features/sessionInit/sessionInitFeature'; | |
| import { ISessionInitService } from '#/features/sessionInit/sessionInit'; | |
| import { IHostEnvironment } from '#/os/interface/hostEnvironment'; | |
| import { IHostFileSystem } from '#/os/interface/hostFileSystem'; | |
| import { IFeatureAssemblyService } from '#/features/featureAssembly'; | |
| import { FeatureAssemblyService } from '#/features/featureAssemblyService'; | |
| import { | |
| _clearFeatureRecipesForTests, | |
| registerFeature, | |
| } from '#/features/featureRegistry'; | |
| import { IAgentLifecycleService } from '#/session/agentLifecycle/agentLifecycle'; | |
| import { ISessionContext } from '#/session/sessionContext/sessionContext'; | |
| import { ISessionSubagentService } from '#/session/subagent/subagent'; | |
| describe('SessionInitFeature', () => { | |
| beforeEach(() => { | |
| _clearScopedRegistryForTests(); | |
| _clearFeatureRecipesForTests(); | |
| registerScopedService( | |
| LifecycleScope.App, | |
| IFeatureManager, | |
| FeatureManagerService, | |
| ScopeActivation.OnScopeCreated, | |
| 'feature', | |
| ); | |
| registerScopedService( | |
| LifecycleScope.App, | |
| IFeatureAssemblyService, | |
| FeatureAssemblyService, | |
| ScopeActivation.OnScopeCreated, | |
| 'features', | |
| ); | |
| registerFeature(SessionInitFeature); | |
| }); | |
| it('withdraws and restores the Session service with the Feature', async () => { | |
| const host = createScopedTestHost(); | |
| const session = host.child(LifecycleScope.Session, 'session-1', [ | |
| stubPair(IAgentLifecycleService, {} as IAgentLifecycleService), | |
| stubPair(ISessionSubagentService, {} as ISessionSubagentService), | |
| stubPair(IHostFileSystem, {} as IHostFileSystem), | |
| stubPair(IHostEnvironment, {} as IHostEnvironment), | |
| stubPair(IBootstrapService, {} as IBootstrapService), | |
| stubPair(ISessionContext, {} as ISessionContext), | |
| ]); | |
| const manager = host.app.accessor.get(IFeatureManager); | |
| expect(session.accessor.get(ISessionInitService)).toBeDefined(); | |
| await manager.unprovideUnit('sessionInit'); | |
| await host.app.instantiation.cascade.whenIdle(); | |
| expect(() => session.accessor.get(ISessionInitService)).toThrow(); | |
| manager.provideUnit(SessionInitFeature); | |
| await host.app.instantiation.cascade.whenIdle(); | |
| expect(session.accessor.get(ISessionInitService)).toBeDefined(); | |
| host.dispose(); | |
| }); | |
| }); | |