@joohw/boss-cli 0.1.8 → 0.1.9

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 (85) hide show
  1. package/AGENTS.md +25 -25
  2. package/README.md +34 -19
  3. package/dist/browser/agent_operating_indicator.d.ts +9 -0
  4. package/dist/browser/agent_operating_indicator.d.ts.map +1 -0
  5. package/dist/browser/agent_operating_indicator.js +92 -0
  6. package/dist/browser/agent_operating_indicator.js.map +1 -0
  7. package/dist/browser/c_resume_capture.d.ts +11 -0
  8. package/dist/browser/c_resume_capture.d.ts.map +1 -0
  9. package/dist/browser/c_resume_capture.js +76 -0
  10. package/dist/browser/c_resume_capture.js.map +1 -0
  11. package/dist/browser/chat.d.ts +3 -3
  12. package/dist/browser/chat.d.ts.map +1 -1
  13. package/dist/browser/chat.js +20 -4
  14. package/dist/browser/chat.js.map +1 -1
  15. package/dist/browser/human_delay.d.ts +5 -0
  16. package/dist/browser/human_delay.d.ts.map +1 -1
  17. package/dist/browser/human_delay.js +5 -0
  18. package/dist/browser/human_delay.js.map +1 -1
  19. package/dist/browser/index.d.ts +3 -1
  20. package/dist/browser/index.d.ts.map +1 -1
  21. package/dist/browser/index.js +3 -1
  22. package/dist/browser/index.js.map +1 -1
  23. package/dist/browser/viewport_temp.d.ts +15 -0
  24. package/dist/browser/viewport_temp.d.ts.map +1 -0
  25. package/dist/browser/viewport_temp.js +78 -0
  26. package/dist/browser/viewport_temp.js.map +1 -0
  27. package/dist/cli/banner.js +1 -1
  28. package/dist/cli/cliRouter.d.ts.map +1 -1
  29. package/dist/cli/cliRouter.js +32 -13
  30. package/dist/cli/cliRouter.js.map +1 -1
  31. package/dist/common/boss_paywall_popup.d.ts +16 -0
  32. package/dist/common/boss_paywall_popup.d.ts.map +1 -0
  33. package/dist/common/boss_paywall_popup.js +140 -0
  34. package/dist/common/boss_paywall_popup.js.map +1 -0
  35. package/dist/common/boss_sidebar_nav.d.ts +6 -0
  36. package/dist/common/boss_sidebar_nav.d.ts.map +1 -0
  37. package/dist/common/boss_sidebar_nav.js +37 -0
  38. package/dist/common/boss_sidebar_nav.js.map +1 -0
  39. package/dist/common/c_resume_capture.d.ts +11 -0
  40. package/dist/common/c_resume_capture.d.ts.map +1 -0
  41. package/dist/common/c_resume_capture.js +76 -0
  42. package/dist/common/c_resume_capture.js.map +1 -0
  43. package/dist/toolset/action.d.ts +1 -1
  44. package/dist/toolset/action.d.ts.map +1 -1
  45. package/dist/toolset/action.js +192 -152
  46. package/dist/toolset/action.js.map +1 -1
  47. package/dist/toolset/c_resume_capture.d.ts +11 -0
  48. package/dist/toolset/c_resume_capture.d.ts.map +1 -0
  49. package/dist/toolset/c_resume_capture.js +76 -0
  50. package/dist/toolset/c_resume_capture.js.map +1 -0
  51. package/dist/toolset/chat.d.ts.map +1 -1
  52. package/dist/toolset/chat.js +4 -3
  53. package/dist/toolset/chat.js.map +1 -1
  54. package/dist/toolset/deep-search.d.ts +24 -0
  55. package/dist/toolset/deep-search.d.ts.map +1 -0
  56. package/dist/toolset/deep-search.js +1039 -0
  57. package/dist/toolset/deep-search.js.map +1 -0
  58. package/dist/toolset/greet.d.ts.map +1 -1
  59. package/dist/toolset/greet.js +30 -10
  60. package/dist/toolset/greet.js.map +1 -1
  61. package/dist/toolset/index.d.ts +13 -1
  62. package/dist/toolset/index.d.ts.map +1 -1
  63. package/dist/toolset/index.js +13 -7
  64. package/dist/toolset/index.js.map +1 -1
  65. package/dist/toolset/jd.d.ts.map +1 -1
  66. package/dist/toolset/jd.js +4 -35
  67. package/dist/toolset/jd.js.map +1 -1
  68. package/dist/toolset/list.d.ts +6 -0
  69. package/dist/toolset/list.d.ts.map +1 -1
  70. package/dist/toolset/list.js +36 -60
  71. package/dist/toolset/list.js.map +1 -1
  72. package/dist/toolset/login.d.ts.map +1 -1
  73. package/dist/toolset/login.js +2 -5
  74. package/dist/toolset/login.js.map +1 -1
  75. package/dist/toolset/recommend.d.ts +12 -0
  76. package/dist/toolset/recommend.d.ts.map +1 -1
  77. package/dist/toolset/recommend.js +144 -45
  78. package/dist/toolset/recommend.js.map +1 -1
  79. package/dist/toolset/search.d.ts +23 -1
  80. package/dist/toolset/search.d.ts.map +1 -1
  81. package/dist/toolset/search.js +556 -48
  82. package/dist/toolset/search.js.map +1 -1
  83. package/dist/toolset/send.js +2 -2
  84. package/dist/toolset/send.js.map +1 -1
  85. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewport_temp.js","sourceRoot":"","sources":["../../src/browser/viewport_temp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,2EAA2E;AAC3E,MAAM,+BAA+B,GAAG,IAAI,CAAC;AAO7C,SAAS,oBAAoB,CAAC,QAAiB;IAC7C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACnG,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,+BAA+B,CAAC;AACpF,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAmB,EAAE,QAAiB;IACrE,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,sBAAsB,EAAE,CAAC;IACtC,OAAO;QACL,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK;QAChC,MAAM;QACN,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,IAAI,CAAC;QAC/C,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,KAAK;QACjC,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,KAAK;QACjC,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,KAAK;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAmB;IAChD,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,GAAG,sBAAsB,EAAE,CAAC;IACnC,OAAO;QACL,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,iBAAiB,EAAE,CAAC;QACpB,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,KAAK;KACnB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAAU;IACvD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC;QACN,OAAO;YACL,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,IAAI,CAAC;YAC3C,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,KAAK;YAC7B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,KAAK;YAC7B,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,KAAK;SACpC,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QACtC,KAAK,EAAE,MAAM,CAAC,UAAU;QACxB,MAAM,EAAE,MAAM,CAAC,WAAW;QAC1B,GAAG,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC;KAClC,CAAC,CAAC,CAAC;IACJ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,OAAO;QACL,KAAK;QACL,MAAM;QACN,iBAAiB,EAAE,IAAI,CAAC,GAAG;QAC3B,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,KAAK,GAAG,MAAM;KAC5B,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAU,EACV,IAAmB,EACnB,QAAiB;IAEjB,MAAM,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,2CAA2C;AAC3C,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAU,EAAE,IAAmB;IAChE,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;AACtD,CAAC"}
