@q9labsai/chalk-client 4.1.15 → 4.1.16

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 (130) hide show
  1. package/README.md +56 -2
  2. package/dist/access/manager.d.ts.map +1 -1
  3. package/dist/{chunk-LQSXEWLL.js → chunk-BD7FRQ67.js} +2061 -326
  4. package/dist/{chunk-6ONSFCIY.js → chunk-E4OK5K6N.js} +7 -3
  5. package/dist/{chunk-NKOKY2AE.js → chunk-EWTITNJ3.js} +15 -101
  6. package/dist/chunk-HW5TTZL2.js +99 -0
  7. package/dist/{chunk-LSDDADCN.js → chunk-M3S7HNQF.js} +1656 -517
  8. package/dist/{chunk-PQNSA7ZN.js → chunk-O7WTAXAY.js} +610 -73
  9. package/dist/{chunk-PWUU6T3R.js → chunk-OKIL2ELF.js} +1185 -874
  10. package/dist/chunk-RCDXIDCN.js +33 -0
  11. package/dist/client.d.ts +1412 -463
  12. package/dist/client.d.ts.map +1 -1
  13. package/dist/connection/dependencies.d.ts +10 -0
  14. package/dist/connection/dependencies.d.ts.map +1 -1
  15. package/dist/connection/index.d.ts +2 -0
  16. package/dist/connection/index.d.ts.map +1 -1
  17. package/dist/connection/lifecycle.d.ts.map +1 -1
  18. package/dist/connection/production.d.ts +4 -1
  19. package/dist/connection/production.d.ts.map +1 -1
  20. package/dist/connection/types.d.ts +2 -2
  21. package/dist/connection/types.d.ts.map +1 -1
  22. package/dist/effect.js +343 -130
  23. package/dist/feedback/collector.d.ts +14 -0
  24. package/dist/feedback/collector.d.ts.map +1 -0
  25. package/dist/feedback/context.d.ts +38 -0
  26. package/dist/feedback/context.d.ts.map +1 -0
  27. package/dist/feedback/controller.d.ts +4 -0
  28. package/dist/feedback/controller.d.ts.map +1 -0
  29. package/dist/feedback/index.d.ts +7 -0
  30. package/dist/feedback/index.d.ts.map +1 -0
  31. package/dist/feedback/transport.d.ts +29 -0
  32. package/dist/feedback/transport.d.ts.map +1 -0
  33. package/dist/feedback/types.d.ts +202 -0
  34. package/dist/feedback/types.d.ts.map +1 -0
  35. package/dist/feedback/validation.d.ts +30 -0
  36. package/dist/feedback/validation.d.ts.map +1 -0
  37. package/dist/generated/http-api.d.ts +1401 -462
  38. package/dist/generated/http-api.d.ts.map +1 -1
  39. package/dist/generated/schemas.d.ts +2601 -858
  40. package/dist/generated/schemas.d.ts.map +1 -1
  41. package/dist/index.d.ts +1 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +150 -35
  44. package/dist/media/camera-uplink.d.ts +13 -0
  45. package/dist/media/camera-uplink.d.ts.map +1 -0
  46. package/dist/media/capture-error.d.ts +27 -0
  47. package/dist/media/capture-error.d.ts.map +1 -0
  48. package/dist/media/client.d.ts +4 -0
  49. package/dist/media/client.d.ts.map +1 -1
  50. package/dist/media/index.d.ts +1 -0
  51. package/dist/media/index.d.ts.map +1 -1
  52. package/dist/media/index.js +5 -1
  53. package/dist/media/plane.d.ts +4 -0
  54. package/dist/media/plane.d.ts.map +1 -1
  55. package/dist/media/remote-track-response.d.ts +6 -0
  56. package/dist/media/remote-track-response.d.ts.map +1 -0
  57. package/dist/media/transport.d.ts.map +1 -1
  58. package/dist/media/types.d.ts +20 -2
  59. package/dist/media/types.d.ts.map +1 -1
  60. package/dist/public-invites/client.d.ts.map +1 -1
  61. package/dist/public-invites/index.js +4 -3
  62. package/dist/public-invites/types.d.ts +4 -2
  63. package/dist/public-invites/types.d.ts.map +1 -1
  64. package/dist/server/access-refresh.d.cts +8 -0
  65. package/dist/server/access-refresh.d.ts +9 -0
  66. package/dist/server/access-refresh.d.ts.map +1 -0
  67. package/dist/server/client.d.ts.map +1 -1
  68. package/dist/server/index.cjs +181 -20
  69. package/dist/server/index.d.cts +2 -1
  70. package/dist/server/index.d.ts +2 -1
  71. package/dist/server/index.d.ts.map +1 -1
  72. package/dist/server/index.js +179 -19
  73. package/dist/server/types.d.cts +74 -0
  74. package/dist/server/types.d.ts +74 -0
  75. package/dist/server/types.d.ts.map +1 -1
  76. package/dist/space-client/chat-controller.d.ts +3 -0
  77. package/dist/space-client/chat-controller.d.ts.map +1 -1
  78. package/dist/space-client/controller-effects.d.ts +6 -0
  79. package/dist/space-client/controller-effects.d.ts.map +1 -1
  80. package/dist/space-client/core.d.ts +12 -1
  81. package/dist/space-client/core.d.ts.map +1 -1
  82. package/dist/space-client/core.test.helpers.d.ts +1 -0
  83. package/dist/space-client/core.test.helpers.d.ts.map +1 -1
  84. package/dist/space-client/effect.d.ts +5 -0
  85. package/dist/space-client/effect.d.ts.map +1 -1
  86. package/dist/space-client/episode-diagnostic-runtime.d.ts +3 -0
  87. package/dist/space-client/episode-diagnostic-runtime.d.ts.map +1 -1
  88. package/dist/space-client/errors.d.ts.map +1 -1
  89. package/dist/space-client/index.d.ts +4 -1
  90. package/dist/space-client/index.d.ts.map +1 -1
  91. package/dist/space-client/media-controller.d.ts.map +1 -1
  92. package/dist/space-client/offline-actions-storage.d.ts +66 -0
  93. package/dist/space-client/offline-actions-storage.d.ts.map +1 -0
  94. package/dist/space-client/offline-actions.d.ts +36 -0
  95. package/dist/space-client/offline-actions.d.ts.map +1 -0
  96. package/dist/space-client/participants-controller.d.ts +2 -1
  97. package/dist/space-client/participants-controller.d.ts.map +1 -1
  98. package/dist/space-client/recording-controller.d.ts +20 -0
  99. package/dist/space-client/recording-controller.d.ts.map +1 -0
  100. package/dist/space-client/reload-rejoin.d.ts +24 -0
  101. package/dist/space-client/reload-rejoin.d.ts.map +1 -0
  102. package/dist/space-client/space-client.d.ts.map +1 -1
  103. package/dist/space-client/store.d.ts +3 -1
  104. package/dist/space-client/store.d.ts.map +1 -1
  105. package/dist/space-client/types.d.ts +40 -4
  106. package/dist/space-client/types.d.ts.map +1 -1
  107. package/dist/sync/index.js +2 -1
  108. package/dist/sync/v1-client.d.ts +1 -5
  109. package/dist/sync/v1-client.d.ts.map +1 -1
  110. package/dist/sync/v1-collaboration-state.d.ts +65 -0
  111. package/dist/sync/v1-collaboration-state.d.ts.map +1 -0
  112. package/dist/sync/v1-command-scheduler.d.ts +54 -0
  113. package/dist/sync/v1-command-scheduler.d.ts.map +1 -0
  114. package/dist/sync/v1-deferred.d.ts +8 -0
  115. package/dist/sync/v1-deferred.d.ts.map +1 -0
  116. package/dist/sync/v1-error.d.ts +5 -0
  117. package/dist/sync/v1-error.d.ts.map +1 -0
  118. package/dist/sync/v1-frame-signature.d.ts +2 -0
  119. package/dist/sync/v1-frame-signature.d.ts.map +1 -0
  120. package/dist/sync/v1-live-target-coordinator.d.ts +32 -0
  121. package/dist/sync/v1-live-target-coordinator.d.ts.map +1 -0
  122. package/dist/sync/v1-types.d.ts +3 -0
  123. package/dist/sync/v1-types.d.ts.map +1 -1
  124. package/dist/telemetry/index.js +9 -7
  125. package/dist/telemetry/reconnect.d.ts +7 -0
  126. package/dist/telemetry/reconnect.d.ts.map +1 -0
  127. package/dist/telemetry/trace.d.ts +1 -1
  128. package/dist/telemetry/trace.d.ts.map +1 -1
  129. package/dist/whiteboard/v1-client.d.ts.map +1 -1
  130. package/package.json +1 -1
