resuml 3.0.0 → 3.1.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.
- package/bin/resuml +3 -2
- package/dist/ats/index.d.ts +83 -0
- package/dist/ats/index.js +8 -0
- package/dist/ats/index.js.map +1 -0
- package/dist/chunk-G4AN2EMI.js +461 -0
- package/dist/chunk-G4AN2EMI.js.map +1 -0
- package/dist/chunk-M6JY5UDJ.js +778 -0
- package/dist/chunk-M6JY5UDJ.js.map +1 -0
- package/dist/chunk-N55EPZ2N.js +1836 -0
- package/dist/chunk-N55EPZ2N.js.map +1 -0
- package/dist/{chunk-R4MD5YMV.js → chunk-QR77BRMN.js} +154 -2434
- package/dist/chunk-QR77BRMN.js.map +1 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.js +24 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +4 -424
- package/dist/index.js +10 -775
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +6 -3
- package/dist/mcp/server.js.map +1 -1
- package/dist/skills/index.d.ts +67 -0
- package/dist/skills/index.js +13 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/types/index.d.ts +343 -0
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +28 -3
- package/dist/chunk-R4MD5YMV.js.map +0 -1
- package/src/types/resume.ts +0 -344
- package/src/types/schema.d.ts +0 -6
package/dist/cli.d.ts
ADDED
package/dist/cli.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {
|
|
2
|
+
program
|
|
3
|
+
} from "./chunk-M6JY5UDJ.js";
|
|
4
|
+
import "./chunk-G4AN2EMI.js";
|
|
5
|
+
import "./chunk-N55EPZ2N.js";
|
|
6
|
+
import "./chunk-QR77BRMN.js";
|
|
7
|
+
|
|
8
|
+
// src/cli.ts
|
|
9
|
+
async function main(argv) {
|
|
10
|
+
try {
|
|
11
|
+
await program.parseAsync(argv || process.argv);
|
|
12
|
+
} catch (error) {
|
|
13
|
+
if (process.env["NODE_ENV"] !== "test") {
|
|
14
|
+
console.error("CLI execution failed:", error);
|
|
15
|
+
process.exit(1);
|
|
16
|
+
} else {
|
|
17
|
+
throw error;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
main
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli.ts"],"sourcesContent":["import { program } from './index';\n\n/**\n * Main CLI execution function.\n * Parses arguments and runs the corresponding command.\n * Intended for use in tests or as a programmatic entry point if needed.\n */\nexport async function main(argv?: string[]): Promise<void> {\n // If argv is not provided, process.argv will be used by commander by default.\n // Commander handles its own error output for parsing errors.\n // We mock process.exit in tests to prevent test runner termination.\n try {\n await program.parseAsync(argv || process.argv);\n } catch (error) {\n // This catch is for unexpected errors during parseAsync,\n // though Commander usually handles errors and calls process.exit.\n // In a test environment with process.exit mocked, this might catch issues.\n if (process.env['NODE_ENV'] !== 'test') {\n console.error('CLI execution failed:', error);\n process.exit(1);\n } else {\n // In test mode, rethrow to allow tests to catch it if necessary\n throw error;\n }\n }\n}\n"],"mappings":";;;;;;;;AAOA,eAAsB,KAAK,MAAgC;AAIzD,MAAI;AACF,UAAM,QAAQ,WAAW,QAAQ,QAAQ,IAAI;AAAA,EAC/C,SAAS,OAAO;AAId,QAAI,QAAQ,IAAI,UAAU,MAAM,QAAQ;AACtC,cAAQ,MAAM,yBAAyB,KAAK;AAC5C,cAAQ,KAAK,CAAC;AAAA,IAChB,OAAO;AAEL,YAAM;AAAA,IACR;AAAA,EACF;AACF;","names":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,347 +1,7 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
1
|
import { Command } from 'commander';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
7
|
-
* and run json-schema-to-typescript to regenerate this file.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Similar to the standard date type, but each section after the year is optional. e.g. 2014-06-29 or 2023-04
|
|
11
|
-
*/
|
|
12
|
-
type Iso8601 = string;
|
|
13
|
-
interface ResumeSchema {
|
|
14
|
-
/**
|
|
15
|
-
* link to the version of the schema that can validate the resume
|
|
16
|
-
*/
|
|
17
|
-
$schema?: string;
|
|
18
|
-
basics?: {
|
|
19
|
-
name?: string;
|
|
20
|
-
/**
|
|
21
|
-
* e.g. Web Developer
|
|
22
|
-
*/
|
|
23
|
-
label?: string;
|
|
24
|
-
/**
|
|
25
|
-
* URL (as per RFC 3986) to a image in JPEG or PNG format
|
|
26
|
-
*/
|
|
27
|
-
image?: string;
|
|
28
|
-
/**
|
|
29
|
-
* e.g. thomas@gmail.com
|
|
30
|
-
*/
|
|
31
|
-
email?: string;
|
|
32
|
-
/**
|
|
33
|
-
* Phone numbers are stored as strings so use any format you like, e.g. 712-117-2923
|
|
34
|
-
*/
|
|
35
|
-
phone?: string;
|
|
36
|
-
/**
|
|
37
|
-
* URL (as per RFC 3986) to your website, e.g. personal homepage
|
|
38
|
-
*/
|
|
39
|
-
url?: string;
|
|
40
|
-
/**
|
|
41
|
-
* Write a short 2-3 sentence biography about yourself
|
|
42
|
-
*/
|
|
43
|
-
summary?: string;
|
|
44
|
-
location?: {
|
|
45
|
-
/**
|
|
46
|
-
* To add multiple address lines, use
|
|
47
|
-
* . For example, 1234 Glücklichkeit Straße
|
|
48
|
-
* Hinterhaus 5. Etage li.
|
|
49
|
-
*/
|
|
50
|
-
address?: string;
|
|
51
|
-
postalCode?: string;
|
|
52
|
-
city?: string;
|
|
53
|
-
/**
|
|
54
|
-
* code as per ISO-3166-1 ALPHA-2, e.g. US, AU, IN
|
|
55
|
-
*/
|
|
56
|
-
countryCode?: string;
|
|
57
|
-
/**
|
|
58
|
-
* The general region where you live. Can be a US state, or a province, for instance.
|
|
59
|
-
*/
|
|
60
|
-
region?: string;
|
|
61
|
-
[k: string]: unknown;
|
|
62
|
-
};
|
|
63
|
-
/**
|
|
64
|
-
* Specify any number of social networks that you participate in
|
|
65
|
-
*/
|
|
66
|
-
profiles?: {
|
|
67
|
-
/**
|
|
68
|
-
* e.g. Facebook or Twitter
|
|
69
|
-
*/
|
|
70
|
-
network?: string;
|
|
71
|
-
/**
|
|
72
|
-
* e.g. neutralthoughts
|
|
73
|
-
*/
|
|
74
|
-
username?: string;
|
|
75
|
-
/**
|
|
76
|
-
* e.g. http://twitter.example.com/neutralthoughts
|
|
77
|
-
*/
|
|
78
|
-
url?: string;
|
|
79
|
-
[k: string]: unknown;
|
|
80
|
-
}[];
|
|
81
|
-
[k: string]: unknown;
|
|
82
|
-
};
|
|
83
|
-
work?: {
|
|
84
|
-
/**
|
|
85
|
-
* e.g. Facebook
|
|
86
|
-
*/
|
|
87
|
-
name?: string;
|
|
88
|
-
/**
|
|
89
|
-
* e.g. Menlo Park, CA
|
|
90
|
-
*/
|
|
91
|
-
location?: string;
|
|
92
|
-
/**
|
|
93
|
-
* e.g. Social Media Company
|
|
94
|
-
*/
|
|
95
|
-
description?: string;
|
|
96
|
-
/**
|
|
97
|
-
* e.g. Software Engineer
|
|
98
|
-
*/
|
|
99
|
-
position?: string;
|
|
100
|
-
/**
|
|
101
|
-
* e.g. http://facebook.example.com
|
|
102
|
-
*/
|
|
103
|
-
url?: string;
|
|
104
|
-
startDate?: Iso8601;
|
|
105
|
-
endDate?: Iso8601;
|
|
106
|
-
/**
|
|
107
|
-
* Give an overview of your responsibilities at the company
|
|
108
|
-
*/
|
|
109
|
-
summary?: string;
|
|
110
|
-
/**
|
|
111
|
-
* Specify multiple accomplishments
|
|
112
|
-
*/
|
|
113
|
-
highlights?: string[];
|
|
114
|
-
[k: string]: unknown;
|
|
115
|
-
}[];
|
|
116
|
-
volunteer?: {
|
|
117
|
-
/**
|
|
118
|
-
* e.g. Facebook
|
|
119
|
-
*/
|
|
120
|
-
organization?: string;
|
|
121
|
-
/**
|
|
122
|
-
* e.g. Software Engineer
|
|
123
|
-
*/
|
|
124
|
-
position?: string;
|
|
125
|
-
/**
|
|
126
|
-
* e.g. http://facebook.example.com
|
|
127
|
-
*/
|
|
128
|
-
url?: string;
|
|
129
|
-
startDate?: Iso8601;
|
|
130
|
-
endDate?: Iso8601;
|
|
131
|
-
/**
|
|
132
|
-
* Give an overview of your responsibilities at the company
|
|
133
|
-
*/
|
|
134
|
-
summary?: string;
|
|
135
|
-
/**
|
|
136
|
-
* Specify accomplishments and achievements
|
|
137
|
-
*/
|
|
138
|
-
highlights?: string[];
|
|
139
|
-
[k: string]: unknown;
|
|
140
|
-
}[];
|
|
141
|
-
education?: {
|
|
142
|
-
/**
|
|
143
|
-
* e.g. Massachusetts Institute of Technology
|
|
144
|
-
*/
|
|
145
|
-
institution?: string;
|
|
146
|
-
/**
|
|
147
|
-
* e.g. http://facebook.example.com
|
|
148
|
-
*/
|
|
149
|
-
url?: string;
|
|
150
|
-
/**
|
|
151
|
-
* e.g. Arts
|
|
152
|
-
*/
|
|
153
|
-
area?: string;
|
|
154
|
-
/**
|
|
155
|
-
* e.g. Bachelor
|
|
156
|
-
*/
|
|
157
|
-
studyType?: string;
|
|
158
|
-
startDate?: Iso8601;
|
|
159
|
-
endDate?: Iso8601;
|
|
160
|
-
/**
|
|
161
|
-
* grade point average, e.g. 3.67/4.0
|
|
162
|
-
*/
|
|
163
|
-
score?: string;
|
|
164
|
-
/**
|
|
165
|
-
* List notable courses/subjects
|
|
166
|
-
*/
|
|
167
|
-
courses?: string[];
|
|
168
|
-
[k: string]: unknown;
|
|
169
|
-
}[];
|
|
170
|
-
/**
|
|
171
|
-
* Specify any awards you have received throughout your professional career
|
|
172
|
-
*/
|
|
173
|
-
awards?: {
|
|
174
|
-
/**
|
|
175
|
-
* e.g. One of the 100 greatest minds of the century
|
|
176
|
-
*/
|
|
177
|
-
title?: string;
|
|
178
|
-
date?: Iso8601;
|
|
179
|
-
/**
|
|
180
|
-
* e.g. Time Magazine
|
|
181
|
-
*/
|
|
182
|
-
awarder?: string;
|
|
183
|
-
/**
|
|
184
|
-
* e.g. Received for my work with Quantum Physics
|
|
185
|
-
*/
|
|
186
|
-
summary?: string;
|
|
187
|
-
[k: string]: unknown;
|
|
188
|
-
}[];
|
|
189
|
-
/**
|
|
190
|
-
* Specify any certificates you have received throughout your professional career
|
|
191
|
-
*/
|
|
192
|
-
certificates?: {
|
|
193
|
-
/**
|
|
194
|
-
* e.g. Certified Kubernetes Administrator
|
|
195
|
-
*/
|
|
196
|
-
name?: string;
|
|
197
|
-
date?: Iso8601;
|
|
198
|
-
/**
|
|
199
|
-
* e.g. http://example.com
|
|
200
|
-
*/
|
|
201
|
-
url?: string;
|
|
202
|
-
/**
|
|
203
|
-
* e.g. CNCF
|
|
204
|
-
*/
|
|
205
|
-
issuer?: string;
|
|
206
|
-
[k: string]: unknown;
|
|
207
|
-
}[];
|
|
208
|
-
/**
|
|
209
|
-
* Specify your publications through your career
|
|
210
|
-
*/
|
|
211
|
-
publications?: {
|
|
212
|
-
/**
|
|
213
|
-
* e.g. The World Wide Web
|
|
214
|
-
*/
|
|
215
|
-
name?: string;
|
|
216
|
-
/**
|
|
217
|
-
* e.g. IEEE, Computer Magazine
|
|
218
|
-
*/
|
|
219
|
-
publisher?: string;
|
|
220
|
-
releaseDate?: Iso8601;
|
|
221
|
-
/**
|
|
222
|
-
* e.g. http://www.computer.org.example.com/csdl/mags/co/1996/10/rx069-abs.html
|
|
223
|
-
*/
|
|
224
|
-
url?: string;
|
|
225
|
-
/**
|
|
226
|
-
* Short summary of publication. e.g. Discussion of the World Wide Web, HTTP, HTML.
|
|
227
|
-
*/
|
|
228
|
-
summary?: string;
|
|
229
|
-
[k: string]: unknown;
|
|
230
|
-
}[];
|
|
231
|
-
/**
|
|
232
|
-
* List out your professional skill-set
|
|
233
|
-
*/
|
|
234
|
-
skills?: {
|
|
235
|
-
/**
|
|
236
|
-
* e.g. Web Development
|
|
237
|
-
*/
|
|
238
|
-
name?: string;
|
|
239
|
-
/**
|
|
240
|
-
* e.g. Master
|
|
241
|
-
*/
|
|
242
|
-
level?: string;
|
|
243
|
-
/**
|
|
244
|
-
* List some keywords pertaining to this skill
|
|
245
|
-
*/
|
|
246
|
-
keywords?: string[];
|
|
247
|
-
[k: string]: unknown;
|
|
248
|
-
}[];
|
|
249
|
-
/**
|
|
250
|
-
* List any other languages you speak
|
|
251
|
-
*/
|
|
252
|
-
languages?: {
|
|
253
|
-
/**
|
|
254
|
-
* e.g. English, Spanish
|
|
255
|
-
*/
|
|
256
|
-
language?: string;
|
|
257
|
-
/**
|
|
258
|
-
* e.g. Fluent, Beginner
|
|
259
|
-
*/
|
|
260
|
-
fluency?: string;
|
|
261
|
-
[k: string]: unknown;
|
|
262
|
-
}[];
|
|
263
|
-
interests?: {
|
|
264
|
-
/**
|
|
265
|
-
* e.g. Philosophy
|
|
266
|
-
*/
|
|
267
|
-
name?: string;
|
|
268
|
-
keywords?: string[];
|
|
269
|
-
[k: string]: unknown;
|
|
270
|
-
}[];
|
|
271
|
-
/**
|
|
272
|
-
* List references you have received
|
|
273
|
-
*/
|
|
274
|
-
references?: {
|
|
275
|
-
/**
|
|
276
|
-
* e.g. Timothy Cook
|
|
277
|
-
*/
|
|
278
|
-
name?: string;
|
|
279
|
-
/**
|
|
280
|
-
* e.g. Joe blogs was a great employee, who turned up to work at least once a week. He exceeded my expectations when it came to doing nothing.
|
|
281
|
-
*/
|
|
282
|
-
reference?: string;
|
|
283
|
-
[k: string]: unknown;
|
|
284
|
-
}[];
|
|
285
|
-
/**
|
|
286
|
-
* Specify career projects
|
|
287
|
-
*/
|
|
288
|
-
projects?: {
|
|
289
|
-
/**
|
|
290
|
-
* e.g. The World Wide Web
|
|
291
|
-
*/
|
|
292
|
-
name?: string;
|
|
293
|
-
/**
|
|
294
|
-
* Short summary of project. e.g. Collated works of 2017.
|
|
295
|
-
*/
|
|
296
|
-
description?: string;
|
|
297
|
-
/**
|
|
298
|
-
* Specify multiple features
|
|
299
|
-
*/
|
|
300
|
-
highlights?: string[];
|
|
301
|
-
/**
|
|
302
|
-
* Specify special elements involved
|
|
303
|
-
*/
|
|
304
|
-
keywords?: string[];
|
|
305
|
-
startDate?: Iso8601;
|
|
306
|
-
endDate?: Iso8601;
|
|
307
|
-
/**
|
|
308
|
-
* e.g. http://www.computer.org/csdl/mags/co/1996/10/rx069-abs.html
|
|
309
|
-
*/
|
|
310
|
-
url?: string;
|
|
311
|
-
/**
|
|
312
|
-
* Specify your role on this project or in company
|
|
313
|
-
*/
|
|
314
|
-
roles?: string[];
|
|
315
|
-
/**
|
|
316
|
-
* Specify the relevant company/entity affiliations e.g. 'greenpeace', 'corporationXYZ'
|
|
317
|
-
*/
|
|
318
|
-
entity?: string;
|
|
319
|
-
/**
|
|
320
|
-
* e.g. 'volunteering', 'presentation', 'talk', 'application', 'conference'
|
|
321
|
-
*/
|
|
322
|
-
type?: string;
|
|
323
|
-
[k: string]: unknown;
|
|
324
|
-
}[];
|
|
325
|
-
/**
|
|
326
|
-
* The schema version and any other tooling configuration lives here
|
|
327
|
-
*/
|
|
328
|
-
meta?: {
|
|
329
|
-
/**
|
|
330
|
-
* URL (as per RFC 3986) to latest version of this document
|
|
331
|
-
*/
|
|
332
|
-
canonical?: string;
|
|
333
|
-
/**
|
|
334
|
-
* A version field which follows semver - e.g. v1.0.0
|
|
335
|
-
*/
|
|
336
|
-
version?: string;
|
|
337
|
-
/**
|
|
338
|
-
* Using ISO 8601 with YYYY-MM-DDThh:mm:ss
|
|
339
|
-
*/
|
|
340
|
-
lastModified?: string;
|
|
341
|
-
[k: string]: unknown;
|
|
342
|
-
};
|
|
343
|
-
[k: string]: unknown;
|
|
344
|
-
}
|
|
2
|
+
import { Resume as ResumeSchema } from './types/index.js';
|
|
3
|
+
export { Iso8601 } from './types/index.js';
|
|
4
|
+
export { AtsOptions, CheckResult, KnockoutSignal, TierResult, TieredAtsResult, analyzeAts } from './ats/index.js';
|
|
345
5
|
|
|
346
6
|
/**
|
|
347
7
|
* Merges and validates resume data objects against the JSON Resume schema.
|
|
@@ -409,86 +69,6 @@ declare namespace themeRender {
|
|
|
409
69
|
export { themeRender_injectCss as injectCss, themeRender_renderTheme as renderTheme };
|
|
410
70
|
}
|
|
411
71
|
|
|
412
|
-
type Tier = 'parsing' | 'match' | 'recruiter';
|
|
413
|
-
type AtsCheckWeight = 'high' | 'medium' | 'low';
|
|
414
|
-
type AtsRating = 'excellent' | 'good' | 'needs-work' | 'poor';
|
|
415
|
-
type CheckStatus = 'pass' | 'warn' | 'fail' | 'skipped';
|
|
416
|
-
type Grade = 'A' | 'B' | 'C' | 'D' | 'F';
|
|
417
|
-
interface CheckResult {
|
|
418
|
-
id: string;
|
|
419
|
-
tier: Tier;
|
|
420
|
-
status: CheckStatus;
|
|
421
|
-
score: number;
|
|
422
|
-
weight: AtsCheckWeight;
|
|
423
|
-
message: string;
|
|
424
|
-
hints: string[];
|
|
425
|
-
}
|
|
426
|
-
interface TierResult {
|
|
427
|
-
score: number;
|
|
428
|
-
grade: Grade;
|
|
429
|
-
checks: CheckResult[];
|
|
430
|
-
}
|
|
431
|
-
interface KnockoutSignal {
|
|
432
|
-
signal: string;
|
|
433
|
-
evidence: string;
|
|
434
|
-
recommendation: string;
|
|
435
|
-
}
|
|
436
|
-
interface TieredAtsResult {
|
|
437
|
-
score: number;
|
|
438
|
-
rating: AtsRating;
|
|
439
|
-
tiers: {
|
|
440
|
-
parsing: TierResult;
|
|
441
|
-
match?: TierResult;
|
|
442
|
-
recruiter: TierResult;
|
|
443
|
-
};
|
|
444
|
-
knockouts: KnockoutSignal[];
|
|
445
|
-
summary: string;
|
|
446
|
-
}
|
|
447
|
-
interface AtsOptions {
|
|
448
|
-
language?: string;
|
|
449
|
-
jobDescription?: string;
|
|
450
|
-
threshold?: number;
|
|
451
|
-
config?: AtsConfig;
|
|
452
|
-
}
|
|
453
|
-
interface AtsConfig {
|
|
454
|
-
weights: {
|
|
455
|
-
tiers: {
|
|
456
|
-
parsing: number;
|
|
457
|
-
match: number;
|
|
458
|
-
recruiter: number;
|
|
459
|
-
};
|
|
460
|
-
checks: Record<string, AtsCheckWeight>;
|
|
461
|
-
};
|
|
462
|
-
thresholds: {
|
|
463
|
-
rating: {
|
|
464
|
-
excellent: number;
|
|
465
|
-
good: number;
|
|
466
|
-
needsWork: number;
|
|
467
|
-
};
|
|
468
|
-
grade: {
|
|
469
|
-
A: number;
|
|
470
|
-
B: number;
|
|
471
|
-
C: number;
|
|
472
|
-
D: number;
|
|
473
|
-
};
|
|
474
|
-
seniorYoeCutoff: number;
|
|
475
|
-
wordCount: {
|
|
476
|
-
min: number;
|
|
477
|
-
max: number;
|
|
478
|
-
seniorMax: number;
|
|
479
|
-
};
|
|
480
|
-
bulletsPerRole: {
|
|
481
|
-
min: number;
|
|
482
|
-
max: number;
|
|
483
|
-
seniorMax: number;
|
|
484
|
-
};
|
|
485
|
-
};
|
|
486
|
-
disable: string[];
|
|
487
|
-
locale: string;
|
|
488
|
-
}
|
|
489
|
-
|
|
490
|
-
declare function analyzeAts(resume: ResumeSchema, options?: AtsOptions): TieredAtsResult;
|
|
491
|
-
|
|
492
72
|
declare const program: Command;
|
|
493
73
|
|
|
494
|
-
export {
|
|
74
|
+
export { ResumeSchema as Resume, ResumeSchema, loadResumeFiles, loadTheme, processResumeData, program, themeRender };
|