@@ -24,7 +24,7 @@ function padCenter(line, width) {
24
24
  }
25
25
  const BANNER_LINES = BANNER_ART.map((line) => padCenter(line, BANNER_WIDTH));
26
26
  const TYPEWRITER_DELAY_MS = 5;
27
- const CLI_VERSION = 'v0.1.8';
27
+ const CLI_VERSION = 'v0.1.9';
28
28
  /** 黑底(40)+ 亮白字(97)+ 粗体,与空白行一致,保证整条色带对比度一致 */
29
29
  const BG = '\x1b[40m';
30
30
  const FG = '\x1b[97m';
@@ -1 +1 @@
1
- {"version":3,"file":"cliRouter.d.ts","sourceRoot":"","sources":["../../src/cli/cliRouter.ts"],"names":[],"mappings":"AAgEA,gEAAgE;AAChE,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAMxD;AAsKD;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA+HpE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAWjE;AAiDD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B1D"}
1
+ {"version":3,"file":"cliRouter.d.ts","sourceRoot":"","sources":["../../src/cli/cliRouter.ts"],"names":[],"mappings":"AAgEA,gEAAgE;AAChE,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAMxD;AAyKD;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA+IpE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAWjE;AAiDD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B1D"}
@@ -5,7 +5,7 @@
5
5
  import { createInterface } from 'node:readline/promises';
