artemys 0.2.1 → 0.3.2

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.
Files changed (184) hide show
  1. package/README.md +111 -175
  2. package/dist/cli/config.d.ts +21 -0
  3. package/dist/cli/config.d.ts.map +1 -0
  4. package/dist/cli/config.js +97 -0
  5. package/dist/cli/config.js.map +1 -0
  6. package/dist/cli/index.d.ts +5 -0
  7. package/dist/cli/index.d.ts.map +1 -1
  8. package/dist/cli/index.js +147 -189
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/cli/init.d.ts +3 -0
  11. package/dist/cli/init.d.ts.map +1 -0
  12. package/dist/cli/init.js +174 -0
  13. package/dist/cli/init.js.map +1 -0
  14. package/dist/coffeeshop/client.d.ts +24 -101
  15. package/dist/coffeeshop/client.d.ts.map +1 -1
  16. package/dist/coffeeshop/client.js +102 -153
  17. package/dist/coffeeshop/client.js.map +1 -1
  18. package/dist/coffeeshop/index.d.ts +2 -1
  19. package/dist/coffeeshop/index.d.ts.map +1 -1
  20. package/dist/coffeeshop/index.js +2 -0
  21. package/dist/coffeeshop/index.js.map +1 -1
  22. package/dist/coffeeshop/schemas.d.ts +146 -0
  23. package/dist/coffeeshop/schemas.d.ts.map +1 -0
  24. package/dist/coffeeshop/schemas.js +115 -0
  25. package/dist/coffeeshop/schemas.js.map +1 -0
  26. package/dist/discovery/agent-card.schema.d.ts +4 -2
  27. package/dist/discovery/agent-card.schema.d.ts.map +1 -1
  28. package/dist/discovery/agent-card.schema.js +10 -2
  29. package/dist/discovery/agent-card.schema.js.map +1 -1
  30. package/dist/discovery/index.d.ts +2 -4
  31. package/dist/discovery/index.d.ts.map +1 -1
  32. package/dist/discovery/index.js +2 -4
  33. package/dist/discovery/index.js.map +1 -1
  34. package/dist/discovery/reserved-handles.d.ts +2 -0
  35. package/dist/discovery/reserved-handles.d.ts.map +1 -0
  36. package/dist/discovery/reserved-handles.js +18 -0
  37. package/dist/discovery/reserved-handles.js.map +1 -0
  38. package/dist/integrations/job-boards/http.d.ts +4 -1
  39. package/dist/integrations/job-boards/http.d.ts.map +1 -1
  40. package/dist/integrations/job-boards/http.js +4 -3
  41. package/dist/integrations/job-boards/http.js.map +1 -1
  42. package/dist/integrations/job-boards/remotive.d.ts.map +1 -1
  43. package/dist/integrations/job-boards/remotive.js +6 -35
  44. package/dist/integrations/job-boards/remotive.js.map +1 -1
  45. package/dist/mcp-server/__tests__/test-fixtures.d.ts +39 -0
  46. package/dist/mcp-server/__tests__/test-fixtures.d.ts.map +1 -0
  47. package/dist/mcp-server/__tests__/test-fixtures.js +87 -0
  48. package/dist/mcp-server/__tests__/test-fixtures.js.map +1 -0
  49. package/dist/mcp-server/index.d.ts +1 -1
  50. package/dist/mcp-server/index.d.ts.map +1 -1
  51. package/dist/mcp-server/index.js +1 -1
  52. package/dist/mcp-server/index.js.map +1 -1
  53. package/dist/mcp-server/persistence.d.ts +0 -4
  54. package/dist/mcp-server/persistence.d.ts.map +1 -1
  55. package/dist/mcp-server/persistence.js +25 -30
  56. package/dist/mcp-server/persistence.js.map +1 -1
  57. package/dist/mcp-server/server.d.ts +2 -3
  58. package/dist/mcp-server/server.d.ts.map +1 -1
  59. package/dist/mcp-server/server.js +16 -6
  60. package/dist/mcp-server/server.js.map +1 -1
  61. package/dist/mcp-server/state.d.ts +0 -1
  62. package/dist/mcp-server/state.d.ts.map +1 -1
  63. package/dist/mcp-server/state.js +0 -4
  64. package/dist/mcp-server/state.js.map +1 -1
  65. package/dist/mcp-server/tools/common.d.ts +1 -199
  66. package/dist/mcp-server/tools/common.d.ts.map +1 -1
  67. package/dist/mcp-server/tools/common.js +1 -3
  68. package/dist/mcp-server/tools/common.js.map +1 -1
  69. package/dist/mcp-server/tools/index.d.ts.map +1 -1
  70. package/dist/mcp-server/tools/index.js +2 -4
  71. package/dist/mcp-server/tools/index.js.map +1 -1
  72. package/dist/mcp-server/tools/messaging.d.ts +14 -0
  73. package/dist/mcp-server/tools/messaging.d.ts.map +1 -0
  74. package/dist/mcp-server/tools/messaging.js +39 -0
  75. package/dist/mcp-server/tools/messaging.js.map +1 -0
  76. package/dist/mcp-server/tools/protocol.d.ts.map +1 -1
  77. package/dist/mcp-server/tools/protocol.js +0 -28
  78. package/dist/mcp-server/tools/protocol.js.map +1 -1
  79. package/dist/mcp-server/tools/talent.d.ts +18 -0
  80. package/dist/mcp-server/tools/talent.d.ts.map +1 -1
  81. package/dist/mcp-server/tools/talent.js +60 -188
  82. package/dist/mcp-server/tools/talent.js.map +1 -1
  83. package/dist/openclaw/skill.js +1 -1
  84. package/dist/openclaw/skill.js.map +1 -1
  85. package/dist/protocol/dialogue.schema.d.ts +26 -6
  86. package/dist/protocol/dialogue.schema.d.ts.map +1 -1
  87. package/dist/protocol/dialogue.schema.js +11 -0
  88. package/dist/protocol/dialogue.schema.js.map +1 -1
  89. package/dist/protocol/envelope.schema.d.ts +11 -5
  90. package/dist/protocol/envelope.schema.d.ts.map +1 -1
  91. package/dist/protocol/envelope.schema.js +4 -2
  92. package/dist/protocol/envelope.schema.js.map +1 -1
  93. package/dist/protocol/handshake.schema.d.ts +4 -2
  94. package/dist/protocol/handshake.schema.d.ts.map +1 -1
  95. package/dist/protocol/index.d.ts +2 -3
  96. package/dist/protocol/index.d.ts.map +1 -1
  97. package/dist/protocol/index.js +2 -3
  98. package/dist/protocol/index.js.map +1 -1
  99. package/dist/protocol/message-types.d.ts +2 -1
  100. package/dist/protocol/message-types.d.ts.map +1 -1
  101. package/dist/protocol/message-types.js +1 -0
  102. package/dist/protocol/message-types.js.map +1 -1
  103. package/dist/protocol/message.schema.d.ts +35 -12
  104. package/dist/protocol/message.schema.d.ts.map +1 -1
  105. package/dist/protocol/message.schema.js +4 -2
  106. package/dist/protocol/message.schema.js.map +1 -1
  107. package/dist/protocol/resolution.schema.d.ts +8 -4
  108. package/dist/protocol/resolution.schema.d.ts.map +1 -1
  109. package/dist/protocol/state-machine.d.ts.map +1 -1
  110. package/dist/protocol/state-machine.js +2 -1
  111. package/dist/protocol/state-machine.js.map +1 -1
  112. package/dist/protocol/talent.schema.d.ts +115 -0
  113. package/dist/protocol/talent.schema.d.ts.map +1 -1
  114. package/dist/protocol/talent.schema.js +61 -3
  115. package/dist/protocol/talent.schema.js.map +1 -1
  116. package/dist/resume/index.d.ts +4 -0
  117. package/dist/resume/index.d.ts.map +1 -0
  118. package/dist/resume/index.js +4 -0
  119. package/dist/resume/index.js.map +1 -0
  120. package/dist/resume/parse-resume.d.ts +8 -0
  121. package/dist/resume/parse-resume.d.ts.map +1 -0
  122. package/dist/resume/parse-resume.js +117 -0
  123. package/dist/resume/parse-resume.js.map +1 -0
  124. package/dist/resume/providers/anthropic.d.ts +2 -0
  125. package/dist/resume/providers/anthropic.d.ts.map +1 -0
  126. package/dist/resume/providers/anthropic.js +26 -0
  127. package/dist/resume/providers/anthropic.js.map +1 -0
  128. package/dist/resume/providers/google.d.ts +2 -0
  129. package/dist/resume/providers/google.d.ts.map +1 -0
  130. package/dist/resume/providers/google.js +24 -0
  131. package/dist/resume/providers/google.js.map +1 -0
  132. package/dist/resume/providers/openai.d.ts +2 -0
  133. package/dist/resume/providers/openai.d.ts.map +1 -0
  134. package/dist/resume/providers/openai.js +25 -0
  135. package/dist/resume/providers/openai.js.map +1 -0
  136. package/dist/resume/to-card.d.ts +7 -0
  137. package/dist/resume/to-card.d.ts.map +1 -0
  138. package/dist/resume/to-card.js +63 -0
  139. package/dist/resume/to-card.js.map +1 -0
  140. package/package.json +11 -6
  141. package/dist/discovery/intro-decision.schema.d.ts +0 -16
  142. package/dist/discovery/intro-decision.schema.d.ts.map +0 -1
  143. package/dist/discovery/intro-decision.schema.js +0 -10
  144. package/dist/discovery/intro-decision.schema.js.map +0 -1
  145. package/dist/discovery/intro-request.schema.d.ts +0 -10
  146. package/dist/discovery/intro-request.schema.d.ts.map +0 -1
  147. package/dist/discovery/intro-request.schema.js +0 -11
  148. package/dist/discovery/intro-request.schema.js.map +0 -1
  149. package/dist/discovery/session-bootstrap.schema.d.ts +0 -97
  150. package/dist/discovery/session-bootstrap.schema.d.ts.map +0 -1
  151. package/dist/discovery/session-bootstrap.schema.js +0 -100
  152. package/dist/discovery/session-bootstrap.schema.js.map +0 -1
  153. package/dist/mcp-server/tools/intro.d.ts +0 -3
  154. package/dist/mcp-server/tools/intro.d.ts.map +0 -1
  155. package/dist/mcp-server/tools/intro.js +0 -53
  156. package/dist/mcp-server/tools/intro.js.map +0 -1
  157. package/dist/protocol/transport.schema.d.ts +0 -27
  158. package/dist/protocol/transport.schema.d.ts.map +0 -1
  159. package/dist/protocol/transport.schema.js +0 -18
  160. package/dist/protocol/transport.schema.js.map +0 -1
  161. package/dist/transport/client.d.ts +0 -32
  162. package/dist/transport/client.d.ts.map +0 -1
  163. package/dist/transport/client.js +0 -155
  164. package/dist/transport/client.js.map +0 -1
  165. package/dist/transport/dedup.d.ts +0 -9
  166. package/dist/transport/dedup.d.ts.map +0 -1
  167. package/dist/transport/dedup.js +0 -36
  168. package/dist/transport/dedup.js.map +0 -1
  169. package/dist/transport/handler.d.ts +0 -9
  170. package/dist/transport/handler.d.ts.map +0 -1
  171. package/dist/transport/handler.js +0 -105
  172. package/dist/transport/handler.js.map +0 -1
  173. package/dist/transport/hmac.d.ts +0 -3
  174. package/dist/transport/hmac.d.ts.map +0 -1
  175. package/dist/transport/hmac.js +0 -43
  176. package/dist/transport/hmac.js.map +0 -1
  177. package/dist/transport/index.d.ts +0 -6
  178. package/dist/transport/index.d.ts.map +0 -1
  179. package/dist/transport/index.js +0 -6
  180. package/dist/transport/index.js.map +0 -1
  181. package/dist/transport/reference-runner.d.ts +0 -37
  182. package/dist/transport/reference-runner.d.ts.map +0 -1
  183. package/dist/transport/reference-runner.js +0 -372
  184. package/dist/transport/reference-runner.js.map +0 -1
