byclaw-mcp 0.4.15 → 0.4.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +20 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -142,6 +142,11 @@ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
|
|
|
142
142
|
required: ['query'],
|
|
143
143
|
},
|
|
144
144
|
},
|
|
145
|
+
{
|
|
146
|
+
name: 'whoami',
|
|
147
|
+
description: TOOL_PREFIX + 'Return the active byclaw agent: its codename (e.g. #1949-H), personality (smartpicker / dealmaker / luxpicker / vibechecker / quickshooter), tagline, tone, and review style. Use when the user asks "which agent am I using", "what persona is searching for me", or "wer entscheidet hier". Cheap, no Anthropic call. Every shop / search_products / test_web_search response also surfaces this in the `agent` and `advisor_profile` fields.',
|
|
148
|
+
inputSchema: { type: 'object', properties: {} },
|
|
149
|
+
},
|
|
145
150
|
{
|
|
146
151
|
name: 'leave_review',
|
|
147
152
|
description: TOOL_PREFIX + 'Write a product review. Only call if the user explicitly asks to leave a review. Only de and en allowed.',
|
|
@@ -322,6 +327,7 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
322
327
|
return { content: [{ type: 'text', text: JSON.stringify({
|
|
323
328
|
_render_hint: RENDER_HINT,
|
|
324
329
|
type: 'gift_found',
|
|
330
|
+
agent: d.agent || null,
|
|
325
331
|
advisor: advisorLabel,
|
|
326
332
|
advisor_profile: d.advisor_profile || null,
|
|
327
333
|
message: d.message || null,
|
|
@@ -346,6 +352,7 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
346
352
|
if (d.status === 'clarification_needed') {
|
|
347
353
|
return { content: [{ type: 'text', text: JSON.stringify({
|
|
348
354
|
type: 'clarification_needed',
|
|
355
|
+
agent: d.agent || null,
|
|
349
356
|
advisor: advisorLabel,
|
|
350
357
|
advisor_profile: d.advisor_profile || null,
|
|
351
358
|
message: d.message || '',
|
|
@@ -359,6 +366,7 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
359
366
|
if (d.status === 'acknowledgement_legacy' || d.status === 'acknowledgement') {
|
|
360
367
|
return { content: [{ type: 'text', text: JSON.stringify({
|
|
361
368
|
type: d.status,
|
|
369
|
+
agent: d.agent || null,
|
|
362
370
|
advisor: advisorLabel,
|
|
363
371
|
advisor_profile: d.advisor_profile || null,
|
|
364
372
|
message: d.message || '',
|
|
@@ -376,6 +384,7 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
376
384
|
if (d.status === 'no_match') {
|
|
377
385
|
content.push({ type: 'text', text: JSON.stringify({
|
|
378
386
|
type: 'no_match',
|
|
387
|
+
agent: d.agent || null,
|
|
379
388
|
advisor: advisorLabel,
|
|
380
389
|
advisor_profile: d.advisor_profile || null,
|
|
381
390
|
message: d.message || '',
|
|
@@ -389,6 +398,7 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
389
398
|
content.push({ type: 'text', text: JSON.stringify({
|
|
390
399
|
_render_hint: RENDER_HINT,
|
|
391
400
|
type: d.status || 'product_found',
|
|
401
|
+
agent: d.agent || null,
|
|
392
402
|
advisor: advisorLabel,
|
|
393
403
|
advisor_profile: d.advisor_profile || null,
|
|
394
404
|
picked: hasPick ? {
|
|
@@ -458,6 +468,13 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
458
468
|
}
|
|
459
469
|
return { content: [{ type: 'text', text: JSON.stringify({ _render_hint: RENDER_HINT, ...result }, null, 2) }] };
|
|
460
470
|
}
|
|
471
|
+
case 'whoami': {
|
|
472
|
+
// Cheap lookup — backend `/api/agents/profile` resolves the agent
|
|
473
|
+
// from the API key and returns name + persona + style fields.
|
|
474
|
+
// No Anthropic call, no DB writes; ~50 ms typical.
|
|
475
|
+
const result = await apiCall('/api/agents/profile');
|
|
476
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
477
|
+
}
|
|
461
478
|
case 'leave_review': {
|
|
462
479
|
const lang = args?.language;
|
|
463
480
|
if (lang !== 'de' && lang !== 'en') {
|
|
@@ -517,6 +534,7 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
517
534
|
if (d.status === 'clarification_needed') {
|
|
518
535
|
return { content: [{ type: 'text', text: JSON.stringify({
|
|
519
536
|
type: 'clarification_needed',
|
|
537
|
+
agent: d.agent || null,
|
|
520
538
|
advisor: d.advisor_profile?.name || d.agent?.personality || null,
|
|
521
539
|
advisor_profile: d.advisor_profile || null,
|
|
522
540
|
message: d.message || null,
|
|
@@ -531,6 +549,7 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
531
549
|
return { content: [{ type: 'text', text: JSON.stringify({
|
|
532
550
|
_render_hint: RENDER_HINT,
|
|
533
551
|
type: 'gift_found',
|
|
552
|
+
agent: d.agent || null,
|
|
534
553
|
advisor: d.advisor_profile?.name || d.agent?.personality || null,
|
|
535
554
|
advisor_profile: d.advisor_profile || null,
|
|
536
555
|
message: d.message || null,
|
|
@@ -547,6 +566,7 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
547
566
|
return { content: [{ type: 'text', text: JSON.stringify({
|
|
548
567
|
_render_hint: RENDER_HINT,
|
|
549
568
|
type: d.status || 'no_match',
|
|
569
|
+
agent: d.agent || null,
|
|
550
570
|
advisor: d.advisor_profile?.name || d.agent?.personality || null,
|
|
551
571
|
advisor_profile: d.advisor_profile || null,
|
|
552
572
|
message: d.message || null,
|
package/package.json
CHANGED