@reconcrap/boss-recommend-mcp 2.1.13 → 2.1.15

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.
@@ -41,7 +41,9 @@ import { createViewportRunGuard } from "../../core/self-heal/index.js";
41
41
  import {
42
42
  callScreeningLlm,
43
43
  compactScreeningLlmResult,
44
+ createFatalLlmRunError,
44
45
  createFailedLlmScreeningResult,
46
+ isFatalLlmProviderError,
45
47
  llmResultToScreening,
46
48
  screenCandidate
47
49
  } from "../../core/screening/index.js";
@@ -1343,9 +1345,15 @@ export async function runRecommendWorkflow({
1343
1345
  maxImages: llmImageLimit,
1344
1346
  imageDetail: llmImageDetail
1345
1347
  }));
1346
- } catch (error) {
1347
- llmResult = createFailedLlmScreeningResult(error);
1348
- }
1348
+ } catch (error) {
1349
+ if (isFatalLlmProviderError(error)) {
1350
+ throw createFatalLlmRunError(error, {
1351
+ domain: "recommend",
1352
+ candidate: screeningCandidate
1353
+ });
1354
+ }
1355
+ llmResult = createFailedLlmScreeningResult(error);
1356
+ }
1349
1357
  }
1350
1358
  if (detailResult) detailResult.llm_result = llmResult;
1351
1359
  }
@@ -75,6 +75,12 @@ export const RECRUIT_SEARCH_SELECTORS = Object.freeze({
75
75
  'button[ka*="search"]',
76
76
  '[class*="search"][class*="btn"]'
77
77
  ],
78
+ jobTitleTrigger: [
79
+ ".search-job-list-C .ui-dropmenu",
80
+ ".search-job-list-C .ui-dropmenu-label",
81
+ ".search-job-list-C .search-current-job",
82
+ ".search-job-list-C"
83
+ ],
78
84
  jobTitleOption: [
79
85
  '.search-job-list-C li[ka="search_select_job"]',
80
86
  ".search-job-list-C li",
@@ -104,6 +110,65 @@ export const RECRUIT_SEARCH_SELECTORS = Object.freeze({
104
110
  "label.checkbox",
105
111
  '[ka="search_change_view_resume"]'
106
112
  ],
113
+ experienceOption: [
114
+ ".experience-select .exp-item",
115
+ ".experience-select li",
116
+ ".exp-list-ui .exp-item",
117
+ '[class*="experience"] [class*="exp-item"]'
118
+ ],
119
+ experienceCustom: [
120
+ ".experience-select .custom",
121
+ ".experience-select .custom-wrap",
122
+ ".experience-select-custom-slider",
123
+ '[class*="experience"] [class*="custom"]'
124
+ ],
125
+ experienceCustomSlider: [
126
+ ".experience-select .experience-select-custom-slider .ui-slider-wrap",
127
+ ".experience-select .ui-slider-wrap",
128
+ ".experience-select-custom-slider .ui-slider-wrap"
129
+ ],
130
+ experienceCustomSliderHandle: [
131
+ ".experience-select .experience-select-custom-slider .ui-slider-button-wrap",
132
+ ".experience-select .ui-slider-button-wrap",
133
+ ".experience-select-custom-slider .ui-slider-button-wrap"
134
+ ],
135
+ experienceCustomHiddenInput: [
136
+ ".experience-select .experience-select-custom-slider input[type='hidden']",
137
+ ".experience-select input[type='hidden']",
138
+ ".experience-select-custom-slider input[type='hidden']"
139
+ ],
140
+ ageOption: [
141
+ ".age-select .age-item",
142
+ ".age-list-ui .age-item",
143
+ '[class*="age"] [class*="age-item"]'
144
+ ],
145
+ ageCustom: [
146
+ ".age-select .custom",
147
+ ".age-select .age-custom",
148
+ '[class*="age"] [class*="custom"]'
149
+ ],
150
+ ageCustomDropdown: [
151
+ ".age-select .age-custom .dropdown-wrap.select"
152
+ ],
153
+ ageCustomOption: [
154
+ ".age-select .age-custom li",
155
+ ".age-select .age-custom .dropdown-menu li"
156
+ ],
157
+ ageCustomInput: [
158
+ ".age-select .age-custom input"
159
+ ],
160
+ genderDropdown: [
161
+ ".gender-select"
162
+ ],
163
+ genderOption: [
164
+ ".gender-select.dropdown-menu-open li",
165
+ ".gender-select .dropdown-menu li"
166
+ ],
167
+ cityTrigger: [
168
+ ".city-wrap .city",
169
+ ".city-wrap",
170
+ ".search-wrap .city-wrap"
171
+ ],
107
172
  cityInput: [
108
173
  ".city-wrap .search-city-kw input",
109
174
  ".search-city-kw input",