@univerjs/protocol 0.1.47 → 0.1.49

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 (32) hide show
  1. package/lib/cjs/index.js +1 -1
  2. package/lib/es/index.js +22 -22
  3. package/lib/types/index.d.ts +5 -4
  4. package/lib/types/ts/univer/changeset.d.ts +5 -0
  5. package/lib/types/ts/univer/constants/biz.d.ts +1 -0
  6. package/lib/types/ts/univer/constants/errors.d.ts +12 -0
  7. package/lib/types/ts/univer/event_sync.d.ts +2 -5
  8. package/lib/types/ts/univer/initial_sheet.d.ts +2 -0
  9. package/lib/types/ts/univer/workbook.d.ts +2 -0
  10. package/lib/types/ts/universer/v1/activity.d.ts +22 -0
  11. package/lib/types/ts/universer/v1/analyse_data_source.d.ts +12 -1
  12. package/lib/types/ts/universer/v1/authz.d.ts +1 -0
  13. package/lib/types/ts/universer/v1/comment.d.ts +1 -1
  14. package/lib/types/ts/universer/v1/conf.d.ts +78 -0
  15. package/lib/types/ts/universer/v1/conversation.d.ts +161 -15
  16. package/lib/types/ts/universer/v1/entitlement.d.ts +238 -0
  17. package/lib/types/ts/universer/v1/exchange.d.ts +4 -0
  18. package/lib/types/ts/universer/v1/file.d.ts +20 -0
  19. package/lib/types/ts/universer/v1/frontend_logs.d.ts +36 -0
  20. package/lib/types/ts/universer/v1/history.d.ts +50 -0
  21. package/lib/types/ts/universer/v1/oidc.d.ts +53 -0
  22. package/lib/types/ts/universer/v1/referral.d.ts +55 -0
  23. package/lib/types/ts/universer/v1/scraper.d.ts +144 -0
  24. package/lib/types/ts/universer/v1/snapshot.d.ts +25 -0
  25. package/lib/types/ts/universer/v1/toolkit.d.ts +8 -0
  26. package/lib/types/ts/universer/v1/user.d.ts +97 -0
  27. package/lib/types/ts/universer/v1/user_event.d.ts +23 -0
  28. package/lib/types/ts/universer/v1/usip.d.ts +7 -0
  29. package/lib/types/ts/universer/v1/video_task.d.ts +196 -0
  30. package/lib/types/ts/universer/v1/workspace.d.ts +1 -1
  31. package/lib/umd/index.js +1 -1
  32. package/package.json +4 -4
@@ -16,6 +16,18 @@ export declare enum EntitlementItemType {
16
16
  BizDefined = 2,
17
17
  UNRECOGNIZED = -1
18
18
  }
