@notis_ai/cli 0.2.21 → 0.2.23

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@notis_ai/cli",
3
- "version": "0.2.21",
3
+ "version": "0.2.23",
4
4
  "description": "Agent-first Notis CLI for Spaces, Skills and generic tool execution",
5
5
  "type": "module",
6
6
  "bin": {
@@ -52,8 +52,8 @@
52
52
  "react-dom": "19.3.0"
53
53
  },
54
54
  "notisRelease": {
55
- "sourceSha": "6526a8a6b20d3b26d2803c7e7b1b3798fcfd94ed",
55
+ "sourceSha": "d76a3b2e6492d186b01f337f94704dd41c5722cd",
56
56
  "channel": "stable"
57
57
  },
58
- "gitHead": "6526a8a6b20d3b26d2803c7e7b1b3798fcfd94ed"
58
+ "gitHead": "d76a3b2e6492d186b01f337f94704dd41c5722cd"
59
59
  }
@@ -26,6 +26,23 @@ import {
26
26
  validateArguments,
27
27
  } from './helpers.js';
28
28
 
29
+ // The backend's META_BRIDGE_TOOL_NAMES are router helpers, not batch targets.
30
+ const ROUTER_HELPERS = new Set([
31
+ COMPOSIO_SEARCH_TOOLS,
32
+ COMPOSIO_GET_TOOL_SCHEMAS,
33
+ COMPOSIO_MULTI_EXECUTE_TOOL,
34
+ 'COMPOSIO_MANAGE_CONNECTIONS',
35
+ 'COMPOSIO_WAIT_FOR_CONNECTIONS',
36
+ 'COMPOSIO_REMOTE_WORKBENCH',
37
+ 'COMPOSIO_REMOTE_BASH_TOOL',
38
+ ]);
39
+
40
+ function executionRequest(toolName, arguments_) {
41
+ return ROUTER_HELPERS.has(toolName)
42
+ ? { toolName, arguments_ }
43
+ : { toolName: COMPOSIO_MULTI_EXECUTE_TOOL, arguments_: { tools: [{ tool_slug: toolName, arguments: arguments_ }] } };
44
+ }
45
+
29
46
  export async function resolveJsonInput(value, label) {
30
47
  if (!value) return undefined;
31
48
 
@@ -464,10 +481,7 @@ async function toolsExecHandler(ctx) {
464
481
 
465
482
  const result = await runToolCommand({
466
483
  runtime: ctx.runtime,
467
- toolName: COMPOSIO_MULTI_EXECUTE_TOOL,
468
- arguments_: {
469
- tools: [{ tool_slug: requestedToolName, arguments: args }],
470
- },
484
+ ...executionRequest(requestedToolName, args),
471
485
  // The server is authoritative about provider/MCP effects. A tool name that
472
486
  // looks like a read is not proof of read-only behavior, so generic
473
487
  // executions always carry a key and use mutation-safe transport retries.
@@ -558,8 +572,7 @@ async function confirmAndApply(ctx, { requestedToolName, args, preview, result,
558
572
  ctx.output.emitProgress({ phase: 'execute', message: `Applying ${requestedToolName}` });
559
573
  const applied = await runToolCommand({
560
574
  runtime: ctx.runtime,
561
- toolName: COMPOSIO_MULTI_EXECUTE_TOOL,
562
- arguments_: { tools: [{ tool_slug: requestedToolName, arguments: decision.arguments }] },
575
+ ...executionRequest(requestedToolName, decision.arguments),
563
576
  mutating: true,
564
577
  idempotencyKey: confirmKey,
565
578
  fileBindings,
@@ -594,10 +607,7 @@ async function toolsExecParallelHandler(ctx) {
594
607
  calls.map((call) =>
595
608
  runToolCommand({
596
609
  runtime: ctx.runtime,
597
- toolName: COMPOSIO_MULTI_EXECUTE_TOOL,
598
- arguments_: {
599
- tools: [{ tool_slug: localNotisToolSlug(call.tool_name), arguments: call.arguments || {} }],
600
- },
610
+ ...executionRequest(localNotisToolSlug(call.tool_name), call.arguments || {}),
601
611
  mutating: true,
602
612
  idempotencyKey: nextIdempotencyKey(ctx.globalOptions),
603
613
  })