6
6
  import { stdin as input, stdout as output } from 'node:process';
7
7
  import { detachBrowserSession } from '../browser/index.js';
8
- import { implBossSearch, implChatAction, implLogin, implListCandidates, implListUnreadCandidates, implListPositions, implListPositionsWithOptions, implOpenChat, implRecommend, implRecommendGreet, implSendMessage, } from '../toolset/index.js';
8
+ import { implChatAction, implLogin, implListCandidates, implListUnreadCandidates, implListPositions, implListPositionsWithOptions, implOpenChat, implRecommend, implRecommendPreview, implRecommendGreet, implSendMessage, } from '../toolset/index.js';
9
9
  import { printBossInteractiveBanner } from './banner.js';
10
10
  import { printVersionInfo } from './version.js';
11
11
  class CliError extends Error {
@@ -118,7 +118,8 @@ function printHelp() {
118
118
  仅用于已建立联系的候选人(即在 list 里可见的会话对象)
119
119
  boss action <操作> [--remark <备注>]
120
120
  仅在当前聊天页已打开候选人详情时执行操作,并只返回 action 执行结果
121
- 操作: resume | not-fit | remark | agree-resume | history | exchange-wechat
121
+ 操作: resume | not-fit | remark | agree-resume | request-attachment-resume | history | wechat
122
+ request-attachment-resume:工具栏「求简历」,确认后向对方发送默认话术索要附件简历(需双方各至少发过一条消息)
122
123
  操作为 remark 时必须提供 --remark
123
124
  boss send [--text <内容>] [-t <内容>]
124
125
  仅发送文本消息(等价于在当前会话输入框发送后回车)
@@ -126,12 +127,14 @@ function printHelp() {
126
127
  读取当前职位列表(含开放/待开放/已关闭状态)
127
128
  boss jd <name|序号>
128
129
  抓取指定职位详情并缓存到项目目录同名 .md
129
- boss search
130
- 从侧边栏进入「深度搜索」并触发一次“立即匹配”
131
130
  boss recommend [岗位关键字]
132
131
  进入推荐页并读取推荐列表;带岗位关键字时先在岗位下拉中模糊匹配并切换
132
+ boss recommend preview <姓名|序号> [--job <岗位关键字>]
133
+ 在推荐列表中打开指定候选人的在线简历预览(c-resume iframe)并保存整框截图到缓存目录
134
+ 注意:平台对推荐在线简历每日可查看次数有限,请按需使用、谨慎查看
133
135
  boss greet <姓名|序号>
134
- 在推荐页对指定候选人点击“打招呼”
136
+ 在「推荐」页(或当前已在 Boss 聊天侧栏打开的、含候选人列表的页面)对列表中的候选人点击“打招呼”
137
+ 须先在对应页加载出候选人列表
135
138
  会消耗打招呼次数且单次成本较高,请谨慎使用
136
139
  `);
137
140
  }
@@ -245,13 +248,17 @@ export async function executeCommand(argv) {
245
248
  'not-fit': 'not-fit',
246
249
  remark: 'remark',
247
250
  'agree-resume': 'agree-resume',
251
+ 'request-attachment-resume': 'request-attachment-resume',
252
+ 'ask-attachment-resume': 'request-attachment-resume',
253
+ 'ask-resume': 'request-attachment-resume',
248
254
  history: 'history',
249
255
  'chat-history': 'history',
256
+ wechat: 'exchange-wechat',
250
257
  'exchange-wechat': 'exchange-wechat',
251
258
  };
252
259
  const action = actionMap[raw];
253
260
  if (!action) {
254
- die('❌ 用法: action <resume|not-fit|remark|agree-resume|history|exchange-wechat> [--remark <备注>]');
261
+ die('❌ 用法: action <resume|not-fit|remark|agree-resume|request-attachment-resume|history|wechat> [--remark <备注>]');
255
262
  }
256
263
  const remark = (opts.remark ?? '').trim();
257
264
  if (action === 'remark' && !remark) {
@@ -293,17 +300,29 @@ export async function executeCommand(argv) {
293
300
  }
294
301
  return implListPositionsWithOptions({ detail: true, name: detailName });
295
302
  }
296
- if (cmd === 'search') {
297
- const { rest, opts, flags } = parseOpts(tail);
298
- if (rest.length > 0 || Object.keys(opts).length > 0 || flags.size > 0) {
299
- die('❌ 用法: search');
300
- }
301
- return implBossSearch();
303
+ if (cmd === 'deep-search' || cmd === 'deepsearch') {
304
+ die('❌ deep-search 已暂时从 CLI 中移除(体验不佳);请使用 recommend 等命令。');
302
305
  }
303
306
  if (cmd === 'recommend') {
307
+ if (tail[0] === 'preview') {
308
+ const { rest, opts, flags } = parseOpts(tail.slice(1));
309
+ if (flags.size > 0) {
310
+ die('❌ recommend preview 不支持该 flag');
311
+ }
312
+ const disallowed = Object.keys(opts).filter((k) => k !== 'job');
313
+ if (disallowed.length > 0) {
314
+ die(`❌ recommend preview 不支持: --${disallowed[0]}`);
315
+ }
316
+ const candidateTarget = rest.join(' ').trim();
317
+ if (!candidateTarget) {
318
+ die('❌ 用法: recommend preview <姓名|序号> [--job <岗位关键字>]');
319
+ }
320
+ const jobKeyword = opts.job?.trim();
321
+ return implRecommendPreview({ candidateTarget, jobKeyword: jobKeyword || undefined });
322
+ }
304
323
  const { rest, opts, flags } = parseOpts(tail);
305
324
  if (Object.keys(opts).length > 0 || flags.size > 0) {
306
- die('❌ 用法: recommend [岗位关键字]');
325
+ die('❌ 用法: recommend [岗位关键字] 或 recommend preview <姓名|序号> [--job <岗位>]');
307
326
  }
308
327
  const jobKeyword = rest.join(' ').trim();
309
328
  return implRecommend(jobKeyword || undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"cliRouter.js","sourceRoot":"","sources":["../../src/cli/cliRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cliRouter.js","sourceRoot":"","sources":["../../src/cli/cliRouter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Page } from 'puppeteer-core';
2
+ /**
3
+ * 轮询直到出现 c-resume iframe、或出现付费墙、或超时。付费墙出现时不必再等满 {@link ONLINE_RESUME_IFRAME_WAIT_MAX_MS}。
4
+ */
5
+ export declare function waitForCResumeIframeOrPaywall(page: Page, timeoutMs?: number): Promise<'iframe' | 'paywall' | 'neither'>;
6
+ /**
7
+ * 若当前存在 VIP/付费类弹层(判定规则与 {@link describeBossPaywallPopupIfPresent} 一致),
8
+ * 则点击关闭按钮以恢复页面可操作状态。返回是否执行了关闭。
9
+ */
10
+ export declare function closeBossPaywallPopupIfPresent(page: Page): Promise<boolean>;
11
+ /**
12
+ * 检测 Boss 页面上是否出现 VIP/付费购买类弹层(如点击「在线简历」或推荐预览后拦截权益时)。
13
+ * 命中则返回简短中文说明,供与「未出现 c-resume iframe」类错误拼接。
14
+ */
15
+ export declare function describeBossPaywallPopupIfPresent(page: Page): Promise<string | null>;
16
+ //# sourceMappingURL=boss_paywall_popup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boss_paywall_popup.d.ts","sourceRoot":"","sources":["../../src/common/boss_paywall_popup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAsC3C;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,IAAI,EACV,SAAS,GAAE,MAAyC,GACnD,OAAO,CAAC,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,CAkB3C;AAED;;;GAGG;AACH,wBAAsB,8BAA8B,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAoCjF;AAED;;;GAGG;AACH,wBAAsB,iCAAiC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmC1F"}
@@ -0,0 +1,140 @@
1
+ import { ONLINE_RESUME_IFRAME_WAIT_MAX_MS } from '../browser/human_delay.js';
2
+ import { sleepRandom } from '../browser/timing.js';
3
+ /** 与 {@link describeBossPaywallPopupIfPresent} 中付费层判定一致;先匹配到 c-resume iframe 则返回 iframe。 */
4
+ const WAIT_FOR_IFRAME_OR_PAYWALL_SCRIPT = `(() => {
5
+ const iframe = document.querySelector(
6
+ 'iframe[src*="c-resume"], iframe[src*="frame/c-resume"]',
7
+ );
8
+ if (iframe instanceof HTMLElement) {
9
+ const r = iframe.getBoundingClientRect();
10
+ if (r.width > 8 && r.height > 8) return "iframe";
11
+ }
12
+ const roots = Array.from(
13
+ document.querySelectorAll(".boss-popup__wrapper, .boss-dialog__wrapper"),
14
+ );
15
+ for (const root of roots) {
16
+ if (!(root instanceof HTMLElement)) continue;
17
+ const st = window.getComputedStyle(root);
18
+ if (st.display === "none" || st.visibility === "hidden" || Number(st.opacity) < 0.05) {
19
+ continue;
20
+ }
21
+ const rect = root.getBoundingClientRect();
22
+ if (rect.width < 20 || rect.height < 20) continue;
23
+ const hasVipUi = root.querySelector(
24
+ ".block-vip2, .vip2-layout, .payment-layout-v2, .rights-table-vip, .qrcode-v1, .pay-wrap-qrcode-v1, .panel-deadline",
25
+ );
26
+ const text = (root.textContent || "").replace(/\\s+/g, " ");
27
+ const hasPayText =
28
+ /VIP账号|商品需付|直豆|扫码支付|请使用.*支付宝|请使用.*微信|增值服务协议|VIP\\s*\\d+项|限时特惠|直豆抵扣/.test(
29
+ text,
30
+ );
31
+ if (!hasVipUi && !hasPayText) continue;
32
+ return "paywall";
33
+ }
34
+ return "";
35
+ })()`;
36
+ /**
37
+ * 轮询直到出现 c-resume iframe、或出现付费墙、或超时。付费墙出现时不必再等满 {@link ONLINE_RESUME_IFRAME_WAIT_MAX_MS}。
38
+ */
39
+ export async function waitForCResumeIframeOrPaywall(page, timeoutMs = ONLINE_RESUME_IFRAME_WAIT_MAX_MS) {
40
+ try {
41
+ const handle = await page.waitForFunction(WAIT_FOR_IFRAME_OR_PAYWALL_SCRIPT, {
42
+ timeout: timeoutMs,
43
+ polling: 200,
44
+ });
45
+ const v = (await handle.jsonValue());
46
+ if (v === 'iframe' || v === 'paywall') {
47
+ return v;
48
+ }
49
+ return 'neither';
50
+ }
51
+ catch (e) {
52
+ const msg = e instanceof Error ? e.message : String(e);
53
+ if (/timeout|Timeout|exceeded|Waiting failed/i.test(msg)) {
54
+ return 'neither';
55
+ }
56
+ throw e;
57
+ }
58
+ }
59
+ /**
60
+ * 若当前存在 VIP/付费类弹层(判定规则与 {@link describeBossPaywallPopupIfPresent} 一致),
61
+ * 则点击关闭按钮以恢复页面可操作状态。返回是否执行了关闭。
62
+ */
63
+ export async function closeBossPaywallPopupIfPresent(page) {
64
+ const closed = (await page.evaluate(`(() => {
65
+ const roots = Array.from(
66
+ document.querySelectorAll(".boss-popup__wrapper, .boss-dialog__wrapper"),
67
+ );
68
+ for (const root of roots) {
69
+ if (!(root instanceof HTMLElement)) continue;
70
+ const st = window.getComputedStyle(root);
71
+ if (st.display === "none" || st.visibility === "hidden" || Number(st.opacity) < 0.05) {
72
+ continue;
73
+ }
74
+ const rect = root.getBoundingClientRect();
75
+ if (rect.width < 20 || rect.height < 20) continue;
76
+ const hasVipUi = root.querySelector(
77
+ ".block-vip2, .vip2-layout, .payment-layout-v2, .rights-table-vip, .qrcode-v1, .pay-wrap-qrcode-v1, .panel-deadline",
78
+ );
79
+ const text = (root.textContent || "").replace(/\\s+/g, " ");
80
+ const hasPayText =
81
+ /VIP账号|商品需付|直豆|扫码支付|请使用.*支付宝|请使用.*微信|增值服务协议|VIP\\s*\\d+项|限时特惠|直豆抵扣/.test(
82
+ text,
83
+ );
84
+ if (!hasVipUi && !hasPayText) continue;
85
+ const closeBtn = root.querySelector(
86
+ ".boss-popup__close, .boss-dialog__close, .drawer-close, .icon-close",
87
+ );
88
+ if (closeBtn instanceof HTMLElement) {
89
+ closeBtn.click();
90
+ return true;
91
+ }
92
+ }
93
+ return false;
94
+ })()`));
95
+ if (closed) {
96
+ await sleepRandom(220, 480);
97
+ }
98
+ return closed;
99
+ }
100
+ /**
101
+ * 检测 Boss 页面上是否出现 VIP/付费购买类弹层(如点击「在线简历」或推荐预览后拦截权益时)。
102
+ * 命中则返回简短中文说明,供与「未出现 c-resume iframe」类错误拼接。
103
+ */
104
+ export async function describeBossPaywallPopupIfPresent(page) {
105
+ return (await page.evaluate(`(() => {
106
+ const roots = Array.from(
107
+ document.querySelectorAll(".boss-popup__wrapper, .boss-dialog__wrapper"),
108
+ );
109
+ for (const root of roots) {
110
+ if (!(root instanceof HTMLElement)) continue;
111
+ const st = window.getComputedStyle(root);
112
+ if (st.display === "none" || st.visibility === "hidden" || Number(st.opacity) < 0.05) {
113
+ continue;
114
+ }
115
+ const rect = root.getBoundingClientRect();
116
+ if (rect.width < 20 || rect.height < 20) continue;
117
+ const hasVipUi = root.querySelector(
118
+ ".block-vip2, .vip2-layout, .payment-layout-v2, .rights-table-vip, .qrcode-v1, .pay-wrap-qrcode-v1, .panel-deadline",
119
+ );
120
+ const text = (root.textContent || "").replace(/\\s+/g, " ");
121
+ const hasPayText =
122
+ /VIP账号|商品需付|直豆|扫码支付|请使用.*支付宝|请使用.*微信|增值服务协议|VIP\\s*\\d+项|限时特惠|直豆抵扣/.test(
123
+ text,
124
+ );
125
+ if (!hasVipUi && !hasPayText) continue;
126
+ const h = root.querySelector("h3.title, h4.title, .card-header .title");
127
+ const title = (h?.textContent || "").replace(/\\s+/g, " ").trim();
128
+ if (title) {
129
+ return (
130
+ "页面出现付费弹层(" +
131
+ title +
132
+ "),可能需开通 VIP 或购买权益后才能查看在线简历。"
133
+ );
134
+ }
135
+ return "页面出现 VIP/付费购买弹层,可能需开通权益后才能查看在线简历。";
136
+ }
137
+ return null;
138
+ })()`));
139
+ }
140
+ //# sourceMappingURL=boss_paywall_popup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boss_paywall_popup.js","sourceRoot":"","sources":["../../src/common/boss_paywall_popup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,4FAA4F;AAC5F,MAAM,iCAAiC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+BrC,CAAC;AAEN;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,IAAU,EACV,YAAoB,gCAAgC;IAEpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,iCAAiC,EAAE;YAC3E,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,GAAG;SACb,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAY,CAAC;QAChD,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,0CAA0C,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,IAAU;IAC7D,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8B/B,CAAC,CAAY,CAAC;IACnB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CAAC,IAAU;IAChE,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCvB,CAAC,CAAkB,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Page } from 'puppeteer-core';
2
+ /**
3
+ * 点击 Boss 左侧 `.menu-list` 中的菜单项,并等待导航到给定 pathname(如 `/web/chat/index`)。
4
+ */
5
+ export declare function clickBossSidebarMenuToPath(page: Page, menuLabel: string, targetPath: string): Promise<void>;
6
+ //# sourceMappingURL=boss_sidebar_nav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boss_sidebar_nav.d.ts","sourceRoot":"","sources":["../../src/common/boss_sidebar_nav.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAI3C;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAuCf"}
@@ -0,0 +1,37 @@
1
+ const SIDEBAR_NAV_WAIT_MS = 15_000;
2
+ /**
3
+ * 点击 Boss 左侧 `.menu-list` 中的菜单项,并等待导航到给定 pathname(如 `/web/chat/index`)。
4
+ */
5
+ export async function clickBossSidebarMenuToPath(page, menuLabel, targetPath) {
6
+ const clicked = (await page.evaluate(({ label, path }) => {
7
+ const norm = (v) => (v ?? '').replace(/\s+/g, '');
8
+ const links = Array.from(document.querySelectorAll('.menu-list a'));
9
+ const target = links.find((a) => {
10
+ const href = a.getAttribute('href') ?? '';
11
+ if (href.includes(path)) {
12
+ return true;
13
+ }
14
+ const text = norm(a.querySelector('.menu-item-content span')?.textContent ?? a.textContent);
15
+ return text.includes(label);
16
+ });
17
+ if (!(target instanceof HTMLElement)) {
18
+ return false;
19
+ }
20
+ target.scrollIntoView({ block: 'center', inline: 'nearest' });
21
+ target.click();
22
+ return true;
23
+ }, { label: menuLabel, path: targetPath }));
24
+ if (!clicked) {
25
+ throw new Error(`未找到侧边栏菜单“${menuLabel}”,无法跳转到 ${targetPath}。`);
26
+ }
27
+ await page.waitForFunction((path) => {
28
+ try {
29
+ const p = window.location.pathname.replace(/\/+$/, '') || '/';
30
+ return p === path;
31
+ }
32
+ catch {
33
+ return false;
34
+ }
35
+ }, { timeout: SIDEBAR_NAV_WAIT_MS }, targetPath);
36
+ }
37
+ //# sourceMappingURL=boss_sidebar_nav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boss_sidebar_nav.js","sourceRoot":"","sources":["../../src/common/boss_sidebar_nav.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,IAAU,EACV,SAAiB,EACjB,UAAkB;IAElB,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAClC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QAClB,MAAM,IAAI,GAAG,CAAC,CAA4B,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC;YAC5F,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC,EACD,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CACvC,CAAY,CAAC;IAEd,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,YAAY,SAAS,WAAW,UAAU,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,IAAI,CAAC,eAAe,CACxB,CAAC,IAAI,EAAE,EAAE;QACP,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;YAC9D,OAAO,CAAC,KAAK,IAAI,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,EACD,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAChC,UAAU,CACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Page } from 'puppeteer-core';
2
+ /** 截图文件名安全段(在线简历 / 推荐预览共用) */
3
+ export declare function safeResumeScreenshotFileBase(name: string): string;
4
+ /** 关闭含 `c-resume` iframe 的弹层(聊天「在线简历」与推荐「预览」共用)。 */
5
+ export declare function closeCResumePanel(page: Page): Promise<void>;
6
+ /**
7
+ * 在已出现 `c-resume` iframe 的页面上,对 iframe 整框截图并关闭弹层。
8
+ * `preOpenViewport` 为打开弹层前的视口快照,请用 `snapshotBossPageViewport(page)`(`page.viewport()` 常为 null 时勿直接用默认尺寸)。
9
+ */
10
+ export declare function captureCResumeIframeToFile(page: Page, preOpenViewport: Awaited<ReturnType<Page['viewport']>>, absPath: string): Promise<boolean>;
11
+ //# sourceMappingURL=c_resume_capture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c_resume_capture.d.ts","sourceRoot":"","sources":["../../src/common/c_resume_capture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAI3C,8BAA8B;AAC9B,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED,oDAAoD;AACpD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BjE;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EACtD,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAmClB"}
@@ -0,0 +1,76 @@
1
+ import { sleepRandom } from '../browser/timing.js';
2
+ import { resumeHeight, setTempHeight } from '../browser/viewport_temp.js';
3
+ /** 截图文件名安全段(在线简历 / 推荐预览共用) */
4
+ export function safeResumeScreenshotFileBase(name) {
5
+ const t = name.replace(/[/\\?%*:|"<>]/g, '_').trim().slice(0, 64);
6
+ return t.length > 0 ? t : 'candidate';
7
+ }
8
+ /** 关闭含 `c-resume` iframe 的弹层(聊天「在线简历」与推荐「预览」共用)。 */
9
+ export async function closeCResumePanel(page) {
10
+ try {
11
+ await page.evaluate(() => {
12
+ const wraps = Array.from(document.querySelectorAll('.boss-popup__wrapper'));
13
+ for (const w of wraps) {
14
+ if (w.querySelector('iframe[src*="c-resume"], iframe[src*="frame/c-resume"]')) {
15
+ const c = w.querySelector('.boss-popup__close');
16
+ if (c) {
17
+ c.click();
18
+ return;
19
+ }
20
+ }
21
+ }
22
+ const iframe = document.querySelector('iframe[src*="c-resume"], iframe[src*="frame/c-resume"]');
23
+ let node = iframe?.parentElement ?? null;
24
+ for (let i = 0; i < 12 && node; i++) {
25
+ const c = node.querySelector('.boss-popup__close, .drawer-close, .icon-close');
26
+ if (c) {
27
+ c.click();
28
+ return;
29
+ }
30
+ node = node.parentElement;
31
+ }
32
+ });
33
+ await sleepRandom(200, 450);
34
+ }
35
+ catch {
36
+ /* ignore */
37
+ }
38
+ }
39
+ /**
40
+ * 在已出现 `c-resume` iframe 的页面上,对 iframe 整框截图并关闭弹层。
41
+ * `preOpenViewport` 为打开弹层前的视口快照,请用 `snapshotBossPageViewport(page)`(`page.viewport()` 常为 null 时勿直接用默认尺寸)。
42
+ */
43
+ export async function captureCResumeIframeToFile(page, preOpenViewport, absPath) {
44
+ try {
45
+ await setTempHeight(page, preOpenViewport);
46
+ await sleepRandom(100, 320);
47
+ const iframe = await page.$('iframe[src*="c-resume"], iframe[src*="frame/c-resume"]');
48
+ if (!iframe) {
49
+ return false;
50
+ }
51
+ await iframe.evaluate((el) => {
52
+ el.scrollIntoView({ block: 'start', inline: 'nearest' });
53
+ });
54
+ const box = await iframe.boundingBox();
55
+ if (!box) {
56
+ await iframe.dispose();
57
+ return false;
58
+ }
59
+ try {
60
+ await iframe.screenshot({
61
+ path: absPath,
62
+ type: 'png',
63
+ captureBeyondViewport: true,
64
+ });
65
+ }
66
+ finally {
67
+ await iframe.dispose();
68
+ }
69
+ await closeCResumePanel(page);
70
+ return true;
71
+ }
72
+ finally {
73
+ await resumeHeight(page, preOpenViewport);
74
+ }
75
+ }
76
+ //# sourceMappingURL=c_resume_capture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c_resume_capture.js","sourceRoot":"","sources":["../../src/common/c_resume_capture.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Page } from 'puppeteer-core';
2
- export type ChatPageAction = 'resume' | 'not-fit' | 'remark' | 'agree-resume' | 'history' | 'exchange-wechat';
2
+ export type ChatPageAction = 'resume' | 'not-fit' | 'remark' | 'agree-resume' | 'request-attachment-resume' | 'history' | 'exchange-wechat';
3
3
  export declare function runChatActionOnCurrentConversation(page: Page, options: {
4
4
  action: ChatPageAction;
5
5
  remark?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/toolset/action.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AA8e3C,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,cAAc,GACd,SAAS,GACT,iBAAiB,CAAC;AAEtB,wBAAsB,kCAAkC,CACtD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD,OAAO,CAAC,MAAM,CAAC,CAoCjB"}
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/toolset/action.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAmiB3C,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,cAAc,GACd,2BAA2B,GAC3B,SAAS,GACT,iBAAiB,CAAC;AAEtB,wBAAsB,kCAAkC,CACtD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD,OAAO,CAAC,MAAM,CAAC,CAsCjB"}