careervivid 1.12.17 → 1.12.20
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/dist/agent/tools/coverLetter.d.ts +3 -0
- package/dist/agent/tools/coverLetter.d.ts.map +1 -0
- package/dist/agent/tools/coverLetter.js +91 -0
- package/dist/agent/tools/portfolio.d.ts +7 -0
- package/dist/agent/tools/portfolio.d.ts.map +1 -0
- package/dist/agent/tools/portfolio.js +186 -0
- package/dist/api.d.ts +30 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +14 -0
- package/dist/commands/agent/toolRegistry.d.ts.map +1 -1
- package/dist/commands/agent/toolRegistry.js +24 -5
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverLetter.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/coverLetter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAgGlC,eAAO,MAAM,qBAAqB,kBAGjC,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Type } from "@google/genai";
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
import { generateCoverLetter, listCoverLetters, resumesList } from "../../api.js";
|
|
4
|
+
function getLinkUrl(path) {
|
|
5
|
+
const isDev = process.env.NODE_ENV === "development" || process.env.CV_API_URL?.includes("localhost");
|
|
6
|
+
return isDev ? `http://localhost:3000${path}` : `https://careervivid.app${path}`;
|
|
7
|
+
}
|
|
8
|
+
const generateCoverLetterTool = {
|
|
9
|
+
name: "generate_cover_letter",
|
|
10
|
+
description: "Generates a highly tailored cover letter based on a user's resume and a specific job description. This saves the cover letter privately in their account (it does NOT publish it as an article).",
|
|
11
|
+
parameters: {
|
|
12
|
+
type: Type.OBJECT,
|
|
13
|
+
properties: {
|
|
14
|
+
jobTitle: { type: Type.STRING, description: "The job title to tailor the cover letter for" },
|
|
15
|
+
companyName: { type: Type.STRING, description: "The company name to tailor the cover letter for" },
|
|
16
|
+
jobDescription: { type: Type.STRING, description: "The job description to tailor the cover letter against" },
|
|
17
|
+
resumeId: { type: Type.STRING, description: "Optional IDEAL resume ID to use. If omitted, it will pick their most recently updated resume." }
|
|
18
|
+
},
|
|
19
|
+
required: ["jobTitle", "companyName", "jobDescription"]
|
|
20
|
+
},
|
|
21
|
+
execute: async (args) => {
|
|
22
|
+
try {
|
|
23
|
+
console.log(chalk.blue(`\nGenerating cover letter for ${args.jobTitle} at ${args.companyName}...`));
|
|
24
|
+
let currentResumeId = args.resumeId;
|
|
25
|
+
if (!currentResumeId) {
|
|
26
|
+
const resumesRes = await resumesList();
|
|
27
|
+
if ("isError" in resumesRes) {
|
|
28
|
+
return `Failed to fetch user's resumes: ${resumesRes.message}`;
|
|
29
|
+
}
|
|
30
|
+
const resumes = resumesRes.resumes;
|
|
31
|
+
if (!resumes || resumes.length === 0) {
|
|
32
|
+
return "User has no resumes in CareerVivid. They must upload one first.";
|
|
33
|
+
}
|
|
34
|
+
currentResumeId = resumes[0].id;
|
|
35
|
+
}
|
|
36
|
+
const res = await generateCoverLetter({
|
|
37
|
+
resumeId: currentResumeId,
|
|
38
|
+
jobTitle: args.jobTitle,
|
|
39
|
+
companyName: args.companyName,
|
|
40
|
+
jobDescription: args.jobDescription
|
|
41
|
+
});
|
|
42
|
+
if ("isError" in res) {
|
|
43
|
+
return `Failed to generate cover letter: ${res.message}`;
|
|
44
|
+
}
|
|
45
|
+
const coverLetter = res.coverLetter;
|
|
46
|
+
const dashboardUrl = getLinkUrl("/dashboard/jobs");
|
|
47
|
+
return `✅ Successfully generated a cover letter for ${args.jobTitle} at ${args.companyName}.
|
|
48
|
+
It has been privately saved to the user's account.
|
|
49
|
+
|
|
50
|
+
Instruct the user they can view it in their dashboard under "Application Materials":
|
|
51
|
+
${dashboardUrl}
|
|
52
|
+
|
|
53
|
+
Here is a preview of the content:
|
|
54
|
+
${coverLetter.content ? coverLetter.content.substring(0, 500) + '...' : ''}`;
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
return `Error generating cover letter: ${err.message}`;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const listCoverLettersTool = {
|
|
62
|
+
name: "list_cover_letters",
|
|
63
|
+
description: "Lists all cover letters generated by the user recently.",
|
|
64
|
+
parameters: {
|
|
65
|
+
type: Type.OBJECT,
|
|
66
|
+
properties: {
|
|
67
|
+
jobId: { type: Type.STRING, description: "Filter by a specific job ID" }
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
execute: async (args) => {
|
|
71
|
+
try {
|
|
72
|
+
const res = await listCoverLetters(args.jobId);
|
|
73
|
+
if ("isError" in res) {
|
|
74
|
+
return `Failed to list cover letters: ${res.message}`;
|
|
75
|
+
}
|
|
76
|
+
const letters = res.coverLetters;
|
|
77
|
+
if (letters.length === 0) {
|
|
78
|
+
return "No cover letters found. You can generate one using generate_cover_letter.";
|
|
79
|
+
}
|
|
80
|
+
const format = letters.map(c => `ID: ${c.id}\nTitle: ${c.jobTitle} at ${c.companyName}\nDate: ${c.createdAt}`).join("\n\n");
|
|
81
|
+
return `Found ${res.total} cover letter(s):\n\n${format}`;
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
return `Error listing cover letters: ${err.message}`;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
export const ALL_COVERLETTER_TOOLS = [
|
|
89
|
+
generateCoverLetterTool,
|
|
90
|
+
listCoverLettersTool
|
|
91
|
+
];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Tool } from "../Tool.js";
|
|
2
|
+
export declare const ListPortfoliosTool: Tool;
|
|
3
|
+
export declare const InitPortfolioTool: Tool;
|
|
4
|
+
export declare const UpdatePortfolioHeroTool: Tool;
|
|
5
|
+
export declare const UpdatePortfolioProjectsTool: Tool;
|
|
6
|
+
export declare const ALL_PORTFOLIO_TOOLS: Tool[];
|
|
7
|
+
//# sourceMappingURL=portfolio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/portfolio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAclC,eAAO,MAAM,kBAAkB,EAAE,IA4BhC,CAAC;AAMF,eAAO,MAAM,iBAAiB,EAAE,IAkC/B,CAAC;AAMF,eAAO,MAAM,uBAAuB,EAAE,IA+DrC,CAAC;AAMF,eAAO,MAAM,2BAA2B,EAAE,IAiEzC,CAAC;AAMF,eAAO,MAAM,mBAAmB,EAAE,IAAI,EAKrC,CAAC"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { Type } from "@google/genai";
|
|
2
|
+
import { initPortfolio, portfolioList, updatePortfolioHero, updatePortfolioProjects, isApiError, } from "../../api.js";
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Tool: list_portfolios
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
export const ListPortfoliosTool = {
|
|
7
|
+
name: "list_portfolios",
|
|
8
|
+
description: `List all portfolios the user has on CareerVivid.
|
|
9
|
+
Use this first when the user asks to update, view, or manage their portfolio.
|
|
10
|
+
Returns portfolio IDs and live URLs so the agent can call update_portfolio_hero
|
|
11
|
+
or update_portfolio_projects with the correct portfolioId.`,
|
|
12
|
+
parameters: {
|
|
13
|
+
type: Type.OBJECT,
|
|
14
|
+
properties: {},
|
|
15
|
+
},
|
|
16
|
+
execute: async () => {
|
|
17
|
+
const result = await portfolioList();
|
|
18
|
+
if (isApiError(result)) {
|
|
19
|
+
return `❌ Could not fetch portfolios: ${result.message}`;
|
|
20
|
+
}
|
|
21
|
+
const list = result.portfolios ?? [];
|
|
22
|
+
if (list.length === 0) {
|
|
23
|
+
return `You have no portfolios yet. Use init_portfolio to create one.`;
|
|
24
|
+
}
|
|
25
|
+
const lines = list.map((p, i) => `${i + 1}. "${p.title}" [ID: ${p.id}]\n 🔗 ${p.url}\n Updated: ${p.updatedAt ? new Date(p.updatedAt).toLocaleDateString() : "Unknown"}`);
|
|
26
|
+
return `You have ${list.length} portfolio(s) on CareerVivid:\n\n${lines.join("\n\n")}`;
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
// Tool: init_portfolio
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
export const InitPortfolioTool = {
|
|
33
|
+
name: "init_portfolio",
|
|
34
|
+
description: `Create a new portfolio on CareerVivid.
|
|
35
|
+
Use this when the user asks to create a new portfolio or has none yet.
|
|
36
|
+
Returns the portfolioId and a live URL where the portfolio can be viewed.`,
|
|
37
|
+
parameters: {
|
|
38
|
+
type: Type.OBJECT,
|
|
39
|
+
properties: {
|
|
40
|
+
title: {
|
|
41
|
+
type: Type.STRING,
|
|
42
|
+
description: "Title for the portfolio, e.g. 'Jiawen Zhu — Full-Stack Engineer'",
|
|
43
|
+
},
|
|
44
|
+
templateId: {
|
|
45
|
+
type: Type.STRING,
|
|
46
|
+
description: "Optional template ID (e.g. 'software_engineer', 'minimal').",
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
required: ["title"],
|
|
50
|
+
},
|
|
51
|
+
execute: async (args) => {
|
|
52
|
+
const result = await initPortfolio(args.title, args.templateId);
|
|
53
|
+
if (isApiError(result)) {
|
|
54
|
+
return `❌ Failed to create portfolio: ${result.message}`;
|
|
55
|
+
}
|
|
56
|
+
return [
|
|
57
|
+
`✅ Portfolio created: "${args.title}"`,
|
|
58
|
+
`Portfolio ID: ${result.portfolioId}`,
|
|
59
|
+
`🔗 Live URL: ${result.url}`,
|
|
60
|
+
``,
|
|
61
|
+
`Next: call update_portfolio_hero or update_portfolio_projects with portfolioId="${result.portfolioId}".`,
|
|
62
|
+
].join("\n");
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
// ---------------------------------------------------------------------------
|
|
66
|
+
// Tool: update_portfolio_hero
|
|
67
|
+
// ---------------------------------------------------------------------------
|
|
68
|
+
export const UpdatePortfolioHeroTool = {
|
|
69
|
+
name: "update_portfolio_hero",
|
|
70
|
+
description: `Update the hero / header section of the user's live CareerVivid portfolio.
|
|
71
|
+
Call list_portfolios first to get the correct portfolioId.
|
|
72
|
+
Use this to set the headline, bio, avatar, social links, and CTA button.`,
|
|
73
|
+
parameters: {
|
|
74
|
+
type: Type.OBJECT,
|
|
75
|
+
properties: {
|
|
76
|
+
portfolioId: {
|
|
77
|
+
type: Type.STRING,
|
|
78
|
+
description: "ID of the portfolio to update. Get from list_portfolios.",
|
|
79
|
+
},
|
|
80
|
+
headline: { type: Type.STRING, description: "Main hero headline (job title / positioning)." },
|
|
81
|
+
subheadline: { type: Type.STRING, description: "Subtitle shown below the headline." },
|
|
82
|
+
bio: { type: Type.STRING, description: "Short bio / about text (2-4 sentences)." },
|
|
83
|
+
avatarUrl: { type: Type.STRING, description: "URL to the user's profile photo." },
|
|
84
|
+
ctaLabel: { type: Type.STRING, description: "Primary CTA button text." },
|
|
85
|
+
ctaUrl: { type: Type.STRING, description: "Primary CTA button URL." },
|
|
86
|
+
linkedin: { type: Type.STRING, description: "LinkedIn profile URL." },
|
|
87
|
+
github: { type: Type.STRING, description: "GitHub profile URL." },
|
|
88
|
+
website: { type: Type.STRING, description: "Personal website URL." },
|
|
89
|
+
},
|
|
90
|
+
required: ["portfolioId"],
|
|
91
|
+
},
|
|
92
|
+
execute: async (args) => {
|
|
93
|
+
const { portfolioId, ...rest } = args;
|
|
94
|
+
const hero = {};
|
|
95
|
+
if (rest.headline)
|
|
96
|
+
hero.headline = rest.headline;
|
|
97
|
+
if (rest.subheadline)
|
|
98
|
+
hero.subheadline = rest.subheadline;
|
|
99
|
+
if (rest.bio)
|
|
100
|
+
hero.bio = rest.bio;
|
|
101
|
+
if (rest.avatarUrl)
|
|
102
|
+
hero.avatarUrl = rest.avatarUrl;
|
|
103
|
+
if (rest.ctaLabel)
|
|
104
|
+
hero.ctaLabel = rest.ctaLabel;
|
|
105
|
+
if (rest.ctaUrl)
|
|
106
|
+
hero.ctaUrl = rest.ctaUrl;
|
|
107
|
+
const socialLinks = {};
|
|
108
|
+
if (rest.linkedin)
|
|
109
|
+
socialLinks.linkedin = rest.linkedin;
|
|
110
|
+
if (rest.github)
|
|
111
|
+
socialLinks.github = rest.github;
|
|
112
|
+
if (rest.website)
|
|
113
|
+
socialLinks.website = rest.website;
|
|
114
|
+
if (Object.keys(socialLinks).length > 0)
|
|
115
|
+
hero.socialLinks = socialLinks;
|
|
116
|
+
const result = await updatePortfolioHero(portfolioId, hero);
|
|
117
|
+
if (isApiError(result)) {
|
|
118
|
+
return `❌ Failed to update portfolio hero: ${result.message}`;
|
|
119
|
+
}
|
|
120
|
+
return [
|
|
121
|
+
`✅ Portfolio hero updated!`,
|
|
122
|
+
`Changed: ${Object.keys(hero).join(", ")}`,
|
|
123
|
+
`🔗 View live: https://careervivid.app/portfolio/${portfolioId}`,
|
|
124
|
+
].join("\n");
|
|
125
|
+
},
|
|
126
|
+
};
|
|
127
|
+
// ---------------------------------------------------------------------------
|
|
128
|
+
// Tool: update_portfolio_projects
|
|
129
|
+
// ---------------------------------------------------------------------------
|
|
130
|
+
export const UpdatePortfolioProjectsTool = {
|
|
131
|
+
name: "update_portfolio_projects",
|
|
132
|
+
description: `Update the projects / experience section of the user's live CareerVivid portfolio.
|
|
133
|
+
Call list_portfolios first to get the correct portfolioId.
|
|
134
|
+
Each project needs at minimum a title and description.`,
|
|
135
|
+
parameters: {
|
|
136
|
+
type: Type.OBJECT,
|
|
137
|
+
properties: {
|
|
138
|
+
portfolioId: {
|
|
139
|
+
type: Type.STRING,
|
|
140
|
+
description: "ID of the portfolio to update. Get from list_portfolios.",
|
|
141
|
+
},
|
|
142
|
+
projects: {
|
|
143
|
+
type: Type.ARRAY,
|
|
144
|
+
description: "Array of project/experience objects.",
|
|
145
|
+
items: {
|
|
146
|
+
type: Type.OBJECT,
|
|
147
|
+
properties: {
|
|
148
|
+
title: { type: Type.STRING },
|
|
149
|
+
description: { type: Type.STRING },
|
|
150
|
+
company: { type: Type.STRING },
|
|
151
|
+
url: { type: Type.STRING },
|
|
152
|
+
startDate: { type: Type.STRING },
|
|
153
|
+
endDate: { type: Type.STRING },
|
|
154
|
+
tags: { type: Type.ARRAY, items: { type: Type.STRING } },
|
|
155
|
+
},
|
|
156
|
+
required: ["title", "description"],
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
techStack: {
|
|
160
|
+
type: Type.ARRAY,
|
|
161
|
+
description: "Global skills/tech stack badges for the portfolio.",
|
|
162
|
+
items: { type: Type.STRING },
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
required: ["portfolioId", "projects"],
|
|
166
|
+
},
|
|
167
|
+
execute: async (args) => {
|
|
168
|
+
const result = await updatePortfolioProjects(args.portfolioId, args.projects, args.techStack);
|
|
169
|
+
if (isApiError(result)) {
|
|
170
|
+
return `❌ Failed to update portfolio projects: ${result.message}`;
|
|
171
|
+
}
|
|
172
|
+
return [
|
|
173
|
+
`✅ Portfolio updated with ${args.projects.length} project(s)!`,
|
|
174
|
+
`🔗 View live: https://careervivid.app/portfolio/${args.portfolioId}`,
|
|
175
|
+
].join("\n");
|
|
176
|
+
},
|
|
177
|
+
};
|
|
178
|
+
// ---------------------------------------------------------------------------
|
|
179
|
+
// All portfolio tools bundle
|
|
180
|
+
// ---------------------------------------------------------------------------
|
|
181
|
+
export const ALL_PORTFOLIO_TOOLS = [
|
|
182
|
+
ListPortfoliosTool,
|
|
183
|
+
InitPortfolioTool,
|
|
184
|
+
UpdatePortfolioHeroTool,
|
|
185
|
+
UpdatePortfolioProjectsTool,
|
|
186
|
+
];
|
package/dist/api.d.ts
CHANGED
|
@@ -60,6 +60,14 @@ export declare function initPortfolio(title?: string, templateId?: string): Prom
|
|
|
60
60
|
portfolioId: string;
|
|
61
61
|
url: string;
|
|
62
62
|
} | ApiError>;
|
|
63
|
+
export declare function portfolioList(): Promise<{
|
|
64
|
+
portfolios: {
|
|
65
|
+
id: string;
|
|
66
|
+
title: string;
|
|
67
|
+
url: string;
|
|
68
|
+
updatedAt: string | null;
|
|
69
|
+
}[];
|
|
70
|
+
} | ApiError>;
|
|
63
71
|
export declare function updatePortfolioProjects(portfolioId: string, projects: any[], techStack?: string[]): Promise<{
|
|
64
72
|
success: boolean;
|
|
65
73
|
message: string;
|
|
@@ -207,4 +215,26 @@ export declare function getApplyAnswers(payload: {
|
|
|
207
215
|
fields: ApplyFormField[];
|
|
208
216
|
generateCoverLetter?: boolean;
|
|
209
217
|
}): Promise<ApplyAnswerResult | ApiError>;
|
|
218
|
+
export interface CoverLetter {
|
|
219
|
+
id: string;
|
|
220
|
+
jobTitle: string;
|
|
221
|
+
companyName: string;
|
|
222
|
+
createdAt?: string;
|
|
223
|
+
content?: string;
|
|
224
|
+
}
|
|
225
|
+
/** Generate and save a new cover letter natively */
|
|
226
|
+
export declare function generateCoverLetter(payload: {
|
|
227
|
+
resumeId: string;
|
|
228
|
+
jobTitle: string;
|
|
229
|
+
companyName: string;
|
|
230
|
+
jobDescription: string;
|
|
231
|
+
}): Promise<{
|
|
232
|
+
success: boolean;
|
|
233
|
+
coverLetter: CoverLetter;
|
|
234
|
+
} | ApiError>;
|
|
235
|
+
/** List previously generated cover letters */
|
|
236
|
+
export declare function listCoverLetters(jobId?: string): Promise<{
|
|
237
|
+
coverLetters: CoverLetter[];
|
|
238
|
+
total: number;
|
|
239
|
+
} | ApiError>;
|
|
210
240
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/api.js
CHANGED
|
@@ -139,6 +139,9 @@ export async function pingAuth() {
|
|
|
139
139
|
export async function initPortfolio(title, templateId) {
|
|
140
140
|
return apiRequest("POST", "portfolio/init", { title, templateId });
|
|
141
141
|
}
|
|
142
|
+
export async function portfolioList() {
|
|
143
|
+
return apiRequest("GET", "portfolio/list");
|
|
144
|
+
}
|
|
142
145
|
export async function updatePortfolioProjects(portfolioId, projects, techStack) {
|
|
143
146
|
return apiRequest("PATCH", "portfolio/projects", { portfolioId, projects, techStack });
|
|
144
147
|
}
|
|
@@ -234,3 +237,14 @@ export async function jobsList(status) {
|
|
|
234
237
|
export async function getApplyAnswers(payload) {
|
|
235
238
|
return cfRequest("POST", "generateApplyAnswers", payload);
|
|
236
239
|
}
|
|
240
|
+
/** Generate and save a new cover letter natively */
|
|
241
|
+
export async function generateCoverLetter(payload) {
|
|
242
|
+
return cfRequest("POST", "cliCoverLetterCreate", payload);
|
|
243
|
+
}
|
|
244
|
+
/** List previously generated cover letters */
|
|
245
|
+
export async function listCoverLetters(jobId) {
|
|
246
|
+
const params = {};
|
|
247
|
+
if (jobId)
|
|
248
|
+
params.jobId = jobId;
|
|
249
|
+
return cfRequest("GET", "cliCoverLettersList", undefined, Object.keys(params).length ? params : undefined);
|
|
250
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolRegistry.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/toolRegistry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"toolRegistry.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/toolRegistry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAuO3C,wBAAgB,QAAQ,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,EAAE,CA2ChG"}
|
|
@@ -4,6 +4,8 @@ import { ALL_JOB_TOOLS } from "../../agent/tools/jobs.js";
|
|
|
4
4
|
import { ALL_BROWSER_TOOLS } from "../../agent/tools/browser.js";
|
|
5
5
|
import { ALL_LOCAL_TRACKER_TOOLS } from "../../agent/tools/local-tracker.js";
|
|
6
6
|
import { ALL_URL_VERIFIER_TOOLS } from "../../agent/tools/urlVerifier.js";
|
|
7
|
+
import { ALL_PORTFOLIO_TOOLS } from "../../agent/tools/portfolio.js";
|
|
8
|
+
import { ALL_COVERLETTER_TOOLS } from "../../agent/tools/coverLetter.js";
|
|
7
9
|
import { publishSingleFile } from "../publish.js";
|
|
8
10
|
// ── Publish tools ─────────────────────────────────────────────────────────────
|
|
9
11
|
const PublishArticleTool = {
|
|
@@ -212,8 +214,9 @@ IMPORTANT: Always call get_resume first to load the current content, then call t
|
|
|
212
214
|
// ── All resume tools for cv agent --resume ────────────────────────────────────
|
|
213
215
|
const RESUME_TOOLS = ALL_JOB_TOOLS.filter((t) => ["get_resume", "list_resumes", "tailor_resume", "delete_resume"].includes(t.name));
|
|
214
216
|
export function getTools(options) {
|
|
215
|
-
const tools = [...ALL_CODING_TOOLS, PublishArticleTool, GenerateDiagramTool];
|
|
216
217
|
if (options.jobs) {
|
|
218
|
+
// Jobs mode: all job tools + browser + tracker + url verifier + publish
|
|
219
|
+
const tools = [PublishArticleTool, GenerateDiagramTool];
|
|
217
220
|
for (const t of ALL_JOB_TOOLS) {
|
|
218
221
|
if (!tools.find((x) => x.name === t.name))
|
|
219
222
|
tools.push(t);
|
|
@@ -230,17 +233,33 @@ export function getTools(options) {
|
|
|
230
233
|
if (!tools.find((x) => x.name === t.name))
|
|
231
234
|
tools.push(t);
|
|
232
235
|
}
|
|
236
|
+
for (const t of ALL_COVERLETTER_TOOLS) {
|
|
237
|
+
if (!tools.find((x) => x.name === t.name))
|
|
238
|
+
tools.push(t);
|
|
239
|
+
}
|
|
240
|
+
return tools;
|
|
233
241
|
}
|
|
234
|
-
|
|
235
|
-
//
|
|
242
|
+
if (options.resume) {
|
|
243
|
+
// Resume mode: resume CRUD + portfolio API tools
|
|
244
|
+
// NOTE: NO coding/file-system tools — prevents agent editing local source files.
|
|
245
|
+
const tools = [PublishArticleTool, GenerateDiagramTool];
|
|
236
246
|
for (const t of RESUME_TOOLS) {
|
|
237
247
|
if (!tools.find((x) => x.name === t.name))
|
|
238
248
|
tools.push(t);
|
|
239
249
|
}
|
|
240
|
-
// Add the surgical field-update tool
|
|
241
250
|
if (!tools.find((x) => x.name === "set_resume_fields")) {
|
|
242
251
|
tools.push(SetResumeFieldsTool);
|
|
243
252
|
}
|
|
253
|
+
for (const t of ALL_PORTFOLIO_TOOLS) {
|
|
254
|
+
if (!tools.find((x) => x.name === t.name))
|
|
255
|
+
tools.push(t);
|
|
256
|
+
}
|
|
257
|
+
for (const t of ALL_COVERLETTER_TOOLS) {
|
|
258
|
+
if (!tools.find((x) => x.name === t.name))
|
|
259
|
+
tools.push(t);
|
|
260
|
+
}
|
|
261
|
+
return tools;
|
|
244
262
|
}
|
|
245
|
-
|
|
263
|
+
// Default coding mode: file system + publish tools
|
|
264
|
+
return [...ALL_CODING_TOOLS, PublishArticleTool, GenerateDiagramTool, ...ALL_COVERLETTER_TOOLS];
|
|
246
265
|
}
|