jr-common-micro 1.1.97 → 1.1.99

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.
@@ -15,10 +15,7 @@ export interface RateInfo {
15
15
  badge: string;
16
16
  badge_base: string;
17
17
  own_tasks: string;
18
- team_share: string;
19
- full_team: string;
20
- full_team_ready: number;
21
- full_team_size: number;
18
+ team_bonus: string;
22
19
  multiplier: string;
23
20
  cap: string;
24
21
  hourly: string;
@@ -50,23 +47,37 @@ export interface TeamMember {
50
47
  user_id: string;
51
48
  username: string;
52
49
  avatar_url: string;
53
- tasks_today: number;
54
- task_multiplier: string;
55
- contribution: string;
56
50
  mining: boolean;
57
- full_team_ready: boolean;
58
51
  active_from: string;
59
52
  active_until: string;
60
53
  nudge_available_at: string;
54
+ sessions_week: number;
55
+ easy_done: boolean;
56
+ refs_week: number;
57
+ }
58
+ export interface TeamWeek {
59
+ week_start: string;
60
+ week_end: string;
61
+ members_count: number;
62
+ eligible: boolean;
63
+ easy_sessions: number;
64
+ easy_bonus_each: string;
65
+ easy_done_count: number;
66
+ hard_leader_refs: number;
67
+ hard_leader_required: number;
68
+ hard_member_count: number;
69
+ hard_member_required: number;
70
+ hard_done: boolean;
71
+ hard_bonus: string;
72
+ bonus: string;
61
73
  }
62
74
  export interface TeamInfo {
63
75
  members: TeamMember[];
64
76
  size: number;
65
- locked: boolean;
66
- locked_until: string;
67
- share: string;
68
- full_team_bonus: string;
69
- full_team_min_tasks: number;
77
+ min_members: number;
78
+ week: TeamWeek | undefined;
79
+ current_bonus: string;
80
+ current_bonus_until: string;
70
81
  }
71
82
  export interface TaskInfo {
72
83
  id: string;
@@ -216,6 +227,31 @@ export interface ResolveCodeResponse {
216
227
  avatar_url: string;
217
228
  gift: string;
218
229
  }
230
+ export interface ConfigResponse {
231
+ status: ResponseStatus | undefined;
232
+ session_hours: number;
233
+ badge_standard: string;
234
+ badge_blue: string;
235
+ badge_yellow: string;
236
+ team_size: number;
237
+ multiplier_cap: string;
238
+ gift_jr: string;
239
+ gift_sessions: number;
240
+ referral_levels: number;
241
+ l1_share: string;
242
+ l2_share: string;
243
+ claim_min: string;
244
+ nudge_cooldown_days: number;
245
+ base_rate: string;
246
+ referrer_gift_jr: string;
247
+ l2_gift_jr: string;
248
+ team_min_members: number;
249
+ team_easy_sessions: number;
250
+ team_easy_bonus: string;
251
+ team_hard_leader_refs: number;
252
+ team_hard_member_refs: number;
253
+ team_hard_bonus: string;
254
+ }
219
255
  export interface AdminOverviewRequest {
220
256
  period: string;
221
257
  }
@@ -24,10 +24,7 @@ export declare class RateInfo extends Message<RateInfo> {
24
24
  badge: string;
25
25
  badgeBase: string;
26
26
  ownTasks: string;
27
- teamShare: string;
28
- fullTeam: string;
29
- fullTeamReady: number;
30
- fullTeamSize: number;
27
+ teamBonus: string;
31
28
  multiplier: string;
32
29
  cap: string;
33
30
  hourly: string;
@@ -83,14 +80,13 @@ export declare class TeamMember extends Message<TeamMember> {
83
80
  userId: string;
84
81
  username: string;
85
82
  avatarUrl: string;
86
- tasksToday: number;
87
- taskMultiplier: string;
88
- contribution: string;
89
83
  mining: boolean;
90
- fullTeamReady: boolean;
91
84
  activeFrom: string;
92
85
  activeUntil: string;
93
86
  nudgeAvailableAt: string;
87
+ sessionsWeek: number;
88
+ easyDone: boolean;
89
+ refsWeek: number;
94
90
  constructor(data?: PartialMessage<TeamMember>);
95
91
  static readonly runtime: typeof proto3;
96
92
  static readonly typeName = "micro.v1.mining.TeamMember";
@@ -100,14 +96,37 @@ export declare class TeamMember extends Message<TeamMember> {
100
96
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): TeamMember;
101
97
  static equals(a: TeamMember | PlainMessage<TeamMember> | undefined, b: TeamMember | PlainMessage<TeamMember> | undefined): boolean;
102
98
  }
99
+ export declare class TeamWeek extends Message<TeamWeek> {
100
+ weekStart: string;
101
+ weekEnd: string;
102
+ membersCount: number;
103
+ eligible: boolean;
104
+ easySessions: number;
105
+ easyBonusEach: string;
106
+ easyDoneCount: number;
107
+ hardLeaderRefs: number;
108
+ hardLeaderRequired: number;
109
+ hardMemberCount: number;
110
+ hardMemberRequired: number;
111
+ hardDone: boolean;
112
+ hardBonus: string;
113
+ bonus: string;
114
+ constructor(data?: PartialMessage<TeamWeek>);
115
+ static readonly runtime: typeof proto3;
116
+ static readonly typeName = "micro.v1.mining.TeamWeek";
117
+ static readonly fields: FieldList;
118
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): TeamWeek;
119
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): TeamWeek;
120
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): TeamWeek;
121
+ static equals(a: TeamWeek | PlainMessage<TeamWeek> | undefined, b: TeamWeek | PlainMessage<TeamWeek> | undefined): boolean;
122
+ }
103
123
  export declare class TeamInfo extends Message<TeamInfo> {
104
124
  members: TeamMember[];
105
125
  size: number;
106
- locked: boolean;
107
- lockedUntil: string;
108
- share: string;
109
- fullTeamBonus: string;
110
- fullTeamMinTasks: number;
126
+ minMembers: number;
127
+ week?: TeamWeek;
128
+ currentBonus: string;
129
+ currentBonusUntil: string;
111
130
  constructor(data?: PartialMessage<TeamInfo>);
112
131
  static readonly runtime: typeof proto3;
113
132
  static readonly typeName = "micro.v1.mining.TeamInfo";
@@ -449,6 +468,39 @@ export declare class ResolveCodeResponse extends Message<ResolveCodeResponse> {
449
468
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ResolveCodeResponse;
450
469
  static equals(a: ResolveCodeResponse | PlainMessage<ResolveCodeResponse> | undefined, b: ResolveCodeResponse | PlainMessage<ResolveCodeResponse> | undefined): boolean;
451
470
  }
471
+ export declare class ConfigResponse extends Message<ConfigResponse> {
472
+ status?: ResponseStatus;
473
+ sessionHours: number;
474
+ badgeStandard: string;
475
+ badgeBlue: string;
476
+ badgeYellow: string;
477
+ teamSize: number;
478
+ multiplierCap: string;
479
+ giftJr: string;
480
+ giftSessions: number;
481
+ referralLevels: number;
482
+ l1Share: string;
483
+ l2Share: string;
484
+ claimMin: string;
485
+ nudgeCooldownDays: number;
486
+ baseRate: string;
487
+ referrerGiftJr: string;
488
+ l2GiftJr: string;
489
+ teamMinMembers: number;
490
+ teamEasySessions: number;
491
+ teamEasyBonus: string;
492
+ teamHardLeaderRefs: number;
493
+ teamHardMemberRefs: number;
494
+ teamHardBonus: string;
495
+ constructor(data?: PartialMessage<ConfigResponse>);
496
+ static readonly runtime: typeof proto3;
497
+ static readonly typeName = "micro.v1.mining.ConfigResponse";
498
+ static readonly fields: FieldList;
499
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ConfigResponse;
500
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ConfigResponse;
501
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ConfigResponse;
502
+ static equals(a: ConfigResponse | PlainMessage<ConfigResponse> | undefined, b: ConfigResponse | PlainMessage<ConfigResponse> | undefined): boolean;
503
+ }
452
504
  export declare class AdminOverviewRequest extends Message<AdminOverviewRequest> {
453
505
  period: string;
454
506
  constructor(data?: PartialMessage<AdminOverviewRequest>);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SetParameterRequest = exports.ParametersResponse = exports.ParameterItem = exports.AdminOverviewResponse = exports.AdminTopReferrer = exports.AdminTaskStat = exports.AdminSeries = exports.AdminSeriesPoint = exports.AdminMetric = exports.AdminOverviewRequest = exports.ResolveCodeResponse = exports.ResolveCodeRequest = exports.EnrollResponse = exports.EnrollRequest = exports.UpdateSettingsRequest = exports.HistoryResponse = exports.HistoryDay = exports.HistoryItem = exports.HistoryRequest = exports.TeamResponse = exports.SetTeamRequest = exports.ClaimResponse = exports.ReferralListResponse = exports.ReferralListRequest = exports.ReferralItem = exports.TaskEventResponse = exports.TaskEventRequest = exports.TasksResponse = exports.MiningMeResponse = exports.MiningState = exports.MiningSettings = exports.TasksSummary = exports.TaskInfo = exports.TeamInfo = exports.TeamMember = exports.ReferralInfo = exports.HalvingInfo = exports.RateInfo = exports.SessionInfo = void 0;
3
+ exports.SetParameterRequest = exports.ParametersResponse = exports.ParameterItem = exports.AdminOverviewResponse = exports.AdminTopReferrer = exports.AdminTaskStat = exports.AdminSeries = exports.AdminSeriesPoint = exports.AdminMetric = exports.AdminOverviewRequest = exports.ConfigResponse = exports.ResolveCodeResponse = exports.ResolveCodeRequest = exports.EnrollResponse = exports.EnrollRequest = exports.UpdateSettingsRequest = exports.HistoryResponse = exports.HistoryDay = exports.HistoryItem = exports.HistoryRequest = exports.TeamResponse = exports.SetTeamRequest = exports.ClaimResponse = exports.ReferralListResponse = exports.ReferralListRequest = exports.ReferralItem = exports.TaskEventResponse = exports.TaskEventRequest = exports.TasksResponse = exports.MiningMeResponse = exports.MiningState = exports.MiningSettings = exports.TasksSummary = exports.TaskInfo = exports.TeamInfo = exports.TeamWeek = exports.TeamMember = exports.ReferralInfo = exports.HalvingInfo = exports.RateInfo = exports.SessionInfo = void 0;
4
4
  const protobuf_1 = require("@bufbuild/protobuf");
5
5
  const general_pb_js_1 = require("../general_pb.js");
6
6
  class SessionInfo extends protobuf_1.Message {
@@ -47,10 +47,7 @@ class RateInfo extends protobuf_1.Message {
47
47
  badge = "";
48
48
  badgeBase = "";
49
49
  ownTasks = "";
50
- teamShare = "";
51
- fullTeam = "";
52
- fullTeamReady = 0;
53
- fullTeamSize = 0;
50
+ teamBonus = "";
54
51
  multiplier = "";
55
52
  cap = "";
56
53
  hourly = "";
@@ -65,10 +62,7 @@ class RateInfo extends protobuf_1.Message {
65
62
  { no: 2, name: "badge", kind: "scalar", T: 9 },
66
63
  { no: 3, name: "badge_base", kind: "scalar", T: 9 },
67
64
  { no: 4, name: "own_tasks", kind: "scalar", T: 9 },
68
- { no: 5, name: "team_share", kind: "scalar", T: 9 },
69
- { no: 6, name: "full_team", kind: "scalar", T: 9 },
70
- { no: 7, name: "full_team_ready", kind: "scalar", T: 5 },
71
- { no: 8, name: "full_team_size", kind: "scalar", T: 5 },
65
+ { no: 5, name: "team_bonus", kind: "scalar", T: 9 },
72
66
  { no: 9, name: "multiplier", kind: "scalar", T: 9 },
73
67
  { no: 10, name: "cap", kind: "scalar", T: 9 },
74
68
  { no: 11, name: "hourly", kind: "scalar", T: 9 },
@@ -175,14 +169,13 @@ class TeamMember extends protobuf_1.Message {
175
169
  userId = "";
176
170
  username = "";
177
171
  avatarUrl = "";
178
- tasksToday = 0;
179
- taskMultiplier = "";
180
- contribution = "";
181
172
  mining = false;
182
- fullTeamReady = false;
183
173
  activeFrom = "";
184
174
  activeUntil = "";
185
175
  nudgeAvailableAt = "";
176
+ sessionsWeek = 0;
177
+ easyDone = false;
178
+ refsWeek = 0;
186
179
  constructor(data) {
187
180
  super();
188
181
  protobuf_1.proto3.util.initPartial(data, this);
@@ -193,14 +186,13 @@ class TeamMember extends protobuf_1.Message {
193
186
  { no: 1, name: "user_id", kind: "scalar", T: 9 },
194
187
  { no: 2, name: "username", kind: "scalar", T: 9 },
195
188
  { no: 3, name: "avatar_url", kind: "scalar", T: 9 },
196
- { no: 4, name: "tasks_today", kind: "scalar", T: 5 },
197
- { no: 5, name: "task_multiplier", kind: "scalar", T: 9 },
198
- { no: 6, name: "contribution", kind: "scalar", T: 9 },
199
189
  { no: 7, name: "mining", kind: "scalar", T: 8 },
200
- { no: 8, name: "full_team_ready", kind: "scalar", T: 8 },
201
190
  { no: 9, name: "active_from", kind: "scalar", T: 9 },
202
191
  { no: 10, name: "active_until", kind: "scalar", T: 9 },
203
192
  { no: 11, name: "nudge_available_at", kind: "scalar", T: 9 },
193
+ { no: 12, name: "sessions_week", kind: "scalar", T: 5 },
194
+ { no: 13, name: "easy_done", kind: "scalar", T: 8 },
195
+ { no: 14, name: "refs_week", kind: "scalar", T: 5 },
204
196
  ]);
205
197
  static fromBinary(bytes, options) {
206
198
  return new TeamMember().fromBinary(bytes, options);
@@ -216,14 +208,64 @@ class TeamMember extends protobuf_1.Message {
216
208
  }
217
209
  }
218
210
  exports.TeamMember = TeamMember;
211
+ class TeamWeek extends protobuf_1.Message {
212
+ weekStart = "";
213
+ weekEnd = "";
214
+ membersCount = 0;
215
+ eligible = false;
216
+ easySessions = 0;
217
+ easyBonusEach = "";
218
+ easyDoneCount = 0;
219
+ hardLeaderRefs = 0;
220
+ hardLeaderRequired = 0;
221
+ hardMemberCount = 0;
222
+ hardMemberRequired = 0;
223
+ hardDone = false;
224
+ hardBonus = "";
225
+ bonus = "";
226
+ constructor(data) {
227
+ super();
228
+ protobuf_1.proto3.util.initPartial(data, this);
229
+ }
230
+ static runtime = protobuf_1.proto3;
231
+ static typeName = "micro.v1.mining.TeamWeek";
232
+ static fields = protobuf_1.proto3.util.newFieldList(() => [
233
+ { no: 1, name: "week_start", kind: "scalar", T: 9 },
234
+ { no: 2, name: "week_end", kind: "scalar", T: 9 },
235
+ { no: 3, name: "members_count", kind: "scalar", T: 5 },
236
+ { no: 4, name: "eligible", kind: "scalar", T: 8 },
237
+ { no: 5, name: "easy_sessions", kind: "scalar", T: 5 },
238
+ { no: 6, name: "easy_bonus_each", kind: "scalar", T: 9 },
239
+ { no: 7, name: "easy_done_count", kind: "scalar", T: 5 },
240
+ { no: 8, name: "hard_leader_refs", kind: "scalar", T: 5 },
241
+ { no: 9, name: "hard_leader_required", kind: "scalar", T: 5 },
242
+ { no: 10, name: "hard_member_count", kind: "scalar", T: 5 },
243
+ { no: 11, name: "hard_member_required", kind: "scalar", T: 5 },
244
+ { no: 12, name: "hard_done", kind: "scalar", T: 8 },
245
+ { no: 13, name: "hard_bonus", kind: "scalar", T: 9 },
246
+ { no: 14, name: "bonus", kind: "scalar", T: 9 },
247
+ ]);
248
+ static fromBinary(bytes, options) {
249
+ return new TeamWeek().fromBinary(bytes, options);
250
+ }
251
+ static fromJson(jsonValue, options) {
252
+ return new TeamWeek().fromJson(jsonValue, options);
253
+ }
254
+ static fromJsonString(jsonString, options) {
255
+ return new TeamWeek().fromJsonString(jsonString, options);
256
+ }
257
+ static equals(a, b) {
258
+ return protobuf_1.proto3.util.equals(TeamWeek, a, b);
259
+ }
260
+ }
261
+ exports.TeamWeek = TeamWeek;
219
262
  class TeamInfo extends protobuf_1.Message {
220
263
  members = [];
221
264
  size = 0;
222
- locked = false;
223
- lockedUntil = "";
224
- share = "";
225
- fullTeamBonus = "";
226
- fullTeamMinTasks = 0;
265
+ minMembers = 0;
266
+ week;
267
+ currentBonus = "";
268
+ currentBonusUntil = "";
227
269
  constructor(data) {
228
270
  super();
229
271
  protobuf_1.proto3.util.initPartial(data, this);
@@ -233,11 +275,10 @@ class TeamInfo extends protobuf_1.Message {
233
275
  static fields = protobuf_1.proto3.util.newFieldList(() => [
234
276
  { no: 1, name: "members", kind: "message", T: TeamMember, repeated: true },
235
277
  { no: 2, name: "size", kind: "scalar", T: 5 },
236
- { no: 3, name: "locked", kind: "scalar", T: 8 },
237
- { no: 4, name: "locked_until", kind: "scalar", T: 9 },
238
- { no: 5, name: "share", kind: "scalar", T: 9 },
239
- { no: 6, name: "full_team_bonus", kind: "scalar", T: 9 },
240
- { no: 7, name: "full_team_min_tasks", kind: "scalar", T: 5 },
278
+ { no: 8, name: "min_members", kind: "scalar", T: 5 },
279
+ { no: 9, name: "week", kind: "message", T: TeamWeek },
280
+ { no: 10, name: "current_bonus", kind: "scalar", T: 9 },
281
+ { no: 11, name: "current_bonus_until", kind: "scalar", T: 9 },
241
282
  ]);
242
283
  static fromBinary(bytes, options) {
243
284
  return new TeamInfo().fromBinary(bytes, options);
@@ -986,6 +1027,75 @@ class ResolveCodeResponse extends protobuf_1.Message {
986
1027
  }
987
1028
  }
988
1029
  exports.ResolveCodeResponse = ResolveCodeResponse;
1030
+ class ConfigResponse extends protobuf_1.Message {
1031
+ status;
1032
+ sessionHours = 0;
1033
+ badgeStandard = "";
1034
+ badgeBlue = "";
1035
+ badgeYellow = "";
1036
+ teamSize = 0;
1037
+ multiplierCap = "";
1038
+ giftJr = "";
1039
+ giftSessions = 0;
1040
+ referralLevels = 0;
1041
+ l1Share = "";
1042
+ l2Share = "";
1043
+ claimMin = "";
1044
+ nudgeCooldownDays = 0;
1045
+ baseRate = "";
1046
+ referrerGiftJr = "";
1047
+ l2GiftJr = "";
1048
+ teamMinMembers = 0;
1049
+ teamEasySessions = 0;
1050
+ teamEasyBonus = "";
1051
+ teamHardLeaderRefs = 0;
1052
+ teamHardMemberRefs = 0;
1053
+ teamHardBonus = "";
1054
+ constructor(data) {
1055
+ super();
1056
+ protobuf_1.proto3.util.initPartial(data, this);
1057
+ }
1058
+ static runtime = protobuf_1.proto3;
1059
+ static typeName = "micro.v1.mining.ConfigResponse";
1060
+ static fields = protobuf_1.proto3.util.newFieldList(() => [
1061
+ { no: 1, name: "status", kind: "message", T: general_pb_js_1.ResponseStatus },
1062
+ { no: 2, name: "session_hours", kind: "scalar", T: 5 },
1063
+ { no: 3, name: "badge_standard", kind: "scalar", T: 9 },
1064
+ { no: 4, name: "badge_blue", kind: "scalar", T: 9 },
1065
+ { no: 5, name: "badge_yellow", kind: "scalar", T: 9 },
1066
+ { no: 6, name: "team_size", kind: "scalar", T: 5 },
1067
+ { no: 10, name: "multiplier_cap", kind: "scalar", T: 9 },
1068
+ { no: 11, name: "gift_jr", kind: "scalar", T: 9 },
1069
+ { no: 12, name: "gift_sessions", kind: "scalar", T: 5 },
1070
+ { no: 13, name: "referral_levels", kind: "scalar", T: 5 },
1071
+ { no: 14, name: "l1_share", kind: "scalar", T: 9 },
1072
+ { no: 15, name: "l2_share", kind: "scalar", T: 9 },
1073
+ { no: 16, name: "claim_min", kind: "scalar", T: 9 },
1074
+ { no: 17, name: "nudge_cooldown_days", kind: "scalar", T: 5 },
1075
+ { no: 18, name: "base_rate", kind: "scalar", T: 9 },
1076
+ { no: 19, name: "referrer_gift_jr", kind: "scalar", T: 9 },
1077
+ { no: 20, name: "l2_gift_jr", kind: "scalar", T: 9 },
1078
+ { no: 21, name: "team_min_members", kind: "scalar", T: 5 },
1079
+ { no: 22, name: "team_easy_sessions", kind: "scalar", T: 5 },
1080
+ { no: 23, name: "team_easy_bonus", kind: "scalar", T: 9 },
1081
+ { no: 24, name: "team_hard_leader_refs", kind: "scalar", T: 5 },
1082
+ { no: 25, name: "team_hard_member_refs", kind: "scalar", T: 5 },
1083
+ { no: 26, name: "team_hard_bonus", kind: "scalar", T: 9 },
1084
+ ]);
1085
+ static fromBinary(bytes, options) {
1086
+ return new ConfigResponse().fromBinary(bytes, options);
1087
+ }
1088
+ static fromJson(jsonValue, options) {
1089
+ return new ConfigResponse().fromJson(jsonValue, options);
1090
+ }
1091
+ static fromJsonString(jsonString, options) {
1092
+ return new ConfigResponse().fromJsonString(jsonString, options);
1093
+ }
1094
+ static equals(a, b) {
1095
+ return protobuf_1.proto3.util.equals(ConfigResponse, a, b);
1096
+ }
1097
+ }
1098
+ exports.ConfigResponse = ConfigResponse;
989
1099
  class AdminOverviewRequest extends protobuf_1.Message {
990
1100
  period = "";
991
1101
  constructor(data) {
@@ -1,5 +1,5 @@
1
1
  import { ByIdRequest, EmptyRequest, EmptyResponse } from "../general_pb.js";
2
- import { AdminOverviewRequest, AdminOverviewResponse, ClaimResponse, EnrollRequest, EnrollResponse, HistoryRequest, HistoryResponse, MiningMeResponse, ParametersResponse, ReferralListRequest, ReferralListResponse, ResolveCodeRequest, ResolveCodeResponse, SetParameterRequest, SetTeamRequest, TaskEventRequest, TaskEventResponse, TasksResponse, TeamResponse, UpdateSettingsRequest } from "./mining_messages_pb.js";
2
+ import { AdminOverviewRequest, AdminOverviewResponse, ClaimResponse, ConfigResponse, EnrollRequest, EnrollResponse, HistoryRequest, HistoryResponse, MiningMeResponse, ParametersResponse, ReferralListRequest, ReferralListResponse, ResolveCodeRequest, ResolveCodeResponse, SetParameterRequest, SetTeamRequest, TaskEventRequest, TaskEventResponse, TasksResponse, TeamResponse, UpdateSettingsRequest } from "./mining_messages_pb.js";
3
3
  import { MethodKind } from "@bufbuild/protobuf";
4
4
  export declare const PMiningService: {
5
5
  readonly typeName: "micro.v1.mining.PMiningService";
@@ -88,6 +88,12 @@ export declare const PMiningService: {
88
88
  readonly O: typeof ResolveCodeResponse;
89
89
  readonly kind: MethodKind.ServerStreaming;
90
90
  };
91
+ readonly config: {
92
+ readonly name: "Config";
93
+ readonly I: typeof EmptyRequest;
94
+ readonly O: typeof ConfigResponse;
95
+ readonly kind: MethodKind.ServerStreaming;
96
+ };
91
97
  readonly adminOverview: {
92
98
  readonly name: "AdminOverview";
93
99
  readonly I: typeof AdminOverviewRequest;
@@ -91,6 +91,12 @@ exports.PMiningService = {
91
91
  O: mining_messages_pb_js_1.ResolveCodeResponse,
92
92
  kind: protobuf_1.MethodKind.ServerStreaming,
93
93
  },
94
+ config: {
95
+ name: "Config",
96
+ I: general_pb_js_1.EmptyRequest,
97
+ O: mining_messages_pb_js_1.ConfigResponse,
98
+ kind: protobuf_1.MethodKind.ServerStreaming,
99
+ },
94
100
  adminOverview: {
95
101
  name: "AdminOverview",
96
102
  I: mining_messages_pb_js_1.AdminOverviewRequest,
@@ -1,7 +1,7 @@
1
1
  import type { Metadata } from "@grpc/grpc-js";
2
2
  import { Observable } from "rxjs";
3
3
  import { ByIdRequest, EmptyRequest, EmptyResponse } from "../general_nest";
4
- import { AdminOverviewRequest, AdminOverviewResponse, ClaimResponse, EnrollRequest, EnrollResponse, HistoryRequest, HistoryResponse, MiningMeResponse, ParametersResponse, ReferralListRequest, ReferralListResponse, ResolveCodeRequest, ResolveCodeResponse, SetParameterRequest, SetTeamRequest, TaskEventRequest, TaskEventResponse, TasksResponse, TeamResponse, UpdateSettingsRequest } from "./mining_messages_nest";
4
+ import { AdminOverviewRequest, AdminOverviewResponse, ClaimResponse, ConfigResponse, EnrollRequest, EnrollResponse, HistoryRequest, HistoryResponse, MiningMeResponse, ParametersResponse, ReferralListRequest, ReferralListResponse, ResolveCodeRequest, ResolveCodeResponse, SetParameterRequest, SetTeamRequest, TaskEventRequest, TaskEventResponse, TasksResponse, TeamResponse, UpdateSettingsRequest } from "./mining_messages_nest";
5
5
  export declare const protobufPackage = "micro.v1.mining";
6
6
  export declare const MICRO_V1_MINING_PACKAGE_NAME = "micro.v1.mining";
7
7
  export interface PMiningServiceClient {
@@ -19,6 +19,7 @@ export interface PMiningServiceClient {
19
19
  updateSettings(request: UpdateSettingsRequest, metadata?: Metadata): Observable<MiningMeResponse>;
20
20
  enroll(request: EnrollRequest, metadata?: Metadata): Observable<EnrollResponse>;
21
21
  resolveCode(request: ResolveCodeRequest, metadata?: Metadata): Observable<ResolveCodeResponse>;
22
+ config(request: EmptyRequest, metadata?: Metadata): Observable<ConfigResponse>;
22
23
  adminOverview(request: AdminOverviewRequest, metadata?: Metadata): Observable<AdminOverviewResponse>;
23
24
  adminParameters(request: EmptyRequest, metadata?: Metadata): Observable<ParametersResponse>;
24
25
  adminSetParameter(request: SetParameterRequest, metadata?: Metadata): Observable<ParametersResponse>;
@@ -39,6 +40,7 @@ export interface PMiningServiceController {
39
40
  updateSettings(request: UpdateSettingsRequest, metadata?: Metadata): Observable<MiningMeResponse>;
40
41
  enroll(request: EnrollRequest, metadata?: Metadata): Observable<EnrollResponse>;
41
42
  resolveCode(request: ResolveCodeRequest, metadata?: Metadata): Observable<ResolveCodeResponse>;
43
+ config(request: EmptyRequest, metadata?: Metadata): Observable<ConfigResponse>;
42
44
  adminOverview(request: AdminOverviewRequest, metadata?: Metadata): Observable<AdminOverviewResponse>;
43
45
  adminParameters(request: EmptyRequest, metadata?: Metadata): Observable<ParametersResponse>;
44
46
  adminSetParameter(request: SetParameterRequest, metadata?: Metadata): Observable<ParametersResponse>;
@@ -22,6 +22,7 @@ function PMiningServiceControllerMethods() {
22
22
  "updateSettings",
23
23
  "enroll",
24
24
  "resolveCode",
25
+ "config",
25
26
  "adminOverview",
26
27
  "adminParameters",
27
28
  "adminSetParameter",
@@ -58,6 +58,7 @@ export interface ProfileListItemDto {
58
58
  role: string;
59
59
  status: string;
60
60
  badges: string[];
61
+ paid_badges: string[];
61
62
  }
62
63
  export interface ProfilesByIdsRequest {
63
64
  user_ids: string[];
@@ -131,6 +131,7 @@ export declare class ProfileListItemDto extends Message<ProfileListItemDto> {
131
131
  role: string;
132
132
  status: string;
133
133
  badges: string[];
134
+ paidBadges: string[];
134
135
  constructor(data?: PartialMessage<ProfileListItemDto>);
135
136
  static readonly runtime: typeof proto3;
136
137
  static readonly typeName = "micro.v1.user.ProfileListItemDto";
@@ -283,6 +283,7 @@ class ProfileListItemDto extends protobuf_1.Message {
283
283
  role = "";
284
284
  status = "";
285
285
  badges = [];
286
+ paidBadges = [];
286
287
  constructor(data) {
287
288
  super();
288
289
  protobuf_1.proto3.util.initPartial(data, this);
@@ -296,6 +297,7 @@ class ProfileListItemDto extends protobuf_1.Message {
296
297
  { no: 4, name: "role", kind: "scalar", T: 9 },
297
298
  { no: 5, name: "status", kind: "scalar", T: 9 },
298
299
  { no: 6, name: "badges", kind: "scalar", T: 9, repeated: true },
300
+ { no: 7, name: "paid_badges", kind: "scalar", T: 9, repeated: true },
299
301
  ]);
300
302
  static fromBinary(bytes, options) {
301
303
  return new ProfileListItemDto().fromBinary(bytes, options);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jr-common-micro",
3
- "version": "1.1.97",
3
+ "version": "1.1.99",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "private": false,
@@ -26,18 +26,18 @@ message SessionInfo {
26
26
  }
27
27
 
28
28
  // How the hourly rate comes together: hourly = base × multiplier,
29
- // multiplier = min(cap, badge + own_tasks + team_share + full_team).
29
+ // multiplier = min(cap, badge_base × (1 + own_tasks + team_bonus)).
30
+ // The badge multiplies everything; tasks and the weekly team bonus are
31
+ // additive layers on top of 1.
30
32
  message RateInfo {
31
33
  string base = 1;
32
34
  // standard | blue | yellow
33
35
  string badge = 2;
34
36
  string badge_base = 3;
35
37
  string own_tasks = 4;
36
- string team_share = 5;
37
- string full_team = 6;
38
- // Team members that reached the full-team task threshold today.
39
- int32 full_team_ready = 7;
40
- int32 full_team_size = 8;
38
+ // This week's team bonus (earned last week; 0 when none).
39
+ string team_bonus = 5;
40
+ reserved 6 to 8;
41
41
  string multiplier = 9;
42
42
  string cap = 10;
43
43
  string hourly = 11;
@@ -75,32 +75,62 @@ message ReferralInfo {
75
75
  string referred_by_username = 15;
76
76
  }
77
77
 
78
+ // A team member and what they did for the week in progress. Sessions and
79
+ // referrals count from the moment the member joined the team.
78
80
  message TeamMember {
79
81
  string user_id = 1;
80
82
  string username = 2;
81
83
  string avatar_url = 3;
82
- // Tasks done today and the multiplier they add to the owner.
83
- int32 tasks_today = 4;
84
- string task_multiplier = 5;
85
- string contribution = 6;
84
+ reserved 4 to 6, 8;
86
85
  bool mining = 7;
87
- bool full_team_ready = 8;
88
- // When the member becomes / stops being effective (team lock).
86
+ // When the member joined / left the team.
89
87
  string active_from = 9;
90
88
  string active_until = 10;
91
89
  // Nudge state: when the owner may nudge this member again ('' = now).
92
90
  string nudge_available_at = 11;
91
+ // Sessions completed this week (easy task: >= easy_sessions).
92
+ int32 sessions_week = 12;
93
+ bool easy_done = 13;
94
+ // Referrals of this member that activated this week (hard task: >= 1).
95
+ int32 refs_week = 14;
96
+ }
97
+
98
+ // One week of the team task: Monday 00:00 to the next Monday 00:00
99
+ // (Europe/Istanbul). What was earned in a week applies the week after,
100
+ // to the owner only.
101
+ message TeamWeek {
102
+ string week_start = 1;
103
+ string week_end = 2;
104
+ // Members in the roster (the week counts only from min_members on).
105
+ int32 members_count = 3;
106
+ bool eligible = 4;
107
+ // Easy task: each member with >= easy_sessions completed sessions adds
108
+ // easy_bonus_each to next week's layer.
109
+ int32 easy_sessions = 5;
110
+ string easy_bonus_each = 6;
111
+ int32 easy_done_count = 7;
112
+ // Hard task: the owner brings >= hard_leader_required new referrals AND
113
+ // >= hard_member_required distinct members bring >= 1 each.
114
+ int32 hard_leader_refs = 8;
115
+ int32 hard_leader_required = 9;
116
+ int32 hard_member_count = 10;
117
+ int32 hard_member_required = 11;
118
+ bool hard_done = 12;
119
+ string hard_bonus = 13;
120
+ // The layer this week earns for the next one (so far, while running).
121
+ string bonus = 14;
93
122
  }
94
123
 
95
124
  message TeamInfo {
96
125
  repeated TeamMember members = 1;
97
126
  int32 size = 2;
98
- // The team is locked while a session runs; changes apply at this time.
99
- bool locked = 3;
100
- string locked_until = 4;
101
- string share = 5;
102
- string full_team_bonus = 6;
103
- int32 full_team_min_tasks = 7;
127
+ reserved 3 to 7;
128
+ int32 min_members = 8;
129
+ // The week in progress.
130
+ TeamWeek week = 9;
131
+ // The bonus applied to the owner's rate this week (earned last week).
132
+ string current_bonus = 10;
133
+ string current_bonus_until = 11;
104
134
  }
105
135
 
106
136
  message TaskInfo {
@@ -301,6 +331,40 @@ message ResolveCodeResponse {
301
331
  string gift = 5;
302
332
  }
303
333
 
334
+ // Public: the tunable numbers the apps print (badge multipliers, session
335
+ // length, gift, team and referral shares). Decimals are strings. The admin
336
+ // panel changes them; nothing is hard-coded on the client.
337
+ message ConfigResponse {
338
+ ResponseStatus status = 1;
339
+ int32 session_hours = 2;
340
+ string badge_standard = 3;
341
+ string badge_blue = 4;
342
+ string badge_yellow = 5;
343
+ int32 team_size = 6;
344
+ reserved 7 to 9;
345
+ string multiplier_cap = 10;
346
+ // The invitee's gift on activation.
347
+ string gift_jr = 11;
348
+ int32 gift_sessions = 12;
349
+ int32 referral_levels = 13;
350
+ string l1_share = 14;
351
+ string l2_share = 15;
352
+ string claim_min = 16;
353
+ int32 nudge_cooldown_days = 17;
354
+ // Current base rate after halvings, JR per hour.
355
+ string base_rate = 18;
356
+ // The referrer's gift after gift_sessions, and the referrer's referrer's.
357
+ string referrer_gift_jr = 19;
358
+ string l2_gift_jr = 20;
359
+ // Weekly team task.
360
+ int32 team_min_members = 21;
361
+ int32 team_easy_sessions = 22;
362
+ string team_easy_bonus = 23;
363
+ int32 team_hard_leader_refs = 24;
364
+ int32 team_hard_member_refs = 25;
365
+ string team_hard_bonus = 26;
366
+ }
367
+
304
368
  message AdminOverviewRequest {
305
369
  // today | week | month
306
370
  string period = 1;
@@ -34,6 +34,8 @@ service PMiningService {
34
34
  rpc Enroll(EnrollRequest) returns(stream EnrollResponse) {}
35
35
  // Public, for the web invite page.
36
36
  rpc ResolveCode(ResolveCodeRequest) returns(stream ResolveCodeResponse) {}
37
+ // Public: the numbers the apps print (badge multipliers, gift, shares).
38
+ rpc Config(EmptyRequest) returns(stream ConfigResponse) {}
37
39
 
38
40
  // Admin.
39
41
  rpc AdminOverview(AdminOverviewRequest) returns(stream AdminOverviewResponse) {}
@@ -79,6 +79,10 @@ message ProfileListItemDto {
79
79
  // active | passive (e-mail verification state)
80
80
  string status = 5;
81
81
  repeated string badges = 6;
82
+ // The subset of `badges` that a paid plan carries (source=subscription).
83
+ // A hand-granted badge is display only: it is in `badges`, not here.
84
+ // Consumers that turn a badge into a benefit (JR mining tier) read this.
85
+ repeated string paid_badges = 7;
82
86
  }
83
87
 
84
88
  // Internal service-to-service lookup (not exposed over HTTP).