@staff0rd/assist 0.205.0 → 0.205.1
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/index.js +77 -76
- 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.205.
|
|
9
|
+
version: "0.205.1",
|
|
10
10
|
type: "module",
|
|
11
11
|
main: "dist/index.js",
|
|
12
12
|
bin: {
|
|
@@ -7064,7 +7064,7 @@ function registerDeploy(program2) {
|
|
|
7064
7064
|
}
|
|
7065
7065
|
|
|
7066
7066
|
// src/commands/devlog/list/index.ts
|
|
7067
|
-
import {
|
|
7067
|
+
import { execFileSync } from "child_process";
|
|
7068
7068
|
import { basename as basename6 } from "path";
|
|
7069
7069
|
|
|
7070
7070
|
// src/commands/devlog/loadBlogSkipDays.ts
|
|
@@ -7240,12 +7240,11 @@ function list3(options2) {
|
|
|
7240
7240
|
const repoName = basename6(process.cwd());
|
|
7241
7241
|
const skipDays = loadBlogSkipDays(repoName);
|
|
7242
7242
|
const devlogEntries = loadDevlogEntries(repoName);
|
|
7243
|
-
const
|
|
7244
|
-
|
|
7245
|
-
|
|
7246
|
-
|
|
7247
|
-
|
|
7248
|
-
);
|
|
7243
|
+
const args = ["log"];
|
|
7244
|
+
if (options2.reverse) args.push("--reverse");
|
|
7245
|
+
else args.push("-n", "500");
|
|
7246
|
+
args.push("--pretty=format:%ad|%h|%s", "--date=short");
|
|
7247
|
+
const output = execFileSync("git", args, { encoding: "utf-8" });
|
|
7249
7248
|
const commitsByDate = parseGitLogCommits(output, ignore2);
|
|
7250
7249
|
let dateCount = 0;
|
|
7251
7250
|
let isFirst = true;
|
|
@@ -7268,11 +7267,11 @@ function list3(options2) {
|
|
|
7268
7267
|
}
|
|
7269
7268
|
|
|
7270
7269
|
// src/commands/devlog/getLastVersionInfo.ts
|
|
7271
|
-
import { execSync as
|
|
7270
|
+
import { execFileSync as execFileSync2, execSync as execSync19 } from "child_process";
|
|
7272
7271
|
import semver from "semver";
|
|
7273
7272
|
function getVersionAtCommit(hash) {
|
|
7274
7273
|
try {
|
|
7275
|
-
const content =
|
|
7274
|
+
const content = execSync19(`git show ${hash}:package.json`, {
|
|
7276
7275
|
encoding: "utf-8"
|
|
7277
7276
|
});
|
|
7278
7277
|
const pkg = JSON.parse(content);
|
|
@@ -7287,8 +7286,9 @@ function stripToMinor(version2) {
|
|
|
7287
7286
|
}
|
|
7288
7287
|
function getLastVersionInfoFromGit() {
|
|
7289
7288
|
try {
|
|
7290
|
-
const output =
|
|
7291
|
-
"git
|
|
7289
|
+
const output = execFileSync2(
|
|
7290
|
+
"git",
|
|
7291
|
+
["log", "-1", "--pretty=format:%ad|%h", "--date=short"],
|
|
7292
7292
|
{
|
|
7293
7293
|
encoding: "utf-8"
|
|
7294
7294
|
}
|
|
@@ -7331,7 +7331,7 @@ function bumpVersion(version2, type) {
|
|
|
7331
7331
|
}
|
|
7332
7332
|
|
|
7333
7333
|
// src/commands/devlog/next/displayNextEntry/index.ts
|
|
7334
|
-
import {
|
|
7334
|
+
import { execFileSync as execFileSync3 } from "child_process";
|
|
7335
7335
|
import chalk80 from "chalk";
|
|
7336
7336
|
|
|
7337
7337
|
// src/commands/devlog/next/displayNextEntry/displayVersion.ts
|
|
@@ -7365,8 +7365,9 @@ function findTargetDate(commitsByDate, skipDays) {
|
|
|
7365
7365
|
return Array.from(commitsByDate.keys()).filter((d) => !skipDays.has(d)).sort()[0];
|
|
7366
7366
|
}
|
|
7367
7367
|
function fetchCommitsByDate(ignore2, lastDate) {
|
|
7368
|
-
const output =
|
|
7369
|
-
"git
|
|
7368
|
+
const output = execFileSync3(
|
|
7369
|
+
"git",
|
|
7370
|
+
["log", "--pretty=format:%ad|%h|%s", "--date=short", "-n", "500"],
|
|
7370
7371
|
{ encoding: "utf-8" }
|
|
7371
7372
|
);
|
|
7372
7373
|
return parseGitLogCommits(output, ignore2, lastDate);
|
|
@@ -7443,7 +7444,7 @@ function next2(options2) {
|
|
|
7443
7444
|
}
|
|
7444
7445
|
|
|
7445
7446
|
// src/commands/devlog/repos/index.ts
|
|
7446
|
-
import { execSync as
|
|
7447
|
+
import { execSync as execSync20 } from "child_process";
|
|
7447
7448
|
|
|
7448
7449
|
// src/commands/devlog/repos/printReposTable.ts
|
|
7449
7450
|
import chalk81 from "chalk";
|
|
@@ -7478,7 +7479,7 @@ function getStatus(lastPush, lastDevlog) {
|
|
|
7478
7479
|
return lastDevlog < lastPush ? "outdated" : "ok";
|
|
7479
7480
|
}
|
|
7480
7481
|
function fetchRepos(days, all) {
|
|
7481
|
-
const json =
|
|
7482
|
+
const json = execSync20(
|
|
7482
7483
|
"gh repo list staff0rd --json name,pushedAt,isArchived --limit 200",
|
|
7483
7484
|
{ encoding: "utf-8" }
|
|
7484
7485
|
);
|
|
@@ -7838,7 +7839,7 @@ async function deps(csprojPath, options2) {
|
|
|
7838
7839
|
}
|
|
7839
7840
|
|
|
7840
7841
|
// src/commands/dotnet/getChangedCsFiles.ts
|
|
7841
|
-
import { execSync as
|
|
7842
|
+
import { execSync as execSync21 } from "child_process";
|
|
7842
7843
|
var SCOPE_ALL = "all";
|
|
7843
7844
|
var SCOPE_BASE = "base:";
|
|
7844
7845
|
var SCOPE_COMMIT = "commit:";
|
|
@@ -7862,7 +7863,7 @@ function getChangedCsFiles(scope) {
|
|
|
7862
7863
|
} else {
|
|
7863
7864
|
cmd = "git diff --name-only HEAD";
|
|
7864
7865
|
}
|
|
7865
|
-
const output =
|
|
7866
|
+
const output = execSync21(cmd, { encoding: "utf-8" }).trim();
|
|
7866
7867
|
if (output === "") return [];
|
|
7867
7868
|
return output.split("\n").filter((f) => f.toLowerCase().endsWith(".cs"));
|
|
7868
7869
|
}
|
|
@@ -8060,14 +8061,14 @@ function parseInspectReport(json) {
|
|
|
8060
8061
|
}
|
|
8061
8062
|
|
|
8062
8063
|
// src/commands/dotnet/runInspectCode.ts
|
|
8063
|
-
import { execSync as
|
|
8064
|
+
import { execSync as execSync22 } from "child_process";
|
|
8064
8065
|
import { existsSync as existsSync28, readFileSync as readFileSync25, unlinkSync as unlinkSync5 } from "fs";
|
|
8065
8066
|
import { tmpdir as tmpdir2 } from "os";
|
|
8066
8067
|
import path29 from "path";
|
|
8067
8068
|
import chalk91 from "chalk";
|
|
8068
8069
|
function assertJbInstalled() {
|
|
8069
8070
|
try {
|
|
8070
|
-
|
|
8071
|
+
execSync22("jb inspectcode --version", { stdio: "pipe" });
|
|
8071
8072
|
} catch {
|
|
8072
8073
|
console.error(chalk91.red("jb is not installed. Install with:"));
|
|
8073
8074
|
console.error(
|
|
@@ -8081,7 +8082,7 @@ function runInspectCode(slnPath, include, swea) {
|
|
|
8081
8082
|
const includeFlag = include ? ` --include="${include}"` : "";
|
|
8082
8083
|
const sweaFlag = swea ? " --swea" : "";
|
|
8083
8084
|
try {
|
|
8084
|
-
|
|
8085
|
+
execSync22(
|
|
8085
8086
|
`jb inspectcode "${slnPath}" -o="${reportPath}"${includeFlag}${sweaFlag} --verbosity=OFF`,
|
|
8086
8087
|
{ stdio: "pipe" }
|
|
8087
8088
|
);
|
|
@@ -8102,7 +8103,7 @@ function runInspectCode(slnPath, include, swea) {
|
|
|
8102
8103
|
}
|
|
8103
8104
|
|
|
8104
8105
|
// src/commands/dotnet/runRoslynInspect.ts
|
|
8105
|
-
import { execSync as
|
|
8106
|
+
import { execSync as execSync23 } from "child_process";
|
|
8106
8107
|
import chalk92 from "chalk";
|
|
8107
8108
|
function resolveMsbuildPath() {
|
|
8108
8109
|
const { run: run4 } = loadConfig();
|
|
@@ -8113,7 +8114,7 @@ function resolveMsbuildPath() {
|
|
|
8113
8114
|
function assertMsbuildInstalled() {
|
|
8114
8115
|
const msbuild = resolveMsbuildPath();
|
|
8115
8116
|
try {
|
|
8116
|
-
|
|
8117
|
+
execSync23(`"${msbuild}" -version`, { stdio: "pipe" });
|
|
8117
8118
|
} catch {
|
|
8118
8119
|
console.error(chalk92.red(`msbuild not found at: ${msbuild}`));
|
|
8119
8120
|
console.error(
|
|
@@ -8139,7 +8140,7 @@ function runRoslynInspect(slnPath) {
|
|
|
8139
8140
|
const msbuild = resolveMsbuildPath();
|
|
8140
8141
|
let output;
|
|
8141
8142
|
try {
|
|
8142
|
-
output =
|
|
8143
|
+
output = execSync23(
|
|
8143
8144
|
`"${msbuild}" "${slnPath}" -t:Build -v:minimal -maxcpucount -p:EnforceCodeStyleInBuild=true -p:RunAnalyzersDuringBuild=true 2>&1`,
|
|
8144
8145
|
{ encoding: "utf-8", stdio: "pipe", maxBuffer: 50 * 1024 * 1024 }
|
|
8145
8146
|
);
|
|
@@ -8271,12 +8272,12 @@ function adfToText(doc) {
|
|
|
8271
8272
|
}
|
|
8272
8273
|
|
|
8273
8274
|
// src/commands/jira/fetchIssue.ts
|
|
8274
|
-
import { execSync as
|
|
8275
|
+
import { execSync as execSync24 } from "child_process";
|
|
8275
8276
|
import chalk94 from "chalk";
|
|
8276
8277
|
function fetchIssue(issueKey, fields) {
|
|
8277
8278
|
let result;
|
|
8278
8279
|
try {
|
|
8279
|
-
result =
|
|
8280
|
+
result = execSync24(
|
|
8280
8281
|
`acli jira workitem view ${issueKey} -f ${fields} --json`,
|
|
8281
8282
|
{ encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] }
|
|
8282
8283
|
);
|
|
@@ -8322,7 +8323,7 @@ function acceptanceCriteria(issueKey) {
|
|
|
8322
8323
|
}
|
|
8323
8324
|
|
|
8324
8325
|
// src/commands/jira/jiraAuth.ts
|
|
8325
|
-
import { execSync as
|
|
8326
|
+
import { execSync as execSync25 } from "child_process";
|
|
8326
8327
|
|
|
8327
8328
|
// src/shared/loadJson.ts
|
|
8328
8329
|
import { existsSync as existsSync29, mkdirSync as mkdirSync7, readFileSync as readFileSync26, writeFileSync as writeFileSync20 } from "fs";
|
|
@@ -8386,7 +8387,7 @@ async function jiraAuth() {
|
|
|
8386
8387
|
console.error("All fields are required.");
|
|
8387
8388
|
process.exit(1);
|
|
8388
8389
|
}
|
|
8389
|
-
|
|
8390
|
+
execSync25(`acli jira auth login --site ${site} --email "${email}" --token`, {
|
|
8390
8391
|
encoding: "utf-8",
|
|
8391
8392
|
input: token,
|
|
8392
8393
|
stdio: ["pipe", "inherit", "inherit"]
|
|
@@ -8721,7 +8722,7 @@ import { tmpdir as tmpdir3 } from "os";
|
|
|
8721
8722
|
import { join as join29 } from "path";
|
|
8722
8723
|
|
|
8723
8724
|
// src/commands/prs/shared.ts
|
|
8724
|
-
import { execSync as
|
|
8725
|
+
import { execSync as execSync26 } from "child_process";
|
|
8725
8726
|
function isGhNotInstalled(error) {
|
|
8726
8727
|
if (error instanceof Error) {
|
|
8727
8728
|
const msg = error.message.toLowerCase();
|
|
@@ -8737,14 +8738,14 @@ function isNotFound(error) {
|
|
|
8737
8738
|
}
|
|
8738
8739
|
function getRepoInfo() {
|
|
8739
8740
|
const repoInfo = JSON.parse(
|
|
8740
|
-
|
|
8741
|
+
execSync26("gh repo view --json owner,name", { encoding: "utf-8" })
|
|
8741
8742
|
);
|
|
8742
8743
|
return { org: repoInfo.owner.login, repo: repoInfo.name };
|
|
8743
8744
|
}
|
|
8744
8745
|
function getCurrentPrNumber() {
|
|
8745
8746
|
try {
|
|
8746
8747
|
const prInfo = JSON.parse(
|
|
8747
|
-
|
|
8748
|
+
execSync26("gh pr view --json number", { encoding: "utf-8" })
|
|
8748
8749
|
);
|
|
8749
8750
|
return prInfo.number;
|
|
8750
8751
|
} catch (error) {
|
|
@@ -8758,7 +8759,7 @@ function getCurrentPrNumber() {
|
|
|
8758
8759
|
function getCurrentPrNodeId() {
|
|
8759
8760
|
try {
|
|
8760
8761
|
const prInfo = JSON.parse(
|
|
8761
|
-
|
|
8762
|
+
execSync26("gh pr view --json id", { encoding: "utf-8" })
|
|
8762
8763
|
);
|
|
8763
8764
|
return prInfo.id;
|
|
8764
8765
|
} catch (error) {
|
|
@@ -8829,10 +8830,10 @@ function comment2(path53, line, body) {
|
|
|
8829
8830
|
}
|
|
8830
8831
|
|
|
8831
8832
|
// src/commands/prs/fixed.ts
|
|
8832
|
-
import { execSync as
|
|
8833
|
+
import { execSync as execSync28 } from "child_process";
|
|
8833
8834
|
|
|
8834
8835
|
// src/commands/prs/resolveCommentWithReply.ts
|
|
8835
|
-
import { execSync as
|
|
8836
|
+
import { execSync as execSync27 } from "child_process";
|
|
8836
8837
|
import { unlinkSync as unlinkSync8, writeFileSync as writeFileSync22 } from "fs";
|
|
8837
8838
|
import { tmpdir as tmpdir4 } from "os";
|
|
8838
8839
|
import { join as join31 } from "path";
|
|
@@ -8862,7 +8863,7 @@ function deleteCommentsCache(prNumber) {
|
|
|
8862
8863
|
|
|
8863
8864
|
// src/commands/prs/resolveCommentWithReply.ts
|
|
8864
8865
|
function replyToComment(org, repo, prNumber, commentId, message) {
|
|
8865
|
-
|
|
8866
|
+
execSync27(
|
|
8866
8867
|
`gh api repos/${org}/${repo}/pulls/${prNumber}/comments -f body="${message.replace(/"/g, '\\"')}" -F in_reply_to=${commentId}`,
|
|
8867
8868
|
{ stdio: ["inherit", "pipe", "inherit"] }
|
|
8868
8869
|
);
|
|
@@ -8872,7 +8873,7 @@ function resolveThread(threadId) {
|
|
|
8872
8873
|
const queryFile = join31(tmpdir4(), `gh-mutation-${Date.now()}.graphql`);
|
|
8873
8874
|
writeFileSync22(queryFile, mutation);
|
|
8874
8875
|
try {
|
|
8875
|
-
|
|
8876
|
+
execSync27(
|
|
8876
8877
|
`gh api graphql -F query=@${queryFile} -f threadId="${threadId}"`,
|
|
8877
8878
|
{ stdio: ["inherit", "pipe", "inherit"] }
|
|
8878
8879
|
);
|
|
@@ -8924,7 +8925,7 @@ function resolveCommentWithReply(commentId, message) {
|
|
|
8924
8925
|
// src/commands/prs/fixed.ts
|
|
8925
8926
|
function verifySha(sha) {
|
|
8926
8927
|
try {
|
|
8927
|
-
return
|
|
8928
|
+
return execSync28(`git rev-parse --verify ${sha}`, {
|
|
8928
8929
|
encoding: "utf-8"
|
|
8929
8930
|
}).trim();
|
|
8930
8931
|
} catch {
|
|
@@ -8938,7 +8939,7 @@ function fixed(commentId, sha) {
|
|
|
8938
8939
|
const { org, repo } = getRepoInfo();
|
|
8939
8940
|
const repoUrl = `https://github.com/${org}/${repo}`;
|
|
8940
8941
|
const message = `Fixed in [${fullSha}](${repoUrl}/commit/${fullSha})`;
|
|
8941
|
-
|
|
8942
|
+
execSync28("git push", { stdio: "inherit" });
|
|
8942
8943
|
resolveCommentWithReply(commentId, message);
|
|
8943
8944
|
} catch (error) {
|
|
8944
8945
|
if (isGhNotInstalled(error)) {
|
|
@@ -8956,7 +8957,7 @@ import { join as join33 } from "path";
|
|
|
8956
8957
|
import { stringify } from "yaml";
|
|
8957
8958
|
|
|
8958
8959
|
// src/commands/prs/fetchThreadIds.ts
|
|
8959
|
-
import { execSync as
|
|
8960
|
+
import { execSync as execSync29 } from "child_process";
|
|
8960
8961
|
import { unlinkSync as unlinkSync9, writeFileSync as writeFileSync23 } from "fs";
|
|
8961
8962
|
import { tmpdir as tmpdir5 } from "os";
|
|
8962
8963
|
import { join as join32 } from "path";
|
|
@@ -8965,7 +8966,7 @@ function fetchThreadIds(org, repo, prNumber) {
|
|
|
8965
8966
|
const queryFile = join32(tmpdir5(), `gh-query-${Date.now()}.graphql`);
|
|
8966
8967
|
writeFileSync23(queryFile, THREAD_QUERY);
|
|
8967
8968
|
try {
|
|
8968
|
-
const result =
|
|
8969
|
+
const result = execSync29(
|
|
8969
8970
|
`gh api graphql -F query=@${queryFile} -F owner="${org}" -F repo="${repo}" -F prNumber=${prNumber}`,
|
|
8970
8971
|
{ encoding: "utf-8" }
|
|
8971
8972
|
);
|
|
@@ -8987,9 +8988,9 @@ function fetchThreadIds(org, repo, prNumber) {
|
|
|
8987
8988
|
}
|
|
8988
8989
|
|
|
8989
8990
|
// src/commands/prs/listComments/fetchReviewComments.ts
|
|
8990
|
-
import { execSync as
|
|
8991
|
+
import { execSync as execSync30 } from "child_process";
|
|
8991
8992
|
function fetchJson(endpoint) {
|
|
8992
|
-
const result =
|
|
8993
|
+
const result = execSync30(`gh api --paginate ${endpoint}`, {
|
|
8993
8994
|
encoding: "utf-8"
|
|
8994
8995
|
});
|
|
8995
8996
|
if (!result.trim()) return [];
|
|
@@ -9128,7 +9129,7 @@ async function listComments() {
|
|
|
9128
9129
|
}
|
|
9129
9130
|
|
|
9130
9131
|
// src/commands/prs/prs/index.ts
|
|
9131
|
-
import { execSync as
|
|
9132
|
+
import { execSync as execSync31 } from "child_process";
|
|
9132
9133
|
|
|
9133
9134
|
// src/commands/prs/prs/displayPaginated/index.ts
|
|
9134
9135
|
import enquirer9 from "enquirer";
|
|
@@ -9234,7 +9235,7 @@ async function displayPaginated(pullRequests) {
|
|
|
9234
9235
|
async function prs(options2) {
|
|
9235
9236
|
const state = options2.open ? "open" : options2.closed ? "closed" : "all";
|
|
9236
9237
|
try {
|
|
9237
|
-
const result =
|
|
9238
|
+
const result = execSync31(
|
|
9238
9239
|
`gh pr list --state ${state} --json number,title,url,author,createdAt,mergedAt,closedAt,state,changedFiles --limit 100`,
|
|
9239
9240
|
{ encoding: "utf-8" }
|
|
9240
9241
|
);
|
|
@@ -9257,7 +9258,7 @@ async function prs(options2) {
|
|
|
9257
9258
|
}
|
|
9258
9259
|
|
|
9259
9260
|
// src/commands/prs/wontfix.ts
|
|
9260
|
-
import { execSync as
|
|
9261
|
+
import { execSync as execSync32 } from "child_process";
|
|
9261
9262
|
function validateReason(reason) {
|
|
9262
9263
|
const lowerReason = reason.toLowerCase();
|
|
9263
9264
|
if (lowerReason.includes("claude") || lowerReason.includes("opus")) {
|
|
@@ -9274,7 +9275,7 @@ function validateShaReferences(reason) {
|
|
|
9274
9275
|
const invalidShas = [];
|
|
9275
9276
|
for (const sha of shas) {
|
|
9276
9277
|
try {
|
|
9277
|
-
|
|
9278
|
+
execSync32(`git cat-file -t ${sha}`, { stdio: "pipe" });
|
|
9278
9279
|
} catch {
|
|
9279
9280
|
invalidShas.push(sha);
|
|
9280
9281
|
}
|
|
@@ -9388,10 +9389,10 @@ import chalk104 from "chalk";
|
|
|
9388
9389
|
import Enquirer2 from "enquirer";
|
|
9389
9390
|
|
|
9390
9391
|
// src/commands/ravendb/searchItems.ts
|
|
9391
|
-
import { execSync as
|
|
9392
|
+
import { execSync as execSync33 } from "child_process";
|
|
9392
9393
|
import chalk103 from "chalk";
|
|
9393
9394
|
function opExec(args) {
|
|
9394
|
-
return
|
|
9395
|
+
return execSync33(`op ${args}`, {
|
|
9395
9396
|
encoding: "utf-8",
|
|
9396
9397
|
stdio: ["pipe", "pipe", "pipe"]
|
|
9397
9398
|
}).trim();
|
|
@@ -9543,7 +9544,7 @@ ${errorText}`
|
|
|
9543
9544
|
}
|
|
9544
9545
|
|
|
9545
9546
|
// src/commands/ravendb/resolveOpSecret.ts
|
|
9546
|
-
import { execSync as
|
|
9547
|
+
import { execSync as execSync34 } from "child_process";
|
|
9547
9548
|
import chalk108 from "chalk";
|
|
9548
9549
|
function resolveOpSecret(reference) {
|
|
9549
9550
|
if (!reference.startsWith("op://")) {
|
|
@@ -9551,7 +9552,7 @@ function resolveOpSecret(reference) {
|
|
|
9551
9552
|
process.exit(1);
|
|
9552
9553
|
}
|
|
9553
9554
|
try {
|
|
9554
|
-
return
|
|
9555
|
+
return execSync34(`op read "${reference}"`, {
|
|
9555
9556
|
encoding: "utf-8",
|
|
9556
9557
|
stdio: ["pipe", "pipe", "pipe"]
|
|
9557
9558
|
}).trim();
|
|
@@ -9800,7 +9801,7 @@ Refactor check failed:
|
|
|
9800
9801
|
}
|
|
9801
9802
|
|
|
9802
9803
|
// src/commands/refactor/check/getViolations/index.ts
|
|
9803
|
-
import { execSync as
|
|
9804
|
+
import { execSync as execSync35 } from "child_process";
|
|
9804
9805
|
import fs18 from "fs";
|
|
9805
9806
|
import { minimatch as minimatch4 } from "minimatch";
|
|
9806
9807
|
|
|
@@ -9850,7 +9851,7 @@ function getGitFiles(options2) {
|
|
|
9850
9851
|
}
|
|
9851
9852
|
const files = /* @__PURE__ */ new Set();
|
|
9852
9853
|
if (options2.staged || options2.modified) {
|
|
9853
|
-
const staged =
|
|
9854
|
+
const staged = execSync35("git diff --cached --name-only", {
|
|
9854
9855
|
encoding: "utf-8"
|
|
9855
9856
|
});
|
|
9856
9857
|
for (const file of staged.trim().split("\n").filter(Boolean)) {
|
|
@@ -9858,7 +9859,7 @@ function getGitFiles(options2) {
|
|
|
9858
9859
|
}
|
|
9859
9860
|
}
|
|
9860
9861
|
if (options2.unstaged || options2.modified) {
|
|
9861
|
-
const unstaged =
|
|
9862
|
+
const unstaged = execSync35("git diff --name-only", { encoding: "utf-8" });
|
|
9862
9863
|
for (const file of unstaged.trim().split("\n").filter(Boolean)) {
|
|
9863
9864
|
files.add(file);
|
|
9864
9865
|
}
|
|
@@ -12285,7 +12286,7 @@ import { mkdirSync as mkdirSync12 } from "fs";
|
|
|
12285
12286
|
import { join as join43 } from "path";
|
|
12286
12287
|
|
|
12287
12288
|
// src/commands/voice/checkLockFile.ts
|
|
12288
|
-
import { execSync as
|
|
12289
|
+
import { execSync as execSync36 } from "child_process";
|
|
12289
12290
|
import { existsSync as existsSync38, mkdirSync as mkdirSync11, readFileSync as readFileSync31, writeFileSync as writeFileSync26 } from "fs";
|
|
12290
12291
|
import { join as join42 } from "path";
|
|
12291
12292
|
function isProcessAlive2(pid) {
|
|
@@ -12314,7 +12315,7 @@ function bootstrapVenv() {
|
|
|
12314
12315
|
if (existsSync38(getVenvPython())) return;
|
|
12315
12316
|
console.log("Setting up Python environment...");
|
|
12316
12317
|
const pythonDir = getPythonDir();
|
|
12317
|
-
|
|
12318
|
+
execSync36(
|
|
12318
12319
|
`uv sync --project "${pythonDir}" --extra runtime --no-install-project`,
|
|
12319
12320
|
{
|
|
12320
12321
|
stdio: "inherit",
|
|
@@ -12481,11 +12482,11 @@ import { randomBytes } from "crypto";
|
|
|
12481
12482
|
import chalk132 from "chalk";
|
|
12482
12483
|
|
|
12483
12484
|
// src/lib/openBrowser.ts
|
|
12484
|
-
import { execSync as
|
|
12485
|
+
import { execSync as execSync37 } from "child_process";
|
|
12485
12486
|
function tryExec(commands) {
|
|
12486
12487
|
for (const cmd of commands) {
|
|
12487
12488
|
try {
|
|
12488
|
-
|
|
12489
|
+
execSync37(cmd);
|
|
12489
12490
|
return true;
|
|
12490
12491
|
} catch {
|
|
12491
12492
|
}
|
|
@@ -12680,7 +12681,7 @@ async function auth() {
|
|
|
12680
12681
|
}
|
|
12681
12682
|
|
|
12682
12683
|
// src/commands/roam/postRoamActivity.ts
|
|
12683
|
-
import { execFileSync } from "child_process";
|
|
12684
|
+
import { execFileSync as execFileSync4 } from "child_process";
|
|
12684
12685
|
import { readFileSync as readFileSync34 } from "fs";
|
|
12685
12686
|
import { join as join45 } from "path";
|
|
12686
12687
|
function postRoamActivity(app, event) {
|
|
@@ -12695,7 +12696,7 @@ function postRoamActivity(app, event) {
|
|
|
12695
12696
|
}
|
|
12696
12697
|
const url = `http://127.0.0.1:${port}/api/v1/activity/${app}/${event}?pid=${app === "codex" ? 99998 : 99999}`;
|
|
12697
12698
|
try {
|
|
12698
|
-
|
|
12699
|
+
execFileSync4("curl", ["-sf", "--max-time", "0.2", "-X", "POST", url], {
|
|
12699
12700
|
stdio: "ignore"
|
|
12700
12701
|
});
|
|
12701
12702
|
} catch {
|
|
@@ -12809,11 +12810,11 @@ function resolveParams(params, cliArgs) {
|
|
|
12809
12810
|
}
|
|
12810
12811
|
|
|
12811
12812
|
// src/commands/run/runPreCommands.ts
|
|
12812
|
-
import { execSync as
|
|
12813
|
+
import { execSync as execSync38 } from "child_process";
|
|
12813
12814
|
function runPreCommands(pre, cwd) {
|
|
12814
12815
|
for (const cmd of pre) {
|
|
12815
12816
|
try {
|
|
12816
|
-
|
|
12817
|
+
execSync38(cmd, { stdio: "inherit", cwd });
|
|
12817
12818
|
} catch (err) {
|
|
12818
12819
|
const code = err && typeof err === "object" && "status" in err ? err.status : 1;
|
|
12819
12820
|
process.exit(code);
|
|
@@ -12822,13 +12823,13 @@ function runPreCommands(pre, cwd) {
|
|
|
12822
12823
|
}
|
|
12823
12824
|
|
|
12824
12825
|
// src/commands/run/spawnRunCommand.ts
|
|
12825
|
-
import { execFileSync as
|
|
12826
|
+
import { execFileSync as execFileSync5, spawn as spawn7 } from "child_process";
|
|
12826
12827
|
import { existsSync as existsSync41 } from "fs";
|
|
12827
12828
|
import { dirname as dirname25, join as join46, resolve as resolve9 } from "path";
|
|
12828
12829
|
function resolveCommand2(command) {
|
|
12829
12830
|
if (process.platform !== "win32" || command !== "bash") return command;
|
|
12830
12831
|
try {
|
|
12831
|
-
const gitPath =
|
|
12832
|
+
const gitPath = execFileSync5("where", ["git"], { encoding: "utf8" }).trim().split("\r\n")[0];
|
|
12832
12833
|
const gitRoot = resolve9(dirname25(gitPath), "..");
|
|
12833
12834
|
const gitBash = join46(gitRoot, "bin", "bash.exe");
|
|
12834
12835
|
if (existsSync41(gitBash)) return gitBash;
|
|
@@ -13064,7 +13065,7 @@ function registerRun(program2) {
|
|
|
13064
13065
|
}
|
|
13065
13066
|
|
|
13066
13067
|
// src/commands/screenshot/index.ts
|
|
13067
|
-
import { execSync as
|
|
13068
|
+
import { execSync as execSync39 } from "child_process";
|
|
13068
13069
|
import { existsSync as existsSync43, mkdirSync as mkdirSync15, unlinkSync as unlinkSync12, writeFileSync as writeFileSync29 } from "fs";
|
|
13069
13070
|
import { tmpdir as tmpdir6 } from "os";
|
|
13070
13071
|
import { join as join49, resolve as resolve11 } from "path";
|
|
@@ -13207,7 +13208,7 @@ function runPowerShellScript(processName, outputPath) {
|
|
|
13207
13208
|
const scriptPath = join49(tmpdir6(), `assist-screenshot-${Date.now()}.ps1`);
|
|
13208
13209
|
writeFileSync29(scriptPath, captureWindowPs1, "utf-8");
|
|
13209
13210
|
try {
|
|
13210
|
-
|
|
13211
|
+
execSync39(
|
|
13211
13212
|
`powershell -NoProfile -ExecutionPolicy Bypass -File "${scriptPath}" -ProcessName "${processName}" -OutputPath "${outputPath}"`,
|
|
13212
13213
|
{ stdio: ["ignore", "pipe", "pipe"], encoding: "utf-8" }
|
|
13213
13214
|
);
|
|
@@ -13248,7 +13249,7 @@ function summaryPathFor(jsonlPath) {
|
|
|
13248
13249
|
}
|
|
13249
13250
|
|
|
13250
13251
|
// src/commands/sessions/summarise/summariseSession.ts
|
|
13251
|
-
import { execFileSync as
|
|
13252
|
+
import { execFileSync as execFileSync6 } from "child_process";
|
|
13252
13253
|
|
|
13253
13254
|
// src/commands/sessions/summarise/iterateUserMessages.ts
|
|
13254
13255
|
import * as fs26 from "fs";
|
|
@@ -13338,7 +13339,7 @@ function summariseSession(jsonlPath) {
|
|
|
13338
13339
|
}
|
|
13339
13340
|
const prompt = buildPrompt2(firstMessage, backlogIds);
|
|
13340
13341
|
try {
|
|
13341
|
-
const output =
|
|
13342
|
+
const output = execFileSync6("claude", ["-p", "--model", "haiku", prompt], {
|
|
13342
13343
|
encoding: "utf8",
|
|
13343
13344
|
timeout: 3e4,
|
|
13344
13345
|
stdio: ["ignore", "pipe", "ignore"]
|
|
@@ -13608,7 +13609,7 @@ function syncCommands(claudeDir, targetBase) {
|
|
|
13608
13609
|
}
|
|
13609
13610
|
|
|
13610
13611
|
// src/commands/update.ts
|
|
13611
|
-
import { execSync as
|
|
13612
|
+
import { execSync as execSync40 } from "child_process";
|
|
13612
13613
|
import * as path52 from "path";
|
|
13613
13614
|
function isGlobalNpmInstall(dir) {
|
|
13614
13615
|
try {
|
|
@@ -13616,7 +13617,7 @@ function isGlobalNpmInstall(dir) {
|
|
|
13616
13617
|
if (resolved.split(path52.sep).includes("node_modules")) {
|
|
13617
13618
|
return true;
|
|
13618
13619
|
}
|
|
13619
|
-
const globalPrefix =
|
|
13620
|
+
const globalPrefix = execSync40("npm prefix -g", { stdio: "pipe" }).toString().trim();
|
|
13620
13621
|
return resolved.toLowerCase().startsWith(path52.resolve(globalPrefix).toLowerCase());
|
|
13621
13622
|
} catch {
|
|
13622
13623
|
return false;
|
|
@@ -13627,18 +13628,18 @@ async function update2() {
|
|
|
13627
13628
|
console.log(`Assist is installed at: ${installDir}`);
|
|
13628
13629
|
if (isGitRepo(installDir)) {
|
|
13629
13630
|
console.log("Detected git repo installation, pulling latest...");
|
|
13630
|
-
|
|
13631
|
+
execSync40("git pull", { cwd: installDir, stdio: "inherit" });
|
|
13631
13632
|
console.log("Installing dependencies...");
|
|
13632
|
-
|
|
13633
|
+
execSync40("npm i", { cwd: installDir, stdio: "inherit" });
|
|
13633
13634
|
console.log("Building...");
|
|
13634
|
-
|
|
13635
|
+
execSync40("npm run build", { cwd: installDir, stdio: "inherit" });
|
|
13635
13636
|
console.log("Syncing commands...");
|
|
13636
|
-
|
|
13637
|
+
execSync40("assist sync", { stdio: "inherit" });
|
|
13637
13638
|
} else if (isGlobalNpmInstall(installDir)) {
|
|
13638
13639
|
console.log("Detected global npm installation, updating...");
|
|
13639
|
-
|
|
13640
|
+
execSync40("npm i -g @staff0rd/assist@latest", { stdio: "inherit" });
|
|
13640
13641
|
console.log("Syncing commands...");
|
|
13641
|
-
|
|
13642
|
+
execSync40("assist sync", { stdio: "inherit" });
|
|
13642
13643
|
} else {
|
|
13643
13644
|
console.error(
|
|
13644
13645
|
"Could not determine installation method. Expected a git repo or global npm install."
|