job_ops-mcp 0.4.0 → 0.4.1

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/README.md CHANGED
@@ -20,23 +20,43 @@ npx job_ops-mcp init
20
20
 
21
21
  # 2. Open cv.md, config/profile.yml, portals.yml and replace every <TODO> placeholder.
22
22
 
23
- # 3. Confirm everything is wired
23
+ # 3. Rebuild the career_packet from your now-real cv.md
24
+ # (or just re-run `init` — it auto-reseeds when it detects cv.md changed)
25
+ npx job_ops-mcp reseed
26
+
27
+ # 4. Confirm everything is wired
24
28
  npx job_ops-mcp doctor
25
29
 
26
- # 4. Boot the server (Chromium auto-installs on first run)
30
+ # 5. Boot the server (Chromium auto-installs on first run)
27
31
  npx job_ops-mcp start
28
32
  # ▷ job_ops-mcp listening on http://127.0.0.1:7891
29
33
 
30
- # 5. Get a copy-paste config block for your MCP client
34
+ # 6. Get a copy-paste config block for your MCP client
31
35
  npx job_ops-mcp connect
32
36
 
33
- # 6. Paste a job URL or pasted JD into your chat — the chat calls evaluate_job, draws on
37
+ # 7. Paste a job URL or pasted JD into your chat — the chat calls evaluate_job, draws on
34
38
  # your rubric + career_packet + tailoring rules, and walks the rest of the workflow.
