@soulcraft/sdk 2.0.1 → 2.0.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.
Files changed (88) hide show
  1. package/dist/client/index.d.ts +5 -38
  2. package/dist/client/index.d.ts.map +1 -1
  3. package/dist/client/index.js +5 -47
  4. package/dist/client/index.js.map +1 -1
  5. package/dist/client/namespace-proxy.d.ts +3 -4
  6. package/dist/client/namespace-proxy.d.ts.map +1 -1
  7. package/dist/client/namespace-proxy.js +3 -4
  8. package/dist/client/namespace-proxy.js.map +1 -1
  9. package/dist/index.d.ts +6 -6
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +4 -4
  12. package/dist/index.js.map +1 -1
  13. package/dist/modules/hall/browser.d.ts +83 -27
  14. package/dist/modules/hall/browser.d.ts.map +1 -1
  15. package/dist/modules/hall/browser.js +238 -49
  16. package/dist/modules/hall/browser.js.map +1 -1
  17. package/dist/modules/hall/media.d.ts +164 -0
  18. package/dist/modules/hall/media.d.ts.map +1 -0
  19. package/dist/modules/hall/media.js +182 -0
  20. package/dist/modules/hall/media.js.map +1 -0
  21. package/dist/modules/hall/server.d.ts +83 -6
  22. package/dist/modules/hall/server.d.ts.map +1 -1
  23. package/dist/modules/hall/server.js +206 -9
  24. package/dist/modules/hall/server.js.map +1 -1
  25. package/dist/modules/hall/types.d.ts +548 -25
  26. package/dist/modules/hall/types.d.ts.map +1 -1
  27. package/dist/modules/hall/types.js +12 -7
  28. package/dist/modules/hall/types.js.map +1 -1
  29. package/dist/server/hall-handlers.d.ts +40 -12
  30. package/dist/server/hall-handlers.d.ts.map +1 -1
  31. package/dist/server/hall-handlers.js +40 -12
  32. package/dist/server/hall-handlers.js.map +1 -1
  33. package/dist/server/hono-router.d.ts +2 -9
  34. package/dist/server/hono-router.d.ts.map +1 -1
  35. package/dist/server/hono-router.js +2 -46
  36. package/dist/server/hono-router.js.map +1 -1
  37. package/dist/server/index.d.ts +4 -19
  38. package/dist/server/index.d.ts.map +1 -1
  39. package/dist/server/index.js +10 -29
  40. package/dist/server/index.js.map +1 -1
  41. package/dist/types.d.ts +2 -41
  42. package/dist/types.d.ts.map +1 -1
  43. package/docs/ADR-005-hall-integration.md +449 -0
  44. package/package.json +1 -1
  45. package/dist/client/create-client-sdk.d.ts +0 -113
  46. package/dist/client/create-client-sdk.d.ts.map +0 -1
  47. package/dist/client/create-client-sdk.js +0 -169
  48. package/dist/client/create-client-sdk.js.map +0 -1
  49. package/dist/modules/app-context/index.d.ts +0 -214
  50. package/dist/modules/app-context/index.d.ts.map +0 -1
  51. package/dist/modules/app-context/index.js +0 -569
  52. package/dist/modules/app-context/index.js.map +0 -1
  53. package/dist/modules/billing/firestore-provider.d.ts +0 -60
  54. package/dist/modules/billing/firestore-provider.d.ts.map +0 -1
  55. package/dist/modules/billing/firestore-provider.js +0 -315
  56. package/dist/modules/billing/firestore-provider.js.map +0 -1
  57. package/dist/modules/brainy/proxy.d.ts +0 -48
  58. package/dist/modules/brainy/proxy.d.ts.map +0 -1
  59. package/dist/modules/brainy/proxy.js +0 -95
  60. package/dist/modules/brainy/proxy.js.map +0 -1
  61. package/dist/server/create-sdk.d.ts +0 -74
  62. package/dist/server/create-sdk.d.ts.map +0 -1
  63. package/dist/server/create-sdk.js +0 -104
  64. package/dist/server/create-sdk.js.map +0 -1
  65. package/dist/server/from-license.d.ts +0 -252
  66. package/dist/server/from-license.d.ts.map +0 -1
  67. package/dist/server/from-license.js +0 -349
  68. package/dist/server/from-license.js.map +0 -1
  69. package/dist/server/handlers.d.ts +0 -312
  70. package/dist/server/handlers.d.ts.map +0 -1
  71. package/dist/server/handlers.js +0 -376
  72. package/dist/server/handlers.js.map +0 -1
  73. package/dist/server/postmessage-handler.d.ts +0 -152
  74. package/dist/server/postmessage-handler.d.ts.map +0 -1
  75. package/dist/server/postmessage-handler.js +0 -138
  76. package/dist/server/postmessage-handler.js.map +0 -1
  77. package/dist/transports/http.d.ts +0 -86
  78. package/dist/transports/http.d.ts.map +0 -1
  79. package/dist/transports/http.js +0 -137
  80. package/dist/transports/http.js.map +0 -1
  81. package/dist/transports/postmessage.d.ts +0 -159
  82. package/dist/transports/postmessage.d.ts.map +0 -1
  83. package/dist/transports/postmessage.js +0 -207
  84. package/dist/transports/postmessage.js.map +0 -1
  85. package/dist/transports/workshop.d.ts +0 -173
  86. package/dist/transports/workshop.d.ts.map +0 -1
  87. package/dist/transports/workshop.js +0 -307
  88. package/dist/transports/workshop.js.map +0 -1
