@pakt/psilo 0.0.3 → 0.0.4

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.
package/dist/main.d.ts CHANGED
@@ -10,6 +10,7 @@ declare class Connector {
10
10
  get<T>(url: string, config?: AxiosRequestConfig): Promise<T>;
11
11
  post<T>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
12
12
  put<T>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
13
+ patch<T>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
13
14
  delete<T>(url: string, config?: AxiosRequestConfig): Promise<T>;
14
15
  }
15
16
 
@@ -231,6 +232,24 @@ interface RegisterDto {
231
232
  interface RegisterResponse {
232
233
  [key: string]: unknown;
233
234
  }
235
+ interface PaktWeb3RequestResponse {
236
+ message: string;
237
+ tempToken: string;
238
+ }
239
+ interface PaktWeb3ValidateResponse {
240
+ token?: string;
241
+ token_type?: string;
242
+ expiresIn?: number;
243
+ isVerified?: boolean;
244
+ timeZone?: string | null;
245
+ account?: string;
246
+ tempToken?: string;
247
+ }
248
+ interface PaktWeb3OnboardResponse {
249
+ tempToken: string;
250
+ isVerified: boolean;
251
+ timeZone: string | null;
252
+ }
234
253
 
235
254
  declare class AuthService implements AuthModuleType {
236
255
  private id;
@@ -239,18 +258,556 @@ declare class AuthService implements AuthModuleType {
239
258
  register(data: RegisterDto): Promise<ResponseDto<RegisterResponse>>;
240
259
  nonce(data: NonceDto): Promise<ResponseDto<NonceResponse>>;
241
260
  verify(data: VerifyDto): Promise<ResponseDto<VerifyResponse>>;
261
+ paktWeb3Login(privateKey: string): Promise<string>;
262
+ static generateWallet(): {
263
+ privateKey: string;
264
+ address: string;
265
+ };
266
+ private _paktWeb3Request;
267
+ private _paktWeb3Validate;
268
+ private _paktWeb3Onboard;
269
+ }
270
+
271
+ type MessageType = "TEXT" | "MEDIA" | "TEXT_MEDIA";
272
+ interface SendMessagePayload {
273
+ conversationId: string;
274
+ type: MessageType;
275
+ message?: string;
276
+ attachments?: string[];
277
+ }
278
+ interface BroadcastMessage {
279
+ _id: string;
280
+ user: string;
281
+ content?: string;
282
+ conversation: string;
283
+ type: string;
284
+ attachments?: string[];
285
+ seen?: boolean;
286
+ createdAt: string;
287
+ updatedAt: string;
288
+ }
289
+ interface ConversationRecipient {
290
+ _id: string;
291
+ firstName: string;
292
+ lastName: string;
293
+ profileImage?: {
294
+ url: string;
295
+ };
296
+ socket?: {
297
+ status: "ONLINE" | "AWAY" | "OFFLINE";
298
+ };
299
+ }
300
+ interface ConversationMessage {
301
+ _id: string;
302
+ user: string;
303
+ content?: string;
304
+ conversation: string;
305
+ type: string;
306
+ attachments?: {
307
+ url: string;
308
+ }[];
309
+ seen?: boolean;
310
+ createdAt: string;
311
+ }
312
+ interface Conversation {
313
+ _id: string;
314
+ name?: string;
315
+ type: "DIRECT" | "GROUP";
316
+ recipients: ConversationRecipient[];
317
+ messages: ConversationMessage[];
318
+ isPrivate?: boolean;
319
+ updatedAt: string;
320
+ createdAt: string;
321
+ }
322
+ interface FetchedConversation {
323
+ _id: string;
324
+ chats: {
325
+ messages: ConversationMessage[];
326
+ totalMessagesCount: number;
327
+ };
328
+ recipients: ConversationRecipient[];
329
+ createdAt: string;
330
+ updatedAt: string;
331
+ }
332
+ interface UserStatusEvent {
333
+ _id: string;
334
+ firstName: string;
335
+ lastName: string;
336
+ status: "ONLINE" | "AWAY" | "OFFLINE";
337
+ }
338
+ interface JobInviteNotification {
339
+ jobId: string;
340
+ jobTitle: string;
341
+ senderId: string;
342
+ inviteId: string;
343
+ }
344
+ interface WsEnvelope<T> {
345
+ error: boolean;
346
+ statusCode: number;
347
+ message: string;
348
+ data: T;
349
+ }
350
+
351
+ declare class MessagingService {
352
+ private readonly messagingUrl;
353
+ private readonly token;
354
+ private socket;
355
+ constructor(messagingUrl: string, token: string);
356
+ connect(): Promise<void>;
357
+ onBroadcast(handler: (msg: BroadcastMessage) => void): void;
358
+ onUserStatus(handler: (event: UserStatusEvent) => void): void;
359
+ onJobInvite(handler: (invite: JobInviteNotification) => void): void;
360
+ sendMessage(payload: SendMessagePayload): void;
361
+ setTyping(conversationId: string, typing: boolean): void;
362
+ loadConversations(): Promise<Conversation[]>;
363
+ createDirectConversation(recipientId: string): Promise<Conversation>;
364
+ createGroupConversation(recipientIds: string[], name?: string): Promise<Conversation>;
365
+ fetchConversation(conversationId: string): Promise<FetchedConversation>;
366
+ markSeen(conversationId: string): void;
367
+ disconnect(): void;
368
+ get connected(): boolean;
369
+ }
370
+
371
+ interface JobDeliverableDto {
372
+ name: string;
373
+ description?: string;
374
+ }
375
+ interface CreateJobDto {
376
+ title: string;
377
+ description?: string;
378
+ amount?: string;
379
+ currency?: string;
380
+ tags?: string[];
381
+ chainId?: string;
382
+ asset?: string;
383
+ isPrivate?: boolean;
384
+ deliverables?: JobDeliverableDto[];
385
+ }
386
+ type ConfirmTxStep = "onCreate" | "onAccept";
387
+ interface ConfirmTxDto {
388
+ step: ConfirmTxStep;
389
+ txHash: string;
390
+ }
391
+ interface InviteTalentDto {
392
+ inviteeId: string;
393
+ }
394
+ interface PrepareUpdateDto {
395
+ address: string;
396
+ chainId?: string;
397
+ }
398
+ interface ListJobsQuery {
399
+ creator?: string;
400
+ buyer?: string;
401
+ seller?: string;
402
+ chainId?: string;
403
+ page?: number;
404
+ limit?: number;
405
+ }
406
+ interface GetStatsQuery {
407
+ creator?: string;
408
+ startDate?: string;
409
+ endDate?: string;
410
+ }
411
+ interface CreateDeliverablesDto {
412
+ deliverables: JobDeliverableDto[];
413
+ }
414
+ interface ToggleDeliverableProgressDto {
415
+ status: "completed" | "pending";
416
+ }
417
+ interface BulkResetDeliverablesDto {
418
+ deliverableIds: string[];
419
+ }
420
+ interface UpdateJobDto {
421
+ title?: string;
422
+ description?: string;
423
+ amount?: string;
424
+ deliveryDate?: string;
425
+ isPrivate?: boolean;
426
+ tags?: string[];
427
+ meta?: Record<string, any>;
428
+ }
429
+ interface ApplyJobDto {
430
+ coverLetter?: string;
431
+ bid?: number;
432
+ }
433
+ interface CancelJobDto {
434
+ reason: string;
435
+ explanation?: string;
436
+ }
437
+ interface ResolveCancelDto {
438
+ resolution?: string;
439
+ }
440
+ interface ReviewChangeDto {
441
+ reason: string;
442
+ description?: string;
443
+ changes?: Record<string, any>;
444
+ }
445
+ interface CompleteJobDto {
446
+ note?: string;
447
+ }
448
+ interface ReleaseJobPaymentDto {
449
+ }
450
+ interface JobReviewDto {
451
+ receiverId: string;
452
+ rating: number;
453
+ review: string;
454
+ }
455
+ interface PaginationQuery {
456
+ page?: number;
457
+ limit?: number;
458
+ }
459
+ type ListAllInvitesQuery = PaginationQuery;
460
+ type ListApplicationsQuery = PaginationQuery;
461
+ type ListJobInvitesQuery = PaginationQuery;
462
+ interface ApplicationResponse {
463
+ _id: string;
464
+ job: string;
465
+ applicant: any;
466
+ coverLetter: string;
467
+ bid: number;
468
+ status: "pending" | "accepted" | "rejected" | "closed";
469
+ createdAt: string;
470
+ updatedAt: string;
471
+ }
472
+ interface ApplicationListResponse {
473
+ total: number;
474
+ page: number;
475
+ limit: number;
476
+ pages: number;
477
+ data: ApplicationResponse[];
478
+ }
479
+ interface CancelRequestResponse {
480
+ _id: string;
481
+ job: string;
482
+ requestedBy: string;
483
+ reason: string;
484
+ explanation: string;
485
+ status: "pending" | "accepted" | "declined";
486
+ resolution?: string;
487
+ createdAt: string;
488
+ updatedAt: string;
489
+ }
490
+ interface ChangeRequestResponse {
491
+ _id: string;
492
+ job: string;
493
+ requestedBy: string;
494
+ reason: string;
495
+ description: string;
496
+ changes?: Record<string, any>;
497
+ status: "pending" | "accepted" | "declined";
498
+ createdAt: string;
499
+ updatedAt: string;
500
+ }
501
+ interface MakeDepositResponse {
502
+ jobId: string;
503
+ escrowAddress: string;
504
+ chainId: string;
505
+ coinAmount: string;
506
+ tokenDecimal: number;
507
+ coinSymbol: string;
508
+ asset: string;
509
+ onCreate: any | null;
510
+ deposit: any | null;
511
+ approve: any | null;
512
+ }
513
+ interface JobDeliverableResponse {
514
+ _id: string;
515
+ name: string;
516
+ description?: string;
517
+ progress: number;
518
+ meta?: {
519
+ completedAt?: string;
520
+ };
521
+ }
522
+ interface JobInviteResponse {
523
+ inviteeId: string;
524
+ status: "pending" | "accepted" | "declined";
525
+ createdAt: string;
526
+ }
527
+ interface JobResponse {
528
+ _id: string;
529
+ creator: string;
530
+ title: string;
531
+ description: string;
532
+ amount: string;
533
+ currency?: string;
534
+ tags?: string[];
535
+ chainId: string;
536
+ asset: string;
537
+ status: "open" | "filled" | "completed" | "cancelled";
538
+ isPrivate: boolean;
539
+ buyer: string;
540
+ seller?: string;
541
+ sellerId?: string;
542
+ escrowVersion: string;
543
+ escrowChainId: string;
544
+ escrowStatus: string;
545
+ escrowAddress?: string;
546
+ escrowOnCreateTxHash?: string;
547
+ escrowAcceptTxHash?: string;
548
+ invites?: JobInviteResponse[];
549
+ deliverables?: JobDeliverableResponse[];
550
+ createdAt: string;
551
+ updatedAt: string;
552
+ }
553
+ interface JobListResponse {
554
+ total: number;
555
+ page: number;
556
+ limit: number;
557
+ pages: number;
558
+ data: JobResponse[];
559
+ }
560
+ interface JobStatsSummary {
561
+ total: number;
562
+ open: number;
563
+ filled: number;
564
+ completed: number;
565
+ cancelled: number;
566
+ totalValue: number;
567
+ filledValue: number;
568
+ completedValue: number;
569
+ }
570
+ interface JobStatsResponse {
571
+ summary: JobStatsSummary;
572
+ byStatus: {
573
+ status: string;
574
+ count: number;
575
+ totalValue: number;
576
+ }[];
577
+ byChain: {
578
+ chainId: string;
579
+ count: number;
580
+ totalValue: number;
581
+ }[];
582
+ }
583
+ interface JobModuleType {
584
+ create(dto: CreateJobDto): Promise<ResponseDto<{
585
+ job: JobResponse;
586
+ escrowTx: any;
587
+ }>>;
588
+ list(query?: ListJobsQuery): Promise<ResponseDto<JobListResponse>>;
589
+ getStats(query?: GetStatsQuery): Promise<ResponseDto<JobStatsResponse>>;
590
+ getById(id: string): Promise<ResponseDto<{
591
+ job: JobResponse;
592
+ }>>;
593
+ delete(id: string): Promise<ResponseDto<{
594
+ message: string;
595
+ }>>;
596
+ confirmTx(id: string, dto: ConfirmTxDto): Promise<ResponseDto<JobResponse>>;
597
+ getInvites(id: string): Promise<ResponseDto<JobInviteResponse[]>>;
598
+ inviteTalent(id: string, dto: InviteTalentDto): Promise<ResponseDto<JobResponse>>;
599
+ acceptInvite(id: string, inviteId: string): Promise<ResponseDto<{
600
+ job: JobResponse;
601
+ acceptPayload: any;
602
+ }>>;
603
+ declineInvite(id: string, inviteId: string): Promise<ResponseDto<{
604
+ job: JobResponse;
605
+ }>>;
606
+ cancelInvite(id: string, inviteeId: string): Promise<ResponseDto<{
607
+ job: JobResponse;
608
+ }>>;
609
+ getEscrowStatus(id: string): Promise<ResponseDto<{
610
+ job: JobResponse;
611
+ onChain: any;
612
+ }>>;
613
+ prepareUpdate(id: string, dto: PrepareUpdateDto): Promise<ResponseDto<{
614
+ job: JobResponse;
615
+ txPayload: any;
616
+ }>>;
617
+ createDeliverables(id: string, dto: CreateDeliverablesDto): Promise<ResponseDto<{
618
+ deliverables: JobDeliverableResponse[];
619
+ }>>;
620
+ replaceDeliverables(id: string, dto: CreateDeliverablesDto): Promise<ResponseDto<{
621
+ deliverables: JobDeliverableResponse[];
622
+ }>>;
623
+ toggleDeliverableProgress(id: string, deliverableId: string, dto: ToggleDeliverableProgressDto): Promise<ResponseDto<{
624
+ deliverable: JobDeliverableResponse;
625
+ }>>;
626
+ bulkResetDeliverables(id: string, dto: BulkResetDeliverablesDto): Promise<ResponseDto<{
627
+ deliverables: JobDeliverableResponse[];
628
+ }>>;
629
+ update(id: string, dto: UpdateJobDto): Promise<ResponseDto<{
630
+ job: JobResponse;
631
+ }>>;
632
+ listAllInvites(query?: ListAllInvitesQuery): Promise<ResponseDto<JobInviteResponse[]>>;
633
+ makeDeposit(id: string, talentId?: string): Promise<ResponseDto<MakeDepositResponse>>;
634
+ validatePayment(id: string): Promise<ResponseDto<{
635
+ job: JobResponse;
636
+ onChain: any;
637
+ }>>;
638
+ apply(id: string, dto: ApplyJobDto): Promise<ResponseDto<{
639
+ application: ApplicationResponse;
640
+ }>>;
641
+ withdrawApplication(id: string): Promise<ResponseDto<{
642
+ message: string;
643
+ }>>;
644
+ listApplications(id: string, query?: ListApplicationsQuery): Promise<ResponseDto<ApplicationListResponse>>;
645
+ acceptApplication(id: string, appId: string): Promise<ResponseDto<{
646
+ application: ApplicationResponse;
647
+ job: JobResponse;
648
+ }>>;
649
+ rejectApplication(id: string, appId: string): Promise<ResponseDto<{
650
+ application: ApplicationResponse;
651
+ }>>;
652
+ requestCancel(id: string, dto: CancelJobDto): Promise<ResponseDto<{
653
+ cancelRequest: CancelRequestResponse;
654
+ }>>;
655
+ acceptCancel(id: string, dto?: ResolveCancelDto): Promise<ResponseDto<{
656
+ cancelRequest: CancelRequestResponse;
657
+ job: JobResponse;
658
+ }>>;
659
+ declineCancel(id: string, dto?: ResolveCancelDto): Promise<ResponseDto<{
660
+ cancelRequest: CancelRequestResponse;
661
+ job: JobResponse;
662
+ }>>;
663
+ getCancelRequest(id: string): Promise<ResponseDto<{
664
+ cancelRequest: CancelRequestResponse | null;
665
+ }>>;
666
+ requestReviewChange(id: string, dto: ReviewChangeDto): Promise<ResponseDto<{
667
+ changeRequest: ChangeRequestResponse;
668
+ }>>;
669
+ acceptReviewChange(id: string): Promise<ResponseDto<{
670
+ changeRequest: ChangeRequestResponse;
671
+ }>>;
672
+ declineReviewChange(id: string): Promise<ResponseDto<{
673
+ changeRequest: ChangeRequestResponse;
674
+ }>>;
675
+ getReviewChange(id: string): Promise<ResponseDto<{
676
+ changeRequest: ChangeRequestResponse | null;
677
+ }>>;
678
+ completeJob(id: string, dto?: CompleteJobDto): Promise<ResponseDto<{
679
+ job: JobResponse;
680
+ markReadyTxHash: string | null;
681
+ }>>;
682
+ releasePayment(id: string, dto?: ReleaseJobPaymentDto): Promise<ResponseDto<{
683
+ escrowReleaseTxHash: string | null;
684
+ }>>;
685
+ submitReview(id: string, dto: JobReviewDto): Promise<ResponseDto<any>>;
686
+ }
687
+
688
+ declare class JobService implements JobModuleType {
689
+ private id;
690
+ private connector;
691
+ constructor(id: string);
692
+ create(dto: CreateJobDto): Promise<ResponseDto<{
693
+ job: JobResponse;
694
+ escrowTx: any;
695
+ }>>;
696
+ list(query?: ListJobsQuery): Promise<ResponseDto<JobListResponse>>;
697
+ getStats(query?: GetStatsQuery): Promise<ResponseDto<JobStatsResponse>>;
698
+ getById(id: string): Promise<ResponseDto<{
699
+ job: JobResponse;
700
+ }>>;
701
+ delete(id: string): Promise<ResponseDto<{
702
+ message: string;
703
+ }>>;
704
+ confirmTx(id: string, dto: ConfirmTxDto): Promise<ResponseDto<JobResponse>>;
705
+ getInvites(id: string): Promise<ResponseDto<JobInviteResponse[]>>;
706
+ inviteTalent(id: string, dto: InviteTalentDto): Promise<ResponseDto<JobResponse>>;
707
+ acceptInvite(id: string, inviteId: string): Promise<ResponseDto<{
708
+ job: JobResponse;
709
+ acceptPayload: any;
710
+ }>>;
711
+ declineInvite(id: string, inviteId: string): Promise<ResponseDto<{
712
+ job: JobResponse;
713
+ }>>;
714
+ cancelInvite(id: string, inviteeId: string): Promise<ResponseDto<{
715
+ job: JobResponse;
716
+ }>>;
717
+ getEscrowStatus(id: string): Promise<ResponseDto<{
718
+ job: JobResponse;
719
+ onChain: any;
720
+ }>>;
721
+ prepareUpdate(id: string, dto: PrepareUpdateDto): Promise<ResponseDto<{
722
+ job: JobResponse;
723
+ txPayload: any;
724
+ }>>;
725
+ createDeliverables(id: string, dto: CreateDeliverablesDto): Promise<ResponseDto<{
726
+ deliverables: JobDeliverableResponse[];
727
+ }>>;
728
+ replaceDeliverables(id: string, dto: CreateDeliverablesDto): Promise<ResponseDto<{
729
+ deliverables: JobDeliverableResponse[];
730
+ }>>;
731
+ toggleDeliverableProgress(id: string, deliverableId: string, dto: ToggleDeliverableProgressDto): Promise<ResponseDto<{
732
+ deliverable: JobDeliverableResponse;
733
+ }>>;
734
+ bulkResetDeliverables(id: string, dto: BulkResetDeliverablesDto): Promise<ResponseDto<{
735
+ deliverables: JobDeliverableResponse[];
736
+ }>>;
737
+ update(id: string, dto: UpdateJobDto): Promise<ResponseDto<{
738
+ job: JobResponse;
739
+ }>>;
740
+ listAllInvites(query?: ListAllInvitesQuery): Promise<ResponseDto<JobInviteResponse[]>>;
741
+ makeDeposit(id: string, talentId?: string): Promise<ResponseDto<MakeDepositResponse>>;
742
+ validatePayment(id: string): Promise<ResponseDto<{
743
+ job: JobResponse;
744
+ onChain: any;
745
+ }>>;
746
+ apply(id: string, dto: ApplyJobDto): Promise<ResponseDto<{
747
+ application: ApplicationResponse;
748
+ }>>;
749
+ withdrawApplication(id: string): Promise<ResponseDto<{
750
+ message: string;
751
+ }>>;
752
+ listApplications(id: string, query?: ListApplicationsQuery): Promise<ResponseDto<ApplicationListResponse>>;
753
+ acceptApplication(id: string, appId: string): Promise<ResponseDto<{
754
+ application: ApplicationResponse;
755
+ job: JobResponse;
756
+ }>>;
757
+ rejectApplication(id: string, appId: string): Promise<ResponseDto<{
758
+ application: ApplicationResponse;
759
+ }>>;
760
+ requestCancel(id: string, dto: CancelJobDto): Promise<ResponseDto<{
761
+ cancelRequest: CancelRequestResponse;
762
+ }>>;
763
+ acceptCancel(id: string, dto?: ResolveCancelDto): Promise<ResponseDto<{
764
+ cancelRequest: CancelRequestResponse;
765
+ job: JobResponse;
766
+ }>>;
767
+ declineCancel(id: string, dto?: ResolveCancelDto): Promise<ResponseDto<{
768
+ cancelRequest: CancelRequestResponse;
769
+ job: JobResponse;
770
+ }>>;
771
+ getCancelRequest(id: string): Promise<ResponseDto<{
772
+ cancelRequest: CancelRequestResponse | null;
773
+ }>>;
774
+ requestReviewChange(id: string, dto: ReviewChangeDto): Promise<ResponseDto<{
775
+ changeRequest: ChangeRequestResponse;
776
+ }>>;
777
+ acceptReviewChange(id: string): Promise<ResponseDto<{
778
+ changeRequest: ChangeRequestResponse;
779
+ }>>;
780
+ declineReviewChange(id: string): Promise<ResponseDto<{
781
+ changeRequest: ChangeRequestResponse;
782
+ }>>;
783
+ getReviewChange(id: string): Promise<ResponseDto<{
784
+ changeRequest: ChangeRequestResponse | null;
785
+ }>>;
786
+ completeJob(id: string, dto?: CompleteJobDto): Promise<ResponseDto<{
787
+ job: JobResponse;
788
+ markReadyTxHash: string | null;
789
+ }>>;
790
+ releasePayment(id: string, dto?: ReleaseJobPaymentDto): Promise<ResponseDto<{
791
+ escrowReleaseTxHash: string | null;
792
+ }>>;
793
+ submitReview(id: string, dto: JobReviewDto): Promise<ResponseDto<any>>;
242
794
  }
243
795
 
244
796
  interface PsiloSDKConfig {
245
- baseUrl?: string;
797
+ development?: boolean;
246
798
  verbose?: boolean;
799
+ baseUrl?: string;
800
+ messagingUrl?: string;
801
+ token?: string;
247
802
  }
248
803
  declare class PsiloSDK {
249
804
  readonly auth: AuthService;
250
805
  readonly escrow: EscrowService;
251
806
  readonly connector: Connector;
807
+ readonly messaging: MessagingService;
808
+ readonly job: JobService;
252
809
  constructor(id: string);
253
- static init(config: PsiloSDKConfig): Promise<PsiloSDK>;
810
+ static init(config?: PsiloSDKConfig): Promise<PsiloSDK>;
254
811
  setAuthorizationHeader(token: string): void;
255
812
  private static generateRandomString;
256
813
  }
@@ -261,4 +818,4 @@ declare class SDKError extends Error {
261
818
  constructor(message: string, code?: string, details?: any);
262
819
  }
263
820
 
264
- export { AuthModuleType, AuthService, Connector, CreateEscrowDto, CreateEscrowResponse, DepositDto, DepositResponse, ErrorUtils, EscrowAssetDto, EscrowChainDto, EscrowModuleType, EscrowNativeCurrencyDto, EscrowService, EscrowStatusResponse, EscrowWebhookConfigDto, GetEscrowAssetsResponseDto, GetEscrowChainsResponseDto, IAny, NonceDto, NonceResponse, PrepareTransactionResponse, PsiloSDK, PsiloSDKConfig, RegisterDto, RegisterResponse, ReleaseDto, ReleaseResponse, ResponseDto, SDKError, SignReleaseDto, SignReleaseResponse, StandardResponse, Status, UpdateEscrowStatusDto, VerifyDto, VerifyResponse, parseUrlWithQuery };
821
+ export { ApplicationListResponse, ApplicationResponse, ApplyJobDto, AuthModuleType, AuthService, BroadcastMessage, BulkResetDeliverablesDto, CancelJobDto, CancelRequestResponse, ChangeRequestResponse, CompleteJobDto, ConfirmTxDto, ConfirmTxStep, Connector, Conversation, ConversationMessage, ConversationRecipient, CreateDeliverablesDto, CreateEscrowDto, CreateEscrowResponse, CreateJobDto, DepositDto, DepositResponse, ErrorUtils, EscrowAssetDto, EscrowChainDto, EscrowModuleType, EscrowNativeCurrencyDto, EscrowService, EscrowStatusResponse, EscrowWebhookConfigDto, FetchedConversation, GetEscrowAssetsResponseDto, GetEscrowChainsResponseDto, GetStatsQuery, IAny, InviteTalentDto, JobDeliverableDto, JobDeliverableResponse, JobInviteNotification, JobInviteResponse, JobListResponse, JobModuleType, JobResponse, JobReviewDto, JobService, JobStatsResponse, JobStatsSummary, ListAllInvitesQuery, ListApplicationsQuery, ListJobInvitesQuery, ListJobsQuery, MakeDepositResponse, MessageType, MessagingService, NonceDto, NonceResponse, PaginationQuery, PaktWeb3OnboardResponse, PaktWeb3RequestResponse, PaktWeb3ValidateResponse, PrepareTransactionResponse, PrepareUpdateDto, PsiloSDK, PsiloSDKConfig, RegisterDto, RegisterResponse, ReleaseDto, ReleaseJobPaymentDto, ReleaseResponse, ResolveCancelDto, ResponseDto, ReviewChangeDto, SDKError, SendMessagePayload, SignReleaseDto, SignReleaseResponse, StandardResponse, Status, ToggleDeliverableProgressDto, UpdateEscrowStatusDto, UpdateJobDto, UserStatusEvent, VerifyDto, VerifyResponse, WsEnvelope, parseUrlWithQuery };
package/dist/main.js CHANGED
@@ -1,2 +1,2 @@
1
- var G=Object.create;var g=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var X=Object.getOwnPropertyNames,J=Object.getOwnPropertySymbols,Y=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable;var F=(r,t,e)=>t in r?g(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e,d=(r,t)=>{for(var e in t||(t={}))P.call(t,e)&&F(r,e,t[e]);if(J)for(var e of J(t))Z.call(t,e)&&F(r,e,t[e]);return r};var s=(r,t)=>g(r,"name",{value:t,configurable:!0});var k=(r,t)=>{for(var e in t)g(r,e,{get:t[e],enumerable:!0})},W=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of X(t))!P.call(r,o)&&o!==e&&g(r,o,{get:()=>t[o],enumerable:!(n=V(t,o))||n.enumerable});return r};var tt=(r,t,e)=>(e=r!=null?G(Y(r)):{},W(t||!r||!r.__esModule?g(e,"default",{value:r,enumerable:!0}):e,r)),et=r=>W(g({},"__esModule",{value:!0}),r);var i=(r,t,e)=>(F(r,typeof t!="symbol"?t+"":t,e),e);var pt={};k(pt,{AuthService:()=>h,Connector:()=>u,ErrorUtils:()=>p,EscrowService:()=>m,PsiloSDK:()=>O,SDKError:()=>f,Status:()=>st,parseUrlWithQuery:()=>C});module.exports=et(pt);var xe=require("reflect-metadata");var y=require("typedi");var S=tt(require("axios"));var D=class D extends Error{constructor(e,n,o){super(e);i(this,"code");i(this,"details");this.name="SDKError",this.code=n,this.details=o}};s(D,"SDKError");var f=D;var M=class M{constructor(t){i(this,"client");this.client=S.default.create({baseURL:t,headers:{"Content-Type":"application/json"}})}setHeader(t,e){this.client.defaults.headers.common[t]=e}removeHeader(t){delete this.client.defaults.headers.common[t]}handleResponse(t){var n,o,a;let e=t.data;if(e&&e.success===!1)throw new f(((n=e.error)==null?void 0:n.message)||"Unknown error",((o=e.error)==null?void 0:o.code)||"API_ERROR",(a=e.error)==null?void 0:a.details);return e}handleError(t){var e,n;if(S.default.isAxiosError(t)){let o=(e=t.response)==null?void 0:e.data;throw o&&o.error?new f(o.error.message||t.message,o.error.code||"REQUEST_ERROR",o.error.details):new f(t.message,t.code,(n=t.response)==null?void 0:n.data)}throw new f(t.message||"An unexpected error occurred","INTERNAL_ERROR")}async get(t,e){try{let n=await this.client.get(t,e);return this.handleResponse(n)}catch(n){this.handleError(n)}}async post(t,e,n){try{let o=await this.client.post(t,e,n);return this.handleResponse(o)}catch(o){this.handleError(o)}}async put(t,e,n){try{let o=await this.client.put(t,e,n);return this.handleResponse(o)}catch(o){this.handleError(o)}}async delete(t,e){try{let n=await this.client.delete(t,e);return this.handleResponse(n)}catch(n){this.handleError(n)}}};s(M,"Connector");var u=M;var A=require("typedi");var rt={delayFirstAttempt:!1,jitter:"none",maxDelay:1/0,numOfAttempts:10,retry:()=>!0,startingDelay:100,timeMultiple:2};function $(r){let t=d(d({},rt),r);return t.numOfAttempts<1&&(t.numOfAttempts=1),t}s($,"getSanitizedOptions");function q(r){let t=Math.random()*r;return Math.round(t)}s(q,"fullJitter");function I(r){return r}s(I,"noJitter");function H(r){switch(r.jitter){case"full":return q;case"none":default:return I}}s(H,"JitterFactory");var v=class v{constructor(t){i(this,"options");i(this,"attempt",0);this.options=t}apply(){return new Promise(t=>setTimeout(t,this.jitteredDelay))}setAttemptNumber(t){this.attempt=t}get jitteredDelay(){return H(this.options)(this.delay)}get delay(){let t=this.options.startingDelay,e=this.options.timeMultiple,n=this.numOfDelayedAttempts,o=t*Math.pow(e,n);return Math.min(o,this.options.maxDelay)}get numOfDelayedAttempts(){return this.attempt}};s(v,"Delay");var w=v;var T=class T extends w{async apply(){return this.isFirstAttempt?!0:super.apply()}get isFirstAttempt(){return this.attempt===0}get numOfDelayedAttempts(){return this.attempt-1}};s(T,"SkipFirstDelay");var b=T;var U=class U extends w{};s(U,"AlwaysDelay");var j=U;function L(r,t){let e=nt(r);return e.setAttemptNumber(t),e}s(L,"DelayFactory");function nt(r){return r.delayFirstAttempt?new j(r):new b(r)}s(nt,"initDelayClass");async function _(r,t={}){let e=$(t);return await new ot(r,e).execute()}s(_,"backOff");var x,ot=(x=class{constructor(t,e){i(this,"request");i(this,"options");i(this,"attemptNumber",0);this.request=t,this.options=e}async execute(){for(;!this.attemptLimitReached;)try{return await this.applyDelay(),await this.request()}catch(t){if(this.attemptNumber++,!await this.options.retry(t,this.attemptNumber)||this.attemptLimitReached)throw t}throw new Error("Something went wrong.")}get attemptLimitReached(){return this.attemptNumber>=this.options.numOfAttempts}async applyDelay(){await L(this.options,this.attemptNumber).apply()}},s(x,"BackOff"),x);var st=function(r){return r.SUCCESS="success",r.ERROR="error",r}({}),p={newTryFail:async r=>{try{let t=await _(async()=>await r(),{startingDelay:50,timeMultiple:10,numOfAttempts:10,maxDelay:3550,delayFirstAttempt:!1});return d({},t)}catch(t){let e=p.toErrorWithMessage(t);return{data:null,status:"error",message:e?e.message:["Internal Server Error"],code:e.code}}},formatErrorMsg:r=>r.replace("attr.",""),toErrorWithMessage:r=>{var t;if(typeof r=="string")try{let e=JSON.parse(r);return e.data instanceof Array&&e.data.length>0?{message:e.data.map(n=>p.formatErrorMsg(n)),code:e.errorCode}:{message:[(t=e.message)!=null?t:r],code:e.errorCode}}catch(e){}if(p.isErrorWithMessage(r))return{message:[r.message]};try{return{message:[JSON.stringify(r,null,2)]}}catch(e){return{message:[String(r)]}}},isErrorWithMessage(r){return typeof r=="object"&&r!==null&&"message"in r&&typeof r.message=="string"}},C=s((r,t)=>{let e="?",n=Object.keys(t||{});return n.length===0?r:(n.map((o,a)=>{let c="&";(o===void 0||o==="undefined"||o===null||o==="null"||o.length===0)&&(e=e),a+1===n.length&&(c=""),e=e+`${o}=${t[o]}${c}`}),r+e)},"parseUrlWithQuery");function at(r,t,e,n){var o=arguments.length,a=o<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,e):n,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(r,t,e,n);else for(var l=r.length-1;l>=0;l--)(c=r[l])&&(a=(o<3?c(a):o>3?c(t,e,a):c(t,e))||a);return o>3&&a&&Object.defineProperty(t,e,a),a}s(at,"_ts_decorate");function Q(r,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,t)}s(Q,"_ts_metadata");var N=class N{constructor(t){i(this,"id");i(this,"connector");this.id=t,this.connector=A.Container.of(this.id).get(u)}async create(t){return p.newTryFail(async()=>await this.connector.post("/api/escrow/create",t))}async getStatus(t,e){return p.newTryFail(async()=>{let n=C("/api/escrow/status",{chainId:t,escrow:e});return await this.connector.get(n)})}async updateStatus(t){return p.newTryFail(async()=>await this.connector.post("/api/escrow/update",t))}async release(t,e,n){return p.newTryFail(async()=>{let o=d({chainId:t,escrowAddress:e},n||{});return await this.connector.post("/api/escrow/release",o)})}async getChains(){return p.newTryFail(async()=>await this.connector.get("/api/escrow/chains"))}async getAssets(t){return p.newTryFail(async()=>await this.connector.get(`/api/escrow/assets/${t}`))}};s(N,"EscrowService");var m=N;m=at([(0,A.Service)({factory:r=>new m(r.id),transient:!0}),Q("design:type",Function),Q("design:paramtypes",[String])],m);var E=require("typedi");function it(r,t,e,n){var o=arguments.length,a=o<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,e):n,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(r,t,e,n);else for(var l=r.length-1;l>=0;l--)(c=r[l])&&(a=(o<3?c(a):o>3?c(t,e,a):c(t,e))||a);return o>3&&a&&Object.defineProperty(t,e,a),a}s(it,"_ts_decorate");function B(r,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,t)}s(B,"_ts_metadata");var z=class z{constructor(t){i(this,"id");i(this,"connector");this.id=t,this.connector=E.Container.of(this.id).get(u)}async register(t){return p.newTryFail(async()=>await this.connector.post("/api/auth/register",t))}async nonce(t){return p.newTryFail(async()=>await this.connector.post("/api/auth/nonce",t))}async verify(t){return p.newTryFail(async()=>await this.connector.post("/api/auth/verify",t))}};s(z,"AuthService");var h=z;h=it([(0,E.Service)({factory:r=>new h(r.id),transient:!0}),B("design:type",Function),B("design:paramtypes",[String])],h);function ct(r,t,e,n){var o=arguments.length,a=o<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,e):n,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(r,t,e,n);else for(var l=r.length-1;l>=0;l--)(c=r[l])&&(a=(o<3?c(a):o>3?c(t,e,a):c(t,e))||a);return o>3&&a&&Object.defineProperty(t,e,a),a}s(ct,"_ts_decorate");function K(r,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,t)}s(K,"_ts_metadata");var R=class R{constructor(t){i(this,"auth");i(this,"escrow");i(this,"connector");this.connector=y.Container.of(t).get(u),this.auth=y.Container.of(t).get(h),this.escrow=y.Container.of(t).get(m)}static async init(t){if(!t.baseUrl)throw new Error("PsiloSDK initialization requires a valid baseUrl");t.verbose&&console.log(`[PsiloSDK] Initializing SDK pointed to ${t.baseUrl}`);let e=R.generateRandomString(),n=new u(t.baseUrl);return y.Container.of(e).set(u,n),new R(e)}setAuthorizationHeader(t){this.connector.setHeader("Authorization",`Bearer ${t}`)}static generateRandomString(){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",e="";for(let n=0;n<60;n++)e+=t.charAt(Math.floor(Math.random()*t.length));return e}};s(R,"PsiloSDK");var O=R;O=ct([(0,y.Service)({transient:!0}),K("design:type",Function),K("design:paramtypes",[String])],O);0&&(module.exports={AuthService,Connector,ErrorUtils,EscrowService,PsiloSDK,SDKError,Status,parseUrlWithQuery});
1
+ var ie=Object.create;var T=Object.defineProperty;var ce=Object.getOwnPropertyDescriptor;var pe=Object.getOwnPropertyNames,G=Object.getOwnPropertySymbols,le=Object.getPrototypeOf,J=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable;var $=(s,e,t)=>e in s?T(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,v=(s,e)=>{for(var t in e||(e={}))J.call(e,t)&&$(s,t,e[t]);if(G)for(var t of G(e))ue.call(e,t)&&$(s,t,e[t]);return s};var c=(s,e)=>T(s,"name",{value:e,configurable:!0});var he=(s,e)=>{for(var t in e)T(s,t,{get:e[t],enumerable:!0})},z=(s,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of pe(e))!J.call(s,r)&&r!==t&&T(s,r,{get:()=>e[r],enumerable:!(n=ce(e,r))||n.enumerable});return s};var ye=(s,e,t)=>(t=s!=null?ie(le(s)):{},z(e||!s||!s.__esModule?T(t,"default",{value:s,enumerable:!0}):t,s)),me=s=>z(T({},"__esModule",{value:!0}),s);var p=(s,e,t)=>($(s,typeof e!="symbol"?e+"":e,t),t);var je={};he(je,{AuthService:()=>d,Connector:()=>u,ErrorUtils:()=>a,EscrowService:()=>w,JobService:()=>g,MessagingService:()=>b,PsiloSDK:()=>x,SDKError:()=>f,Status:()=>ge,parseUrlWithQuery:()=>m});module.exports=me(je);var Zt=require("reflect-metadata");var y=require("typedi");var N=ye(require("axios"));var I=class I extends Error{constructor(t,n,r){super(t);p(this,"code");p(this,"details");this.name="SDKError",this.code=n,this.details=r}};c(I,"SDKError");var f=I;var _=class _{constructor(e){p(this,"client");this.client=N.default.create({baseURL:e,headers:{"Content-Type":"application/json"}})}setHeader(e,t){this.client.defaults.headers.common[e]=t}removeHeader(e){delete this.client.defaults.headers.common[e]}handleResponse(e){var n,r,o;let t=e.data;if(t&&t.success===!1)throw new f(((n=t.error)==null?void 0:n.message)||"Unknown error",((r=t.error)==null?void 0:r.code)||"API_ERROR",(o=t.error)==null?void 0:o.details);return t}handleError(e){var t,n;if(N.default.isAxiosError(e)){let r=(t=e.response)==null?void 0:t.data;throw r&&r.error?new f(r.error.message||e.message,r.error.code||"REQUEST_ERROR",r.error.details):new f(e.message,e.code,(n=e.response)==null?void 0:n.data)}throw new f(e.message||"An unexpected error occurred","INTERNAL_ERROR")}async get(e,t){try{let n=await this.client.get(e,t);return this.handleResponse(n)}catch(n){this.handleError(n)}}async post(e,t,n){try{let r=await this.client.post(e,t,n);return this.handleResponse(r)}catch(r){this.handleError(r)}}async put(e,t,n){try{let r=await this.client.put(e,t,n);return this.handleResponse(r)}catch(r){this.handleError(r)}}async patch(e,t,n){try{let r=await this.client.patch(e,t,n);return this.handleResponse(r)}catch(r){this.handleError(r)}}async delete(e,t){try{let n=await this.client.delete(e,t);return this.handleResponse(n)}catch(n){this.handleError(n)}}};c(_,"Connector");var u=_;var O=require("typedi");var fe={delayFirstAttempt:!1,jitter:"none",maxDelay:1/0,numOfAttempts:10,retry:()=>!0,startingDelay:100,timeMultiple:2};function B(s){let e=v(v({},fe),s);return e.numOfAttempts<1&&(e.numOfAttempts=1),e}c(B,"getSanitizedOptions");function H(s){let e=Math.random()*s;return Math.round(e)}c(H,"fullJitter");function Z(s){return s}c(Z,"noJitter");function K(s){switch(s.jitter){case"full":return H;case"none":default:return Z}}c(K,"JitterFactory");var C=class C{constructor(e){p(this,"options");p(this,"attempt",0);this.options=e}apply(){return new Promise(e=>setTimeout(e,this.jitteredDelay))}setAttemptNumber(e){this.attempt=e}get jitteredDelay(){return K(this.options)(this.delay)}get delay(){let e=this.options.startingDelay,t=this.options.timeMultiple,n=this.numOfDelayedAttempts,r=e*Math.pow(t,n);return Math.min(r,this.options.maxDelay)}get numOfDelayedAttempts(){return this.attempt}};c(C,"Delay");var R=C;var D=class D extends R{async apply(){return this.isFirstAttempt?!0:super.apply()}get isFirstAttempt(){return this.attempt===0}get numOfDelayedAttempts(){return this.attempt-1}};c(D,"SkipFirstDelay");var F=D;var U=class U extends R{};c(U,"AlwaysDelay");var S=U;function Q(s,e){let t=we(s);return t.setAttemptNumber(e),t}c(Q,"DelayFactory");function we(s){return s.delayFirstAttempt?new S(s):new F(s)}c(we,"initDelayClass");async function Y(s,e={}){let t=B(e);return await new de(s,t).execute()}c(Y,"backOff");var j,de=(j=class{constructor(e,t){p(this,"request");p(this,"options");p(this,"attemptNumber",0);this.request=e,this.options=t}async execute(){for(;!this.attemptLimitReached;)try{return await this.applyDelay(),await this.request()}catch(e){if(this.attemptNumber++,!await this.options.retry(e,this.attemptNumber)||this.attemptLimitReached)throw e}throw new Error("Something went wrong.")}get attemptLimitReached(){return this.attemptNumber>=this.options.numOfAttempts}async applyDelay(){await Q(this.options,this.attemptNumber).apply()}},c(j,"BackOff"),j);var ge=function(s){return s.SUCCESS="success",s.ERROR="error",s}({}),a={newTryFail:async s=>{try{let e=await Y(async()=>await s(),{startingDelay:50,timeMultiple:10,numOfAttempts:10,maxDelay:3550,delayFirstAttempt:!1});return v({},e)}catch(e){let t=a.toErrorWithMessage(e);return{data:null,status:"error",message:t?t.message:["Internal Server Error"],code:t.code}}},formatErrorMsg:s=>s.replace("attr.",""),toErrorWithMessage:s=>{var e;if(typeof s=="string")try{let t=JSON.parse(s);return t.data instanceof Array&&t.data.length>0?{message:t.data.map(n=>a.formatErrorMsg(n)),code:t.errorCode}:{message:[(e=t.message)!=null?e:s],code:t.errorCode}}catch(t){}if(a.isErrorWithMessage(s))return{message:[s.message]};try{return{message:[JSON.stringify(s,null,2)]}}catch(t){return{message:[String(s)]}}},isErrorWithMessage(s){return typeof s=="object"&&s!==null&&"message"in s&&typeof s.message=="string"}},m=c((s,e)=>{let t="?",n=Object.keys(e||{});return n.length===0?s:(n.map((r,o)=>{let i="&";(r===void 0||r==="undefined"||r===null||r==="null"||r.length===0)&&(t=t),o+1===n.length&&(i=""),t=t+`${r}=${e[r]}${i}`}),s+t)},"parseUrlWithQuery");function ve(s,e,t,n){var r=arguments.length,o=r<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,n);else for(var l=s.length-1;l>=0;l--)(i=s[l])&&(o=(r<3?i(o):r>3?i(e,t,o):i(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o}c(ve,"_ts_decorate");function X(s,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(s,e)}c(X,"_ts_metadata");var M=class M{constructor(e){p(this,"id");p(this,"connector");this.id=e,this.connector=O.Container.of(this.id).get(u)}async create(e){return a.newTryFail(async()=>await this.connector.post("/api/escrow/create",e))}async getStatus(e,t){return a.newTryFail(async()=>{let n=m("/api/escrow/status",{chainId:e,escrow:t});return await this.connector.get(n)})}async updateStatus(e){return a.newTryFail(async()=>await this.connector.post("/api/escrow/update",e))}async release(e,t,n){return a.newTryFail(async()=>{let r=v({chainId:e,escrowAddress:t},n||{});return await this.connector.post("/api/escrow/release",r)})}async getChains(){return a.newTryFail(async()=>await this.connector.get("/api/escrow/chains"))}async getAssets(e){return a.newTryFail(async()=>await this.connector.get(`/api/escrow/assets/${e}`))}};c(M,"EscrowService");var w=M;w=ve([(0,O.Service)({factory:s=>new w(s.id),transient:!0}),X("design:type",Function),X("design:paramtypes",[String])],w);var k=require("typedi"),P=require("ethers");function be(s,e,t,n){var r=arguments.length,o=r<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,n);else for(var l=s.length-1;l>=0;l--)(i=s[l])&&(o=(r<3?i(o):r>3?i(e,t,o):i(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o}c(be,"_ts_decorate");function ee(s,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(s,e)}c(ee,"_ts_metadata");var W=class W{constructor(e){p(this,"id");p(this,"connector");this.id=e,this.connector=k.Container.of(this.id).get(u)}async register(e){return a.newTryFail(async()=>await this.connector.post("/api/auth/register",e))}async nonce(e){return a.newTryFail(async()=>await this.connector.post("/api/auth/nonce",e))}async verify(e){return a.newTryFail(async()=>await this.connector.post("/api/auth/verify",e))}async paktWeb3Login(e){let t=new P.Wallet(e),n=t.address,{message:r,tempToken:o}=await this._paktWeb3Request(n),i=await t.signMessage(r),l=await this._paktWeb3Validate(i,o);if(l.token)return l.token;if(!l.tempToken)throw new Error("Unexpected paktsuite web3/validate response: no token or tempToken");await this._paktWeb3Onboard(l.tempToken,n);let{message:h,tempToken:oe}=await this._paktWeb3Request(n),ae=await t.signMessage(h),q=await this._paktWeb3Validate(ae,oe);if(!q.token)throw new Error("Web3 authentication failed after onboarding");return q.token}static generateWallet(){let e=P.Wallet.createRandom();return{privateKey:e.privateKey,address:e.address}}async _paktWeb3Request(e){let t=await this.connector.post("/v1/auth/web3/request",{account:e});return{message:t.data.message,tempToken:t.data.tempToken.token}}async _paktWeb3Validate(e,t){var o,i,l;let n=await this.connector.post("/v1/auth/web3/validate",{signedMessage:e,tempToken:t}),r=(o=n.data)!=null?o:n;return{token:r==null?void 0:r.token,token_type:r==null?void 0:r.token_type,expiresIn:r==null?void 0:r.expiresIn,isVerified:r==null?void 0:r.isVerified,timeZone:r==null?void 0:r.timeZone,account:r==null?void 0:r.account,tempToken:(l=(i=r==null?void 0:r.tempToken)==null?void 0:i.token)!=null?l:r==null?void 0:r.tempToken}}async _paktWeb3Onboard(e,t){return this.connector.post("/v1/auth/web3/onboard",{tempToken:e,firstName:t,lastName:t,email:`${t.toLowerCase()}@pakt.internal`})}};c(W,"AuthService");var d=W;d=be([(0,k.Service)({factory:s=>new d(s.id),transient:!0}),ee("design:type",Function),ee("design:paramtypes",[String])],d);var te=require("socket.io-client");var L=class L{constructor(e,t){p(this,"messagingUrl");p(this,"token");p(this,"socket",null);this.messagingUrl=e,this.token=t}connect(){return new Promise((e,t)=>{this.socket=(0,te.io)(this.messagingUrl,{transports:["websocket"],auth:{authorization:`Bearer ${this.token}`}}),this.socket.once("connect",()=>{this.socket.emit("USER_CONNECT"),e()}),this.socket.once("connect_error",t)})}onBroadcast(e){var t;(t=this.socket)==null||t.on("BROADCAST_MESSAGE",e)}onUserStatus(e){var t;(t=this.socket)==null||t.on("USER_STATUS",e)}onJobInvite(e){var t;(t=this.socket)==null||t.on("JOB_INVITE",e)}sendMessage(e){var t;(t=this.socket)==null||t.emit("SEND_MESSAGE",e)}setTyping(e,t){var r;let n=t?"SENDER_IS_TYPING":"SENDER_STOPS_TYPING";(r=this.socket)==null||r.emit(n,{conversationId:e})}loadConversations(){return new Promise(e=>{var t,n;(t=this.socket)==null||t.emit("GET_ALL_CONVERSATIONS"),(n=this.socket)==null||n.once("GET_ALL_CONVERSATIONS",r=>{var o,i;e((i=(o=r.data)==null?void 0:o.messages)!=null?i:[])})})}createDirectConversation(e){return new Promise((t,n)=>{var r,o;(r=this.socket)==null||r.emit("INITIALIZE_CONVERSATION",{type:"DIRECT",recipientId:e}),(o=this.socket)==null||o.once("INITIALIZE_CONVERSATION",i=>{i.error?n(new Error(i.message)):t(i.data.conversation)})})}createGroupConversation(e,t){return new Promise((n,r)=>{var i,l;let o=e.map(h=>({user:h,role:"USER"}));(i=this.socket)==null||i.emit("INITIALIZE_CONVERSATION",{type:"GROUP",recipients:o,name:t}),(l=this.socket)==null||l.once("INITIALIZE_CONVERSATION",h=>{h.error?r(new Error(h.message)):n(h.data.conversation)})})}fetchConversation(e){return new Promise((t,n)=>{var r,o;(r=this.socket)==null||r.emit("FETCH_CONVERSATION_MESSAGES",{conversationId:e}),(o=this.socket)==null||o.once("FETCH_CONVERSATION_MESSAGES",i=>{i.error?n(new Error(i.message)):t(i.data)})})}markSeen(e){var t;(t=this.socket)==null||t.emit("MARK_MESSAGE_AS_SEEN",{conversationId:e,seen:Date.now().toString()})}disconnect(){var e;(e=this.socket)==null||e.disconnect(),this.socket=null}get connected(){var e,t;return(t=(e=this.socket)==null?void 0:e.connected)!=null?t:!1}};c(L,"MessagingService");var b=L;var A=require("typedi");function Te(s,e,t,n){var r=arguments.length,o=r<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,n);else for(var l=s.length-1;l>=0;l--)(i=s[l])&&(o=(r<3?i(o):r>3?i(e,t,o):i(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o}c(Te,"_ts_decorate");function ne(s,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(s,e)}c(ne,"_ts_metadata");var V=class V{constructor(e){p(this,"id");p(this,"connector");this.id=e,this.connector=A.Container.of(this.id).get(u)}async create(e){return a.newTryFail(async()=>await this.connector.post("/v1/job",e))}async list(e={}){return a.newTryFail(async()=>{let t=m("/v1/job",e);return await this.connector.get(t)})}async getStats(e={}){return a.newTryFail(async()=>{let t=m("/v1/job/stats",e);return await this.connector.get(t)})}async getById(e){return a.newTryFail(async()=>await this.connector.get(`/v1/job/${e}`))}async delete(e){return a.newTryFail(async()=>await this.connector.delete(`/v1/job/${e}`))}async confirmTx(e,t){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/confirm-tx`,t))}async getInvites(e){return a.newTryFail(async()=>await this.connector.get(`/v1/job/${e}/invites`))}async inviteTalent(e,t){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/invite`,t))}async acceptInvite(e,t){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/invite/${t}/accept`))}async declineInvite(e,t){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/invite/${t}/decline`))}async cancelInvite(e,t){return a.newTryFail(async()=>await this.connector.delete(`/v1/job/${e}/invite/${t}`))}async getEscrowStatus(e){return a.newTryFail(async()=>await this.connector.get(`/v1/job/${e}/escrow/status`))}async prepareUpdate(e,t){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/escrow/update`,t))}async createDeliverables(e,t){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/deliverables`,t))}async replaceDeliverables(e,t){return a.newTryFail(async()=>await this.connector.put(`/v1/job/${e}/deliverables`,t))}async toggleDeliverableProgress(e,t,n){return a.newTryFail(async()=>await this.connector.patch(`/v1/job/${e}/deliverables/${t}`,n))}async bulkResetDeliverables(e,t){return a.newTryFail(async()=>await this.connector.patch(`/v1/job/${e}/deliverables/bulk`,t))}async update(e,t){return a.newTryFail(async()=>await this.connector.patch(`/v1/job/${e}`,t))}async listAllInvites(e={}){return a.newTryFail(async()=>{let t=m("/v1/job/invites",e);return await this.connector.get(t)})}async makeDeposit(e,t){return a.newTryFail(async()=>{let n=m(`/v1/job/${e}/make-deposit`,{talentId:t});return await this.connector.get(n)})}async validatePayment(e){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/payment/validate`))}async apply(e,t){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/apply`,t))}async withdrawApplication(e){return a.newTryFail(async()=>await this.connector.delete(`/v1/job/${e}/apply`))}async listApplications(e,t={}){return a.newTryFail(async()=>{let n=m(`/v1/job/${e}/applications`,t);return await this.connector.get(n)})}async acceptApplication(e,t){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/applications/${t}/accept`))}async rejectApplication(e,t){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/applications/${t}/reject`))}async requestCancel(e,t){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/cancel`,t))}async acceptCancel(e,t){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/cancel/accept`,t!=null?t:{}))}async declineCancel(e,t){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/cancel/decline`,t!=null?t:{}))}async getCancelRequest(e){return a.newTryFail(async()=>await this.connector.get(`/v1/job/${e}/cancel`))}async requestReviewChange(e,t){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/review-change`,t))}async acceptReviewChange(e){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/review-change/accept`))}async declineReviewChange(e){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/review-change/decline`))}async getReviewChange(e){return a.newTryFail(async()=>await this.connector.get(`/v1/job/${e}/review-change`))}async completeJob(e,t){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/complete`,t!=null?t:{}))}async releasePayment(e,t){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/release`,t!=null?t:{}))}async submitReview(e,t){return a.newTryFail(async()=>await this.connector.post(`/v1/job/${e}/review`,t))}};c(V,"JobService");var g=V;g=Te([(0,A.Service)({factory:s=>new g(s.id),transient:!0}),ne("design:type",Function),ne("design:paramtypes",[String])],g);function Re(s,e,t,n){var r=arguments.length,o=r<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,n);else for(var l=s.length-1;l>=0;l--)(i=s[l])&&(o=(r<3?i(o):r>3?i(e,t,o):i(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o}c(Re,"_ts_decorate");function re(s,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(s,e)}c(re,"_ts_metadata");var se={production:"https://devpaktworkapi.kapt.xyz",development:"http://localhost:9000"},E=class E{constructor(e){p(this,"auth");p(this,"escrow");p(this,"connector");p(this,"messaging");p(this,"job");this.connector=y.Container.of(e).get(u),this.auth=y.Container.of(e).get(d),this.escrow=y.Container.of(e).get(w),this.messaging=y.Container.of(e).get(b),this.job=y.Container.of(e).get(g)}static async init(e={}){var i,l,h;let t=(i=e.baseUrl)!=null?i:e.development?se.development:se.production;e.verbose&&console.log(`[PsiloSDK] Initializing SDK pointed to ${t}`);let n=E.generateRandomString(),r=new u(t);y.Container.of(n).set(u,r);let o=new b((l=e.messagingUrl)!=null?l:"",(h=e.token)!=null?h:"");return y.Container.of(n).set(b,o),new E(n)}setAuthorizationHeader(e){this.connector.setHeader("Authorization",`Bearer ${e}`)}static generateRandomString(){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t="";for(let n=0;n<60;n++)t+=e.charAt(Math.floor(Math.random()*e.length));return t}};c(E,"PsiloSDK");var x=E;x=Re([(0,y.Service)({transient:!0}),re("design:type",Function),re("design:paramtypes",[String])],x);0&&(module.exports={AuthService,Connector,ErrorUtils,EscrowService,JobService,MessagingService,PsiloSDK,SDKError,Status,parseUrlWithQuery});
2
2
  //# sourceMappingURL=main.js.map