clementine-agent 1.0.56 → 1.0.57

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.
@@ -426,6 +426,13 @@ export async function probeAvailableTools(force = false) {
426
426
  }
427
427
  try {
428
428
  const { query } = await import('@anthropic-ai/claude-agent-sdk');
429
+ // Pass the same mcpServers the real query uses so the probe sees
430
+ // every tool a real query would see — Desktop Extensions (iMessage,
431
+ // figma), user-managed stdio servers (hostinger, supabase, etc.),
432
+ // anything wired through mcp-bridge. Without this, init.tools only
433
+ // reflects Claude Code's global config — Extensions are invisible
434
+ // and the SDK schema-rejects calls to their tools at runtime.
435
+ const externalMcpServers = getMcpServersForAgent();
429
436
  const stream = query({
430
437
  prompt: 'ok',
431
438
  options: {
@@ -433,6 +440,7 @@ export async function probeAvailableTools(force = false) {
433
440
  model: 'claude-haiku-4-5',
434
441
  permissionMode: 'bypassPermissions',
435
442
  allowDangerouslySkipPermissions: true,
443
+ mcpServers: externalMcpServers,
436
444
  },
437
445
  });
438
446
  let tools = [];
package/dist/index.js CHANGED
@@ -550,7 +550,11 @@ async function asyncMain() {
550
550
  // without per-user hardcoding. Cached 1h. On fresh probe, log a short
551
551
  // summary so the owner can verify which connectors were detected
552
552
  // without having to ask the assistant.
553
- probeAvailableTools().then(inv => {
553
+ // force=true on startup: the 1h cache from a prior daemon version may
554
+ // have been taken with a stale probe config (e.g. before we started
555
+ // passing mcpServers to the probe). Re-probe fresh so Extensions and
556
+ // per-query MCP servers are discovered and whitelisted immediately.
557
+ probeAvailableTools(true).then(inv => {
554
558
  const integrations = new Set();
555
559
  for (const t of inv.tools) {
556
560
  const m = t.match(/^mcp__claude_ai_([^_]+(?:_[^_]+)*)__/);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clementine-agent",
3
- "version": "1.0.56",
3
+ "version": "1.0.57",
4
4
  "description": "Clementine — Personal AI Assistant (TypeScript)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",