package/README.md CHANGED
@@ -17,7 +17,7 @@ pnpm add @q9labsai/chalk-client
17
17
 
18
18
  ## Create and join a Space
19
19
 
20
- Your backend mints an `AccessGrant` with the server SDK. Pass it through to the
20
+ Your backend mints an `AccessGrant` with the server SDK. See the [web quickstart](../../../docs/sdk-web-quickstart.md) for Tenant setup, `createChalkServerClient`, Space creation, Participant admission, and server-only `getAccessRefreshState` for normal access refresh. Pass it through to the
21
21
  client unchanged: it is an opaque signed envelope, so application code does
22
22
  not construct or inspect it. `getAccess` may resolve with the fetch `Response`
23
23
  that carries the grant or with its decoded JSON; the client validates it and
@@ -85,6 +85,32 @@ client.dispose();
85
85
  `endEpisode` and `extendEpisode` are capability-gated. Use `dispose()` when
86
86
  the client will no longer be used; it releases the Connection and its resources.
87
87
 
88
+ ## Feedback
89
+
90
+ `SpaceClient.feedback` submits a bug, feature request, or other feedback
91
+ report to Chalk with the current safe diagnostic context. `prepare` gives a
92
+ form one stable idempotency key and captures evidence before the user sends it.
93
+
94
+ ```ts
95
+ const feedback = await client.feedback.prepare();
96
+
97
+ await feedback.send({
98
+ category: "bug",
99
+ message: "The camera control stopped responding.",
100
+ });
101
+ ```
102
+
103
+ The transport uses the short-lived Diagnostic Participant credential already
104
+ carried by the AccessGrant. That credential is never exposed through the public
105
+ Feedback API. Custom screenshot adapters may be passed to `prepare`; a typed
106
+ unavailable result is valid and never blocks a text report.
107
+
108
+ ## Recording and artifact Events
109
+
110
+ Use `client.recording.start()` and `client.recording.stop()` inside an Episode, or set the Space's Automatic Recording policy. There is no REST Recording start/stop operation.
111
+
112
+ The server SDK requests Exports and creates download URLs. Subscribe to `recording.completed` for verified MP4 readiness and `transcript.completed` for document readiness; both also emit `started` and `failed`. See the [webhook guide](docs/webhooks.md).
113
+
88
114
  ## Feature controllers
