artemys 0.2.0 → 0.2.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/CHANGELOG.md +23 -0
- package/README.md +194 -146
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +446 -379
- package/dist/cli/index.js.map +1 -1
- package/dist/coffeeshop/client.d.ts +158 -0
- package/dist/coffeeshop/client.d.ts.map +1 -0
- package/dist/coffeeshop/client.js +293 -0
- package/dist/coffeeshop/client.js.map +1 -0
- package/dist/coffeeshop/index.d.ts +2 -0
- package/dist/coffeeshop/index.d.ts.map +1 -0
- package/dist/coffeeshop/index.js +2 -0
- package/dist/coffeeshop/index.js.map +1 -0
- package/dist/discovery/agent-card.schema.d.ts +37 -109
- package/dist/discovery/agent-card.schema.d.ts.map +1 -1
- package/dist/discovery/discovery-query.schema.d.ts +6 -15
- package/dist/discovery/discovery-query.schema.d.ts.map +1 -1
- package/dist/discovery/index.d.ts +1 -1
- package/dist/discovery/index.d.ts.map +1 -1
- package/dist/discovery/index.js +1 -1
- package/dist/discovery/index.js.map +1 -1
- package/dist/discovery/intro-decision.schema.d.ts +9 -11
- package/dist/discovery/intro-decision.schema.d.ts.map +1 -1
- package/dist/discovery/intro-request.schema.d.ts +2 -14
- package/dist/discovery/intro-request.schema.d.ts.map +1 -1
- package/dist/discovery/session-bootstrap.schema.d.ts +86 -66
- package/dist/discovery/session-bootstrap.schema.d.ts.map +1 -1
- package/dist/discovery/session-bootstrap.schema.js +84 -8
- package/dist/discovery/session-bootstrap.schema.js.map +1 -1
- package/dist/mcp-server/index.d.ts +4 -0
- package/dist/mcp-server/index.d.ts.map +1 -0
- package/dist/mcp-server/index.js +4 -0
- package/dist/mcp-server/index.js.map +1 -0
- package/dist/mcp-server/persistence.d.ts +37 -0
- package/dist/mcp-server/persistence.d.ts.map +1 -0
- package/dist/mcp-server/persistence.js +309 -0
- package/dist/mcp-server/persistence.js.map +1 -0
- package/dist/mcp-server/resources.d.ts +20 -0
- package/dist/mcp-server/resources.d.ts.map +1 -0
- package/dist/mcp-server/resources.js +49 -0
- package/dist/mcp-server/resources.js.map +1 -0
- package/dist/mcp-server/server.d.ts +33 -0
- package/dist/mcp-server/server.d.ts.map +1 -0
- package/dist/mcp-server/server.js +220 -0
- package/dist/mcp-server/server.js.map +1 -0
- package/dist/mcp-server/state.d.ts +43 -0
- package/dist/mcp-server/state.d.ts.map +1 -0
- package/dist/mcp-server/state.js +111 -0
- package/dist/mcp-server/state.js.map +1 -0
- package/dist/mcp-server/tools/common.d.ts +225 -0
- package/dist/mcp-server/tools/common.d.ts.map +1 -0
- package/dist/mcp-server/tools/common.js +11 -0
- package/dist/mcp-server/tools/common.js.map +1 -0
- package/dist/mcp-server/tools/discovery.d.ts +3 -0
- package/dist/mcp-server/tools/discovery.d.ts.map +1 -0
- package/dist/mcp-server/tools/discovery.js +48 -0
- package/dist/mcp-server/tools/discovery.js.map +1 -0
- package/dist/mcp-server/tools/index.d.ts +4 -0
- package/dist/mcp-server/tools/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/index.js +13 -0
- package/dist/mcp-server/tools/index.js.map +1 -0
- package/dist/mcp-server/tools/intro.d.ts +3 -0
- package/dist/mcp-server/tools/intro.d.ts.map +1 -0
- package/dist/mcp-server/tools/intro.js +53 -0
- package/dist/mcp-server/tools/intro.js.map +1 -0
- package/dist/mcp-server/tools/protocol.d.ts +3 -0
- package/dist/mcp-server/tools/protocol.d.ts.map +1 -0
- package/dist/mcp-server/tools/protocol.js +73 -0
- package/dist/mcp-server/tools/protocol.js.map +1 -0
- package/dist/mcp-server/tools/talent.d.ts +3 -0
- package/dist/mcp-server/tools/talent.d.ts.map +1 -0
- package/dist/mcp-server/tools/talent.js +226 -0
- package/dist/mcp-server/tools/talent.js.map +1 -0
- package/dist/openclaw/index.d.ts +2 -0
- package/dist/openclaw/index.d.ts.map +1 -0
- package/dist/openclaw/index.js +2 -0
- package/dist/openclaw/index.js.map +1 -0
- package/dist/openclaw/skill.d.ts +13 -0
- package/dist/openclaw/skill.d.ts.map +1 -0
- package/dist/openclaw/skill.js +18 -0
- package/dist/openclaw/skill.js.map +1 -0
- package/dist/protocol/consent.schema.d.ts +18 -48
- package/dist/protocol/consent.schema.d.ts.map +1 -1
- package/dist/protocol/consent.schema.js +1 -1
- package/dist/protocol/consent.schema.js.map +1 -1
- package/dist/protocol/dialogue.schema.d.ts +21 -177
- package/dist/protocol/dialogue.schema.d.ts.map +1 -1
- package/dist/protocol/envelope.schema.d.ts +46 -28
- package/dist/protocol/envelope.schema.d.ts.map +1 -1
- package/dist/protocol/errors.d.ts +8 -1
- package/dist/protocol/errors.d.ts.map +1 -1
- package/dist/protocol/handshake.schema.d.ts +130 -385
- package/dist/protocol/handshake.schema.d.ts.map +1 -1
- package/dist/protocol/handshake.schema.js +1 -0
- package/dist/protocol/handshake.schema.js.map +1 -1
- package/dist/protocol/identity.schema.d.ts +44 -94
- package/dist/protocol/identity.schema.d.ts.map +1 -1
- package/dist/protocol/index.d.ts +1 -0
- package/dist/protocol/index.d.ts.map +1 -1
- package/dist/protocol/index.js +1 -0
- package/dist/protocol/index.js.map +1 -1
- package/dist/protocol/message-types.d.ts +14 -1
- package/dist/protocol/message-types.d.ts.map +1 -1
- package/dist/protocol/message.schema.d.ts +100 -715
- package/dist/protocol/message.schema.d.ts.map +1 -1
- package/dist/protocol/resolution.schema.d.ts +22 -268
- package/dist/protocol/resolution.schema.d.ts.map +1 -1
- package/dist/protocol/resolution.schema.js +1 -1
- package/dist/protocol/resolution.schema.js.map +1 -1
- package/dist/protocol/state-machine.d.ts +10 -1
- package/dist/protocol/state-machine.d.ts.map +1 -1
- package/dist/protocol/talent.schema.d.ts +106 -0
- package/dist/protocol/talent.schema.d.ts.map +1 -0
- package/dist/protocol/talent.schema.js +47 -0
- package/dist/protocol/talent.schema.js.map +1 -0
- package/dist/protocol/transport.schema.d.ts +16 -18
- package/dist/protocol/transport.schema.d.ts.map +1 -1
- package/dist/transport/client.d.ts +32 -0
- package/dist/transport/client.d.ts.map +1 -0
- package/dist/transport/client.js +155 -0
- package/dist/transport/client.js.map +1 -0
- package/dist/transport/dedup.d.ts +9 -0
- package/dist/transport/dedup.d.ts.map +1 -0
- package/dist/transport/dedup.js +36 -0
- package/dist/transport/dedup.js.map +1 -0
- package/dist/transport/handler.d.ts +9 -0
- package/dist/transport/handler.d.ts.map +1 -0
- package/dist/transport/handler.js +105 -0
- package/dist/transport/handler.js.map +1 -0
- package/dist/transport/hmac.d.ts +3 -0
- package/dist/transport/hmac.d.ts.map +1 -0
- package/dist/transport/hmac.js +43 -0
- package/dist/transport/hmac.js.map +1 -0
- package/dist/transport/index.d.ts +6 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +6 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/reference-runner.d.ts +37 -0
- package/dist/transport/reference-runner.d.ts.map +1 -0
- package/dist/transport/reference-runner.js +372 -0
- package/dist/transport/reference-runner.js.map +1 -0
- package/package.json +19 -31
- package/dist/agent/archiver.d.ts +0 -8
- package/dist/agent/archiver.d.ts.map +0 -1
- package/dist/agent/archiver.js +0 -48
- package/dist/agent/archiver.js.map +0 -1
- package/dist/agent/capabilities.d.ts +0 -23
- package/dist/agent/capabilities.d.ts.map +0 -1
- package/dist/agent/capabilities.js +0 -87
- package/dist/agent/capabilities.js.map +0 -1
- package/dist/agent/config.d.ts +0 -60
- package/dist/agent/config.d.ts.map +0 -1
- package/dist/agent/config.js +0 -84
- package/dist/agent/config.js.map +0 -1
- package/dist/agent/context-provider.d.ts +0 -12
- package/dist/agent/context-provider.d.ts.map +0 -1
- package/dist/agent/context-provider.js +0 -34
- package/dist/agent/context-provider.js.map +0 -1
- package/dist/agent/context.d.ts +0 -9
- package/dist/agent/context.d.ts.map +0 -1
- package/dist/agent/context.js +0 -80
- package/dist/agent/context.js.map +0 -1
- package/dist/agent/events.d.ts +0 -62
- package/dist/agent/events.d.ts.map +0 -1
- package/dist/agent/events.js +0 -21
- package/dist/agent/events.js.map +0 -1
- package/dist/agent/index.d.ts +0 -32
- package/dist/agent/index.d.ts.map +0 -1
- package/dist/agent/index.js +0 -28
- package/dist/agent/index.js.map +0 -1
- package/dist/agent/mcp.d.ts +0 -16
- package/dist/agent/mcp.d.ts.map +0 -1
- package/dist/agent/mcp.js +0 -69
- package/dist/agent/mcp.js.map +0 -1
- package/dist/agent/notifications/decision-parser.d.ts +0 -10
- package/dist/agent/notifications/decision-parser.d.ts.map +0 -1
- package/dist/agent/notifications/decision-parser.js +0 -21
- package/dist/agent/notifications/decision-parser.js.map +0 -1
- package/dist/agent/notifications/index.d.ts +0 -4
- package/dist/agent/notifications/index.d.ts.map +0 -1
- package/dist/agent/notifications/index.js +0 -3
- package/dist/agent/notifications/index.js.map +0 -1
- package/dist/agent/notifications/opportunity-templates.d.ts +0 -14
- package/dist/agent/notifications/opportunity-templates.d.ts.map +0 -1
- package/dist/agent/notifications/opportunity-templates.js +0 -21
- package/dist/agent/notifications/opportunity-templates.js.map +0 -1
- package/dist/agent/notifications/types.d.ts +0 -16
- package/dist/agent/notifications/types.d.ts.map +0 -1
- package/dist/agent/notifications/types.js +0 -2
- package/dist/agent/notifications/types.js.map +0 -1
- package/dist/agent/providers.d.ts +0 -9
- package/dist/agent/providers.d.ts.map +0 -1
- package/dist/agent/providers.js +0 -29
- package/dist/agent/providers.js.map +0 -1
- package/dist/agent/runtime.d.ts +0 -63
- package/dist/agent/runtime.d.ts.map +0 -1
- package/dist/agent/runtime.js +0 -395
- package/dist/agent/runtime.js.map +0 -1
- package/dist/agent/scanning/index.d.ts +0 -3
- package/dist/agent/scanning/index.d.ts.map +0 -1
- package/dist/agent/scanning/index.js +0 -3
- package/dist/agent/scanning/index.js.map +0 -1
- package/dist/agent/scanning/opportunity-scorer.d.ts +0 -24
- package/dist/agent/scanning/opportunity-scorer.d.ts.map +0 -1
- package/dist/agent/scanning/opportunity-scorer.js +0 -90
- package/dist/agent/scanning/opportunity-scorer.js.map +0 -1
- package/dist/agent/scanning/types.d.ts +0 -65
- package/dist/agent/scanning/types.d.ts.map +0 -1
- package/dist/agent/scanning/types.js +0 -32
- package/dist/agent/scanning/types.js.map +0 -1
- package/dist/agent/scheduler.d.ts +0 -38
- package/dist/agent/scheduler.d.ts.map +0 -1
- package/dist/agent/scheduler.js +0 -125
- package/dist/agent/scheduler.js.map +0 -1
- package/dist/agent/session.d.ts +0 -20
- package/dist/agent/session.d.ts.map +0 -1
- package/dist/agent/session.js +0 -88
- package/dist/agent/session.js.map +0 -1
- package/dist/agent/stores.d.ts +0 -48
- package/dist/agent/stores.d.ts.map +0 -1
- package/dist/agent/stores.js +0 -2
- package/dist/agent/stores.js.map +0 -1
- package/dist/agent/tools/browser/ats-patterns.d.ts +0 -20
- package/dist/agent/tools/browser/ats-patterns.d.ts.map +0 -1
- package/dist/agent/tools/browser/ats-patterns.js +0 -226
- package/dist/agent/tools/browser/ats-patterns.js.map +0 -1
- package/dist/agent/tools/browser/index.d.ts +0 -14
- package/dist/agent/tools/browser/index.d.ts.map +0 -1
- package/dist/agent/tools/browser/index.js +0 -126
- package/dist/agent/tools/browser/index.js.map +0 -1
- package/dist/agent/tools/browser/operator-runtime.d.ts +0 -35
- package/dist/agent/tools/browser/operator-runtime.d.ts.map +0 -1
- package/dist/agent/tools/browser/operator-runtime.js +0 -93
- package/dist/agent/tools/browser/operator-runtime.js.map +0 -1
- package/dist/agent/tools/browser/providers/chrome-mcp.d.ts +0 -3
- package/dist/agent/tools/browser/providers/chrome-mcp.d.ts.map +0 -1
- package/dist/agent/tools/browser/providers/chrome-mcp.js +0 -164
- package/dist/agent/tools/browser/providers/chrome-mcp.js.map +0 -1
- package/dist/agent/tools/browser/providers/playwright.d.ts +0 -7
- package/dist/agent/tools/browser/providers/playwright.d.ts.map +0 -1
- package/dist/agent/tools/browser/providers/playwright.js +0 -619
- package/dist/agent/tools/browser/providers/playwright.js.map +0 -1
- package/dist/agent/tools/browser/types.d.ts +0 -22
- package/dist/agent/tools/browser/types.d.ts.map +0 -1
- package/dist/agent/tools/browser/types.js +0 -15
- package/dist/agent/tools/browser/types.js.map +0 -1
- package/dist/agent/tools/cancel-task.d.ts +0 -4
- package/dist/agent/tools/cancel-task.d.ts.map +0 -1
- package/dist/agent/tools/cancel-task.js +0 -29
- package/dist/agent/tools/cancel-task.js.map +0 -1
- package/dist/agent/tools/career-advice.d.ts +0 -3
- package/dist/agent/tools/career-advice.d.ts.map +0 -1
- package/dist/agent/tools/career-advice.js +0 -49
- package/dist/agent/tools/career-advice.js.map +0 -1
- package/dist/agent/tools/index.d.ts +0 -15
- package/dist/agent/tools/index.d.ts.map +0 -1
- package/dist/agent/tools/index.js +0 -94
- package/dist/agent/tools/index.js.map +0 -1
- package/dist/agent/tools/job-search.d.ts +0 -3
- package/dist/agent/tools/job-search.d.ts.map +0 -1
- package/dist/agent/tools/job-search.js +0 -77
- package/dist/agent/tools/job-search.js.map +0 -1
- package/dist/agent/tools/list-tasks.d.ts +0 -4
- package/dist/agent/tools/list-tasks.d.ts.map +0 -1
- package/dist/agent/tools/list-tasks.js +0 -24
- package/dist/agent/tools/list-tasks.js.map +0 -1
- package/dist/agent/tools/market-data.d.ts +0 -8
- package/dist/agent/tools/market-data.d.ts.map +0 -1
- package/dist/agent/tools/market-data.js +0 -133
- package/dist/agent/tools/market-data.js.map +0 -1
- package/dist/agent/tools/memory-write.d.ts +0 -3
- package/dist/agent/tools/memory-write.d.ts.map +0 -1
- package/dist/agent/tools/memory-write.js +0 -48
- package/dist/agent/tools/memory-write.js.map +0 -1
- package/dist/agent/tools/resume.d.ts +0 -3
- package/dist/agent/tools/resume.d.ts.map +0 -1
- package/dist/agent/tools/resume.js +0 -70
- package/dist/agent/tools/resume.js.map +0 -1
- package/dist/agent/tools/schedule-task.d.ts +0 -4
- package/dist/agent/tools/schedule-task.d.ts.map +0 -1
- package/dist/agent/tools/schedule-task.js +0 -39
- package/dist/agent/tools/schedule-task.js.map +0 -1
- package/dist/agent/tools/shell.d.ts +0 -6
- package/dist/agent/tools/shell.d.ts.map +0 -1
- package/dist/agent/tools/shell.js +0 -66
- package/dist/agent/tools/shell.js.map +0 -1
- package/dist/agent/tools/web-search.d.ts +0 -6
- package/dist/agent/tools/web-search.d.ts.map +0 -1
- package/dist/agent/tools/web-search.js +0 -73
- package/dist/agent/tools/web-search.js.map +0 -1
- package/dist/agent/types.d.ts +0 -103
- package/dist/agent/types.d.ts.map +0 -1
- package/dist/agent/types.js +0 -11
- package/dist/agent/types.js.map +0 -1
- package/dist/channels/index.d.ts +0 -10
- package/dist/channels/index.d.ts.map +0 -1
- package/dist/channels/index.js +0 -15
- package/dist/channels/index.js.map +0 -1
- package/dist/channels/telegram.d.ts +0 -21
- package/dist/channels/telegram.d.ts.map +0 -1
- package/dist/channels/telegram.js +0 -255
- package/dist/channels/telegram.js.map +0 -1
- package/dist/channels/types.d.ts +0 -24
- package/dist/channels/types.d.ts.map +0 -1
- package/dist/channels/types.js +0 -2
- package/dist/channels/types.js.map +0 -1
- package/dist/cli/templates/HEARTBEAT.md +0 -6
- package/dist/cli/templates/MEMORY.md +0 -6
- package/dist/cli/templates/PREFERENCES.md +0 -40
- package/dist/cli/templates/PROFILE.md +0 -26
- package/dist/cli/templates/SOUL.md +0 -23
- package/dist/connectors/google-calendar.d.ts +0 -8
- package/dist/connectors/google-calendar.d.ts.map +0 -1
- package/dist/connectors/google-calendar.js +0 -23
- package/dist/connectors/google-calendar.js.map +0 -1
- package/dist/connectors/google-gmail.d.ts +0 -8
- package/dist/connectors/google-gmail.d.ts.map +0 -1
- package/dist/connectors/google-gmail.js +0 -30
- package/dist/connectors/google-gmail.js.map +0 -1
- package/dist/connectors/google-oauth.d.ts +0 -17
- package/dist/connectors/google-oauth.d.ts.map +0 -1
- package/dist/connectors/google-oauth.js +0 -52
- package/dist/connectors/google-oauth.js.map +0 -1
- package/dist/connectors/index.d.ts +0 -5
- package/dist/connectors/index.d.ts.map +0 -1
- package/dist/connectors/index.js +0 -5
- package/dist/connectors/index.js.map +0 -1
- package/dist/connectors/types.d.ts +0 -20
- package/dist/connectors/types.d.ts.map +0 -1
- package/dist/connectors/types.js +0 -5
- package/dist/connectors/types.js.map +0 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { AgentCardSchema } from "../../discovery/index.js";
|
|
3
|
+
import { toToolResponse } from "./common.js";
|
|
4
|
+
export function registerDiscoveryTools(server, deps) {
|
|
5
|
+
server.registerTool("discover_agents", {
|
|
6
|
+
description: "Discover agents by role, capabilities, and protocol version",
|
|
7
|
+
inputSchema: {
|
|
8
|
+
role: z.enum(["candidate_agent", "talent_agent"]).optional(),
|
|
9
|
+
capabilities_any: z.array(z.string()).optional(),
|
|
10
|
+
protocol_version: z.string().optional(),
|
|
11
|
+
limit: z.number().int().min(1).max(100).optional(),
|
|
12
|
+
},
|
|
13
|
+
}, async (args) => {
|
|
14
|
+
const role = args.role === "candidate_agent" || args.role === "talent_agent" ? args.role : undefined;
|
|
15
|
+
const query = {
|
|
16
|
+
requester_agent_id: deps.agentCard.agent_id,
|
|
17
|
+
...(role ? { role } : {}),
|
|
18
|
+
...(Array.isArray(args.capabilities_any)
|
|
19
|
+
? { capabilities_any: args.capabilities_any.filter((value) => typeof value === "string") }
|
|
20
|
+
: {}),
|
|
21
|
+
...(typeof args.protocol_version === "string" ? { protocol_version: args.protocol_version } : {}),
|
|
22
|
+
...(typeof args.limit === "number" ? { limit: args.limit } : {}),
|
|
23
|
+
};
|
|
24
|
+
const agents = await deps.coffeeShopClient.discover(query);
|
|
25
|
+
return toToolResponse(agents);
|
|
26
|
+
});
|
|
27
|
+
server.registerTool("get_agent_card", {
|
|
28
|
+
description: "Fetch a public agent card by agent ID",
|
|
29
|
+
inputSchema: {
|
|
30
|
+
agent_id: z.string().min(1),
|
|
31
|
+
},
|
|
32
|
+
}, async (args) => {
|
|
33
|
+
const agentId = typeof args.agent_id === "string" ? args.agent_id : "";
|
|
34
|
+
const card = await deps.coffeeShopClient.getCard(agentId);
|
|
35
|
+
return toToolResponse(card);
|
|
36
|
+
});
|
|
37
|
+
server.registerTool("register_agent", {
|
|
38
|
+
description: "Register an agent card with Coffee Shop",
|
|
39
|
+
inputSchema: {
|
|
40
|
+
card: AgentCardSchema,
|
|
41
|
+
},
|
|
42
|
+
}, async (args) => {
|
|
43
|
+
const parsed = z.object({ card: AgentCardSchema }).parse(args);
|
|
44
|
+
const registration = await deps.coffeeShopClient.register(parsed.card);
|
|
45
|
+
return toToolResponse(registration);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAM1D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAO5E;AAED,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { registerDiscoveryTools } from "./discovery.js";
|
|
2
|
+
import { registerIntroTools } from "./intro.js";
|
|
3
|
+
import { registerProtocolTools } from "./protocol.js";
|
|
4
|
+
import { registerTalentTools } from "./talent.js";
|
|
5
|
+
export function registerMcpTools(server, deps) {
|
|
6
|
+
registerDiscoveryTools(server, deps);
|
|
7
|
+
if (deps.introToolsEnabled) {
|
|
8
|
+
registerIntroTools(server, deps);
|
|
9
|
+
}
|
|
10
|
+
registerProtocolTools(server, deps);
|
|
11
|
+
registerTalentTools(server, deps);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,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,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAClC,CAAC;IACD,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACnC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intro.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/intro.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAG1D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAoE9E"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { IntroDecisionSchema } from "../../discovery/index.js";
|
|
3
|
+
import { toToolResponse } from "./common.js";
|
|
4
|
+
export function registerIntroTools(server, deps) {
|
|
5
|
+
server.registerTool("request_intro", {
|
|
6
|
+
description: "Request an intro to another agent",
|
|
7
|
+
inputSchema: {
|
|
8
|
+
target_agent_id: z.string().min(1),
|
|
9
|
+
reason: z.string().min(1),
|
|
10
|
+
capabilities: z.array(z.string()).optional(),
|
|
11
|
+
idempotency_key: z.string().max(128).optional(),
|
|
12
|
+
},
|
|
13
|
+
}, async (args) => {
|
|
14
|
+
const result = await deps.coffeeShopClient.requestIntro({
|
|
15
|
+
requester_agent_id: deps.agentCard.agent_id,
|
|
16
|
+
target_agent_id: typeof args.target_agent_id === "string" ? args.target_agent_id : "",
|
|
17
|
+
reason: typeof args.reason === "string" ? args.reason : "",
|
|
18
|
+
...(Array.isArray(args.capabilities)
|
|
19
|
+
? {
|
|
20
|
+
requested_capabilities: args.capabilities.filter((value) => typeof value === "string"),
|
|
21
|
+
}
|
|
22
|
+
: {}),
|
|
23
|
+
}, {
|
|
24
|
+
...(typeof args.idempotency_key === "string" ? { idempotencyKey: args.idempotency_key } : {}),
|
|
25
|
+
});
|
|
26
|
+
return toToolResponse(result);
|
|
27
|
+
});
|
|
28
|
+
server.registerTool("respond_to_intro", {
|
|
29
|
+
description: "Accept or decline an intro request",
|
|
30
|
+
inputSchema: {
|
|
31
|
+
intro_id: z.string().min(1),
|
|
32
|
+
decision: z.enum(["accept", "decline"]),
|
|
33
|
+
reason: z.string().optional(),
|
|
34
|
+
},
|
|
35
|
+
}, async (args) => {
|
|
36
|
+
const payload = IntroDecisionSchema.parse({
|
|
37
|
+
decision: args.decision,
|
|
38
|
+
decider_agent_id: deps.agentCard.agent_id,
|
|
39
|
+
...(typeof args.reason === "string" ? { reason: args.reason } : {}),
|
|
40
|
+
});
|
|
41
|
+
const introId = typeof args.intro_id === "string" ? args.intro_id : "";
|
|
42
|
+
const sessionBootstrap = await deps.coffeeShopClient.respondToIntro(introId, payload);
|
|
43
|
+
return toToolResponse(sessionBootstrap);
|
|
44
|
+
});
|
|
45
|
+
server.registerTool("list_pending_intros", {
|
|
46
|
+
description: "List pending intro requests for this agent",
|
|
47
|
+
inputSchema: {},
|
|
48
|
+
}, async () => {
|
|
49
|
+
const intros = await deps.coffeeShopClient.listPendingIntros();
|
|
50
|
+
return toToolResponse(intros);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=intro.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intro.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/intro.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/protocol.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAG1D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CA0FjF"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { parseProtocolMessageSafe } from "../../protocol/index.js";
|
|
3
|
+
import { JsonMessageSchema, toToolResponse } from "./common.js";
|
|
4
|
+
export function registerProtocolTools(server, deps) {
|
|
5
|
+
server.registerTool("send_protocol_message", {
|
|
6
|
+
description: "Send a signed Artemys protocol message to a remote endpoint",
|
|
7
|
+
inputSchema: {
|
|
8
|
+
endpoint: z.string().url(),
|
|
9
|
+
message: JsonMessageSchema,
|
|
10
|
+
target_agent_id: z.string().min(1).optional(),
|
|
11
|
+
},
|
|
12
|
+
}, async (args) => {
|
|
13
|
+
const input = z
|
|
14
|
+
.object({
|
|
15
|
+
endpoint: z.string().url(),
|
|
16
|
+
message: JsonMessageSchema,
|
|
17
|
+
target_agent_id: z.string().min(1).optional(),
|
|
18
|
+
})
|
|
19
|
+
.parse(args);
|
|
20
|
+
const result = await deps.transportClient.send(input.endpoint, input.message, {
|
|
21
|
+
...(input.target_agent_id ? { targetAgentId: input.target_agent_id } : {}),
|
|
22
|
+
});
|
|
23
|
+
if (result.ok) {
|
|
24
|
+
try {
|
|
25
|
+
deps.tracker.recordMessage(input.message);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// Ignore tracker failures for tool delivery response.
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return toToolResponse(result);
|
|
32
|
+
});
|
|
33
|
+
server.registerTool("get_conversation_state", {
|
|
34
|
+
description: "Get tracked protocol conversation state",
|
|
35
|
+
inputSchema: {
|
|
36
|
+
conversation_id: z.string().min(1),
|
|
37
|
+
},
|
|
38
|
+
}, async (args) => {
|
|
39
|
+
const conversationId = typeof args.conversation_id === "string" ? args.conversation_id : "";
|
|
40
|
+
const state = deps.tracker.getState(conversationId);
|
|
41
|
+
const record = deps.tracker.getConversation(conversationId);
|
|
42
|
+
return toToolResponse({
|
|
43
|
+
state,
|
|
44
|
+
message_count: record?.message_count ?? 0,
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
server.registerTool("validate_message", {
|
|
48
|
+
description: "Validate a protocol message against Artemys schemas",
|
|
49
|
+
inputSchema: {
|
|
50
|
+
message: JsonMessageSchema,
|
|
51
|
+
},
|
|
52
|
+
}, async (args) => {
|
|
53
|
+
const parsed = parseProtocolMessageSafe(args.message);
|
|
54
|
+
if (parsed.ok) {
|
|
55
|
+
return toToolResponse({ valid: true });
|
|
56
|
+
}
|
|
57
|
+
return toToolResponse({
|
|
58
|
+
valid: false,
|
|
59
|
+
errors: {
|
|
60
|
+
code: parsed.error.code,
|
|
61
|
+
message: parsed.error.message,
|
|
62
|
+
details: parsed.error.details,
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
server.registerTool("list_conversations", {
|
|
67
|
+
description: "List active tracked conversations",
|
|
68
|
+
inputSchema: {},
|
|
69
|
+
}, async () => {
|
|
70
|
+
return toToolResponse(deps.tracker.listConversations());
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"talent.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/talent.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAiD1D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAmO/E"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { ApplicationIntentSchema, CandidateSnapshotSchema, HandshakeInitiateSchema, PROTOCOL_VERSION, } from "../../protocol/index.js";
|
|
4
|
+
import { toToolResponse } from "./common.js";
|
|
5
|
+
const SearchOpportunitiesInputSchema = z.object({
|
|
6
|
+
role_keywords: z.array(z.string().min(1).max(128)).max(20).optional(),
|
|
7
|
+
location: z.string().min(1).max(256).optional(),
|
|
8
|
+
remote_ok: z.boolean().optional(),
|
|
9
|
+
seniority: z.string().min(1).max(64).optional(),
|
|
10
|
+
limit: z.number().int().min(1).max(100).optional(),
|
|
11
|
+
});
|
|
12
|
+
const ExpressInterestInputSchema = z.object({
|
|
13
|
+
target_agent_id: z.string().min(1),
|
|
14
|
+
target_endpoint: z.string().url(),
|
|
15
|
+
job_posting_ref: z.string().min(1).max(256),
|
|
16
|
+
match_reasoning: z.string().min(1).max(4000).optional(),
|
|
17
|
+
});
|
|
18
|
+
const CheckConversationsInputSchema = z.object({
|
|
19
|
+
status_filter: z.string().min(1).optional(),
|
|
20
|
+
});
|
|
21
|
+
const UpdateProfileInputSchema = CandidateSnapshotSchema.extend({
|
|
22
|
+
sync_agent_card: z.boolean().optional(),
|
|
23
|
+
});
|
|
24
|
+
function normalizeText(value) {
|
|
25
|
+
return value.trim().toLowerCase();
|
|
26
|
+
}
|
|
27
|
+
function mapAgentRole(cardRole) {
|
|
28
|
+
return cardRole === "talent_agent" ? "sourcer" : "candidate_representative";
|
|
29
|
+
}
|
|
30
|
+
function mapRepresentingType(cardRole) {
|
|
31
|
+
return cardRole === "talent_agent" ? "employer" : "individual";
|
|
32
|
+
}
|
|
33
|
+
function inferCounterpartyAgentId(messages, selfAgentId) {
|
|
34
|
+
for (let index = messages.length - 1; index >= 0; index -= 1) {
|
|
35
|
+
const senderAgentId = messages[index]?.sender_agent_id;
|
|
36
|
+
if (senderAgentId && senderAgentId !== selfAgentId) {
|
|
37
|
+
return senderAgentId;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
export function registerTalentTools(server, deps) {
|
|
43
|
+
server.registerTool("search_opportunities", {
|
|
44
|
+
description: "Discover talent agents and annotate opportunity capabilities",
|
|
45
|
+
inputSchema: {
|
|
46
|
+
role_keywords: z.array(z.string().min(1)).optional(),
|
|
47
|
+
location: z.string().min(1).optional(),
|
|
48
|
+
remote_ok: z.boolean().optional(),
|
|
49
|
+
seniority: z.string().min(1).optional(),
|
|
50
|
+
limit: z.number().int().min(1).max(100).optional(),
|
|
51
|
+
},
|
|
52
|
+
}, async (args) => {
|
|
53
|
+
const input = SearchOpportunitiesInputSchema.parse(args);
|
|
54
|
+
const roleKeywords = (input.role_keywords ?? []).map(normalizeText).filter(Boolean);
|
|
55
|
+
const locationFilter = input.location ? normalizeText(input.location) : undefined;
|
|
56
|
+
const seniorityFilter = input.seniority ? normalizeText(input.seniority) : undefined;
|
|
57
|
+
const agents = await deps.coffeeShopClient.discover({
|
|
58
|
+
requester_agent_id: deps.agentCard.agent_id,
|
|
59
|
+
role: "talent_agent",
|
|
60
|
+
...(typeof input.limit === "number" ? { limit: input.limit } : {}),
|
|
61
|
+
});
|
|
62
|
+
const opportunities = agents.map((agent) => {
|
|
63
|
+
const discoverableOpportunities = agent.capabilities.map((capability) => {
|
|
64
|
+
const capabilityText = normalizeText(capability);
|
|
65
|
+
const matchedRoleKeywords = roleKeywords.filter((keyword) => capabilityText.includes(keyword));
|
|
66
|
+
const locationMatch = locationFilter ? capabilityText.includes(locationFilter) : true;
|
|
67
|
+
const seniorityMatch = seniorityFilter ? capabilityText.includes(seniorityFilter) : true;
|
|
68
|
+
const remoteMatch = input.remote_ok === true ? capabilityText.includes("remote") : true;
|
|
69
|
+
return {
|
|
70
|
+
capability,
|
|
71
|
+
matched_role_keywords: matchedRoleKeywords,
|
|
72
|
+
matches_filters: locationMatch && seniorityMatch && remoteMatch,
|
|
73
|
+
};
|
|
74
|
+
});
|
|
75
|
+
const matchesAnyCapability = discoverableOpportunities.some((entry) => {
|
|
76
|
+
const keywordsMatch = roleKeywords.length === 0 || entry.matched_role_keywords.length > 0;
|
|
77
|
+
return keywordsMatch && entry.matches_filters;
|
|
78
|
+
});
|
|
79
|
+
return {
|
|
80
|
+
agent_card: agent,
|
|
81
|
+
discoverable_opportunities: discoverableOpportunities,
|
|
82
|
+
matches_filters: matchesAnyCapability,
|
|
83
|
+
};
|
|
84
|
+
});
|
|
85
|
+
const filtered = roleKeywords.length === 0 && !locationFilter && !seniorityFilter && input.remote_ok !== true
|
|
86
|
+
? opportunities
|
|
87
|
+
: opportunities.filter((entry) => entry.matches_filters);
|
|
88
|
+
return toToolResponse({
|
|
89
|
+
filters: input,
|
|
90
|
+
total: filtered.length,
|
|
91
|
+
opportunities: filtered,
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
server.registerTool("express_interest", {
|
|
95
|
+
description: "Send handshake initiate message with application intent data",
|
|
96
|
+
inputSchema: {
|
|
97
|
+
target_agent_id: z.string().min(1),
|
|
98
|
+
target_endpoint: z.string().url(),
|
|
99
|
+
job_posting_ref: z.string().min(1),
|
|
100
|
+
match_reasoning: z.string().min(1).max(4000).optional(),
|
|
101
|
+
},
|
|
102
|
+
}, async (args) => {
|
|
103
|
+
const input = ExpressInterestInputSchema.parse(args);
|
|
104
|
+
const storedProfile = deps.profileStore?.getProfile();
|
|
105
|
+
const candidateSnapshot = CandidateSnapshotSchema.parse(storedProfile ?? {
|
|
106
|
+
display_name: deps.agentCard.display_name,
|
|
107
|
+
});
|
|
108
|
+
const applicationIntent = ApplicationIntentSchema.parse({
|
|
109
|
+
job_posting_ref: input.job_posting_ref,
|
|
110
|
+
...(input.match_reasoning ? { match_reasoning: input.match_reasoning } : {}),
|
|
111
|
+
candidate_snapshot: candidateSnapshot,
|
|
112
|
+
});
|
|
113
|
+
const seniority = typeof candidateSnapshot.experience_years === "number" && candidateSnapshot.experience_years >= 8
|
|
114
|
+
? "senior"
|
|
115
|
+
: "mid";
|
|
116
|
+
const message = HandshakeInitiateSchema.parse({
|
|
117
|
+
protocol_version: PROTOCOL_VERSION,
|
|
118
|
+
type: "artemys.handshake.initiate",
|
|
119
|
+
timestamp: new Date().toISOString(),
|
|
120
|
+
message_id: `msg-${randomUUID()}`,
|
|
121
|
+
conversation_id: `conv-${randomUUID()}`,
|
|
122
|
+
sender_agent_id: deps.agentCard.agent_id,
|
|
123
|
+
agent: {
|
|
124
|
+
id: deps.agentCard.agent_id,
|
|
125
|
+
role: mapAgentRole(deps.agentCard.role),
|
|
126
|
+
representing: {
|
|
127
|
+
type: mapRepresentingType(deps.agentCard.role),
|
|
128
|
+
name: deps.agentCard.display_name,
|
|
129
|
+
identity: deps.agentCard.agent_id,
|
|
130
|
+
verified: true,
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
intent: {
|
|
134
|
+
type: "role_inquiry",
|
|
135
|
+
signal: {
|
|
136
|
+
domain: candidateSnapshot.preferred_roles?.[0] ?? "general",
|
|
137
|
+
seniority,
|
|
138
|
+
location_flexibility: candidateSnapshot.remote_preference ?? "remote_ok",
|
|
139
|
+
application_intent: applicationIntent,
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
});
|
|
143
|
+
const transportResult = await deps.transportClient.send(input.target_endpoint, message, {
|
|
144
|
+
targetAgentId: input.target_agent_id,
|
|
145
|
+
});
|
|
146
|
+
if (transportResult.ok) {
|
|
147
|
+
try {
|
|
148
|
+
deps.tracker.recordMessage(message);
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
// Ignore tracker failures for tool delivery response.
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return toToolResponse({
|
|
155
|
+
conversation_id: message.conversation_id,
|
|
156
|
+
message_id: message.message_id,
|
|
157
|
+
transport: transportResult,
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
server.registerTool("check_conversations", {
|
|
161
|
+
description: "List tracked conversations with optional state filter",
|
|
162
|
+
inputSchema: {
|
|
163
|
+
status_filter: z.string().min(1).optional(),
|
|
164
|
+
},
|
|
165
|
+
}, async (args) => {
|
|
166
|
+
const input = CheckConversationsInputSchema.parse(args);
|
|
167
|
+
const statusFilter = input.status_filter ? input.status_filter.trim().toUpperCase() : null;
|
|
168
|
+
const conversations = deps.tracker
|
|
169
|
+
.listConversations()
|
|
170
|
+
.filter((summary) => !statusFilter || summary.state === statusFilter)
|
|
171
|
+
.map((summary) => {
|
|
172
|
+
const record = deps.tracker.getConversation(summary.conversation_id);
|
|
173
|
+
const lastMessage = record && record.messages.length > 0 ? record.messages[record.messages.length - 1] : null;
|
|
174
|
+
return {
|
|
175
|
+
conversation_id: summary.conversation_id,
|
|
176
|
+
state: summary.state,
|
|
177
|
+
counterparty_agent_id: inferCounterpartyAgentId(record?.messages ?? [], deps.agentCard.agent_id),
|
|
178
|
+
message_count: summary.message_count,
|
|
179
|
+
last_activity: lastMessage?.timestamp ?? null,
|
|
180
|
+
};
|
|
181
|
+
});
|
|
182
|
+
return toToolResponse({
|
|
183
|
+
status_filter: statusFilter,
|
|
184
|
+
total: conversations.length,
|
|
185
|
+
conversations,
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
server.registerTool("update_profile", {
|
|
189
|
+
description: "Validate and store candidate profile snapshot",
|
|
190
|
+
inputSchema: {
|
|
191
|
+
...CandidateSnapshotSchema.shape,
|
|
192
|
+
sync_agent_card: z.boolean().optional(),
|
|
193
|
+
},
|
|
194
|
+
}, async (args) => {
|
|
195
|
+
const input = UpdateProfileInputSchema.parse(args);
|
|
196
|
+
const { sync_agent_card = false, ...snapshotInput } = input;
|
|
197
|
+
const snapshot = CandidateSnapshotSchema.parse(snapshotInput);
|
|
198
|
+
if (deps.profileStore) {
|
|
199
|
+
deps.profileStore.setProfile(snapshot);
|
|
200
|
+
}
|
|
201
|
+
const data = {
|
|
202
|
+
stored: Boolean(deps.profileStore),
|
|
203
|
+
profile: snapshot,
|
|
204
|
+
};
|
|
205
|
+
if (!deps.profileStore) {
|
|
206
|
+
data.warning = "ProfileStore is not configured for this MCP server instance";
|
|
207
|
+
}
|
|
208
|
+
if (sync_agent_card) {
|
|
209
|
+
try {
|
|
210
|
+
const nextCapabilities = Array.from(new Set(["candidate_profile", ...deps.agentCard.capabilities]));
|
|
211
|
+
const updatedCard = await deps.coffeeShopClient.updateCard({
|
|
212
|
+
capabilities: nextCapabilities,
|
|
213
|
+
});
|
|
214
|
+
deps.agentCard.capabilities = updatedCard.capabilities;
|
|
215
|
+
data.agent_card_synced = true;
|
|
216
|
+
data.capabilities = updatedCard.capabilities;
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
data.agent_card_synced = false;
|
|
220
|
+
data.sync_error = error instanceof Error ? error.message : "Unable to sync agent card";
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return toToolResponse(data);
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=talent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"talent.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/talent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/openclaw/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/openclaw/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAE3B,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const ARTEMYS_TALENT_SKILL_ID = "artemys-talent";
|
|
2
|
+
export interface OpenClawSkillManifest {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
mcp_server: {
|
|
7
|
+
package: string;
|
|
8
|
+
subpath: string;
|
|
9
|
+
};
|
|
10
|
+
commands: Record<string, string[]>;
|
|
11
|
+
}
|
|
12
|
+
export declare const ArtemysTalentSkillManifest: OpenClawSkillManifest;
|
|
13
|
+
//# sourceMappingURL=skill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/openclaw/skill.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,mBAAmB,CAAA;AAEvD,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CACnC;AAED,eAAO,MAAM,0BAA0B,EAAE,qBAexC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export const ARTEMYS_TALENT_SKILL_ID = "artemys-talent";
|
|
2
|
+
export const ArtemysTalentSkillManifest = {
|
|
3
|
+
id: ARTEMYS_TALENT_SKILL_ID,
|
|
4
|
+
name: "Artemys Talent",
|
|
5
|
+
description: "OpenClaw skill manifest for the Artemys talent workflow.",
|
|
6
|
+
mcp_server: {
|
|
7
|
+
package: "artemys",
|
|
8
|
+
subpath: "mcp-server",
|
|
9
|
+
},
|
|
10
|
+
commands: {
|
|
11
|
+
"talent start": ["register_agent", "update_profile"],
|
|
12
|
+
"talent search": ["search_opportunities"],
|
|
13
|
+
"talent apply": ["express_interest"],
|
|
14
|
+
"talent status": ["check_conversations"],
|
|
15
|
+
"talent profile": ["update_profile"],
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=skill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/openclaw/skill.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAgB,CAAA;AAavD,MAAM,CAAC,MAAM,0BAA0B,GAA0B;IAC/D,EAAE,EAAE,uBAAuB;IAC3B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,0DAA0D;IACvE,UAAU,EAAE;QACV,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,YAAY;KACtB;IACD,QAAQ,EAAE;QACR,cAAc,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;QACpD,eAAe,EAAE,CAAC,sBAAsB,CAAC;QACzC,cAAc,EAAE,CAAC,kBAAkB,CAAC;QACpC,eAAe,EAAE,CAAC,qBAAqB,CAAC;QACxC,gBAAgB,EAAE,CAAC,gBAAgB,CAAC;KACrC;CACF,CAAA"}
|