@@ -3,8 +3,6 @@
3
3
  * @description Browser/client entry point for @soulcraft/sdk. Exports everything needed
4
4
  * for kit apps running in a browser context to connect to a Soulcraft product backend.
5
5
  *
6
- * ## SDK 2.0 — Namespace-aware transports (recommended)
7
- *
8
6
  * Use `createSoulcraftProxy()` with a namespace-aware transport for full access to
9
7
  * all 25 SDK namespaces (brainy, chat, graph, search, ai, media, realtime, etc.).
10
8
  *
@@ -12,16 +10,7 @@
12
10
  * - {@link PostMessageRpcTransport} — `soulcraft:request` PostMessage. WebContainer iframes.
13
11
  * - {@link WsTransport} — MessagePack binary over WebSocket. Real-time, bidirectional.
14
12
  *
15
- * ## Legacy transports (brainy-only)
16
- *
17
- * These transports only support the `brainy` namespace. They still work for backward
18
- * compatibility but should be migrated to the namespace-aware transports above.
19
- *
20
- * - `LegacyHttpTransport` — `/api/brainy/rpc` only.
21
- * - `LegacyPostMessageTransport` — `brainy:request` only.
22
- * - `WorkshopTransport` — `workshop:request` non-brainy relay (superseded by PostMessageRpcTransport).
23
- *
24
- * @example SDK 2.0 — full namespace access
13
+ * @example Full namespace access via HTTP
25
14
  * ```typescript
26
15
  * import { createSoulcraftProxy, HttpRpcTransport } from '@soulcraft/sdk/client'
27
16
  *
@@ -30,7 +19,7 @@
30
19
  * const graph = await sdk.graph.getData()
31
20
  * ```
32
21
  *
