@pnds/sdk 0.1.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.
@@ -0,0 +1,454 @@
1
+ export type UserType = 'human' | 'agent';
2
+ export type UserStatus = 'active' | 'disabled';
3
+ export interface User {
4
+ id: string;
5
+ type: UserType;
6
+ display_name: string;
7
+ avatar_url: string | null;
8
+ email: string | null;
9
+ phone: string | null;
10
+ agent_provider: string | null;
11
+ agent_endpoint: string | null;
12
+ agent_model: string | null;
13
+ agent_permissions: string[];
14
+ status: UserStatus;
15
+ email_verified: boolean;
16
+ last_seen_at: string | null;
17
+ created_at: string;
18
+ }
19
+ export type ChatType = 'direct' | 'group';
20
+ export interface Chat {
21
+ id: string;
22
+ type: ChatType;
23
+ org_id: string;
24
+ name: string | null;
25
+ avatar_url: string | null;
26
+ description: string | null;
27
+ last_message_at: string | null;
28
+ last_message_preview: string | null;
29
+ last_message_sender: string | null;
30
+ creator_id: string;
31
+ created_at: string;
32
+ updated_at: string;
33
+ }
34
+ export type ChatMemberRole = 'owner' | 'admin' | 'member';
35
+ export type NotificationLevel = 'all' | 'mentions_only' | 'none';
36
+ export interface ChatMember {
37
+ chat_id: string;
38
+ user_id: string;
39
+ role: ChatMemberRole;
40
+ notification_level: NotificationLevel;
41
+ pinned: boolean;
42
+ joined_at: string;
43
+ user?: User;
44
+ }
45
+ export type MessageType = 'text' | 'image' | 'file' | 'tool_call' | 'tool_result' | 'approval_card' | 'state_delta' | 'system';
46
+ export declare const MENTION_ALL_USER_ID = "all";
47
+ export interface Mention {
48
+ user_id: string;
49
+ offset: number;
50
+ length: number;
51
+ }
52
+ export interface LinkPreview {
53
+ url: string;
54
+ title: string;
55
+ image: string;
56
+ description: string;
57
+ }
58
+ export interface TextContent {
59
+ text: string;
60
+ format?: string;
61
+ mentions?: Mention[];
62
+ link_previews?: LinkPreview[];
63
+ }
64
+ export interface MediaContent {
65
+ attachment_id: string;
66
+ file_name: string;
67
+ file_size: number;
68
+ mime_type: string;
69
+ url: string;
70
+ thumbnail_url?: string;
71
+ width?: number;
72
+ height?: number;
73
+ duration?: number;
74
+ caption?: string;
75
+ }
76
+ export interface ToolCallContent {
77
+ tool_name: string;
78
+ tool_input: Record<string, unknown>;
79
+ status: string;
80
+ started_at: string;
81
+ }
82
+ export interface ToolResultContent {
83
+ tool_call_id: string;
84
+ tool_name: string;
85
+ status: string;
86
+ output: string;
87
+ duration_ms: number;
88
+ collapsible: boolean;
89
+ }
90
+ export interface ApprovalOption {
91
+ key: string;
92
+ label: string;
93
+ style: 'primary' | 'danger' | 'secondary';
94
+ }
95
+ export interface ApprovalCardContent {
96
+ approval_id: string;
97
+ title: string;
98
+ description: string;
99
+ action_type: string;
100
+ action_payload: Record<string, unknown>;
101
+ risk_level: string;
102
+ status: string;
103
+ options: ApprovalOption[];
104
+ expires_at: string;
105
+ }
106
+ export type AgentState = 'thinking' | 'tool_calling' | 'streaming' | 'waiting_approval' | 'completed' | 'error';
107
+ export interface StateDeltaContent {
108
+ state: AgentState;
109
+ text: string;
110
+ progress: number;
111
+ collapsible: boolean;
112
+ }
113
+ export type SystemEvent = 'member_joined' | 'member_left' | 'member_role_changed' | 'chat_renamed' | 'chat_avatar_changed' | 'agent_added' | 'agent_removed';
114
+ export interface SystemContent {
115
+ event: SystemEvent;
116
+ user_id: string;
117
+ user_name: string;
118
+ }
119
+ export type MessageContent = TextContent | MediaContent | ToolCallContent | ToolResultContent | ApprovalCardContent | StateDeltaContent | SystemContent | Record<string, unknown>;
120
+ export interface Message {
121
+ id: string;
122
+ chat_id: string;
123
+ sender_id: string;
124
+ sender?: User;
125
+ thread_root_id: string | null;
126
+ message_type: MessageType;
127
+ content: MessageContent;
128
+ version: number;
129
+ reply_count: number;
130
+ edited_at: string | null;
131
+ deleted_at: string | null;
132
+ created_at: string;
133
+ idempotency_key: string | null;
134
+ }
135
+ export interface Attachment {
136
+ id: string;
137
+ message_id: string | null;
138
+ uploader_id: string;
139
+ file_name: string;
140
+ file_size: number;
141
+ mime_type: string;
142
+ storage_key: string;
143
+ width: number | null;
144
+ height: number | null;
145
+ duration: number | null;
146
+ thumbnail_key: string | null;
147
+ created_at: string;
148
+ }
149
+ export type ApprovalStatus = 'pending' | 'approved' | 'rejected' | 'expired';
150
+ export interface Approval {
151
+ id: string;
152
+ message_id: string;
153
+ chat_id: string;
154
+ requester_id: string;
155
+ status: ApprovalStatus;
156
+ action_type: string;
157
+ action_payload: Record<string, unknown>;
158
+ decided_by: string | null;
159
+ decided_at: string | null;
160
+ expires_at: string | null;
161
+ created_at: string;
162
+ }
163
+ export type OrgMemberRole = 'owner' | 'admin' | 'member';
164
+ export interface Organization {
165
+ id: string;
166
+ name: string;
167
+ avatar_url: string | null;
168
+ is_personal: boolean;
169
+ created_at: string;
170
+ }
171
+ export interface OrgMember {
172
+ org_id: string;
173
+ user_id: string;
174
+ role: OrgMemberRole;
175
+ joined_at: string;
176
+ user?: User;
177
+ }
178
+ export interface ApiKey {
179
+ id: string;
180
+ key: string;
181
+ agent_id: string;
182
+ created_at: string;
183
+ }
184
+ export interface CreateAgentResponse {
185
+ user: User;
186
+ api_key: string;
187
+ }
188
+ export interface UnreadCount {
189
+ chat_id: string;
190
+ unread_count: number;
191
+ last_read_message_id: string;
192
+ last_read_at: string;
193
+ }
194
+ export interface PaginatedResponse<T> {
195
+ data: T[];
196
+ has_more: boolean;
197
+ next_cursor?: string;
198
+ }
199
+ export interface ErrorResponse {
200
+ error: string;
201
+ code: string;
202
+ details?: Record<string, unknown>;
203
+ }
204
+ export interface AuthTokens {
205
+ access_token: string;
206
+ refresh_token: string;
207
+ expires_in: number;
208
+ user: User;
209
+ is_new_user?: boolean;
210
+ }
211
+ export interface CheckEmailResponse {
212
+ exists: boolean;
213
+ }
214
+ export interface PresignResponse {
215
+ upload_url: string;
216
+ attachment_id: string;
217
+ expires_in: number;
218
+ }
219
+ export interface WsTicketResponse {
220
+ ticket: string;
221
+ expires_at: string;
222
+ ws_url: string;
223
+ }
224
+ export interface RegisterRequest {
225
+ email: string;
226
+ password: string;
227
+ display_name: string;
228
+ }
229
+ export interface LoginRequest {
230
+ email: string;
231
+ password: string;
232
+ }
233
+ export interface CreateChatRequest {
234
+ type: ChatType;
235
+ org_id: string;
236
+ name?: string;
237
+ description?: string;
238
+ member_ids: string[];
239
+ }
240
+ export interface SendMessageRequest {
241
+ message_type: MessageType;
242
+ content: MessageContent;
243
+ thread_root_id?: string;
244
+ idempotency_key?: string;
245
+ }
246
+ export interface PatchMessageRequest {
247
+ version: number;
248
+ ops: JsonPatchOp[];
249
+ }
250
+ export interface JsonPatchOp {
251
+ op: 'replace' | 'add';
252
+ path: string;
253
+ value: unknown;
254
+ }
255
+ export interface WorkspaceFiles {
256
+ soul_md?: string;
257
+ agents_md?: string;
258
+ tools_md?: string;
259
+ }
260
+ export interface HostedStatus {
261
+ state: 'running' | 'stopped' | 'creating' | 'error';
262
+ }
263
+ export interface CreateAgentRequest {
264
+ display_name: string;
265
+ agent_provider?: string;
266
+ agent_endpoint?: string;
267
+ agent_model?: string;
268
+ agent_permissions?: string[];
269
+ machine_type?: string;
270
+ machine_label?: string;
271
+ machine_host?: string;
272
+ workspace?: WorkspaceFiles;
273
+ }
274
+ export interface AgentProfile {
275
+ user_id: string;
276
+ provider: string | null;
277
+ endpoint: string | null;
278
+ model: string | null;
279
+ permissions: string[];
280
+ machine_type: string | null;
281
+ machine_label: string | null;
282
+ machine_host: string | null;
283
+ compute_provider: string | null;
284
+ compute_resource_id: string | null;
285
+ compute_metadata: Record<string, string> | null;
286
+ created_by: string;
287
+ created_at: string;
288
+ }
289
+ export interface AgentRun {
290
+ chat_id: string;
291
+ status: string;
292
+ started_at: string;
293
+ }
294
+ export interface AgentPresence {
295
+ online: boolean;
296
+ status: string;
297
+ session_id?: string;
298
+ run?: AgentRun;
299
+ telemetry?: Record<string, unknown>;
300
+ }
301
+ export interface AgentWithRuntime extends User {
302
+ agent_profile?: AgentProfile | null;
303
+ presence?: AgentPresence | null;
304
+ }
305
+ export interface PresignUploadRequest {
306
+ file_name: string;
307
+ file_size: number;
308
+ mime_type: string;
309
+ }
310
+ export type TaskStatus = 'todo' | 'in_progress' | 'in_review' | 'done' | 'canceled';
311
+ export type TaskPriority = 'high' | 'normal' | 'low';
312
+ export type TaskRelationTargetType = 'task' | 'message' | 'chat' | 'agent_run';
313
+ export type TaskRelationType = 'blocks' | 'related' | 'duplicate' | 'source' | 'reference' | 'discussion' | 'execution';
314
+ export interface Task {
315
+ id: string;
316
+ org_id: string;
317
+ title: string;
318
+ description: string | null;
319
+ status: TaskStatus;
320
+ priority: TaskPriority;
321
+ assignee_id: string | null;
322
+ creator_id: string;
323
+ parent_id: string | null;
324
+ sort_order: number;
325
+ created_at: string;
326
+ updated_at: string;
327
+ started_at: string | null;
328
+ completed_at: string | null;
329
+ canceled_at: string | null;
330
+ }
331
+ export interface TaskRelation {
332
+ id: string;
333
+ task_id: string;
334
+ target_type: TaskRelationTargetType;
335
+ target_id: string;
336
+ relation_type: TaskRelationType;
337
+ created_by: string;
338
+ created_at: string;
339
+ }
340
+ export interface CreateTaskRequest {
341
+ title: string;
342
+ description?: string;
343
+ priority?: TaskPriority;
344
+ assignee_id?: string;
345
+ parent_id?: string;
346
+ sort_order?: number;
347
+ }
348
+ export interface UpdateTaskRequest {
349
+ title?: string;
350
+ description?: string;
351
+ status?: TaskStatus;
352
+ priority?: TaskPriority;
353
+ assignee_id?: string | null;
354
+ sort_order?: number;
355
+ }
356
+ export interface CreateTaskRelationRequest {
357
+ target_type: TaskRelationTargetType;
358
+ target_id: string;
359
+ relation_type: TaskRelationType;
360
+ }
361
+ export interface WsFrame<T = unknown> {
362
+ type: string;
363
+ seq?: number;
364
+ data: T;
365
+ }
366
+ export interface HelloData {
367
+ conn_id: string;
368
+ user_id: string;
369
+ session_id?: string;
370
+ server_time: string;
371
+ heartbeat_interval: number;
372
+ }
373
+ export interface MessageNewData {
374
+ id: string;
375
+ chat_id: string;
376
+ sender_id: string;
377
+ sender?: User;
378
+ thread_root_id: string | null;
379
+ message_type: MessageType;
380
+ content: MessageContent;
381
+ version: number;
382
+ created_at: string;
383
+ }
384
+ export interface MessagePatchData {
385
+ message_id: string;
386
+ chat_id: string;
387
+ version: number;
388
+ ops: JsonPatchOp[];
389
+ }
390
+ export interface MessageEditData {
391
+ message_id: string;
392
+ chat_id: string;
393
+ content: MessageContent;
394
+ edited_at: string;
395
+ }
396
+ export interface MessageDeleteData {
397
+ message_id: string;
398
+ chat_id: string;
399
+ }
400
+ export interface TypingUpdateData {
401
+ chat_id: string;
402
+ thread_root_id: string | null;
403
+ user_id: string;
404
+ action: 'start' | 'stop';
405
+ }
406
+ export interface ChatUpdateData {
407
+ chat_id: string;
408
+ changes: Record<string, unknown>;
409
+ }
410
+ export interface ApprovalUpdateData {
411
+ approval_id: string;
412
+ message_id: string;
413
+ chat_id: string;
414
+ status: ApprovalStatus;
415
+ decided_by: string;
416
+ decided_at: string;
417
+ }
418
+ export interface RecoveryOverflowData {
419
+ message: string;
420
+ }
421
+ export interface WatchingData {
422
+ chat_ids: string[];
423
+ }
424
+ export interface MembershipChangedData {
425
+ chat_id: string;
426
+ user_id: string;
427
+ action: 'added' | 'removed';
428
+ }
429
+ export type TaskCreatedData = Task;
430
+ export type TaskUpdatedData = Task;
431
+ export interface TaskDeletedData {
432
+ task_id: string;
433
+ org_id: string;
434
+ }
435
+ export type WsEventMap = {
436
+ 'hello': HelloData;
437
+ 'message.new': MessageNewData;
438
+ 'message.patch': MessagePatchData;
439
+ 'message.edit': MessageEditData;
440
+ 'message.delete': MessageDeleteData;
441
+ 'typing.update': TypingUpdateData;
442
+ 'chat.update': ChatUpdateData;
443
+ 'approval.update': ApprovalUpdateData;
444
+ 'recovery.overflow': RecoveryOverflowData;
445
+ 'watching': WatchingData;
446
+ 'pong': {
447
+ ts: number;
448
+ };
449
+ 'membership.changed': MembershipChangedData;
450
+ 'task.created': TaskCreatedData;
451
+ 'task.updated': TaskUpdatedData;
452
+ 'task.deleted': TaskDeletedData;
453
+ };
454
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,4 @@
1
+ // ============================================================
2
+ // Entity Types — mirror server data model
3
+ // ============================================================
4
+ export const MENTION_ALL_USER_ID = 'all';
package/dist/ws.d.ts ADDED
@@ -0,0 +1,49 @@
1
+ import type { WsEventMap, WsTicketResponse } from './types.js';
2
+ export type WsEventType = keyof WsEventMap;
3
+ export type WsEventHandler<T extends WsEventType> = (data: WsEventMap[T], seq?: number) => void;
4
+ export type WsConnectionState = 'connecting' | 'connected' | 'disconnected' | 'reconnecting';
5
+ export interface PondWsOptions {
6
+ /** Async function that fetches a one-time WS ticket from the API. */
7
+ getTicket: () => Promise<WsTicketResponse>;
8
+ /** Fallback WS URL if getTicket response doesn't include ws_url. */
9
+ wsUrl?: string;
10
+ lastSeq?: number;
11
+ reconnect?: boolean;
12
+ reconnectInterval?: number;
13
+ maxReconnectInterval?: number;
14
+ }
15
+ export declare class PondWs {
16
+ private ws;
17
+ private options;
18
+ private listeners;
19
+ private stateListeners;
20
+ private heartbeatTimer;
21
+ private reconnectTimer;
22
+ private reconnectAttempts;
23
+ private lastSeq;
24
+ private _state;
25
+ private intentionalClose;
26
+ constructor(options: PondWsOptions);
27
+ get state(): WsConnectionState;
28
+ connect(): Promise<void>;
29
+ disconnect(): void;
30
+ /** Tell the server which chats the user is currently viewing (no auth implications). */
31
+ watch(chatIds: string[]): void;
32
+ sendTyping(chatId: string, action: 'start' | 'stop', threadRootId?: string): void;
33
+ sendAck(messageId: string): void;
34
+ sendRead(chatId: string, lastReadId: string): void;
35
+ /** Send an agent heartbeat with telemetry data. */
36
+ sendAgentHeartbeat(sessionId: string, telemetry?: Record<string, unknown>): void;
37
+ sendEvent(type: string, data: unknown): void;
38
+ on<T extends WsEventType>(event: T, handler: WsEventHandler<T>): () => void;
39
+ off<T extends WsEventType>(event: T, handler: WsEventHandler<T>): void;
40
+ onStateChange(handler: (state: WsConnectionState) => void): () => void;
41
+ private send;
42
+ private handleFrame;
43
+ private startHeartbeat;
44
+ private stopHeartbeat;
45
+ private scheduleReconnect;
46
+ private clearReconnect;
47
+ private setState;
48
+ }
49
+ //# sourceMappingURL=ws.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../src/ws.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAW,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC;AAC3C,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAEhG,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,cAAc,CAAC;AAE7F,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,SAAS,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3C,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,OAAO,CAAkG;IACjH,OAAO,CAAC,SAAS,CAAuD;IACxE,OAAO,CAAC,cAAc,CAAiD;IACvE,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,aAAa;IAUlC,IAAI,KAAK,IAAI,iBAAiB,CAE7B;IAEK,OAAO;IA+Db,UAAU;IAaV,wFAAwF;IACxF,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE;IAIvB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAO1E,OAAO,CAAC,SAAS,EAAE,MAAM;IAIzB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAI3C,mDAAmD;IACnD,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOzE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAMrC,EAAE,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAY9D,GAAG,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAI/D,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI;IASzD,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,QAAQ;CAMjB"}