19
+ export declare enum EntitlementType {
20
+ InvalidEntitlement = 0,
21
+ TimeEntitlement = 1,
22
+ QuotaEntitlement = 2,
23
+ MixEntitlement = 3,
24
+ UNRECOGNIZED = -1
25
+ }
26
+ export declare enum QuotaKey {
27
+ NoneQuotaKey = 0,
28
+ CreditGeneral = 1,
29
+ UNRECOGNIZED = -1
30
+ }
19
31
  export declare enum EntitlementItemId {
20
32
  WebTableExtractRate = 0,
21
33
  ServerExtractHistory = 1,
@@ -47,10 +59,46 @@ export declare enum EntitlementItemId {
47
59
  BiaoDaMaxEnrichmentRows = 26,
48
60
  /** BiaoDaUnitDownload - unit下载,type=Ability */
49
61
  BiaoDaUnitDownload = 31,
62
+ /** BiaoDaDashboardDownload - dashboard下载,type=Ability */
63
+ BiaoDaDashboardDownload = 32,
64
+ /** BiaoDaSuperScrapeRowsRate - 超级模板允许采集行数频控,type=Rate */
65
+ BiaoDaSuperScrapeRowsRate = 33,
66
+ /** BiaoDaSuperScrapeFreeTimesRate - 超级模板不限采集行数设置次数频控,type=Rate */
67
+ BiaoDaSuperScrapeFreeTimesRate = 34,
68
+ /** BiaoDaVideoScriptExtractTimesRate - 视频脚本提取处理次数频控,type=Rate */
69
+ BiaoDaVideoScriptExtractTimesRate = 35,
50
70
  /** XlsxAIBasicPoints - xlsx.ai 基础积分 */
51
71
  XlsxAIBasicPoints = 101,
52
72
  UNRECOGNIZED = -1
53
73
  }
74
+ export declare enum QuotaSource {
75
+ InvalidQuotaSource = 0,
76
+ AwardedQuota = 1,
77
+ RedeemedQuota = 2,
78
+ RegisterQuota = 3,
79
+ QuotaPackage = 4,
80
+ PlanedQuota = 5,
81
+ ReferralQuota = 6,
82
+ UNRECOGNIZED = -1
83
+ }
84
+ export declare enum QuotaUsageReason {
85
+ NonSpeciedUsage = 0,
86
+ ScrapeUsage = 1,
87
+ ChatUsage = 2,
88
+ ReportUsage = 3,
89
+ UnitEditUsage = 4,
90
+ /** TitleUsage - more later */
91
+ TitleUsage = 5,
92
+ RecommendationUsage = 6,
93
+ PromptOptimizationUsage = 7,
94
+ /** VideoTaskScriptUsage - video task step usages */
95
+ VideoTaskScriptUsage = 8,
96
+ VideoTaskScriptAnalysisUsage = 9,
97
+ VideoTaskStoryboardUsage = 10,
98
+ VideoTaskReuseUsage = 11,
99
+ VideoTaskRecreatePromptUsage = 12,
100
+ UNRECOGNIZED = -1
101
+ }
54
102
  export declare enum ProductType {
55
103
  NonProduct = 0,
56
104
  Recurring = 1,
@@ -59,6 +107,14 @@ export declare enum ProductType {
59
107
  OneTime = 3,
60
108
  UNRECOGNIZED = -1
61
109
  }
110
+ export declare enum ProductCategory {
111
+ InvalidProductCategory = 0,
112
+ /** PlanProduct - 订阅类 */
113
+ PlanProduct = 1,
114
+ /** QuotaPackageProduct - 加量包类 */
115
+ QuotaPackageProduct = 2,
116
+ UNRECOGNIZED = -1
117
+ }
62
118
  export declare enum SessionType {
63
119
  /** SetupIntent - collect payment method */
64
120
  SetupIntent = 0,
@@ -79,6 +135,16 @@ export declare enum SubscriptionStatus {
79
135
  Cancelled = 4,
80
136
  UNRECOGNIZED = -1
81
137
  }
138
+ export declare enum IdentitySource {
139
+ InvalidIdentitySource = 0,
140
+ DefaultIdentity = 1,
141
+ AwardedIdentity = 2,
142
+ RedeemedIdentity = 3,
143
+ PlanedIdentity = 4,
144
+ RegisteredIdentity = 5,
145
+ ReferralIdentity = 6,
146
+ UNRECOGNIZED = -1
147
+ }
82
148
  export declare enum UserInfoType {
83
149
  Email = 0,
84
150
  BillingAddress = 1,
@@ -137,6 +203,7 @@ export interface Entitlement {
137
203
  name: string;
138
204
  groups: EntitlementItemGroup[];
139
205
  id: string;
206
+ type: EntitlementType;
140
207
  }
141
208
  export interface RateDetail {
142
209
  /** eg. if interval=Week and interval_cnt=3, it's mean 3 weeks */
@@ -194,6 +261,89 @@ export interface DeductQuotaByUserRequest {
194
261
  export interface DeductQuotaByUserResponse {
195
262
  error: Error | undefined;
196
263
  }
264
+ export interface ReportQuotaUsageRequest {
265
+ /** string representation of enum QuotaKey */
266
+ quotaKey: string;
267
+ quotaUsed: number;
268
+ /** used to aggregate credits cost */
269
+ messageId?: string | undefined;
270
+ /** used to aggregate credits cost */
271
+ conversationId?: string | undefined;
272
+ reason: QuotaUsageReason;
273
+ }
274
+ export interface ReportQuotaUsageResponse {
275
+ error: Error | undefined;
276
+ }
277
+ export interface ListQuotaDetailsRequest {
278
+ /**
279
+ * batchId,
280
+ * set to empty in the 1st scroller request,
281
+ * then set to nextBatchId(which was returned by the previous request) in the following scroller request.
282
+ */
283
+ batchId: string;
284
+ /** limit, specify how many records needed. */
285
+ limit: number;
286
+ quotaKey: string;
287
+ /** 是否只返回有可用quota的记录? */
288
+ availableOnly: boolean;
289
+ }
290
+ export interface ListQuotaDetailsResponse {
291
+ details: QuotaDetailRecord[];
292
+ hasMore: boolean;
293
+ nextBatchId: string;
294
+ error: Error | undefined;
295
+ }
296
+ export interface ListQuotaUsageRecordsRequest {
297
+ /**
298
+ * batchId,
299
+ * set to empty in the 1st scroller request,
300
+ * then set to nextBatchId(which was returned by the previous request) in the following scroller request.
301
+ */
302
+ batchId: string;
303
+ /** limit, specify how many records needed. */
304
+ limit: number;
305
+ quotaKey: string;
306
+ }
307
+ export interface ListQuotaUsageRecordsResponse {
308
+ records: QuotaUsageRecord[];
309
+ hasMore: boolean;
310
+ nextBatchId: string;
311
+ error: Error | undefined;
312
+ }
313
+ export interface QuotaUsageRecord {
314
+ /** precision: seconds */
315
+ usageTime: string;
316
+ usageTotal: number;
317
+ reason: QuotaUsageReason;
318
+ conversationId?: string | undefined;
319
+ messageId?: string | undefined;
320
+ }
321
+ export interface GetQuotaItemRequest {
322
+ quotaKey: string;
323
+ }
324
+ export interface GetQuotaItemResponse {
325
+ /** 只返回真实可用大于0的明细 */
326
+ item: QuotaItem | undefined;
327
+ error: Error | undefined;
328
+ }
329
+ export interface QuotaDetailRecord {
330
+ source: QuotaSource;
331
+ /** precision: seconds */
332
+ grantTime: string;
333
+ /** precision: seconds */
334
+ expireTime: string;
335
+ quotaTotal: number;
336
+ quotaLeft: number;
337
+ }
338
+ export interface QuotaItem {
339
+ quotaKey: string;
340
+ totalAvailable: number;
341
+ details: QuotaDetailRecord[];
342
+ }
343
+ export interface QuotaItemConf {
344
+ quotaKey: string;
345
+ quotaTotal: number;
346
+ }
197
347
  export interface Product {
198
348
  productId: string;
199
349
  productType: ProductType;
@@ -202,7 +352,14 @@ export interface Product {
202
352
  /** optional, recommendation text of the product */
203
353
  recommendation: string;
204
354
  tags: string[];
355
+ entitlementType: EntitlementType;
356
+ category: ProductCategory;
357
+ quotaConfs: {
358
+ [key: string]: QuotaItemConf;
359
+ };
360
+ /** subscription interval if product_type is Recurring */
205
361
  interval: Interval;
362
+ /** subscription interval count if product_type is Recurring */
206
363
  intervalCnt: number;
207
364
  /** the origin price */
208
365
  price: string;
@@ -212,9 +369,17 @@ export interface Product {
212
369
  promotionPrice: string;
213
370
  /** optional, how many interval the promotion last, set if there's any promotion and product_type is Recurring */
214
371
  promotionIntervalCnt: number;
372
+ /** work with quotaGrantIntervalCnt. subscription may be yearly, but quota is grant monthly. */
373
+ quotaGrantInterval: Interval;
374
+ /** work with quotaGrantInterval */
375
+ quotaGrantIntervalCnt: number;
215
376
  /** optional, the product table name */
216
377
  tabName: string;
217
378
  }
379
+ export interface Product_QuotaConfsEntry {
380
+ key: string;
381
+ value: QuotaItemConf | undefined;
382
+ }
218
383
  export interface PaymentSession {
219
384
  sessionType: SessionType;
220
385
  clientSecret: string;
@@ -232,6 +397,8 @@ export interface Subscription {
232
397
  subscriptTime: number;
233
398
  /** unix timestamp of UTC 0 */
234
399
  nextChargeTime: number;
400
+ entitlementType: EntitlementType;
401
+ entitlementLevel: number;
235
402
  /** is the subscription need payment */
236
403
  paymentNeeded: boolean;
237
404
  /** optional, set session data if payment_needed is true */
@@ -260,6 +427,8 @@ export interface Identity {
260
427
  isDefault: boolean;
261
428
  /** expire time in seconds, negative value means the identity will never expire */
262
429
  expireTimeSec: string;
430
+ entitlementType: EntitlementType;
431
+ identitySource: IdentitySource;
263
432
  }
264
433
  export interface GetSubscriptionSummaryRequest {
265
434
  }
@@ -269,8 +438,16 @@ export interface GetSubscriptionSummaryResponse {
269
438
  currentSubscription: Subscription | undefined;
270
439
  /** optional, may be set if currently has any subscription */
271
440
  paymentMethod: PaymentMethod | undefined;
441
+ /** key for QuotaKey string, val for available now */
442
+ availableQuotas: {
443
+ [key: string]: number;
444
+ };
272
445
  error: Error | undefined;
273
446
  }
447
+ export interface GetSubscriptionSummaryResponse_AvailableQuotasEntry {
448
+ key: string;
449
+ value: number;
450
+ }
274
451
  export interface Address {
275
452
  City: string;
276
453
  Country: string;
@@ -287,13 +464,19 @@ export interface ProductGroup {
287
464
  products: Product[];
288
465
  }
289
466
  export interface ListProductsRequest {
467
+ couponCode: string;
290
468
  }
291
469
  export interface ListProductsResponse {
470
+ /** only return the subscription products */
292
471
  groups: ProductGroup[];
293
472
  /** set if has subscription */
294
473
  currentSubscription: Subscription | undefined;
295
474
  identity: Identity | undefined;
475
+ /** deprecated */
296
476
  missingUserInfoTypes: UserInfoType[];
477
+ /** only return the quota packages */
478
+ quotaPackages: Product[];
479
+ isQuotaPackageAvailableForUser: boolean;
297
480
  error: Error | undefined;
298
481
  }
299
482
  export interface CreateSubscriptionRequest {
@@ -304,12 +487,19 @@ export interface CreateSubscriptionRequest {
304
487
  email: string;
305
488
  /** set the return url after payment complete */
306
489
  paymentReturnUrl: string;
490
+ couponCode: string;
307
491
  }
308
492
  export interface CreateSubscriptionResponse {
309
493
  session: PaymentSession | undefined;
310
494
  /** if error code is ENTITLE_NEED_BILLING_ADDRESS, collect user's billing address and try again */
311
495
  error: Error | undefined;
312
496
  }
497
+ export interface ChangeSubscriptionRequest {
498
+ toProductId: string;
499
+ }
500
+ export interface ChangeSubscriptionResponse {
501
+ error: Error | undefined;
502
+ }
313
503
  export interface CancelSubscriptionRequest {
314
504
  subscriptionId: string;
315
505
  /** optional */
@@ -326,8 +516,10 @@ export interface Invoice {
326
516
  /** format 12.45 */
327
517
  payAmount: string;
328
518
  currency: string;
519
+ userId: string;
329
520
  productId: string;
330
521
  productName: string;
522
+ subscriptionId: string;
331
523
  description: string;
332
524
  /** link of the receipt */
333
525
  receiptUrl: string;
@@ -335,6 +527,8 @@ export interface Invoice {
335
527
  invoicePdf: string;
336
528
  /** invoice number */
337
529
  invoiceNumber: string;
530
+ billingCycleNo: number;
531
+ couponCode: string;
338
532
  }
339
533
  export interface ListInvoicesRequest {
340
534
  /** no of the first page is 1 */
@@ -353,6 +547,19 @@ export interface ListInvoicesResponse {
353
547
  totalCnt: number;
354
548
  error: Error | undefined;
355
549
  }
550
+ export interface ListPaidInvoicesRequest {
551
+ batchId: string;
552
+ limit: number;
553
+ /** [begin, end) */
554
+ periodBegin: number;
555
+ periodEnd: number;
556
+ }
557
+ export interface ListPaidInvoicesResponse {
558
+ invoices: Invoice[];
559
+ hasMore: boolean;
560
+ nextBatchId: string;
561
+ error: Error | undefined;
562
+ }
356
563
  export interface GetPaymentConfigRequest {
357
564
  }
358
565
  export interface GetPaymentConfigResponse {
@@ -366,10 +573,18 @@ export interface PaymentRequest {
366
573
  qty: number;
367
574
  channel: PaymentChannel;
368
575
  orderId: string;
576
+ /** for stripe channel only, optional, set if previous PaymentRequest returns error code ENTITLE_NEED_BILLING_ADDRESS */
577
+ billingAddress: Address | undefined;
578
+ /** for stripe channel only, required, redirect URL after pay success */
579
+ succUrl: string;
369
580
  }
370
581
  export interface PaymentResponse {
371
582
  orderId: string;
583
+ /** for PaymentChannel AliPay and WechatPay */
372
584
  payQRCode: string;
585
+ /** for PaymentChannel Stripe */
586
+ payLink: string;
587
+ channel: PaymentChannel;
373
588
  error: Error | undefined;
374
589
  }
375
590
  export interface GetOrderStatusRequest {
@@ -399,15 +614,36 @@ export interface GrantEntitlementRequest {
399
614
  bizId: string;
400
615
  bizGrantId: string;
401
616
  toUserId: string;
617
+ /** if no fixed entitlement granted, set empty */
402
618
  entitlementId: string;
403
619
  interval: Interval;
404
620
  intervalCnt: number;
621
+ /** if no quota granted, set empty */
622
+ quotaConfs: {
623
+ [key: string]: QuotaItemConf;
624
+ };
625
+ /** set if entitlementId setted */
626
+ identitySource: IdentitySource;
627
+ /** set if quotaConfs setted */
628
+ quotaSource: QuotaSource;
629
+ /** quotaInterval & quotaIntervalCnt specify the duration of granted quota */
630
+ quotaInterval: Interval;
631
+ /** quotaInterval & quotaIntervalCnt specify the duration of granted quota */
632
+ quotaIntervalCnt: number;
633
+ }
634
+ export interface GrantEntitlementRequest_QuotaConfsEntry {
635
+ key: string;
636
+ value: QuotaItemConf | undefined;
405
637
  }
406
638
  export interface GrantEntitlementResponse {
407
639
  error: Error | undefined;
408
640
  }
409
641
  export interface EntitlementService {
410
642
  MGetEntitlementItemsByUser(request: MGetEntitlementItemsByUserRequest, metadata?: Metadata): Observable<MGetEntitlementItemsByUserResponse>;
643
+ GetQuotaItem(request: GetQuotaItemRequest, metadata?: Metadata): Observable<GetQuotaItemResponse>;
644
+ ReportQuotaUsage(request: ReportQuotaUsageRequest, metadata?: Metadata): Observable<ReportQuotaUsageResponse>;
645
+ ListQuotaDetails(request: ListQuotaDetailsRequest, metadata?: Metadata): Observable<ListQuotaDetailsResponse>;
646
+ ListQuotaUsageRecords(request: ListQuotaUsageRecordsRequest, metadata?: Metadata): Observable<ListQuotaUsageRecordsResponse>;
411
647
  /** for back-end only, can deduct and add. */
412
648
  TakeNItemRateByUser(request: TakeNItemRateByUserRequest, metadata?: Metadata): Observable<TakeNItemRateByUserResponse>;
413
649
  /** for front-end only case, just deduct, can not return quota. */
@@ -416,8 +652,10 @@ export interface EntitlementService {
416
652
  ListProducts(request: ListProductsRequest, metadata?: Metadata): Observable<ListProductsResponse>;
417
653
  GetSubscriptionSummary(request: GetSubscriptionSummaryRequest, metadata?: Metadata): Observable<GetSubscriptionSummaryResponse>;
418
654
  CreateSubscription(request: CreateSubscriptionRequest, metadata?: Metadata): Observable<CreateSubscriptionResponse>;
655
+ ChangeSubscription(request: ChangeSubscriptionRequest, metadata?: Metadata): Observable<ChangeSubscriptionResponse>;
419
656
  CancelSubscription(request: CancelSubscriptionRequest, metadata?: Metadata): Observable<CancelSubscriptionResponse>;
420
657
  ListInvoices(request: ListInvoicesRequest, metadata?: Metadata): Observable<ListInvoicesResponse>;
658
+ ListPaidInvoices(request: ListPaidInvoicesRequest, metadata?: Metadata): Observable<ListPaidInvoicesResponse>;
421
659
  Pay(request: PaymentRequest, metadata?: Metadata): Observable<PaymentResponse>;
422
660
  GetOrderStatus(request: GetOrderStatusRequest, metadata?: Metadata): Observable<GetOrderStatusResponse>;
423
661
  ListActiveEntitlements(request: ListActiveEntitlementsRequest, metadata?: Metadata): Observable<ListActiveEntitlementsResponse>;
@@ -28,6 +28,10 @@ export interface ImportRequest {
28
28
  scene: ImportScene;
29
29
  minSheetColumnCount: number;
30
30
  minSheetRowCount: number;
31
+ /** used for integration with customer system */
32
+ idempotencyKey?: string | undefined;
33
+ /** used for integration with customer system, just store and pass through. This metadata will store with the imported unit. */
34
+ metaData?: string | undefined;
31
35
  }
32
36
  export interface ImportResponse {
33
37
  error: Error | undefined;
@@ -16,6 +16,8 @@ export declare enum FileSource {
16
16
  UserProfileImg = 5,
17
17
  /** ClipsheetFragments - assign UserID, fragmented file will be deleted after 30 days */
18
18
  ClipsheetFragments = 6,
19
+ /** LLMInputData - assign UserID */
20
+ LLMInputData = 7,
19
21
  UNRECOGNIZED = -1
20
22
  }
21
23
  export declare enum DownloadUrlMode {
@@ -78,11 +80,29 @@ export interface PutFileByIdResponse {
78
80
  error: Error | undefined;
79
81
  fileId: string;
80
82
  }
83
+ export interface SignPutUrlRequest {
84
+ fileSize: number;
85
+ name?: string | undefined;
86
+ source: FileSource;
87
+ }
88
+ export interface SignPutUrlResponse {
89
+ error: Error | undefined;
90
+ fileId: string;
91
+ putUrl: string;
92
+ }
93
+ export interface DeleteFileByIdRequest {
94
+ fileId: string;
95
+ }
96
+ export interface DeleteFileByIdResponse {
97
+ error: Error | undefined;
98
+ }
81
99
  export interface FileService {
82
100
  SignUrl(request: SignUrlRequest, metadata?: Metadata): Observable<SignUrlResponse>;
101
+ SignPutUrl(request: SignPutUrlRequest, metadata?: Metadata): Observable<SignPutUrlResponse>;
83
102
  Upload(request: Observable<FileUploadRequest>, metadata?: Metadata): Observable<UploadResponse>;
84
103
  SetUniverGoJson(request: SetUniverGoJsonRequest, metadata?: Metadata): Observable<SetUniverGoJsonResponse>;
85
104
  GetUniverGoJson(request: GetUniverGoJsonRequest, metadata?: Metadata): Observable<GetUniverGoJsonResponse>;
86
105
  PutTemplateResouce(request: PutTemplateResouceRequest, metadata?: Metadata): Observable<PutTemplateResouceResponse>;
87
106
  PutFileById(request: Observable<PutFileByIdRequest>, metadata?: Metadata): Observable<PutFileByIdResponse>;
107
+ DeleteFileById(request: DeleteFileByIdRequest, metadata?: Metadata): Observable<DeleteFileByIdResponse>;
88
108
  }
@@ -0,0 +1,36 @@
1
+ import { Metadata } from '@grpc/grpc-js';
2
+ import { Observable } from 'rxjs';
3
+ import { Error } from '../../univer/constants/errors';
4
+ export declare const protobufPackage = "universer.v1";
5
+ export interface WriteFrontendLogRequest {
6
+ userId?: string | undefined;
7
+ logLabel: string;
8
+ content: string;
9
+ }
10
+ export interface WriteFrontendLogResponse {
11
+ error: Error | undefined;
12
+ }
13
+ export interface ListFrontendLogsRequest {
14
+ logLabel?: string | undefined;
15
+ startTime: number;
16
+ endTime: number;
17
+ next: string;
18
+ pageSize: number;
19
+ ascending: boolean;
20
+ }
21
+ export interface ListFrontendLogsResponse {
22
+ error: Error | undefined;
23
+ logs: ListFrontendLogsResponse_FrontendLog[];
24
+ hasMore: boolean;
25
+ }
26
+ export interface ListFrontendLogsResponse_FrontendLog {
27
+ logId: string;
28
+ userId: string;
29
+ logLabel: string;
30
+ timestamp: number;
31
+ content: string;
32
+ }
33
+ export interface FrontendLogsService {
34
+ WriteLog(request: WriteFrontendLogRequest, metadata?: Metadata): Observable<WriteFrontendLogResponse>;
35
+ List(request: ListFrontendLogsRequest, metadata?: Metadata): Observable<ListFrontendLogsResponse>;
36
+ }
@@ -1,19 +1,28 @@
1
1
  import { Metadata } from '@grpc/grpc-js';
2
2
  import { Observable } from 'rxjs';
3
+ import { Changeset } from '../../univer/changeset';
3
4
  import { Error } from '../../univer/constants/errors';
4
5
  import { UniverType } from '../../univer/constants/univer';
5
6
  import { User } from '../../univer/permission';
6
7
  export declare const protobufPackage = "universer.v1";
8
+ export declare enum HistoryOrigin {
9
+ HISTORY_ORIGIN_UNSPECIFIED = 0,
10
+ HISTORY_ORIGIN_USER = 1,
11
+ HISTORY_ORIGIN_CHARACTER = 2,
12
+ UNRECOGNIZED = -1
13
+ }
7
14
  export interface CreateHistoryRequest {
8
15
  unitId: string;
9
16
  subUnitId: string;
10
17
  type: UniverType;
11
18
  revision: number;
19
+ additionalFields?: string | undefined;
12
20
  }
13
21
  export interface CreateHistoryResponse {
14
22
  error: Error | undefined;
15
23
  }
16
24
  export interface History {
25
+ /** @deprecated */
17
26
  userId: string;
18
27
  unitId: string;
19
28
  command: string[];
@@ -21,11 +30,21 @@ export interface History {
21
30
  recoverTime: string;
22
31
  startRevision: number;
23
32
  endRevision: number;
33
+ /** additionalFields is a reserved field for future use */
34
+ additionalFields?: string | undefined;
35
+ origin?: HistoryOrigin | undefined;
36
+ startRevCreateTime: number;
37
+ endRevCreateTime: number;
38
+ userIds: string[];
24
39
  }
25
40
  export interface HistoryListRequest {
26
41
  length: number;
27
42
  lastLabel: string;
28
43
  unitId: string;
44
+ origin?: HistoryOrigin | undefined;
45
+ /** @deprecated */
46
+ userId?: string | undefined;
47
+ userIds: string[];
29
48
  }
30
49
  export interface HistoryEntities {
31
50
  datas: {
@@ -50,7 +69,38 @@ export interface HistoryListResponse {
50
69
  entities: HistoryEntities | undefined;
51
70
  historyIds: string[];
52
71
  }
72
+ export interface ListHistoryCreatorsRequest {
73
+ unitId: string;
74
+ }
75
+ export interface ListHistoryCreatorsResponse {
76
+ error: Error | undefined;
77
+ creators: ListHistoryCreatorsResponse_Creator[];
78
+ }
79
+ export interface ListHistoryCreatorsResponse_Creator {
80
+ userId: string;
81
+ name: string;
82
+ avatar: string;
83
+ origins: HistoryOrigin[];
84
+ }
85
+ export interface GetHistoryCsRequest {
86
+ unitId: string;
87
+ startRevision: number;
88
+ endRevision: number;
89
+ }
90
+ export interface GetHistoryCsResponse {
91
+ error: Error | undefined;
92
+ changesets: Changeset[];
93
+ users: {
94
+ [key: string]: User;
95
+ };
96
+ }
97
+ export interface GetHistoryCsResponse_UsersEntry {
98
+ key: string;
99
+ value: User | undefined;
100
+ }
53
101
  export interface HistoryService {
54
102
  GetHistoryList(request: HistoryListRequest, metadata?: Metadata): Observable<HistoryListResponse>;
55
103
  CreateHistory(request: CreateHistoryRequest, metadata?: Metadata): Observable<CreateHistoryResponse>;
104
+ ListHistoryCreators(request: ListHistoryCreatorsRequest, metadata?: Metadata): Observable<ListHistoryCreatorsResponse>;
105
+ GetHistoryCs(request: GetHistoryCsRequest, metadata?: Metadata): Observable<GetHistoryCsResponse>;
56
106
  }
@@ -99,6 +99,55 @@ export interface OIDCLoginStatus {
99
99
  feature: string;
100
100
  /** eg. youtube_abc */
101
101
  origin: string;
102
+ referralCode: string;
103
+ }
104
+ /** 小程序登录请求 */
105
+ export interface MiniProgramLoginRequest {
106
+ /** 小程序 wx.login() 获取的 code */
107
+ code: string;
108
+ /** 登录状态信息(JSON格式的 OIDCLoginStatus) */
109
+ state: string;
110
+ }
111
+ /** 小程序登录响应 */
112
+ export interface MiniProgramLoginResponse {
113
+ /** 临时 token,用于后续设置 cookie */
114
+ cookieToken: string;
115
+ /** 是否为新注册用户 */
116
+ isRegister: boolean;
117
+ needBindPhone: boolean;
118
+ error: Error | undefined;
119
+ }
120
+ /** 小程序绑定手机号请求 */
121
+ export interface MiniProgramBindPhoneRequest {
122
+ cookieToken: string;
123
+ phoneCode: string;
124
+ }
125
+ /** 小程序绑定手机号响应 */
126
+ export interface MiniProgramBindPhoneResponse {
127
+ success: boolean;
128
+ error: Error | undefined;
129
+ }
130
+ /** 小程序回调请求(WebView 中调用) */
131
+ export interface MiniProgramCallbackRequest {
132
+ /** 从 MiniProgramLoginResponse 获取的 token */
133
+ cookieToken: string;
134
+ /** 登录成功后跳转的 URL */
135
+ redirectUri: string;
136
+ }
137
+ /** 小程序回调响应 */
138
+ export interface MiniProgramCallbackResponse {
139
+ /** 是否成功设置 cookie */
140
+ success: boolean;
141
+ error: Error | undefined;
142
+ }
143
+ export interface WechatJSSDKSignatureRequest {
144
+ url: string;
145
+ }
146
+ export interface WechatJSSDKSignatureResponse {
147
+ error: Error | undefined;
148
+ timestamp: number;
149
+ nonceStr: string;
150
+ signature: string;
102
151
  }
103
152
  export interface OIDCService {
104
153
  AuthRedirect(request: AuthRedirectRequest, metadata?: Metadata): Observable<AuthRedirectResponse>;
@@ -111,4 +160,8 @@ export interface OIDCService {
111
160
  WechatCallback(request: WechatCallbackRequest, metadata?: Metadata): Observable<WechatCallbackResponse>;
112
161
  Authorize(request: AuthorizeRequest, metadata?: Metadata): Observable<AuthorizeResponse>;
113
162
  ExchangeToken(request: ExchangeTokenRequest, metadata?: Metadata): Observable<ExchangeTokenResponse>;
163
+ MiniProgramLogin(request: MiniProgramLoginRequest, metadata?: Metadata): Observable<MiniProgramLoginResponse>;
164
+ MiniProgramBindPhone(request: MiniProgramBindPhoneRequest, metadata?: Metadata): Observable<MiniProgramBindPhoneResponse>;
165
+ MiniProgramCallback(request: MiniProgramCallbackRequest, metadata?: Metadata): Observable<MiniProgramCallbackResponse>;
166
+ WechatJSSDKSignature(request: WechatJSSDKSignatureRequest, metadata?: Metadata): Observable<WechatJSSDKSignatureResponse>;
114
167
  }
@@ -0,0 +1,55 @@
1
+ import { Metadata } from '@grpc/grpc-js';
2
+ import { Observable } from 'rxjs';
3
+ import { Reward } from '../../bizdomain/common';
4
+ import { Error } from '../../univer/constants/errors';
5
+ import { User } from './user';
6
+ export declare const protobufPackage = "universer.v1";
7
+ export interface GetReferralActivitySummaryRequest {
8
+ activityId: string;
9
+ }
10
+ export interface GetReferralActivitySummaryResponse {
11
+ /** the activity info */
12
+ activity: ReferralActivity | undefined;
13
+ /** this user's referral code in the activity */
14
+ referralCode: string;
15
+ /** successed(referee registered) referral records in the activity */
16
+ records: ReferralRecord[];
17
+ /** indicates that if there's more referral records */
18
+ hasMore: boolean;
19
+ /** use this field to fetch the next batch of referral records if hasMore=true */
20
+ nextBatchId: string;
21
+ error: Error | undefined;
22
+ }
23
+ export interface ReferralActivity {
24
+ beginTime: string;
25
+ endTime: string;
26
+ referrerRewards: Reward[];
27
+ refereeRewards: Reward[];
28
+ }
29
+ export interface ReferralRecord {
30
+ referralTime: string;
31
+ /** referee profile WITHOUT PRIVATE DATA. */
32
+ referee: User | undefined;
33
+ }
34
+ export interface ListReferralRecordsRequest {
35
+ /**
36
+ * batchId,
37
+ * set to empty in the 1st scroller request,
38
+ * then set to nextBatchId(which was returned by the previous request) in the following scroller request.
39
+ */
40
+ batchId: string;
41
+ /** limit, specify how many records needed. */
42
+ limit: number;
43
+ activityId: string;
44
+ }
45
+ export interface ListReferralRecordsResponse {
46
+ /** records order by referral time desc. */
47
+ records: ReferralRecord[];
48
+ hasMore: boolean;
49
+ nextBatchId: string;
50
+ error: Error | undefined;
51
+ }
52
+ export interface ReferralService {
53
+ GetReferralActivitySummary(request: GetReferralActivitySummaryRequest, metadata?: Metadata): Observable<GetReferralActivitySummaryResponse>;
54
+ ListReferralRecords(request: ListReferralRecordsRequest, metadata?: Metadata): Observable<ListReferralRecordsResponse>;
55
+ }