@joohw/boss-cli 0.1.3 → 0.1.5

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 (77) hide show
  1. package/README.md +13 -20
  2. package/dist/browser/auth.d.ts +0 -1
  3. package/dist/browser/auth.d.ts.map +1 -1
  4. package/dist/browser/auth.js +3 -19
  5. package/dist/browser/auth.js.map +1 -1
  6. package/dist/browser/browser_session.d.ts +4 -0
  7. package/dist/browser/browser_session.d.ts.map +1 -1
  8. package/dist/browser/browser_session.js +27 -14
  9. package/dist/browser/browser_session.js.map +1 -1
  10. package/dist/browser/cdp_browser.d.ts +10 -0
  11. package/dist/browser/cdp_browser.d.ts.map +1 -1
  12. package/dist/browser/cdp_browser.js +219 -11
  13. package/dist/browser/cdp_browser.js.map +1 -1
  14. package/dist/browser/chat.d.ts.map +1 -1
  15. package/dist/browser/chat.js +5 -3
  16. package/dist/browser/chat.js.map +1 -1
  17. package/dist/browser/human_delay.d.ts +88 -0
  18. package/dist/browser/human_delay.d.ts.map +1 -0
  19. package/dist/browser/human_delay.js +52 -0
  20. package/dist/browser/human_delay.js.map +1 -0
  21. package/dist/browser/index.d.ts +3 -1
  22. package/dist/browser/index.d.ts.map +1 -1
  23. package/dist/browser/index.js +3 -1
  24. package/dist/browser/index.js.map +1 -1
  25. package/dist/browser/timing.d.ts +7 -0
  26. package/dist/browser/timing.d.ts.map +1 -0
  27. package/dist/browser/timing.js +34 -0
  28. package/dist/browser/timing.js.map +1 -0
  29. package/dist/cli/banner.d.ts.map +1 -1
  30. package/dist/cli/banner.js +43 -9
  31. package/dist/cli/banner.js.map +1 -1
  32. package/dist/cli/cliRouter.d.ts.map +1 -1
  33. package/dist/cli/cliRouter.js +83 -56
  34. package/dist/cli/cliRouter.js.map +1 -1
  35. package/dist/cli/index.js +14 -1
  36. package/dist/cli/index.js.map +1 -1
  37. package/dist/config.d.ts +9 -0
  38. package/dist/config.d.ts.map +1 -1
  39. package/dist/config.js +25 -0
  40. package/dist/config.js.map +1 -1
  41. package/dist/ocr/baidu_ocr.d.ts +11 -0
  42. package/dist/ocr/baidu_ocr.d.ts.map +1 -0
  43. package/dist/ocr/baidu_ocr.js +76 -0
  44. package/dist/ocr/baidu_ocr.js.map +1 -0
  45. package/dist/ocr/index.d.ts +3 -0
  46. package/dist/ocr/index.d.ts.map +1 -0
  47. package/dist/ocr/index.js +3 -0
  48. package/dist/ocr/index.js.map +1 -0
  49. package/dist/ocr/resume_ocr.d.ts +13 -0
  50. package/dist/ocr/resume_ocr.d.ts.map +1 -0
  51. package/dist/ocr/resume_ocr.js +35 -0
  52. package/dist/ocr/resume_ocr.js.map +1 -0
  53. package/dist/toolset/index.d.ts +12 -2
  54. package/dist/toolset/index.d.ts.map +1 -1
  55. package/dist/toolset/index.js +11 -4
  56. package/dist/toolset/index.js.map +1 -1
  57. package/dist/toolset/list_candidates.d.ts.map +1 -1
  58. package/dist/toolset/list_candidates.js +12 -19
  59. package/dist/toolset/list_candidates.js.map +1 -1
  60. package/dist/toolset/login.d.ts.map +1 -1
  61. package/dist/toolset/login.js +7 -4
  62. package/dist/toolset/login.js.map +1 -1
  63. package/dist/toolset/open_chat.d.ts +4 -1
  64. package/dist/toolset/open_chat.d.ts.map +1 -1
  65. package/dist/toolset/open_chat.js +365 -25
  66. package/dist/toolset/open_chat.js.map +1 -1
  67. package/dist/toolset/send_message.d.ts +11 -1
  68. package/dist/toolset/send_message.d.ts.map +1 -1
  69. package/dist/toolset/send_message.js +120 -21
  70. package/dist/toolset/send_message.js.map +1 -1
  71. package/dist/toolset/skill.d.ts +13 -0
  72. package/dist/toolset/skill.d.ts.map +1 -0
  73. package/dist/toolset/skill.js +85 -0
  74. package/dist/toolset/skill.js.map +1 -0
  75. package/package.json +5 -2
  76. package/skills/README.md +11 -0
  77. package/skills/boss-cli/SKILL.md +58 -0
