@archastro/sdk 0.8.0 → 0.10.0

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 (84) hide show
  1. package/README.md +3 -0
  2. package/dist/app-session.d.ts +3 -3
  3. package/dist/app-session.d.ts.map +1 -1
  4. package/dist/app-session.js +2 -3
  5. package/dist/app-session.js.map +1 -1
  6. package/dist/client.d.ts +18 -5
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +13 -8
  9. package/dist/client.js.map +1 -1
  10. package/dist/custom-object-subscriptions.d.ts +94 -0
  11. package/dist/custom-object-subscriptions.d.ts.map +1 -0
  12. package/dist/custom-object-subscriptions.js +549 -0
  13. package/dist/custom-object-subscriptions.js.map +1 -0
  14. package/dist/index.d.ts +2 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/phx_channel/channel.d.ts +8 -0
  19. package/dist/phx_channel/channel.d.ts.map +1 -1
  20. package/dist/phx_channel/channel.js +36 -1
  21. package/dist/phx_channel/channel.js.map +1 -1
  22. package/dist/phx_channel/socket.d.ts.map +1 -1
  23. package/dist/phx_channel/socket.js +4 -0
  24. package/dist/phx_channel/socket.js.map +1 -1
  25. package/dist/platform-socket.d.ts +5 -2
  26. package/dist/platform-socket.d.ts.map +1 -1
  27. package/dist/platform-socket.js +6 -5
  28. package/dist/platform-socket.js.map +1 -1
  29. package/dist/runtime/http-client.d.ts +21 -0
  30. package/dist/runtime/http-client.d.ts.map +1 -1
  31. package/dist/runtime/http-client.js +28 -0
  32. package/dist/runtime/http-client.js.map +1 -1
  33. package/dist/runtime/url.d.ts +1 -1
  34. package/dist/runtime/url.d.ts.map +1 -1
  35. package/dist/runtime/url.js +3 -2
  36. package/dist/runtime/url.js.map +1 -1
  37. package/dist/types/chat.d.ts +81 -20
  38. package/dist/types/chat.d.ts.map +1 -1
  39. package/dist/types/common.d.ts +367 -364
  40. package/dist/types/common.d.ts.map +1 -1
  41. package/dist/types/common.js +20 -62
  42. package/dist/types/common.js.map +1 -1
  43. package/dist/types/index.d.ts +1 -0
  44. package/dist/types/index.d.ts.map +1 -1
  45. package/dist/types/index.js +2 -1
  46. package/dist/types/index.js.map +1 -1
  47. package/dist/types/tasks.d.ts +347 -0
  48. package/dist/types/tasks.d.ts.map +1 -0
  49. package/dist/types/tasks.js +67 -0
  50. package/dist/types/tasks.js.map +1 -0
  51. package/dist/types/threads.d.ts +540 -3
  52. package/dist/types/threads.d.ts.map +1 -1
  53. package/dist/types/threads.js +45 -2
  54. package/dist/types/threads.js.map +1 -1
  55. package/dist/v1/resources/agents.d.ts +2 -2
  56. package/dist/v1/resources/agents.js +3 -3
  57. package/dist/v1/resources/custom_objects.d.ts +55 -4
  58. package/dist/v1/resources/custom_objects.d.ts.map +1 -1
  59. package/dist/v1/resources/custom_objects.js +7 -4
  60. package/dist/v1/resources/custom_objects.js.map +1 -1
  61. package/dist/v1/resources/slack_channel_bindings.d.ts +37 -0
  62. package/dist/v1/resources/slack_channel_bindings.d.ts.map +1 -1
  63. package/dist/v1/resources/slack_channel_bindings.js +31 -1
  64. package/dist/v1/resources/slack_channel_bindings.js.map +1 -1
  65. package/dist/v1/resources/solutions.d.ts +2 -0
  66. package/dist/v1/resources/solutions.d.ts.map +1 -1
  67. package/dist/v1/resources/solutions.js +2 -1
  68. package/dist/v1/resources/solutions.js.map +1 -1
  69. package/dist/v1/resources/teams.d.ts +76 -0
  70. package/dist/v1/resources/teams.d.ts.map +1 -1
  71. package/dist/v1/resources/teams.js +58 -1
  72. package/dist/v1/resources/teams.js.map +1 -1
  73. package/dist/v1/resources/thread_messages.d.ts +19 -0
  74. package/dist/v1/resources/thread_messages.d.ts.map +1 -1
  75. package/dist/v1/resources/thread_messages.js +21 -1
  76. package/dist/v1/resources/thread_messages.js.map +1 -1
  77. package/dist/v1/resources/threads.d.ts +1 -0
  78. package/dist/v1/resources/threads.d.ts.map +1 -1
  79. package/dist/v1/resources/threads.js +1 -1
  80. package/dist/v1/resources/users.d.ts +1 -0
  81. package/dist/v1/resources/users.d.ts.map +1 -1
  82. package/dist/v1/resources/users.js +1 -1
  83. package/docs/custom-object-collaboration.md +248 -0
  84. package/package.json +3 -2
