artemys 0.3.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 (121) hide show
  1. package/README.md +0 -15
  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 +137 -107
  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 +2 -2
  15. package/dist/coffeeshop/client.d.ts.map +1 -1
  16. package/dist/coffeeshop/client.js +3 -3
  17. package/dist/coffeeshop/client.js.map +1 -1
  18. package/dist/coffeeshop/schemas.d.ts.map +1 -1
  19. package/dist/coffeeshop/schemas.js +6 -5
  20. package/dist/coffeeshop/schemas.js.map +1 -1
  21. package/dist/discovery/agent-card.schema.d.ts +4 -2
  22. package/dist/discovery/agent-card.schema.d.ts.map +1 -1
  23. package/dist/discovery/agent-card.schema.js +10 -2
  24. package/dist/discovery/agent-card.schema.js.map +1 -1
  25. package/dist/discovery/index.d.ts +2 -1
  26. package/dist/discovery/index.d.ts.map +1 -1
  27. package/dist/discovery/index.js +2 -1
  28. package/dist/discovery/index.js.map +1 -1
  29. package/dist/discovery/reserved-handles.d.ts +2 -0
  30. package/dist/discovery/reserved-handles.d.ts.map +1 -0
  31. package/dist/discovery/reserved-handles.js +18 -0
  32. package/dist/discovery/reserved-handles.js.map +1 -0
  33. package/dist/integrations/job-boards/http.d.ts +4 -1
  34. package/dist/integrations/job-boards/http.d.ts.map +1 -1
  35. package/dist/integrations/job-boards/http.js +4 -3
  36. package/dist/integrations/job-boards/http.js.map +1 -1
  37. package/dist/integrations/job-boards/remotive.d.ts.map +1 -1
  38. package/dist/integrations/job-boards/remotive.js +6 -35
  39. package/dist/integrations/job-boards/remotive.js.map +1 -1
  40. package/dist/mcp-server/__tests__/test-fixtures.d.ts +39 -0
  41. package/dist/mcp-server/__tests__/test-fixtures.d.ts.map +1 -0
  42. package/dist/mcp-server/__tests__/test-fixtures.js +87 -0
  43. package/dist/mcp-server/__tests__/test-fixtures.js.map +1 -0
  44. package/dist/mcp-server/index.d.ts +1 -1
  45. package/dist/mcp-server/index.d.ts.map +1 -1
  46. package/dist/mcp-server/index.js +1 -1
  47. package/dist/mcp-server/index.js.map +1 -1
  48. package/dist/mcp-server/persistence.d.ts +0 -4
  49. package/dist/mcp-server/persistence.d.ts.map +1 -1
  50. package/dist/mcp-server/persistence.js +25 -30
  51. package/dist/mcp-server/persistence.js.map +1 -1
  52. package/dist/mcp-server/server.d.ts +2 -0
  53. package/dist/mcp-server/server.d.ts.map +1 -1
  54. package/dist/mcp-server/server.js +15 -3
  55. package/dist/mcp-server/server.js.map +1 -1
  56. package/dist/mcp-server/state.d.ts +0 -1
  57. package/dist/mcp-server/state.d.ts.map +1 -1
  58. package/dist/mcp-server/state.js +0 -4
  59. package/dist/mcp-server/state.js.map +1 -1
  60. package/dist/mcp-server/tools/common.d.ts +1 -219
  61. package/dist/mcp-server/tools/common.d.ts.map +1 -1
  62. package/dist/mcp-server/tools/common.js +1 -3
  63. package/dist/mcp-server/tools/common.js.map +1 -1
  64. package/dist/mcp-server/tools/messaging.d.ts +11 -0
  65. package/dist/mcp-server/tools/messaging.d.ts.map +1 -1
  66. package/dist/mcp-server/tools/messaging.js +14 -4
  67. package/dist/mcp-server/tools/messaging.js.map +1 -1
  68. package/dist/mcp-server/tools/protocol.js.map +1 -1
  69. package/dist/mcp-server/tools/talent.d.ts +18 -0
  70. package/dist/mcp-server/tools/talent.d.ts.map +1 -1
  71. package/dist/mcp-server/tools/talent.js +55 -41
  72. package/dist/mcp-server/tools/talent.js.map +1 -1
  73. package/dist/protocol/envelope.schema.d.ts +1 -1
  74. package/dist/protocol/envelope.schema.d.ts.map +1 -1
  75. package/dist/protocol/envelope.schema.js +2 -1
  76. package/dist/protocol/envelope.schema.js.map +1 -1
  77. package/dist/protocol/index.d.ts +1 -2
  78. package/dist/protocol/index.d.ts.map +1 -1
  79. package/dist/protocol/index.js +1 -2
  80. package/dist/protocol/index.js.map +1 -1
  81. package/dist/protocol/talent.schema.d.ts +115 -0
  82. package/dist/protocol/talent.schema.d.ts.map +1 -1
  83. package/dist/protocol/talent.schema.js +61 -3
  84. package/dist/protocol/talent.schema.js.map +1 -1
  85. package/dist/resume/index.d.ts +4 -0
  86. package/dist/resume/index.d.ts.map +1 -0
  87. package/dist/resume/index.js +4 -0
  88. package/dist/resume/index.js.map +1 -0
  89. package/dist/resume/parse-resume.d.ts +8 -0
  90. package/dist/resume/parse-resume.d.ts.map +1 -0
  91. package/dist/resume/parse-resume.js +117 -0
  92. package/dist/resume/parse-resume.js.map +1 -0
  93. package/dist/resume/providers/anthropic.d.ts +2 -0
  94. package/dist/resume/providers/anthropic.d.ts.map +1 -0
  95. package/dist/resume/providers/anthropic.js +26 -0
  96. package/dist/resume/providers/anthropic.js.map +1 -0
  97. package/dist/resume/providers/google.d.ts +2 -0
  98. package/dist/resume/providers/google.d.ts.map +1 -0
  99. package/dist/resume/providers/google.js +24 -0
  100. package/dist/resume/providers/google.js.map +1 -0
  101. package/dist/resume/providers/openai.d.ts +2 -0
  102. package/dist/resume/providers/openai.d.ts.map +1 -0
  103. package/dist/resume/providers/openai.js +25 -0
  104. package/dist/resume/providers/openai.js.map +1 -0
  105. package/dist/resume/to-card.d.ts +7 -0
  106. package/dist/resume/to-card.d.ts.map +1 -0
  107. package/dist/resume/to-card.js +63 -0
  108. package/dist/resume/to-card.js.map +1 -0
  109. package/package.json +6 -1
  110. package/dist/discovery/intro-decision.schema.d.ts +0 -17
  111. package/dist/discovery/intro-decision.schema.d.ts.map +0 -1
  112. package/dist/discovery/intro-decision.schema.js +0 -11
  113. package/dist/discovery/intro-decision.schema.js.map +0 -1
  114. package/dist/discovery/intro-request.schema.d.ts +0 -11
  115. package/dist/discovery/intro-request.schema.d.ts.map +0 -1
  116. package/dist/discovery/intro-request.schema.js +0 -12
  117. package/dist/discovery/intro-request.schema.js.map +0 -1
  118. package/dist/protocol/transport.schema.d.ts +0 -27
  119. package/dist/protocol/transport.schema.d.ts.map +0 -1
  120. package/dist/protocol/transport.schema.js +0 -18
  121. package/dist/protocol/transport.schema.js.map +0 -1