@@ -0,0 +1,174 @@
1
+ import process from "node:process";
2
+ import { PROTOCOL_VERSION } from "../protocol/index.js";
3
+ import { HandleSchema, RESERVED_HANDLES } from "../discovery/index.js";
4
+ import { CoffeeShopClient } from "../coffeeshop/index.js";
5
+ import { DEFAULT_COFFEESHOP_URL, getConfigPath, getDefaultAgentCardPath, getFlagString, loadConfig, saveConfig, saveAgentCard, resolveCoffeeShopUrl, } from "./config.js";
6
+ function hasTty() {
7
+ return Boolean(process.stdin.isTTY && process.stdout.isTTY);
8
+ }
9
+ async function prompt(question) {
10
+ const { createInterface } = await import("node:readline/promises");
11
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
12
+ try {
13
+ return await rl.question(question);
14
+ }
15
+ finally {
16
+ rl.close();
17
+ }
18
+ }
19
+ async function promptChoice(question, choices) {
20
+ const numbered = choices.map((c, i) => ` ${i + 1}) ${c}`).join("\n");
21
+ const answer = await prompt(`${question}\n${numbered}\nChoice: `);
22
+ const index = Number.parseInt(answer.trim(), 10) - 1;
23
+ if (index >= 0 && index < choices.length) {
24
+ return choices[index];
25
+ }
26
+ // If they typed the choice directly
27
+ const lower = answer.trim().toLowerCase();
28
+ const match = choices.find((c) => c.toLowerCase() === lower);
29
+ if (match) {
30
+ return match;
31
+ }
32
+ throw new Error(`Invalid choice: ${answer.trim()}`);
33
+ }
34
+ function parseHandle(raw) {
35
+ const handle = `@${raw.replace(/^@/, "")}`;
36
+ const result = HandleSchema.safeParse(handle);
37
+ if (!result.success) {
38
+ throw new Error(`Invalid handle "${handle}": ${result.error.issues[0]?.message ?? "format error"}`);
39
+ }
40
+ if (RESERVED_HANDLES.has(handle)) {
41
+ throw new Error(`Handle "${handle}" is reserved and cannot be registered`);
42
+ }
43
+ return handle;
44
+ }
45
+ export async function initCommand(args) {
46
+ const force = args.flags.force === true;
47
+ // Check for existing config
48
+ const existingConfig = loadConfig();
49
+ if (existingConfig && !force) {
50
+ console.error(`Already initialized (agent: ${existingConfig.agent_id}).\n` +
51
+ `Config: ${getConfigPath()}\n` +
52
+ `Use --force to re-initialize.`);
53
+ process.exitCode = 1;
54
+ return;
55
+ }
56
+ const interactive = hasTty();
57
+ const displayNameFlag = getFlagString(args.flags, "display-name");
58
+ const roleFlag = getFlagString(args.flags, "role");
59
+ const webhookUrlFlag = getFlagString(args.flags, "webhook-url");
60
+ // Collect display_name
61
+ let displayName;
62
+ if (displayNameFlag) {
63
+ displayName = displayNameFlag;
64
+ }
65
+ else if (interactive) {
66
+ displayName = (await prompt("Display name: ")).trim();
67
+ if (displayName.length === 0) {
68
+ throw new Error("Display name is required");
69
+ }
70
+ }
71
+ else {
72
+ throw new Error("Non-interactive mode requires flags: --display-name <name> --role <candidate|employer> --handle <handle>");
73
+ }
74
+ // Collect role
75
+ let role;
76
+ if (roleFlag) {
77
+ if (roleFlag !== "candidate" && roleFlag !== "employer") {
78
+ throw new Error('--role must be "candidate" or "employer"');
79
+ }
80
+ role = roleFlag;
81
+ }
82
+ else if (interactive) {
83
+ const chosen = await promptChoice("Role:", ["candidate", "employer"]);
84
+ role = chosen;
85
+ }
86
+ else {
87
+ throw new Error("Non-interactive mode requires flags: --display-name <name> --role <candidate|employer> --handle <handle>");
88
+ }
89
+ // Collect handle
90
+ const handleFlag = getFlagString(args.flags, "handle");
91
+ let handle;
92
+ if (handleFlag) {
93
+ handle = parseHandle(handleFlag);
94
+ }
95
+ else if (interactive) {
96
+ const raw = (await prompt("Pick a handle (letters, numbers, hyphens): ")).trim();
97
+ if (raw.length === 0) {
98
+ throw new Error("Handle is required");
99
+ }
100
+ handle = parseHandle(raw);
101
+ console.log(` Handle: ${handle} ✓ format valid`);
102
+ }
103
+ else {
104
+ throw new Error("Non-interactive mode requires flags: --display-name <name> --role <candidate|employer> --handle <handle>");
105
+ }
106
+ // Collect webhook_url (employers only, optional for candidates)
107
+ let webhookUrl;
108
+ if (role === "candidate") {
109
+ webhookUrl = webhookUrlFlag || undefined;
110
+ }
111
+ else if (webhookUrlFlag) {
112
+ webhookUrl = webhookUrlFlag;
113
+ }
114
+ else if (interactive) {
115
+ webhookUrl = (await prompt("Webhook URL: ")).trim();
116
+ if (webhookUrl.length === 0) {
117
+ throw new Error("Webhook URL is required for employer agents");
118
+ }
119
+ }
120
+ else {
121
+ throw new Error("Employer agents require --webhook-url <url>");
122
+ }
123
+ const agentId = handle;
124
+ // Build agent card
125
+ const agentCardRole = role === "candidate" ? "candidate_agent" : "talent_agent";
126
+ const agentCard = {
127
+ agent_id: agentId,
128
+ display_name: displayName,
129
+ role: agentCardRole,
130
+ protocol_versions: [PROTOCOL_VERSION],
131
+ capabilities: ["discovery", "messaging"],
132
+ endpoints: webhookUrl ? { webhook_url: webhookUrl } : {},
133
+ policy: { requires_candidate_consent: true },
134
+ status: "online",
135
+ };
136
+ // Register with Coffee Shop
137
+ const coffeeShopUrl = resolveCoffeeShopUrl(args.flags);
138
+ const client = new CoffeeShopClient({ baseUrl: coffeeShopUrl });
139
+ let result;
140
+ try {
141
+ result = await client.register(agentCard);
142
+ }
143
+ catch (error) {
144
+ const message = error instanceof Error ? error.message : String(error);
145
+ if (message.includes("409") || message.toLowerCase().includes("already exists")) {
146
+ throw new Error("Handle already taken on Coffee Shop. Try a different one.");
147
+ }
148
+ throw new Error(`Could not reach Coffee Shop at ${coffeeShopUrl}: ${message}`);
149
+ }
150
+ // Save files
151
+ const agentCardPath = getDefaultAgentCardPath();
152
+ saveAgentCard(agentCard, agentCardPath);
153
+ saveConfig({
154
+ agent_id: result.agent_id,
155
+ api_key: result.api_key,
156
+ ...(coffeeShopUrl !== DEFAULT_COFFEESHOP_URL
157
+ ? { coffeeshop_url: coffeeShopUrl }
158
+ : {}),
159
+ });
160
+ console.log(`
161
+ Initialized successfully!
162
+
163
+ Handle: ${result.agent_id}
164
+ Role: ${role}
165
+ Agent card: ${agentCardPath}
166
+ Config: ${getConfigPath()}
167
+
168
+ Next steps:
169
+ artemys talent search Search for matching opportunities
170
+ artemys mcp-server Start MCP server for AI assistants
171
+ artemys discover --role talent_agent Find employer agents
172
+ `);
173
+ }
174
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import { z } from "zod";
2
- import { type AgentCard, type DiscoveryQuery, type IntroDecision, type IntroRequest, type SessionBootstrap } from "../discovery/index.js";
2
+ import { type AgentCard, type DiscoveryQuery } from "../discovery/index.js";
3
+ import { type ApplicationResponse, type CandidateMatch, type InboxMessage, type JobCreate, type JobResponse, type MatchResult, type ProfileCreate, type ProfileResponse } from "./schemas.js";
3
4
  declare const RegisterAgentCardSchema: z.ZodObject<{
5
+ agent_id: z.ZodString;
4
6
  role: z.ZodEnum<{
5
7
  candidate_agent: "candidate_agent";
6
8
  talent_agent: "talent_agent";
7
9
  }>;
8
10
  endpoints: z.ZodObject<{
9
- webhook_url: z.ZodString;
11
+ webhook_url: z.ZodOptional<z.ZodString>;
10
12
  supports_relay: z.ZodOptional<z.ZodBoolean>;
11
13
  }, z.core.$strict>;
12
14
  policy: z.ZodObject<{
@@ -18,7 +20,6 @@ declare const RegisterAgentCardSchema: z.ZodObject<{
18
20
  degraded: "degraded";
19
21
  offline: "offline";
20
22
  }>;
21
- agent_id: z.ZodString;
22
23
  display_name: z.ZodString;
23
24
  protocol_versions: z.ZodArray<z.ZodString>;
24
25
  capabilities: z.ZodArray<z.ZodString>;
@@ -32,96 +33,11 @@ declare const RegisterAgentCardSchema: z.ZodObject<{
32
33
  expires_at: z.ZodString;
33
34
  }, z.core.$strict>>;
34
35
  }, z.core.$strict>;
35
- declare const IntroStatusSchema: z.ZodObject<{
36
- id: z.ZodString;
37
- requester_agent_id: z.ZodString;
38
- target_agent_id: z.ZodString;
39
- reason: z.ZodString;
40
- requested_capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
41
- consent_artifact_id: z.ZodOptional<z.ZodString>;
42
- status: z.ZodEnum<{
43
- pending: "pending";
44
- accepted: "accepted";
45
- declined: "declined";
46
- expired: "expired";
47
- }>;
48
- decision_reason: z.ZodOptional<z.ZodString>;
49
- session_bootstrap: z.ZodOptional<z.ZodObject<{
50
- intro_id: z.ZodString;
51
- initiator_agent_id: z.ZodString;
52
- responder_agent_id: z.ZodString;
53
- relay: z.ZodDiscriminatedUnion<[z.ZodObject<{
54
- mode: z.ZodLiteral<"disabled">;
55
- enabled: z.ZodLiteral<false>;
56
- reason: z.ZodEnum<{
57
- direct_handoff_preferred: "direct_handoff_preferred";
58
- not_supported: "not_supported";
59
- service_not_configured: "service_not_configured";
60
- }>;
61
- }, z.core.$strict>, z.ZodObject<{
62
- mode: z.ZodLiteral<"enabled">;
63
- enabled: z.ZodLiteral<true>;
64
- relay_endpoint: z.ZodString;
65
- session_token: z.ZodString;
66
- expires_at: z.ZodString;
67
- }, z.core.$strict>], "mode">;
68
- direct_handoff: z.ZodObject<{
69
- transport: z.ZodLiteral<"https+hmac-sha256">;
70
- message_path: z.ZodString;
71
- initiator_endpoint: z.ZodString;
72
- responder_endpoint: z.ZodString;
73
- shared_secret: z.ZodObject<{
74
- secret_id: z.ZodString;
75
- algorithm: z.ZodLiteral<"hmac-sha256">;
76
- value: z.ZodString;
77
- issued_at: z.ZodString;
78
- rotate_after: z.ZodString;
79
- expires_at: z.ZodString;
80
- previous_secret_id: z.ZodOptional<z.ZodString>;
81
- }, z.core.$strict>;
82
- secret_rotation: z.ZodObject<{
83
- rotate_url: z.ZodString;
84
- min_interval_seconds: z.ZodNumber;
85
- grace_period_seconds: z.ZodNumber;
86
- }, z.core.$strict>;
87
- }, z.core.$strict>;
88
- expires_at: z.ZodString;
89
- }, z.core.$strict>>;
90
- created_at: z.ZodOptional<z.ZodString>;
91
- decided_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
92
- expires_at: z.ZodOptional<z.ZodString>;
93
- }, z.core.$loose>;
94
- declare const IntroEventSchema: z.ZodObject<{
95
- id: z.ZodString;
96
- intro_id: z.ZodString;
97
- event_type: z.ZodEnum<{
98
- accepted: "accepted";
99
- declined: "declined";
100
- expired: "expired";
101
- requested: "requested";
102
- requested_replayed: "requested_replayed";
103
- }>;
104
- actor_agent_id: z.ZodOptional<z.ZodString>;
105
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
106
- created_at: z.ZodString;
107
- }, z.core.$loose>;
108
- export type IntroStatus = z.infer<typeof IntroStatusSchema>;
109
- export type IntroEvent = z.infer<typeof IntroEventSchema>;
110
- export type TransportSharedSecret = {
111
- intro_id: string;
112
- peer_agent_id: string;
113
- secret_id: string;
114
- value: string;
115
- expires_at: string;
116
- };
117
36
  export interface CoffeeShopClientOptions {
118
37
  baseUrl: string;
119
38
  apiKey?: string;
120
39
  agentId?: string;
121
40
  }
122
- export interface RequestIntroOptions {
123
- idempotencyKey?: string;
124
- }
125
41
  export declare class CoffeeShopClient {
126
42
  private readonly baseUrl;
127
43
  private apiKey?;
@@ -134,24 +50,31 @@ export declare class CoffeeShopClient {
134
50
  getCard(agentId: string): Promise<AgentCard | null>;
135
51
  updateCard(updates: Partial<AgentCard>): Promise<AgentCard>;
136
52
  discover(query: DiscoveryQuery): Promise<AgentCard[]>;
137
- requestIntro(request: IntroRequest, options?: RequestIntroOptions): Promise<{
138
- intro_id: string;
139
- idempotent_replay?: boolean;
140
- }>;
141
- getIntro(introId: string): Promise<IntroStatus>;
142
- listIntros(status?: IntroStatus["status"]): Promise<IntroStatus[]>;
143
- listPendingIntros(): Promise<IntroStatus[]>;
144
- listIntroEvents(introId: string): Promise<IntroEvent[]>;
145
- respondToIntro(introId: string, decision: IntroDecision): Promise<SessionBootstrap | null>;
146
53
  rotateApiKey(): Promise<{
147
54
  agent_id: string;
148
55
  api_key: string;
149
56
  rotated_at: string;
150
57
  }>;
151
- rotateIntroSessionSecret(introId: string): Promise<SessionBootstrap>;
152
- resolveTransportSharedSecret(targetHint: string): Promise<TransportSharedSecret>;
153
- private getPeerAgentId;
154
- private getPeerEndpoint;
58
+ createProfile(profile: ProfileCreate): Promise<ProfileResponse>;
59
+ getMatches(options?: {
60
+ limit?: number;
61
+ }): Promise<MatchResult[]>;
62
+ submitApplication(jobId: string, snapshot: Record<string, unknown>, reasoning?: string): Promise<ApplicationResponse>;
63
+ getInbox(options?: {
64
+ unread_only?: boolean;
65
+ }): Promise<InboxMessage[]>;
66
+ respondToMessage(messageId: string, content: Record<string, unknown>, messageType?: string): Promise<void>;
67
+ createJob(job: JobCreate): Promise<JobResponse>;
68
+ getCandidates(options?: {
69
+ job_id?: string;
70
+ limit?: number;
71
+ }): Promise<CandidateMatch[]>;
72
+ messageCandidate(candidateAgentId: string, content: Record<string, unknown>, messageType?: string, applicationId?: string): Promise<void>;
73
+ getApplications(options?: {
74
+ job_id?: string;
75
+ status?: string;
76
+ }): Promise<ApplicationResponse[]>;
77
+ decideApplication(applicationId: string, decision: string, reason?: string): Promise<void>;
155
78
  private request;
156
79
  }
157
80
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/coffeeshop/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/coffeeshop/client.ts"],"names":[],"mappings":"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"}