c5237a237a
Implements MessagingAdapter over @insignia/iios-kernel-client (browser → IIOS,
token-in): listConversations/openThread/history/send/subscribe/typing/markRead
/react, mapping kernel Message/ThreadSummary/annotations onto the SDK's neutral
types. currentActorId comes from the host's session (senderId space), never
inferred from history — the exact bug the conformance suite kills.
- lives in adapters/ (transport boundary intact — core stays transport-free)
- ships from the ./adapters/kernel-client subpath (kernel-client is an optional
peer dep; excluded from the main bundle)
- connectKernelAdapter({serviceUrl, token, currentUserId}) convenience
- passes the shared adapter conformance suite (12 tests) over the real
MessageSocket facade with only the socket.io layer faked
- media/attachments deferred (kernel-client has no presign yet)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
15 lines
652 B
TypeScript
15 lines
652 B
TypeScript
import { defineConfig } from 'tsup';
|
|
|
|
export default defineConfig({
|
|
// `src/adapters/mock.ts` and `src/conformance.ts` are added as separate entries
|
|
// in later tasks (they don't exist yet). `conformance` in particular is its own
|
|
// entry, never reachable from `index`, because it imports vitest, and bundling
|
|
// that into the main barrel would drag a test runner into every consumer's
|
|
// production build.
|
|
entry: ['src/index.ts', 'src/adapters/mock.ts', 'src/adapters/kernel-client.ts', 'src/conformance.ts'],
|
|
format: ['esm'],
|
|
dts: true,
|
|
clean: true,
|
|
external: ['react', 'react-dom', 'vitest', '@insignia/iios-kernel-client'],
|
|
});
|