opensoma 0.5.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/package.json +5 -1
  2. package/dist/src/agent-browser-launcher.d.ts +43 -0
  3. package/dist/src/agent-browser-launcher.d.ts.map +1 -0
  4. package/dist/src/agent-browser-launcher.js +97 -0
  5. package/dist/src/agent-browser-launcher.js.map +1 -0
  6. package/dist/src/cli.d.ts.map +1 -1
  7. package/dist/src/cli.js +8 -5
  8. package/dist/src/cli.js.map +1 -1
  9. package/dist/src/client.d.ts +34 -7
  10. package/dist/src/client.d.ts.map +1 -1
  11. package/dist/src/client.js +224 -52
  12. package/dist/src/client.js.map +1 -1
  13. package/dist/src/commands/agent-browser.d.ts +3 -0
  14. package/dist/src/commands/agent-browser.d.ts.map +1 -0
  15. package/dist/src/commands/agent-browser.js +27 -0
  16. package/dist/src/commands/agent-browser.js.map +1 -0
  17. package/dist/src/commands/auth.d.ts +1 -1
  18. package/dist/src/commands/auth.d.ts.map +1 -1
  19. package/dist/src/commands/auth.js +4 -2
  20. package/dist/src/commands/auth.js.map +1 -1
  21. package/dist/src/commands/dashboard.d.ts +13 -0
  22. package/dist/src/commands/dashboard.d.ts.map +1 -1
  23. package/dist/src/commands/dashboard.js +10 -18
  24. package/dist/src/commands/dashboard.js.map +1 -1
  25. package/dist/src/commands/helpers.d.ts +1 -1
  26. package/dist/src/commands/helpers.d.ts.map +1 -1
  27. package/dist/src/commands/helpers.js +2 -2
  28. package/dist/src/commands/helpers.js.map +1 -1
  29. package/dist/src/commands/index.d.ts +3 -1
  30. package/dist/src/commands/index.d.ts.map +1 -1
  31. package/dist/src/commands/index.js +3 -1
  32. package/dist/src/commands/index.js.map +1 -1
  33. package/dist/src/commands/mentoring.d.ts.map +1 -1
  34. package/dist/src/commands/mentoring.js +54 -29
  35. package/dist/src/commands/mentoring.js.map +1 -1
  36. package/dist/src/commands/notice.d.ts.map +1 -1
  37. package/dist/src/commands/notice.js +2 -1
  38. package/dist/src/commands/notice.js.map +1 -1
  39. package/dist/src/commands/report.d.ts.map +1 -1
  40. package/dist/src/commands/report.js +4 -2
  41. package/dist/src/commands/report.js.map +1 -1
  42. package/dist/src/commands/room.d.ts.map +1 -1
  43. package/dist/src/commands/room.js +125 -2
  44. package/dist/src/commands/room.js.map +1 -1
  45. package/dist/src/commands/schedule.d.ts +3 -0
  46. package/dist/src/commands/schedule.d.ts.map +1 -0
  47. package/dist/src/commands/schedule.js +27 -0
  48. package/dist/src/commands/schedule.js.map +1 -0
  49. package/dist/src/commands/team.d.ts.map +1 -1
  50. package/dist/src/commands/team.js +55 -4
  51. package/dist/src/commands/team.js.map +1 -1
  52. package/dist/src/commands/toz.d.ts +16 -0
  53. package/dist/src/commands/toz.d.ts.map +1 -0
  54. package/dist/src/commands/toz.js +488 -0
  55. package/dist/src/commands/toz.js.map +1 -0
  56. package/dist/src/constants.d.ts +5 -5
  57. package/dist/src/constants.d.ts.map +1 -1
  58. package/dist/src/constants.js +20 -8
  59. package/dist/src/constants.js.map +1 -1
  60. package/dist/src/credential-manager.d.ts +15 -0
  61. package/dist/src/credential-manager.d.ts.map +1 -1
  62. package/dist/src/credential-manager.js +46 -0
  63. package/dist/src/credential-manager.js.map +1 -1
  64. package/dist/src/formatters.d.ts +11 -3
  65. package/dist/src/formatters.d.ts.map +1 -1
  66. package/dist/src/formatters.js +281 -52
  67. package/dist/src/formatters.js.map +1 -1
  68. package/dist/src/http.d.ts +8 -0
  69. package/dist/src/http.d.ts.map +1 -1
  70. package/dist/src/http.js +29 -1
  71. package/dist/src/http.js.map +1 -1
  72. package/dist/src/index.d.ts +8 -1
  73. package/dist/src/index.d.ts.map +1 -1
  74. package/dist/src/index.js +4 -1
  75. package/dist/src/index.js.map +1 -1
  76. package/dist/src/session-recovery.js +2 -0
  77. package/dist/src/session-recovery.js.map +1 -1
  78. package/dist/src/shared/utils/swmaestro.d.ts +34 -1
  79. package/dist/src/shared/utils/swmaestro.d.ts.map +1 -1
  80. package/dist/src/shared/utils/swmaestro.js +102 -39
  81. package/dist/src/shared/utils/swmaestro.js.map +1 -1
  82. package/dist/src/shared/utils/team-action-params.d.ts +3 -0
  83. package/dist/src/shared/utils/team-action-params.d.ts.map +1 -0
  84. package/dist/src/shared/utils/team-action-params.js +10 -0
  85. package/dist/src/shared/utils/team-action-params.js.map +1 -0
  86. package/dist/src/shared/utils/team-params.d.ts +12 -0
  87. package/dist/src/shared/utils/team-params.d.ts.map +1 -0
  88. package/dist/src/shared/utils/team-params.js +38 -0
  89. package/dist/src/shared/utils/team-params.js.map +1 -0
  90. package/dist/src/toz-client.d.ts +89 -0
  91. package/dist/src/toz-client.d.ts.map +1 -0
  92. package/dist/src/toz-client.js +204 -0
  93. package/dist/src/toz-client.js.map +1 -0
  94. package/dist/src/toz-pending-store.d.ts +30 -0
  95. package/dist/src/toz-pending-store.d.ts.map +1 -0
  96. package/dist/src/toz-pending-store.js +36 -0
  97. package/dist/src/toz-pending-store.js.map +1 -0
  98. package/dist/src/types.d.ts +147 -10
  99. package/dist/src/types.d.ts.map +1 -1
  100. package/dist/src/types.js +74 -6
  101. package/dist/src/types.js.map +1 -1
  102. package/package.json +5 -1
  103. package/src/agent-browser-launcher.test.ts +263 -0
  104. package/src/agent-browser-launcher.ts +159 -0
  105. package/src/cli.ts +10 -5
  106. package/src/client.test.ts +673 -30
  107. package/src/client.ts +287 -67
  108. package/src/commands/agent-browser.ts +33 -0
  109. package/src/commands/auth.test.ts +77 -26
  110. package/src/commands/auth.ts +5 -3
  111. package/src/commands/dashboard.test.ts +57 -0
  112. package/src/commands/dashboard.ts +22 -19
  113. package/src/commands/helpers.test.ts +76 -25
  114. package/src/commands/helpers.ts +3 -3
  115. package/src/commands/index.ts +3 -1
  116. package/src/commands/mentoring.ts +60 -29
  117. package/src/commands/notice.ts +2 -1
  118. package/src/commands/report.ts +4 -2
  119. package/src/commands/room.ts +160 -1
  120. package/src/commands/schedule.ts +32 -0
  121. package/src/commands/team.ts +73 -5
  122. package/src/commands/toz.test.ts +51 -0
  123. package/src/commands/toz.ts +607 -0
  124. package/src/constants.ts +20 -8
  125. package/src/credential-manager.test.ts +98 -0
  126. package/src/credential-manager.ts +50 -0
  127. package/src/formatters.test.ts +528 -33
  128. package/src/formatters.ts +309 -55
  129. package/src/http.test.ts +71 -2
  130. package/src/http.ts +41 -2
  131. package/src/index.ts +23 -1
  132. package/src/session-recovery.ts +2 -0
  133. package/src/shared/utils/swmaestro.test.ts +245 -9
  134. package/src/shared/utils/swmaestro.ts +150 -47
  135. package/src/shared/utils/team-action-params.test.ts +32 -0
  136. package/src/shared/utils/team-action-params.ts +10 -0
  137. package/src/shared/utils/team-params.test.ts +141 -0
  138. package/src/shared/utils/team-params.ts +53 -0
  139. package/src/toz-client.test.ts +243 -0
  140. package/src/toz-client.ts +311 -0
  141. package/src/toz-pending-store.test.ts +91 -0
  142. package/src/toz-pending-store.ts +62 -0
  143. package/src/types.test.ts +26 -13
  144. package/src/types.ts +87 -7
  145. package/dist/src/commands/event.d.ts +0 -3
  146. package/dist/src/commands/event.d.ts.map +0 -1
  147. package/dist/src/commands/event.js +0 -58
  148. package/dist/src/commands/event.js.map +0 -1
  149. package/src/commands/event.ts +0 -73