@@ -0,0 +1,549 @@
1
+ import { ApiObjectChannel } from "./channels/api_object_channel.js";
2
+ import { ApiError, AuthenticationError, AuthorizationError, NetworkError, NotFoundError, ValidationError, } from "./runtime/http-client.js";
3
+ import { createPlatformSocket } from "./platform-socket.js";
4
+ export class CustomObjectSubscriptions {
5
+ createSocket;
6
+ constructor(createSocket) {
7
+ this.createSocket = createSocket;
8
+ }
9
+ subscribe(options) {
10
+ return new ManagedCustomObjectSubscription(this.createSocket, options);
11
+ }
12
+ }
13
+ /** Add managed custom-object realtime to any generated PlatformClient class. */
14
+ export function withCustomObjectSubscriptions(Base) {
15
+ return extendWithCustomObjectSubscriptions(Base, {});
16
+ }
17
+ /** Configure managed custom-object realtime before extending a client class. */
18
+ export function customObjectSubscriptionsExtension(options) {
19
+ return (Base) => extendWithCustomObjectSubscriptions(Base, options);
20
+ }
21
+ function extendWithCustomObjectSubscriptions(Base, options) {
22
+ class CustomObjectSubscriptionsPlatformClient extends Base {
23
+ customObjectSubscriptions;
24
+ constructor(...args) {
25
+ super(...args);
26
+ const config = (args[0] ?? {});
27
+ this.customObjectSubscriptions = customObjectSubscriptionsForClient({ ...config, socketPath: options.socketPath }, this.http);
28
+ }
29
+ }
30
+ return CustomObjectSubscriptionsPlatformClient;
31
+ }
32
+ /** Build the managed realtime capability from generated client state. */
33
+ export function customObjectSubscriptionsForClient(config, http) {
34
+ const publishableKey = Object.entries(config.defaultHeaders ?? {}).find(([name]) => name.toLowerCase() === "x-archastro-api-key")?.[1];
35
+ return new CustomObjectSubscriptions(() => createPlatformSocket({
36
+ apiBaseUrl: config.baseUrl ?? "https://platform.archastro.ai",
37
+ accessToken: http.getAccessToken(),
38
+ publishableKey,
39
+ socketPath: config.socketPath ??
40
+ (config.pathPrefix
41
+ ? `${config.pathPrefix.replace(/\/+$/, "")}/socket`
42
+ : undefined),
43
+ socketConfig: { autoReconnect: false },
44
+ }));
45
+ }
46
+ export { ApiError, AuthenticationError, AuthorizationError, NetworkError, NotFoundError, ValidationError, } from "./runtime/http-client.js";
47
+ export { Channel, ChannelError, ChannelReplyError, Socket, createPlatformSocket, } from "./platform-socket.js";
48
+ class ManagedCustomObjectSubscription {
49
+ createSocket;
50
+ options;
51
+ _state = "connecting";
52
+ socket = null;
53
+ channel = null;
54
+ transportUnsubscribers = [];
55
+ reconnectTimer = null;
56
+ reconnectAttempt = 0;
57
+ generation = 0;
58
+ queued = [];
59
+ connecting = false;
60
+ connectionId;
61
+ lastPresence = null;
62
+ presenceHeartbeat = null;
63
+ constructor(createSocket, options) {
64
+ this.createSocket = createSocket;
65
+ this.options = options;
66
+ this.connectionId = options.connectionId ?? generateConnectionId();
67
+ queueMicrotask(() => {
68
+ if (this._state === "closed")
69
+ return;
70
+ this.options.onStateChange("connecting");
71
+ void this.connect(false);
72
+ });
73
+ }
74
+ get state() {
75
+ return this._state;
76
+ }
77
+ async update(fields) {
78
+ if (this.isTerminal()) {
79
+ throw new NetworkError(`Cannot update a ${this._state} custom-object subscription`);
80
+ }
81
+ if (this._state !== "live" || !this.channel) {
82
+ return this.enqueue(fields);
83
+ }
84
+ try {
85
+ await this.channel.updateFields({ fields });
86
+ }
87
+ catch (error) {
88
+ const classified = classifySubscriptionError(error);
89
+ if (this.isTerminalError(classified)) {
90
+ this.options.onError(classified);
91
+ this.terminateForError(classified);
92
+ throw classified;
93
+ }
94
+ if (!(classified instanceof NetworkError)) {
95
+ this.options.onError(classified);
96
+ throw classified;
97
+ }
98
+ const pending = this.enqueue(fields);
99
+ this.handleTransportLoss(classified);
100
+ return pending;
101
+ }
102
+ }
103
+ async updatePresence(presence) {
104
+ if (this._state !== "live" || !this.channel) {
105
+ throw new NetworkError("Presence is unavailable while the subscription is not live");
106
+ }
107
+ try {
108
+ await this.channel.presenceUpdate({ presence: toWirePresence(presence) });
109
+ this.lastPresence = presence;
110
+ this.startPresenceHeartbeat();
111
+ }
112
+ catch (error) {
113
+ const classified = classifySubscriptionError(error);
114
+ if (this.isTerminalError(classified)) {
115
+ this.options.onError(classified);
116
+ this.terminateForError(classified);
117
+ }
118
+ else if (classified instanceof NetworkError) {
119
+ this.handleTransportLoss(classified);
120
+ }
121
+ else {
122
+ this.options.onError(classified);
123
+ }
124
+ throw classified;
125
+ }
126
+ }
127
+ async save() {
128
+ if (this._state !== "live" || !this.channel) {
129
+ throw new NetworkError("Cannot save while the subscription is not live");
130
+ }
131
+ try {
132
+ await this.channel.save({});
133
+ }
134
+ catch (error) {
135
+ const classified = classifySubscriptionError(error);
136
+ if (this.isTerminalError(classified)) {
137
+ this.options.onError(classified);
138
+ this.terminateForError(classified);
139
+ }
140
+ else if (classified instanceof NetworkError) {
141
+ this.handleTransportLoss(classified);
142
+ }
143
+ else {
144
+ this.options.onError(classified);
145
+ }
146
+ throw classified;
147
+ }
148
+ }
149
+ close() {
150
+ if (this._state === "closed")
151
+ return;
152
+ this.generation++;
153
+ if (this.reconnectTimer)
154
+ clearTimeout(this.reconnectTimer);
155
+ this.reconnectTimer = null;
156
+ this.transition("closed");
157
+ const closedError = new NetworkError("Custom-object subscription was closed");
158
+ for (const queued of this.queued.splice(0)) {
159
+ for (const waiter of queued.waiters)
160
+ waiter.reject(closedError);
161
+ }
162
+ this.disposeTransport(true);
163
+ }
164
+ async connect(reconnecting) {
165
+ if (this.connecting || this.isTerminal())
166
+ return;
167
+ this.connecting = true;
168
+ const generation = ++this.generation;
169
+ if (reconnecting)
170
+ this.transition("reconnecting");
171
+ try {
172
+ const socket = this.createSocket();
173
+ this.socket = socket;
174
+ this.transportUnsubscribers.push(socket.onEvent((event) => {
175
+ if (event.type === "close" || event.type === "error") {
176
+ this.handleTransportLoss(event.type === "error"
177
+ ? event.error
178
+ : new NetworkError(`WebSocket closed with code ${event.code}`));
179
+ }
180
+ }));
181
+ await socket.connect();
182
+ if (generation !== this.generation || this.isTerminal()) {
183
+ await socket.disconnect();
184
+ return;
185
+ }
186
+ const channel = await ApiObjectChannel.joinById(socket, this.options.objectId, {
187
+ partial_updates: true,
188
+ connection_id: this.connectionId,
189
+ });
190
+ if (generation !== this.generation || this.isTerminal()) {
191
+ await channel.leave();
192
+ await socket.disconnect();
193
+ return;
194
+ }
195
+ this.channel = channel;
196
+ this.installChannelListeners(channel);
197
+ // Every join, including a rejoin, returns the authoritative snapshot.
198
+ // Deliver it before replaying idempotent queued map assignments.
199
+ const { snapshot, initialPresence } = this.parseSnapshot(channel.joinResponse);
200
+ if (snapshot.connectionId)
201
+ this.connectionId = snapshot.connectionId;
202
+ this.options.onSnapshot(snapshot);
203
+ for (const presence of initialPresence)
204
+ this.options.onPresence?.(presence);
205
+ await this.replayQueuedPatches();
206
+ if (generation !== this.generation || this.isTerminal())
207
+ return;
208
+ this.reconnectAttempt = 0;
209
+ this.transition("live");
210
+ if (this.lastPresence) {
211
+ await channel.presenceUpdate({
212
+ presence: toWirePresence(this.lastPresence),
213
+ });
214
+ this.startPresenceHeartbeat();
215
+ }
216
+ }
217
+ catch (error) {
218
+ const classified = classifySubscriptionError(error);
219
+ this.options.onError(classified);
220
+ if (classified instanceof AuthenticationError ||
221
+ classified instanceof AuthorizationError) {
222
+ this.terminateForError(classified);
223
+ }
224
+ else if (classified instanceof NotFoundError) {
225
+ this.terminateForError(classified);
226
+ }
227
+ else {
228
+ this.scheduleReconnect();
229
+ }
230
+ }
231
+ finally {
232
+ this.connecting = false;
233
+ }
234
+ }
235
+ installChannelListeners(channel) {
236
+ this.transportUnsubscribers.push(channel.onObjectUpdated((payload) => {
237
+ const update = this.parseUpdate(payload);
238
+ if (update)
239
+ this.options.onUpdate(update);
240
+ }), channel.onObjectDeleted(() => {
241
+ const error = new NotFoundError(404, "custom_object_deleted", "The custom object was deleted");
242
+ this.options.onError(error);
243
+ this.terminateForError(error);
244
+ }), channel.onAccessRevoked(() => {
245
+ const error = new AuthorizationError(403, "custom_object_access_revoked", "Access to the custom object was revoked");
246
+ this.options.onError(error);
247
+ this.terminateForError(error);
248
+ }), channel.onPresenceUpdated((payload) => {
249
+ const presence = parsePresence(isRecord(payload) && "presence" in payload
250
+ ? payload.presence
251
+ : payload);
252
+ if (presence)
253
+ this.options.onPresence?.(presence);
254
+ else
255
+ this.reportMalformed("Malformed presence_updated payload");
256
+ }), channel.onPresenceLeft((payload) => {
257
+ const presence = parsePresenceLeave(payload);
258
+ if (presence)
259
+ this.options.onPresenceLeave?.(presence);
260
+ else
261
+ this.reportMalformed("Malformed presence_left payload");
262
+ }));
263
+ }
264
+ parseSnapshot(payload) {
265
+ const value = parseObjectEnvelope(payload);
266
+ if (!value) {
267
+ throw new ValidationError(422, "malformed_snapshot", "Custom-object join returned a malformed snapshot");
268
+ }
269
+ const parsed = this.options.fieldsSchema?.safeParse(value.fields);
270
+ if (parsed && !parsed.success) {
271
+ throw new ValidationError(422, "malformed_snapshot", `Custom-object snapshot fields are invalid: ${parsed.error.message}`);
272
+ }
273
+ const raw = payload;
274
+ const readonly = typeof raw.readonly === "boolean" ? raw.readonly : undefined;
275
+ const connectionId = stringField(raw, "connection_id", "connectionId") ?? undefined;
276
+ const initialPresence = [];
277
+ if (Array.isArray(raw.presence)) {
278
+ for (const item of raw.presence) {
279
+ const presence = parsePresence(item);
280
+ if (presence)
281
+ initialPresence.push(presence);
282
+ else
283
+ this.reportMalformed("Malformed initial presence payload");
284
+ }
285
+ }
286
+ return {
287
+ snapshot: {
288
+ id: value.id,
289
+ fields: (parsed?.success ? parsed.data : value.fields),
290
+ ...(readonly === undefined ? {} : { readonly }),
291
+ ...(connectionId === undefined ? {} : { connectionId }),
292
+ },
293
+ initialPresence,
294
+ };
295
+ }
296
+ parseUpdate(payload) {
297
+ const value = parseObjectEnvelope(payload);
298
+ if (!value) {
299
+ this.reportMalformed("Malformed object_updated payload");
300
+ return null;
301
+ }
302
+ return {
303
+ id: value.id,
304
+ fields: value.fields,
305
+ };
306
+ }
307
+ reportMalformed(message) {
308
+ this.options.onError(new ValidationError(422, "malformed_realtime_payload", message));
309
+ }
310
+ enqueue(fields) {
311
+ return new Promise((resolve, reject) => {
312
+ const pendingUpdates = this.queued.reduce((count, patch) => count + patch.waiters.length, 0);
313
+ if (pendingUpdates >= (this.options.maxQueuedPatches ?? 100)) {
314
+ reject(new ValidationError(422, "offline_queue_full", "The custom-object offline queue is full"));
315
+ return;
316
+ }
317
+ const last = this.queued.at(-1);
318
+ if (last) {
319
+ last.fields = deepMerge(last.fields, fields);
320
+ last.waiters.push({ resolve, reject });
321
+ return;
322
+ }
323
+ this.queued.push({ fields, waiters: [{ resolve, reject }] });
324
+ });
325
+ }
326
+ async replayQueuedPatches() {
327
+ while (this.queued.length > 0 && this.channel) {
328
+ // Remove the batch before crossing the transport boundary. Updates that
329
+ // arrive while its acknowledgement is pending must form a new batch;
330
+ // mutating the in-flight object would drop those changes after the reply.
331
+ const patch = this.queued.shift();
332
+ try {
333
+ await this.channel.updateFields({ fields: patch.fields });
334
+ }
335
+ catch (error) {
336
+ this.queued.unshift(patch);
337
+ throw error;
338
+ }
339
+ for (const waiter of patch.waiters)
340
+ waiter.resolve();
341
+ }
342
+ }
343
+ handleTransportLoss(error) {
344
+ if (this.isTerminal())
345
+ return;
346
+ const classified = classifySubscriptionError(error);
347
+ this.options.onError(classified);
348
+ if (this.isTerminalError(classified)) {
349
+ this.terminateForError(classified);
350
+ return;
351
+ }
352
+ this.scheduleReconnect();
353
+ }
354
+ scheduleReconnect() {
355
+ if (this.isTerminal() || this.reconnectTimer)
356
+ return;
357
+ this.disposeTransport(false);
358
+ const offline = typeof navigator !== "undefined" && navigator.onLine === false;
359
+ this.transition(offline ? "offline" : "reconnecting");
360
+ const base = Math.min(250 * 2 ** this.reconnectAttempt++, this.options.maxReconnectDelayMs ?? 10_000);
361
+ const jitter = Math.floor(Math.random() * Math.max(1, base * 0.2));
362
+ this.reconnectTimer = setTimeout(() => {
363
+ this.reconnectTimer = null;
364
+ void this.connect(true);
365
+ }, base + jitter);
366
+ }
367
+ disposeTransport(graceful) {
368
+ this.stopPresenceHeartbeat();
369
+ for (const unsubscribe of this.transportUnsubscribers.splice(0))
370
+ unsubscribe();
371
+ const channel = this.channel;
372
+ const socket = this.socket;
373
+ this.channel = null;
374
+ this.socket = null;
375
+ if (graceful && channel)
376
+ void channel.leave().catch(() => undefined);
377
+ if (socket)
378
+ void socket.disconnect().catch(() => undefined);
379
+ }
380
+ transition(state) {
381
+ if (this._state === state)
382
+ return;
383
+ this._state = state;
384
+ this.options.onStateChange(state);
385
+ }
386
+ isTerminal() {
387
+ return this._state === "closed" || this._state === "unauthorized";
388
+ }
389
+ isTerminalError(error) {
390
+ return (error instanceof AuthenticationError ||
391
+ error instanceof AuthorizationError ||
392
+ error instanceof NotFoundError);
393
+ }
394
+ terminateForError(error) {
395
+ const state = error instanceof AuthenticationError ||
396
+ error instanceof AuthorizationError
397
+ ? "unauthorized"
398
+ : "closed";
399
+ this.transition(state);
400
+ for (const queued of this.queued.splice(0)) {
401
+ for (const waiter of queued.waiters)
402
+ waiter.reject(error);
403
+ }
404
+ this.disposeTransport(false);
405
+ }
406
+ startPresenceHeartbeat() {
407
+ this.stopPresenceHeartbeat();
408
+ if (!this.lastPresence || this._state !== "live")
409
+ return;
410
+ this.presenceHeartbeat = setInterval(() => {
411
+ if (!this.channel || this._state !== "live" || !this.lastPresence)
412
+ return;
413
+ void this.channel
414
+ .presenceUpdate({ presence: toWirePresence(this.lastPresence) })
415
+ .catch((error) => this.handleTransportLoss(error));
416
+ }, 25_000);
417
+ }
418
+ stopPresenceHeartbeat() {
419
+ if (!this.presenceHeartbeat)
420
+ return;
421
+ clearInterval(this.presenceHeartbeat);
422
+ this.presenceHeartbeat = null;
423
+ }
424
+ }
425
+ function parseObjectEnvelope(payload) {
426
+ if (!isRecord(payload) ||
427
+ typeof payload.id !== "string" ||
428
+ !isRecord(payload.fields)) {
429
+ return null;
430
+ }
431
+ return { id: payload.id, fields: payload.fields };
432
+ }
433
+ function toWirePresence(presence) {
434
+ return {
435
+ cursor: presence.cursor,
436
+ selected_element_ids: presence.selectedElementIds,
437
+ state: presence.activity,
438
+ };
439
+ }
440
+ function parsePresence(payload) {
441
+ if (!isRecord(payload))
442
+ return null;
443
+ const userId = stringField(payload, "user_id", "userId");
444
+ const connectionId = stringField(payload, "connection_id", "connectionId");
445
+ const displayName = stringField(payload, "display_name", "displayName");
446
+ const selected = payload.selected_element_ids ?? payload.selectedElementIds;
447
+ if (!userId ||
448
+ !connectionId ||
449
+ !displayName ||
450
+ !Array.isArray(selected) ||
451
+ !selected.every((item) => typeof item === "string") ||
452
+ (payload.state !== "active" &&
453
+ payload.state !== "idle" &&
454
+ payload.activity !== "active" &&
455
+ payload.activity !== "idle")) {
456
+ return null;
457
+ }
458
+ const cursor = payload.cursor;
459
+ if (cursor !== undefined &&
460
+ cursor !== null &&
461
+ (!isRecord(cursor) ||
462
+ typeof cursor.x !== "number" ||
463
+ typeof cursor.y !== "number")) {
464
+ return null;
465
+ }
466
+ return {
467
+ userId,
468
+ connectionId,
469
+ displayName,
470
+ cursor: cursor,
471
+ selectedElementIds: selected,
472
+ color: typeof payload.color === "string"
473
+ ? payload.color
474
+ : deterministicPresenceColor(userId),
475
+ activity: payload.state === "active" || payload.state === "idle"
476
+ ? payload.state
477
+ : payload.activity,
478
+ };
479
+ }
480
+ function parsePresenceLeave(payload) {
481
+ if (!isRecord(payload))
482
+ return null;
483
+ const connectionId = stringField(payload, "connection_id", "connectionId");
484
+ return connectionId ? { connectionId } : null;
485
+ }
486
+ function stringField(value, snake, camel) {
487
+ const field = value[snake] ?? value[camel];
488
+ return typeof field === "string" ? field : null;
489
+ }
490
+ function classifySubscriptionError(error) {
491
+ if (error instanceof ApiError)
492
+ return error;
493
+ const message = error instanceof Error ? error.message : String(error);
494
+ const normalized = message.toLowerCase();
495
+ if (normalized.includes("unauthorized") || normalized.includes("401")) {
496
+ return new AuthenticationError(401, "unauthorized", message);
497
+ }
498
+ if (normalized.includes("forbidden") || normalized.includes("403")) {
499
+ return new AuthorizationError(403, "forbidden", message);
500
+ }
501
+ if (normalized.includes("not_found") || normalized.includes("not found")) {
502
+ return new NotFoundError(404, "not_found", message);
503
+ }
504
+ if (normalized.includes("unprocessable") ||
505
+ normalized.includes("validation") ||
506
+ normalized.includes("422")) {
507
+ return new ValidationError(422, "validation_error", message);
508
+ }
509
+ return new NetworkError(message, error);
510
+ }
511
+ function deepMerge(left, right) {
512
+ if (!isRecord(left) || !isRecord(right))
513
+ return right;
514
+ const merged = { ...left };
515
+ for (const [key, value] of Object.entries(right)) {
516
+ merged[key] =
517
+ isRecord(merged[key]) && isRecord(value)
518
+ ? deepMerge(merged[key], value)
519
+ : value;
520
+ }
521
+ return merged;
522
+ }
523
+ function isRecord(value) {
524
+ return typeof value === "object" && value !== null && !Array.isArray(value);
525
+ }
526
+ function generateConnectionId() {
527
+ if (typeof crypto !== "undefined" &&
528
+ typeof crypto.randomUUID === "function") {
529
+ return crypto.randomUUID();
530
+ }
531
+ return `connection-${Date.now()}-${Math.random().toString(36).slice(2)}`;
532
+ }
533
+ function deterministicPresenceColor(identity) {
534
+ const palette = [
535
+ "#89b4fa",
536
+ "#a6e3a1",
537
+ "#f9e2af",
538
+ "#f38ba8",
539
+ "#cba6f7",
540
+ "#94e2d5",
541
+ "#fab387",
542
+ ];
543
+ let hash = 0;
544
+ for (let index = 0; index < identity.length; index++) {
545
+ hash = (hash * 31 + identity.charCodeAt(index)) >>> 0;
546
+ }
547
+ return palette[hash % palette.length];
548
+ }
549
+ //# sourceMappingURL=custom-object-subscriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-object-subscriptions.js","sourceRoot":"","sources":["../src/custom-object-subscriptions.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  export * from "./types/index.js";
2
2
  export { V1 } from "./v1.js";