89
115
 
90
116
  Lifecycle stays flat on `SpaceClient`; feature commands are namespaced.
@@ -103,7 +129,7 @@ await client.chat.send({ text: "Hello" });
103
129
  await client.chat.loadOlder();
104
130
  await client.chat.markRead("message-id");
105
131
  const attachment = await client.chat.files.upload(file);
106
- const url = client.chat.files.url(attachment);
132
+ const url = await client.chat.files.resolveUrl(attachment);
107
133
 
108
134
  await client.participants.assignRole("participant-id", "collaborator");
109
135
  await client.participants.mute("participant-id");
@@ -117,6 +143,22 @@ await client.participants.raiseHand();
117
143
  await client.participants.lowerHand();
118
144
  await client.participants.renameSelf("Ari");
119
145
 
146
+ // Chat messages and hand raises made while the connection recovers are held.
147
+ // The default policy sends them once live again. With "ask", read
148
+ // `client.getSnapshot().offline` and let the user decide.
149
+ await client.offline.setPolicy("ask"); // "ask" | "send" | "discard"
150
+ await client.offline.send(); // or client.offline.discard()
151
+
152
+ // Held actions survive a browser reload for up to 24 hours. They are restored
153
+ // only for the same tenant, Space, Episode, participant and generation.
154
+ // Restored actions ask for a decision unless a policy has been set explicitly.
155
+ // Expired or mismatched actions are dropped; snapshot.offline.notice explains why.
156
+ // Native consumers can pass offlineActionsStorage in createSpaceClient options:
157
+ // a synchronous getItem/setItem/removeItem adapter (for example, hydrated MMKV).
158
+ // If browser storage is unavailable, actions stay in memory and a notice asks
159
+ // the user to keep the page open. Stored actions are retired before dispatch;
160
+ // a crash in that small interval can lose an action, but cannot replay it.
161
+
120
162
  await client.reactions.send("🎉");
