@univerjs/protocol 0.1.47 → 0.1.48

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.
@@ -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,22 @@ 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,
50
64
  /** XlsxAIBasicPoints - xlsx.ai 基础积分 */
51
65
  XlsxAIBasicPoints = 101,
52
66
  UNRECOGNIZED = -1
53
67
  }
68
+ export declare enum QuotaSource {
69
+ InvalidQuotaSource = 0,
70
+ AwardedQuota = 1,
71
+ RedeemedQuota = 2,
72
+ RegisterQuota = 3,
73
+ QuotaPackage = 4,
74
+ PlanedQuota = 5,
75
+ ReferralQuota = 6,
76
+ UNRECOGNIZED = -1
77
+ }
54
78
  export declare enum ProductType {
55
79
  NonProduct = 0,
56
80
  Recurring = 1,
@@ -59,6 +83,14 @@ export declare enum ProductType {
59
83
  OneTime = 3,
60
84
  UNRECOGNIZED = -1
61
85
  }
86
+ export declare enum ProductCategory {
87
+ InvalidProductCategory = 0,
88
+ /** PlanProduct - 订阅类 */
89
+ PlanProduct = 1,
90
+ /** QuotaPackageProduct - 加量包类 */
91
+ QuotaPackageProduct = 2,
92
+ UNRECOGNIZED = -1
93
+ }
62
94
  export declare enum SessionType {
63
95
  /** SetupIntent - collect payment method */
64
96
  SetupIntent = 0,
@@ -79,6 +111,16 @@ export declare enum SubscriptionStatus {
79
111
  Cancelled = 4,
80
112
  UNRECOGNIZED = -1
81
113
  }
114
+ export declare enum IdentitySource {
115
+ InvalidIdentitySource = 0,
116
+ DefaultIdentity = 1,
117
+ AwardedIdentity = 2,
118
+ RedeemedIdentity = 3,
119
+ PlanedIdentity = 4,
120
+ RegisteredIdentity = 5,
121
+ ReferralIdentity = 6,
122
+ UNRECOGNIZED = -1
123
+ }
82
124
  export declare enum UserInfoType {
83
125
  Email = 0,
84
126
  BillingAddress = 1,
@@ -137,6 +179,7 @@ export interface Entitlement {
137
179
  name: string;
138
180
  groups: EntitlementItemGroup[];
139
181
  id: string;
182
+ type: EntitlementType;
140
183
  }
141
184
  export interface RateDetail {
142
185
  /** eg. if interval=Week and interval_cnt=3, it's mean 3 weeks */
@@ -194,6 +237,42 @@ export interface DeductQuotaByUserRequest {
194
237
  export interface DeductQuotaByUserResponse {
195
238
  error: Error | undefined;
196
239
  }
240
+ export interface ReportQuotaUsageRequest {
241
+ /** string representation of enum QuotaKey */
242
+ quotaKey: string;
243
+ quotaUsed: number;
244
+ /** used to aggregate credits cost */
245
+ messageId?: string | undefined;
246
+ /** used to aggregate credits cost */
247
+ conversationId?: string | undefined;
248
+ }
249
+ export interface ReportQuotaUsageResponse {
250
+ error: Error | undefined;
251
+ }
252
+ export interface GetQuotaItemRequest {
253
+ quotaKey: string;
254
+ }
255
+ export interface GetQuotaItemResponse {
256
+ /** 只返回真实可用大于0的明细 */
257
+ item: QuotaItem | undefined;
258
+ error: Error | undefined;
259
+ }
260
+ export interface QuotaDetailRecord {
261
+ source: QuotaSource;
262
+ grantTime: string;
263
+ expireTime: string;
264
+ quotaTotal: number;
265
+ quotaLeft: number;
266
+ }
267
+ export interface QuotaItem {
268
+ quotaKey: string;
269
+ totalAvailable: number;
270
+ details: QuotaDetailRecord[];
271
+ }
272
+ export interface QuotaItemConf {
273
+ quotaKey: string;
274
+ quotaTotal: number;
275
+ }
197
276
  export interface Product {
198
277
  productId: string;
199
278
  productType: ProductType;
@@ -202,6 +281,11 @@ export interface Product {
202
281
  /** optional, recommendation text of the product */
203
282
  recommendation: string;
204
283
  tags: string[];
284
+ entitlementType: EntitlementType;
285
+ category: ProductCategory;
286
+ quotaConfs: {
287
+ [key: string]: QuotaItemConf;
288
+ };
205
289
  interval: Interval;
206
290
  intervalCnt: number;
207
291
  /** the origin price */
@@ -215,6 +299,10 @@ export interface Product {
215
299
  /** optional, the product table name */
216
300
  tabName: string;
217
301
  }
302
+ export interface Product_QuotaConfsEntry {
303
+ key: string;
304
+ value: QuotaItemConf | undefined;
305
+ }
218
306
  export interface PaymentSession {
219
307
  sessionType: SessionType;
220
308
  clientSecret: string;
@@ -232,6 +320,8 @@ export interface Subscription {
232
320
  subscriptTime: number;
233
321
  /** unix timestamp of UTC 0 */
234
322
  nextChargeTime: number;
323
+ entitlementType: EntitlementType;
324
+ entitlementLevel: number;
235
325
  /** is the subscription need payment */
236
326
  paymentNeeded: boolean;
237
327
  /** optional, set session data if payment_needed is true */
@@ -260,6 +350,8 @@ export interface Identity {
260
350
  isDefault: boolean;
261
351
  /** expire time in seconds, negative value means the identity will never expire */
262
352
  expireTimeSec: string;
353
+ entitlementType: EntitlementType;
354
+ identitySource: IdentitySource;
263
355
  }
264
356
  export interface GetSubscriptionSummaryRequest {
265
357
  }
@@ -269,8 +361,16 @@ export interface GetSubscriptionSummaryResponse {
269
361
  currentSubscription: Subscription | undefined;
270
362
  /** optional, may be set if currently has any subscription */
271
363
  paymentMethod: PaymentMethod | undefined;
364
+ /** key for QuotaKey string, val for available now */
365
+ availableQuotas: {
366
+ [key: string]: number;
367
+ };
272
368
  error: Error | undefined;
273
369
  }
370
+ export interface GetSubscriptionSummaryResponse_AvailableQuotasEntry {
371
+ key: string;
372
+ value: number;
373
+ }
274
374
  export interface Address {
275
375
  City: string;
276
376
  Country: string;
@@ -287,13 +387,19 @@ export interface ProductGroup {
287
387
  products: Product[];
288
388
  }
289
389
  export interface ListProductsRequest {
390
+ couponCode: string;
290
391
  }
291
392
  export interface ListProductsResponse {
393
+ /** only return the subscription products */
292
394
  groups: ProductGroup[];
293
395
  /** set if has subscription */
294
396
  currentSubscription: Subscription | undefined;
295
397
  identity: Identity | undefined;
398
+ /** deprecated */
296
399
  missingUserInfoTypes: UserInfoType[];
400
+ /** only return the quota packages */
401
+ quotaPackages: Product[];
402
+ isQuotaPackageAvailableForUser: boolean;
297
403
  error: Error | undefined;
298
404
  }
299
405
  export interface CreateSubscriptionRequest {
@@ -304,12 +410,19 @@ export interface CreateSubscriptionRequest {
304
410
  email: string;
305
411
  /** set the return url after payment complete */
306
412
  paymentReturnUrl: string;
413
+ couponCode: string;
307
414
  }
308
415
  export interface CreateSubscriptionResponse {
309
416
  session: PaymentSession | undefined;
310
417
  /** if error code is ENTITLE_NEED_BILLING_ADDRESS, collect user's billing address and try again */
311
418
  error: Error | undefined;
312
419
  }
420
+ export interface ChangeSubscriptionRequest {
421
+ toProductId: string;
422
+ }
423
+ export interface ChangeSubscriptionResponse {
424
+ error: Error | undefined;
425
+ }
313
426
  export interface CancelSubscriptionRequest {
314
427
  subscriptionId: string;
315
428
  /** optional */
@@ -326,8 +439,10 @@ export interface Invoice {
326
439
  /** format 12.45 */
327
440
  payAmount: string;
328
441
  currency: string;
442
+ userId: string;
329
443
  productId: string;
330
444
  productName: string;
445
+ subscriptionId: string;
331
446
  description: string;
332
447
  /** link of the receipt */
333
448
  receiptUrl: string;
@@ -335,6 +450,8 @@ export interface Invoice {
335
450
  invoicePdf: string;
336
451
  /** invoice number */
337
452
  invoiceNumber: string;
453
+ billingCycleNo: number;
454
+ couponCode: string;
338
455
  }
339
456
  export interface ListInvoicesRequest {
340
457
  /** no of the first page is 1 */
@@ -353,6 +470,19 @@ export interface ListInvoicesResponse {
353
470
  totalCnt: number;
354
471
  error: Error | undefined;
355
472
  }
473
+ export interface ListPaidInvoicesRequest {
474
+ batchId: string;
475
+ limit: number;
476
+ /** [begin, end) */
477
+ periodBegin: number;
478
+ periodEnd: number;
479
+ }
480
+ export interface ListPaidInvoicesResponse {
481
+ invoices: Invoice[];
482
+ hasMore: boolean;
483
+ nextBatchId: string;
484
+ error: Error | undefined;
485
+ }
356
486
  export interface GetPaymentConfigRequest {
357
487
  }
358
488
  export interface GetPaymentConfigResponse {
@@ -366,10 +496,18 @@ export interface PaymentRequest {
366
496
  qty: number;
367
497
  channel: PaymentChannel;
368
498
  orderId: string;
499
+ /** for stripe channel only, optional, set if previous PaymentRequest returns error code ENTITLE_NEED_BILLING_ADDRESS */
500
+ billingAddress: Address | undefined;
501
+ /** for stripe channel only, required, redirect URL after pay success */
502
+ succUrl: string;
369
503
  }
370
504
  export interface PaymentResponse {
371
505
  orderId: string;
506
+ /** for PaymentChannel AliPay and WechatPay */
372
507
  payQRCode: string;
508
+ /** for PaymentChannel Stripe */
509
+ payLink: string;
510
+ channel: PaymentChannel;
373
511
  error: Error | undefined;
374
512
  }
375
513
  export interface GetOrderStatusRequest {
@@ -399,15 +537,34 @@ export interface GrantEntitlementRequest {
399
537
  bizId: string;
400
538
  bizGrantId: string;
401
539
  toUserId: string;
540
+ /** if no fixed entitlement granted, set empty */
402
541
  entitlementId: string;
403
542
  interval: Interval;
404
543
  intervalCnt: number;
544
+ /** if no quota granted, set empty */
545
+ quotaConfs: {
546
+ [key: string]: QuotaItemConf;
547
+ };
548
+ /** set if entitlementId setted */
549
+ identitySource: IdentitySource;
550
+ /** set if quotaConfs setted */
551
+ quotaSource: QuotaSource;
552
+ /** quotaInterval & quotaIntervalCnt specify the duration of granted quota */
553
+ quotaInterval: Interval;
554
+ /** quotaInterval & quotaIntervalCnt specify the duration of granted quota */
555
+ quotaIntervalCnt: number;
556
+ }
557
+ export interface GrantEntitlementRequest_QuotaConfsEntry {
558
+ key: string;
559
+ value: QuotaItemConf | undefined;
405
560
  }
406
561
  export interface GrantEntitlementResponse {
407
562
  error: Error | undefined;
408
563
  }
409
564
  export interface EntitlementService {
410
565
  MGetEntitlementItemsByUser(request: MGetEntitlementItemsByUserRequest, metadata?: Metadata): Observable<MGetEntitlementItemsByUserResponse>;
566
+ GetQuotaItem(request: GetQuotaItemRequest, metadata?: Metadata): Observable<GetQuotaItemResponse>;
567
+ ReportQuotaUsage(request: ReportQuotaUsageRequest, metadata?: Metadata): Observable<ReportQuotaUsageResponse>;
411
568
  /** for back-end only, can deduct and add. */
412
569
  TakeNItemRateByUser(request: TakeNItemRateByUserRequest, metadata?: Metadata): Observable<TakeNItemRateByUserResponse>;
413
570
  /** for front-end only case, just deduct, can not return quota. */
@@ -416,8 +573,10 @@ export interface EntitlementService {
416
573
  ListProducts(request: ListProductsRequest, metadata?: Metadata): Observable<ListProductsResponse>;
417
574
  GetSubscriptionSummary(request: GetSubscriptionSummaryRequest, metadata?: Metadata): Observable<GetSubscriptionSummaryResponse>;
418
575
  CreateSubscription(request: CreateSubscriptionRequest, metadata?: Metadata): Observable<CreateSubscriptionResponse>;
576
+ ChangeSubscription(request: ChangeSubscriptionRequest, metadata?: Metadata): Observable<ChangeSubscriptionResponse>;
419
577
  CancelSubscription(request: CancelSubscriptionRequest, metadata?: Metadata): Observable<CancelSubscriptionResponse>;
420
578
  ListInvoices(request: ListInvoicesRequest, metadata?: Metadata): Observable<ListInvoicesResponse>;
579
+ ListPaidInvoices(request: ListPaidInvoicesRequest, metadata?: Metadata): Observable<ListPaidInvoicesResponse>;
421
580
  Pay(request: PaymentRequest, metadata?: Metadata): Observable<PaymentResponse>;
422
581
  GetOrderStatus(request: GetOrderStatusRequest, metadata?: Metadata): Observable<GetOrderStatusResponse>;
423
582
  ListActiveEntitlements(request: ListActiveEntitlementsRequest, metadata?: Metadata): Observable<ListActiveEntitlementsResponse>;
@@ -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
+ }
@@ -4,11 +4,18 @@ import { Error } from '../../univer/constants/errors';
4
4
  import { UniverType } from '../../univer/constants/univer';
5
5
  import { User } from '../../univer/permission';
6
6
  export declare const protobufPackage = "universer.v1";
7
+ export declare enum HistoryOrigin {
8
+ HISTORY_ORIGIN_UNSPECIFIED = 0,
9
+ HISTORY_ORIGIN_USER = 1,
10
+ HISTORY_ORIGIN_CHARACTER = 2,
11
+ UNRECOGNIZED = -1
12
+ }
7
13
  export interface CreateHistoryRequest {
8
14
  unitId: string;
9
15
  subUnitId: string;
10
16
  type: UniverType;
11
17
  revision: number;
18
+ additionalFields?: string | undefined;
12
19
  }
13
20
  export interface CreateHistoryResponse {
14
21
  error: Error | undefined;
@@ -21,11 +28,18 @@ export interface History {
21
28
  recoverTime: string;
22
29
  startRevision: number;
23
30
  endRevision: number;
31
+ /** additionalFields is a reserved field for future use */
32
+ additionalFields?: string | undefined;
33
+ origin?: HistoryOrigin | undefined;
24
34
  }
25
35
  export interface HistoryListRequest {
26
36
  length: number;
27
37
  lastLabel: string;
28
38
  unitId: string;
39
+ origin?: HistoryOrigin | undefined;
40
+ /** @deprecated */
41
+ userId?: string | undefined;
42
+ userIds: string[];
29
43
  }
30
44
  export interface HistoryEntities {
31
45
  datas: {
@@ -50,7 +64,21 @@ export interface HistoryListResponse {
50
64
  entities: HistoryEntities | undefined;
51
65
  historyIds: string[];
52
66
  }
67
+ export interface ListHistoryCreatorsRequest {
68
+ unitId: string;
69
+ }
70
+ export interface ListHistoryCreatorsResponse {
71
+ error: Error | undefined;
72
+ creators: ListHistoryCreatorsResponse_Creator[];
73
+ }
74
+ export interface ListHistoryCreatorsResponse_Creator {
75
+ userId: string;
76
+ name: string;
77
+ avatar: string;
78
+ origins: HistoryOrigin[];
79
+ }
53
80
  export interface HistoryService {
54
81
  GetHistoryList(request: HistoryListRequest, metadata?: Metadata): Observable<HistoryListResponse>;
55
82
  CreateHistory(request: CreateHistoryRequest, metadata?: Metadata): Observable<CreateHistoryResponse>;
83
+ ListHistoryCreators(request: ListHistoryCreatorsRequest, metadata?: Metadata): Observable<ListHistoryCreatorsResponse>;
56
84
  }
@@ -99,6 +99,7 @@ export interface OIDCLoginStatus {
99
99
  feature: string;
100
100
  /** eg. youtube_abc */
101
101
  origin: string;
102
+ referralCode: string;
102
103
  }
103
104
  export interface OIDCService {
104
105
  AuthRedirect(request: AuthRedirectRequest, metadata?: Metadata): Observable<AuthRedirectResponse>;
@@ -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
+ }
@@ -0,0 +1,144 @@
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 declare enum ClipsheetTaskExtraStatusEnum {
6
+ CLIPSHEET_TASK_STATUS_INITIAL = 0,
7
+ CLIPSHEET_TASK_STATUS_PENDING = 1,
8
+ CLIPSHEET_TASK_STATUS_STOPPED = 2,
9
+ CLIPSHEET_TASK_STATUS_SUCCESS = 3,
10
+ CLIPSHEET_TASK_STATUS_FAILED = 4,
11
+ CLIPSHEET_TASK_STATUS_SAVING = 5,
12
+ UNRECOGNIZED = -1
13
+ }
14
+ export declare enum ScraperTaskStatus {
15
+ SCRAPER_TASK_STATUS_RUNNING = 0,
16
+ SCRAPER_TASK_STATUS_SUCCESS = 1,
17
+ SCRAPER_TASK_STATUS_FAILED = 2,
18
+ UNRECOGNIZED = -1
19
+ }
20
+ export interface Scraper {
21
+ sourceUrl: string;
22
+ /** Struct for scraper config (Record<string, any>) */
23
+ scraper: {
24
+ [key: string]: any;
25
+ } | undefined;
26
+ status: ClipsheetTaskExtraStatusEnum;
27
+ name: string;
28
+ }
29
+ export interface SavedScraper {
30
+ id: string;
31
+ name: string;
32
+ scraper: Scraper | undefined;
33
+ createTime: number;
34
+ updateTime: number;
35
+ url: string;
36
+ lastRun?: number | undefined;
37
+ }
38
+ export interface ScraperTask {
39
+ id: string;
40
+ scraperId: string;
41
+ clipsheetTaskId: string;
42
+ name: string;
43
+ targetUrl: string;
44
+ status: ScraperTaskStatus;
45
+ createTime: number;
46
+ updateTime: number;
47
+ /** Result data */
48
+ unitId?: string | undefined;
49
+ unitName?: string | undefined;
50
+ dataSourceId?: string | undefined;
51
+ rowCount?: number | undefined;
52
+ }
53
+ /** Scraper Service Messages */
54
+ export interface ListScrapersRequest {
55
+ /** cursor, empty for first request */
56
+ batchId: string;
57
+ /** max records to return */
58
+ limit: number;
59
+ }
60
+ export interface ListScrapersResponse {
61
+ scrapers: SavedScraper[];
62
+ hasMore: boolean;
63
+ nextBatchId: string;
64
+ error: Error | undefined;
65
+ }
66
+ export interface CreateScraperRequest {
67
+ scraper: SavedScraper | undefined;
68
+ }
69
+ export interface CreateScraperResponse {
70
+ error: Error | undefined;
71
+ }
72
+ export interface UpdateScraperRequest {
73
+ id: string;
74
+ updates: SavedScraper | undefined;
75
+ }
76
+ export interface UpdateScraperResponse {
77
+ error: Error | undefined;
78
+ }
79
+ export interface DeleteScraperRequest {
80
+ id: string;
81
+ }
82
+ export interface DeleteScraperResponse {
83
+ error: Error | undefined;
84
+ }
85
+ export interface GetScraperDetailRequest {
86
+ id: string;
87
+ }
88
+ export interface GetScraperDetailResponse {
89
+ scraper: SavedScraper | undefined;
90
+ error: Error | undefined;
91
+ }
92
+ /** Scraper Task Service Messages */
93
+ export interface ListScraperTasksRequest {
94
+ batchId: string;
95
+ limit: number;
96
+ status?: number | undefined;
97
+ scraperId?: string | undefined;
98
+ }
99
+ export interface ListScraperTasksResponse {
100
+ tasks: ScraperTask[];
101
+ hasMore: boolean;
102
+ nextBatchId: string;
103
+ error: Error | undefined;
104
+ }
105
+ export interface CreateScraperTaskRequest {
106
+ task: ScraperTask | undefined;
107
+ }
108
+ export interface CreateScraperTaskResponse {
109
+ error: Error | undefined;
110
+ }
111
+ export interface UpdateScraperTaskRequest {
112
+ id: string;
113
+ updates: ScraperTask | undefined;
114
+ }
115
+ export interface UpdateScraperTaskResponse {
116
+ error: Error | undefined;
117
+ }
118
+ export interface DeleteScraperTaskRequest {
119
+ id: string;
120
+ }
121
+ export interface DeleteScraperTaskResponse {
122
+ error: Error | undefined;
123
+ }
124
+ export interface GetScraperTaskDetailRequest {
125
+ id: string;
126
+ }
127
+ export interface GetScraperTaskDetailResponse {
128
+ task: ScraperTask | undefined;
129
+ error: Error | undefined;
130
+ }
131
+ export interface ScraperService {
132
+ ListScrapers(request: ListScrapersRequest, metadata?: Metadata): Observable<ListScrapersResponse>;
133
+ CreateScraper(request: CreateScraperRequest, metadata?: Metadata): Observable<CreateScraperResponse>;
134
+ UpdateScraper(request: UpdateScraperRequest, metadata?: Metadata): Observable<UpdateScraperResponse>;
135
+ DeleteScraper(request: DeleteScraperRequest, metadata?: Metadata): Observable<DeleteScraperResponse>;
136
+ GetScraperDetail(request: GetScraperDetailRequest, metadata?: Metadata): Observable<GetScraperDetailResponse>;
137
+ }
138
+ export interface ScraperTaskService {
139
+ ListScraperTasks(request: ListScraperTasksRequest, metadata?: Metadata): Observable<ListScraperTasksResponse>;
140
+ CreateScraperTask(request: CreateScraperTaskRequest, metadata?: Metadata): Observable<CreateScraperTaskResponse>;
141
+ UpdateScraperTask(request: UpdateScraperTaskRequest, metadata?: Metadata): Observable<UpdateScraperTaskResponse>;
142
+ DeleteScraperTask(request: DeleteScraperTaskRequest, metadata?: Metadata): Observable<DeleteScraperTaskResponse>;
143
+ GetScraperTaskDetail(request: GetScraperTaskDetailRequest, metadata?: Metadata): Observable<GetScraperTaskDetailResponse>;
144
+ }
@@ -175,6 +175,14 @@ export interface GetSnapshotResponse {
175
175
  error: Error | undefined;
176
176
  snapshot: Snapshot | undefined;
177
177
  }
178
+ export interface GetLatestSnapshotRevisionRequest {
179
+ unitID: string;
180
+ type: UniverType;
181
+ }
182
+ export interface GetLatestSnapshotRevisionResponse {
183
+ error: Error | undefined;
184
+ latestRevision: number;
185
+ }
178
186
  export interface GetUnitOnRevRequest {
179
187
  unitID: string;
180
188
  type: UniverType;
@@ -249,6 +257,17 @@ export interface SheetTable_TablesEntry {
249
257
  key: string;
250
258
  value: TableInfo | undefined;
251
259
  }
260
+ export interface ReportUnitRoutingStatsRequest {
261
+ unitId: string;
262
+ estimatedCells?: number | undefined;
263
+ /** precision: seconds */
264
+ snapshotTime?: number | undefined;
265
+ /** precision: seconds, report in import scene. */
266
+ importTime?: number | undefined;
267
+ }
268
+ export interface ReportUnitRoutingStatsResponse {
269
+ error: Error | undefined;
270
+ }
252
271
  export interface SnapshotService {
253
272
  CreateUnit(request: CreateUnitRequest, metadata?: Metadata): Observable<CreateUnitResponse>;
254
273
  UpdateUnit(request: UpdateUnitRequest, metadata?: Metadata): Observable<UpdateUnitResponse>;
@@ -265,6 +284,7 @@ export interface SnapshotService {
265
284
  /** Update a snapshot to the database. */
266
285
  UpdateSnapshot(request: SaveSnapshotRequest, metadata?: Metadata): Observable<SaveSnapshotResponse>;
267
286
  GetSnapshot(request: GetSnapshotRequest, metadata?: Metadata): Observable<GetSnapshotResponse>;
287
+ GetLatestSnapshotRevision(request: GetLatestSnapshotRevisionRequest, metadata?: Metadata): Observable<GetLatestSnapshotRevisionResponse>;
268
288
  SaveSheetBlock(request: SaveSheetBlockRequest, metadata?: Metadata): Observable<SaveSheetBlockResponse>;
269
289
  GetSheetBlock(request: GetSheetBlockRequest, metadata?: Metadata): Observable<GetSheetBlockResponse>;
270
290
  GetUnitOnRev(request: GetUnitOnRevRequest, metadata?: Metadata): Observable<GetUnitOnRevResponse>;
@@ -282,4 +302,5 @@ export interface SnapshotService {
282
302
  GetUnitMeta(request: GetUnitMetaRequest, metadata?: Metadata): Observable<GetUnitMetaResponse>;
283
303
  /** 获取公式计算结果 */
284
304
  GetSnapshotMetaWithPreCalculated(request: GetSnapshotMetaWithPreCalculatedRequest, metadata?: Metadata): Observable<GetSnapshotMetaWithPreCalculatedResponse>;
305
+ ReportUnitRoutingStats(request: ReportUnitRoutingStatsRequest, metadata?: Metadata): Observable<ReportUnitRoutingStatsResponse>;
285
306
  }