3
3
  export * from "./v1/resources/index.js";
4
- export { PlatformClient, type PlatformClientConfig } from "./client.js";
4
+ export { PlatformClient, type PlatformClientConfig, type PlatformClientConstructor, type PlatformClientExtension, type PlatformClientClass } from "./client.js";
5
5
  export type { AppPlatformClient, ForAppOptions, SessionStorage, AppSession } from "./client.js";
6
6
  export { AuthClient, type AuthTokens } from "./auth.js";
7
7
  export { ApiActivityFeedChannel } from "./channels/api_activity_feed_channel.js";
8
8
  export { ApiChatChannel } from "./channels/api_chat_channel.js";
9
9
  export { ApiObjectChannel } from "./channels/api_object_channel.js";
10
10
  export { ApiTasksChannel } from "./channels/api_tasks_channel.js";
11
+ export * from "./custom-object-subscriptions.js";
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,KAAK,uBAAuB,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAChK,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,cAAc,kCAAkC,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) 2026 ArchAstro Inc. Licensed under the MIT License.
2
2
  // This file is auto-generated by @archastro/sdk-generator. Do not edit.
3
- // Content hash: e1cc383f3138
3
+ // Content hash: d152a1a7153d
4
4
  export * from "./types/index.js";
5
5
  export { V1 } from "./v1.js";