@@ -1,5 +1,287 @@
1
- import { isBossChatIndexUrl } from '../browser/index.js';
2
- export async function runOpenCandidateChat(page, candidateName, exact = true) {
1
+ import { join } from 'node:path';
2
+ import { CHAT_HISTORY_DIALOG_WAIT_MS, CHAT_HISTORY_TAB_SWITCH_MS, defaultViewportFromEnv, isBossChatIndexUrl, MOUSE_CLICK_PRESS_MS, ONLINE_RESUME_IFRAME_APPEAR_MS, ONLINE_RESUME_IFRAME_SETTLE_MS, OPEN_CHAT_AFTER_ROW_CLICK_MS, OPEN_CHAT_SCROLL_GAP_MS, randomIntInclusive, sleepRandom, } from '../browser/index.js';
3
+ import { ensureAppDataLayout, RESUME_SCREENSHOTS_DIR } from '../config.js';
4
+ import { isResumeOcrEnabled, ocrResumePngToTextFile } from '../ocr/index.js';
5
+ function chatRoleTag(from) {
6
+ switch (from) {
7
+ case 'friend':
8
+ return '[candidate]';
9
+ case 'myself':
10
+ return '[you]';
11
+ case 'system':
12
+ return '[system]';
13
+ default:
14
+ return '[unknown]';
15
+ }
16
+ }
17
+ /**
18
+ * 打开「沟通记录」弹窗,依次读取「同事沟通」「我的沟通」列表,关闭弹窗。
19
+ * 未找到入口时返回 null(视为暂无同事沟通记录,不输出该段)。
20
+ */
21
+ async function fetchColleagueChatHistorySection(page) {
22
+ const clicked = await page.evaluate(() => {
23
+ function norm(v) {
24
+ return (v ?? '').replace(/\s+/g, ' ').trim();
25
+ }
26
+ const tooltips = Array.from(document.querySelectorAll('.chat-tooltip-custom'));
27
+ for (const el of tooltips) {
28
+ if (!norm(el.textContent).includes('沟通记录'))
29
+ continue;
30
+ const host = el.closest('span.icon') ?? el.closest('span') ?? el.parentElement;
31
+ if (host) {
32
+ host.click();
33
+ return true;
34
+ }
35
+ el.click();
36
+ return true;
37
+ }
38
+ const uses = Array.from(document.querySelectorAll('use'));
39
+ for (const u of uses) {
40
+ const h = u.getAttribute('href') ||
41
+ u.getAttributeNS('http://www.w3.org/1999/xlink', 'href') ||
42
+ '';
43
+ if (h.includes('icon-chat-history')) {
44
+ const p = u.closest('span.icon') ?? u.parentElement?.parentElement;
45
+ if (p) {
46
+ p.click();
47
+ return true;
48
+ }
49
+ }
50
+ }
51
+ return false;
52
+ });
53
+ if (!clicked) {
54
+ return null;
55
+ }
56
+ try {
57
+ await page.waitForSelector('.boss-dialog__body .chat-history-process', { timeout: 12_000 });
58
+ }
59
+ catch {
60
+ return '(已点击「沟通记录」,但弹窗未在预期时间内出现。)';
61
+ }
62
+ await sleepRandom(CHAT_HISTORY_DIALOG_WAIT_MS.min, CHAT_HISTORY_DIALOG_WAIT_MS.max);
63
+ const scrapeRows = () => page.evaluate(() => {
64
+ function norm(v) {
65
+ return (v ?? '').replace(/\s+/g, ' ').trim();
66
+ }
67
+ const root = document.querySelector('.chat-history-process');
68
+ if (!root)
69
+ return [];
70
+ return Array.from(root.querySelectorAll('.record li'))
71
+ .map((li) => ({
72
+ action: norm(li.querySelector('.action')?.textContent),
73
+ operat: norm(li.querySelector('.operat')?.textContent),
74
+ }))
75
+ .filter((x) => x.action || x.operat);
76
+ });
77
+ const clickTab = (label) => page.evaluate((lab) => {
78
+ function norm(v) {
79
+ return (v ?? '').replace(/\s+/g, ' ').trim();
80
+ }
81
+ const root = document.querySelector('.chat-history-process');
82
+ if (!root)
83
+ return;
84
+ const spans = Array.from(root.querySelectorAll('.tab-hd span'));
85
+ const sp = spans.find((s) => norm(s.textContent) === lab);
86
+ if (sp && !sp.classList.contains('selected')) {
87
+ sp.click();
88
+ }
89
+ }, label);
90
+ await clickTab('同事沟通');
91
+ await sleepRandom(CHAT_HISTORY_TAB_SWITCH_MS.min, CHAT_HISTORY_TAB_SWITCH_MS.max);
92
+ const rowsColleague = await scrapeRows();
93
+ await clickTab('我的沟通');
94
+ await sleepRandom(CHAT_HISTORY_TAB_SWITCH_MS.min, CHAT_HISTORY_TAB_SWITCH_MS.max);
95
+ const rowsMine = await scrapeRows();
96
+ const fmt = (label, rows) => {
97
+ const lines = [`[${label}]`];
98
+ if (rows.length === 0) {
99
+ lines.push('(暂无)');
100
+ return lines;
101
+ }
102
+ rows.forEach((r, i) => {
103
+ const line = [r.action, r.operat].filter(Boolean).join(' | ');
104
+ lines.push(`${i + 1}. ${line}`);
105
+ });
106
+ return lines;
107
+ };
108
+ const parts = [];
109
+ parts.push(...fmt('同事沟通', rowsColleague));
110
+ parts.push('');
111
+ parts.push(...fmt('我的沟通', rowsMine));
112
+ await closeChatHistoryPopup(page);
113
+ return parts.join('\n');
114
+ }
115
+ /** 关闭「沟通记录」弹层(优先点 Boss 提供的 popup 关闭钮) */
116
+ async function closeChatHistoryPopup(page) {
117
+ try {
118
+ const selectors = [
119
+ '.boss-popup__wrapper.chat-history .boss-popup__close',
120
+ '.boss-dialog__wrapper.chat-history .boss-popup__close',
121
+ '.boss-popup__wrapper.boss-dialog.chat-history .boss-popup__close',
122
+ ];
123
+ let btn = null;
124
+ for (const sel of selectors) {
125
+ btn = await page.$(sel);
126
+ if (btn)
127
+ break;
128
+ }
129
+ if (btn) {
130
+ await btn.click();
131
+ }
132
+ else {
133
+ await page.evaluate(() => {
134
+ const root = document.querySelector('.boss-popup__wrapper.chat-history') ||
135
+ document.querySelector('.boss-dialog__wrapper.chat-history');
136
+ const c = root?.querySelector('.boss-popup__close') ?? document.querySelector('.boss-popup__close');
137
+ if (c) {
138
+ c.click();
139
+ }
140
+ });
141
+ }
142
+ await sleepRandom(250, 550);
143
+ const popupWrap = await page.$('.boss-popup__wrapper.chat-history');
144
+ if (popupWrap) {
145
+ await page.evaluate(() => {
146
+ const root = document.querySelector('.boss-popup__wrapper.chat-history') ||
147
+ document.querySelector('.boss-dialog__wrapper.chat-history');
148
+ const c = root?.querySelector('.boss-popup__close') ?? document.querySelector('.boss-popup__close');
149
+ c?.click();
150
+ });
151
+ await sleepRandom(150, 350);
152
+ }
153
+ }
154
+ catch {
155
+ /* ignore */
156
+ }
157
+ }
158
+ function safeResumeFileBase(name) {
159
+ const t = name.replace(/[/\\?%*:|"<>]/g, '_').trim().slice(0, 64);
160
+ return t.length > 0 ? t : 'candidate';
161
+ }
162
+ /** 在线简历截图前临时拉高的视口高度(CSS px)。可用 `BOSS_RESUME_SCREENSHOT_VIEWPORT_HEIGHT` 覆盖。 */
163
+ const ONLINE_RESUME_SNAPSHOT_VIEWPORT_HEIGHT_PX = 5000;
164
+ function viewportForOnlineResumeSnapshot(prev) {
165
+ const envH = Number.parseInt(process.env.BOSS_RESUME_SCREENSHOT_VIEWPORT_HEIGHT?.trim() ?? '', 10);
166
+ const height = Number.isFinite(envH) && envH > 0 ? envH : ONLINE_RESUME_SNAPSHOT_VIEWPORT_HEIGHT_PX;
167
+ const base = defaultViewportFromEnv();
168
+ return {
169
+ width: prev?.width ?? base.width,
170
+ height,
171
+ deviceScaleFactor: prev?.deviceScaleFactor ?? 1,
172
+ isMobile: prev?.isMobile ?? false,
173
+ hasTouch: prev?.hasTouch ?? false,
174
+ isLandscape: prev?.isLandscape ?? false,
175
+ };
176
+ }
177
+ function viewportRestoreAfterResumeSnapshot(prev) {
178
+ if (prev) {
179
+ return prev;
180
+ }
181
+ const d = defaultViewportFromEnv();
182
+ return {
183
+ width: d.width,
184
+ height: d.height,
185
+ deviceScaleFactor: 1,
186
+ isMobile: false,
187
+ hasTouch: false,
188
+ isLandscape: false,
189
+ };
190
+ }
191
+ /**
192
+ * 点击「在线简历」,对 `iframe` 元素整框截图(含视口外部分,见 `captureBeyondViewport`)。
193
+ * 不依赖 `contentFrame()`,与内页是否 canvas / 跨域无关。
194
+ *
195
+ * 进入前记录 `page.viewport()`,截图前临时 `setViewport` 拉高(默认高度 5000),结束后恢复。
196
+ */
197
+ async function captureOnlineResumeScreenshot(page, candidateLabel) {
198
+ ensureAppDataLayout();
199
+ const savedViewport = await page.viewport();
200
+ const opened = await page.evaluate(() => {
201
+ const a = document.querySelector('a.resume-btn-online');
202
+ if (!a || a.classList.contains('disabled'))
203
+ return false;
204
+ a.scrollIntoView({ block: 'center', inline: 'nearest' });
205
+ a.click();
206
+ return true;
207
+ });
208
+ if (!opened) {
209
+ return null;
210
+ }
211
+ await sleepRandom(ONLINE_RESUME_IFRAME_APPEAR_MS.min, ONLINE_RESUME_IFRAME_APPEAR_MS.max);
212
+ const hasIframe = await page
213
+ .waitForSelector('iframe[src*="c-resume"], iframe[src*="frame/c-resume"]', { timeout: 22_000 })
214
+ .catch(() => null);
215
+ if (!hasIframe) {
216
+ return null;
217
+ }
218
+ await sleepRandom(ONLINE_RESUME_IFRAME_SETTLE_MS.min, ONLINE_RESUME_IFRAME_SETTLE_MS.max);
219
+ const fileName = `online-resume-${safeResumeFileBase(candidateLabel)}-${Date.now()}.png`;
220
+ const absPath = join(RESUME_SCREENSHOTS_DIR, fileName);
221
+ try {
222
+ await page.setViewport(viewportForOnlineResumeSnapshot(savedViewport));
223
+ await sleepRandom(100, 320);
224
+ const iframe = await page.$('iframe[src*="c-resume"], iframe[src*="frame/c-resume"]');
225
+ if (!iframe) {
226
+ return null;
227
+ }
228
+ await iframe.evaluate((el) => {
229
+ el.scrollIntoView({ block: 'start', inline: 'nearest' });
230
+ });
231
+ const box = await iframe.boundingBox();
232
+ if (!box) {
233
+ await iframe.dispose();
234
+ return null;
235
+ }
236
+ try {
237
+ await iframe.screenshot({
238
+ path: absPath,
239
+ type: 'png',
240
+ captureBeyondViewport: true,
241
+ });
242
+ }
243
+ finally {
244
+ await iframe.dispose();
245
+ }
246
+ await closeOnlineResumePanel(page);
247
+ return absPath;
248
+ }
249
+ finally {
250
+ await page.setViewport(viewportRestoreAfterResumeSnapshot(savedViewport));
251
+ }
252
+ }
253
+ async function closeOnlineResumePanel(page) {
254
+ try {
255
+ await page.evaluate(() => {
256
+ const wraps = Array.from(document.querySelectorAll('.boss-popup__wrapper'));
257
+ for (const w of wraps) {
258
+ if (w.querySelector('iframe[src*="c-resume"], iframe[src*="frame/c-resume"]')) {
259
+ const c = w.querySelector('.boss-popup__close');
260
+ if (c) {
261
+ c.click();
262
+ return;
263
+ }
264
+ }
265
+ }
266
+ const iframe = document.querySelector('iframe[src*="c-resume"], iframe[src*="frame/c-resume"]');
267
+ let node = iframe?.parentElement ?? null;
268
+ for (let i = 0; i < 12 && node; i++) {
269
+ const c = node.querySelector('.boss-popup__close, .drawer-close, .icon-close');
270
+ if (c) {
271
+ c.click();
272
+ return;
273
+ }
274
+ node = node.parentElement;
275
+ }
276
+ });
277
+ await sleepRandom(200, 450);
278
+ }
279
+ catch {
280
+ /* ignore */
281
+ }
282
+ }
283
+ export async function runOpenCandidateChat(page, candidateName, exact = true, options) {
284
+ const captureOnlineResume = options?.action === 'online-resume';
3
285
  const targetName = candidateName.trim();
4
286
  try {
5
287
  const currentUrl = page.url();
@@ -56,7 +338,7 @@ export async function runOpenCandidateChat(page, candidateName, exact = true) {
56
338
  if (!scrollState.moved || scrollState.atEnd) {
57
339
  break;
58
340
  }
59
- await new Promise((resolve) => setTimeout(resolve, 120));
341
+ await sleepRandom(OPEN_CHAT_SCROLL_GAP_MS.min, OPEN_CHAT_SCROLL_GAP_MS.max);
60
342
  }
61
343
  if (!targetWrap) {
62
344
  throw new Error(`未在聊天列表中找到候选人:${targetName}`);
@@ -73,17 +355,20 @@ export async function runOpenCandidateChat(page, candidateName, exact = true) {
73
355
  if (!box) {
74
356
  throw new Error(`已定位候选人 ${foundName},但元素不可点击。`);
75
357
  }
76
- await page.mouse.click(box.x + box.width / 2, box.y + box.height / 2, { delay: 30 });
358
+ await page.mouse.click(box.x + box.width / 2, box.y + box.height / 2, {
359
+ delay: randomIntInclusive(MOUSE_CLICK_PRESS_MS.min, MOUSE_CLICK_PRESS_MS.max),
360
+ });
77
361
  }
362
+ await sleepRandom(OPEN_CHAT_AFTER_ROW_CLICK_MS.min, OPEN_CHAT_AFTER_ROW_CLICK_MS.max);
78
363
  const selected = await targetWrap
79
364
  .$eval('.geek-item', (el) => el.classList.contains('selected'))
80
365
  .catch(() => false);
81
366
  try {
82
- await page.waitForSelector('.base-info-single-container', { timeout: 8_000 });
367
+ await page.waitForSelector('.base-info-single-container', { timeout: 12_000 });
83
368
  await page.waitForFunction(`((name) => {
84
369
  const text = document.querySelector(".base-info-single-container .name-box")?.textContent ?? "";
85
370
  return text.replace(/\\s+/g, " ").trim().includes(name);
86
- })`, { timeout: 8_000 }, foundName || targetName);
371
+ })`, { timeout: 12_000 }, foundName || targetName);
87
372
  await page.waitForFunction(`(() => {
88
373
  const list = document.querySelector(".chat-message-list");
89
374
  if (!list) return false;
@@ -98,17 +383,20 @@ export async function runOpenCandidateChat(page, candidateName, exact = true) {
98
383
  return txt.replace(/\\s+/g, " ").trim().length > 0;
99
384
  });
100
385
  return hasText;
101
- })()`, { timeout: 10_000 });
386
+ })()`, { timeout: 16_000 });
102
387
  }
103
388
  catch {
104
389
  throw new Error(`已尝试点击 ${foundName}(selected=${String(selected)}),但未检测到对应聊天详情面板。`);
105
390
  }
106
- const url = page.url();
107
391
  let fullMessages = [];
108
392
  let hasFriendResumeAttachment = false;
109
393
  try {
110
394
  const scraped = (await page.evaluate(`(() => {
111
395
  const norm = (v) => (v ?? "").replace(/\\s+/g, " ").trim();
396
+ /** Boss 系统里的「消息优先提醒」增值服务条,对业务无意义,过滤掉 */
397
+ function isBossPriorityUpsellSystemText(text) {
398
+ return norm(text).indexOf("优先提醒") !== -1;
399
+ }
112
400
  const items = Array.from(document.querySelectorAll(".chat-message-list .message-item"));
113
401
  let currentTime = "";
114
402
  const messages = [];
@@ -146,32 +434,84 @@ export async function runOpenCandidateChat(page, candidateName, exact = true) {
146
434
  } else if (myselfText) {
147
435
  messages.push({ text: myselfText, time: currentTime, from: "myself" });
148
436
  } else if (systemText) {
149
- messages.push({ text: systemText, time: currentTime, from: "system" });
437
+ if (!isBossPriorityUpsellSystemText(systemText)) {
438
+ messages.push({ text: systemText, time: currentTime, from: "system" });
439
+ }
150
440
  }
151
441
  }
152
442
  return { messages, hasFriendResumeAttachment };
153
443
  })()`));
154
444
  fullMessages = scraped.messages;
155
445
  hasFriendResumeAttachment = scraped.hasFriendResumeAttachment;
156
- const lines = fullMessages.map((m, i) => `${i + 1}. [${m.from}]${m.time ? `(${m.time})` : ''} ${m.text}`);
157
- console.error(`[boss-cli] open_candidate_chat full_messages count=${fullMessages.length} hasFriendResumeAttachment=${String(hasFriendResumeAttachment)}\n${lines.length > 0 ? lines.join('\n') : '(empty)'}`);
158
- }
159
- catch (e) {
160
- const message = e instanceof Error ? e.message : String(e);
161
- console.error(`[boss-cli] open_candidate_chat full_messages error: ${message}`);
162
- }
163
- console.error(`[boss-cli] open_candidate_chat ok name=${foundName} url=${url}`);
164
- return [
165
- `已进入候选人聊天:${foundName}`,
166
- `已读取完整聊天消息:${fullMessages.length} 条。`,
167
- hasFriendResumeAttachment ? '历史记录中已有候选人发来的附件简历卡片,一般无需再发起「求简历」。' : '',
168
- ]
169
- .filter(Boolean)
170
- .join('\n');
446
+ }
447
+ catch {
448
+ /* 抓取消息失败时仍返回摘要,不刷屏 stderr */
449
+ }
450
+ const detailLines = fullMessages.map((m) => {
451
+ const tag = chatRoleTag(m.from);
452
+ const timePart = m.time ? ` ${m.time}` : '';
453
+ return `${tag}${timePart} ${m.text}`.trimEnd();
454
+ });
455
+ const resumeStatus = hasFriendResumeAttachment ? '已获取' : '未获取';
456
+ let historyBlock = null;
457
+ try {
458
+ historyBlock = await fetchColleagueChatHistorySection(page);
459
+ }
460
+ catch {
461
+ historyBlock = null;
462
+ }
463
+ let resumeShotPath = null;
464
+ if (captureOnlineResume) {
465
+ try {
466
+ resumeShotPath = await captureOnlineResumeScreenshot(page, foundName);
467
+ }
468
+ catch {
469
+ resumeShotPath = null;
470
+ }
471
+ }
472
+ let resumeOcrTextPath = null;
473
+ let resumeOcrText = null;
474
+ let resumeOcrError = null;
475
+ if (captureOnlineResume && resumeShotPath !== null && isResumeOcrEnabled()) {
476
+ try {
477
+ const ocr = await ocrResumePngToTextFile(resumeShotPath);
478
+ resumeOcrTextPath = ocr.textPath;
479
+ resumeOcrText = ocr.text;
480
+ }
481
+ catch (e) {
482
+ resumeOcrError = e instanceof Error ? e.message : String(e);
483
+ console.error(`[boss-cli] 在线简历 OCR 失败:${resumeOcrError}`);
484
+ }
485
+ }
486
+ const out = [
487
+ `成功进入候选人聊天:${foundName}`,
488
+ `简历获取状态: ${resumeStatus}`,
489
+ ];
490
+ if (historyBlock !== null) {
491
+ out.push('', '同事/我的沟通记录:', '', historyBlock);
492
+ }
493
+ if (captureOnlineResume) {
494
+ if (resumeOcrTextPath !== null && resumeOcrText !== null) {
495
+ out.push('', '在线简历(OCR):', '', resumeOcrTextPath, '', '在线简历 OCR 正文:', '', resumeOcrText);
496
+ }
497
+ else if (resumeShotPath !== null && isResumeOcrEnabled() && resumeOcrError !== null) {
498
+ out.push('', `(在线简历 OCR 未成功:${resumeOcrError})`, `截图文件:${resumeShotPath}`);
499
+ }
500
+ else if (resumeShotPath !== null && !isResumeOcrEnabled()) {
501
+ out.push('', '在线简历截图:', '', resumeShotPath);
502
+ }
503
+ }
504
+ out.push('', '完整聊天消息:');
505
+ if (detailLines.length > 0) {
506
+ out.push('', ...detailLines);
507
+ }
508
+ else {
509
+ out.push('', '(暂无)');
510
+ }
511
+ return out.join('\n');
171
512
  }
