bluekiwi 0.3.10 → 0.3.13

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.
@@ -21060,10 +21060,11 @@ var server = new Server(
21060
21060
  var tools = [
21061
21061
  tool(
21062
21062
  "list_workflows",
21063
- "List workflows visible to the current user. By default only active versions are returned. Pass include_inactive=true to see archived versions. Pass folder_id to filter by a specific folder.",
21063
+ "List workflows visible to the current user. Returns slim metadata by default (id, title, description, version, node titles+types \u2014 no instruction content). Pass slim=false to include full node details including instruction text. Pass include_inactive=true to see archived versions. Pass folder_id to filter by folder.",
21064
21064
  {
21065
21065
  include_inactive: { type: "boolean" },
21066
- folder_id: { type: "number" }
21066
+ folder_id: { type: "number" },
21067
+ slim: { type: "boolean" }
21067
21068
  }
21068
21069
  ),
21069
21070
  tool(
@@ -21591,6 +21592,17 @@ Only populated fields are included.`,
21591
21592
  ["workflow_id", "new_owner_id"]
21592
21593
  ),
21593
21594
  tool("list_my_groups", "List user groups the current user belongs to."),
21595
+ tool(
21596
+ "submit_report",
21597
+ "Send a developer feedback report to the BlueKiwi developer (dante@dante-labs.com). Use this when the user has experienced a bug, unexpected behavior, or wants to suggest an improvement. PII (emails, phone numbers, API keys, file paths) is automatically stripped server-side before sending. type: 'bug' | 'feedback' | 'improvement' | 'other'. title: short summary (max 200 chars). message: the user's description of the issue or suggestion (max 10000 chars). context: optional sanitized session context such as workflow name, step number, error text (max 5000 chars).",
21598
+ {
21599
+ type: { type: "string" },
21600
+ title: { type: "string" },
21601
+ message: { type: "string" },
21602
+ context: { type: "string" }
21603
+ },
21604
+ ["type", "title", "message"]
21605
+ ),
21594
21606
  /*
21595
21607
  scan_repo is the single local-execution exception in an otherwise REST-thin MCP wrapper.
21596
21608
  The REST backend has no visibility into the agent's filesystem, so delegating static
@@ -21625,6 +21637,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
21625
21637
  if (args.include_inactive === true) qs.set("include_inactive", "true");
21626
21638
  if (typeof args.folder_id === "number")
21627
21639
  qs.set("folder_id", String(args.folder_id));
21640
+ if (args.slim === false) qs.set("slim", "false");
21628
21641
  const suffix = qs.toString() ? `?${qs.toString()}` : "";
21629
21642
  return wrap(await client.request("GET", `/api/workflows${suffix}`));
21630
21643
  }
@@ -22102,6 +22115,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
22102
22115
  return wrap(await client.request("GET", "/api/auth/me/groups"));
22103
22116
  case "scan_repo":
22104
22117
  return await scanRepoLocal(args);
22118
+ case "submit_report":
22119
+ return wrap(await client.request("POST", "/api/report", args));
22105
22120
  default:
22106
22121
  return wrapError(`Unknown tool: ${name}`);
22107
22122
  }
@@ -36,13 +36,13 @@ export class CodexAdapter {
36
36
  const existing = existsSync(MCP_CONFIG)
37
37
  ? readFileSync(MCP_CONFIG, "utf8")
38
38
  : "";
39
- const stripped = existing.replace(/\n?\[mcp_servers\.bluekiwi\][\s\S]*?(?=\n\[|$)/g, "");
39
+ const stripped = existing.replace(/\n?\[mcp_servers\.bluekiwi[\s\S]*?(?=\n\[(?!mcp_servers\.bluekiwi)|$)/g, "");
40
40
  writeFileSync(MCP_CONFIG, stripped + snippet);
41
41
  }
42
42
  uninstall() {
43
43
  if (existsSync(MCP_CONFIG)) {
44
44
  const existing = readFileSync(MCP_CONFIG, "utf8");
45
- writeFileSync(MCP_CONFIG, existing.replace(/\n?\[mcp_servers\.bluekiwi\][\s\S]*?(?=\n\[|$)/g, ""));
45
+ writeFileSync(MCP_CONFIG, existing.replace(/\n?\[mcp_servers\.bluekiwi[\s\S]*?(?=\n\[(?!mcp_servers\.bluekiwi)|$)/g, ""));
46
46
  }
47
47
  if (existsSync(SKILLS_DIR)) {
48
48
  for (const entry of readdirSync(SKILLS_DIR)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bluekiwi",
3
- "version": "0.3.10",
3
+ "version": "0.3.13",
4
4
  "description": "BlueKiwi CLI — install MCP client and skills into your agent runtime",
5
5
  "license": "MIT",
6
6
  "repository": {