33
- * @example SDK 2.0 — PostMessage in WebContainer iframe
22
+ * @example PostMessage in WebContainer iframe
34
23
  * ```typescript
35
24
  * import { createSoulcraftProxy, PostMessageRpcTransport } from '@soulcraft/sdk/client'
36
25
  *
@@ -45,36 +34,14 @@ export { createSoulcraftProxy } from './namespace-proxy.js';
45
34
  export type { NamespaceTransport } from './namespace-proxy.js';
46
35
  export { HttpNamespaceTransport, PostMessageNamespaceTransport, HttpRpcTransport, PostMessageRpcTransport, } from '../transports/http-namespace.js';
47
36
  export type { HttpNamespaceTransportOptions } from '../transports/http-namespace.js';
48
- export { createClientSDK } from './create-client-sdk.js';
49
- /**
50
- * @deprecated Use {@link HttpRpcTransport} for full namespace support.
51
- * This transport only supports the `brainy` namespace at `/api/brainy/rpc`.
52
- */
53
- export { HttpTransport as LegacyHttpTransport } from '../transports/http.js';
54
- /**
55
- * @deprecated Use {@link PostMessageRpcTransport} for full namespace support.
56
- * This transport only supports `brainy:request` / `brainy:response`.
57
- */
58
- export { PostMessageTransport as LegacyPostMessageTransport } from '../transports/postmessage.js';
59
37
  export { WsTransport } from '../transports/ws.js';
60
38
  export { SseTransport } from '../transports/sse.js';
61
- export type { PostMessageRequest, PostMessageResponse } from '../transports/postmessage.js';
62
- export type { SDKTransport } from '../transports/transport.js';
63
- /** @deprecated Use `createSoulcraftProxy()` for full namespace access. */
64
- export { createBrainyProxy } from '../modules/brainy/proxy.js';
65
- /** @deprecated Use `createSoulcraftProxy()` for full namespace access. */
66
- export { createAppContext } from '../modules/app-context/index.js';
67
- export type { CreateAppContextOptions, AppContext } from '../modules/app-context/index.js';
68
- /** @deprecated Use {@link PostMessageRpcTransport} which handles all namespaces. */
69
- export { WorkshopTransport } from '../transports/workshop.js';
70
- export type { WorkshopRequest, WorkshopResponse, WorkshopStreamChunk, } from '../transports/workshop.js';
71
39
  export { createYjsProvider } from '../transports/yjs-provider.js';
72
40
  export type { YjsProvider } from '../transports/yjs-provider.js';
73
- export { joinHallRoom } from '../modules/hall/browser.js';
74
- export type { JoinHallRoomOptions } from '../modules/hall/browser.js';
75
- export type { HallRoomHandle, HallRoomHandleEvents, TranscriptEvent, ConceptMentionEvent, RelationProposedEvent, SpeakerChangedEvent, PeerJoinedEvent, PeerLeftEvent, RoomOptions, RecordingManifest, ConceptInput, } from '../modules/hall/types.js';
41
+ export { joinHallRoom, joinHallPubsub, getWhepUrl, getHlsUrl } from '../modules/hall/browser.js';
42
+ export type { JoinHallRoomOptions, JoinHallPubsubOptions } from '../modules/hall/browser.js';
43
+ export type { HallRoomHandle, HallRoomHandleEvents, HallPubsubHandle, HallPubsubHandleEvents, HallPeerRole, RoleChangedEvent, TranscriptEvent, ConceptMentionEvent, RelationProposedEvent, SpeakerChangedEvent, PeerJoinedEvent, PeerLeftEvent, RoomOptions, RecordingManifest, ConceptInput, TopicSubscribedEvent, TopicUnsubscribedEvent, TopicMessageEvent, PresenceUpdateEvent, PresenceEntry, PresenceSnapshotEvent, ReplayEntry, } from '../modules/hall/types.js';
76
44
  export type { SoulcraftSDK } from '../types.js';
77
- export type { ClientSDKOptions } from '../types.js';
78
45
  export type { SoulcraftNamespaces } from '../namespaces.js';
79
46
  export type { SoulcraftBrainy } from '../modules/brainy/types.js';
80
47
  export type { BrainyChangeEvent } from '../modules/brainy/events.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAOH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAG9D,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,iCAAiC,CAAA;AACxC,YAAY,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAOpF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAGxD;;;GAGG;AACH,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC5E;;;GAGG;AACH,OAAO,EAAE,oBAAoB,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAGjG,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAC3F,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAG9D,0EAA0E;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAG9D,0EAA0E;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,YAAY,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAG1F,oFAAoF;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,2BAA2B,CAAA;AAOlC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,YAAY,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAGhE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AACrE,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,YAAY,GACb,MAAM,0BAA0B,CAAA;AAGjC,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,YAAY,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,sBAAsB,GACvB,MAAM,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAG9D,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,iCAAiC,CAAA;AACxC,YAAY,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAGpF,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,YAAY,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAGhE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAChG,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAC5F,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,WAAW,GACZ,MAAM,0BAA0B,CAAA;AAGjC,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,YAAY,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,sBAAsB,GACvB,MAAM,6BAA6B,CAAA"}
@@ -3,8 +3,6 @@
3
3
  * @description Browser/client entry point for @soulcraft/sdk. Exports everything needed
4
4
  * for kit apps running in a browser context to connect to a Soulcraft product backend.
5
5
  *
6
- * ## SDK 2.0 — Namespace-aware transports (recommended)
7
- *
8
6
  * Use `createSoulcraftProxy()` with a namespace-aware transport for full access to
9
7
  * all 25 SDK namespaces (brainy, chat, graph, search, ai, media, realtime, etc.).
10
8
  *
@@ -12,16 +10,7 @@
12
10
  * - {@link PostMessageRpcTransport} — `soulcraft:request` PostMessage. WebContainer iframes.
13
11
  * - {@link WsTransport} — MessagePack binary over WebSocket. Real-time, bidirectional.
14
12
  *
15
- * ## Legacy transports (brainy-only)
16
- *
17
- * These transports only support the `brainy` namespace. They still work for backward
18
- * compatibility but should be migrated to the namespace-aware transports above.
19
- *
20
- * - `LegacyHttpTransport` — `/api/brainy/rpc` only.
21
- * - `LegacyPostMessageTransport` — `brainy:request` only.
22
- * - `WorkshopTransport` — `workshop:request` non-brainy relay (superseded by PostMessageRpcTransport).
23
- *
24
- * @example SDK 2.0 — full namespace access
13
+ * @example Full namespace access via HTTP
25
14
  * ```typescript
26
15
  * import { createSoulcraftProxy, HttpRpcTransport } from '@soulcraft/sdk/client'
27
16
  *
@@ -30,7 +19,7 @@
30
19
  * const graph = await sdk.graph.getData()
31
20
  * ```
32
21
  *
33
- * @example SDK 2.0 — PostMessage in WebContainer iframe
22
+ * @example PostMessage in WebContainer iframe
34
23
  * ```typescript
35
24
  * import { createSoulcraftProxy, PostMessageRpcTransport } from '@soulcraft/sdk/client'
36
25
  *
@@ -41,47 +30,16 @@
41
30
  * }