6
6
  export * from "./v1/resources/index.js";
@@ -10,4 +10,5 @@ export { ApiActivityFeedChannel } from "./channels/api_activity_feed_channel.js"
10
10
  export { ApiChatChannel } from "./channels/api_chat_channel.js";
11
11
  export { ApiObjectChannel } from "./channels/api_object_channel.js";
12
12
  export { ApiTasksChannel } from "./channels/api_tasks_channel.js";
13
+ export * from "./custom-object-subscriptions.js";
13
14
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,wEAAwE;AACxE,6BAA6B;AAE7B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,cAAc,EAA6B,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,wEAAwE;AACxE,6BAA6B;AAE7B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAqH,MAAM,aAAa,CAAC;AAEhK,OAAO,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,cAAc,kCAAkC,CAAC"}
@@ -14,6 +14,12 @@ export interface JoinOptions {
14
14
  export declare class ChannelError extends Error {
15
15
  constructor(message: string);
16
16
  }
17
+ export declare class ChannelReplyError extends ChannelError {
18
+ readonly event: string;
19
+ readonly topic: string;
20
+ readonly response: unknown;
21
+ constructor(event: string, topic: string, response: unknown);
22
+ }
17
23
  type ChannelState = "closed" | "joining" | "joined" | "leaving" | "errored";
18
24
  export declare class Channel {
19
25
  private socket;
@@ -37,6 +43,8 @@ export declare class Channel {
37
43
  on(event: string, callback: (payload: unknown) => void): () => void;
38
44
  /** @internal Called by Socket when a message arrives for this topic. */
39
45
  onMessage(joinRef: string | null, ref: string | null, event: string, payload: unknown): void;
46
+ /** @internal Reject in-flight work immediately when its transport closes. */
47
+ onSocketClose(error: Error): void;
40
48
  private handleReply;
41
49
  private triggerEvent;
42
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/phx_channel/channel.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED,KAAK,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5E,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAA0B;IAExC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,aAAa,CAAqD;IAC1E,OAAO,CAAC,cAAc,CAGlB;IACJ,OAAO,CAAC,UAAU,CAOT;gBAGP,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOjC,IAAI,KAAK,IAAI,YAAY,CAExB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAIK,IAAI,CACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IA0C7B,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B9C,2CAA2C;IACrC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAavB,IAAI,CACR,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,OAAY,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC;IAiBnB,OAAO,CAAC,MAAM;IA8Bd,OAAO,CAAC,eAAe;IAYvB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAkBnE,wEAAwE;IACxE,SAAS,CACP,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,GACf,IAAI;IAiBP,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,YAAY;CAUrB"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/phx_channel/channel.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,iBAAkB,SAAQ,YAAY;aAE/B,KAAK,EAAE,MAAM;aACb,KAAK,EAAE,MAAM;aACb,QAAQ,EAAE,OAAO;gBAFjB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO;CAOpC;AAED,KAAK,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5E,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAA0B;IAExC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,aAAa,CAAqD;IAC1E,OAAO,CAAC,cAAc,CAGlB;IACJ,OAAO,CAAC,UAAU,CAOT;gBAGP,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOjC,IAAI,KAAK,IAAI,YAAY,CAExB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAIK,IAAI,CACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IA0C7B,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B9C,2CAA2C;IACrC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAavB,IAAI,CACR,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,OAAY,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC;IAiBnB,OAAO,CAAC,MAAM;IAyCd,OAAO,CAAC,eAAe;IAYvB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAkBnE,wEAAwE;IACxE,SAAS,CACP,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,GACf,IAAI;IAiBP,6EAA6E;IAC7E,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAcjC,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,YAAY;CAUrB"}