@@ -22,224 +22,6 @@ export interface McpToolDeps {
22
22
  profileStore?: ProfileStore;
23
23
  agentCard: AgentCard;
24
24
  }
25
- export declare const JsonMessageSchema: z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodTransform<{
26
- timestamp: string;
27
- message_id: string;
28
- conversation_id: string;
29
- sender_agent_id: string;
30
- type: "artemys.handshake.initiate";
31
- protocol_version: "0.2.1";
32
- agent: {
33
- id: string;
34
- role: "sourcer" | "candidate_representative";
35
- representing: {
36
- type: "employer" | "individual";
37
- verified: boolean;
38
- name?: string | undefined;
39
- identity?: string | undefined;
40
- };
41
- };
42
- intent: {
43
- type: "role_inquiry" | "project_inquiry" | "advisory_inquiry" | "collaboration_inquiry";
44
- signal: {
45
- domain: string;
46
- seniority: "intern" | "junior" | "mid" | "senior" | "staff" | "principal" | "executive";
47
- location_flexibility: "remote_only" | "remote_ok" | "hybrid" | "onsite_required";
48
- urgency?: string | undefined;
49
- application_intent?: unknown;
50
- };
51
- };
52
- metadata?: Record<string, unknown> | undefined;
53
- identity_verification?: {
54
- method: string;
55
- proof: string;
56
- trust_score: number;
57
- score_source: string;
58
- verifications: {
59
- type: "email" | "phone" | "github" | "linkedin";
60
- verified: boolean;
61
- account_age_days?: number | undefined;
62
- connections?: number | undefined;
63
- }[];
64
- } | undefined;
65
- } | {
66
- timestamp: string;
67
- message_id: string;
68
- conversation_id: string;
69
- sender_agent_id: string;
70
- type: "artemys.handshake.respond";
71
- protocol_version: "0.2.1";
72
- agent: {
73
- id: string;
74
- role: "sourcer" | "candidate_representative";
75
- representing: {
76
- type: "employer" | "individual";
77
- verified: boolean;
78
- name?: string | undefined;
79
- identity?: string | undefined;
80
- };
81
- };
82
- availability: "active" | "passive" | "not_looking";
83
- consent_profile: {
84
- shareable: string[];
85
- has_gated_fields: boolean;
86
- };
87
- interest_signal: "decline" | "interested" | "conditional";
88
- metadata?: Record<string, unknown> | undefined;
89
- identity_verification?: {
90
- method: string;
91
- proof: string;
92
- trust_score: number;
93
- score_source: string;
94
- verifications: {
95
- type: "email" | "phone" | "github" | "linkedin";
96
- verified: boolean;
97
- account_age_days?: number | undefined;
98
- connections?: number | undefined;
99
- }[];
100
- } | undefined;
101
- dialogue_limits?: {
102
- max_queries?: number | undefined;
103
- min_interval_seconds?: number | undefined;
104
- } | undefined;
105
- } | {
106
- timestamp: string;
107
- message_id: string;
108
- conversation_id: string;
109
- sender_agent_id: string;
110
- type: "artemys.dialogue.capability_query";
111
- protocol_version: "0.2.1";
112
- query: string;
113
- context: string;
114
- evidence_requested: boolean;
115
- metadata?: Record<string, unknown> | undefined;
116
- } | {
117
- timestamp: string;
118
- message_id: string;
119
- conversation_id: string;
120
- sender_agent_id: string;
121
- type: "artemys.dialogue.capability_response";
122
- protocol_version: "0.2.1";
123
- response: string;
124
- confidence: number;
125
- metadata?: Record<string, unknown> | undefined;
126
- evidence?: {
127
- type: string;
128
- approved_for_sharing: boolean;
129
- artifact_url?: string | undefined;
130
- } | undefined;
131
- } | {
132
- timestamp: string;
133
- message_id: string;
134
- conversation_id: string;
135
- sender_agent_id: string;
136
- type: "artemys.dialogue.opportunity_detail";
137
- protocol_version: "0.2.1";
138
- details: Record<string, unknown>;
139
- gated_details: string[];
140
- metadata?: Record<string, unknown> | undefined;
141
- } | {
142
- timestamp: string;
143
- message_id: string;
144
- conversation_id: string;
145
- sender_agent_id: string;
146
- type: "artemys.dialogue.preference_check";
147
- protocol_version: "0.2.1";
148
- dimension: string;
149
- query: string;
150
- metadata?: Record<string, unknown> | undefined;
151
- } | {
152
- timestamp: string;
153
- message_id: string;
154
- conversation_id: string;
155
- sender_agent_id: string;
156
- type: "artemys.dialogue.preference_response";
157
- protocol_version: "0.2.1";
158
- dimensions_checked: string[];
159
- preference_values: Record<string, unknown>;
160
- confidence: number;
161
- metadata?: Record<string, unknown> | undefined;
162
- } | {
163
- timestamp: string;
164
- message_id: string;
165
- conversation_id: string;
166
- sender_agent_id: string;
167
- type: "artemys.dialogue.gate_unlock_request";
168
- protocol_version: "0.2.1";
169
- field: string;
170
- reason: string;
171
- metadata?: Record<string, unknown> | undefined;
172
- } | {
173
- timestamp: string;
174
- message_id: string;
175
- conversation_id: string;
176
- sender_agent_id: string;
177
- type: "artemys.dialogue.gate_unlock_response";
178
- protocol_version: "0.2.1";
179
- field: string;
180
- status: "unlocked" | "denied" | "pending_human_approval";
181
- metadata?: Record<string, unknown> | undefined;
182
- value?: unknown;
183
- } | {
184
- timestamp: string;
185
- message_id: string;
186
- conversation_id: string;
187
- sender_agent_id: string;
188
- type: "artemys.resolution.mutual_interest";
189
- protocol_version: "0.2.1";
190
- candidate_brief: {
191
- opportunity_summary: string;
192
- why_candidate_agent_recommends: string;
193
- key_details: Record<string, unknown>;
194
- open_questions: string[];
195
- suggested_action: string;
196
- };
197
- recruiter_brief: {
198
- candidate_summary: string;
199
- fit_assessment: {
200
- technical: number;
201
- culture: number;
202
- motivation: number;
203
- };
204
- highlights: string;
205
- evidence_shared: string[];
206
- suggested_action: string;
207
- };
208
- metadata?: Record<string, unknown> | undefined;
209
- } | {
210
- timestamp: string;
211
- message_id: string;
212
- conversation_id: string;
213
- sender_agent_id: string;
214
- type: "artemys.resolution.candidate_decline";
215
- protocol_version: "0.2.1";
216
- reason_shared: boolean;
217
- future_interest: boolean;
218
- metadata?: Record<string, unknown> | undefined;
219
- reason?: string | undefined;
220
- } | {
221
- timestamp: string;
222
- message_id: string;
223
- conversation_id: string;
224
- sender_agent_id: string;
225
- type: "artemys.resolution.talent_pass";
226
- protocol_version: "0.2.1";
227
- reason_shared: boolean;
228
- future_interest: boolean;
229
- metadata?: Record<string, unknown> | undefined;
230
- reason?: string | undefined;
231
- future_roles?: string[] | undefined;
232
- } | {
233
- timestamp: string;
234
- message_id: string;
235
- conversation_id: string;
236
- sender_agent_id: string;
237
- type: "artemys.resolution.deferred";
238
- protocol_version: "0.2.1";
239
- reason: string;
240
- re_engage_after: string;
241
- keep_context: boolean;
242
- metadata?: Record<string, unknown> | undefined;
243
- }, Record<string, unknown>>>;
25
+ export declare const JsonMessageSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
244
26
  export declare function toToolResponse(data: unknown): ToolResponse;