42
31
  * ```
43
32
  */
44
- // ═══════════════════════════════════════════════════════════════════════════════
45
- // SDK 2.0 — Namespace proxy + transports (recommended)
46
- // ═══════════════════════════════════════════════════════════════════════════════
47
33
  // ── Namespace proxy factory ─────────────────────────────────────────────────
48
34
  export { createSoulcraftProxy } from './namespace-proxy.js';
49
35
  // ── Namespace-aware transports ──────────────────────────────────────────────
50
36
  export { HttpNamespaceTransport, PostMessageNamespaceTransport, HttpRpcTransport, PostMessageRpcTransport, } from '../transports/http-namespace.js';
51
- // ═══════════════════════════════════════════════════════════════════════════════
52
- // Legacy — Brainy-only transports + factories (deprecated in SDK 2.0)
53
- // ═══════════════════════════════════════════════════════════════════════════════
54
- // ── Client SDK factory (creates brainy-only SDK) ────────────────────────────
55
- export { createClientSDK } from './create-client-sdk.js';
56
- // ── Brainy-only transports ──────────────────────────────────────────────────
57
- /**
58
- * @deprecated Use {@link HttpRpcTransport} for full namespace support.
59
- * This transport only supports the `brainy` namespace at `/api/brainy/rpc`.
60
- */
61
- export { HttpTransport as LegacyHttpTransport } from '../transports/http.js';
62
- /**
63
- * @deprecated Use {@link PostMessageRpcTransport} for full namespace support.
64
- * This transport only supports `brainy:request` / `brainy:response`.
65
- */
66
- export { PostMessageTransport as LegacyPostMessageTransport } from '../transports/postmessage.js';
67
- // Keep WsTransport and SseTransport — they'll be extended for namespace support.
37
+ // ── Real-time transports ────────────────────────────────────────────────────
68
38
  export { WsTransport } from '../transports/ws.js';
69
39
  export { SseTransport } from '../transports/sse.js';
70
- // ── Brainy proxy factory (brainy-only) ──────────────────────────────────────
71
- /** @deprecated Use `createSoulcraftProxy()` for full namespace access. */
72
- export { createBrainyProxy } from '../modules/brainy/proxy.js';
73
- // ── App context factory ─────────────────────────────────────────────────────
74
- /** @deprecated Use `createSoulcraftProxy()` for full namespace access. */
75
- export { createAppContext } from '../modules/app-context/index.js';
76
- // ── Workshop transport (superseded by PostMessageRpcTransport) ──────────────
77
- /** @deprecated Use {@link PostMessageRpcTransport} which handles all namespaces. */
78
- export { WorkshopTransport } from '../transports/workshop.js';
79
- // ═══════════════════════════════════════════════════════════════════════════════
80
- // Shared — used by both SDK 2.0 and legacy
81
- // ═══════════════════════════════════════════════════════════════════════════════
82
40
  // ── Y.js provider (collaborative editing) ───────────────────────────────────
83
41
  export { createYjsProvider } from '../transports/yjs-provider.js';
84
- // ── Hall room client (browser WebRTC) ───────────────────────────────────────
85
- export { joinHallRoom } from '../modules/hall/browser.js';
42
+ // ── Hall room + pub/sub clients (browser) ───────────────────────────────────
43
+ export { joinHallRoom, joinHallPubsub, getWhepUrl, getHlsUrl } from '../modules/hall/browser.js';
86
44
  export { SDKError, SDKDisconnectedError, SDKTimeoutError, SDKAuthError, SDKForbiddenError, SDKRpcError, SDKMethodNotFoundError, } from '../modules/brainy/errors.js';
87
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,kFAAkF;AAClF,uDAAuD;AACvD,kFAAkF;AAElF,+EAA+E;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAG3D,+EAA+E;AAC/E,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,iCAAiC,CAAA;AAGxC,kFAAkF;AAClF,sEAAsE;AACtE,kFAAkF;AAElF,+EAA+E;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,+EAA+E;AAC/E;;;GAGG;AACH,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC5E;;;GAGG;AACH,OAAO,EAAE,oBAAoB,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAEjG,iFAAiF;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAInD,+EAA+E;AAC/E,0EAA0E;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAE9D,+EAA+E;AAC/E,0EAA0E;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAGlE,+EAA+E;AAC/E,oFAAoF;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAO7D,kFAAkF;AAClF,2CAA2C;AAC3C,kFAAkF;AAElF,+EAA+E;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAGjE,+EAA+E;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAsBzD,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,sBAAsB,GACvB,MAAM,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,+EAA+E;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAG3D,+EAA+E;AAC/E,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,iCAAiC,CAAA;AAGxC,+EAA+E;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,+EAA+E;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAGjE,+EAA+E;AAC/E,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAgChG,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,sBAAsB,GACvB,MAAM,6BAA6B,CAAA"}
@@ -15,10 +15,9 @@
15
15
  *
16
16
  * ## Special namespace: brainy
17
17
  *
18
- * The `brainy` namespace is special it delegates to the existing
19
- * `createBrainyProxy()` for full backward compatibility with all existing
20
- * Brainy methods, sub-APIs (vfs, versions, neural, counts), and lifecycle
21
- * methods (onDataChange, offDataChange, isAlive, close).
18
+ * The `brainy` namespace uses the same recursive Proxy pattern but with
19
+ * special handling for Brainy sub-APIs (vfs, versions, neural, counts) and
20
+ * lifecycle methods (onDataChange, offDataChange, isAlive, close).
22
21
  *
23
22
  * ## Streaming
24
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"namespace-proxy.d.ts","sourceRoot":"","sources":["../../src/client/namespace-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAO/C;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAErE;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAEjF;;OAEG;IACH,OAAO,IAAI,OAAO,CAAA;IAElB;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,kBAAkB,GAAG,YAAY,CAEhF"}
1
+ {"version":3,"file":"namespace-proxy.d.ts","sourceRoot":"","sources":["../../src/client/namespace-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAO/C;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAErE;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAEjF;;OAEG;IACH,OAAO,IAAI,OAAO,CAAA;IAElB;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,kBAAkB,GAAG,YAAY,CAEhF"}
@@ -15,10 +15,9 @@
15
15
  *
16
16
  * ## Special namespace: brainy
17
17
  *
18
- * The `brainy` namespace is special it delegates to the existing
19
- * `createBrainyProxy()` for full backward compatibility with all existing
20
- * Brainy methods, sub-APIs (vfs, versions, neural, counts), and lifecycle
21
- * methods (onDataChange, offDataChange, isAlive, close).
18
+ * The `brainy` namespace uses the same recursive Proxy pattern but with
19
+ * special handling for Brainy sub-APIs (vfs, versions, neural, counts) and
20
+ * lifecycle methods (onDataChange, offDataChange, isAlive, close).
22
21
  *
23
22
  * ## Streaming
24
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"namespace-proxy.js","sourceRoot":"","sources":["../../src/client/namespace-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAgDH,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAA6B;IAChE,OAAO,gBAAgB,CAAC,SAAS,CAAiB,CAAA;AACpD,CAAC;AAED,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,SAA6B;IACrD,OAAO,IAAI,KAAK,CAAC,cAAa,CAAC,EAAE;QAC/B,GAAG,CAAC,OAAO,EAAE,IAAqB;YAChC,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAA;YAC9C,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAA;YAErC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;YAEvB,gCAAgC;YAChC,IAAI,EAAE,KAAK,YAAY;gBAAE,OAAO,SAAS,CAAA;YACzC,IAAI,EAAE,KAAK,SAAS;gBAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;YACtD,IAAI,EAAE,KAAK,OAAO;gBAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;YAElD,6DAA6D;YAC7D,OAAO,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QACjD,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,qBAAqB,CAC5B,SAA6B,EAC7B,EAAU,EACV,UAAkB;IAElB,OAAO,IAAI,KAAK,CAAC,cAAa,CAAC,EAAE;QAC/B,GAAG,CAAC,OAAO,EAAE,IAAqB;YAChC,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAA;YAC9C,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAA;YAErC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;YAE5B,qEAAqE;YACrE,iDAAiD;YACjD,IAAI,EAAE,KAAK,QAAQ,IAAI,UAAU,KAAK,EAAE,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/E,OAAO,qBAAqB,CAAC,SAAS,EAAE,UAAU,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;YAClE,CAAC;YAED,0BAA0B;YAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;YAClE,OAAO,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;QACvD,CAAC;QAED,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAe;YACtC,+DAA+D;YAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,sEAAsE;gBACtE,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,0BAA0B,EAAE,kCAAkC,EAAE,eAAe,CAAC,CAC3F,CAAA;YACH,CAAC;YACD,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;QAC/C,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,iEAAiE;AACjE,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"namespace-proxy.js","sourceRoot":"","sources":["../../src/client/namespace-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAgDH,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAA6B;IAChE,OAAO,gBAAgB,CAAC,SAAS,CAAiB,CAAA;AACpD,CAAC;AAED,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,SAA6B;IACrD,OAAO,IAAI,KAAK,CAAC,cAAa,CAAC,EAAE;QAC/B,GAAG,CAAC,OAAO,EAAE,IAAqB;YAChC,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAA;YAC9C,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAA;YAErC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;YAEvB,gCAAgC;YAChC,IAAI,EAAE,KAAK,YAAY;gBAAE,OAAO,SAAS,CAAA;YACzC,IAAI,EAAE,KAAK,SAAS;gBAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;YACtD,IAAI,EAAE,KAAK,OAAO;gBAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;YAElD,6DAA6D;YAC7D,OAAO,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QACjD,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,qBAAqB,CAC5B,SAA6B,EAC7B,EAAU,EACV,UAAkB;IAElB,OAAO,IAAI,KAAK,CAAC,cAAa,CAAC,EAAE;QAC/B,GAAG,CAAC,OAAO,EAAE,IAAqB;YAChC,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAA;YAC9C,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAA;YAErC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;YAE5B,qEAAqE;YACrE,iDAAiD;YACjD,IAAI,EAAE,KAAK,QAAQ,IAAI,UAAU,KAAK,EAAE,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/E,OAAO,qBAAqB,CAAC,SAAS,EAAE,UAAU,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;YAClE,CAAC;YAED,0BAA0B;YAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;YAClE,OAAO,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;QACvD,CAAC;QAED,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAe;YACtC,+DAA+D;YAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,sEAAsE;gBACtE,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,0BAA0B,EAAE,kCAAkC,EAAE,eAAe,CAAC,CAC3F,CAAA;YACH,CAAC;YACD,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;QAC/C,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,iEAAiE;AACjE,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA"}
package/dist/index.d.ts CHANGED
@@ -4,14 +4,14 @@
4
4
  * environment-agnostic constants. This entry point is safe to import in any environment
5
5
  * (server or browser).
6
6
  *
7
- * For server-specific exports (Brainy lifecycle, Cortex, auth middleware, RPC handlers,
8
- * `createSDK`, `computeEmailHash`, `createCapabilityToken`, `verifyCapabilityToken`,
7
+ * For server-specific exports (`createSoulcraftRouter`, namespace handlers, auth
8
+ * middleware, `computeEmailHash`, `createCapabilityToken`, `verifyCapabilityToken`,
9
9
  * `getAuthMode`, `getOIDCClientConfig`), use `@soulcraft/sdk/server`.
10
10
  *
11
- * For browser-specific exports (HTTP/WS/SSE transports, `createClientSDK`), use
12
- * `@soulcraft/sdk/client`.
11
+ * For browser-specific exports (`createSoulcraftProxy`, HTTP/WS transports, Hall),
12
+ * use `@soulcraft/sdk/client`.
13
13
  */
14
- export type { SoulcraftSDK, SDKOptions, ServerSDKOptions, ClientSDKOptions } from './types.js';
14
+ export type { SoulcraftSDK, SDKOptions, ServerSDKOptions } from './types.js';
15
15
  export type { SoulcraftProduct } from './modules/auth/products.js';
16
16
  export type { SoulcraftBrainy } from './modules/brainy/types.js';
17
17
  export type { Entity, Relation, Result, AddParams, UpdateParams, RelateParams, FindParams, BrainyConfig, AggregateDefinition, DiagnosticsResult, MigrationResult, MigrateOptions, MigrationPreview, NounType, VerbType, BrainyChangeEvent, BrainyChangeEntity, BrainyChangeRelation, } from './modules/brainy/types.js';
@@ -19,7 +19,7 @@ export type { CreateCapabilityTokenOptions, CapabilityTokenClaims, } from './mod
19
19
  export { SDKError, SDKDisconnectedError, SDKTimeoutError, SDKAuthError, SDKForbiddenError, SDKRpcError, SDKMethodNotFoundError, } from './modules/brainy/errors.js';
20
20
  export type { VfsModule } from './modules/vfs/types.js';
21
21
  export type { VersionsModule } from './modules/versions/types.js';
22
- export type { HallModule, HallRoom, HallRoomHandle, HallRoomEvents, HallRoomHandleEvents, HallConnectionOptions, RoomOptions, ConceptInput, RecordingManifest, TranscriptEvent, ConceptMentionEvent, RelationProposedEvent, SpeakerChangedEvent, PeerJoinedEvent, PeerLeftEvent, } from './modules/hall/types.js';
22
+ export type { HallModule, HallRoom, HallRoomHandle, HallPubsubHandle, HallRoomEvents, HallRoomHandleEvents, HallPubsubHandleEvents, HallPubsubEvents, HallConnectionOptions, HallPeerRole, ScreenShareMode, RoomOptions, ConceptInput, RecordingManifest, RoleChangedEvent, TranscriptEvent, ConceptMentionEvent, RelationProposedEvent, SpeakerChangedEvent, PeerJoinedEvent, PeerLeftEvent, PeerPromotedEvent, PeerDemotedEvent, ViewerCountEvent, ScreenShareThumbnailEvent, ChatMessage as HallChatMessage, ChatHistoryEvent, MediaInfo as HallMediaInfo, MediaReadyEvent, MediaErrorEvent, TranscodeTarget, ReplayEntry, TopicSubscribedEvent, TopicUnsubscribedEvent, TopicMessageEvent, PresenceUpdateEvent, PresenceEntry, PresenceSnapshotEvent, } from './modules/hall/types.js';
23
23
  export type { AuthModule, PlatformRole, SoulcraftAuthProvider, SoulcraftOrganization, SoulcraftUserFields, SoulcraftSessionUser, SoulcraftSession, OIDCClientConfig, AuthMode, } from './modules/auth/types.js';
24
24
  export { SOULCRAFT_USER_FIELDS, SOULCRAFT_SESSION_CONFIG, } from './modules/auth/config.js';
25
25
  export type { AiModule, AiCompleteOptions, AiCompleteResult, AiStreamOptions, AiStreamEvent, AiToolCall, AiMessage, AiContentBlock, AiTool, AiModel, } from './modules/ai/types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,12 +4,12 @@
4
4
  * environment-agnostic constants. This entry point is safe to import in any environment
5
5
  * (server or browser).
6
6
  *
7
- * For server-specific exports (Brainy lifecycle, Cortex, auth middleware, RPC handlers,
8
- * `createSDK`, `computeEmailHash`, `createCapabilityToken`, `verifyCapabilityToken`,
7
+ * For server-specific exports (`createSoulcraftRouter`, namespace handlers, auth
8
+ * middleware, `computeEmailHash`, `createCapabilityToken`, `verifyCapabilityToken`,
9
9
  * `getAuthMode`, `getOIDCClientConfig`), use `@soulcraft/sdk/server`.
10
10
  *
11
- * For browser-specific exports (HTTP/WS/SSE transports, `createClientSDK`), use
12
- * `@soulcraft/sdk/client`.
11
+ * For browser-specific exports (`createSoulcraftProxy`, HTTP/WS transports, Hall),
12
+ * use `@soulcraft/sdk/client`.
13
13
  */
14
14
  // createCapabilityToken and verifyCapabilityToken are server-only (node:crypto).
15
15
  // Import from @soulcraft/sdk/server.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA+BH,iFAAiF;AACjF,qCAAqC;AACrC,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,sBAAsB,GACvB,MAAM,4BAA4B,CAAA;AAuCnC,gGAAgG;AAChG,oFAAoF;AACpF,2CAA2C;AAC3C,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,0BAA0B,CAAA;AAejC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAoFjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA+BH,iFAAiF;AACjF,qCAAqC;AACrC,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,sBAAsB,GACvB,MAAM,4BAA4B,CAAA;AA8DnC,gGAAgG;AAChG,oFAAoF;AACpF,2CAA2C;AAC3C,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,0BAA0B,CAAA;AAejC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAoFjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA"}
@@ -1,49 +1,51 @@
1
1
  /**
2
2
  * @module modules/hall/browser
3
- * @description Browser-side Hall room client joins a WebRTC room via a session token.
3
+ * @description Browser-side Hall clientsjoin WebRTC rooms and pub/sub topics via session tokens.
4
4
  *
5
- * `joinHallRoom` is the browser entry point for Hall real-time communication.
6
- * It opens a WebSocket to the Hall signaling endpoint, negotiates a WebRTC peer
7
- * connection via offer/answer/ICE, and returns a `HallRoomHandle` with typed events
8
- * for tracks, transcripts, concept mentions, and room lifecycle.
5
+ * This module provides two browser entry points:
6
+ *
7
+ * - `joinHallRoom` joins a WebRTC room for real-time audio/video/data communication.
8
+ * Handles SDP offer/answer, ICE negotiation, track events, and AI events (transcripts,
9
+ * concept mentions). In broadcast rooms, handles role changes (promotion/demotion)
10
+ * transparently.
11
+ *
12
+ * - `joinHallPubsub` — connects to the Hall pub/sub system for topic-based messaging
13
+ * with presence tracking. Uses msgpack over WebSocket, same binary format as the
14
+ * product connection.
9
15
  *
10
16
  * **Auth model:** The browser never sees the product's shared secret. The product
11
- * backend mints a short-lived HMAC session token (via `sdk.hall.createSessionToken`)
12
- * and passes it to the browser. The browser passes the token to `joinHallRoom` — that
13
- * is the only browser credential.
17
+ * backend mints short-lived tokens (via `sdk.hall.createSessionToken` or
18
+ * `sdk.hall.createPubsubToken`) and passes them to the browser.
14
19
  *
15
20
  * This module has no server-only dependencies and is safe to bundle for the browser.
16
- * It does require `RTCPeerConnection` and `WebSocket` to be available (standard in
17
- * all modern browsers; not available in Node.js without polyfills).
18
21
  *
19
- * @example
22
+ * @example WebRTC room
20
23
  * ```typescript