@@ -5,11 +5,16 @@ import { AuthenticationError } from './errors.js';
5
5
  import * as formatters from './formatters.js';
6
6
  import { SomaHttp } from './http.js';
7
7
  import { buildMentoringListParams } from './shared/utils/mentoring-params.js';
8
- import { buildApplicationPayload, buildCancelApplicationPayload, buildDeleteMentoringPayload, buildMentoringPayload, buildReportPayload, buildRoomReservationPayload, buildUpdateMentoringPayload, parseEventDetail, resolveRoomId, toMentoringType, toRegionCode, toReportTypeCd, } from './shared/utils/swmaestro.js';
8
+ import { buildApplicationPayload, buildCancelApplicationPayload, buildDeleteMentoringPayload, buildMentoringPayload, buildReportPayload, buildRoomCancelPayload, buildRoomReservationPayload, buildRoomUpdatePayload, buildUpdateMentoringPayload, resolveRoomId, toRegionCode, toReportTypeCd, } from './shared/utils/swmaestro.js';
9
+ import { buildTeamActionPayload } from './shared/utils/team-action-params.js';
10
+ import { buildTeamListParams } from './shared/utils/team-params.js';
11
+ import { TozClient } from './toz-client.js';
9
12
  export class SomaClient {
10
13
  http;
11
14
  options;
12
15
  loginCredentials;
16
+ // Single-flight guard: SWMaestro kills a session if it sees parallel logins for it.
17
+ reloginInFlight = null;
13
18
  mentoring;
14
19
  room;
15
20
  dashboard;
@@ -17,7 +22,8 @@ export class SomaClient {
17
22
  report;
18
23
  team;
19
24
  member;
20
- event;
25
+ schedule;
26
+ toz;
21
27
  constructor(options = {}) {
22
28
  this.options = options;
23
29
  this.loginCredentials =
@@ -40,9 +46,10 @@ export class SomaClient {
40
46
  search: options?.search,
41
47
  user,
42
48
  }));
49
+ const items = formatters.parseMentoringList(html);
43
50
  return {
44
- items: formatters.parseMentoringList(html),
45
- pagination: formatters.parsePagination(html),
51
+ items,
52
+ pagination: formatters.parsePagination(html, { itemCount: items.length }),
46
53
  };
47
54
  },