35
39
  ```
36
40
 
37
41
  That's the loop. Everything else (warm-intro finder, story bank, negotiation brief,
38
42
  batch rater, scheduler, …) is wired in but optional.
39
43
 
44
+ ### The edit-cv.md loop
45
+
46
+ Your `career_packet` is the source of truth the chat uses to score JDs and draft
47
+ materials. It's built from `cv.md` + `config/profile.yml`. Whenever you edit `cv.md`,
48
+ **re-run reseed** so the chat sees the new bullets:
49
+
50
+ ```bash
51
+ # After any edit to cv.md:
52
+ npx job_ops-mcp reseed
53
+ ```
54
+
55
+ `reseed` writes a NEW active version (the previous version is demoted, history kept).
56
+ The chat can also call the `reseed_career_packet` MCP tool to do the same thing without
57
+ leaving the conversation. `doctor` warns when `cv.md` changed since the last reseed, and
58
+ `init` auto-reseeds when it detects the mismatch.
59
+
40
60
  ---
41
61
 
42
62
  ## What it does
package/dist/cli.js CHANGED
@@ -84,11 +84,26 @@ async function cmdInit(flags) {
84
84
  const { config: cfg } = await import('./config.js');
85
85
  const { getDb } = await import('./db.js');
86
86
  getDb();
87
- const { ensureActiveCareerPacket } = await import('./core/profile.js');
88
- const seed = ensureActiveCareerPacket();
87
+ const { ensureActiveCareerPacket, getActiveCareerPacket, loadProjectFiles, packetStatus, seedCareerPacketFromFiles, } = await import('./core/profile.js');
88
+ const seed = await ensureActiveCareerPacket();
89
89
  console.log(`\n ${tick()} data dir: ${cfg.dataDir}`);
90
90
  console.log(` ${tick()} SQLite migrations applied`);
91
91
  console.log(` ${tick()} career_packet ${seed.created ? 'seeded' : 'present'} (v${seed.version})`);
92
+ // Stale check: cv.md was edited after the last reseed? Rebuild and tell the user
93
+ // clearly. The previous active row is demoted (history retained).
94
+ const status = packetStatus({ active: getActiveCareerPacket(), cvMd: loadProjectFiles().cvMd });
95
+ if (status === 'cv_edited_since_seed') {
96
+ console.log(` ${warn()} cv.md was edited after the last reseed.`);
97
+ console.log(` ${c.dim('→ auto-reseeding now (previous active row demoted, version bumped, history kept)…')}`);
98
+ const r = await seedCareerPacketFromFiles({ mode: 'reseed' });
99
+ console.log(` ${tick()} reseeded → v${r.version} (${r.sections_with_cv_content}/6 sections populated from cv.md)`);
100
+ }
101
+ else if (status === 'cv_is_example') {
102
+ console.log(` ${warn()} cv.md still looks like the example template — fill it in, then run ${c.bold('npx job_ops-mcp reseed')}.`);
103
+ }
104
+ else if (status === 'packet_is_template') {
105
+ console.log(` ${warn()} active packet still has TODO markers. Run ${c.bold('npx job_ops-mcp reseed')} to rebuild from cv.md.`);
106
+ }
92
107
  }
93
108
  catch (e) {
94
109
  console.log(` ${cross()} migration error: ${e?.message ?? e}`);
@@ -198,6 +213,41 @@ async function cmdDoctor() {
198
213
  // 5. Visa scoring flag
199
214
  const visaOn = (process.env.MCP_JSA_VISA_SCORING ?? 'true').toLowerCase() !== 'false';
200
215
  console.log(` ${tick()} visa scoring: ${visaOn ? 'on (0.5/0.3/0.2)' : 'off (0.6/0.4, visa tools hidden)'}`);
216
+ // 6. Career-packet staleness check (only meaningful if the DB exists).
217
+ try {
218
+ const { getDb } = await import('./db.js');
219
+ getDb();
220
+ const { getActiveCareerPacket, loadProjectFiles, packetStatus } = await import('./core/profile.js');
221
+ const active = getActiveCareerPacket();
222
+ const status = packetStatus({ active, cvMd: loadProjectFiles().cvMd });
223
+ const fixReseed = c.bold('npx job_ops-mcp reseed');
224
+ const fixInit = c.bold('npx job_ops-mcp init');
225
+ switch (status) {
226
+ case 'no_packet':
227
+ console.log(` ${cross()} no active career_packet. Fix: ${fixInit}`);
228
+ failures++;
229
+ break;
230
+ case 'no_cv':
231
+ console.log(` ${warn()} cv.md missing — packet is identity-only. Fix: create cv.md, then ${fixReseed}.`);
232
+ break;
233
+ case 'cv_is_example':
234
+ console.log(` ${warn()} cv.md is still the example template. Fill it in, then ${fixReseed}.`);
235
+ break;
236
+ case 'cv_edited_since_seed':
237
+ console.log(` ${cross()} cv.md was edited after the last reseed. Run ${fixReseed} to refresh.`);
238
+ failures++;
239
+ break;
240
+ case 'packet_is_template':
241
+ console.log(` ${warn()} career_packet v${active.version} still has TODO markers. Run ${fixReseed}.`);
242
+ break;
243
+ case 'ok':
244
+ console.log(` ${tick()} career_packet v${active.version} matches current cv.md`);
245
+ break;
246
+ }
247
+ }
248
+ catch {
249
+ console.log(` ${warn()} career_packet check skipped — DB not initialized (run ${c.bold('npx job_ops-mcp init')} first).`);
250
+ }
201
251
  console.log('');
202
252
  if (failures > 0) {
203
253
  console.log(c.red(`${failures} check(s) failed.`));
@@ -311,6 +361,35 @@ function yamlBlock(o, indent = 0) {
311
361
  }
312
362
  return JSON.stringify(o);
313
363
  }
364
+ // ── reseed ──────────────────────────────────────────────────────────────────
365
+ async function cmdReseed(flags) {
366
+ if (!process.env.MCP_JSA_PROJECT_ROOT)
367
+ process.env.MCP_JSA_PROJECT_ROOT = process.cwd();
368
+ console.log(c.bold('\njob_ops-mcp reseed\n'));
369
+ console.log(c.dim('Rebuilds the active career_packet from the current cv.md + config/profile.yml.'));
370
+ console.log(c.dim('Bumps version; the previous active row is demoted (history kept).\n'));
371
+ const { loadProjectFiles, cvHasRealContent, seedCareerPacketFromFiles, packetPreview } = await import('./core/profile.js');
372
+ const { cvMd, profile } = loadProjectFiles();
373
+ if (!profile && !flags.get('force')) {
374
+ console.error(` ${cross()} config/profile.yml not found. Run ${c.bold('npx job_ops-mcp init')} first, or pass --force.`);
375
+ process.exit(1);
376
+ }
377
+ if (!cvHasRealContent(cvMd) && !flags.get('force')) {
378
+ console.error(` ${warn()} cv.md is missing or looks like the <TODO> example template.`);
379
+ console.error(` ${c.dim('Fill it in first, then re-run.')}`);
380
+ console.error(` ${c.dim('Or pass --force to reseed anyway (identity-only — most sections stay as <TODO>).')}`);
381
+ process.exit(1);
382
+ }
383
+ const r = await seedCareerPacketFromFiles({ mode: 'reseed' });
384
+ console.log(` ${tick()} active career_packet → version ${c.bold(`v${r.version}`)} (${r.bytes} bytes)`);
385
+ console.log(` ${tick()} ${r.sections_with_cv_content}/6 sections populated from cv.md (sections 3-8)`);
386
+ console.log('');
387
+ console.log(c.dim('Preview (first ~400 chars):'));
388
+ console.log(c.dim('─'.repeat(64)));
389
+ console.log(packetPreview(r.preview, 600));
390
+ console.log(c.dim('─'.repeat(64)));
391
+ console.log('');
392
+ }
314
393
  // ── help ────────────────────────────────────────────────────────────────────
315
394
  function cmdHelp() {
316
395
  console.log(`