21
24
  * import { joinHallRoom } from '@soulcraft/sdk/client'
22
25
  *
23
- * // 1. Get token from product backend:
24
26
  * const { token, hallUrl } = await fetch('/api/session/join').then(r => r.json())
25
- *
26
- * // 2. Get camera + mic:
27
27
  * const stream = await navigator.mediaDevices.getUserMedia({ video: true, audio: true })
28
- *
29
- * // 3. Join room:
30
28
  * const room = await joinHallRoom({ token, hallUrl })
31
29
  * room.addStream(stream)
30
+ * room.on('trackAdded', ({ peerId, streams }) => renderVideo(peerId, streams[0]))
31
+ * room.on('transcript', ({ text, isFinal }) => { if (isFinal) showCaption(text) })
32
+ * room.on('roleChanged', ({ role, canPublish }) => updateUI(role, canPublish))
33
+ * room.close()
34
+ * ```
32
35
  *
33
- * // 4. Handle events:
34
- * room.on('trackAdded', ({ peerId, streams }) => {
35
- * document.getElementById(`video-${peerId}`).srcObject = streams[0]
36
- * })
37
- * room.on('transcript', ({ peerId, text, isFinal }) => {
38
- * if (isFinal) appendCaption(peerId, text)
39
- * })
40
- * room.on('conceptMention', ({ nodeId, confidence }) => pulseGraphNode(nodeId, confidence))
36
+ * @example Pub/Sub
37
+ * ```typescript
38
+ * import { joinHallPubsub } from '@soulcraft/sdk/client'
41
39
  *
