naiad-cli 0.2.34 → 0.2.36
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/dist/commands/exec.js +3 -0
- package/dist/commands/exec.js.map +1 -1
- package/dist/pi/launcher.js +1 -0
- package/dist/pi/launcher.js.map +1 -1
- package/dist/sync/session-upload.d.ts +1 -0
- package/dist/sync/session-upload.js +15 -2
- package/dist/sync/session-upload.js.map +1 -1
- package/extensions/naiad-extension.ts +375 -1
- package/package.json +1 -1
package/dist/commands/exec.js
CHANGED
|
@@ -70,6 +70,9 @@ export async function execCommand(config, prompt, opts = {}) {
|
|
|
70
70
|
if (process.env.NAIAD_SEER_MODEL) {
|
|
71
71
|
piEnv.NAIAD_SEER_MODEL = process.env.NAIAD_SEER_MODEL;
|
|
72
72
|
}
|
|
73
|
+
if (opts.source) {
|
|
74
|
+
piEnv.NAIAD_SOURCE = opts.source;
|
|
75
|
+
}
|
|
73
76
|
const pi = launchPi({
|
|
74
77
|
model: ctx.model,
|
|
75
78
|
models: ctx.allModels.map((m) => m.id),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/commands/exec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/commands/exec.ts"],"names":[],"mappings":"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"}
|
package/dist/pi/launcher.js
CHANGED
package/dist/pi/launcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/pi/launcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/pi/launcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export class SessionUploader {
|
|
|
7
7
|
sessionId;
|
|
8
8
|
sessionDir;
|
|
9
9
|
pollTimer = null;
|
|
10
|
+
finalized = false;
|
|
10
11
|
constructor(client, sessionId, sessionDir) {
|
|
11
12
|
this.client = client;
|
|
12
13
|
this.sessionId = sessionId;
|
|
@@ -23,6 +24,8 @@ export class SessionUploader {
|
|
|
23
24
|
await this.checkAndUpload();
|
|
24
25
|
}
|
|
25
26
|
async checkAndUpload() {
|
|
27
|
+
if (this.finalized)
|
|
28
|
+
return;
|
|
26
29
|
try {
|
|
27
30
|
const files = readdirSync(this.sessionDir).filter((f) => f.endsWith(".jsonl"));
|
|
28
31
|
for (const file of files) {
|
|
@@ -62,8 +65,18 @@ export class SessionUploader {
|
|
|
62
65
|
throw new Error(`Chunk upload failed: ${res.status}`);
|
|
63
66
|
}
|
|
64
67
|
}
|
|
65
|
-
// Finalize
|
|
66
|
-
|
|
68
|
+
// Finalize — treat 409 (chunk count mismatch from prior finalize) as already done
|
|
69
|
+
try {
|
|
70
|
+
await this.client.finalizeSession(this.sessionId, totalBytes, chunkCount, fileHash);
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
if (err.message?.includes("409")) {
|
|
74
|
+
this.finalized = true;
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
throw err;
|
|
78
|
+
}
|
|
79
|
+
this.finalized = true;
|
|
67
80
|
}
|
|
68
81
|
}
|
|
69
82
|
//# sourceMappingURL=session-upload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-upload.js","sourceRoot":"","sources":["../../src/sync/session-upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGpC,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,QAAQ;AAE5C,MAAM,OAAO,eAAe;IAClB,MAAM,CAAY;IAClB,SAAS,CAAS;IAClB,UAAU,CAAS;IACnB,SAAS,GAA0C,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"session-upload.js","sourceRoot":"","sources":["../../src/sync/session-upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -326,6 +326,13 @@ export default function (pi: ExtensionAPI) {
|
|
|
326
326
|
body.reasoning_effort = effort;
|
|
327
327
|
}
|
|
328
328
|
|
|
329
|
+
// Combine caller abort signal with a 5-minute timeout to prevent infinite hangs
|
|
330
|
+
const timeoutMs = 5 * 60 * 1000;
|
|
331
|
+
const timeoutSignal = AbortSignal.timeout(timeoutMs);
|
|
332
|
+
const combinedSignal = options?.signal
|
|
333
|
+
? AbortSignal.any([options.signal, timeoutSignal])
|
|
334
|
+
: timeoutSignal;
|
|
335
|
+
|
|
329
336
|
const res = await fetch(`${inferenceUrl}/v1/chat/completions`, {
|
|
330
337
|
method: "POST",
|
|
331
338
|
headers: {
|
|
@@ -335,7 +342,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
335
342
|
"X-Naiad-Session-Id": sessionId,
|
|
336
343
|
},
|
|
337
344
|
body: JSON.stringify(body),
|
|
338
|
-
signal:
|
|
345
|
+
signal: combinedSignal,
|
|
339
346
|
});
|
|
340
347
|
|
|
341
348
|
if (!res.ok) {
|
|
@@ -755,4 +762,371 @@ When you're done, provide a clear, actionable summary the caller can act on.`;
|
|
|
755
762
|
},
|
|
756
763
|
});
|
|
757
764
|
}
|
|
765
|
+
|
|
766
|
+
// --- GitHub Interaction Tools ---
|
|
767
|
+
if (threadId && inferenceUrl) {
|
|
768
|
+
const isGHA = process.env.GITHUB_ACTIONS === "true";
|
|
769
|
+
const apiBaseUrl = inferenceUrl.replace(/\/api\/v1\/inference$/, "");
|
|
770
|
+
|
|
771
|
+
async function callToolEndpoint(method: string, endpoint: string, body?: unknown): Promise<any> {
|
|
772
|
+
const url = `${apiBaseUrl}/api/v1/threads/${threadId}/github/${endpoint}`;
|
|
773
|
+
const res = await fetch(url, {
|
|
774
|
+
method,
|
|
775
|
+
headers: {
|
|
776
|
+
"Content-Type": "application/json",
|
|
777
|
+
Authorization: `Bearer ${apiKey}`,
|
|
778
|
+
},
|
|
779
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
780
|
+
});
|
|
781
|
+
const data = await res.json();
|
|
782
|
+
if (res.status === 409) {
|
|
783
|
+
return data;
|
|
784
|
+
}
|
|
785
|
+
if (!res.ok) {
|
|
786
|
+
throw new Error(`GitHub tool error: ${res.status} ${JSON.stringify(data)}`);
|
|
787
|
+
}
|
|
788
|
+
return data;
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
// Tool 1: github_context
|
|
792
|
+
pi.registerTool({
|
|
793
|
+
name: "github_context",
|
|
794
|
+
label: "GitHub Context",
|
|
795
|
+
description:
|
|
796
|
+
"Get the current GitHub working state — repo, branch, base branch, existing PR. Like `git status` + `gh pr view`.",
|
|
797
|
+
promptSnippet: "Check GitHub context: repo, branch, PR status.",
|
|
798
|
+
promptGuidelines: [
|
|
799
|
+
"Use github_context early to determine the repo, branch, base branch, and whether a PR already exists before deciding whether to push, open a PR, or leave a review.",
|
|
800
|
+
],
|
|
801
|
+
parameters: Type.Object({}),
|
|
802
|
+
async execute(toolCallId, params, signal, onUpdate, ctx) {
|
|
803
|
+
if (isGHA) {
|
|
804
|
+
const data = await callToolEndpoint("GET", "context");
|
|
805
|
+
return { content: [{ type: "text" as const, text: JSON.stringify(data, null, 2) }] };
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
// Local fallback: git + gh CLI
|
|
809
|
+
const branch = execFileSync("git", ["rev-parse", "--abbrev-ref", "HEAD"]).toString().trim();
|
|
810
|
+
const rawRemote = execFileSync("git", ["remote", "get-url", "origin"]).toString().trim();
|
|
811
|
+
// Normalize to owner/repo format
|
|
812
|
+
const remote = rawRemote
|
|
813
|
+
.replace(/^https?:\/\/github\.com\//, "")
|
|
814
|
+
.replace(/^git@github\.com:/, "")
|
|
815
|
+
.replace(/\.git$/, "");
|
|
816
|
+
const defaultBranch = (() => {
|
|
817
|
+
try {
|
|
818
|
+
return execFileSync("git", ["rev-parse", "--abbrev-ref", "origin/HEAD"]).toString().trim().replace("origin/", "");
|
|
819
|
+
} catch {
|
|
820
|
+
return "main";
|
|
821
|
+
}
|
|
822
|
+
})();
|
|
823
|
+
|
|
824
|
+
let pr: any = null;
|
|
825
|
+
try {
|
|
826
|
+
const prJson = execFileSync("gh", ["pr", "view", "--json", "number,url,title,state,headRefName,baseRefName"]).toString().trim();
|
|
827
|
+
pr = JSON.parse(prJson);
|
|
828
|
+
} catch {
|
|
829
|
+
// No PR exists
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
const result = {
|
|
833
|
+
repo: remote,
|
|
834
|
+
currentBranch: branch,
|
|
835
|
+
baseBranch: defaultBranch,
|
|
836
|
+
defaultBranch,
|
|
837
|
+
branchCreatedForAgent: false,
|
|
838
|
+
existingPr: pr ?? undefined,
|
|
839
|
+
};
|
|
840
|
+
return { content: [{ type: "text" as const, text: JSON.stringify(result, null, 2) }] };
|
|
841
|
+
},
|
|
842
|
+
});
|
|
843
|
+
|
|
844
|
+
// Tool 2: github_commit_and_push
|
|
845
|
+
pi.registerTool({
|
|
846
|
+
name: "github_commit_and_push",
|
|
847
|
+
label: "GitHub Commit & Push",
|
|
848
|
+
description:
|
|
849
|
+
"Stage changes, commit, and push to the current branch. Like `git add -A && git commit && git push`.",
|
|
850
|
+
promptSnippet: "Commit and push changes to the current branch.",
|
|
851
|
+
promptGuidelines: [
|
|
852
|
+
"Use github_commit_and_push to push your changes after editing files.",
|
|
853
|
+
"Write clear, descriptive commit messages.",
|
|
854
|
+
"If there are no changes, the tool returns { pushed: false, reason: 'no_changes' } — this is not an error.",
|
|
855
|
+
"If the tool returns a typed error (fork_pr, branch_protected, policy_denied), switch to review/comment mode instead of retrying.",
|
|
856
|
+
"If the tool returns sha_mismatch, tell the user to mention you again to retry with current code.",
|
|
857
|
+
],
|
|
858
|
+
parameters: Type.Object({
|
|
859
|
+
message: Type.String({ description: "Commit message" }),
|
|
860
|
+
files: Type.Optional(
|
|
861
|
+
Type.Array(Type.String(), {
|
|
862
|
+
description: "Specific files to stage. Defaults to all changes (git add -A) when omitted.",
|
|
863
|
+
}),
|
|
864
|
+
),
|
|
865
|
+
}),
|
|
866
|
+
async execute(toolCallId, params, signal, onUpdate, ctx) {
|
|
867
|
+
// Stage files
|
|
868
|
+
if (params.files && params.files.length > 0) {
|
|
869
|
+
execFileSync("git", ["add", ...params.files]);
|
|
870
|
+
} else {
|
|
871
|
+
execFileSync("git", ["add", "-A"]);
|
|
872
|
+
}
|
|
873
|
+
|
|
874
|
+
// Check if there are changes to commit
|
|
875
|
+
try {
|
|
876
|
+
execFileSync("git", ["diff", "--cached", "--quiet"]);
|
|
877
|
+
// exit 0 means no changes
|
|
878
|
+
return { content: [{ type: "text" as const, text: JSON.stringify({ pushed: false, reason: "no_changes" }) }] };
|
|
879
|
+
} catch {
|
|
880
|
+
// exit non-zero means there are staged changes — continue
|
|
881
|
+
}
|
|
882
|
+
|
|
883
|
+
// Set git identity and commit
|
|
884
|
+
execFileSync("git", ["config", "user.name", "naiad-bot"]);
|
|
885
|
+
execFileSync("git", ["config", "user.email", "bot@naiad.dev"]);
|
|
886
|
+
execFileSync("git", ["commit", "-m", params.message]);
|
|
887
|
+
|
|
888
|
+
const headSha = execFileSync("git", ["rev-parse", "HEAD"]).toString().trim();
|
|
889
|
+
|
|
890
|
+
if (isGHA) {
|
|
891
|
+
// Step 1: Preflight — validate push safety and get expectedRef WITHOUT minting a push token
|
|
892
|
+
const preflight = await callToolEndpoint("POST", "push-preflight", {
|
|
893
|
+
message: params.message,
|
|
894
|
+
commit_sha: headSha,
|
|
895
|
+
});
|
|
896
|
+
|
|
897
|
+
if (preflight.error) {
|
|
898
|
+
return { content: [{ type: "text" as const, text: JSON.stringify(preflight) }] };
|
|
899
|
+
}
|
|
900
|
+
|
|
901
|
+
const { expectedRef, branch: preflightBranch } = preflight;
|
|
902
|
+
|
|
903
|
+
// Step 2: Check for merge commits (pre-push safety) using server-provided expectedRef
|
|
904
|
+
const merges = execFileSync("git", ["rev-list", "--merges", `${expectedRef}..HEAD`]).toString().trim();
|
|
905
|
+
if (merges) {
|
|
906
|
+
return {
|
|
907
|
+
content: [{ type: "text" as const, text: JSON.stringify({ error: "policy_denied", message: "Merge commits are not allowed", retryable: false }) }],
|
|
908
|
+
};
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
// Step 3: Mint push token — only after merge check passes
|
|
912
|
+
const pushData = await callToolEndpoint("POST", "commit-and-push", {
|
|
913
|
+
message: params.message,
|
|
914
|
+
commit_sha: headSha,
|
|
915
|
+
});
|
|
916
|
+
|
|
917
|
+
if (pushData.error) {
|
|
918
|
+
return { content: [{ type: "text" as const, text: JSON.stringify(pushData) }] };
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
const { pushToken, pushUrl, branch } = pushData;
|
|
922
|
+
|
|
923
|
+
// Validate pushUrl matches the expected repo (not just any GitHub URL)
|
|
924
|
+
const rawRemote = execFileSync("git", ["remote", "get-url", "origin"]).toString().trim();
|
|
925
|
+
const expectedRepo = rawRemote
|
|
926
|
+
.replace(/^https?:\/\/github\.com\//, "")
|
|
927
|
+
.replace(/^git@github\.com:/, "")
|
|
928
|
+
.replace(/\.git$/, "");
|
|
929
|
+
const expectedPushUrl = `https://github.com/${expectedRepo}.git`;
|
|
930
|
+
if (!pushUrl || pushUrl !== expectedPushUrl) {
|
|
931
|
+
return {
|
|
932
|
+
content: [{ type: "text" as const, text: JSON.stringify({ error: "policy_denied", message: "Push URL does not match expected repository", retryable: false }) }],
|
|
933
|
+
};
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
const basicAuth = Buffer.from(`x-access-token:${pushToken}`).toString("base64");
|
|
937
|
+
|
|
938
|
+
// Clean-room push
|
|
939
|
+
execFileSync(
|
|
940
|
+
"git",
|
|
941
|
+
[
|
|
942
|
+
"-c", "core.hooksPath=/dev/null",
|
|
943
|
+
"-c", "credential.helper=",
|
|
944
|
+
"-c", "include.path=",
|
|
945
|
+
`-c`, `http.extraheader=Authorization: Basic ${basicAuth}`,
|
|
946
|
+
"push", pushUrl, `HEAD:refs/heads/${branch}`, "--no-force",
|
|
947
|
+
],
|
|
948
|
+
{
|
|
949
|
+
env: {
|
|
950
|
+
PATH: process.env.PATH,
|
|
951
|
+
HOME: process.env.HOME,
|
|
952
|
+
GIT_CONFIG_NOSYSTEM: "1",
|
|
953
|
+
GIT_CONFIG_GLOBAL: "/dev/null",
|
|
954
|
+
GIT_CONFIG: "/dev/null",
|
|
955
|
+
GIT_TERMINAL_PROMPT: "0",
|
|
956
|
+
},
|
|
957
|
+
},
|
|
958
|
+
);
|
|
959
|
+
|
|
960
|
+
// Post-push verification (defense-in-depth: server checks for merge commits)
|
|
961
|
+
const verifyResult = await callToolEndpoint("POST", "post-push-verify", {
|
|
962
|
+
commit_sha: headSha,
|
|
963
|
+
expected_ref: expectedRef,
|
|
964
|
+
branch,
|
|
965
|
+
});
|
|
966
|
+
if (verifyResult.error) {
|
|
967
|
+
return { content: [{ type: "text" as const, text: JSON.stringify(verifyResult) }] };
|
|
968
|
+
}
|
|
969
|
+
|
|
970
|
+
return { content: [{ type: "text" as const, text: JSON.stringify({ pushed: true, headSha, branch }) }] };
|
|
971
|
+
}
|
|
972
|
+
|
|
973
|
+
// Local fallback: just push
|
|
974
|
+
execFileSync("git", ["push"]);
|
|
975
|
+
const branch = execFileSync("git", ["rev-parse", "--abbrev-ref", "HEAD"]).toString().trim();
|
|
976
|
+
return { content: [{ type: "text" as const, text: JSON.stringify({ pushed: true, headSha, branch }) }] };
|
|
977
|
+
},
|
|
978
|
+
});
|
|
979
|
+
|
|
980
|
+
// Tool 3: github_pr_upsert
|
|
981
|
+
pi.registerTool({
|
|
982
|
+
name: "github_pr_upsert",
|
|
983
|
+
label: "GitHub PR Create/Update",
|
|
984
|
+
description:
|
|
985
|
+
"Create or update a pull request for the current branch.",
|
|
986
|
+
promptSnippet: "Create or update a PR for the current branch.",
|
|
987
|
+
promptGuidelines: [
|
|
988
|
+
"Open a PR when triggered from an issue and you've made code changes (the natural issue → branch → PR flow).",
|
|
989
|
+
"Do NOT open a PR when you only answered a question, left a review, or asked for clarification.",
|
|
990
|
+
"Do NOT open a new PR when you pushed follow-up commits to an existing PR branch — the PR already exists.",
|
|
991
|
+
],
|
|
992
|
+
parameters: Type.Object({
|
|
993
|
+
title: Type.String({ description: "PR title" }),
|
|
994
|
+
body: Type.String({ description: "PR body (markdown)" }),
|
|
995
|
+
draft: Type.Optional(Type.Boolean({ description: "Create as draft PR. Defaults to false." })),
|
|
996
|
+
}),
|
|
997
|
+
async execute(toolCallId, params, signal, onUpdate, ctx) {
|
|
998
|
+
if (isGHA) {
|
|
999
|
+
const data = await callToolEndpoint("POST", "pr", {
|
|
1000
|
+
title: params.title,
|
|
1001
|
+
body: params.body,
|
|
1002
|
+
draft: params.draft,
|
|
1003
|
+
});
|
|
1004
|
+
return { content: [{ type: "text" as const, text: JSON.stringify(data, null, 2) }] };
|
|
1005
|
+
}
|
|
1006
|
+
|
|
1007
|
+
// Local fallback: gh CLI
|
|
1008
|
+
try {
|
|
1009
|
+
// Try to update existing PR first
|
|
1010
|
+
execFileSync("gh", ["pr", "edit", "--title", params.title, "--body", params.body]);
|
|
1011
|
+
const prJson = execFileSync("gh", ["pr", "view", "--json", "number,url"]).toString().trim();
|
|
1012
|
+
const pr = JSON.parse(prJson);
|
|
1013
|
+
return { content: [{ type: "text" as const, text: JSON.stringify({ prNumber: pr.number, prUrl: pr.url, created: false }) }] };
|
|
1014
|
+
} catch {
|
|
1015
|
+
// No existing PR — create one
|
|
1016
|
+
const createArgs = ["pr", "create", "--title", params.title, "--body", params.body];
|
|
1017
|
+
if (params.draft) createArgs.push("--draft");
|
|
1018
|
+
const prUrl = execFileSync("gh", createArgs).toString().trim();
|
|
1019
|
+
// Fetch PR number from the newly created PR
|
|
1020
|
+
let prNumber: number | undefined;
|
|
1021
|
+
try {
|
|
1022
|
+
const newPrJson = execFileSync("gh", ["pr", "view", "--json", "number"]).toString().trim();
|
|
1023
|
+
prNumber = JSON.parse(newPrJson).number;
|
|
1024
|
+
} catch {}
|
|
1025
|
+
return { content: [{ type: "text" as const, text: JSON.stringify({ prNumber, prUrl, created: true }) }] };
|
|
1026
|
+
}
|
|
1027
|
+
},
|
|
1028
|
+
});
|
|
1029
|
+
|
|
1030
|
+
// Tool 4: github_comment
|
|
1031
|
+
pi.registerTool({
|
|
1032
|
+
name: "github_comment",
|
|
1033
|
+
label: "GitHub Comment",
|
|
1034
|
+
description:
|
|
1035
|
+
"Post a comment on an issue, PR, or PR review thread.",
|
|
1036
|
+
promptSnippet: "Post a comment on an issue or PR.",
|
|
1037
|
+
promptGuidelines: [
|
|
1038
|
+
"On PR surfaces, if the mentioner is not the PR author/contributor and the request is ambiguous, default to review/comments rather than pushing code.",
|
|
1039
|
+
"When asking for clarification or reporting failure, tell the user: 'Reply in a new comment starting with @naiad-bot to continue.'",
|
|
1040
|
+
],
|
|
1041
|
+
parameters: Type.Object({
|
|
1042
|
+
body: Type.String({ description: "Comment body (markdown)" }),
|
|
1043
|
+
target: Type.Union([
|
|
1044
|
+
Type.Literal("issue"),
|
|
1045
|
+
Type.Literal("pr"),
|
|
1046
|
+
Type.Literal("pr_review_thread"),
|
|
1047
|
+
], { description: 'Where to post: "issue", "pr", or "pr_review_thread"' }),
|
|
1048
|
+
reviewCommentId: Type.Optional(
|
|
1049
|
+
Type.Integer({ description: "Review comment ID (required when target is pr_review_thread)" }),
|
|
1050
|
+
),
|
|
1051
|
+
}),
|
|
1052
|
+
async execute(toolCallId, params, signal, onUpdate, ctx) {
|
|
1053
|
+
if (isGHA) {
|
|
1054
|
+
const data = await callToolEndpoint("POST", "comment", {
|
|
1055
|
+
body: params.body,
|
|
1056
|
+
target: params.target,
|
|
1057
|
+
reviewCommentId: params.reviewCommentId,
|
|
1058
|
+
});
|
|
1059
|
+
return { content: [{ type: "text" as const, text: JSON.stringify(data, null, 2) }] };
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
// Local fallback: gh CLI
|
|
1063
|
+
if (params.target === "pr_review_thread") {
|
|
1064
|
+
throw new Error("pr_review_thread target is not supported in local CLI mode — use GHA or reply manually");
|
|
1065
|
+
}
|
|
1066
|
+
if (params.target === "issue") {
|
|
1067
|
+
execFileSync("gh", ["issue", "comment", "--body", params.body]);
|
|
1068
|
+
} else {
|
|
1069
|
+
execFileSync("gh", ["pr", "comment", "--body", params.body]);
|
|
1070
|
+
}
|
|
1071
|
+
return { content: [{ type: "text" as const, text: JSON.stringify({ commentUrl: "comment posted locally" }) }] };
|
|
1072
|
+
},
|
|
1073
|
+
});
|
|
1074
|
+
|
|
1075
|
+
// Tool 5: github_review
|
|
1076
|
+
pi.registerTool({
|
|
1077
|
+
name: "github_review",
|
|
1078
|
+
label: "GitHub Review",
|
|
1079
|
+
description:
|
|
1080
|
+
"Submit a review on the current PR with optional inline comments.",
|
|
1081
|
+
promptSnippet: "Submit a review on the current PR.",
|
|
1082
|
+
promptGuidelines: [
|
|
1083
|
+
"Never approve PRs — only COMMENT or REQUEST_CHANGES events are allowed.",
|
|
1084
|
+
"Target inline comments at lines in the current diff hunk; comments on lines not in the diff will be rejected by the GitHub API.",
|
|
1085
|
+
],
|
|
1086
|
+
parameters: Type.Object({
|
|
1087
|
+
body: Type.String({ description: "Review body (markdown)" }),
|
|
1088
|
+
event: Type.Union([
|
|
1089
|
+
Type.Literal("COMMENT"),
|
|
1090
|
+
Type.Literal("REQUEST_CHANGES"),
|
|
1091
|
+
], { description: 'Review event: "COMMENT" or "REQUEST_CHANGES"' }),
|
|
1092
|
+
comments: Type.Optional(
|
|
1093
|
+
Type.Array(
|
|
1094
|
+
Type.Object({
|
|
1095
|
+
path: Type.String({ description: "File path relative to repo root" }),
|
|
1096
|
+
line: Type.Integer({ description: "Line number in the diff" }),
|
|
1097
|
+
side: Type.Optional(Type.Union([
|
|
1098
|
+
Type.Literal("LEFT"),
|
|
1099
|
+
Type.Literal("RIGHT"),
|
|
1100
|
+
], { description: 'Diff side: "LEFT" or "RIGHT" (default: RIGHT)' })),
|
|
1101
|
+
body: Type.String({ description: "Review comment text" }),
|
|
1102
|
+
}),
|
|
1103
|
+
{ description: "Inline review comments" },
|
|
1104
|
+
),
|
|
1105
|
+
),
|
|
1106
|
+
}),
|
|
1107
|
+
async execute(toolCallId, params, signal, onUpdate, ctx) {
|
|
1108
|
+
if (isGHA) {
|
|
1109
|
+
const data = await callToolEndpoint("POST", "review", {
|
|
1110
|
+
body: params.body,
|
|
1111
|
+
event: params.event,
|
|
1112
|
+
comments: params.comments,
|
|
1113
|
+
});
|
|
1114
|
+
return { content: [{ type: "text" as const, text: JSON.stringify(data, null, 2) }] };
|
|
1115
|
+
}
|
|
1116
|
+
|
|
1117
|
+
// Local fallback: gh pr review
|
|
1118
|
+
if (params.comments && params.comments.length > 0) {
|
|
1119
|
+
throw new Error("Inline review comments are not supported in local CLI mode — use GHA for inline comments");
|
|
1120
|
+
}
|
|
1121
|
+
const reviewArgs = ["pr", "review", "--body", params.body];
|
|
1122
|
+
if (params.event === "REQUEST_CHANGES") {
|
|
1123
|
+
reviewArgs.push("--request-changes");
|
|
1124
|
+
} else {
|
|
1125
|
+
reviewArgs.push("--comment");
|
|
1126
|
+
}
|
|
1127
|
+
execFileSync("gh", reviewArgs);
|
|
1128
|
+
return { content: [{ type: "text" as const, text: JSON.stringify({ reviewUrl: "review posted locally" }) }] };
|
|
1129
|
+
},
|
|
1130
|
+
});
|
|
1131
|
+
}
|
|
758
1132
|
}
|