@@ -325,6 +404,8 @@ COMMANDS
325
404
  start Boot the MCP + HTTP server. Auto-installs Chromium on first run.
326
405
  start --stdio Same server, but MCP rides stdin/stdout (for Claude Desktop).
327
406
  HTTP file server still runs on the port so /files/* links work.
407
+ reseed Rebuild the active career_packet from the current cv.md +
408
+ config/profile.yml. Run this after editing cv.md.
328
409
  doctor Diagnose Node version, Chromium, config files, LLM key.
329
410
  connect Print copy-paste MCP client config (Claude Desktop + LibreChat).
330
411
  help Show this message.
@@ -360,6 +441,9 @@ async function main() {
360
441
  case 'connect':
361
442
  await cmdConnect(flags);
362
443
  break;
444
+ case 'reseed':
445
+ await cmdReseed(flags);
446
+ break;
363
447
  case '--version':
364
448
  case '-v':
365
449
  case 'version':
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,22 @@
1
- // Loads cv.md + config/profile.yml + portals.yml from the configured project root.
2
- // Seeds career_packet table with an active row on first run.
1
+ // Loads cv.md + config/profile.yml + portals.yml from the configured project root,
2
+ // and rebuilds the active career_packet from those files.
3
+ //
4
+ // The packet content is built from THREE inputs:
5
+ // 1. modes/career_packet.md — the structural template (sections, hard rules)
6
+ // 2. config/profile.yml — identity → Section 1
7
+ // 3. cv.md — parsed via parseCV() → Sections 3-8 (work, projects,
8
+ // skills, education) so the chat sees real bullets,
9
+ // not <TODO> placeholders.
10
+ //
11
+ // The hard rule from the brief stays intact: NOTHING in the packet is invented; every
12
+ // bullet, project, skill, and degree comes verbatim from cv.md.
3
13
  import { existsSync, readFileSync } from 'node:fs';
4
- import { createHash } from 'node:crypto';
14
+ import { createHash, randomUUID } from 'node:crypto';
5
15
  import { resolve } from 'node:path';
6
16
  import yaml from 'js-yaml';
7
- import { randomUUID } from 'node:crypto';
8
17
  import { config } from '../config.js';
9
- import { getDb } from '../db.js';
18
+ import { getDb, runInWriteLock } from '../db.js';
19
+ import { parseCV } from './cv_parse.js';
10
20
  // ── Loaders ──────────────────────────────────────────────────────────────────
11
21
  export function pathInProject(...parts) {
12
22
  return resolve(config.projectRoot, ...parts);
@@ -27,38 +37,177 @@ export function loadProjectFiles() {
27
37
  }
28
38
  return { cvMd, profile, portalsYml };
29
39
  }
30
- // ── Career packet seeding ─────────────────────────────────────────────────────
31
- /**
32
- * On first startup, ensure exactly one `is_active = 1` row exists in `career_packet`.
33
- * If none exists, seed it from `modes/career_packet.md` (the markdown source of truth)
34
- * combined with the candidate identity block from `config/profile.yml`. The cv.md hash
35
- * is stored so we can detect drift later (`cv-sync-check` equivalent in milestone 2).
36
- */
37
- export function ensureActiveCareerPacket() {
38
- const db = getDb();
39
- const existing = db
40
- .prepare('SELECT version FROM career_packet WHERE is_active = 1')
41
- .get();
42
- if (existing)
43
- return { version: existing.version, created: false };
44
- const packetTemplatePath = resolve(config.modesDir, 'career_packet.md');
45
- const packetBody = readIfExists(packetTemplatePath) ?? '# Career Packet (empty)';
46
- const { cvMd, profile } = loadProjectFiles();
47
- const identityBlock = renderIdentityBlock(profile);
48
- const content = packetBody.replace(/## 1\. Identity[\s\S]*?(?=^## )/m, `## 1. Identity\n\n${identityBlock}\n\n`);
49
- const sourceHash = cvMd ? sha256(cvMd) : null;
50
- db.prepare(`
51
- INSERT INTO career_packet (id, version, content, taglines, is_active, source_cv_hash, notes)
52
- VALUES (?, 1, ?, NULL, 1, ?, 'seeded on first run')
53
- `).run(randomUUID(), content, sourceHash);
54
- return { version: 1, created: true };
40
+ // ── Staleness detection ──────────────────────────────────────────────────────
41
+ const TODO_MARKER = /<TODO[\s>]/g;
42
+ const MIN_REAL_CV_BYTES = 500; // anything smaller is probably still the example
43
+ /** True when the packet body still has 3+ literal `<TODO ...>` markers (template-y). */
44
+ export function isPlaceholderPacket(content) {
45
+ if (!content)
46
+ return true;
47
+ return (content.match(TODO_MARKER) || []).length >= 3;
55
48
  }
49
+ /** True when cv.md exists with non-trivial, non-example content. */
50
+ export function cvHasRealContent(cvMd) {
51
+ if (!cvMd)
52
+ return false;
53
+ if (cvMd.length < MIN_REAL_CV_BYTES)
54
+ return false;
55
+ // The example template has every bullet starting with `<...>` (placeholder).
56
+ // A real CV has at least a few bullets that don't start with an angle bracket.
57
+ const realBullets = (cvMd.match(/^[ \t]*-[ \t]+[^<\n]/gm) || []).length;
58
+ return realBullets >= 3;
59
+ }
60
+ export function packetStatus(args) {
61
+ if (!args.active)
62
+ return 'no_packet';
63
+ if (!args.cvMd)
64
+ return 'no_cv';
65
+ if (!cvHasRealContent(args.cvMd))
66
+ return 'cv_is_example';
67
+ // cv has real content — now check it matches what we built the packet from.
68
+ if (args.active.source_cv_hash && sha256(args.cvMd) !== args.active.source_cv_hash) {
69
+ return 'cv_edited_since_seed';
70
+ }
71
+ if (isPlaceholderPacket(args.active.content))
72
+ return 'packet_is_template';
73
+ return 'ok';
74
+ }
75
+ // ── Active-packet accessor ──────────────────────────────────────────────────
56
76
  export function getActiveCareerPacket() {
57
77
  const row = getDb()
58
78
  .prepare(`SELECT id, version, content, source_cv_hash FROM career_packet WHERE is_active = 1`)
59
79
  .get();
60
80
  return row ?? null;
61
81
  }
82
+ /**
83
+ * Rebuild the active career packet from cv.md + profile.yml using the template at
84
+ * modes/career_packet.md. Always writes a NEW row (bumps version, demotes previous)
85
+ * unless `mode: 'ensure_active'` and an active row already exists.
86
+ *
87
+ * mode='reseed' — always writes a new version. The default.
88
+ * mode='ensure_active' — only seeds if no active row exists (used by first-run boot).
89
+ */
90
+ export async function seedCareerPacketFromFiles(opts = {}) {
91
+ const mode = opts.mode ?? 'reseed';
92
+ const db = getDb();
93
+ if (mode === 'ensure_active') {
94
+ const existing = db.prepare(`SELECT version, content FROM career_packet WHERE is_active = 1`).get();
95
+ if (existing) {
96
+ return {
97
+ version: existing.version, created: false, reused: true,
98
+ bytes: existing.content.length, sections_with_cv_content: countSectionsWithCvContent(existing.content),
99
+ preview: existing.content.slice(0, 400),
100
+ };
101
+ }
102
+ }
103
+ const { content, sectionsWithContent, cvHash } = buildPacketContent();
104
+ const id = randomUUID();
105
+ const result = await runInWriteLock(() => {
106
+ const lastV = db.prepare(`SELECT COALESCE(MAX(version), 0) AS v FROM career_packet`).get().v;
107
+ const newV = lastV + 1;
108
+ db.prepare(`UPDATE career_packet SET is_active = 0 WHERE is_active = 1`).run();
109
+ db.prepare(`
110
+ INSERT INTO career_packet (id, version, content, taglines, is_active, source_cv_hash, notes)
111
+ VALUES (?, ?, ?, NULL, 1, ?, ?)
112
+ `).run(id, newV, content, cvHash, mode === 'ensure_active' ? 'seeded on first run' : 'reseeded from cv.md + profile.yml');
113
+ return { version: newV };
114
+ });
115
+ return {
116
+ version: result.version, created: true, reused: false,
117
+ bytes: content.length, sections_with_cv_content: sectionsWithContent,
118
+ preview: content.slice(0, 400),
119
+ };
120
+ }
121
+ /** Back-compat thin wrapper around seedCareerPacketFromFiles for boot-time callers. */
122
+ export async function ensureActiveCareerPacket() {
123
+ const r = await seedCareerPacketFromFiles({ mode: 'ensure_active' });
124
+ return { version: r.version, created: r.created };
125
+ }
126
+ function buildPacketContent() {
127
+ const { cvMd, profile } = loadProjectFiles();
128
+ const templatePath = resolve(config.modesDir, 'career_packet.md');
129
+ let content = readIfExists(templatePath) ?? '# Career Packet (empty template)';
130
+ // Always inject identity from profile.yml into Section 1.
131
+ content = replaceSectionBody(content, '1.', renderIdentityBlock(profile));
132
+ let sectionsWithContent = 0;
133
+ if (cvMd) {
134
+ const cv = parseCV(); // parseCV reads cv.md via loadProjectFiles() internally
135
+ // Sections 3, 4, 5 — experience bullet banks. The template ships three: most recent,
136
+ // previous, earlier. If cv.md has more roles, fold the extras into Section 5.
137
+ const exp = cv.experiences;
138
+ if (exp[0]) {
139
+ content = replaceSectionBody(content, '3.', renderRoleSection(exp[0]));
140
+ sectionsWithContent++;
141
+ }
142
+ if (exp[1]) {
143
+ content = replaceSectionBody(content, '4.', renderRoleSection(exp[1]));
144
+ sectionsWithContent++;
145
+ }
146
+ if (exp.slice(2).length) {
147
+ content = replaceSectionBody(content, '5.', exp.slice(2).map(renderRoleSection).join('\n\n'));
148
+ sectionsWithContent++;
149
+ }
150
+ // Section 6 — projects bank.
151
+ if (cv.projects.length) {
152
+ content = replaceSectionBody(content, '6.', renderProjectsBank(cv.projects));
153
+ sectionsWithContent++;
154
+ }
155
+ // Section 7 — skills bank.
156
+ if (cv.skills.length) {
157
+ content = replaceSectionBody(content, '7.', renderSkillsBank(cv.skills));
158
+ sectionsWithContent++;
159
+ }
160
+ // Section 8 — education.
161
+ if (cv.education.length) {
162
+ content = replaceSectionBody(content, '8.', renderEducationBank(cv.education));
163
+ sectionsWithContent++;
164
+ }
165
+ }
166
+ return {
167
+ content,
168
+ sectionsWithContent,
169
+ cvHash: cvMd ? sha256(cvMd) : null,
170
+ };
171
+ }
172
+ function countSectionsWithCvContent(content) {
173
+ // Heuristic: count Sections 3-8 whose body still contains a <TODO marker (meaning NOT
174
+ // populated from cv.md). Real sections = 6 - count(TODO sections).
175
+ const sections = splitNumberedSections(content);
176
+ let withContent = 0;
177
+ for (const n of ['3.', '4.', '5.', '6.', '7.', '8.']) {
178
+ const body = sections.get(n) ?? '';
179
+ if (body && !TODO_MARKER.test(body))
180
+ withContent++;
181
+ TODO_MARKER.lastIndex = 0; // reset global regex
182
+ }
183
+ return withContent;
184
+ }
185
+ // ── Section parsing + rewriting ─────────────────────────────────────────────
186
+ /** Replace the body of `## N. ...` (keep the heading line) with newBody. */
187
+ function replaceSectionBody(content, prefix, newBody) {
188
+ // Match the heading line (## N. ...) and capture everything after it until the next
189
+ // `## ` heading or end-of-document. We anchor the prefix to start-of-line.
190
+ const escaped = prefix.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
191
+ const re = new RegExp(`(^## ${escaped}[^\\n]*\\n)([\\s\\S]*?)(?=^## |\\z)`, 'm');
192
+ if (!re.test(content))
193
+ return content; // section not in template — leave content alone
194
+ return content.replace(re, (_match, heading) => `${heading}\n${newBody.trim()}\n\n`);
195
+ }
196
+ function splitNumberedSections(content) {
197
+ const out = new Map();
198
+ const re = /^## (\d+\.)[^\n]*$/gm;
199
+ const matches = [];
200
+ let m;
201
+ while ((m = re.exec(content))) {
202
+ matches.push({ prefix: m[1], start: m.index + m[0].length, end: -1 });
203
+ }
204
+ for (let i = 0; i < matches.length; i++) {
205
+ matches[i].end = i + 1 < matches.length ? matches[i + 1].start - (`## ${matches[i + 1].prefix}`.length + 1) : content.length;
206
+ out.set(matches[i].prefix, content.slice(matches[i].start, matches[i].end).trim());
207
+ }
208
+ return out;
209
+ }
210
+ // ── Renderers ───────────────────────────────────────────────────────────────
62
211
  function renderIdentityBlock(profile) {
63
212
  if (!profile?.candidate)
64
213
  return '_No `config/profile.yml` found — populate it to enrich._';
@@ -82,7 +231,38 @@ function renderIdentityBlock(profile) {
82
231
  lines.push(`- **Twitter:** ${c.twitter}`);
83
232
  return lines.length ? lines.join('\n') : '_Profile present but no candidate fields filled._';
84
233
  }
234
+ function renderRoleSection(exp) {
235
+ const meta = [exp.location, exp.period].filter(Boolean).join(' · ');
236
+ const head = `**${exp.company}** — ${exp.role}` + (meta ? ` \n_${meta}_` : '');
237
+ const bullets = exp.bullets.length
238
+ ? exp.bullets.map(b => `- ${b}`).join('\n')
239
+ : '- _(no bullets in cv.md for this role)_';
240
+ return `${head}\n\n${bullets}`;
241
+ }
242
+ function renderProjectsBank(projects) {
243
+ return projects.map(p => {
244
+ const badge = p.badge ? ` (${p.badge})` : '';
245
+ const tech = p.tech ? ` \n _${p.tech}_` : '';
246
+ return `- **${p.title}**${badge} — ${p.description}${tech}`;
247
+ }).join('\n');
248
+ }
249
+ function renderSkillsBank(skills) {
250
+ return skills.map(s => `- **${s.category}:** ${s.items}`).join('\n');
251
+ }
252
+ function renderEducationBank(edus) {
253
+ return edus.map(e => {
254
+ const year = e.year ? ` (${e.year})` : '';
255
+ const desc = e.desc ? `. ${e.desc}` : '';
256
+ const orgPart = e.org ? ` — ${e.org}` : '';
257
+ return `- **${e.title}**${orgPart}${year}${desc}`;
258
+ }).join('\n');
259
+ }
85
260
  function sha256(s) {
86
261
  return createHash('sha256').update(s, 'utf-8').digest('hex');
87
262
  }
263
+ // Used by callers (CLI doctor, MCP tool) — preview = first ~400 chars of the active packet.
264
+ export function packetPreview(content, max = 400) {
265
+ const trimmed = content.trim();
266
+ return trimmed.length <= max ? trimmed : trimmed.slice(0, max) + '\n…';
267
+ }
88
268
  //# sourceMappingURL=profile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/core/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/core/profile.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ import { batchEvaluateTool } from './tools/batch_evaluate.js';
34
34
  import { generateMaterialsTool } from './tools/generate_materials.js';
35
35
  // G7 — training/project/research/digest + profile ops
36
36
  import { evaluateTrainingTool, evaluateProjectTool, deepResearchTool, dailyDigestTool, getCareerPacketTool, updateCareerPacketTool, enrichCompanyTool, costEstimateTool, } from './tools/ops.js';
37
+ import { reseedCareerPacketTool } from './tools/reseed.js';
37
38
  // G8 — apply prefill
38
39
  import { applyPrefillTool } from './tools/apply_prefill.js';
39
40
  // G9 — scheduler
@@ -52,7 +53,7 @@ const FULL_TOOLSET = [
52
53
  extractStoriesTool, getStoryBankTool, negotiationBriefTool,
53
54
  batchEvaluateTool, generateMaterialsTool,
54
55
  evaluateTrainingTool, evaluateProjectTool, deepResearchTool, dailyDigestTool,
55
- getCareerPacketTool, updateCareerPacketTool, enrichCompanyTool, costEstimateTool,
56
+ getCareerPacketTool, updateCareerPacketTool, reseedCareerPacketTool, enrichCompanyTool, costEstimateTool,
56
57
  applyPrefillTool,
57
58
  schedulerStatusTool, schedulerEnableTool, schedulerDisableTool,
58
59
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,EAAE;AACF,wFAAwF;AACxF,uFAAuF;AACvF,4DAA4D;AAC5D,EAAE;AACF,qFAAqF;AACrF,oFAAoF;AACpF,mFAAmF;AAEnF,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAGjF,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAmB,MAAM,aAAa,CAAC;AAE7D,gFAAgF;AAChF,8EAA8E;AAE9E,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAK,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAK,MAAM,uBAAuB,CAAC;AAEzD,kCAAkC;AAClC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE5G,sBAAsB;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,gBAAgB;AAChB,OAAO,EACL,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAC7E,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,GAC3E,MAAM,qBAAqB,CAAC;AAE7B,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEpF,6BAA6B;AAC7B,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEhG,yBAAyB;AACzB,OAAO,EAAE,iBAAiB,EAAI,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,sDAAsD;AACtD,OAAO,EACL,oBAAoB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAC5E,mBAAmB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,gBAAgB,GACjF,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,qBAAqB;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,iBAAiB;AACjB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEtG,kFAAkF;AAClF,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACnD,aAAa,EAAE,YAAY,EAAE,iBAAiB;CAC/C,CAAC,CAAC;AAEH,MAAM,YAAY,GAAiB;IACjC,eAAe,EAAE,aAAa,EAAE,aAAa;IAC7C,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,oBAAoB;IACtE,eAAe;IACf,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB;IAC7E,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc;IAC1E,cAAc,EAAE,aAAa,EAAE,kBAAkB;IACjD,kBAAkB,EAAE,gBAAgB,EAAE,oBAAoB;IAC1D,iBAAiB,EAAE,qBAAqB;IACxC,oBAAoB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe;IAC5E,mBAAmB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,gBAAgB;IACxG,gBAAgB;IAChB,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB;CAC/D,CAAC;AAEF,MAAM,SAAS,GAAiB,MAAM,CAAC,kBAAkB;IACvD,CAAC,CAAC,YAAY;IACd,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAE3D,yFAAyF;AACzF,uDAAuD;AACvD,IAAI,OAAO,GAAqB,IAAI,CAAC;AACrC,SAAS,YAAY;IACnB,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,OAAO,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/D,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,EAAE,CAAC;QAChC,OAAO,CAAC,gBAAgB,CACtB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EACb,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,EACpE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CACnF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAY,EAAE,IAAI,GAAG,MAAM;IAClD,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACnD,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC;YAClD,kBAAkB,EAAE,SAAS;YAC7B,kBAAkB,EAAE,IAAI;SACzB,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAI,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,gBAAgB,EAAE;oBACpE,EAAE,EAAO,IAAI;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAK,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1E,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,YAAY,KAAmB,OAAO,SAAS,CAAC,CAAC,CAAC;AAElE,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAC/E,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,+EAA+E;IAC/E,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,37 @@
1
+ // reseed_career_packet — rebuild the active career_packet from the current cv.md +
2
+ // config/profile.yml. Bumps version, demotes the previous active row (history kept).
3
+ // Same underlying logic as the CLI `reseed` subcommand.
4
+ import { z } from 'zod';
5
+ import { defineTool, okResult, errResult } from '../define.js';
6
+ import { seedCareerPacketFromFiles, loadProjectFiles, cvHasRealContent, packetPreview } from '../../core/profile.js';
7
+ export const reseedCareerPacketTool = defineTool({
8
+ name: 'reseed_career_packet',
9
+ title: 'Rebuild the career packet from cv.md + profile.yml',
10
+ description: 'Re-reads cv.md and config/profile.yml and writes a NEW active career_packet ' +
11
+ 'version, demoting the previous one (history retained). Use after editing cv.md so ' +
12
+ 'the chat sees your real bullets, not the <TODO> template. Identity comes from ' +
13
+ 'profile.yml; bullets / projects / skills / education come from cv.md.',
14
+ inputSchema: {
15
+ confirm_empty_cv: z.boolean().optional()
16
+ .describe('cv.md missing or trivially small? Set true to seed identity-only anyway. Default false (errors instead).'),
17
+ },
18
+ handler: async (args) => {
19
+ const { cvMd } = loadProjectFiles();
20
+ if (!cvHasRealContent(cvMd) && !args.confirm_empty_cv) {
21
+ return errResult('cv.md is missing or still looks like the <TODO> example template. ' +
22
+ 'Fill it in first, then re-run. Pass confirm_empty_cv=true to reseed anyway ' +
23
+ '(identity-only — most sections will stay as <TODO> placeholders).');
24
+ }
25
+ const r = await seedCareerPacketFromFiles({ mode: 'reseed' });
26
+ return okResult({
27
+ ok: true,
28
+ new_version: r.version,
29
+ bytes: r.bytes,
30
+ sections_with_cv_content: r.sections_with_cv_content,
31
+ sections_max: 6,
32
+ preview: packetPreview(r.preview, 400),
33
+ note: 'previous active packet demoted; history retained in career_packet table',
34
+ });
35
+ },
36
+ });
37
+ //# sourceMappingURL=reseed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reseed.js","sourceRoot":"","sources":["../../../src/mcp/tools/reseed.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,qFAAqF;AACrF,wDAAwD;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAErH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;IAC/C,IAAI,EAAE,sBAAsB;IAC5B,KAAK,EAAE,oDAAoD;IAC3D,WAAW,EACT,8EAA8E;QAC9E,oFAAoF;QACpF,gFAAgF;QAChF,uEAAuE;IACzE,WAAW,EAAE;QACX,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;aACrC,QAAQ,CAAC,0GAA0G,CAAC;KACxH;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,EAAE,CAAC;QACpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtD,OAAO,SAAS,CACd,oEAAoE;gBACpE,6EAA6E;gBAC7E,mEAAmE,CACpE,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,yBAAyB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9D,OAAO,QAAQ,CAAC;YACd,EAAE,EAAE,IAAI;YACR,WAAW,EAAgB,CAAC,CAAC,OAAO;YACpC,KAAK,EAAsB,CAAC,CAAC,KAAK;YAClC,wBAAwB,EAAG,CAAC,CAAC,wBAAwB;YACrD,YAAY,EAAe,CAAC;YAC5B,OAAO,EAAoB,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC;YACxD,IAAI,EAAuB,yEAAyE;SACrG,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
package/dist/server.js CHANGED
@@ -19,7 +19,7 @@ import { applyState as applySchedulerState, readEnabledJobs } from './core/sched
19
19
  export async function bootServer(opts = {}) {
20
20
  // Migrations + first-run seeding (side-effect of getDb()).
21
21
  getDb();
22
- const seed = ensureActiveCareerPacket();
22
+ const seed = await ensureActiveCareerPacket();
23
23
  const files = loadProjectFiles();
24
24
  const app = buildHttpApp();
25
25
  // In stdio mode we DON'T mount /mcp — MCP rides stdin/stdout instead.
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "job_ops-mcp",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Self-hosted MCP server for the full job-search loop: portal scanning, JD evaluation, tailored resume + cover PDFs, outreach drafting, story bank, negotiation brief — chat-driven, human-in-the-loop.",
5
5
  "type": "module",
6
6
  "private": false,