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
@@ -10,14 +10,39 @@ export function toMentoringType(type) {
10
10
  return 'lecture';
11
11
  return 'public';
12
12
  }
13
+ function sanitizeTitle(title) {
14
+ return title.replace(/"/g, "'");
15
+ }
16
+ export function resolveMaxAttendees(type, maxAttendees) {
17
+ if (maxAttendees !== undefined) {
18
+ validateAttendeeCount(type, maxAttendees);
19
+ return maxAttendees;
20
+ }
21
+ return type === 'lecture' ? 6 : 3;
22
+ }
23
+ export function validateAttendeeCount(type, count) {
24
+ if (type === 'public' && (count < 2 || count > 5)) {
25
+ throw new Error('자유 멘토링은 2명 이상 5명 이하로 설정해야 합니다.');
26
+ }
27
+ if (type === 'lecture' && count < 6) {
28
+ throw new Error('멘토 특강은 6명 이상으로 설정해야 합니다.');
29
+ }
30
+ }
13
31
  export function buildMentoringPayload(params) {
32
+ const receiptType = params.receiptType ?? 'UNTIL_LECTURE';
33
+ const bgndeDate = params.regStart ?? params.date;
34
+ const bgndeTime = params.regStartTime ?? '00:00';
35
+ const { enddeDate, enddeTime } = resolveReceiptEnd(receiptType, params);
14
36
  return {
15
37
  menuNo: MENU_NO.MENTORING,
16
38
  reportCd: toReportCd(params.type),
17
- qustnrSj: params.title,
18
- bgnde: params.regStart ?? params.date,
19
- endde: params.regEnd ?? params.date,
20
- applyCnt: String(params.maxAttendees ?? (params.type === 'lecture' ? 6 : 1)),
39
+ qustnrSj: sanitizeTitle(params.title),
40
+ receiptType,
41
+ bgndeDate,
42
+ bgndeTime,
43
+ enddeDate,
44
+ enddeTime,
45
+ applyCnt: String(resolveMaxAttendees(params.type, params.maxAttendees)),
21
46
  eventDt: params.date,
22
47
  eventStime: params.startTime,
23
48
  eventEtime: params.endTime,
@@ -25,13 +50,22 @@ export function buildMentoringPayload(params) {
25
50
  qestnarCn: formatEditorContent(params.content ?? ''),
26
51
  atchFileId: '',
27
52
  fileFieldNm_1: '',
28
- stateCd: 'QST020',
53
+ stateCd: 'A',
29
54
  openAt: 'Y',
30
- qustnrAt: 'Y',
55
+ qustnrAt: 'N',
31
56
  qustnrSn: '',
32
57
  pageQueryString: '',
33
58
  };
34
59
  }
60
+ function resolveReceiptEnd(receiptType, params) {
61
+ if (receiptType === 'UNTIL_LECTURE') {
62
+ return { enddeDate: params.date, enddeTime: params.startTime };
63
+ }
64
+ return {
65
+ enddeDate: params.regEnd ?? params.date,
66
+ enddeTime: params.regEndTime ?? params.startTime,
67
+ };
68
+ }
35
69
  export function buildUpdateMentoringPayload(id, params) {
36
70
  return {
37
71
  ...buildMentoringPayload(params),
@@ -47,7 +81,7 @@ export function buildDeleteMentoringPayload(id) {
47
81
  }
48
82
  export function buildApplicationPayload(id) {
49
83
  return {
50
- menuNo: MENU_NO.EVENT,
84
+ menuNo: MENU_NO.MENTORING,
51
85
  qustnrSn: String(id),
52
86
  applyGb: 'C',
53
87
  stepHeader: '0',
@@ -99,6 +133,16 @@ export function validateReservationSlots(slots) {
99
133
  }
100
134
  }
101
135
  }
136
+ // Mirror the native /officeMng/view.do form, which sets rentEndde to
137
+ // `${lastSlot.hour}:${lastSlot.minute + 29}` (see the native JS:
138
+ // `et = last.data('hour')+':'+(last.data('minute')*1+29)`). Last slot '13:30'
139
+ // becomes '13:59'; last slot '12:00' becomes '12:29'. Native does not carry
140
+ // minutes into the hour, so we replicate that string-concat behavior exactly.
141
+ function slotNativeEnd(slot) {
142
+ const [hourPart, minutePart] = slot.split(':');
143
+ const minute = Number(minutePart) + 29;
144
+ return `${hourPart}:${String(minute).padStart(2, '0')}`;
145
+ }
102
146
  export function buildRoomReservationPayload(params) {
103
147
  validateReservationSlots(params.slots);
104
148
  const firstSlot = params.slots[0];
@@ -107,7 +151,7 @@ export function buildRoomReservationPayload(params) {
107
151
  menuNo: MENU_NO.ROOM,
108
152
  itemId: String(params.roomId),
109
153
  rentBgnde: `${params.date} ${firstSlot}:00`,
110
- rentEndde: `${params.date} ${lastSlot}:00`,
154
+ rentEndde: `${params.date} ${slotNativeEnd(lastSlot)}:00`,
111
155
  title: params.title,
112
156
  rentDt: params.date,
113
157
  rentNum: String(params.attendees ?? 1),
@@ -121,6 +165,52 @@ export function buildRoomReservationPayload(params) {
121
165
  });
122
166
  return payload;
123
167
  }
168
+ export function buildRoomUpdatePayload(existing, params = {}) {
169
+ const roomId = params.roomId ?? existing.itemId;
170
+ const date = params.date ?? existing.date;
171
+ let startTime = existing.startTime;
172
+ let endTime = existing.endTime;
173
+ if (params.slots?.length) {
174
+ validateReservationSlots(params.slots);
175
+ startTime = params.slots[0];
176
+ endTime = slotNativeEnd(params.slots[params.slots.length - 1]);
177
+ }
178
+ const payload = {
179
+ menuNo: MENU_NO.ROOM,
180
+ rentId: String(existing.rentId),
181
+ itemId: String(roomId),
182
+ receiptStatCd: existing.statusCode || 'RS001',
183
+ title: params.title ?? existing.title,
184
+ rentDt: date,
185
+ rentBgnde: `${date} ${startTime}:00`,
186
+ rentEndde: `${date} ${endTime}:00`,
187
+ infoCn: params.notes ?? existing.notes,
188
+ rentNum: String(params.attendees ?? existing.attendees),
189
+ pageQueryString: '',
190
+ };
191
+ if (params.slots?.length) {
192
+ params.slots.forEach((slot, index) => {
193
+ payload[`time[${index}]`] = slot;
194
+ payload[`chkData_${index + 1}`] = `${date}|${slot}|${roomId}`;
195
+ });
196
+ }
197
+ return payload;
198
+ }
199
+ export function buildRoomCancelPayload(existing) {
200
+ return {
201
+ menuNo: MENU_NO.ROOM,
202
+ rentId: String(existing.rentId),
203
+ itemId: String(existing.itemId),
204
+ receiptStatCd: 'RS002',
205
+ title: existing.title,
206
+ rentDt: existing.date,
207
+ rentBgnde: `${existing.date} ${existing.startTime}:00`,
208
+ rentEndde: `${existing.date} ${existing.endTime}:00`,
209
+ infoCn: existing.notes,
210
+ rentNum: String(existing.attendees),
211
+ pageQueryString: '',
212
+ };
213
+ }
124
214
  export function parseApplicationHistory(html) {
125
215
  const root = parse(html);
126
216
  const rows = root.querySelectorAll('table tbody tr').length > 0
@@ -136,41 +226,14 @@ export function parseApplicationHistory(html) {
136
226
  status: cleanText(cells[3]?.text),
137
227
  }));
138
228
  }
139
- export function parseEventDetail(html) {
140
- const root = parse(html);
141
- const labels = extractLabelMap(root);
142
- const contentNode = root.querySelector('[data-content]') ??
143
- root.querySelector('.board-view-content') ??
144
- root.querySelector('.view-content') ??
145
- root.querySelector('.content-body');
146
- return {
147
- id: extractNumber(labels.NO ?? labels.번호 ?? root.querySelector('[name="bbsId"]')?.getAttribute('value') ?? '0'),
148
- title: labels.제목 ?? cleanText(root.querySelector('h1, h2, .title')?.text),
149
- content: decodeHtmlEntities(contentNode?.innerHTML.trim() ?? ''),
150
- fields: labels,
151
- };
152
- }
153
- function extractLabelMap(root) {
154
- const map = {};
155
- for (const row of root.querySelectorAll('tr')) {
156
- const headers = row.querySelectorAll('th');
157
- const values = row.querySelectorAll('td');
158
- if (headers.length === 1 && values.length === 1) {
159
- map[cleanText(headers[0]?.text).replace(/:$/, '')] = cleanText(values[0]?.text);
160
- }
161
- if (headers.length > 1 && headers.length === values.length) {
162
- headers.forEach((header, index) => {
163
- map[cleanText(header.text).replace(/:$/, '')] = cleanText(values[index]?.text);
164
- });
165
- }
166
- }
167
- return map;
168
- }
169
229
  const EDITOR_P_STYLE = 'font-family: 굴림; font-size: 12pt; line-height: 1.2; margin-top: 0px; margin-bottom: 0px;';
230
+ const EMPTY_EDITOR_HTML = `<p style="${EDITOR_P_STYLE}">&nbsp;</p>`;
170
231
  function formatEditorContent(content) {
171
232
  if (!content)
172
- return '';
233
+ return EMPTY_EDITOR_HTML;
173
234
  const decoded = decodeHtmlEntities(content);
235
+ if (!decoded.trim())
236
+ return EMPTY_EDITOR_HTML;
174
237
  if (/<(?:p|div|h[1-6]|ul|ol|table|br)\b/i.test(decoded)) {
175
238
  return decoded;
176
239
  }
@@ -1 +1 @@
1
- {"version":3,"file":"swmaestro.js","sourceRoot":"","sources":["../../../../src/shared/utils/swmaestro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swmaestro.js","sourceRoot":"","sources":["../../../../src/shared/utils/swmaestro.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type UserIdentity } from '../../http.js';
2
+ export declare function buildTeamActionPayload(teamId: string, user: UserIdentity): Record<string, string>;
3
+ //# sourceMappingURL=team-action-params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-action-params.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/team-action-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAEtD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOjG"}
@@ -0,0 +1,10 @@
1
+ import { UserGb } from '../../http.js';
2
+ export function buildTeamActionPayload(teamId, user) {
3
+ return {
4
+ userNo: user.userNo,
5
+ userNm: user.userNm,
6
+ userGb: user.userGb || UserGb.Mentor,
7
+ teamNo: teamId,
8
+ };
9
+ }
10
+ //# sourceMappingURL=team-action-params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-action-params.js","sourceRoot":"","sources":["../../../../src/shared/utils/team-action-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,YAAY,CAAA;AAEtD,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,IAAkB;IACvE,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM;QACpC,MAAM,EAAE,MAAM;KACf,CAAA;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { UserIdentity } from '../../http.js';
2
+ export interface TeamSearchQuery {
3
+ field: 'all' | 'member' | 'mentor' | 'project' | 'team';
4
+ value: string;
5
+ me?: boolean;
6
+ }
7
+ export declare function parseTeamSearchQuery(raw: string): TeamSearchQuery;
8
+ export declare function buildTeamListParams(options?: {
9
+ search?: TeamSearchQuery;
10
+ user?: UserIdentity;
11
+ }): Record<string, string>;
12
+ //# sourceMappingURL=team-params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-params.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/team-params.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAU9C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,OAAO,CAAA;CACb;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAcjE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE;IAC5C,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBzB"}
@@ -0,0 +1,38 @@
1
+ import { MENU_NO } from '../../constants.js';
2
+ const SEARCH_FIELD_MAP = {
3
+ all: '',
4
+ member: '1',
5
+ mentor: '2',
6
+ project: '3',
7
+ team: '4',
8
+ };
9
+ export function parseTeamSearchQuery(raw) {
10
+ const colonIndex = raw.indexOf(':');
11
+ if (colonIndex === -1) {
12
+ return { field: 'all', value: raw };
13
+ }
14
+ const field = raw.slice(0, colonIndex);
15
+ if (!(field in SEARCH_FIELD_MAP)) {
16
+ return { field: 'all', value: raw };
17
+ }
18
+ const value = raw.slice(colonIndex + 1);
19
+ const me = (field === 'mentor' || field === 'member') && value === '@me';
20
+ return me ? { field, value, me } : { field, value };
21
+ }
22
+ export function buildTeamListParams(options) {
23
+ const params = { menuNo: MENU_NO.TEAM };
24
+ if (options?.search) {
25
+ if (options.search.me) {
26
+ if (options.user) {
27
+ params.searchCnd = SEARCH_FIELD_MAP[options.search.field];
28
+ params.searchWrd = options.user.userNm;
29
+ }
30
+ }
31
+ else {
32
+ params.searchCnd = SEARCH_FIELD_MAP[options.search.field];
33
+ params.searchWrd = options.search.value;
34
+ }
35
+ }
36
+ return params;
37
+ }
38
+ //# sourceMappingURL=team-params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-params.js","sourceRoot":"","sources":["../../../../src/shared/utils/team-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAGzC,MAAM,gBAAgB,GAA2B;IAC/C,GAAG,EAAE,EAAE;IACP,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,GAAG;CACV,CAAA;AAQD,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACnC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;IACrC,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAA6B,CAAA;IAClE,IAAI,CAAC,CAAC,KAAK,IAAI,gBAAgB,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;IACrC,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;IACvC,MAAM,EAAE,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,CAAC,IAAI,KAAK,KAAK,KAAK,CAAA;IACxE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAGnC;IACC,MAAM,MAAM,GAA2B,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;IAE/D,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACtB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,CAAC,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACzD,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAA;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACzD,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;QACzC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,89 @@
1
+ import { TozHttp, type TozHttpOptions } from './toz-http.js';
2
+ import type { TozBooth, TozBranch, TozDuration, TozMeeting, TozReservation, TozReserved } from './types.js';
3
+ export interface TozAvailabilityQuery {
4
+ date: string;
5
+ startTime: string;
6
+ durationMinutes: number;
7
+ userCount: number;
8
+ branchIds: readonly number[];
9
+ }
10
+ export interface TozCheckQuery {
11
+ date: string;
12
+ startTimes: readonly string[];
13
+ durationMinutes: number;
14
+ userCount: number;
15
+ branchIds: readonly number[];
16
+ }
17
+ export interface TozCheckResult {
18
+ startTime: string;
19
+ booths: TozBooth[];
20
+ error?: string;
21
+ }
22
+ export interface TozReserveBoothArgs {
23
+ date: string;
24
+ startTime: string;
25
+ durationMinutes: number;
26
+ userCount: number;
27
+ boothId: number;
28
+ }
29
+ export interface TozConfirmArgs {
30
+ reservationId: string;
31
+ date: string;
32
+ startTime: string;
33
+ durationMinutes: number;
34
+ name: string;
35
+ phone: string;
36
+ email: string;
37
+ pinNum: string;
38
+ meetingId?: number;
39
+ newMeetingName?: string;
40
+ memo?: string;
41
+ }
42
+ export interface TozSearchArgs {
43
+ name?: string;
44
+ phone?: string;
45
+ startDate?: string;
46
+ endDate?: string;
47
+ meetingName?: string;
48
+ }
49
+ export interface TozCancelArgs {
50
+ reservationId: number;
51
+ name?: string;
52
+ phone?: string;
53
+ }
54
+ export interface TozClientOptions extends TozHttpOptions {
55
+ name?: string;
56
+ phone?: string;
57
+ }
58
+ export declare class TozClient {
59
+ readonly http: TozHttp;
60
+ readonly identity: {
61
+ name?: string;
62
+ phone?: string;
63
+ };
64
+ constructor(options?: TozClientOptions);
65
+ branches(): Promise<TozBranch[]>;
66
+ meetings(): Promise<TozMeeting[]>;
67
+ durations(date: string, startTime: string): Promise<TozDuration[]>;
68
+ available(query: TozAvailabilityQuery): Promise<TozBooth[]>;
69
+ check(query: TozCheckQuery): Promise<TozCheckResult[]>;
70
+ reserveBooth(args: TozReserveBoothArgs): Promise<TozReserved>;
71
+ skipEquipment(args: {
72
+ reservationId: string;
73
+ date: string;
74
+ startTime: string;
75
+ durationMinutes: number;
76
+ }): Promise<void>;
77
+ sendOtp(phone?: string): Promise<void>;
78
+ confirm(args: TozConfirmArgs): Promise<{
79
+ resultMsg: string;
80
+ isLargeBooth: boolean;
81
+ }>;
82
+ destroyHold(): Promise<void>;
83
+ myReservations(args?: TozSearchArgs): Promise<TozReservation[]>;
84
+ cancel(args: TozCancelArgs): Promise<void>;
85
+ private requireName;
86
+ private requirePhone;
87
+ private mypageLogin;
88
+ }
89
+ //# sourceMappingURL=toz-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toz-client.d.ts","sourceRoot":"","sources":["../../src/toz-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,204 @@
1
+ import { assertDurationInRange, buildBranchIdsParam, buildStartTimeParam, formatDuration, formatPhone, parseEmail, parsePhone, } from './shared/utils/toz.js';
2
+ import { isReservationConfirmSuccess, parseBookingPageBranches, parseBookingPageMeetings, parseMypageReservations, parseTozBoothes, parseTozDurations, parseTozReserved, } from './toz-formatters.js';
3
+ import { TozHttp } from './toz-http.js';
4
+ export class TozClient {
5
+ http;
6
+ identity;
7
+ constructor(options = {}) {
8
+ const { name, phone, ...httpOptions } = options;
9
+ this.http = new TozHttp(httpOptions);
10
+ this.identity = { name, phone };
11
+ }
12
+ async branches() {
13
+ await this.http.bootstrap();
14
+ return parseBookingPageBranches(await this.http.get('/booking.htm'));
15
+ }
16
+ async meetings() {
17
+ await this.http.bootstrap();
18
+ return parseBookingPageMeetings(await this.http.get('/booking.htm'));
19
+ }
20
+ async durations(date, startTime) {
21
+ await this.http.bootstrap();
22
+ const param = buildStartTimeParam(startTime);
23
+ const json = await this.http.postJson('/ajaxCheckDurationTime.htm', {
24
+ basedate: date,
25
+ hour: param.slice(0, 2),
26
+ minute: param.slice(2, 4),
27
+ });
28
+ return parseTozDurations(json);
29
+ }
30
+ async available(query) {
31
+ assertDurationInRange(query.durationMinutes);
32
+ await this.http.bootstrap();
33
+ const json = await this.http.postJson('/ajaxGetEnableBoothes.htm', {
34
+ basedate: query.date,
35
+ starttime: buildStartTimeParam(query.startTime),
36
+ durationTime: formatDuration(query.durationMinutes),
37
+ userCount: String(query.userCount),
38
+ branchIds: buildBranchIdsParam(query.branchIds),
39
+ });
40
+ return parseTozBoothes(json);
41
+ }
42
+ async check(query) {
43
+ if (query.startTimes.length === 0) {
44
+ throw new Error('toz check requires at least one --time. For a single slot, use `toz available` instead.');
45
+ }
46
+ if (query.startTimes.length > 6) {
47
+ throw new Error('Too many times (max 6 per invocation). Consider `toz available` for a single slot, or split into multiple invocations.');
48
+ }
49
+ assertDurationInRange(query.durationMinutes);
50
+ await this.http.bootstrap();
51
+ const results = [];
52
+ for (let i = 0; i < query.startTimes.length; i += 1) {
53
+ const startTime = query.startTimes[i];
54
+ try {
55
+ const booths = await this.available({
56
+ date: query.date,
57
+ startTime,
58
+ durationMinutes: query.durationMinutes,
59
+ userCount: query.userCount,
60
+ branchIds: query.branchIds,
61
+ });
62
+ results.push({ startTime, booths });
63
+ }
64
+ catch (error) {
65
+ results.push({
66
+ startTime,
67
+ booths: [],
68
+ error: error instanceof Error ? error.message : String(error),
69
+ });
70
+ }
71
+ if (i < query.startTimes.length - 1)
72
+ await sleep(500);
73
+ }
74
+ return results;
75
+ }
76
+ async reserveBooth(args) {
77
+ assertDurationInRange(args.durationMinutes);
78
+ await this.http.bootstrap();
79
+ const json = await this.http.postJson('/ajaxReservationBooth.htm', {
80
+ basedate: args.date,
81
+ starttime: buildStartTimeParam(args.startTime),
82
+ durationTime: formatDuration(args.durationMinutes),
83
+ userCount: String(args.userCount),
84
+ booth_id: String(args.boothId),
85
+ });
86
+ const reserved = parseTozReserved(json);
87
+ if (reserved.isLargeBooth) {
88
+ throw new Error('대형부스 예약은 선입금 약관 동의가 필요합니다. v1에서는 지원하지 않습니다 (small booths only).');
89
+ }
90
+ return reserved;
91
+ }
92
+ async skipEquipment(args) {
93
+ await this.http.postText('/ajaxReservationEquipment.htm', {
94
+ reservationId: args.reservationId,
95
+ basedate: args.date,
96
+ starttime: buildStartTimeParam(args.startTime),
97
+ durationTime: formatDuration(args.durationMinutes),
98
+ equipmentNotebookChecked: 'false',
99
+ equipmentProjectorChecked: 'false',
100
+ equipmentMonitorChecked: 'false',
101
+ equipmentPlayerChecked: 'false',
102
+ equipmentSpeakerChecked: 'false',
103
+ equipmentNotebookCnt: '0',
104
+ equipmentProjectorCnt: '0',
105
+ equipmentMonitorCnt: '0',
106
+ equipmentPlayerCnt: '0',
107
+ equipmentSpeakerCnt: '0',
108
+ });
109
+ }
110
+ async sendOtp(phone) {
111
+ const parts = parsePhone(this.requirePhone(phone));
112
+ const result = await this.http.postText('/ajaxHpVerify.htm', { ...parts });
113
+ if (result !== 'SUCCESS') {
114
+ throw new Error(`OTP 발송 실패: ${result}`);
115
+ }
116
+ }
117
+ async confirm(args) {
118
+ if (!args.meetingId && !args.newMeetingName) {
119
+ throw new Error('meetingId 또는 newMeetingName 중 하나는 필수입니다.');
120
+ }
121
+ const phoneParts = parsePhone(args.phone);
122
+ const emailParts = parseEmail(args.email);
123
+ const json = await this.http.postJson('/ajaxReservationConfirm.htm', {
124
+ reservationId: args.reservationId,
125
+ phone: formatPhone(phoneParts),
126
+ ...phoneParts,
127
+ name: args.name,
128
+ pinNum: args.pinNum,
129
+ ...emailParts,
130
+ meeting_id: args.meetingId ? String(args.meetingId) : '새모임',
131
+ newMeetingName: args.newMeetingName ?? '',
132
+ prepareMemo: args.memo ?? '',
133
+ projectSeq: '',
134
+ tozApplyType: '',
135
+ addedInfo: '',
136
+ attendType: '',
137
+ isMobile: 'false',
138
+ });
139
+ const resultMsg = json.resultMsg ?? '';
140
+ if (!isReservationConfirmSuccess(resultMsg)) {
141
+ throw new Error(resultMsg || '예약 확정에 실패했습니다.');
142
+ }
143
+ return { resultMsg, isLargeBooth: resultMsg.includes('대형부스') };
144
+ }
145
+ async destroyHold() {
146
+ await this.http.postText('/ajaxDestroyReservation.htm', {});
147
+ }
148
+ async myReservations(args = {}) {
149
+ await this.http.bootstrap();
150
+ await this.mypageLogin(this.requireName(args.name), this.requirePhone(args.phone));
151
+ const html = await this.http.post('/mypage.htm', {
152
+ opage: '1',
153
+ rpage: '1',
154
+ key: '',
155
+ projectSeq: '',
156
+ tozApplyType: '',
157
+ addedInfo: '',
158
+ startdate: args.startDate ?? '',
159
+ enddate: args.endDate ?? '',
160
+ meetingName: args.meetingName ?? '',
161
+ });
162
+ return parseMypageReservations(html);
163
+ }
164
+ async cancel(args) {
165
+ await this.http.bootstrap();
166
+ await this.mypageLogin(this.requireName(args.name), this.requirePhone(args.phone));
167
+ const result = await this.http.postText('/ajaxCancelReservation.htm', {
168
+ reservation_id: String(args.reservationId),
169
+ });
170
+ if (result !== 'SUCCESS') {
171
+ if (result === 'FAILED')
172
+ throw new Error('취소하지 못했습니다.');
173
+ throw new Error(result || '취소하지 못했습니다.');
174
+ }
175
+ }
176
+ requireName(name) {
177
+ const resolved = name ?? this.identity.name;
178
+ if (!resolved)
179
+ throw new Error('Toz name is required (pass via args or TozClient({ name }))');
180
+ return resolved;
181
+ }
182
+ requirePhone(phone) {
183
+ const resolved = phone ?? this.identity.phone;
184
+ if (!resolved)
185
+ throw new Error('Toz phone is required (pass via args or TozClient({ phone }))');
186
+ return resolved;
187
+ }
188
+ async mypageLogin(name, phone) {
189
+ const parts = parsePhone(phone);
190
+ await this.http.post('/mypage_login_.htm', {
191
+ key: '',
192
+ projectSeq: '',
193
+ tozApplyType: '',
194
+ addedInfo: '',
195
+ email: '',
196
+ name,
197
+ ...parts,
198
+ });
199
+ }
200
+ }
201
+ function sleep(ms) {
202
+ return new Promise((resolve) => setTimeout(resolve, ms));
203
+ }
204
+ //# sourceMappingURL=toz-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toz-client.js","sourceRoot":"","sources":["../../src/toz-client.ts"],"names":[],"mappings":"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"}