@viyzhu/boss-cli-fork 0.6.8

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 (159) hide show
  1. package/AGENTS.md +30 -0
  2. package/LICENSE +674 -0
  3. package/README.md +223 -0
  4. package/dist/browser/browser_session.d.ts +27 -0
  5. package/dist/browser/browser_session.d.ts.map +1 -0
  6. package/dist/browser/browser_session.js +246 -0
  7. package/dist/browser/browser_session.js.map +1 -0
  8. package/dist/browser/cdp_browser.d.ts +50 -0
  9. package/dist/browser/cdp_browser.d.ts.map +1 -0
  10. package/dist/browser/cdp_browser.js +315 -0
  11. package/dist/browser/cdp_browser.js.map +1 -0
  12. package/dist/browser/human_delay.d.ts +117 -0
  13. package/dist/browser/human_delay.d.ts.map +1 -0
  14. package/dist/browser/human_delay.js +71 -0
  15. package/dist/browser/human_delay.js.map +1 -0
  16. package/dist/browser/index.d.ts +9 -0
  17. package/dist/browser/index.d.ts.map +1 -0
  18. package/dist/browser/index.js +9 -0
  19. package/dist/browser/index.js.map +1 -0
  20. package/dist/browser/timing.d.ts +7 -0
  21. package/dist/browser/timing.d.ts.map +1 -0
  22. package/dist/browser/timing.js +34 -0
  23. package/dist/browser/timing.js.map +1 -0
  24. package/dist/browser/viewport_temp.d.ts +15 -0
  25. package/dist/browser/viewport_temp.d.ts.map +1 -0
  26. package/dist/browser/viewport_temp.js +78 -0
  27. package/dist/browser/viewport_temp.js.map +1 -0
  28. package/dist/cli/banner.d.ts +2 -0
  29. package/dist/cli/banner.d.ts.map +1 -0
  30. package/dist/cli/banner.js +69 -0
  31. package/dist/cli/banner.js.map +1 -0
  32. package/dist/cli/cliRouter.d.ts +9 -0
  33. package/dist/cli/cliRouter.d.ts.map +1 -0
  34. package/dist/cli/cliRouter.js +604 -0
  35. package/dist/cli/cliRouter.js.map +1 -0
  36. package/dist/cli/index.d.ts +3 -0
  37. package/dist/cli/index.d.ts.map +1 -0
  38. package/dist/cli/index.js +34 -0
  39. package/dist/cli/index.js.map +1 -0
  40. package/dist/cli/version.d.ts +29 -0
  41. package/dist/cli/version.d.ts.map +1 -0
  42. package/dist/cli/version.js +180 -0
  43. package/dist/cli/version.js.map +1 -0
  44. package/dist/common/auth.d.ts +44 -0
  45. package/dist/common/auth.d.ts.map +1 -0
  46. package/dist/common/auth.js +168 -0
  47. package/dist/common/auth.js.map +1 -0
  48. package/dist/common/baidu_user_env.d.ts +7 -0
  49. package/dist/common/baidu_user_env.d.ts.map +1 -0
  50. package/dist/common/baidu_user_env.js +56 -0
  51. package/dist/common/baidu_user_env.js.map +1 -0
  52. package/dist/common/boss_availability.d.ts +5 -0
  53. package/dist/common/boss_availability.d.ts.map +1 -0
  54. package/dist/common/boss_availability.js +245 -0
  55. package/dist/common/boss_availability.js.map +1 -0
  56. package/dist/common/boss_modal.d.ts +14 -0
  57. package/dist/common/boss_modal.d.ts.map +1 -0
  58. package/dist/common/boss_modal.js +81 -0
  59. package/dist/common/boss_modal.js.map +1 -0
  60. package/dist/common/boss_page_guards.d.ts +14 -0
  61. package/dist/common/boss_page_guards.d.ts.map +1 -0
  62. package/dist/common/boss_page_guards.js +596 -0
  63. package/dist/common/boss_page_guards.js.map +1 -0
  64. package/dist/common/boss_paywall_popup.d.ts +28 -0
  65. package/dist/common/boss_paywall_popup.d.ts.map +1 -0
  66. package/dist/common/boss_paywall_popup.js +158 -0
  67. package/dist/common/boss_paywall_popup.js.map +1 -0
  68. package/dist/common/boss_session_lock.d.ts +2 -0
  69. package/dist/common/boss_session_lock.d.ts.map +1 -0
  70. package/dist/common/boss_session_lock.js +127 -0
  71. package/dist/common/boss_session_lock.js.map +1 -0
  72. package/dist/common/boss_session_page.d.ts +27 -0
  73. package/dist/common/boss_session_page.d.ts.map +1 -0
  74. package/dist/common/boss_session_page.js +173 -0
  75. package/dist/common/boss_session_page.js.map +1 -0
  76. package/dist/common/boss_sidebar_nav.d.ts +7 -0
  77. package/dist/common/boss_sidebar_nav.d.ts.map +1 -0
  78. package/dist/common/boss_sidebar_nav.js +53 -0
  79. package/dist/common/boss_sidebar_nav.js.map +1 -0
  80. package/dist/common/c_resume_capture.d.ts +19 -0
  81. package/dist/common/c_resume_capture.d.ts.map +1 -0
  82. package/dist/common/c_resume_capture.js +185 -0
  83. package/dist/common/c_resume_capture.js.map +1 -0
  84. package/dist/common/ensure_page.d.ts +9 -0
  85. package/dist/common/ensure_page.d.ts.map +1 -0
  86. package/dist/common/ensure_page.js +14 -0
  87. package/dist/common/ensure_page.js.map +1 -0
  88. package/dist/config.d.ts +22 -0
  89. package/dist/config.d.ts.map +1 -0
  90. package/dist/config.js +57 -0
  91. package/dist/config.js.map +1 -0
  92. package/dist/ocr/baidu_ocr.d.ts +13 -0
  93. package/dist/ocr/baidu_ocr.d.ts.map +1 -0
  94. package/dist/ocr/baidu_ocr.js +80 -0
  95. package/dist/ocr/baidu_ocr.js.map +1 -0
  96. package/dist/ocr/index.d.ts +3 -0
  97. package/dist/ocr/index.d.ts.map +1 -0
  98. package/dist/ocr/index.js +3 -0
  99. package/dist/ocr/index.js.map +1 -0
  100. package/dist/ocr/resume_ocr.d.ts +13 -0
  101. package/dist/ocr/resume_ocr.d.ts.map +1 -0
  102. package/dist/ocr/resume_ocr.js +38 -0
  103. package/dist/ocr/resume_ocr.js.map +1 -0
  104. package/dist/toolset/action.d.ts +12 -0
  105. package/dist/toolset/action.d.ts.map +1 -0
  106. package/dist/toolset/action.js +521 -0
  107. package/dist/toolset/action.js.map +1 -0
  108. package/dist/toolset/baidu_credentials.d.ts +5 -0
  109. package/dist/toolset/baidu_credentials.d.ts.map +1 -0
  110. package/dist/toolset/baidu_credentials.js +24 -0
  111. package/dist/toolset/baidu_credentials.js.map +1 -0
  112. package/dist/toolset/chat.d.ts +10 -0
  113. package/dist/toolset/chat.d.ts.map +1 -0
  114. package/dist/toolset/chat.js +763 -0
  115. package/dist/toolset/chat.js.map +1 -0
  116. package/dist/toolset/deep-search.d.ts +35 -0
  117. package/dist/toolset/deep-search.d.ts.map +1 -0
  118. package/dist/toolset/deep-search.js +1505 -0
  119. package/dist/toolset/deep-search.js.map +1 -0
  120. package/dist/toolset/greet.d.ts +6 -0
  121. package/dist/toolset/greet.d.ts.map +1 -0
  122. package/dist/toolset/greet.js +81 -0
  123. package/dist/toolset/greet.js.map +1 -0
  124. package/dist/toolset/index.d.ts +48 -0
  125. package/dist/toolset/index.d.ts.map +1 -0
  126. package/dist/toolset/index.js +71 -0
  127. package/dist/toolset/index.js.map +1 -0
  128. package/dist/toolset/jd.d.ts +10 -0
  129. package/dist/toolset/jd.d.ts.map +1 -0
  130. package/dist/toolset/jd.js +406 -0
  131. package/dist/toolset/jd.js.map +1 -0
  132. package/dist/toolset/list.d.ts +6 -0
  133. package/dist/toolset/list.d.ts.map +1 -0
  134. package/dist/toolset/list.js +146 -0
  135. package/dist/toolset/list.js.map +1 -0
  136. package/dist/toolset/login.d.ts +6 -0
  137. package/dist/toolset/login.d.ts.map +1 -0
  138. package/dist/toolset/login.js +76 -0
  139. package/dist/toolset/login.js.map +1 -0
  140. package/dist/toolset/normal-search.d.ts +12 -0
  141. package/dist/toolset/normal-search.d.ts.map +1 -0
  142. package/dist/toolset/normal-search.js +301 -0
  143. package/dist/toolset/normal-search.js.map +1 -0
  144. package/dist/toolset/preview.d.ts +5 -0
  145. package/dist/toolset/preview.d.ts.map +1 -0
  146. package/dist/toolset/preview.js +100 -0
  147. package/dist/toolset/preview.js.map +1 -0
  148. package/dist/toolset/recommend.d.ts +36 -0
  149. package/dist/toolset/recommend.d.ts.map +1 -0
  150. package/dist/toolset/recommend.js +428 -0
  151. package/dist/toolset/recommend.js.map +1 -0
  152. package/dist/toolset/send.d.ts +7 -0
  153. package/dist/toolset/send.d.ts.map +1 -0
  154. package/dist/toolset/send.js +52 -0
  155. package/dist/toolset/send.js.map +1 -0
  156. package/package.json +69 -0
  157. package/skills/boss-frontend-analysis/SKILL.md +58 -0
  158. package/skills/boss-frontend-analysis/agents/openai.yaml +4 -0
  159. package/skills/boss-frontend-analysis/scripts/capture_boss_frontend.mjs +604 -0
