@blogic-cz/agent-tools 0.5.3 → 0.5.5

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": "@blogic-cz/agent-tools",
3
- "version": "0.5.3",
3
+ "version": "0.5.5",
4
4
  "description": "CLI tools for AI coding agent workflows — GitHub, database, Kubernetes, Azure DevOps, logs, sessions, and audit",
5
5
  "keywords": [
6
6
  "agent",
@@ -338,7 +338,10 @@ export function createCredentialGuard(config?: CredentialGuardConfig): Credentia
338
338
  }
339
339
 
340
340
  function handleToolExecuteBefore(input: HookInput, output: HookOutput): void {
341
- const tool = input.tool;
341
+ // Normalize tool name across platforms:
342
+ // - Claude Code passes capitalized: "Bash", "Read", "Write", "Edit"
343
+ // - OpenCode MCP tools pass prefixed: "mcp_bash", "mcp_read", "mcp_write", "mcp_edit"
344
+ const tool = input.tool.toLowerCase().replace(/^mcp_/, "");
342
345
  const args = output.args;
343
346
 
344
347
  const filePath = extractFilePath(args);
@@ -15,7 +15,7 @@ export const viewPR = Effect.fn("pr.viewPR")(function* (prNumber: number | null)
15
15
  if (prNumber !== null) {
16
16
  args.push(String(prNumber));
17
17
  }
18
- args.push("--json", "number,url,title,headRefName,baseRefName,state,isDraft");
18
+ args.push("--json", "number,url,title,headRefName,baseRefName,state,isDraft,mergeable");
19
19
 
20
20
  const info = yield* gh.runGhJson<PRInfo>(args);
21
21
  return info;
@@ -98,7 +98,7 @@ export const detectPRStatus = Effect.fn("pr.detectPRStatus")(function* () {
98
98
  "--head",
99
99
  branchName,
100
100
  "--json",
101
- "number,url,title,headRefName,baseRefName,state,isDraft",
101
+ "number,url,title,headRefName,baseRefName,state,isDraft,mergeable",
102
102
  "--limit",
103
103
  "1",
104
104
  ])
@@ -201,7 +201,7 @@ export const createPR = Effect.fn("pr.createPR")(function* (opts: {
201
201
  "--head",
202
202
  opts.head,
203
203
  "--json",
204
- "number,url,title,headRefName,baseRefName,state,isDraft",
204
+ "number,url,title,headRefName,baseRefName,state,isDraft,mergeable",
205
205
  "--limit",
206
206
  "1",
207
207
  ])
@@ -257,7 +257,7 @@ export const createPR = Effect.fn("pr.createPR")(function* (opts: {
257
257
  "--head",
258
258
  opts.head,
259
259
  "--json",
260
- "number,url,title,headRefName,baseRefName,state,isDraft",
260
+ "number,url,title,headRefName,baseRefName,state,isDraft,mergeable",
261
261
  "--limit",
262
262
  "1",
263
263
  ]);
@@ -23,7 +23,7 @@ export type PRViewJsonResult = {
23
23
  baseRefName: string;
24
24
  state: string;
25
25
  isDraft: boolean;
26
- mergeable: string;
26
+ mergeable: "MERGEABLE" | "CONFLICTING" | "UNKNOWN";
27
27
  };
28
28
 
29
29
  export const runLocalCommand = Effect.fn("pr.runLocalCommand")(function* (
@@ -10,6 +10,7 @@ export type PRInfo = {
10
10
  baseRefName: string;
11
11
  state: string;
12
12
  isDraft: boolean;
13
+ mergeable: "MERGEABLE" | "CONFLICTING" | "UNKNOWN";
13
14
  };
14
15
 
15
16
  export type ReviewThread = {