42
- * // 5. On leave:
43
- * room.close()
40
+ * const { token, hallUrl } = await fetch('/api/pubsub/token').then(r => r.json())
41
+ * const pubsub = await joinHallPubsub({ token, hallUrl })
42
+ * pubsub.subscribe('room:abc:chat', { username: 'Alice' })
43
+ * pubsub.on('topicMessage', ({ senderId, payload }) => showMessage(senderId, payload))
44
+ * pubsub.broadcast('room:abc:chat', { text: 'Hello!' })
45
+ * pubsub.close()
44
46
  * ```
45
47
  */
46
- import type { HallRoomHandle } from './types.js';
48
+ import type { HallRoomHandle, HallPubsubHandle } from './types.js';
47
49
  /**
48
50
  * Options for {@link joinHallRoom}.
49
51
  */
@@ -65,6 +67,19 @@ export interface JoinHallRoomOptions {
65
67
  */
66
68
  iceServers?: RTCIceServer[];
67
69
  }
70
+ /**
71
+ * Options for {@link joinHallPubsub}.
72
+ */
73
+ export interface JoinHallPubsubOptions {
74
+ /**
75
+ * The pub/sub token issued by the product backend via `sdk.hall.createPubsubToken()`.
76
+ */
77
+ token: string;
78
+ /**
79
+ * The Hall server WebSocket base URL (e.g. `"wss://hall.soulcraft.com"`).
80
+ */
81
+ hallUrl: string;
82
+ }
68
83
  /**
69
84
  * Join a Hall room from the browser using a session token.
70
85
  *
@@ -72,6 +87,9 @@ export interface JoinHallRoomOptions {
72
87
  * performs the offer/answer/ICE exchange, and resolves once the peer connection reaches
73
88
  * `connected` state. Returns a {@link HallRoomHandle} with typed events.
74
89
  *
90
+ * In broadcast rooms, the handle also emits `roleChanged` when the peer is promoted
91
+ * or demoted. The `role` and `canPublish` properties are updated automatically.
92
+ *
75
93
  * @param options - Token, Hall URL, and optional ICE server overrides.
76
94
  * @returns A connected `HallRoomHandle`.
77
95
  * @throws {Error} If the signaling handshake fails or the connection times out.
@@ -82,7 +100,45 @@ export interface JoinHallRoomOptions {
82
100
  * room.addStream(localStream)
83
101
  * room.on('trackAdded', ({ peerId, streams }) => renderVideo(peerId, streams[0]))
84
102
  * room.on('transcript', ({ text, isFinal }) => { if (isFinal) showCaption(text) })
103
+ * room.on('roleChanged', ({ role, canPublish }) => updateUI(role, canPublish))
85
104
  * ```