@@ -0,0 +1,78 @@
1
+ import { defaultViewportFromEnv } from './cdp_browser.js';
2
+ /** 临时拉高视口时的默认高度(CSS px)。可用 `BOSS_RESUME_SCREENSHOT_VIEWPORT_HEIGHT` 覆盖。 */
3
+ const DEFAULT_TEMP_VIEWPORT_HEIGHT_PX = 5000;
4
+ function resolvedTempHeightPx(heightPx) {
5
+ if (heightPx !== undefined) {
6
+ return heightPx;
7
+ }
8
+ const envH = Number.parseInt(process.env.BOSS_RESUME_SCREENSHOT_VIEWPORT_HEIGHT?.trim() ?? '', 10);
9
+ return Number.isFinite(envH) && envH > 0 ? envH : DEFAULT_TEMP_VIEWPORT_HEIGHT_PX;
10
+ }
11
+ function dimensionsForTempHeight(prev, heightPx) {
12
+ const height = resolvedTempHeightPx(heightPx);
13
+ const base = defaultViewportFromEnv();
14
+ return {
15
+ width: prev?.width ?? base.width,
16
+ height,
17
+ deviceScaleFactor: prev?.deviceScaleFactor ?? 1,
18
+ isMobile: prev?.isMobile ?? false,
19
+ hasTouch: prev?.hasTouch ?? false,
20
+ isLandscape: prev?.isLandscape ?? false,
21
+ };
22
+ }
23
+ function dimensionsAfterResume(prev) {
24
+ if (prev) {
25
+ return prev;
26
+ }
27
+ const d = defaultViewportFromEnv();
28
+ return {
29
+ width: d.width,
30
+ height: d.height,
31
+ deviceScaleFactor: 1,
32
+ isMobile: false,
33
+ hasTouch: false,
34
+ isLandscape: false,
35
+ };
36
+ }
37
+ /**
38
+ * 供临时拉高/恢复视口使用。未设置 Puppeteer 固定视口时 `page.viewport()` 常为 `null`;
39
+ * 若此时仍用 {@link defaultViewportFromEnv}(如 1280×1200)恢复,会改掉用户真实窗口对应的布局视口。
40
+ * 在打开弹层/截图**之前**调用,用页面 `innerWidth`/`innerHeight` 作为恢复基准。
41
+ */
42
+ export async function snapshotBossPageViewport(page) {
43
+ const v = await page.viewport();
44
+ if (v) {
45
+ return {
46
+ width: v.width,
47
+ height: v.height,
48
+ deviceScaleFactor: v.deviceScaleFactor ?? 1,
49
+ isMobile: v.isMobile ?? false,
50
+ hasTouch: v.hasTouch ?? false,
51
+ isLandscape: v.isLandscape ?? false,
52
+ };
53
+ }
54
+ const dims = await page.evaluate(() => ({
55
+ width: window.innerWidth,
56
+ height: window.innerHeight,
57
+ dpr: window.devicePixelRatio || 1,
58
+ }));
59
+ const width = Math.max(320, Math.round(dims.width));
60
+ const height = Math.max(240, Math.round(dims.height));
61
+ return {
62
+ width,
63
+ height,
64
+ deviceScaleFactor: dims.dpr,
65
+ isMobile: false,
66
+ hasTouch: false,
67
+ isLandscape: width > height,
68
+ };
69
+ }
70
+ /** 截图前临时拉高视口高度;`prev` 一般为进入流程前 `await page.viewport()` 的快照。 */
71
+ export async function setTempHeight(page, prev, heightPx) {
72
+ await page.setViewport(dimensionsForTempHeight(prev, heightPx));
73
+ }
74
+ /** 与 {@link setTempHeight} 配对,恢复截图前的视口。 */
75
+ export async function resumeHeight(page, prev) {
76
+ await page.setViewport(dimensionsAfterResume(prev));
77
+ }
78
+ //# sourceMappingURL=viewport_temp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewport_temp.js","sourceRoot":"","sources":["../../src/browser/viewport_temp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function printBossInteractiveBanner(): void;
2
+ //# sourceMappingURL=banner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/cli/banner.ts"],"names":[],"mappings":"AAgDA,wBAAgB,0BAA0B,IAAI,IAAI,CA0BjD"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * 进入交互模式(无参 `boss`)时在终端打印大号 ASCII 品牌条。
3
+ * figlet -f big BOSS-CLI(全大写,斜线/竖线/下划线拼字);无 NO_COLOR 且 stderr 为 TTY 时黑底白字。
4
+ */
5
+ import process from 'node:process';
6
+ import { getPackageMeta } from './version.js';
7
+ /** 比字形略宽,左右留白(字形本身 54 列) */
8
+ const BANNER_WIDTH = 60;
9
+ /** figlet -f big BOSS-CLI(每行 54 字符) */
10
+ const BANNER_ART = [
11
+ ' ____ ____ _____ _____ _____ _ _____ ',
12
+ ' | _ \\ / __ \\ / ____/ ____| / ____| | |_ _|',
13
+ ' | |_) | | | | (___| (___ ______| | | | | | ',
14
+ ' | _ <| | | |\\___ \\\\___ \\______| | | | | | ',
15
+ ' | |_) | |__| |____) |___) | | |____| |____ _| |_ ',
16
+ ' |____/ \\____/|_____/_____/ \\_____|______|_____|',
17
+ ];
18
+ function padCenter(line, width) {
19
+ const t = line.length > width ? line.slice(0, width) : line;
20
+ if (t.length >= width)
21
+ return t;
22
+ return t
23
+ .padStart(Math.floor((width + t.length) / 2), ' ')
24
+ .padEnd(width, ' ');
25
+ }
26
+ const BANNER_LINES = BANNER_ART.map((line) => padCenter(line, BANNER_WIDTH));
27
+ /** 黑底(40)+ 亮白字(97)+ 粗体,与空白行一致,保证整条色带对比度一致 */
28
+ const BG = '\x1b[40m';
29
+ const FG = '\x1b[97m';
30
+ const BD = '\x1b[1m';
31
+ const Z = '\x1b[0m';
32
+ function styleBannerLine(content) {
33
+ return `${BG}${FG}${BD}${content}${Z}`;
34
+ }
35
+ function blankBannerLine(useAnsi) {
36
+ if (useAnsi) {
37
+ console.error(styleBannerLine(' '.repeat(BANNER_WIDTH)));
38
+ }
39
+ else {
40
+ console.error('');
41
+ }
42
+ }
43
+ export function printBossInteractiveBanner() {
44
+ const useAnsi = !process.env.NO_COLOR && process.env.TERM !== 'dumb' && (process.stderr.isTTY ?? false);
45
+ const repoUrl = 'https://github.com/joohw/boss-cli';
46
+ console.error('');
47
+ if (useAnsi) {
48
+ blankBannerLine(true);
49
+ for (const line of BANNER_LINES) {
50
+ console.error(styleBannerLine(line));
51
+ }
52
+ blankBannerLine(true);
53
+ }
54
+ else {
55
+ blankBannerLine(false);
56
+ for (const line of BANNER_LINES) {
57
+ console.error(line);
58
+ }
59
+ blankBannerLine(false);
60
+ }
61
+ const { version } = getPackageMeta();
62
+ console.error(`⭐ 欢迎使用 boss-cli v${version}`);
63
+ console.error(`🌟 GitHub: ${repoUrl}`);
64
+ console.error('✨ 欢迎提交 Issue 或 Star');
65
+ console.error('💫 exit/quit 退出交互模式');
66
+ console.error('🌠 输入 help 查看所有可用命令。');
67
+ console.error('');
68
+ }
69
+ //# sourceMappingURL=banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/cli/banner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /** `readline.question` 在 Ctrl+C 时会抛出 AbortError,视为正常结束而非业务错误 */
2
+ export declare function isReadlineAbortError(e: unknown): boolean;
3
+ /**
4
+ * 执行一条子命令并返回结果(与传入 `process.argv` 切片语义一致,不含 `boss` 本身)。
5
+ */
6
+ export declare function executeCommand(argv: string[]): Promise<string>;
7
+ export declare function runOneCommand(argv: string[]): Promise<void>;
8
+ export declare function runCli(argv: string[]): Promise<void>;
9
+ //# sourceMappingURL=cliRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliRouter.d.ts","sourceRoot":"","sources":["../../src/cli/cliRouter.ts"],"names":[],"mappings":"AAwEA,gEAAgE;AAChE,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAMxD;AA2RD;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAmNpE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAWjE;AAkDD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC1D"}