@dylanpiercey/work 0.0.115 → 0.0.117
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/bin/work.mjs +7 -29
- package/dist/{_8-LIGykR.js → _4-M1FiLt.js} +80 -80
- package/dist/{_CzngR9Hn.js → _BBnpIqz1.js} +39 -39
- package/dist/_DHnrMF7e.js +2 -0
- package/dist/{_CmheBYWi.js → _b8Fct3kh.js} +15 -16
- package/dist/index.mjs +462 -489
- package/dist/public/assets/{_BxMSfS55.js → _-Z8UOkRe.js} +1 -1
- package/dist/public/assets/_-Z8UOkRe.js.br +0 -0
- package/dist/public/assets/{_Cg22zLVo.js → _18MJzEZM.js} +1 -1
- package/dist/public/assets/_18MJzEZM.js.br +0 -0
- package/dist/public/assets/{_BJjHxccu2.js → _6WLgQe1U2.js} +1 -1
- package/dist/public/assets/_6WLgQe1U2.js.br +0 -0
- package/dist/public/assets/{_LWvTfycL.js → _7MvaMNIr.js} +1 -1
- package/dist/public/assets/_7MvaMNIr.js.br +0 -0
- package/dist/public/assets/{_DreKZ6Rw.js → _9m5DBxeF.js} +1 -1
- package/dist/public/assets/_9m5DBxeF.js.br +0 -0
- package/dist/public/assets/{_DrnCFDue2.js → _B9EjUGkg2.js} +1 -1
- package/dist/public/assets/_B9EjUGkg2.js.br +0 -0
- package/dist/public/assets/{_CgeKq2-o.js → _BBji3Y6b.js} +1 -1
- package/dist/public/assets/{_CgeKq2-o.js.br → _BBji3Y6b.js.br} +0 -0
- package/dist/public/assets/{_CTTuxe3N2.js → _BD7DcChF2.js} +1 -1
- package/dist/public/assets/_BD7DcChF2.js.br +0 -0
- package/dist/public/assets/{_Ddh9AEPH2.js → _BK807sss2.js} +1 -1
- package/dist/public/assets/_BK807sss2.js.br +0 -0
- package/dist/public/assets/{_l8LgTz7i.js → _BRsp-Ky6.js} +1 -1
- package/dist/public/assets/_BRsp-Ky6.js.br +0 -0
- package/dist/public/assets/{_BVFO0MQN.js → _BSES323S.js} +1 -1
- package/dist/public/assets/_BSES323S.js.br +0 -0
- package/dist/public/assets/{_ROrfh8pq2.js → _BTgPFRhu2.js} +1 -1
- package/dist/public/assets/_BTgPFRhu2.js.br +0 -0
- package/dist/public/assets/{_4uzDltDB.js → _BUfH9de1.js} +1 -1
- package/dist/public/assets/_BUfH9de1.js.br +0 -0
- package/dist/public/assets/{_TlJdhc872.js → _BWPyMgyP2.js} +1 -1
- package/dist/public/assets/_BWPyMgyP2.js.br +0 -0
- package/dist/public/assets/{_Bn4Yxbs-.js → _BZO0Y-8B.js} +1 -1
- package/dist/public/assets/_BZO0Y-8B.js.br +0 -0
- package/dist/public/assets/{_D_TU1ccH2.js → _B_vKus4A2.js} +1 -1
- package/dist/public/assets/_B_vKus4A2.js.br +0 -0
- package/dist/public/assets/{_Cv-_61om2.js → _BdCj3x0L2.js} +1 -1
- package/dist/public/assets/_BdCj3x0L2.js.br +0 -0
- package/dist/public/assets/{_CmCNOS1s.js → _BdVI9Fdo.js} +1 -1
- package/dist/public/assets/_BdVI9Fdo.js.br +0 -0
- package/dist/public/assets/{_Dlu2lNNv.js → _BmgHXWoi.js} +1 -1
- package/dist/public/assets/_BmgHXWoi.js.br +0 -0
- package/dist/public/assets/{_DMXr53s0.js → _BqGtsnPj.js} +1 -1
- package/dist/public/assets/_BqGtsnPj.js.br +0 -0
- package/dist/public/assets/{_mz4IwXGu.js → _BrtordPT.js} +21 -21
- package/dist/public/assets/_BrtordPT.js.br +0 -0
- package/dist/public/assets/{_BjBLGYpT.js → _BybHWkEd.js} +1 -1
- package/dist/public/assets/_BybHWkEd.js.br +0 -0
- package/dist/public/assets/{_CMcC5NfO.js → _BzVV11vP.js} +1 -1
- package/dist/public/assets/_BzVV11vP.js.br +0 -0
- package/dist/public/assets/{_Bc_oQQms2.js → _C52Kc8e02.js} +1 -1
- package/dist/public/assets/_C52Kc8e02.js.br +0 -0
- package/dist/public/assets/{_e-09CJmy.js → _C8S11_GE.js} +1 -1
- package/dist/public/assets/_C8S11_GE.js.br +0 -0
- package/dist/public/assets/{_D2GYbNVm2.js → _C8tBcmDQ2.js} +1 -1
- package/dist/public/assets/_C8tBcmDQ2.js.br +0 -0
- package/dist/public/assets/{_lsWhs50P.js → _C9uj0n8L.js} +1 -1
- package/dist/public/assets/_C9uj0n8L.js.br +0 -0
- package/dist/public/assets/{_BoroURD8.js → _CBhJbYqJ.js} +1 -1
- package/dist/public/assets/_CBhJbYqJ.js.br +0 -0
- package/dist/public/assets/{_2RqhVli_.js → _CD2VZxgc.js} +1 -1
- package/dist/public/assets/_CD2VZxgc.js.br +0 -0
- package/dist/public/assets/{_uJxmn4g-.js → _CD9LUiA1.js} +1 -1
- package/dist/public/assets/_CD9LUiA1.js.br +0 -0
- package/dist/public/assets/{_FsBjJqid.js → _CGfW8lhA.js} +1 -1
- package/dist/public/assets/_CGfW8lhA.js.br +0 -0
- package/dist/public/assets/{_OLZq7u5Z.js → _CH6beBRd.js} +1 -1
- package/dist/public/assets/_CH6beBRd.js.br +0 -0
- package/dist/public/assets/{_DNzBnKww.js → _CK_oq_Zy.js} +1 -1
- package/dist/public/assets/_CK_oq_Zy.js.br +0 -0
- package/dist/public/assets/{_ohVSZIH5.js → _CKsCeryF.js} +1 -1
- package/dist/public/assets/_CKsCeryF.js.br +0 -0
- package/dist/public/assets/{_CYWQWhM3.js → _CN6zO7Nx.js} +1 -1
- package/dist/public/assets/_CN6zO7Nx.js.br +0 -0
- package/dist/public/assets/{_JWLm_-Hw.js → _CT_4aU9v.js} +1 -1
- package/dist/public/assets/_CT_4aU9v.js.br +0 -0
- package/dist/public/assets/{_B15VVecH.js → _Cc0zTPig.js} +1 -1
- package/dist/public/assets/_Cc0zTPig.js.br +0 -0
- package/dist/public/assets/{_U-L3COPT.js → _CkvKurj3.js} +1 -1
- package/dist/public/assets/_CkvKurj3.js.br +0 -0
- package/dist/public/assets/{_BRNT6Euu2.js → _CqCBTa4i2.js} +1 -1
- package/dist/public/assets/_CqCBTa4i2.js.br +0 -0
- package/dist/public/assets/{_CGJwkY1t.js → _CxAIftOa.js} +1 -1
- package/dist/public/assets/_CxAIftOa.js.br +0 -0
- package/dist/public/assets/{_DwDOs-hG2.js → _Cxc4x3kp2.js} +1 -1
- package/dist/public/assets/_Cxc4x3kp2.js.br +0 -0
- package/dist/public/assets/{_43PRStcn.js → _D-lWfj_d.js} +1 -1
- package/dist/public/assets/_D-lWfj_d.js.br +0 -0
- package/dist/public/assets/{_Cusx8CXY.js → _D1v40D0_.js} +1 -1
- package/dist/public/assets/_D1v40D0_.js.br +0 -0
- package/dist/public/assets/{_BC0J2_-32.js → _D2CBcmy92.js} +1 -1
- package/dist/public/assets/_D2CBcmy92.js.br +0 -0
- package/dist/public/assets/{_B0dJ1TmV.js → _DANBCOm8.js} +1 -1
- package/dist/public/assets/_DANBCOm8.js.br +0 -0
- package/dist/public/assets/{_DgoDrOg9.js → _DFxITRGV.js} +6 -6
- package/dist/public/assets/_DFxITRGV.js.br +0 -0
- package/dist/public/assets/{_g_g39Z4x2.js → _DIcIfpSi2.js} +1 -1
- package/dist/public/assets/_DIcIfpSi2.js.br +0 -0
- package/dist/public/assets/{_pg0OwSj92.js → _DIiQj1WK2.js} +1 -1
- package/dist/public/assets/_DIiQj1WK2.js.br +0 -0
- package/dist/public/assets/{_QY-Ytpyj.js → _DJF1Yq0V.js} +1 -1
- package/dist/public/assets/_DJF1Yq0V.js.br +0 -0
- package/dist/public/assets/{_DyTDTRq1.js → _DMyeY0fg.js} +1 -1
- package/dist/public/assets/_DMyeY0fg.js.br +0 -0
- package/dist/public/assets/{_DeAHixdN.js → _DPYxtc2v.js} +1 -1
- package/dist/public/assets/_DPYxtc2v.js.br +0 -0
- package/dist/public/assets/{_CmBrLhAh2.js → _DY5rDZr62.js} +1 -1
- package/dist/public/assets/_DY5rDZr62.js.br +0 -0
- package/dist/public/assets/{_C7yNzPiC.js → _DZBUwVb4.js} +1 -1
- package/dist/public/assets/_DZBUwVb4.js.br +0 -0
- package/dist/public/assets/{_Dq1yfpqy.js → _DcQSDUkF.js} +1 -1
- package/dist/public/assets/_DcQSDUkF.js.br +0 -0
- package/dist/public/assets/{_Buq2_Wff2.js → _Ddhg8pUf2.js} +1 -1
- package/dist/public/assets/_Ddhg8pUf2.js.br +0 -0
- package/dist/public/assets/{_C9iASNNr.js → _Dev6jrQa.js} +1 -1
- package/dist/public/assets/_Dev6jrQa.js.br +0 -0
- package/dist/public/assets/{_DK4Yj0y5.js → _DmOEoBSj.js} +1 -1
- package/dist/public/assets/{_Cc2ZvwOU2.js → _DoJIySsK2.js} +1 -1
- package/dist/public/assets/_DoJIySsK2.js.br +0 -0
- package/dist/public/assets/{_BUgyA17v.js → _Ds-nHHU4.js} +1 -1
- package/dist/public/assets/_Ds-nHHU4.js.br +0 -0
- package/dist/public/assets/{_u1NutSwu2.js → _Dza3l03i2.js} +1 -1
- package/dist/public/assets/_Dza3l03i2.js.br +0 -0
- package/dist/public/assets/{_CdNQc4Og.js → _E92w3rhc.js} +1 -1
- package/dist/public/assets/_E92w3rhc.js.br +0 -0
- package/dist/public/assets/{_DyII464-.js → _KIdOm5wV.js} +1 -1
- package/dist/public/assets/_KIdOm5wV.js.br +0 -0
- package/dist/public/assets/{_Czrr5AFc.js → _KkA9wgSQ.js} +1 -1
- package/dist/public/assets/_KkA9wgSQ.js.br +0 -0
- package/dist/public/assets/{_CsgdD5I-.js → _Qnv2YVI1.js} +1 -1
- package/dist/public/assets/_Qnv2YVI1.js.br +0 -0
- package/dist/public/assets/{_DcgLE27V.js → _RD4UJVHf.js} +1 -1
- package/dist/public/assets/_RD4UJVHf.js.br +0 -0
- package/dist/public/assets/{_lhL7OV7_.js → _Rw9EiWl4.js} +1 -1
- package/dist/public/assets/_Rw9EiWl4.js.br +0 -0
- package/dist/public/assets/{_49DiKr5L.js → _VPFo3zSh.js} +1 -1
- package/dist/public/assets/_VPFo3zSh.js.br +0 -0
- package/dist/public/assets/{_CZwfKSM-.js → _Yb5xKwv4.js} +1 -1
- package/dist/public/assets/_Yb5xKwv4.js.br +0 -0
- package/dist/public/assets/{_39wVE9tP.js → _bwdm3qFa.js} +1 -1
- package/dist/public/assets/_bwdm3qFa.js.br +0 -0
- package/dist/public/assets/{_BMBt7ACI2.js → _ghie1-zD2.js} +1 -1
- package/dist/public/assets/{_Cj4eWcbw2.js → _nKN2u-0c2.js} +1 -1
- package/dist/public/assets/_nKN2u-0c2.js.br +0 -0
- package/dist/public/assets/{_HsinODJ3.js → _qR1knnaE.js} +1 -1
- package/dist/public/assets/_qR1knnaE.js.br +0 -0
- package/dist/public/assets/{_DuSXkcpH2.js → _snEbm2Ar2.js} +1 -1
- package/dist/public/assets/_snEbm2Ar2.js.br +0 -0
- package/dist/public/assets/{_Ci2u2uah2.js → _tGNZxau42.js} +1 -1
- package/dist/public/assets/{_Boyh70Ee2.js → _tejT-pAf2.js} +1 -1
- package/dist/public/assets/_tejT-pAf2.js.br +0 -0
- package/dist/public/assets/{_nG_P_baQ.js → _ulYs8wvn.js} +1 -1
- package/dist/public/assets/_ulYs8wvn.js.br +0 -0
- package/dist/public/assets/app-page-DuEXAcnI.css +1 -0
- package/dist/public/assets/app-page-DuEXAcnI.css.br +0 -0
- package/dist/public/assets/diff-view-BK4TD-oL.css +1 -0
- package/dist/public/assets/diff-view-BK4TD-oL.css.br +0 -0
- package/dist/public/assets/new-gddPZdgU.js +1 -0
- package/dist/public/assets/settings-gddPZdgU.js +1 -0
- package/dist/public/assets/w-gddPZdgU.js +1 -0
- package/dist/public/assets/w._-E2EHSRw5.js +1 -0
- package/dist/public/assets/w._-gddPZdgU.js +1 -0
- package/lib/setup/doctor.d.mts +0 -2
- package/lib/setup/doctor.mjs +2 -2
- package/lib/usage/format.d.mts +2 -0
- package/lib/usage/format.mjs +22 -0
- package/package.json +1 -1
- package/dist/_BBEL67Rf.js +0 -2
- package/dist/public/assets/_2RqhVli_.js.br +0 -0
- package/dist/public/assets/_39wVE9tP.js.br +0 -0
- package/dist/public/assets/_43PRStcn.js.br +0 -0
- package/dist/public/assets/_49DiKr5L.js.br +0 -0
- package/dist/public/assets/_4uzDltDB.js.br +0 -0
- package/dist/public/assets/_B0dJ1TmV.js.br +0 -0
- package/dist/public/assets/_B15VVecH.js.br +0 -0
- package/dist/public/assets/_BC0J2_-32.js.br +0 -0
- package/dist/public/assets/_BJjHxccu2.js.br +0 -0
- package/dist/public/assets/_BRNT6Euu2.js.br +0 -0
- package/dist/public/assets/_BUgyA17v.js.br +0 -0
- package/dist/public/assets/_BVFO0MQN.js.br +0 -0
- package/dist/public/assets/_Bc_oQQms2.js.br +0 -0
- package/dist/public/assets/_BjBLGYpT.js.br +0 -0
- package/dist/public/assets/_Bn4Yxbs-.js.br +0 -0
- package/dist/public/assets/_BoroURD8.js.br +0 -0
- package/dist/public/assets/_Boyh70Ee2.js.br +0 -0
- package/dist/public/assets/_Buq2_Wff2.js.br +0 -0
- package/dist/public/assets/_BxMSfS55.js.br +0 -0
- package/dist/public/assets/_C7yNzPiC.js.br +0 -0
- package/dist/public/assets/_C9iASNNr.js.br +0 -0
- package/dist/public/assets/_CGJwkY1t.js.br +0 -0
- package/dist/public/assets/_CMcC5NfO.js.br +0 -0
- package/dist/public/assets/_CTTuxe3N2.js.br +0 -0
- package/dist/public/assets/_CYWQWhM3.js.br +0 -0
- package/dist/public/assets/_CZwfKSM-.js.br +0 -0
- package/dist/public/assets/_Cc2ZvwOU2.js.br +0 -0
- package/dist/public/assets/_CdNQc4Og.js.br +0 -0
- package/dist/public/assets/_Cg22zLVo.js.br +0 -0
- package/dist/public/assets/_Cj4eWcbw2.js.br +0 -0
- package/dist/public/assets/_CmBrLhAh2.js.br +0 -0
- package/dist/public/assets/_CmCNOS1s.js.br +0 -0
- package/dist/public/assets/_CsgdD5I-.js.br +0 -0
- package/dist/public/assets/_Cusx8CXY.js.br +0 -0
- package/dist/public/assets/_Cv-_61om2.js.br +0 -0
- package/dist/public/assets/_Czrr5AFc.js.br +0 -0
- package/dist/public/assets/_D2GYbNVm2.js.br +0 -0
- package/dist/public/assets/_DMXr53s0.js.br +0 -0
- package/dist/public/assets/_DNzBnKww.js.br +0 -0
- package/dist/public/assets/_D_TU1ccH2.js.br +0 -0
- package/dist/public/assets/_DcgLE27V.js.br +0 -0
- package/dist/public/assets/_Ddh9AEPH2.js.br +0 -0
- package/dist/public/assets/_DeAHixdN.js.br +0 -0
- package/dist/public/assets/_DgoDrOg9.js.br +0 -0
- package/dist/public/assets/_Dlu2lNNv.js.br +0 -0
- package/dist/public/assets/_Dq1yfpqy.js.br +0 -0
- package/dist/public/assets/_DreKZ6Rw.js.br +0 -0
- package/dist/public/assets/_DrnCFDue2.js.br +0 -0
- package/dist/public/assets/_DuSXkcpH2.js.br +0 -0
- package/dist/public/assets/_DwDOs-hG2.js.br +0 -0
- package/dist/public/assets/_DyII464-.js.br +0 -0
- package/dist/public/assets/_DyTDTRq1.js.br +0 -0
- package/dist/public/assets/_FsBjJqid.js.br +0 -0
- package/dist/public/assets/_HsinODJ3.js.br +0 -0
- package/dist/public/assets/_JWLm_-Hw.js.br +0 -0
- package/dist/public/assets/_LWvTfycL.js.br +0 -0
- package/dist/public/assets/_OLZq7u5Z.js.br +0 -0
- package/dist/public/assets/_QY-Ytpyj.js.br +0 -0
- package/dist/public/assets/_ROrfh8pq2.js.br +0 -0
- package/dist/public/assets/_TlJdhc872.js.br +0 -0
- package/dist/public/assets/_U-L3COPT.js.br +0 -0
- package/dist/public/assets/_e-09CJmy.js.br +0 -0
- package/dist/public/assets/_g_g39Z4x2.js.br +0 -0
- package/dist/public/assets/_l8LgTz7i.js.br +0 -0
- package/dist/public/assets/_lhL7OV7_.js.br +0 -0
- package/dist/public/assets/_lsWhs50P.js.br +0 -0
- package/dist/public/assets/_mz4IwXGu.js.br +0 -0
- package/dist/public/assets/_nG_P_baQ.js.br +0 -0
- package/dist/public/assets/_ohVSZIH5.js.br +0 -0
- package/dist/public/assets/_pg0OwSj92.js.br +0 -0
- package/dist/public/assets/_u1NutSwu2.js.br +0 -0
- package/dist/public/assets/_uJxmn4g-.js.br +0 -0
- package/dist/public/assets/app-page-BbtnI6Ar.css +0 -1
- package/dist/public/assets/app-page-BbtnI6Ar.css.br +0 -0
- package/dist/public/assets/diff-view-BZuzHKWL.css +0 -1
- package/dist/public/assets/diff-view-BZuzHKWL.css.br +0 -0
- package/dist/public/assets/new-N_jFKGt0.js +0 -1
- package/dist/public/assets/settings-N_jFKGt0.js +0 -1
- package/dist/public/assets/w-N_jFKGt0.js +0 -1
- package/dist/public/assets/w._-BO2RF7K9.js +0 -1
- package/dist/public/assets/w._-N_jFKGt0.js +0 -1
package/bin/work.mjs
CHANGED
|
@@ -25,6 +25,7 @@ import { createRequire } from "node:module";
|
|
|
25
25
|
import { doctor, formatDoctor, setupPath } from "../lib/setup/doctor.mjs";
|
|
26
26
|
import { installTool } from "../lib/setup/install.mjs";
|
|
27
27
|
import { commentMarkdown } from "../lib/review/markdown.mjs";
|
|
28
|
+
import { duration, pctText } from "../lib/usage/format.mjs";
|
|
28
29
|
|
|
29
30
|
const pkgRoot = path.dirname(path.dirname(fileURLToPath(import.meta.url)));
|
|
30
31
|
const pkg = JSON.parse(fs.readFileSync(path.join(pkgRoot, "package.json"), "utf8"));
|
|
@@ -104,17 +105,10 @@ async function start() {
|
|
|
104
105
|
* this table can never disagree, which is also why this asks over HTTP instead
|
|
105
106
|
* of re-reading every provider's credentials itself. */
|
|
106
107
|
async function usage() {
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
const res = await fetch(url, { signal: AbortSignal.timeout(30_000) });
|
|
112
|
-
if (!res.ok) die(`server answered ${res.status} for /api/usage`);
|
|
113
|
-
data = await res.json();
|
|
114
|
-
} catch {
|
|
115
|
-
die(`no work server on port ${port}. Start one with: work start`);
|
|
116
|
-
}
|
|
117
|
-
if (args.includes("--json")) {
|
|
108
|
+
const data = await apiGet(
|
|
109
|
+
`/api/usage${args.includes("--refresh") ? "?refresh" : ""}`,
|
|
110
|
+
);
|
|
111
|
+
if (jsonOut) {
|
|
118
112
|
console.log(JSON.stringify(data, null, 2));
|
|
119
113
|
return;
|
|
120
114
|
}
|
|
@@ -139,7 +133,7 @@ async function usage() {
|
|
|
139
133
|
// enough to read as a warning rather than another window.
|
|
140
134
|
if (agent.note) console.log(` ⚠ ${agent.note}`);
|
|
141
135
|
if (agent.stale_seconds != null) {
|
|
142
|
-
console.log(` ⚠ ${
|
|
136
|
+
console.log(` ⚠ ${duration(agent.stale_seconds * 1000)} old`);
|
|
143
137
|
}
|
|
144
138
|
}
|
|
145
139
|
}
|
|
@@ -285,23 +279,7 @@ async function reviewCmd() {
|
|
|
285
279
|
function until(iso) {
|
|
286
280
|
if (!iso) return null;
|
|
287
281
|
const ms = new Date(iso).getTime() - Date.now();
|
|
288
|
-
return ms > 0 ?
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
/** Percent, with a decimal only where rounding would lie: 99.6% must not
|
|
292
|
-
* read as a spent 100%, and 0.4% must not read as an untouched 0%. */
|
|
293
|
-
function pctText(pct) {
|
|
294
|
-
const rounded = Math.round(pct);
|
|
295
|
-
return rounded !== pct && (rounded === 100 || rounded === 0)
|
|
296
|
-
? `${pct.toFixed(1)}%`
|
|
297
|
-
: `${rounded}%`;
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
function short(ms) {
|
|
301
|
-
const m = Math.round(ms / 60_000);
|
|
302
|
-
if (m < 60) return `${m}m`;
|
|
303
|
-
const h = Math.round(m / 60);
|
|
304
|
-
return h < 48 ? `${h}h` : `${Math.round(h / 24)}d`;
|
|
282
|
+
return ms > 0 ? duration(ms) : null;
|
|
305
283
|
}
|
|
306
284
|
|
|
307
285
|
async function setup() {
|