86
105
  */
87
106
  export declare function joinHallRoom(options: JoinHallRoomOptions): Promise<HallRoomHandle>;
107
+ /**
108
+ * Connect to the Hall pub/sub system from the browser using a pub/sub token.
109
+ *
110
+ * Opens a WebSocket to `{hallUrl}/ws/pubsub/{token}` using msgpack wire format.
111
+ * Resolves once `authOk` is received from the server, confirming the token is valid.
112
+ *
113
+ * @param options - Token and Hall URL.
114
+ * @returns A connected `HallPubsubHandle`.
115
+ * @throws {Error} If authentication fails or the connection times out.
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * const pubsub = await joinHallPubsub({ token, hallUrl: 'wss://hall.soulcraft.com' })
120
+ * pubsub.subscribe('room:abc:chat', { username: 'Alice' })
121
+ * pubsub.on('topicMessage', ({ topic, senderId, payload }) => showMessage(senderId, payload))
122
+ * pubsub.broadcast('room:abc:chat', { text: 'Hello!' })
123
+ * pubsub.close()
124
+ * ```
125
+ */
126
+ export declare function joinHallPubsub(options: JoinHallPubsubOptions): Promise<HallPubsubHandle>;
127
+ /**
128
+ * Build the WHEP endpoint URL for receive-only WebRTC viewing of a broadcast room.
129
+ * The browser POSTs an SDP offer to this URL with `Authorization: Bearer <sessionToken>`.
130
+ *
131
+ * @param hallUrl - Hall server base URL (e.g. `"https://hall.soulcraft.com"`).
132
+ * @param roomId - The room to view.
133
+ * @returns The WHEP endpoint URL.
134
+ */
135
+ export declare function getWhepUrl(hallUrl: string, roomId: string): string;
136
+ /**
137
+ * Build the LL-HLS master playlist URL for scalable HLS viewing of a broadcast room.
138
+ *
139
+ * @param hallUrl - Hall server base URL (e.g. `"https://hall.soulcraft.com"`).
140
+ * @param roomId - The room to view.
141
+ * @returns The HLS playlist URL.
142
+ */
143
+ export declare function getHlsUrl(hallUrl: string, roomId: string): string;
88
144
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/modules/hall/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAAK,EACV,cAAc,EAQf,MAAM,YAAY,CAAA;AAoBnB;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,YAAY,EAAE,CAAA;CAC5B;AAiGD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAiIxF"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/modules/hall/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAGH,OAAO,KAAK,EAEV,cAAc,EAEd,gBAAgB,EAcjB,MAAM,YAAY,CAAA;AAqBnB;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,YAAY,EAAE,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB;AAyGD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAmHxF;AA6HD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgE9F;AAgCD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGlE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGjE"}