careervivid 1.12.22 → 1.12.23

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.
@@ -1 +1 @@
1
- {"version":3,"file":"local-tracker.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/local-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AA+JlC,eAAO,MAAM,iBAAiB,EAAE,IA8H/B,CAAC;AAMF,eAAO,MAAM,kBAAkB,EAAE,IA2HhC,CAAC;AAMF,eAAO,MAAM,eAAe,EAAE,IAmG7B,CAAC;AAMF,eAAO,MAAM,iBAAiB,EAAE,IA2F/B,CAAC;AAMF,eAAO,MAAM,sBAAsB,EAAE,IA+GpC,CAAC;AAMF,eAAO,MAAM,iBAAiB,EAAE,IAoE/B,CAAC;AAMF,eAAO,MAAM,uBAAuB,EAAE,IAAI,EAOzC,CAAC"}
1
+ {"version":3,"file":"local-tracker.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/local-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAwKlC,eAAO,MAAM,iBAAiB,EAAE,IA8H/B,CAAC;AAMF,eAAO,MAAM,kBAAkB,EAAE,IA2HhC,CAAC;AAMF,eAAO,MAAM,eAAe,EAAE,IAmG7B,CAAC;AAMF,eAAO,MAAM,iBAAiB,EAAE,IA2F/B,CAAC;AAMF,eAAO,MAAM,sBAAsB,EAAE,IA+GpC,CAAC;AAMF,eAAO,MAAM,iBAAiB,EAAE,IAoE/B,CAAC;AAMF,eAAO,MAAM,uBAAuB,EAAE,IAAI,EAOzC,CAAC"}
@@ -19,25 +19,28 @@
19
19
  * flag_stale_jobs → surface companies with no recent activity
20
20
  */
21
21
  import { Type } from "@google/genai";
22
- import { readFileSync, writeFileSync, existsSync } from "fs";
22
+ import { readFileSync, writeFileSync, existsSync, mkdirSync } from "fs";
23
23
  import { resolve, dirname } from "path";
24
24
  import { fileURLToPath } from "url";
25
+ import { homedir } from "os";
25
26
  // ---------------------------------------------------------------------------
26
27
  // CSV path resolution
27
28
  // ---------------------------------------------------------------------------
28
29
  function getCsvPath() {
29
30
  const __filename = fileURLToPath(import.meta.url);
30
31
  const __dirname = dirname(__filename);
31
- const candidates = [
32
+ // 1. Check dev repo locations first (for existing users/contributors)
33
+ const devCandidates = [
32
34
  resolve(__dirname, "../../../../career-ops/data/jobs.csv"),
33
35
  resolve(__dirname, "../../../../../career-ops/data/jobs.csv"),
34
36
  resolve(process.cwd(), "career-ops/data/jobs.csv"),
35
37
  ];
36
- for (const p of candidates) {
38
+ for (const p of devCandidates) {
37
39
  if (existsSync(p))
38
40
  return p;
39
41
  }
40
- return resolve(process.cwd(), "career-ops/data/jobs.csv");
42
+ // 2. Global user data directory (~/.careervivid/jobs.csv) for external/installed users
43
+ return resolve(homedir(), ".careervivid", "jobs.csv");
41
44
  }
42
45
  // ---------------------------------------------------------------------------
43
46
  // Schema v2
@@ -112,7 +115,12 @@ function serializeCsv(rows) {
112
115
  function loadCsv() {
113
116
  const path = getCsvPath();
114
117
  if (!existsSync(path)) {
115
- throw new Error(`jobs.csv not found at ${path}. Run from the careervivid repo root.`);
118
+ // Auto-bootstrap: create parent directory + empty CSV with headers
119
+ const dir = resolve(path, "..");
120
+ mkdirSync(dir, { recursive: true });
121
+ writeFileSync(path, HEADERS.join(",") + "\n", "utf-8");
122
+ console.log(`\nšŸ“‹ Created your job tracker at: ${path}`);
123
+ console.log(` Add jobs with cv agent, or edit the CSV directly.\n`);
116
124
  }
117
125
  const raw = readFileSync(path, "utf-8");
118
126
  return { rows: parseCsv(raw), path };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "careervivid",
3
- "version": "1.12.22",
3
+ "version": "1.12.23",
4
4
  "description": "Official CLI for CareerVivid — publish articles, diagrams, and portfolio updates from your terminal or AI agent",
5
5
  "type": "module",
6
6
  "bin": {
@@ -45,6 +45,15 @@
45
45
  "engines": {
46
46
  "node": ">=20.0.0"
47
47
  },
48
+ "overrides": {
49
+ "braces": "3.0.3",
50
+ "cross-spawn": "7.0.6",
51
+ "cookie": "0.7.2",
52
+ "ajv": "^6.12.6",
53
+ "micromatch": "^4.0.8",
54
+ "ws": ">=7.5.10",
55
+ "axios": ">=1.7.4"
56
+ },
48
57
  "keywords": [
49
58
  "careervivid",
50
59
  "cli",