48
55
  get: async (id) => {
@@ -61,18 +68,26 @@ export class SomaClient {
61
68
  },
62
69
  update: async (id, params) => {
63
70
  await this.requireAuth();
64
- const existing = await this.mentoring.get(id);
71
+ const [editHtml, viewHtml] = await Promise.all([
72
+ this.http.get('/mypage/mentoLec/forUpdate.do', { menuNo: MENU_NO.MENTORING, qustnrSn: String(id) }),
73
+ this.http.get('/mypage/mentoLec/view.do', { menuNo: MENU_NO.MENTORING, qustnrSn: String(id) }),
74
+ ]);
75
+ const existing = formatters.parseMentoringEditForm(editHtml, id);
76
+ const existingContent = formatters.parseMentoringDetail(viewHtml, id).content;
65
77
  const merged = buildUpdateMentoringPayload(id, {
66
78
  title: params.title ?? existing.title,
67
- type: params.type ?? toMentoringType(existing.type),
68
- date: params.date ?? existing.sessionDate,
69
- startTime: params.startTime ?? existing.sessionTime.start,
70
- endTime: params.endTime ?? existing.sessionTime.end,
71
- venue: params.venue ?? existing.venue,
72
- maxAttendees: params.maxAttendees ?? existing.attendees.max,
73
- regStart: params.regStart ?? existing.registrationPeriod.start,
74
- regEnd: params.regEnd ?? existing.registrationPeriod.end,
75
- content: params.content ?? existing.content,
79
+ type: params.type ?? (existing.reportCd === 'MRC020' ? 'lecture' : 'public'),
80
+ date: params.date ?? existing.eventDt,
81
+ startTime: params.startTime ?? existing.eventStime,
82
+ endTime: params.endTime ?? existing.eventEtime,
83
+ venue: params.venue ?? existing.place,
84
+ maxAttendees: params.maxAttendees ?? existing.applyCnt,
85
+ receiptType: params.receiptType ?? existing.receiptType,
86
+ regStart: params.regStart ?? existing.bgndeDate,
87
+ regStartTime: params.regStartTime ?? existing.bgndeTime,
88
+ regEnd: params.regEnd ?? existing.enddeDate,
89
+ regEndTime: params.regEndTime ?? existing.enddeTime,
90
+ content: params.content ?? existingContent,
76
91
  });
77
92
  const html = await this.http.postForm('/mypage/mentoLec/update.do', merged);
78
93
  if (this.containsErrorIndicator(html)) {
@@ -97,9 +112,10 @@ export class SomaClient {
97
112
  menuNo: MENU_NO.APPLICATION_HISTORY,
98
113
  ...(options?.page ? { pageIndex: String(options.page) } : {}),
99
114
  });
115
+ const items = formatters.parseApplicationHistory(html);
100
116
  return {
101
- items: formatters.parseApplicationHistory(html),
102
- pagination: formatters.parsePagination(html),
117
+ items,
118
+ pagination: formatters.parsePagination(html, { itemCount: items.length }),
103
119
  };
104
120
  },
105
121
  };
