@staff0rd/assist 0.497.0 → 0.499.0
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/README.md +1 -1
- package/dist/commands/sessions/web/bundle.js +407 -407
- package/dist/index.js +85 -62
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import { Command } from "commander";
|
|
|
6
6
|
// package.json
|
|
7
7
|
var package_default = {
|
|
8
8
|
name: "@staff0rd/assist",
|
|
9
|
-
version: "0.
|
|
9
|
+
version: "0.499.0",
|
|
10
10
|
type: "module",
|
|
11
11
|
main: "dist/index.js",
|
|
12
12
|
bin: {
|
|
@@ -12777,7 +12777,8 @@ function parsePreviewDecision(line, requestId) {
|
|
|
12777
12777
|
decision: msg.decision,
|
|
12778
12778
|
reason: msg.reason,
|
|
12779
12779
|
comments: Array.isArray(msg.comments) ? msg.comments : void 0,
|
|
12780
|
-
screenshots: Array.isArray(msg.screenshots) ? msg.screenshots : void 0
|
|
12780
|
+
screenshots: Array.isArray(msg.screenshots) ? msg.screenshots : void 0,
|
|
12781
|
+
reviewAfter: msg.reviewAfter === true
|
|
12781
12782
|
}
|
|
12782
12783
|
};
|
|
12783
12784
|
} catch {
|
|
@@ -21653,6 +21654,84 @@ function appendScreenshots(body, screenshots) {
|
|
|
21653
21654
|
${screenshots.join("\n\n")}`;
|
|
21654
21655
|
}
|
|
21655
21656
|
|
|
21657
|
+
// src/commands/review/startChainedSession.ts
|
|
21658
|
+
async function startChainedSession(label2, start3) {
|
|
21659
|
+
if (process.env.ASSIST_SESSION !== "1") return;
|
|
21660
|
+
try {
|
|
21661
|
+
await start3();
|
|
21662
|
+
console.log(`Started ${label2}.`);
|
|
21663
|
+
} catch (error) {
|
|
21664
|
+
console.error(
|
|
21665
|
+
`Warning: could not start ${label2}: ${error instanceof Error ? error.message : String(error)}`
|
|
21666
|
+
);
|
|
21667
|
+
}
|
|
21668
|
+
}
|
|
21669
|
+
|
|
21670
|
+
// src/commands/sessions/shared/requestSession.ts
|
|
21671
|
+
function parseIncoming(line, type) {
|
|
21672
|
+
try {
|
|
21673
|
+
const msg = JSON.parse(line);
|
|
21674
|
+
if (msg.type === "error" && (msg.message ?? "").includes(type))
|
|
21675
|
+
return { kind: "error", message: msg.message ?? `${type} failed` };
|
|
21676
|
+
if (msg.type !== "created" || !msg.sessionId) return null;
|
|
21677
|
+
return { kind: "created", sessionId: msg.sessionId };
|
|
21678
|
+
} catch {
|
|
21679
|
+
return null;
|
|
21680
|
+
}
|
|
21681
|
+
}
|
|
21682
|
+
function requestSession(message3) {
|
|
21683
|
+
return new Promise((resolve22, reject) => {
|
|
21684
|
+
connectToDaemon().then((socket) => {
|
|
21685
|
+
let settled = false;
|
|
21686
|
+
const finish = (error, sessionId) => {
|
|
21687
|
+
if (settled) return;
|
|
21688
|
+
settled = true;
|
|
21689
|
+
socket.destroy();
|
|
21690
|
+
if (error) reject(error);
|
|
21691
|
+
else resolve22(sessionId);
|
|
21692
|
+
};
|
|
21693
|
+
readSocketLines(socket, (line) => {
|
|
21694
|
+
const incoming = parseIncoming(line, message3.type);
|
|
21695
|
+
if (!incoming) return;
|
|
21696
|
+
if (incoming.kind === "error") finish(new Error(incoming.message));
|
|
21697
|
+
else finish(void 0, incoming.sessionId);
|
|
21698
|
+
});
|
|
21699
|
+
socket.on("error", (error) => finish(error));
|
|
21700
|
+
socket.on(
|
|
21701
|
+
"close",
|
|
21702
|
+
() => finish(new Error("daemon closed before the session was created"))
|
|
21703
|
+
);
|
|
21704
|
+
socket.write(`${JSON.stringify(message3)}
|
|
21705
|
+
`);
|
|
21706
|
+
}, reject);
|
|
21707
|
+
});
|
|
21708
|
+
}
|
|
21709
|
+
|
|
21710
|
+
// src/commands/sessions/shared/requestAssistSession.ts
|
|
21711
|
+
function requestAssistSession(assistArgs, cwd) {
|
|
21712
|
+
return requestSession({ type: "create-assist", assistArgs, cwd });
|
|
21713
|
+
}
|
|
21714
|
+
|
|
21715
|
+
// src/commands/prs/chainReviewAndPost.ts
|
|
21716
|
+
function chainReviewAndPost(prNumber) {
|
|
21717
|
+
return startChainedSession("a Review + Post session for the PR", () => {
|
|
21718
|
+
const number = prNumber ?? findCurrentPrNumber();
|
|
21719
|
+
if (number === null)
|
|
21720
|
+
throw new Error("no pull request found for the current branch");
|
|
21721
|
+
return requestAssistSession(
|
|
21722
|
+
[
|
|
21723
|
+
"review",
|
|
21724
|
+
"--no-prompt",
|
|
21725
|
+
"--submit",
|
|
21726
|
+
String(number),
|
|
21727
|
+
"--address-comments",
|
|
21728
|
+
"--announce"
|
|
21729
|
+
],
|
|
21730
|
+
process.cwd()
|
|
21731
|
+
);
|
|
21732
|
+
});
|
|
21733
|
+
}
|
|
21734
|
+
|
|
21656
21735
|
// src/commands/prs/previewAndPlace.ts
|
|
21657
21736
|
async function previewAndPlace(args) {
|
|
21658
21737
|
const decision = await awaitPreviewApproval("PR preview", {
|
|
@@ -21664,6 +21743,7 @@ async function previewAndPlace(args) {
|
|
|
21664
21743
|
});
|
|
21665
21744
|
const body = appendScreenshots(args.body, decision.screenshots ?? []);
|
|
21666
21745
|
await placePr(args.prNumber, args.title, body, args.options);
|
|
21746
|
+
if (decision.reviewAfter === true) await chainReviewAndPost(args.prNumber);
|
|
21667
21747
|
}
|
|
21668
21748
|
|
|
21669
21749
|
// src/commands/prs/raise.ts
|
|
@@ -24339,64 +24419,11 @@ function gatherContext() {
|
|
|
24339
24419
|
};
|
|
24340
24420
|
}
|
|
24341
24421
|
|
|
24342
|
-
// src/commands/sessions/shared/requestSession.ts
|
|
24343
|
-
function parseIncoming(line, type) {
|
|
24344
|
-
try {
|
|
24345
|
-
const msg = JSON.parse(line);
|
|
24346
|
-
if (msg.type === "error" && (msg.message ?? "").includes(type))
|
|
24347
|
-
return { kind: "error", message: msg.message ?? `${type} failed` };
|
|
24348
|
-
if (msg.type !== "created" || !msg.sessionId) return null;
|
|
24349
|
-
return { kind: "created", sessionId: msg.sessionId };
|
|
24350
|
-
} catch {
|
|
24351
|
-
return null;
|
|
24352
|
-
}
|
|
24353
|
-
}
|
|
24354
|
-
function requestSession(message3) {
|
|
24355
|
-
return new Promise((resolve22, reject) => {
|
|
24356
|
-
connectToDaemon().then((socket) => {
|
|
24357
|
-
let settled = false;
|
|
24358
|
-
const finish = (error, sessionId) => {
|
|
24359
|
-
if (settled) return;
|
|
24360
|
-
settled = true;
|
|
24361
|
-
socket.destroy();
|
|
24362
|
-
if (error) reject(error);
|
|
24363
|
-
else resolve22(sessionId);
|
|
24364
|
-
};
|
|
24365
|
-
readSocketLines(socket, (line) => {
|
|
24366
|
-
const incoming = parseIncoming(line, message3.type);
|
|
24367
|
-
if (!incoming) return;
|
|
24368
|
-
if (incoming.kind === "error") finish(new Error(incoming.message));
|
|
24369
|
-
else finish(void 0, incoming.sessionId);
|
|
24370
|
-
});
|
|
24371
|
-
socket.on("error", (error) => finish(error));
|
|
24372
|
-
socket.on(
|
|
24373
|
-
"close",
|
|
24374
|
-
() => finish(new Error("daemon closed before the session was created"))
|
|
24375
|
-
);
|
|
24376
|
-
socket.write(`${JSON.stringify(message3)}
|
|
24377
|
-
`);
|
|
24378
|
-
}, reject);
|
|
24379
|
-
});
|
|
24380
|
-
}
|
|
24381
|
-
|
|
24382
24422
|
// src/commands/sessions/shared/requestClaudeSession.ts
|
|
24383
24423
|
function requestClaudeSession(prompt, cwd) {
|
|
24384
24424
|
return requestSession({ type: "create", prompt, cwd });
|
|
24385
24425
|
}
|
|
24386
24426
|
|
|
24387
|
-
// src/commands/review/startChainedSession.ts
|
|
24388
|
-
async function startChainedSession(label2, start3) {
|
|
24389
|
-
if (process.env.ASSIST_SESSION !== "1") return;
|
|
24390
|
-
try {
|
|
24391
|
-
await start3();
|
|
24392
|
-
console.log(`Started ${label2}.`);
|
|
24393
|
-
} catch (error) {
|
|
24394
|
-
console.error(
|
|
24395
|
-
`Warning: could not start ${label2}: ${error instanceof Error ? error.message : String(error)}`
|
|
24396
|
-
);
|
|
24397
|
-
}
|
|
24398
|
-
}
|
|
24399
|
-
|
|
24400
24427
|
// src/commands/review/announcePr.ts
|
|
24401
24428
|
function announcePr(prNumber) {
|
|
24402
24429
|
return startChainedSession(
|
|
@@ -24411,11 +24438,6 @@ function announcePr(prNumber) {
|
|
|
24411
24438
|
// src/commands/review/postReviewToPr.ts
|
|
24412
24439
|
import { readFileSync as readFileSync41 } from "fs";
|
|
24413
24440
|
|
|
24414
|
-
// src/commands/sessions/shared/requestAssistSession.ts
|
|
24415
|
-
function requestAssistSession(assistArgs, cwd) {
|
|
24416
|
-
return requestSession({ type: "create-assist", assistArgs, cwd });
|
|
24417
|
-
}
|
|
24418
|
-
|
|
24419
24441
|
// src/commands/review/chainAddressComments.ts
|
|
24420
24442
|
function chainAddressComments(prNumber, announce) {
|
|
24421
24443
|
const args = ["review-pr-comments", String(prNumber)];
|
|
@@ -29801,7 +29823,7 @@ function decidePrPreview(sessions, waiters, notify2, d) {
|
|
|
29801
29823
|
const commentCount = Array.isArray(d.comments) ? d.comments.length : 0;
|
|
29802
29824
|
const screenshotCount = Array.isArray(d.screenshots) ? d.screenshots.length : 0;
|
|
29803
29825
|
daemonLog(
|
|
29804
|
-
`pr-decision received: id=${id} requestId=${requestId} decision=${d.decision} comments=${commentCount} screenshots=${screenshotCount}`
|
|
29826
|
+
`pr-decision received: id=${id} requestId=${requestId} decision=${d.decision} comments=${commentCount} screenshots=${screenshotCount} reviewAfter=${d.reviewAfter === true}`
|
|
29805
29827
|
);
|
|
29806
29828
|
const waiter = waiters.get(id);
|
|
29807
29829
|
if (waiter)
|
|
@@ -29811,7 +29833,8 @@ function decidePrPreview(sessions, waiters, notify2, d) {
|
|
|
29811
29833
|
decision: d.decision,
|
|
29812
29834
|
reason: d.reason,
|
|
29813
29835
|
comments: d.comments,
|
|
29814
|
-
screenshots: d.screenshots
|
|
29836
|
+
screenshots: d.screenshots,
|
|
29837
|
+
reviewAfter: d.reviewAfter
|
|
29815
29838
|
});
|
|
29816
29839
|
waiters.delete(id);
|
|
29817
29840
|
session.pendingPrPreview = void 0;
|