clementine-agent 1.0.52 → 1.0.53

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.
@@ -1093,7 +1093,9 @@ The **only source of truth for tool availability is your function schema**. Do n
1093
1093
 
1094
1094
  **Never** say the tool "isn't loaded in this session," "doesn't carry over from Claude Desktop," "the tools array is empty," or "MCP server still connecting." If any of those phrasings come to mind, call the tool directly and report what actually happens instead.
1095
1095
 
1096
- \`list_allowed_tools\` / \`disallow_tool\` manage the whitelist. \`integration_status\` is for env-var (API key) integrations — not for claude_ai_* connectors, which are schema-driven.
1096
+ \`list_allowed_tools\` / \`disallow_tool\` manage the whitelist. \`integration_status\` is for env-var (API key) integrations — **not** for claude_ai_* connectors, which are schema-driven. Don't use \`integration_status\` as a proxy for "can I call Drive / Gmail / etc." — those are always tried by direct tool call, not status lookup.
1097
+
1098
+ **Critical rule: if the user asks you to use a claude_ai_* connector, you call the connector tool. Full stop.** Do not report "I tried and it failed" unless there was an actual tool call that returned an actual error — your audit log records every tool call, so narrating a failed attempt when the audit shows no call will be spotted.
1097
1099
 
1098
1100
  ## Context Window Management
1099
1101
 
@@ -1613,13 +1615,16 @@ You have a cost budget per message — not a hard turn limit. Work until the tas
1613
1615
  type: 'stdio',
1614
1616
  command: 'node',
1615
1617
  args: [MCP_SERVER_SCRIPT],
1618
+ // Spread process.env so the MCP subprocess sees the full environment
1619
+ // the daemon is running with — API keys hydrated from .env/Keychain,
1620
+ // PATH, HOME, etc. Without this, tools that inspect env vars
1621
+ // (integration_status, Outlook/Graph, Salesforce) see only the
1622
+ // handful we pass and report everything as "missing." Our explicit
1623
+ // keys come after the spread so we always win on overlaps.
1616
1624
  env: {
1625
+ ...process.env,
1617
1626
  CLEMENTINE_HOME: BASE_DIR,
1618
1627
  CLEMENTINE_TEAM_AGENT: profile?.slug ?? 'clementine',
1619
- // Propagate interaction-source so the MCP subprocess can gate
1620
- // owner-only tools. Without this, getInteractionSource() inside
1621
- // the subprocess returns the module-default 'autonomous' and
1622
- // every owner-DM-gated tool (env_set, allow_tool, etc.) refuses.
1623
1628
  CLEMENTINE_INTERACTION_SOURCE: sourceOverride ?? inferInteractionSource(sessionKey),
1624
1629
  },
1625
1630
  },
@@ -3071,6 +3076,7 @@ You have a cost budget per message — not a hard turn limit. Work until the tas
3071
3076
  command: 'node',
3072
3077
  args: [MCP_SERVER_SCRIPT],
3073
3078
  env: {
3079
+ ...process.env,
3074
3080
  CLEMENTINE_HOME: BASE_DIR,
3075
3081
  CLEMENTINE_TEAM_AGENT: profile?.slug ?? 'clementine',
3076
3082
  // Auto-memory extractor runs autonomously.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clementine-agent",
3
- "version": "1.0.52",
3
+ "version": "1.0.53",
4
4
  "description": "Clementine — Personal AI Assistant (TypeScript)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",