@@ -143,15 +159,73 @@ export class SomaClient {
143
159
  await this.requireAuth();
144
160
  await this.http.post('/mypage/itemRent/insert.do', buildRoomReservationPayload(params));
145
161
  },
162
+ get: async (rentId) => {
163
+ await this.requireAuth();
164
+ return formatters.parseRoomReservationDetail(await this.http.get('/mypage/itemRent/view.do', {
165
+ menuNo: MENU_NO.ROOM,
166
+ rentId: String(rentId),
167
+ }));
168
+ },
169
+ update: async (rentId, params = {}) => {
170
+ await this.requireAuth();
171
+ const existing = await this.room.get(rentId);
172
+ await this.postRoomUpdate(buildRoomUpdatePayload(existing, params));
173
+ },
174
+ cancel: async (rentId) => {
175
+ await this.requireAuth();
176
+ const existing = await this.room.get(rentId);
177
+ await this.postRoomUpdate(buildRoomCancelPayload(existing));
178
+ },
179
+ reservations: async (options) => {
180
+ await this.requireAuth();
181
+ const params = {
182
+ menuNo: MENU_NO.ROOM,
183
+ pageIndex: String(options?.page ?? 1),
184
+ };
185
+ if (options?.startDate)
186
+ params.sdate = options.startDate;
187
+ if (options?.endDate)
188
+ params.edate = options.endDate;
189
+ const status = options?.status ?? 'confirmed';
190
+ if (status !== 'all') {
191
+ params.searchStat = status === 'cancelled' ? 'RS002' : 'RS001';
192
+ }
193
+ const html = await this.http.get('/mypage/itemRent/list.do', params);
194
+ const items = formatters.parseRoomReservationList(html);
195
+ return {
196
+ items,
197
+ pagination: formatters.parsePagination(html, { itemCount: items.length }),
198
+ };
199
+ },
146
200
  };
