artemys 0.3.1 → 0.3.3
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/CHANGELOG.md +37 -0
- package/README.md +14 -20
- package/dist/cli/config.d.ts +21 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +97 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +310 -106
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +3 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +177 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/coffeeshop/client.d.ts +5 -10
- package/dist/coffeeshop/client.d.ts.map +1 -1
- package/dist/coffeeshop/client.js +43 -15
- package/dist/coffeeshop/client.js.map +1 -1
- package/dist/coffeeshop/index.d.ts +1 -1
- package/dist/coffeeshop/index.d.ts.map +1 -1
- package/dist/coffeeshop/index.js +1 -1
- package/dist/coffeeshop/index.js.map +1 -1
- package/dist/coffeeshop/schemas.d.ts +22 -16
- package/dist/coffeeshop/schemas.d.ts.map +1 -1
- package/dist/coffeeshop/schemas.js +27 -30
- package/dist/coffeeshop/schemas.js.map +1 -1
- package/dist/discovery/agent-card.schema.d.ts +4 -2
- package/dist/discovery/agent-card.schema.d.ts.map +1 -1
- package/dist/discovery/agent-card.schema.js +11 -3
- package/dist/discovery/agent-card.schema.js.map +1 -1
- package/dist/discovery/index.d.ts +2 -1
- package/dist/discovery/index.d.ts.map +1 -1
- package/dist/discovery/index.js +2 -1
- package/dist/discovery/index.js.map +1 -1
- package/dist/discovery/reserved-handles.d.ts +2 -0
- package/dist/discovery/reserved-handles.d.ts.map +1 -0
- package/dist/discovery/reserved-handles.js +18 -0
- package/dist/discovery/reserved-handles.js.map +1 -0
- package/dist/integrations/job-boards/http.d.ts +4 -1
- package/dist/integrations/job-boards/http.d.ts.map +1 -1
- package/dist/integrations/job-boards/http.js +4 -3
- package/dist/integrations/job-boards/http.js.map +1 -1
- package/dist/integrations/job-boards/jsonld.d.ts.map +1 -1
- package/dist/integrations/job-boards/jsonld.js +28 -0
- package/dist/integrations/job-boards/jsonld.js.map +1 -1
- package/dist/integrations/job-boards/remotive.d.ts.map +1 -1
- package/dist/integrations/job-boards/remotive.js +6 -35
- package/dist/integrations/job-boards/remotive.js.map +1 -1
- package/dist/mcp-server/index.d.ts +1 -1
- package/dist/mcp-server/index.d.ts.map +1 -1
- package/dist/mcp-server/index.js +1 -1
- package/dist/mcp-server/index.js.map +1 -1
- package/dist/mcp-server/persistence.d.ts +0 -4
- package/dist/mcp-server/persistence.d.ts.map +1 -1
- package/dist/mcp-server/persistence.js +25 -30
- package/dist/mcp-server/persistence.js.map +1 -1
- package/dist/mcp-server/prompts.d.ts +20 -0
- package/dist/mcp-server/prompts.d.ts.map +1 -0
- package/dist/mcp-server/prompts.js +44 -0
- package/dist/mcp-server/prompts.js.map +1 -0
- package/dist/mcp-server/resources.d.ts +2 -1
- package/dist/mcp-server/resources.d.ts.map +1 -1
- package/dist/mcp-server/resources.js +15 -0
- package/dist/mcp-server/resources.js.map +1 -1
- package/dist/mcp-server/server.d.ts +3 -0
- package/dist/mcp-server/server.d.ts.map +1 -1
- package/dist/mcp-server/server.js +40 -3
- package/dist/mcp-server/server.js.map +1 -1
- package/dist/mcp-server/state.d.ts +0 -1
- package/dist/mcp-server/state.d.ts.map +1 -1
- package/dist/mcp-server/state.js +0 -4
- package/dist/mcp-server/state.js.map +1 -1
- package/dist/mcp-server/tools/common.d.ts +1 -219
- package/dist/mcp-server/tools/common.d.ts.map +1 -1
- package/dist/mcp-server/tools/common.js +1 -3
- package/dist/mcp-server/tools/common.js.map +1 -1
- package/dist/mcp-server/tools/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/index.js +2 -0
- package/dist/mcp-server/tools/index.js.map +1 -1
- package/dist/mcp-server/tools/messaging.d.ts +11 -0
- package/dist/mcp-server/tools/messaging.d.ts.map +1 -1
- package/dist/mcp-server/tools/messaging.js +14 -4
- package/dist/mcp-server/tools/messaging.js.map +1 -1
- package/dist/mcp-server/tools/protocol.js.map +1 -1
- package/dist/mcp-server/tools/resume.d.ts +3 -0
- package/dist/mcp-server/tools/resume.d.ts.map +1 -0
- package/dist/mcp-server/tools/resume.js +61 -0
- package/dist/mcp-server/tools/resume.js.map +1 -0
- package/dist/mcp-server/tools/talent.d.ts +25 -0
- package/dist/mcp-server/tools/talent.d.ts.map +1 -1
- package/dist/mcp-server/tools/talent.js +123 -43
- package/dist/mcp-server/tools/talent.js.map +1 -1
- package/dist/protocol/envelope.schema.d.ts +1 -1
- package/dist/protocol/envelope.schema.d.ts.map +1 -1
- package/dist/protocol/envelope.schema.js +2 -1
- package/dist/protocol/envelope.schema.js.map +1 -1
- package/dist/protocol/index.d.ts +1 -2
- package/dist/protocol/index.d.ts.map +1 -1
- package/dist/protocol/index.js +1 -2
- package/dist/protocol/index.js.map +1 -1
- package/dist/protocol/talent.schema.d.ts +115 -0
- package/dist/protocol/talent.schema.d.ts.map +1 -1
- package/dist/protocol/talent.schema.js +61 -3
- package/dist/protocol/talent.schema.js.map +1 -1
- package/dist/resume/index.d.ts +4 -0
- package/dist/resume/index.d.ts.map +1 -0
- package/dist/resume/index.js +4 -0
- package/dist/resume/index.js.map +1 -0
- package/dist/resume/parse-resume.d.ts +8 -0
- package/dist/resume/parse-resume.d.ts.map +1 -0
- package/dist/resume/parse-resume.js +124 -0
- package/dist/resume/parse-resume.js.map +1 -0
- package/dist/resume/providers/anthropic.d.ts +2 -0
- package/dist/resume/providers/anthropic.d.ts.map +1 -0
- package/dist/resume/providers/anthropic.js +26 -0
- package/dist/resume/providers/anthropic.js.map +1 -0
- package/dist/resume/providers/google.d.ts +2 -0
- package/dist/resume/providers/google.d.ts.map +1 -0
- package/dist/resume/providers/google.js +24 -0
- package/dist/resume/providers/google.js.map +1 -0
- package/dist/resume/providers/openai.d.ts +2 -0
- package/dist/resume/providers/openai.d.ts.map +1 -0
- package/dist/resume/providers/openai.js +25 -0
- package/dist/resume/providers/openai.js.map +1 -0
- package/dist/resume/to-card.d.ts +7 -0
- package/dist/resume/to-card.d.ts.map +1 -0
- package/dist/resume/to-card.js +63 -0
- package/dist/resume/to-card.js.map +1 -0
- package/package.json +10 -1
- package/skills/artemys-talent/SKILL.md +258 -0
- package/skills/artemys-talent/references/TOOLS.md +479 -0
- package/skills/artemys-talent/scripts/setup.sh +88 -0
- package/dist/discovery/intro-decision.schema.d.ts +0 -17
- package/dist/discovery/intro-decision.schema.d.ts.map +0 -1
- package/dist/discovery/intro-decision.schema.js +0 -11
- package/dist/discovery/intro-decision.schema.js.map +0 -1
- package/dist/discovery/intro-request.schema.d.ts +0 -11
- package/dist/discovery/intro-request.schema.d.ts.map +0 -1
- package/dist/discovery/intro-request.schema.js +0 -12
- package/dist/discovery/intro-request.schema.js.map +0 -1
- package/dist/protocol/transport.schema.d.ts +0 -27
- package/dist/protocol/transport.schema.d.ts.map +0 -1
- package/dist/protocol/transport.schema.js +0 -18
- package/dist/protocol/transport.schema.js.map +0 -1
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { registerDiscoveryTools } from "./discovery.js";
|
|
2
2
|
import { registerMessagingTools } from "./messaging.js";
|
|
3
3
|
import { registerProtocolTools } from "./protocol.js";
|
|
4
|
+
import { registerResumeTools } from "./resume.js";
|
|
4
5
|
import { registerTalentTools } from "./talent.js";
|
|
5
6
|
export function registerMcpTools(server, deps) {
|
|
6
7
|
registerDiscoveryTools(server, deps);
|
|
7
8
|
registerMessagingTools(server, deps);
|
|
8
9
|
registerProtocolTools(server, deps);
|
|
10
|
+
registerResumeTools(server, deps);
|
|
9
11
|
registerTalentTools(server, deps);
|
|
10
12
|
}
|
|
11
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,UAAU,gBAAgB,CAAC,MAAkB,EAAE,IAAiB;IACpE,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACpC,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACpC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACnC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AACnC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,UAAU,gBAAgB,CAAC,MAAkB,EAAE,IAAiB;IACpE,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACpC,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACpC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACnC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACjC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
import type { CoffeeShopClient } from "../../coffeeshop/index.js";
|
|
1
2
|
import type { McpToolDeps, ToolServer } from "./common.js";
|
|
3
|
+
export declare function checkInbox(client: CoffeeShopClient, options?: {
|
|
4
|
+
unreadOnly?: boolean;
|
|
5
|
+
}): Promise<{
|
|
6
|
+
total: number;
|
|
7
|
+
messages: unknown[];
|
|
8
|
+
}>;
|
|
9
|
+
export declare function respondToMessage(client: CoffeeShopClient, messageId: string, content: Record<string, unknown>, messageType?: string): Promise<{
|
|
10
|
+
sent: boolean;
|
|
11
|
+
message_id: string;
|
|
12
|
+
}>;
|
|
2
13
|
export declare function registerMessagingTools(server: ToolServer, deps: McpToolDeps): void;
|
|
3
14
|
//# sourceMappingURL=messaging.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/messaging.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/messaging.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAK1D,wBAAsB,UAAU,CAC9B,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GACjC,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAGjD;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAGhD;AAID,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAkClF"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { toToolResponse } from "./common.js";
|
|
3
|
+
// --- Extracted plain functions ---
|
|
4
|
+
export async function checkInbox(client, options) {
|
|
5
|
+
const messages = await client.getInbox({ unread_only: options?.unreadOnly ?? false });
|
|
6
|
+
return { total: messages.length, messages };
|
|
7
|
+
}
|
|
8
|
+
export async function respondToMessage(client, messageId, content, messageType) {
|
|
9
|
+
await client.respondToMessage(messageId, content, messageType);
|
|
10
|
+
return { sent: true, message_id: messageId };
|
|
11
|
+
}
|
|
12
|
+
// --- MCP tool registration (thin adapters) ---
|
|
3
13
|
export function registerMessagingTools(server, deps) {
|
|
4
14
|
server.registerTool("check_inbox", {
|
|
5
15
|
description: "Check inbox for messages from employers or candidates",
|
|
@@ -8,8 +18,8 @@ export function registerMessagingTools(server, deps) {
|
|
|
8
18
|
},
|
|
9
19
|
}, async (args) => {
|
|
10
20
|
const unreadOnly = typeof args.unread_only === "boolean" ? args.unread_only : false;
|
|
11
|
-
const
|
|
12
|
-
return toToolResponse(
|
|
21
|
+
const result = await checkInbox(deps.coffeeShopClient, { unreadOnly });
|
|
22
|
+
return toToolResponse(result);
|
|
13
23
|
});
|
|
14
24
|
server.registerTool("respond_to_message", {
|
|
15
25
|
description: "Reply to a message in your inbox",
|
|
@@ -22,8 +32,8 @@ export function registerMessagingTools(server, deps) {
|
|
|
22
32
|
const messageId = typeof args.message_id === "string" ? args.message_id : "";
|
|
23
33
|
const content = (args.content && typeof args.content === "object" ? args.content : {});
|
|
24
34
|
const messageType = typeof args.message_type === "string" ? args.message_type : undefined;
|
|
25
|
-
await deps.coffeeShopClient
|
|
26
|
-
return toToolResponse(
|
|
35
|
+
const result = await respondToMessage(deps.coffeeShopClient, messageId, content, messageType);
|
|
36
|
+
return toToolResponse(result);
|
|
27
37
|
});
|
|
28
38
|
}
|
|
29
39
|
//# sourceMappingURL=messaging.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/messaging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/messaging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,oCAAoC;AAEpC,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAwB,EACxB,OAAkC;IAElC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,CAAC,CAAA;IACrF,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAA;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAwB,EACxB,SAAiB,EACjB,OAAgC,EAChC,WAAoB;IAEpB,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;IAC9D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAA;AAC9C,CAAC;AAED,gDAAgD;AAEhD,MAAM,UAAU,sBAAsB,CAAC,MAAkB,EAAE,IAAiB;IAC1E,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,WAAW,EAAE,uDAAuD;QACpE,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACpC;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAA;QACnF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;QACtE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EAAE,kCAAkC;QAC/C,WAAW,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACpC;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;QAC5E,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAA4B,CAAA;QACjH,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAA;QACzF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;QAC7F,OAAO,cAAc,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC,CACF,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAElE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE/D,MAAM,UAAU,qBAAqB,CAAC,MAAkB,EAAE,IAAiB;IACzE,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE;YACX,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACnC;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;QAC3F,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,CAAA;QAE3D,OAAO,cAAc,CAAC;YACpB,KAAK;YACL,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,CAAC;SAC1C,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EAAE,qDAAqD;QAClE,WAAW,EAAE;YACX,OAAO,EAAE,iBAAiB;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAElE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE/D,MAAM,UAAU,qBAAqB,CAAC,MAAkB,EAAE,IAAiB;IACzE,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE;YACX,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACnC;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;QAC3F,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,CAAA;QAE3D,OAAO,cAAc,CAAC;YACpB,KAAK;YACL,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,CAAC;SAC1C,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EAAE,qDAAqD;QAClE,WAAW,EAAE;YACX,OAAO,EAAE,iBAAiB;SAC3B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAkB,CAAC,CAAA;QAChE,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,OAAO,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACxC,CAAC;QAED,OAAO,cAAc,CAAC;YACpB,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;gBACvB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;gBAC7B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;aAC9B;SACF,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EAAE,mCAAmC;QAChD,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE;QACT,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACzD,CAAC,CACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/resume.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAI1D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAyE/E"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { CandidateSnapshotSchema } from "../../protocol/index.js";
|
|
3
|
+
import { toToolResponse } from "./common.js";
|
|
4
|
+
import { updateProfile } from "./talent.js";
|
|
5
|
+
export function registerResumeTools(server, deps) {
|
|
6
|
+
server.registerTool("parse_resume", {
|
|
7
|
+
description: "Parse resume text into structured JSON. The host LLM should read the file and pass the text content here (MCP security boundary — tools do not read local files).",
|
|
8
|
+
inputSchema: {
|
|
9
|
+
resume_text: z.string().min(1),
|
|
10
|
+
provider: z.enum(["anthropic", "openai", "google"]),
|
|
11
|
+
api_key: z.string().min(1),
|
|
12
|
+
model: z.string().optional(),
|
|
13
|
+
},
|
|
14
|
+
}, async (args) => {
|
|
15
|
+
const resumeText = args.resume_text;
|
|
16
|
+
const provider = args.provider;
|
|
17
|
+
const apiKey = args.api_key;
|
|
18
|
+
const model = typeof args.model === "string" ? args.model : undefined;
|
|
19
|
+
const { parseResume } = await import("../../resume/index.js");
|
|
20
|
+
const result = await parseResume(resumeText, { provider, apiKey, model });
|
|
21
|
+
return toToolResponse(result);
|
|
22
|
+
});
|
|
23
|
+
server.registerTool("resume_to_profile", {
|
|
24
|
+
description: "Convert a parsed FullResume JSON into a candidate profile and anonymous CandidateCard. Stores the profile and optionally syncs to Coffee Shop.",
|
|
25
|
+
inputSchema: {
|
|
26
|
+
resume: z.record(z.string(), z.unknown()),
|
|
27
|
+
sync_agent_card: z.boolean().optional(),
|
|
28
|
+
},
|
|
29
|
+
}, async (args) => {
|
|
30
|
+
const { FullResumeSchema, toCard } = await import("../../resume/index.js");
|
|
31
|
+
const resume = FullResumeSchema.parse(args.resume);
|
|
32
|
+
const candidateCard = toCard(resume);
|
|
33
|
+
const snapshot = CandidateSnapshotSchema.parse({
|
|
34
|
+
display_name: resume.name,
|
|
35
|
+
skills: candidateCard.skills,
|
|
36
|
+
...(candidateCard.experience_years !== undefined && {
|
|
37
|
+
experience_years: candidateCard.experience_years,
|
|
38
|
+
}),
|
|
39
|
+
...(candidateCard.preferred_roles && { preferred_roles: candidateCard.preferred_roles }),
|
|
40
|
+
...(candidateCard.preferred_locations && {
|
|
41
|
+
preferred_locations: candidateCard.preferred_locations,
|
|
42
|
+
}),
|
|
43
|
+
...(candidateCard.salary_range && { salary_range: candidateCard.salary_range }),
|
|
44
|
+
...(candidateCard.remote_preference && {
|
|
45
|
+
remote_preference: candidateCard.remote_preference,
|
|
46
|
+
}),
|
|
47
|
+
...(candidateCard.availability && { availability: candidateCard.availability }),
|
|
48
|
+
});
|
|
49
|
+
const syncAgentCard = typeof args.sync_agent_card === "boolean" ? args.sync_agent_card : false;
|
|
50
|
+
const profileResult = await updateProfile(deps.coffeeShopClient, snapshot, {
|
|
51
|
+
profileStore: deps.profileStore,
|
|
52
|
+
agentCard: deps.agentCard,
|
|
53
|
+
syncAgentCard,
|
|
54
|
+
});
|
|
55
|
+
return toToolResponse({
|
|
56
|
+
...profileResult,
|
|
57
|
+
candidate_card: candidateCard,
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=resume.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/resume.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
import { type CandidateSnapshot } from "../../protocol/index.js";
|
|
2
|
+
import type { CoffeeShopClient } from "../../coffeeshop/index.js";
|
|
3
|
+
import type { JobSearchFilters } from "../../coffeeshop/schemas.js";
|
|
1
4
|
import type { McpToolDeps, ToolServer } from "./common.js";
|
|
5
|
+
export declare function searchOpportunities(client: CoffeeShopClient, filters?: JobSearchFilters): Promise<{
|
|
6
|
+
total: number;
|
|
7
|
+
jobs: unknown[];
|
|
8
|
+
}>;
|
|
9
|
+
export declare function expressInterest(client: CoffeeShopClient, jobId: string, snapshot: Record<string, unknown>, reasoning?: string): Promise<unknown>;
|
|
10
|
+
export declare function updateProfile(client: CoffeeShopClient, snapshot: CandidateSnapshot, options?: {
|
|
11
|
+
profileStore?: {
|
|
12
|
+
setProfile: (s: CandidateSnapshot) => void;
|
|
13
|
+
getProfile: () => CandidateSnapshot | null;
|
|
14
|
+
};
|
|
15
|
+
agentCard?: {
|
|
16
|
+
capabilities: string[];
|
|
17
|
+
display_name: string;
|
|
18
|
+
};
|
|
19
|
+
syncAgentCard?: boolean;
|
|
20
|
+
}): Promise<Record<string, unknown>>;
|
|
21
|
+
export declare function getMyApplications(client: CoffeeShopClient, options?: {
|
|
22
|
+
status?: string;
|
|
23
|
+
}): Promise<{
|
|
24
|
+
total: number;
|
|
25
|
+
applications: unknown[];
|
|
26
|
+
}>;
|
|
2
27
|
export declare function registerTalentTools(server: ToolServer, deps: McpToolDeps): void;
|
|
3
28
|
//# sourceMappingURL=talent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"talent.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/talent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"talent.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/talent.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AACzF,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,2BAA2B,CAAA;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAS1D,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAG7C;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE;IACR,YAAY,CAAC,EAAE;QAAE,UAAU,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,iBAAiB,GAAG,IAAI,CAAA;KAAE,CAAA;IACzG,SAAS,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5D,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,GACA,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAyClC;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAGrD;AAID,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CA4I/E"}
|
|
@@ -4,19 +4,128 @@ import { toToolResponse } from "./common.js";
|
|
|
4
4
|
const UpdateProfileInputSchema = CandidateSnapshotSchema.extend({
|
|
5
5
|
sync_agent_card: z.boolean().optional(),
|
|
6
6
|
});
|
|
7
|
+
// --- Extracted plain functions ---
|
|
8
|
+
export async function searchOpportunities(client, filters) {
|
|
9
|
+
const results = await client.searchJobs(filters);
|
|
10
|
+
return { total: results.length, jobs: results };
|
|
11
|
+
}
|
|
12
|
+
export async function expressInterest(client, jobId, snapshot, reasoning) {
|
|
13
|
+
return client.submitApplication(jobId, snapshot, reasoning);
|
|
14
|
+
}
|
|
15
|
+
export async function updateProfile(client, snapshot, options) {
|
|
16
|
+
const { profileStore, agentCard, syncAgentCard = false } = options ?? {};
|
|
17
|
+
if (profileStore) {
|
|
18
|
+
profileStore.setProfile(snapshot);
|
|
19
|
+
}
|
|
20
|
+
const data = {
|
|
21
|
+
stored: Boolean(profileStore),
|
|
22
|
+
profile: snapshot,
|
|
23
|
+
};
|
|
24
|
+
if (!profileStore) {
|
|
25
|
+
data.warning = "ProfileStore is not configured for this MCP server instance";
|
|
26
|
+
}
|
|
27
|
+
try {
|
|
28
|
+
await client.createProfile(snapshot);
|
|
29
|
+
data.hub_synced = true;
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
data.hub_synced = false;
|
|
33
|
+
data.hub_sync_error = error instanceof Error ? error.message : "Unable to sync profile to hub";
|
|
34
|
+
}
|
|
35
|
+
if (syncAgentCard && agentCard) {
|
|
36
|
+
try {
|
|
37
|
+
const nextCapabilities = Array.from(new Set(["candidate_profile", ...agentCard.capabilities]));
|
|
38
|
+
const updatedCard = await client.updateCard({
|
|
39
|
+
capabilities: nextCapabilities,
|
|
40
|
+
});
|
|
41
|
+
agentCard.capabilities = updatedCard.capabilities;
|
|
42
|
+
data.agent_card_synced = true;
|
|
43
|
+
data.capabilities = updatedCard.capabilities;
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
data.agent_card_synced = false;
|
|
47
|
+
data.sync_error = error instanceof Error ? error.message : "Unable to sync agent card";
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return data;
|
|
51
|
+
}
|
|
52
|
+
export async function getMyApplications(client, options) {
|
|
53
|
+
const results = await client.getApplications(options ? { status: options.status } : undefined);
|
|
54
|
+
return { total: results.length, applications: results };
|
|
55
|
+
}
|
|
56
|
+
// --- MCP tool registration (thin adapters) ---
|
|
7
57
|
export function registerTalentTools(server, deps) {
|
|
58
|
+
server.registerTool("get_identity", {
|
|
59
|
+
description: "Get this agent's identity, capabilities, and hub connectivity status.",
|
|
60
|
+
inputSchema: {},
|
|
61
|
+
}, async () => {
|
|
62
|
+
const card = deps.agentCard;
|
|
63
|
+
const profile = deps.profileStore?.getProfile();
|
|
64
|
+
let hubReachable = false;
|
|
65
|
+
try {
|
|
66
|
+
const remote = await deps.coffeeShopClient.getCard(card.agent_id);
|
|
67
|
+
hubReachable = remote !== null;
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
hubReachable = false;
|
|
71
|
+
}
|
|
72
|
+
return toToolResponse({
|
|
73
|
+
agent_id: card.agent_id,
|
|
74
|
+
display_name: card.display_name,
|
|
75
|
+
role: card.role,
|
|
76
|
+
capabilities: card.capabilities,
|
|
77
|
+
protocol_versions: card.protocol_versions,
|
|
78
|
+
hub_reachable: hubReachable,
|
|
79
|
+
has_profile: profile !== null,
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
server.registerTool("get_profile", {
|
|
83
|
+
description: "Get the currently stored candidate profile snapshot.",
|
|
84
|
+
inputSchema: {},
|
|
85
|
+
}, async () => {
|
|
86
|
+
const profile = deps.profileStore?.getProfile() ?? null;
|
|
87
|
+
return toToolResponse({
|
|
88
|
+
has_profile: profile !== null,
|
|
89
|
+
profile,
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
server.registerTool("get_my_applications", {
|
|
93
|
+
description: "List your submitted job applications, optionally filtered by status.",
|
|
94
|
+
inputSchema: {
|
|
95
|
+
status: z.enum(["pending", "reviewing", "accepted", "declined"]).optional(),
|
|
96
|
+
},
|
|
97
|
+
}, async (args) => {
|
|
98
|
+
const status = typeof args.status === "string" ? args.status : undefined;
|
|
99
|
+
const result = await getMyApplications(deps.coffeeShopClient, status ? { status } : undefined);
|
|
100
|
+
return toToolResponse(result);
|
|
101
|
+
});
|
|
8
102
|
server.registerTool("search_opportunities", {
|
|
9
|
-
description: "Search for
|
|
103
|
+
description: "Search for job opportunities via Coffee Shop hub. Optionally filter by skills, location, remote preference, and compensation range.",
|
|
10
104
|
inputSchema: {
|
|
105
|
+
skills: z.array(z.string()).optional(),
|
|
106
|
+
location: z.string().optional(),
|
|
107
|
+
remote: z.boolean().optional(),
|
|
108
|
+
min_compensation: z.number().optional(),
|
|
109
|
+
max_compensation: z.number().optional(),
|
|
11
110
|
limit: z.number().int().min(1).max(100).optional(),
|
|
12
111
|
},
|
|
13
112
|
}, async (args) => {
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
113
|
+
const filters = {};
|
|
114
|
+
if (Array.isArray(args.skills))
|
|
115
|
+
filters.skills = args.skills;
|
|
116
|
+
if (typeof args.location === "string")
|
|
117
|
+
filters.location = args.location;
|
|
118
|
+
if (typeof args.remote === "boolean")
|
|
119
|
+
filters.remote = args.remote;
|
|
120
|
+
if (typeof args.min_compensation === "number")
|
|
121
|
+
filters.min_compensation = args.min_compensation;
|
|
122
|
+
if (typeof args.max_compensation === "number")
|
|
123
|
+
filters.max_compensation = args.max_compensation;
|
|
124
|
+
if (typeof args.limit === "number")
|
|
125
|
+
filters.limit = args.limit;
|
|
126
|
+
const hasFilters = Object.keys(filters).length > 0;
|
|
127
|
+
const result = await searchOpportunities(deps.coffeeShopClient, hasFilters ? filters : undefined);
|
|
128
|
+
return toToolResponse(result);
|
|
20
129
|
});
|
|
21
130
|
server.registerTool("express_interest", {
|
|
22
131
|
description: "Submit an application for a job posting via Coffee Shop hub",
|
|
@@ -31,7 +140,7 @@ export function registerTalentTools(server, deps) {
|
|
|
31
140
|
const candidateSnapshot = CandidateSnapshotSchema.parse(storedProfile ?? {
|
|
32
141
|
display_name: deps.agentCard.display_name,
|
|
33
142
|
});
|
|
34
|
-
const result = await deps.coffeeShopClient
|
|
143
|
+
const result = await expressInterest(deps.coffeeShopClient, jobId, candidateSnapshot, matchReasoning);
|
|
35
144
|
return toToolResponse(result);
|
|
36
145
|
});
|
|
37
146
|
server.registerTool("update_profile", {
|
|
@@ -44,41 +153,12 @@ export function registerTalentTools(server, deps) {
|
|
|
44
153
|
const input = UpdateProfileInputSchema.parse(args);
|
|
45
154
|
const { sync_agent_card = false, ...snapshotInput } = input;
|
|
46
155
|
const snapshot = CandidateSnapshotSchema.parse(snapshotInput);
|
|
47
|
-
|
|
48
|
-
deps.profileStore
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
};
|
|
54
|
-
if (!deps.profileStore) {
|
|
55
|
-
data.warning = "ProfileStore is not configured for this MCP server instance";
|
|
56
|
-
}
|
|
57
|
-
// Sync profile to Coffee Shop hub
|
|
58
|
-
try {
|
|
59
|
-
await deps.coffeeShopClient.createProfile(snapshot);
|
|
60
|
-
data.hub_synced = true;
|
|
61
|
-
}
|
|
62
|
-
catch (error) {
|
|
63
|
-
data.hub_synced = false;
|
|
64
|
-
data.hub_sync_error = error instanceof Error ? error.message : "Unable to sync profile to hub";
|
|
65
|
-
}
|
|
66
|
-
if (sync_agent_card) {
|
|
67
|
-
try {
|
|
68
|
-
const nextCapabilities = Array.from(new Set(["candidate_profile", ...deps.agentCard.capabilities]));
|
|
69
|
-
const updatedCard = await deps.coffeeShopClient.updateCard({
|
|
70
|
-
capabilities: nextCapabilities,
|
|
71
|
-
});
|
|
72
|
-
deps.agentCard.capabilities = updatedCard.capabilities;
|
|
73
|
-
data.agent_card_synced = true;
|
|
74
|
-
data.capabilities = updatedCard.capabilities;
|
|
75
|
-
}
|
|
76
|
-
catch (error) {
|
|
77
|
-
data.agent_card_synced = false;
|
|
78
|
-
data.sync_error = error instanceof Error ? error.message : "Unable to sync agent card";
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return toToolResponse(data);
|
|
156
|
+
const result = await updateProfile(deps.coffeeShopClient, snapshot, {
|
|
157
|
+
profileStore: deps.profileStore,
|
|
158
|
+
agentCard: deps.agentCard,
|
|
159
|
+
syncAgentCard: sync_agent_card,
|
|
160
|
+
});
|
|
161
|
+
return toToolResponse(result);
|
|
82
162
|
});
|
|
83
163
|
}
|
|
84
164
|
//# sourceMappingURL=talent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"talent.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/talent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"talent.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/talent.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ export declare const EnvelopeSchema: z.ZodObject<{
|
|
|
26
26
|
}, z.core.$strip>;
|
|
27
27
|
export type Envelope = z.infer<typeof EnvelopeSchema>;
|
|
28
28
|
/** Merges common envelope fields with a type-specific message schema. */
|
|
29
|
-
export declare function withEnvelope<T extends z.ZodRawShape>(typeSchema: z.ZodObject<T>): z.ZodObject<(("type" | "protocol_version" | "
|
|
29
|
+
export declare function withEnvelope<T extends z.ZodRawShape>(typeSchema: z.ZodObject<T>): z.ZodObject<(("type" | "protocol_version" | "sender_agent_id" | "conversation_id" | "timestamp" | "message_id" | "metadata") & keyof T extends never ? {
|
|
30
30
|
protocol_version: z.ZodLiteral<"0.2.1">;
|
|
31
31
|
type: z.ZodEnum<{
|
|
32
32
|
"artemys.handshake.initiate": "artemys.handshake.initiate";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.schema.d.ts","sourceRoot":"","sources":["../../src/protocol/envelope.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"envelope.schema.d.ts","sourceRoot":"","sources":["../../src/protocol/envelope.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,gBAAgB,EAAG,OAAgB,CAAC;AAEjD,8DAA8D;AAC9D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;iBAQzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wOAE/E"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { HandleSchema } from "../discovery/index.js";
|
|
2
3
|
import { ProtocolMessageTypeSchema } from "./message-types.js";
|
|
3
4
|
export const PROTOCOL_VERSION = "0.2.1";
|
|
4
5
|
/** Common envelope fields shared by all protocol messages. */
|
|
@@ -8,7 +9,7 @@ export const EnvelopeSchema = z.object({
|
|
|
8
9
|
timestamp: z.string().datetime(),
|
|
9
10
|
message_id: z.string().min(1).max(256),
|
|
10
11
|
conversation_id: z.string().min(1).max(256),
|
|
11
|
-
sender_agent_id:
|
|
12
|
+
sender_agent_id: HandleSchema,
|
|
12
13
|
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
13
14
|
});
|
|
14
15
|
/** Merges common envelope fields with a type-specific message schema. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.schema.js","sourceRoot":"","sources":["../../src/protocol/envelope.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAgB,CAAC;AAEjD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC7C,IAAI,EAAE,yBAAyB;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACtC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3C,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"envelope.schema.js","sourceRoot":"","sources":["../../src/protocol/envelope.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAgB,CAAC;AAEjD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC7C,IAAI,EAAE,yBAAyB;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACtC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3C,eAAe,EAAE,YAAY;IAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CACvD,CAAC,CAAC;AAIH,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAA0B,UAA0B;IAC9E,OAAO,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAC1C,CAAC"}
|
package/dist/protocol/index.d.ts
CHANGED
|
@@ -4,10 +4,9 @@ export { ProtocolErrorCodeSchema, ProtocolValidationError, isProtocolValidationE
|
|
|
4
4
|
export { AgentRoleSchema, RepresentingTypeSchema, RepresentingSchema, AgentIdentitySchema, VerificationTypeSchema, VerificationSchema, IdentityVerificationSchema, type AgentRole, type RepresentingType, type Representing, type AgentIdentity, type VerificationType, type Verification, type IdentityVerification, } from "./identity.schema.js";
|
|
5
5
|
export { ConsentTierSchema, ConsentProfileSchema, InternalConsentProfileSchema, ExternalConsentProfileSchema, ConsentGateSchema, ConsentGatesSchema, type ConsentTier, type ConsentProfile, type InternalConsentProfile, type ExternalConsentProfile, type ConsentGate, type ConsentGates, } from "./consent.schema.js";
|
|
6
6
|
export { IntentTypeSchema, IntentSignalSchema, IntentSchema, AvailabilitySchema, InterestSignalSchema, HandshakeInitiateSchema, HandshakeRespondSchema, type IntentType, type IntentSignal, type Intent, type Availability, type InterestSignal, type HandshakeInitiate, type HandshakeRespond, } from "./handshake.schema.js";
|
|
7
|
-
export { CompensationRangeSchema, JobPostingSchema, CandidateSnapshotSchema, ApplicationIntentSchema, type CompensationRange, type JobPosting, type CandidateSnapshot, type ApplicationIntent, } from "./talent.schema.js";
|
|
7
|
+
export { TEXT_MAX, LONG_TEXT_MAX, LIST_MAX, CompensationRangeSchema, ExperienceEntrySchema, EducationEntrySchema, ProjectEntrySchema, JobPostingSchema, CandidateSnapshotSchema, ApplicationIntentSchema, FullResumeSchema, CandidateCardSchema, type CompensationRange, type ExperienceEntry, type EducationEntry, type ProjectEntry, type JobPosting, type CandidateSnapshot, type ApplicationIntent, type FullResume, type CandidateCard, } from "./talent.schema.js";
|
|
8
8
|
export { EvidenceSchema, GateUnlockStatusSchema, CapabilityQuerySchema, CapabilityResponseSchema, OpportunityDetailSchema, PreferenceCheckSchema, PreferenceResponseSchema, GateUnlockRequestSchema, GateUnlockResponseSchema, type Evidence, type GateUnlockStatus, type CapabilityQuery, type CapabilityResponse, type OpportunityDetail, type PreferenceCheck, type PreferenceResponse, type GateUnlockRequest, type GateUnlockResponse, } from "./dialogue.schema.js";
|
|
9
9
|
export { FitAssessmentSchema, CandidateBriefSchema, RecruiterBriefSchema, MutualInterestSchema, CandidateDeclineSchema, TalentPassSchema, DeferredSchema, type FitAssessment, type CandidateBrief, type RecruiterBrief, type MutualInterest, type CandidateDecline, type TalentPass, type Deferred, } from "./resolution.schema.js";
|
|
10
10
|
export { ProtocolMessageSchema, parseProtocolMessageSafe, parseProtocolMessage, type ProtocolMessage, type ProtocolParseResult, } from "./message.schema.js";
|
|
11
|
-
export { TransportAckSchema, TransportErrorCodeSchema, TransportErrorResponseSchema, type TransportAck, type TransportErrorCode, type TransportErrorResponse, } from "./transport.schema.js";
|
|
12
11
|
export { ConversationStateSchema, INITIAL_CONVERSATION_STATE, isTerminalConversationState, getNextConversationState, validateConversationTransition, validateSenderRole, type ConversationState, type TransitionValidationResult, } from "./state-machine.js";
|
|
13
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,KAAK,QAAQ,GACd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol/index.js
CHANGED
|
@@ -4,10 +4,9 @@ export { ProtocolErrorCodeSchema, ProtocolValidationError, isProtocolValidationE
|
|
|
4
4
|
export { AgentRoleSchema, RepresentingTypeSchema, RepresentingSchema, AgentIdentitySchema, VerificationTypeSchema, VerificationSchema, IdentityVerificationSchema, } from "./identity.schema.js";
|
|
5
5
|
export { ConsentTierSchema, ConsentProfileSchema, InternalConsentProfileSchema, ExternalConsentProfileSchema, ConsentGateSchema, ConsentGatesSchema, } from "./consent.schema.js";
|
|
6
6
|
export { IntentTypeSchema, IntentSignalSchema, IntentSchema, AvailabilitySchema, InterestSignalSchema, HandshakeInitiateSchema, HandshakeRespondSchema, } from "./handshake.schema.js";
|
|
7
|
-
export { CompensationRangeSchema, JobPostingSchema, CandidateSnapshotSchema, ApplicationIntentSchema, } from "./talent.schema.js";
|
|
7
|
+
export { TEXT_MAX, LONG_TEXT_MAX, LIST_MAX, CompensationRangeSchema, ExperienceEntrySchema, EducationEntrySchema, ProjectEntrySchema, JobPostingSchema, CandidateSnapshotSchema, ApplicationIntentSchema, FullResumeSchema, CandidateCardSchema, } from "./talent.schema.js";
|
|
8
8
|
export { EvidenceSchema, GateUnlockStatusSchema, CapabilityQuerySchema, CapabilityResponseSchema, OpportunityDetailSchema, PreferenceCheckSchema, PreferenceResponseSchema, GateUnlockRequestSchema, GateUnlockResponseSchema, } from "./dialogue.schema.js";
|
|
9
9
|
export { FitAssessmentSchema, CandidateBriefSchema, RecruiterBriefSchema, MutualInterestSchema, CandidateDeclineSchema, TalentPassSchema, DeferredSchema, } from "./resolution.schema.js";
|
|
10
10
|
export { ProtocolMessageSchema, parseProtocolMessageSafe, parseProtocolMessage, } from "./message.schema.js";
|
|
11
|
-
export { TransportAckSchema, TransportErrorCodeSchema, TransportErrorResponseSchema, } from "./transport.schema.js";
|
|
12
11
|
export { ConversationStateSchema, INITIAL_CONVERSATION_STATE, isTerminalConversationState, getNextConversationState, validateConversationTransition, validateSenderRole, } from "./state-machine.js";
|
|
13
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,YAAY,GAEb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,sBAAsB,EACtB,yBAAyB,GAE1B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,GAE1B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,GAQ3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,kBAAkB,GAOnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,GAQvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,YAAY,GAEb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,sBAAsB,EACtB,yBAAyB,GAE1B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,GAE1B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,GAQ3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,kBAAkB,GAOnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,GAQvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,GAUpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,GAUzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,GAQf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,GAGrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,8BAA8B,EAC9B,kBAAkB,GAGnB,MAAM,oBAAoB,CAAC"}
|