polymath-society 0.2.23 → 0.2.25
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/cli.js
CHANGED
|
@@ -23421,6 +23421,76 @@ var init_remind = __esm({
|
|
|
23421
23421
|
}
|
|
23422
23422
|
});
|
|
23423
23423
|
|
|
23424
|
+
// src/banner.ts
|
|
23425
|
+
var banner_exports = {};
|
|
23426
|
+
__export(banner_exports, {
|
|
23427
|
+
banner: () => banner,
|
|
23428
|
+
printBanner: () => printBanner
|
|
23429
|
+
});
|
|
23430
|
+
function banner(version, out = process.stderr) {
|
|
23431
|
+
const tty = !!out.isTTY && !process.env.NO_COLOR;
|
|
23432
|
+
const cols = out.columns || 80;
|
|
23433
|
+
if (!tty) return `
|
|
23434
|
+
Polymath Society v${version}
|
|
23435
|
+
${TAGLINE}
|
|
23436
|
+
${PRIVACY}
|
|
23437
|
+
`;
|
|
23438
|
+
if (cols >= 74) {
|
|
23439
|
+
const lines = KEYBLOCK.map((l) => ` ${GOLD}${l}${RESET}`);
|
|
23440
|
+
lines.push(` ${DIM} \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 S O C I E T Y \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500${RESET}`);
|
|
23441
|
+
lines.push("");
|
|
23442
|
+
lines.push(` ${TAGLINE} ${DIM}v${version}${RESET}`);
|
|
23443
|
+
lines.push(` ${DIM}${PRIVACY}${RESET}`);
|
|
23444
|
+
return `
|
|
23445
|
+
${lines.join("\n")}
|
|
23446
|
+
`;
|
|
23447
|
+
}
|
|
23448
|
+
const right = ["", "POLYMATH", "SOCIETY", "", `${DIM}v${version}${RESET}`, ""];
|
|
23449
|
+
const mark = MONOGRAM.map((l, i) => ` ${GOLD}${l}${RESET} ${right[i]}`.trimEnd());
|
|
23450
|
+
return `
|
|
23451
|
+
${mark.join("\n")}
|
|
23452
|
+
|
|
23453
|
+
${TAGLINE}
|
|
23454
|
+
${DIM}${PRIVACY}${RESET}
|
|
23455
|
+
`;
|
|
23456
|
+
}
|
|
23457
|
+
async function printBanner(out = process.stderr) {
|
|
23458
|
+
if (bannerPrinted) return;
|
|
23459
|
+
bannerPrinted = true;
|
|
23460
|
+
let version = "0.0.0";
|
|
23461
|
+
try {
|
|
23462
|
+
const { promises: fs39 } = await import("fs");
|
|
23463
|
+
const path45 = await import("path");
|
|
23464
|
+
const { fileURLToPath: fileURLToPath6 } = await import("url");
|
|
23465
|
+
const here = path45.dirname(fileURLToPath6(import.meta.url));
|
|
23466
|
+
const pkg = JSON.parse(await fs39.readFile(path45.join(here, "..", "package.json"), "utf-8"));
|
|
23467
|
+
version = String(pkg.version || version);
|
|
23468
|
+
} catch {
|
|
23469
|
+
}
|
|
23470
|
+
out.write(banner(version, out));
|
|
23471
|
+
}
|
|
23472
|
+
var GOLD, DIM, RESET, KEYBLOCK, MONOGRAM, TAGLINE, PRIVACY, bannerPrinted;
|
|
23473
|
+
var init_banner = __esm({
|
|
23474
|
+
"src/banner.ts"() {
|
|
23475
|
+
"use strict";
|
|
23476
|
+
GOLD = "\x1B[38;5;179m";
|
|
23477
|
+
DIM = "\x1B[2m";
|
|
23478
|
+
RESET = "\x1B[0m";
|
|
23479
|
+
KEYBLOCK = [
|
|
23480
|
+
"\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557",
|
|
23481
|
+
"\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551 \u255A\u2588\u2588\u2557 \u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u255A\u2550\u2550\u2588\u2588\u2554\u2550\u2550\u255D\u2588\u2588\u2551 \u2588\u2588\u2551",
|
|
23482
|
+
"\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2554\u2588\u2588\u2588\u2588\u2554\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551",
|
|
23483
|
+
"\u2588\u2588\u2554\u2550\u2550\u2550\u255D \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u255A\u2588\u2588\u2554\u255D \u2588\u2588\u2551\u255A\u2588\u2588\u2554\u255D\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551",
|
|
23484
|
+
"\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551 \u255A\u2550\u255D \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551",
|
|
23485
|
+
"\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D"
|
|
23486
|
+
];
|
|
23487
|
+
MONOGRAM = ["\u2588\u2588\u2588\u2588\u2588\u2588\u2557 ", "\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557", "\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D", "\u2588\u2588\u2554\u2550\u2550\u2550\u255D ", "\u2588\u2588\u2551 ", "\u255A\u2550\u255D "];
|
|
23488
|
+
TAGLINE = "see how you actually work, from your own agent logs";
|
|
23489
|
+
PRIVACY = "private by construction \xB7 everything runs on this machine";
|
|
23490
|
+
bannerPrinted = false;
|
|
23491
|
+
}
|
|
23492
|
+
});
|
|
23493
|
+
|
|
23424
23494
|
// src/exportScan.ts
|
|
23425
23495
|
var exportScan_exports = {};
|
|
23426
23496
|
__export(exportScan_exports, {
|
|
@@ -23912,73 +23982,6 @@ var init_reminderState = __esm({
|
|
|
23912
23982
|
}
|
|
23913
23983
|
});
|
|
23914
23984
|
|
|
23915
|
-
// src/banner.ts
|
|
23916
|
-
var banner_exports = {};
|
|
23917
|
-
__export(banner_exports, {
|
|
23918
|
-
banner: () => banner,
|
|
23919
|
-
printBanner: () => printBanner
|
|
23920
|
-
});
|
|
23921
|
-
function banner(version, out = process.stderr) {
|
|
23922
|
-
const tty = !!out.isTTY && !process.env.NO_COLOR;
|
|
23923
|
-
const cols = out.columns || 80;
|
|
23924
|
-
if (!tty) return `
|
|
23925
|
-
Polymath Society v${version}
|
|
23926
|
-
${TAGLINE}
|
|
23927
|
-
${PRIVACY}
|
|
23928
|
-
`;
|
|
23929
|
-
if (cols >= 74) {
|
|
23930
|
-
const lines = KEYBLOCK.map((l) => ` ${GOLD}${l}${RESET}`);
|
|
23931
|
-
lines.push(` ${DIM} \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 S O C I E T Y \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500${RESET}`);
|
|
23932
|
-
lines.push("");
|
|
23933
|
-
lines.push(` ${TAGLINE} ${DIM}v${version}${RESET}`);
|
|
23934
|
-
lines.push(` ${DIM}${PRIVACY}${RESET}`);
|
|
23935
|
-
return `
|
|
23936
|
-
${lines.join("\n")}
|
|
23937
|
-
`;
|
|
23938
|
-
}
|
|
23939
|
-
const right = ["", "POLYMATH", "SOCIETY", "", `${DIM}v${version}${RESET}`, ""];
|
|
23940
|
-
const mark = MONOGRAM.map((l, i) => ` ${GOLD}${l}${RESET} ${right[i]}`.trimEnd());
|
|
23941
|
-
return `
|
|
23942
|
-
${mark.join("\n")}
|
|
23943
|
-
|
|
23944
|
-
${TAGLINE}
|
|
23945
|
-
${DIM}${PRIVACY}${RESET}
|
|
23946
|
-
`;
|
|
23947
|
-
}
|
|
23948
|
-
async function printBanner(out = process.stderr) {
|
|
23949
|
-
let version = "0.0.0";
|
|
23950
|
-
try {
|
|
23951
|
-
const { promises: fs39 } = await import("fs");
|
|
23952
|
-
const path45 = await import("path");
|
|
23953
|
-
const { fileURLToPath: fileURLToPath6 } = await import("url");
|
|
23954
|
-
const here = path45.dirname(fileURLToPath6(import.meta.url));
|
|
23955
|
-
const pkg = JSON.parse(await fs39.readFile(path45.join(here, "..", "package.json"), "utf-8"));
|
|
23956
|
-
version = String(pkg.version || version);
|
|
23957
|
-
} catch {
|
|
23958
|
-
}
|
|
23959
|
-
out.write(banner(version, out));
|
|
23960
|
-
}
|
|
23961
|
-
var GOLD, DIM, RESET, KEYBLOCK, MONOGRAM, TAGLINE, PRIVACY;
|
|
23962
|
-
var init_banner = __esm({
|
|
23963
|
-
"src/banner.ts"() {
|
|
23964
|
-
"use strict";
|
|
23965
|
-
GOLD = "\x1B[38;5;179m";
|
|
23966
|
-
DIM = "\x1B[2m";
|
|
23967
|
-
RESET = "\x1B[0m";
|
|
23968
|
-
KEYBLOCK = [
|
|
23969
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557",
|
|
23970
|
-
"\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551 \u255A\u2588\u2588\u2557 \u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u255A\u2550\u2550\u2588\u2588\u2554\u2550\u2550\u255D\u2588\u2588\u2551 \u2588\u2588\u2551",
|
|
23971
|
-
"\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2554\u2588\u2588\u2588\u2588\u2554\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551",
|
|
23972
|
-
"\u2588\u2588\u2554\u2550\u2550\u2550\u255D \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u255A\u2588\u2588\u2554\u255D \u2588\u2588\u2551\u255A\u2588\u2588\u2554\u255D\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551",
|
|
23973
|
-
"\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551 \u255A\u2550\u255D \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551",
|
|
23974
|
-
"\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D"
|
|
23975
|
-
];
|
|
23976
|
-
MONOGRAM = ["\u2588\u2588\u2588\u2588\u2588\u2588\u2557 ", "\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557", "\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D", "\u2588\u2588\u2554\u2550\u2550\u2550\u255D ", "\u2588\u2588\u2551 ", "\u255A\u2550\u255D "];
|
|
23977
|
-
TAGLINE = "see how you actually work, from your own agent logs";
|
|
23978
|
-
PRIVACY = "private by construction \xB7 everything runs on this machine";
|
|
23979
|
-
}
|
|
23980
|
-
});
|
|
23981
|
-
|
|
23982
23985
|
// src/plan.ts
|
|
23983
23986
|
var plan_exports = {};
|
|
23984
23987
|
__export(plan_exports, {
|
|
@@ -24491,8 +24494,8 @@ async function runWizard() {
|
|
|
24491
24494
|
reminderState = await recordQueued2(dataDir, reminderState, done.kinds);
|
|
24492
24495
|
say(` ${green("\u2713")} Request an export above and we'll email ${notifyEmail} when it should be ready.`);
|
|
24493
24496
|
} else {
|
|
24494
|
-
const { spawn:
|
|
24495
|
-
|
|
24497
|
+
const { spawn: spawn11 } = await import("node:child_process");
|
|
24498
|
+
spawn11(process.execPath, [process.argv[1], "remind-exports", "--hours", "48", "--kinds", kinds.join(",")], { detached: true, stdio: "ignore" }).unref();
|
|
24496
24499
|
say(dim(` (couldn't reach the server \u2014 set a local notification instead)`));
|
|
24497
24500
|
}
|
|
24498
24501
|
}
|
|
@@ -24986,6 +24989,8 @@ try {
|
|
|
24986
24989
|
import { promises as fs38, existsSync as existsSync7 } from "fs";
|
|
24987
24990
|
import path44 from "path";
|
|
24988
24991
|
import { fileURLToPath as fileURLToPath5 } from "url";
|
|
24992
|
+
import { spawnSync as spawnSync3 } from "child_process";
|
|
24993
|
+
import readline2 from "readline";
|
|
24989
24994
|
|
|
24990
24995
|
// src/openBrowser.ts
|
|
24991
24996
|
import { spawn } from "child_process";
|
|
@@ -28165,8 +28170,8 @@ PROJECTS`);
|
|
|
28165
28170
|
log(``);
|
|
28166
28171
|
}
|
|
28167
28172
|
async function askYesNo(q, def = true) {
|
|
28168
|
-
const
|
|
28169
|
-
const rl =
|
|
28173
|
+
const readline3 = await import("node:readline/promises");
|
|
28174
|
+
const rl = readline3.createInterface({ input: process.stdin, output: process.stderr });
|
|
28170
28175
|
try {
|
|
28171
28176
|
for (; ; ) {
|
|
28172
28177
|
const a = (await rl.question(`${q} `)).trim().toLowerCase();
|
|
@@ -28212,10 +28217,17 @@ async function main() {
|
|
|
28212
28217
|
console.log(USAGE);
|
|
28213
28218
|
return;
|
|
28214
28219
|
}
|
|
28215
|
-
console.error(` data home: ${DATA_ROOT}`);
|
|
28216
|
-
await maybePrintUpdateNotice(opts2);
|
|
28217
28220
|
const wantWizard = process.env.POLYMATH_WIZARD === "1" || process.env.POLYMATH_WIZARD !== "0" && process.argv.length <= 2 && (ASSUME_TTY || !!process.stdin.isTTY && !!process.stdout.isTTY);
|
|
28221
|
+
if (!wantWizard) {
|
|
28222
|
+
console.error(` data home: ${DATA_ROOT}`);
|
|
28223
|
+
await maybePrintUpdateNotice(opts2);
|
|
28224
|
+
}
|
|
28218
28225
|
if (wantWizard) {
|
|
28226
|
+
const { printBanner: printBanner2 } = await Promise.resolve().then(() => (init_banner(), banner_exports));
|
|
28227
|
+
await printBanner2();
|
|
28228
|
+
console.error("");
|
|
28229
|
+
await maybePrintUpdateNotice(opts2);
|
|
28230
|
+
console.error(` data home: ${DATA_ROOT}`);
|
|
28219
28231
|
console.error(" Checking for existing analysis\u2026");
|
|
28220
28232
|
const prior = process.env.POLYMATH_WIZARD === "1" ? null : await readPriorAnalysis();
|
|
28221
28233
|
if (prior) {
|
|
@@ -28661,11 +28673,64 @@ function compareVersions(a, b) {
|
|
|
28661
28673
|
}
|
|
28662
28674
|
return 0;
|
|
28663
28675
|
}
|
|
28676
|
+
async function promptAutoUpdate(current, latest) {
|
|
28677
|
+
console.error(`
|
|
28678
|
+
New version available: polymath-society ${current} \u2192 ${latest}`);
|
|
28679
|
+
const answer = await new Promise((resolve2) => {
|
|
28680
|
+
const rl = readline2.createInterface({ input: process.stdin, output: process.stderr });
|
|
28681
|
+
const timer = setTimeout(() => {
|
|
28682
|
+
rl.close();
|
|
28683
|
+
resolve2("");
|
|
28684
|
+
}, 15e3);
|
|
28685
|
+
rl.question(` Update now? (Recommended) [Y/n] `, (a) => {
|
|
28686
|
+
clearTimeout(timer);
|
|
28687
|
+
rl.close();
|
|
28688
|
+
resolve2(a.trim().toLowerCase());
|
|
28689
|
+
});
|
|
28690
|
+
});
|
|
28691
|
+
if (answer === "n" || answer === "no") {
|
|
28692
|
+
console.error("");
|
|
28693
|
+
return;
|
|
28694
|
+
}
|
|
28695
|
+
console.error(`
|
|
28696
|
+
Updating\u2026
|
|
28697
|
+
`);
|
|
28698
|
+
const install = spawnSync3("npm", ["install", "-g", "polymath-society@latest"], {
|
|
28699
|
+
stdio: "inherit",
|
|
28700
|
+
shell: process.platform === "win32"
|
|
28701
|
+
});
|
|
28702
|
+
if (install.status !== 0) {
|
|
28703
|
+
console.error(`
|
|
28704
|
+
Update didn't go through \u2014 continuing on ${current}.`);
|
|
28705
|
+
console.error(` You can update manually any time: npm install -g polymath-society@latest
|
|
28706
|
+
`);
|
|
28707
|
+
return;
|
|
28708
|
+
}
|
|
28709
|
+
console.error(`
|
|
28710
|
+
Updated to ${latest}. Relaunching\u2026
|
|
28711
|
+
`);
|
|
28712
|
+
const relaunch = spawnSync3("polymath-society", process.argv.slice(2), {
|
|
28713
|
+
stdio: "inherit",
|
|
28714
|
+
shell: process.platform === "win32"
|
|
28715
|
+
});
|
|
28716
|
+
if (relaunch.error) {
|
|
28717
|
+
console.error(` Updated, but couldn't relaunch automatically \u2014 just run polymath-society again.`);
|
|
28718
|
+
process.exit(0);
|
|
28719
|
+
}
|
|
28720
|
+
process.exit(relaunch.status ?? 0);
|
|
28721
|
+
}
|
|
28664
28722
|
async function maybePrintUpdateNotice(opts2) {
|
|
28665
28723
|
if (process.env.POLYMATH_NO_UPDATE_CHECK === "1") return;
|
|
28666
28724
|
if (!process.stderr.isTTY) return;
|
|
28667
28725
|
if (opts2.json || opts2.out) return;
|
|
28668
28726
|
if (opts2.cmd !== "profile" && opts2.cmd !== "serve" && opts2.cmd !== "grade") return;
|
|
28727
|
+
const canPrompt = !!process.stdin.isTTY;
|
|
28728
|
+
const notice = async (current, latest) => {
|
|
28729
|
+
if (canPrompt) return promptAutoUpdate(current, latest);
|
|
28730
|
+
console.error(` update available: polymath-society ${current} \u2192 ${latest}`);
|
|
28731
|
+
console.error(` run: npm install -g polymath-society@latest
|
|
28732
|
+
`);
|
|
28733
|
+
};
|
|
28669
28734
|
const cacheFile = path44.join(DATA_ROOT, "update-check.json");
|
|
28670
28735
|
const now = Date.now();
|
|
28671
28736
|
const ttlMs = 12 * 60 * 60 * 1e3;
|
|
@@ -28673,11 +28738,7 @@ async function maybePrintUpdateNotice(opts2) {
|
|
|
28673
28738
|
const cached2 = JSON.parse(await fs38.readFile(cacheFile, "utf8"));
|
|
28674
28739
|
if (cached2.checkedAt && now - cached2.checkedAt < ttlMs) {
|
|
28675
28740
|
const current = await pkgVersion();
|
|
28676
|
-
if (cached2.latest && compareVersions(cached2.latest, current) > 0)
|
|
28677
|
-
console.error(` update available: polymath-society ${current} \u2192 ${cached2.latest}`);
|
|
28678
|
-
console.error(` run: npm install -g polymath-society@latest
|
|
28679
|
-
`);
|
|
28680
|
-
}
|
|
28741
|
+
if (cached2.latest && compareVersions(cached2.latest, current) > 0) await notice(current, cached2.latest);
|
|
28681
28742
|
return;
|
|
28682
28743
|
}
|
|
28683
28744
|
} catch {
|
|
@@ -28695,11 +28756,7 @@ async function maybePrintUpdateNotice(opts2) {
|
|
|
28695
28756
|
if (!latest) return;
|
|
28696
28757
|
await fs38.writeFile(cacheFile, JSON.stringify({ checkedAt: now, latest }, null, 2), "utf8").catch(() => {
|
|
28697
28758
|
});
|
|
28698
|
-
if (compareVersions(latest, current) > 0)
|
|
28699
|
-
console.error(` update available: polymath-society ${current} \u2192 ${latest}`);
|
|
28700
|
-
console.error(` run: npm install -g polymath-society@latest
|
|
28701
|
-
`);
|
|
28702
|
-
}
|
|
28759
|
+
if (compareVersions(latest, current) > 0) await notice(current, latest);
|
|
28703
28760
|
} catch {
|
|
28704
28761
|
} finally {
|
|
28705
28762
|
clearTimeout(timer);
|
|
@@ -15418,6 +15418,7 @@ function tick(ok) {
|
|
|
15418
15418
|
if (!p) return;
|
|
15419
15419
|
if (ok) p.done++;
|
|
15420
15420
|
else p.failed++;
|
|
15421
|
+
console.log(` \u03A3 ${p.done + p.failed}/${p.total}`);
|
|
15421
15422
|
if ((p.done + p.failed) % 25 === 0) progress("progress");
|
|
15422
15423
|
}
|
|
15423
15424
|
function progress(event = "progress") {
|
|
@@ -15327,6 +15327,7 @@ function tick(ok) {
|
|
|
15327
15327
|
if (!p) return;
|
|
15328
15328
|
if (ok) p.done++;
|
|
15329
15329
|
else p.failed++;
|
|
15330
|
+
console.log(` \u03A3 ${p.done + p.failed}/${p.total}`);
|
|
15330
15331
|
if ((p.done + p.failed) % 25 === 0) progress("progress");
|
|
15331
15332
|
}
|
|
15332
15333
|
function progress(event = "progress") {
|
|
@@ -15327,6 +15327,7 @@ function tick(ok) {
|
|
|
15327
15327
|
if (!p) return;
|
|
15328
15328
|
if (ok) p.done++;
|
|
15329
15329
|
else p.failed++;
|
|
15330
|
+
console.log(` \u03A3 ${p.done + p.failed}/${p.total}`);
|
|
15330
15331
|
if ((p.done + p.failed) % 25 === 0) progress("progress");
|
|
15331
15332
|
}
|
|
15332
15333
|
function progress(event = "progress") {
|
|
@@ -15327,6 +15327,7 @@ function tick(ok) {
|
|
|
15327
15327
|
if (!p) return;
|
|
15328
15328
|
if (ok) p.done++;
|
|
15329
15329
|
else p.failed++;
|
|
15330
|
+
console.log(` \u03A3 ${p.done + p.failed}/${p.total}`);
|
|
15330
15331
|
if ((p.done + p.failed) % 25 === 0) progress("progress");
|
|
15331
15332
|
}
|
|
15332
15333
|
function progress(event = "progress") {
|
|
@@ -15327,6 +15327,7 @@ function tick(ok) {
|
|
|
15327
15327
|
if (!p) return;
|
|
15328
15328
|
if (ok) p.done++;
|
|
15329
15329
|
else p.failed++;
|
|
15330
|
+
console.log(` \u03A3 ${p.done + p.failed}/${p.total}`);
|
|
15330
15331
|
if ((p.done + p.failed) % 25 === 0) progress("progress");
|
|
15331
15332
|
}
|
|
15332
15333
|
function progress(event = "progress") {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "polymath-society",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.25",
|
|
4
4
|
"description": "Deterministic metrics from your local Claude Code / Codex agent logs — parallelism, flow, throughput, projects. Zero LLM, zero server, on-device.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|