diff --git a/packages/experimental/liveshare-protocol/package.json b/packages/experimental/liveshare-protocol/package.json index 4bfed1f91d..462055d4f2 100644 --- a/packages/experimental/liveshare-protocol/package.json +++ b/packages/experimental/liveshare-protocol/package.json @@ -19,6 +19,10 @@ "types": "./lib/types/identity/index.d.ts", "default": "./lib/identity/index.js" }, + "./identity/mock": { + "types": "./lib/types/identity/mock.d.ts", + "default": "./lib/identity/mock.js" + }, "./protocol": { "types": "./lib/types/tunnel-protocol.d.ts", "default": "./lib/tunnel-protocol.js" @@ -29,6 +33,7 @@ "files": [ "lib/index.js", "lib/identity/index.js", + "lib/identity/mock.js", "lib/tunnel-protocol.js", "lib/types/**/*.d.ts" ], diff --git a/packages/experimental/liveshare-protocol/src/identity/index.ts b/packages/experimental/liveshare-protocol/src/identity/index.ts index 2f1b5924d6..ad22598449 100644 --- a/packages/experimental/liveshare-protocol/src/identity/index.ts +++ b/packages/experimental/liveshare-protocol/src/identity/index.ts @@ -1,3 +1,2 @@ export * from './types.ts' -export * from './mock.ts' export * from './keys.ts' diff --git a/packages/experimental/liveshare-protocol/tests/entrypoints.spec.ts b/packages/experimental/liveshare-protocol/tests/entrypoints.spec.ts index 8ada5944be..f068e91f33 100644 --- a/packages/experimental/liveshare-protocol/tests/entrypoints.spec.ts +++ b/packages/experimental/liveshare-protocol/tests/entrypoints.spec.ts @@ -5,11 +5,17 @@ import * as identity from '@deepseek-ai/dsh-experimental-liveshare-protocol/iden import * as protocol from '@deepseek-ai/dsh-experimental-liveshare-protocol/protocol' import * as root from '@deepseek-ai/dsh-experimental-liveshare-protocol' +it('publishes the mock identity provider only on its test-scoped entry', async () => { + const mock = await import('@deepseek-ai/dsh-experimental-liveshare-protocol/identity/mock') + expect(mock.MockIdentityProvider).toBeTypeOf('function') + expect('MockIdentityProvider' in root).toBe(false) +}) + it('re-exports the protocol and identity contracts from the package root', () => { expect(root.LIVESHARE_PROTOCOL_VERSION).toBe(protocol.LIVESHARE_PROTOCOL_VERSION) expect(root.parseShareAccessState).toBe(protocol.parseShareAccessState) expect(root.identityKeyOf).toBe(identity.identityKeyOf) - expect(root.MockIdentityProvider).toBe(identity.MockIdentityProvider) + expect('MockIdentityProvider' in identity).toBe(false) expect(root.viewerCarrierScript).toBeTypeOf('function') }) diff --git a/packages/experimental/liveshare-protocol/tests/identity-mock.spec.ts b/packages/experimental/liveshare-protocol/tests/identity-mock.spec.ts index 4b7241382c..84730c8ca0 100644 --- a/packages/experimental/liveshare-protocol/tests/identity-mock.spec.ts +++ b/packages/experimental/liveshare-protocol/tests/identity-mock.spec.ts @@ -4,7 +4,7 @@ import { describe, expect, it } from 'vitest' import { MockIdentityProvider, type MockIdentityPersona, -} from '@deepseek-ai/dsh-experimental-liveshare-protocol/identity' +} from '@deepseek-ai/dsh-experimental-liveshare-protocol/identity/mock' /** The personas one provider is built from; the array stays writable so a test can empty it. */ function personas(): MockIdentityPersona[] { diff --git a/packages/experimental/liveshare-protocol/tsdown.config.ts b/packages/experimental/liveshare-protocol/tsdown.config.ts index 3c0c1ca7b5..a29b8cb984 100644 --- a/packages/experimental/liveshare-protocol/tsdown.config.ts +++ b/packages/experimental/liveshare-protocol/tsdown.config.ts @@ -13,6 +13,7 @@ export default defineConfig(({ env }) => { entry: [ 'lib/types/index.js', 'lib/types/identity/index.js', + 'lib/types/identity/mock.js', 'lib/types/tunnel-protocol.js', ], outDir: 'lib', diff --git a/tsconfig.base.json b/tsconfig.base.json index 74001edf22..b229c23a07 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -376,6 +376,7 @@ "@deepseek-ai/dsh-experimental-inspector/client": ["./packages/experimental/inspector/src/client/index.ts"], "@deepseek-ai/dsh-experimental-liveshare-protocol": ["./packages/experimental/liveshare-protocol/src"], "@deepseek-ai/dsh-experimental-liveshare-protocol/identity": ["./packages/experimental/liveshare-protocol/src/identity/index.ts"], + "@deepseek-ai/dsh-experimental-liveshare-protocol/identity/mock": ["./packages/experimental/liveshare-protocol/src/identity/mock.ts"], "@deepseek-ai/dsh-experimental-liveshare-protocol/protocol": ["./packages/experimental/liveshare-protocol/src/tunnel-protocol.ts"], "@deepseek-ai/dsh-experimental-ptc-runtime-python": ["./packages/experimental/ptc-runtime-python/src"], "@deepseek-ai/dsh-util-crypto": ["./packages/util/crypto/src"],