172
513
  catch (e) {
173
514
  const message = e instanceof Error ? e.message : String(e);
174
- console.error(`[boss-cli] open_candidate_chat error: ${message}`);
175
515
  if (e instanceof Error) {
176
516
  throw e;
177
517
  }
@@ -1 +1 @@
1
- {"version":3,"file":"open_chat.js","sourceRoot":"","sources":["../../src/toolset/open_chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open_chat.js","sourceRoot":"","sources":["../../src/toolset/open_chat.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,12 @@
1
- export declare function runSendChatMessage(text: string, alsoRequestResume?: boolean, signal?: AbortSignal): Promise<string>;
1
+ /** CLI `--action` 与内部逻辑共用 */
2
+ export type SendAction = 'request-resume' | 'agree-resume'
3
+ /** 在「附件简历」卡片上点「拒绝」 */
4
+ | 'confuse-resume';
5
+ export type SendChatMessageOptions = {
6
+ text?: string;
7
+ /** 可与 text 同次执行;若有先发消息,再 action,中间有默认随机间隔 */
8
+ action?: SendAction;
9
+ signal?: AbortSignal;
10
+ };
11
+ export declare function runSendChatMessage(options: SendChatMessageOptions): Promise<string>;
2
12
  //# sourceMappingURL=send_message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"send_message.d.ts","sourceRoot":"","sources":["../../src/toolset/send_message.ts"],"names":[],"mappings":"AA4FA,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,iBAAiB,UAAQ,EACzB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CA6CjB"}
1
+ {"version":3,"file":"send_message.d.ts","sourceRoot":"","sources":["../../src/toolset/send_message.ts"],"names":[],"mappings":"AAcA,6BAA6B;AAC7B,MAAM,MAAM,UAAU,GAClB,gBAAgB,GAChB,cAAc;AAChB,sBAAsB;GACpB,gBAAgB,CAAC;AAErB,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAmKF,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgFzF"}