147
201
  this.dashboard = {
148
202
  get: async () => {
149
203
  await this.requireAuth();
150
- const [dashboard, { items: myMentoring }] = await Promise.all([
151
- formatters.parseDashboard(await this.http.get('/mypage/myMain/dashboard.do', { menuNo: MENU_NO.DASHBOARD })),
152
- this.mentoring.list({ search: { field: 'author', value: '@me', me: true } }),
204
+ const dashboard = formatters.parseDashboard(await this.http.get('/mypage/myMain/dashboard.do', { menuNo: MENU_NO.DASHBOARD }));
205
+ const trainee = isTraineeRole(dashboard.role);
206
+ const teamSearchField = trainee ? 'member' : 'mentor';
207
+ if (trainee) {
208
+ const [firstPage, teams] = await Promise.all([
209
+ this.mentoring.history(),
210
+ this.team.list({ search: { field: teamSearchField, value: '@me', me: true } }),
211
+ ]);
212
+ const remainingPages = await Promise.all(Array.from({ length: Math.max(0, firstPage.pagination.totalPages - 1) }, (_, i) => this.mentoring.history({ page: i + 2 })));
213
+ const historyItems = [firstPage, ...remainingPages].flatMap((p) => p.items);
214
+ dashboard.mentoringSessions = sortDashboardMentoringItems(historyItems
215
+ .map(applicationHistoryToDashboardItem)
216
+ .filter((item) => item !== null));
217
+ dashboard.teams = teams.teams;
218
+ return dashboard;
219
+ }
220
+ const search = { field: 'author', value: '@me', me: true };
221
+ const [firstPage, teams] = await Promise.all([
222
+ this.mentoring.list({ search }),
223
+ this.team.list({ search: { field: teamSearchField, value: '@me', me: true } }),
153
224
  ]);
154
- dashboard.mentoringSessions = myMentoring.map((item) => ({
225
+ // Exhaust pagination: dashboard time totals must span the whole month, not just page 1.
226
+ const remainingPages = await Promise.all(Array.from({ length: Math.max(0, firstPage.pagination.totalPages - 1) }, (_, i) => this.mentoring.list({ search, page: i + 2 })));
227
+ const myMentoring = [firstPage, ...remainingPages].flatMap((p) => p.items);
228
+ dashboard.mentoringSessions = sortDashboardMentoringItems(myMentoring.map((item) => ({
155
229
  title: item.title,
156
230
  url: `/mypage/mentoLec/view.do?qustnrSn=${item.id}`,
157
231
  status: item.status,
@@ -159,7 +233,8 @@ export class SomaClient {
159
233
  time: item.sessionTime.start,
160
234
  timeEnd: item.sessionTime.end,
161
235
  type: item.type,
162
- }));
236
+ })));
237
+ dashboard.teams = teams.teams;
163
238
  return dashboard;
164
239
  },
165
240
  };
@@ -170,9 +245,10 @@ export class SomaClient {
170
245
  menuNo: MENU_NO.NOTICE,
171
246
  ...(options?.page ? { pageIndex: String(options.page) } : {}),
172
247
  });
248
+ const items = formatters.parseNoticeList(html);
173
249
  return {
174
- items: formatters.parseNoticeList(html),
175
- pagination: formatters.parsePagination(html),
250
+ items,
251
+ pagination: formatters.parsePagination(html, { itemCount: items.length }),
176
252
  };
177
253
  },
178
254
  get: async (id) => {
@@ -195,9 +271,10 @@ export class SomaClient {
195
271
  if (options?.searchKeyword)
196
272
  params.searchWrd = options.searchKeyword;
197
273
  const html = await this.http.get('/mypage/mentoringReport/list.do', params);
274
+ const items = formatters.parseReportList(html);
198
275
  return {
199
- items: formatters.parseReportList(html),
200
- pagination: formatters.parsePagination(html),
276
+ items,
277
+ pagination: formatters.parsePagination(html, { itemCount: items.length }),
201
278
  };
202
279
  },
203
280
  get: async (id) => {
@@ -291,16 +368,24 @@ export class SomaClient {
291
368
  if (options?.reportType !== undefined)
292
369
  params.searchReport = options.reportType;
293
370
  const html = await this.http.get('/mypage/mentoringReport/resultList.do', params);
371
+ const items = formatters.parseApprovalList(html);
294
372
  return {
295
- items: formatters.parseApprovalList(html),
296
- pagination: formatters.parsePagination(html),
373
+ items,
374
+ pagination: formatters.parsePagination(html, { itemCount: items.length }),
297
375
  };
298
376
  },
299
377
  };
300
378
  this.team = {
301
- show: async () => {
379
+ list: async (options) => {
302
380
  await this.requireAuth();
303
- return formatters.parseTeamInfo(await this.http.get('/mypage/myTeam/team.do', { menuNo: MENU_NO.TEAM }));
381
+ const user = options?.search?.me ? await this.resolveUser() : undefined;
382
+ return formatters.parseTeamInfo(await this.http.get('/mypage/myTeam/team.do', buildTeamListParams({ search: options?.search, user })));
383
+ },
384
+ join: async (teamId) => {
385
+ await this.postTeamAction('/mypage/myTeam/updateUserTeamIn.json', teamId, '팀 참여에 실패했습니다.');
386
+ },
387
+ leave: async (teamId) => {
388
+ await this.postTeamAction('/mypage/myTeam/updateUserTeamOut.json', teamId, '팀 탈퇴에 실패했습니다.');
304
389
  },
305
390
  };
306
391
  this.member = {
@@ -309,30 +394,20 @@ export class SomaClient {
309
394
  return formatters.parseMemberInfo(await this.http.get('/mypage/myInfo/forUpdateMy.do', { menuNo: MENU_NO.MEMBER_INFO }));
310
395
  },
311
396
  };
312
- this.event = {
397
+ this.schedule = {
313
398
  list: async (options) => {
314
399
  await this.requireAuth();
315
- const html = await this.http.get('/mypage/applicants/list.do', {
316
- menuNo: MENU_NO.EVENT,
400
+ const html = await this.http.get('/mypage/schedule/list.do', {
401
+ menuNo: MENU_NO.SCHEDULE,
317
402
  ...(options?.page ? { pageIndex: String(options.page) } : {}),
318
403
  });
319
- return {
320
- items: formatters.parseEventList(html),
321
- pagination: formatters.parsePagination(html),
322
- };
323
- },
324
- get: async (id) => {
325
- await this.requireAuth();
326
- return parseEventDetail(await this.http.get('/mypage/applicants/view.do', {
327
- menuNo: MENU_NO.EVENT,
328
- bbsId: String(id),
329
- }));
330
- },
331
- apply: async (id) => {
332
- await this.requireAuth();
333
- await this.http.post('/application/application/application.do', buildApplicationPayload(id));
404
+ return formatters.parseScheduleList(html);
334
405
  },
335
406
  };
407
+ this.toz = new TozClient({
408
+ name: options.tozName,
409
+ phone: options.tozPhone,
410
+ });
336
411
  }
337
412
  getSessionData() {
338
413
  return {
@@ -343,13 +418,25 @@ export class SomaClient {
343
418
  async requireAuth() {
344
419
  let identity = await this.http.checkLogin();
345
420
  if (!identity && this.loginCredentials) {
346
- await this.http.login(this.loginCredentials.username, this.loginCredentials.password);
421
+ await this.relogin();
347
422
  identity = await this.http.checkLogin();
348
423
  }
349
424
  if (!identity) {
350
425
  throw new AuthenticationError();
351
426
  }
352
427
  }
428
+ async relogin() {
429
+ if (!this.loginCredentials) {
430
+ throw new AuthenticationError();
431
+ }
432
+ if (!this.reloginInFlight) {
433
+ const { username, password } = this.loginCredentials;
434
+ this.reloginInFlight = this.http.login(username, password).finally(() => {
435
+ this.reloginInFlight = null;
436
+ });
437
+ }
438
+ await this.reloginInFlight;
439
+ }
353
440
  async resolveUser() {
354
441
  const identity = await this.http.checkLogin();
355
442
  return identity ?? undefined;
@@ -369,6 +456,9 @@ export class SomaClient {
369
456
  async isLoggedIn() {
370
457
  return Boolean(await this.http.checkLogin());
371
458
  }
459
+ async whoami() {
460
+ return this.http.checkLogin();
461
+ }
372
462
  async logout() {
373
463
  await this.http.logout();
374
464
  }
@@ -386,6 +476,30 @@ export class SomaClient {
386
476
  loggedInAt: new Date().toISOString(),
387
477
  });
388
478
  }
479
+ async postTeamAction(path, teamId, fallbackMessage) {
480
+ await this.requireAuth();
481
+ const user = await this.resolveUser();
482
+ if (!user)
483
+ throw new AuthenticationError();
484
+ if (!user.userNo) {
485
+ throw new Error('현재 사용자의 userNo를 확인할 수 없습니다.');
486
+ }
487
+ const response = await this.http.postJson(path, buildTeamActionPayload(teamId, user));
488
+ if (response.resultCode !== 'success') {
489
+ throw new Error(fallbackMessage);
490
+ }
491
+ }
492
+ async postRoomUpdate(payload) {
493
+ try {
494
+ await this.http.post('/mypage/itemRent/update.do', payload);
495
+ }
496
+ catch (error) {
497
+ if (error instanceof Error && isSuccessAlertMessage(error.message)) {
498
+ return;
499
+ }
500
+ throw error;
501
+ }
502
+ }
389
503
  containsErrorIndicator(html) {
390
504
  const errorPatterns = [
391
505
  'class="error"',
@@ -396,13 +510,19 @@ export class SomaClient {
396
510
  '실패하였습니다',
397
511
  '잘못된 접근',
398
512
  '권한이 없습니다',
399
- '<script>alert(',
400
513
  ];
401
- return errorPatterns.some((pattern) => html.includes(pattern));
514
+ if (errorPatterns.some((pattern) => html.includes(pattern))) {
515
+ return true;
516
+ }
517
+ const alertMatch = html.match(/<script[^>]*>\s*alert\(['"](.+?)['"]\)/);
518
+ if (alertMatch && !isSuccessAlertMessage(alertMatch[1])) {
519
+ return true;
520
+ }
521
+ return false;
402
522
  }
403
523
  extractErrorMessage(html) {
404
- const alertMatch = html.match(/<script>alert\(['"](.+?)['"]\)/);
405
- if (alertMatch) {
524
+ const alertMatch = html.match(/<script[^>]*>\s*alert\(['"](.+?)['"]\)/);
525
+ if (alertMatch && !isSuccessAlertMessage(alertMatch[1])) {
406
526
  return alertMatch[1];
407
527
  }
408
528
  const errorDivMatch = html.match(/class="error[^"]*"[^>]*>\s*([^<]+)/);
@@ -412,4 +532,56 @@ export class SomaClient {
412
532
  return null;
413
533
  }
414
534
  }
535
+ function isTraineeRole(role) {
536
+ return role.includes('연수생');
537
+ }
538
+ function applicationHistoryToDashboardItem(item) {
539
+ if (item.applicationStatus.includes('취소'))
540
+ return null;
541
+ const type = applicationCategoryToMentoringType(item.category);
542
+ if (!type)
543
+ return null;
544
+ const { date, time, timeEnd } = parseApplicationSessionDate(item.sessionDate);
545
+ if (date && date < new Date().toISOString().slice(0, 10))
546
+ return null;
547
+ return {
548
+ title: item.title,
549
+ url: item.url ?? '/mentoring/history',
550
+ status: item.applicationStatus,
551
+ ...(date ? { date } : {}),
552
+ ...(time ? { time } : {}),
553
+ ...(timeEnd ? { timeEnd } : {}),
554
+ type,
555
+ };
556
+ }
557
+ function sortDashboardMentoringItems(items) {
558
+ return [...items].sort((a, b) => dashboardMentoringSortKey(a).localeCompare(dashboardMentoringSortKey(b)));
559
+ }
560
+ function dashboardMentoringSortKey(item) {
561
+ return `${item.date || '9999-12-31'} ${item.time || '99:99'}`;
562
+ }
563
+ function applicationCategoryToMentoringType(category) {
564
+ const compact = category.replace(/\s+/g, '');
565
+ if (compact.includes('특강'))
566
+ return '멘토 특강';
567
+ if (compact.includes('멘토링'))
568
+ return '자유 멘토링';
569
+ return null;
570
+ }
571
+ function parseApplicationSessionDate(value) {
572
+ const date = value.match(/\d{4}-\d{2}-\d{2}/)?.[0];
573
+ const times = value.match(/\d{1,2}:\d{2}(?::\d{2})?/g)?.map(normalizeDashboardTime) ?? [];
574
+ return {
575
+ ...(date ? { date } : {}),
576
+ ...(times[0] ? { time: times[0] } : {}),
577
+ ...(times[1] ? { timeEnd: times[1] } : {}),
578
+ };
579
+ }
580
+ function normalizeDashboardTime(value) {
581
+ const [hours = '', minutes = ''] = value.split(':');
582
+ return `${hours.padStart(2, '0')}:${minutes}`;
583
+ }
584
+ function isSuccessAlertMessage(message) {
585
+ return /정상적으로|등록\s?하였습니다|등록\s?되었습니다|수정\s?하였습니다|수정\s?되었습니다|저장\s?되었습니다|완료\s?되었습니다|삭제\s?되었습니다|취소\s?되었습니다/.test(message);
586
+ }
415
587
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const agentBrowserCommand: Command;
3
+ //# sourceMappingURL=agent-browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-browser.d.ts","sourceRoot":"","sources":["../../../src/commands/agent-browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAwBnC,eAAO,MAAM,mBAAmB,SAQ7B,CAAA"}
@@ -0,0 +1,27 @@
1
+ import { Command } from 'commander';
2
+ import { AgentBrowserLauncher } from '../agent-browser-launcher.js';
3
+ import { handleError } from '../shared/utils/error-handler.js';
4
+ import { createAuthenticatedHttp } from './helpers.js';
5
+ async function launchAction(url, options) {
6
+ try {
7
+ const http = await createAuthenticatedHttp();
8
+ const sessionCookie = http.getSessionCookie();
9
+ if (!sessionCookie) {
10
+ throw new Error('Authenticated session is missing a session cookie. Run: opensoma auth login');
11
+ }
12
+ const launcher = new AgentBrowserLauncher({ binary: options.binary });
13
+ const { exitCode } = await launcher.launch({ url, sessionCookie });
14
+ process.exit(exitCode);
15
+ }
16
+ catch (error) {
17
+ handleError(error);
18
+ }
19
+ }
20
+ export const agentBrowserCommand = new Command('agent-browser')
21
+ .description('Launch agent-browser pre-authenticated to swmaestro.ai')
22
+ .addCommand(new Command('launch')
23
+ .description('Open a swmaestro.ai URL in agent-browser with the current opensoma session injected')
24
+ .argument('<url>', 'swmaestro.ai URL to open')
25
+ .option('--binary <path>', 'Path to the agent-browser executable (default: agent-browser on PATH)')
26
+ .action(launchAction));
27
+ //# sourceMappingURL=agent-browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-browser.js","sourceRoot":"","sources":["../../../src/commands/agent-browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAInD,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,OAAsB;IAC7D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,uBAAuB,EAAE,CAAA;QAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAA;QAChG,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QACrE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAA;QAClE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC;KAC5D,WAAW,CAAC,wDAAwD,CAAC;KACrE,UAAU,CACT,IAAI,OAAO,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,qFAAqF,CAAC;KAClG,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;KAC7C,MAAM,CAAC,iBAAiB,EAAE,uEAAuE,CAAC;KAClG,MAAM,CAAC,YAAY,CAAC,CACxB,CAAA"}
@@ -3,7 +3,7 @@ import { CredentialManager } from '../credential-manager.js';
3
3
  import { SomaHttp } from '../http.js';
4
4
  import type { ExtractedSessionCandidate } from '../token-extractor.js';
5
5
  type ExtractedSessionValidator = Pick<SomaHttp, 'checkLogin' | 'extractCsrfToken'>;
6
- type CredentialStore = Pick<CredentialManager, 'getCredentials' | 'remove' | 'setCredentials'>;
6
+ type CredentialStore = Pick<CredentialManager, 'clearSessionState' | 'getCredentials' | 'setCredentials'>;
7
7
  type StatusValidator = Pick<SomaHttp, 'checkLogin'>;
8
8
  type ReloginHttp = Pick<SomaHttp, 'checkLogin' | 'getCsrfToken' | 'getSessionCookie' | 'login'>;
9
9
  type BrowserExtractor = () => Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/commands/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAIlC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AA+FnE,KAAK,yBAAyB,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,kBAAkB,CAAC,CAAA;AAClF,KAAK,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,QAAQ,GAAG,gBAAgB,CAAC,CAAA;AAC9F,KAAK,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;AACnD,KAAK,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,cAAc,GAAG,kBAAkB,GAAG,OAAO,CAAC,CAAA;AAC/F,KAAK,gBAAgB,GAAG,MAAM,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAAA;AAe1F,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,yBAAyB,EAAE,EACvC,eAAe,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,yBACX,EACjC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA8B9D;AAqED,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,eAAyC,EAClD,eAAe,GAAE,CAAC,WAAW,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KAAK,eACc,EAC9F,iBAAiB,GAAE,MAAM,WAAkC,EAC3D,iBAAiB,GAAE,gBAAmD,GACrE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAsElD;AAiDD,eAAO,MAAM,WAAW,SA4BrB,CAAA"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/commands/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAIlC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AA+FnE,KAAK,yBAAyB,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,kBAAkB,CAAC,CAAA;AAClF,KAAK,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,mBAAmB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC,CAAA;AACzG,KAAK,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;AACnD,KAAK,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,cAAc,GAAG,kBAAkB,GAAG,OAAO,CAAC,CAAA;AAC/F,KAAK,gBAAgB,GAAG,MAAM,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAAA;AAe1F,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,yBAAyB,EAAE,EACvC,eAAe,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,yBACX,EACjC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA8B9D;AAqED,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,eAAyC,EAClD,eAAe,GAAE,CAAC,WAAW,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KAAK,eACc,EAC9F,iBAAiB,GAAE,MAAM,WAAkC,EAC3D,iBAAiB,GAAE,gBAAmD,GACrE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAwElD;AAiDD,eAAO,MAAM,WAAW,SA4BrB,CAAA"}
@@ -234,11 +234,13 @@ export async function inspectStoredAuthStatus(manager = new CredentialManager(),
234
234
  catch {
235
235
  // Browser extraction failed — fall through to credential removal
236
236
  }
237
- await manager.remove();
237
+ await manager.clearSessionState();
238
+ const post = await manager.getCredentials();
238
239
  return {
239
240
  authenticated: false,
240
241
  credentials: null,
241
- clearedStaleCredentials: true,
242
+ clearedStaleSession: true,
243
+ preservedRecoveryCredentials: Boolean(post?.username || post?.password),
242
244
  hint: EXPIRED_SESSION_HINT,
243
245
  };
244
246
  }