121
163
  const transport = client.whiteboard.transport();
122
164
  ```
@@ -169,3 +211,15 @@ and request bodies stay out of telemetry.
169
211
  The default entry is Promise-based. Effect applications can use the
170
212
  `@q9labsai/chalk-client/effect` entry for the same `SpaceClient` shape as an
171
213
  Effect program.
214
+
215
+ ## Sync v1 maintenance
216
+
217
+ - `V1SyncClient` owns the race-sensitive socket generation, connection phases,
218
+ reconnect and heartbeat flow, recovery/revision evidence, projections, and
219
+ snapshots.
220
+ - `V1CollaborationState` owns negotiated collaboration state, cursors,
221
+ receipts, listeners, and chat/reaction deferreds.
222
+ - `V1CommandScheduler` owns durable command persistence and reconciliation,
223
+ capacity, retries, timers, and settlement.
224
+ - `V1LiveTargetCoordinator` owns self-media target authorization, adapter
225
+ execution, retries, deadlines, and local target state.
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/access/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAmB,MAAM,QAAQ,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AACxG,OAAO,KAAK,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;;;;AAIlG,qBAAa,uBAAwB,SAAQ,6BAA4C;IACvF,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,oBAAoB,CAAC;IACvD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;AAEL,MAAM,MAAM,8BAA8B,GAAG,CAAC,OAAO,EAAE,uBAAuB,KAAK,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;AAC7I,MAAM,MAAM,iCAAiC,GAAG,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEpF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,aAAa,EAAE,MAAM,iBAAiB,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;IACrH,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,sBAAsB,KAAK,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;IACrH,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,EAAE,sBAAsB,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;IAClK,QAAQ,CAAC,qBAAqB,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;IAChG,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,sBAAsB,KAAK,MAAM,CAAC,MAAM,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,CAAC;IAC9H,QAAQ,CAAC,aAAa,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,0BAA0B,EAAE,uBAAuB,CAAC,CAAC;IACjG,QAAQ,CAAC,kCAAkC,EAAE,CAAC,QAAQ,EAAE,iCAAiC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACxH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACrC,CAAC;;AAEF,qBAAa,uBAAwB,SAAQ,4BAA2G;CAAG;AAY3J;;;GAGG;AACH,eAAO,MAAM,yBAAyB,aAAc,8BAA8B,iFAuC/E,CAAC;AAEJ,eAAO,MAAM,6BAA6B,aAzCU,8BAA8B,iFAyCZ,CAAC"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/access/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAmB,MAAM,QAAQ,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AACxG,OAAO,KAAK,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;;;;AAKlG,qBAAa,uBAAwB,SAAQ,6BAA4C;IACvF,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,oBAAoB,CAAC;IACvD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;AAEL,MAAM,MAAM,8BAA8B,GAAG,CAAC,OAAO,EAAE,uBAAuB,KAAK,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;AAC7I,MAAM,MAAM,iCAAiC,GAAG,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEpF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,aAAa,EAAE,MAAM,iBAAiB,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;IACrH,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,sBAAsB,KAAK,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;IACrH,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,EAAE,sBAAsB,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;IAClK,QAAQ,CAAC,qBAAqB,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;IAChG,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,sBAAsB,KAAK,MAAM,CAAC,MAAM,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,CAAC;IAC9H,QAAQ,CAAC,aAAa,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,0BAA0B,EAAE,uBAAuB,CAAC,CAAC;IACjG,QAAQ,CAAC,kCAAkC,EAAE,CAAC,QAAQ,EAAE,iCAAiC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACxH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACrC,CAAC;;AAEF,qBAAa,uBAAwB,SAAQ,4BAA2G;CAAG;AAY3J;;;GAGG;AACH,eAAO,MAAM,yBAAyB,aAAc,8BAA8B,iFAuC/E,CAAC;AAEJ,eAAO,MAAM,6BAA6B,aAzCU,8BAA8B,iFAyCZ,CAAC"}