245
27
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAEjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEpE,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC5C,CAAA;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,CACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAA;KAC3C,EACD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,KAC/E,OAAO,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,OAAO,EAAE,mBAAmB,CAAA;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,SAAS,EAAE,SAAS,CAAA;CACrB;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAE8B,CAAA;AAE5D,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAK1D"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEpE,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC5C,CAAA;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,CACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAA;KAC3C,EACD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,KAC/E,OAAO,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,OAAO,EAAE,mBAAmB,CAAA;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,SAAS,EAAE,SAAS,CAAA;CACrB;AAED,eAAO,MAAM,iBAAiB,wCAAoC,CAAA;AAElE,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAK1D"}
@@ -1,7 +1,5 @@
1
1
  import { z } from "zod";
2
- export const JsonMessageSchema = z
3
- .record(z.string(), z.unknown())
4
- .transform((value) => value);
2
+ export const JsonMessageSchema = z.record(z.string(), z.unknown());
5
3
  export function toToolResponse(data) {
6
4
  return {
7
5
  content: [{ type: "text", text: JSON.stringify(data, null, 2) }],
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA8BvB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;KAC/B,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAmC,CAAC,CAAA;AAE5D,MAAM,UAAU,cAAc,CAAC,IAAa;IAC1C,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAChE,iBAAiB,EAAE,EAAE,IAAI,EAAE;KAC5B,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA6BvB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAElE,MAAM,UAAU,cAAc,CAAC,IAAa;IAC1C,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAChE,iBAAiB,EAAE,EAAE,IAAI,EAAE;KAC5B,CAAA;AACH,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;AAG1D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAkClF"}
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 messages = await deps.coffeeShopClient.getInbox({ unread_only: unreadOnly });
12
- return toToolResponse({ total: messages.length, messages });
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.respondToMessage(messageId, content, messageType);
26
- return toToolResponse({ sent: true, message_id: messageId });
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;AAEvB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,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,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAA;QAClF,OAAO,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC7D,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,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;QAC7E,OAAO,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAA;IAC9D,CAAC,CACF,CAAA;AACH,CAAC"}
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,OAAO,CAAC,CAAA;QACrD,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"}
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"}
@@ -1,3 +1,21 @@
1
+ import { type CandidateSnapshot } from "../../protocol/index.js";
2
+ import type { CoffeeShopClient } from "../../coffeeshop/index.js";
1
3
  import type { McpToolDeps, ToolServer } from "./common.js";
4
+ export declare function searchOpportunities(client: CoffeeShopClient, limit?: number): Promise<{
5
+ total: number;
6
+ matches: unknown[];
7
+ }>;
8
+ export declare function expressInterest(client: CoffeeShopClient, jobId: string, snapshot: Record<string, unknown>, reasoning?: string): Promise<unknown>;
9
+ export declare function updateProfile(client: CoffeeShopClient, snapshot: CandidateSnapshot, options?: {
10
+ profileStore?: {
11
+ setProfile: (s: CandidateSnapshot) => void;
12
+ getProfile: () => CandidateSnapshot | null;
13
+ };
14
+ agentCard?: {
15
+ capabilities: string[];
16
+ display_name: string;
17
+ };
18
+ syncAgentCard?: boolean;
19
+ }): Promise<Record<string, unknown>>;
2
20
  export declare function registerTalentTools(server: ToolServer, deps: McpToolDeps): void;
3
21
  //# sourceMappingURL=talent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"talent.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/talent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAO1D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAyG/E"}
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,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAS1D,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,gBAAgB,EACxB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAGhD;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;AAID,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAsE/E"}
@@ -4,6 +4,52 @@ 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, limit) {
9
+ const matches = await client.getMatches({ limit });
10
+ return { total: matches.length, matches };
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
+ // --- MCP tool registration (thin adapters) ---
7
53
  export function registerTalentTools(server, deps) {
8
54
  server.registerTool("search_opportunities", {
9
55
  description: "Search for matching job opportunities via Coffee Shop hub",
@@ -12,11 +58,8 @@ export function registerTalentTools(server, deps) {
12
58
  },
13
59
  }, async (args) => {
14
60
  const limit = typeof args.limit === "number" ? args.limit : undefined;
15
- const matches = await deps.coffeeShopClient.getMatches({ limit });
16
- return toToolResponse({
17
- total: matches.length,
18
- matches,
19
- });
61
+ const result = await searchOpportunities(deps.coffeeShopClient, limit);
62
+ return toToolResponse(result);
20
63
  });
21
64
  server.registerTool("express_interest", {
22
65
  description: "Submit an application for a job posting via Coffee Shop hub",
@@ -31,7 +74,7 @@ export function registerTalentTools(server, deps) {
31
74
  const candidateSnapshot = CandidateSnapshotSchema.parse(storedProfile ?? {
32
75
  display_name: deps.agentCard.display_name,
33
76
  });
34
- const result = await deps.coffeeShopClient.submitApplication(jobId, candidateSnapshot, matchReasoning);
77
+ const result = await expressInterest(deps.coffeeShopClient, jobId, candidateSnapshot, matchReasoning);
35
78
  return toToolResponse(result);
36
79
  });
37
80
  server.registerTool("update_profile", {
@@ -44,41 +87,12 @@ export function registerTalentTools(server, deps) {
44
87
  const input = UpdateProfileInputSchema.parse(args);
45
88
  const { sync_agent_card = false, ...snapshotInput } = input;
46
89
  const snapshot = CandidateSnapshotSchema.parse(snapshotInput);
47
- if (deps.profileStore) {
48
- deps.profileStore.setProfile(snapshot);
49
- }
50
- const data = {
51
- stored: Boolean(deps.profileStore),
52
- profile: snapshot,
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);
90
+ const result = await updateProfile(deps.coffeeShopClient, snapshot, {
91
+ profileStore: deps.profileStore,
92
+ agentCard: deps.agentCard,
93
+ syncAgentCard: sync_agent_card,
94
+ });
95
+ return toToolResponse(result);
82
96
  });
83
97
  }
84
98
  //# sourceMappingURL=talent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"talent.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/talent.ts"],"names":[],"mappings":"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"}
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" | "conversation_id" | "sender_agent_id" | "timestamp" | "message_id" | "metadata") & keyof T extends never ? {
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;AAGxB,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
+ {"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: z.string().min(1).max(256),
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,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3C,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"}
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"}
@@ -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,GACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,QAAQ,GACd,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,4BAA4B,EAC5B,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,GAC5B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,8BAA8B,EAC9B,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,GAChC,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"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"}
@@ -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,GAKxB,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,kBAAkB,EAClB,wBAAwB,EACxB,4BAA4B,GAI7B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,8BAA8B,EAC9B,kBAAkB,GAGnB,MAAM,oBAAoB,CAAC"}
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"}