@dylanpiercey/work 0.0.6 → 0.0.7
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 +25 -2
- package/dist/index.mjs +992 -688
- package/dist/public/assets/{_lO429-VP.js → _B-_0cKbG.js} +2 -2
- package/dist/public/assets/{_lO429-VP.js.map → _B-_0cKbG.js.map} +1 -1
- package/dist/public/assets/{_kf1lUDoU2.js → _B1F2GQHq2.js} +2 -2
- package/dist/public/assets/{_kf1lUDoU2.js.map → _B1F2GQHq2.js.map} +1 -1
- package/dist/public/assets/{_D1AvypB0.js → _B49hrT7F.js} +2 -2
- package/dist/public/assets/{_D1AvypB0.js.map → _B49hrT7F.js.map} +1 -1
- package/dist/public/assets/{_lENTdKos.js → _B4R8SNvy.js} +2 -2
- package/dist/public/assets/{_lENTdKos.js.map → _B4R8SNvy.js.map} +1 -1
- package/dist/public/assets/{_T-HpFRXH.js → _B7K5PePe.js} +2 -2
- package/dist/public/assets/{_T-HpFRXH.js.map → _B7K5PePe.js.map} +1 -1
- package/dist/public/assets/{_BqB9YKHu.js → _B8mEgNvE.js} +2 -2
- package/dist/public/assets/{_BqB9YKHu.js.map → _B8mEgNvE.js.map} +1 -1
- package/dist/public/assets/{_BSe5zjTJ2.js → _BBbcogWL2.js} +2 -2
- package/dist/public/assets/{_BSe5zjTJ2.js.map → _BBbcogWL2.js.map} +1 -1
- package/dist/public/assets/{_CUCwB86v.js → _BDxD__Ca.js} +2 -2
- package/dist/public/assets/{_CUCwB86v.js.map → _BDxD__Ca.js.map} +1 -1
- package/dist/public/assets/{_D8RDRYsV.js → _BE5Ltp0D.js} +2 -2
- package/dist/public/assets/{_D8RDRYsV.js.map → _BE5Ltp0D.js.map} +1 -1
- package/dist/public/assets/{_BvkUWaoR.js → _BE8gA6TO.js} +2 -2
- package/dist/public/assets/{_BvkUWaoR.js.map → _BE8gA6TO.js.map} +1 -1
- package/dist/public/assets/{_Bt1hNExm.js → _BEY9qyEj.js} +2 -2
- package/dist/public/assets/{_Bt1hNExm.js.map → _BEY9qyEj.js.map} +1 -1
- package/dist/public/assets/{_kN8jmSEy2.js → _BFPTVBh82.js} +2 -2
- package/dist/public/assets/{_kN8jmSEy2.js.map → _BFPTVBh82.js.map} +1 -1
- package/dist/public/assets/{_DcCF4p4b2.js → _BKNwgsJI2.js} +2 -2
- package/dist/public/assets/{_DcCF4p4b2.js.map → _BKNwgsJI2.js.map} +1 -1
- package/dist/public/assets/{_B7WJMKdz.js → _BLuo0bJF.js} +2 -2
- package/dist/public/assets/{_B7WJMKdz.js.map → _BLuo0bJF.js.map} +1 -1
- package/dist/public/assets/{_D4Z_UM_B2.js → _BMbg6Q_32.js} +2 -2
- package/dist/public/assets/{_D4Z_UM_B2.js.map → _BMbg6Q_32.js.map} +1 -1
- package/dist/public/assets/{_ChbGErmQ.js → _BQqn5S5j.js} +2 -2
- package/dist/public/assets/{_ChbGErmQ.js.map → _BQqn5S5j.js.map} +1 -1
- package/dist/public/assets/{_BGjK3KLI.js → _BTJ_-CIz.js} +2 -2
- package/dist/public/assets/{_BGjK3KLI.js.map → _BTJ_-CIz.js.map} +1 -1
- package/dist/public/assets/{_D7AQAhlo.js → _BTnhYWUT.js} +2 -2
- package/dist/public/assets/{_D7AQAhlo.js.map → _BTnhYWUT.js.map} +1 -1
- package/dist/public/assets/{_DOeCLKRd.js → _B_U5SPso.js} +2 -2
- package/dist/public/assets/{_DOeCLKRd.js.map → _B_U5SPso.js.map} +1 -1
- package/dist/public/assets/{_38qjx0VE.js → _BfxQEfor.js} +2 -2
- package/dist/public/assets/{_38qjx0VE.js.map → _BfxQEfor.js.map} +1 -1
- package/dist/public/assets/{_CeDXSlq_2.js → _Bhn-MKXG2.js} +2 -2
- package/dist/public/assets/{_CeDXSlq_2.js.map → _Bhn-MKXG2.js.map} +1 -1
- package/dist/public/assets/{_17ixsFjl2.js → _BkEOzqHA2.js} +2 -2
- package/dist/public/assets/{_17ixsFjl2.js.map → _BkEOzqHA2.js.map} +1 -1
- package/dist/public/assets/{_D9oMqxHc.js → _BqeWVi6c.js} +2 -2
- package/dist/public/assets/{_D9oMqxHc.js.map → _BqeWVi6c.js.map} +1 -1
- package/dist/public/assets/{_Dfi8Atag.js → _Bx6coq7v.js} +2 -2
- package/dist/public/assets/{_Dfi8Atag.js.map → _Bx6coq7v.js.map} +1 -1
- package/dist/public/assets/{_CjoA9dbQ.js → _BxWguH11.js} +2 -2
- package/dist/public/assets/{_CjoA9dbQ.js.map → _BxWguH11.js.map} +1 -1
- package/dist/public/assets/{_C52df4172.js → _C2TX6Jrr2.js} +2 -2
- package/dist/public/assets/{_C52df4172.js.map → _C2TX6Jrr2.js.map} +1 -1
- package/dist/public/assets/{_B01vNcBH.js → _C8Lw1Tmb.js} +2 -2
- package/dist/public/assets/{_B01vNcBH.js.map → _C8Lw1Tmb.js.map} +1 -1
- package/dist/public/assets/{_Czy_Rmr8.js → _CDtlFxZX.js} +2 -2
- package/dist/public/assets/{_Czy_Rmr8.js.map → _CDtlFxZX.js.map} +1 -1
- package/dist/public/assets/{_xikqPUw52.js → _CF3V7ZyO2.js} +2 -2
- package/dist/public/assets/{_xikqPUw52.js.map → _CF3V7ZyO2.js.map} +1 -1
- package/dist/public/assets/{_CgK4NAc5.js → _CIUf_Jmq.js} +2 -2
- package/dist/public/assets/{_CgK4NAc5.js.map → _CIUf_Jmq.js.map} +1 -1
- package/dist/public/assets/{_Dg2FAYj_2.js → _CJlF2h3E2.js} +2 -2
- package/dist/public/assets/{_Dg2FAYj_2.js.map → _CJlF2h3E2.js.map} +1 -1
- package/dist/public/assets/{_CPMq9qKD.js → _CNDjHC1Q.js} +2 -2
- package/dist/public/assets/{_CPMq9qKD.js.map → _CNDjHC1Q.js.map} +1 -1
- package/dist/public/assets/{_D-u1ssE0.js → _CTkR0S8t.js} +2 -2
- package/dist/public/assets/{_D-u1ssE0.js.map → _CTkR0S8t.js.map} +1 -1
- package/dist/public/assets/{_DpRvij_q.js → _C_K-IZx7.js} +2 -2
- package/dist/public/assets/{_DpRvij_q.js.map → _C_K-IZx7.js.map} +1 -1
- package/dist/public/assets/{_rDdCnzAf.js → _CawcEo7A.js} +2 -2
- package/dist/public/assets/{_rDdCnzAf.js.map → _CawcEo7A.js.map} +1 -1
- package/dist/public/assets/{_DtkPfG0P2.js → _Ch0uVmAz2.js} +2 -2
- package/dist/public/assets/{_DtkPfG0P2.js.map → _Ch0uVmAz2.js.map} +1 -1
- package/dist/public/assets/{_DWSSCCOX.js → _Ck30GMoL.js} +2 -2
- package/dist/public/assets/{_DWSSCCOX.js.map → _Ck30GMoL.js.map} +1 -1
- package/dist/public/assets/{_BjlFBd9j.js → _Cpqbvj5d.js} +2 -2
- package/dist/public/assets/{_BjlFBd9j.js.map → _Cpqbvj5d.js.map} +1 -1
- package/dist/public/assets/{_BCmJwCZ4.js → _CqNVh0h5.js} +2 -2
- package/dist/public/assets/{_BCmJwCZ4.js.map → _CqNVh0h5.js.map} +1 -1
- package/dist/public/assets/{_CUdHfuKf2.js → _Cx_br0wh2.js} +2 -2
- package/dist/public/assets/{_CUdHfuKf2.js.map → _Cx_br0wh2.js.map} +1 -1
- package/dist/public/assets/{_nv0goT4Z.js → _CzBadWXq.js} +2 -2
- package/dist/public/assets/{_nv0goT4Z.js.map → _CzBadWXq.js.map} +1 -1
- package/dist/public/assets/{_DDDACu2e.js → _D0Dk2eMz.js} +2 -2
- package/dist/public/assets/{_DDDACu2e.js.map → _D0Dk2eMz.js.map} +1 -1
- package/dist/public/assets/{_nfuFU9Un2.js → _D0PyqJyr2.js} +2 -2
- package/dist/public/assets/{_nfuFU9Un2.js.map → _D0PyqJyr2.js.map} +1 -1
- package/dist/public/assets/{_CscsJi7i.js → _D409hg3n.js} +2 -2
- package/dist/public/assets/{_CscsJi7i.js.map → _D409hg3n.js.map} +1 -1
- package/dist/public/assets/{_DtpDQy9c.js → _D4uduNrb.js} +2 -2
- package/dist/public/assets/{_DtpDQy9c.js.map → _D4uduNrb.js.map} +1 -1
- package/dist/public/assets/{_Dlbc7SgI.js → _DBj-L0Ww.js} +2 -2
- package/dist/public/assets/{_Dlbc7SgI.js.map → _DBj-L0Ww.js.map} +1 -1
- package/dist/public/assets/{_DsK9qp5z2.js → _DC9uMckf2.js} +2 -2
- package/dist/public/assets/{_DsK9qp5z2.js.map → _DC9uMckf2.js.map} +1 -1
- package/dist/public/assets/{_DpdFHjlT.js → _DHsfzMP_.js} +2 -2
- package/dist/public/assets/{_DpdFHjlT.js.map → _DHsfzMP_.js.map} +1 -1
- package/dist/public/assets/{_C0fM-yEd.js → _DPDjFNn3.js} +2 -2
- package/dist/public/assets/{_C0fM-yEd.js.map → _DPDjFNn3.js.map} +1 -1
- package/dist/public/assets/{_vd_LQrD6.js → _DS1r4Da7.js} +2 -2
- package/dist/public/assets/{_vd_LQrD6.js.map → _DS1r4Da7.js.map} +1 -1
- package/dist/public/assets/{_BGfZ-AIc.js → _DZp-Xvf0.js} +2 -2
- package/dist/public/assets/{_BGfZ-AIc.js.map → _DZp-Xvf0.js.map} +1 -1
- package/dist/public/assets/{_Cm0oW23H.js → _DbP8pES9.js} +2 -2
- package/dist/public/assets/{_Cm0oW23H.js.map → _DbP8pES9.js.map} +1 -1
- package/dist/public/assets/{_Bj_P-is9.js → _DhqQ2yva.js} +2 -2
- package/dist/public/assets/{_Bj_P-is9.js.map → _DhqQ2yva.js.map} +1 -1
- package/dist/public/assets/{_tf4220G9.js → _Din9HEMs.js} +2 -2
- package/dist/public/assets/{_tf4220G9.js.map → _Din9HEMs.js.map} +1 -1
- package/dist/public/assets/{_kzd-9LxV.js → _Dk-i8IAv.js} +2 -2
- package/dist/public/assets/{_kzd-9LxV.js.map → _Dk-i8IAv.js.map} +1 -1
- package/dist/public/assets/{_CIE37fGr.js → _DvdWf5o-.js} +2 -2
- package/dist/public/assets/{_CIE37fGr.js.map → _DvdWf5o-.js.map} +1 -1
- package/dist/public/assets/{_U-btoBCb2.js → _DwmbSeOR2.js} +2 -2
- package/dist/public/assets/{_U-btoBCb2.js.map → _DwmbSeOR2.js.map} +1 -1
- package/dist/public/assets/{_DoTuVtdo.js → _Dz57V0my.js} +2 -2
- package/dist/public/assets/{_DoTuVtdo.js.map → _Dz57V0my.js.map} +1 -1
- package/dist/public/assets/{_CATT-8QU2.js → _JDPB-L9T2.js} +2 -2
- package/dist/public/assets/{_CATT-8QU2.js.map → _JDPB-L9T2.js.map} +1 -1
- package/dist/public/assets/{_PBOdFezG2.js → _T3Aahgg12.js} +2 -2
- package/dist/public/assets/{_PBOdFezG2.js.map → _T3Aahgg12.js.map} +1 -1
- package/dist/public/assets/{_Q7i-xAMZ.js → _Tbp9N0Pq.js} +2 -2
- package/dist/public/assets/{_Q7i-xAMZ.js.map → _Tbp9N0Pq.js.map} +1 -1
- package/dist/public/assets/{_Bs-d5a142.js → _Tqwd1-8Z2.js} +2 -2
- package/dist/public/assets/{_Bs-d5a142.js.map → _Tqwd1-8Z2.js.map} +1 -1
- package/dist/public/assets/{_uhGymT-L.js → _UPkRAhR-.js} +2 -2
- package/dist/public/assets/{_uhGymT-L.js.map → _UPkRAhR-.js.map} +1 -1
- package/dist/public/assets/{_CVvMxylB2.js → _WO2um4ce2.js} +2 -2
- package/dist/public/assets/{_CVvMxylB2.js.map → _WO2um4ce2.js.map} +1 -1
- package/dist/public/assets/{_BV7Qzzwy2.js → _WXstblxD2.js} +2 -2
- package/dist/public/assets/{_BV7Qzzwy2.js.map → _WXstblxD2.js.map} +1 -1
- package/dist/public/assets/{_DFLlSEDh2.js → _Wq5Lwig62.js} +2 -2
- package/dist/public/assets/{_DFLlSEDh2.js.map → _Wq5Lwig62.js.map} +1 -1
- package/dist/public/assets/{_VVnpWsa-2.js → _YMDMk2XX2.js} +2 -2
- package/dist/public/assets/{_VVnpWsa-2.js.map → _YMDMk2XX2.js.map} +1 -1
- package/dist/public/assets/{_CLjg6iH5.js → _b9uzSPzx.js} +2 -2
- package/dist/public/assets/{_CLjg6iH5.js.map → _b9uzSPzx.js.map} +1 -1
- package/dist/public/assets/{_BO1auSkL2.js → _dfWRmwy82.js} +2 -2
- package/dist/public/assets/{_BO1auSkL2.js.map → _dfWRmwy82.js.map} +1 -1
- package/dist/public/assets/{_DvigaXuY.js → _ehtlhcCR.js} +2 -2
- package/dist/public/assets/{_DvigaXuY.js.map → _ehtlhcCR.js.map} +1 -1
- package/dist/public/assets/{_CDUUTPIa.js → _fZl_Qerv.js} +2 -2
- package/dist/public/assets/{_CDUUTPIa.js.map → _fZl_Qerv.js.map} +1 -1
- package/dist/public/assets/{_BZgEX-SR.js → _js4WyaBT.js} +2 -2
- package/dist/public/assets/{_BZgEX-SR.js.map → _js4WyaBT.js.map} +1 -1
- package/dist/public/assets/{_B5_K4U35.js → _okHqOb61.js} +2 -2
- package/dist/public/assets/{_B5_K4U35.js.map → _okHqOb61.js.map} +1 -1
- package/dist/public/assets/{_o_JLlSoU2.js → _rMU5-5Oc2.js} +2 -2
- package/dist/public/assets/{_o_JLlSoU2.js.map → _rMU5-5Oc2.js.map} +1 -1
- package/dist/public/assets/{index-BwlA-lgI.js → index-Bx9UtyrE.js} +63 -61
- package/dist/public/assets/index-Bx9UtyrE.js.map +1 -0
- package/dist/public/assets/{index-KIy0rCx1.css → index-C_YqjXeW.css} +1 -1
- package/package.json +1 -1
- package/scripts/migrate.mjs +141 -0
- package/dist/public/assets/index-BwlA-lgI.js.map +0 -1
package/bin/work.mjs
CHANGED
|
@@ -145,6 +145,25 @@ function servicePath() {
|
|
|
145
145
|
].join(":");
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
+
/** Argv prefix that keeps the host awake while the server runs. A suspended
|
|
149
|
+
* host is a dead host: agents keep running in tmux, but the machine stops
|
|
150
|
+
* answering, so remote sessions look hung until someone wakes it by hand. The
|
|
151
|
+
* inhibitor needs no privileges and lifts when the service stops — masking
|
|
152
|
+
* sleep.target is the stronger machine-wide version, but that wants sudo. */
|
|
153
|
+
function awakePrefix() {
|
|
154
|
+
if (process.platform === "darwin")
|
|
155
|
+
return have("caffeinate") ? ["/usr/bin/caffeinate", "-s"] : [];
|
|
156
|
+
if (process.platform === "linux" && have("systemd-inhibit"))
|
|
157
|
+
return [
|
|
158
|
+
"systemd-inhibit",
|
|
159
|
+
"--what=sleep:idle",
|
|
160
|
+
"--who=work",
|
|
161
|
+
"--why=work server is running",
|
|
162
|
+
"--mode=block",
|
|
163
|
+
];
|
|
164
|
+
return [];
|
|
165
|
+
}
|
|
166
|
+
|
|
148
167
|
/** Where installService() writes the service definition — also the store we
|
|
149
168
|
* read settings back out of, so there is no second config file to keep. */
|
|
150
169
|
function serviceFile() {
|
|
@@ -206,7 +225,7 @@ function installService() {
|
|
|
206
225
|
<dict>
|
|
207
226
|
<key>Label</key><string>dev.work.app</string>
|
|
208
227
|
<key>ProgramArguments</key>
|
|
209
|
-
<array
|
|
228
|
+
<array>${[...awakePrefix(), process.execPath, cliPath, "start"].map((a) => `<string>${a}</string>`).join("")}</array>
|
|
210
229
|
<key>RunAtLoad</key><true/>
|
|
211
230
|
<key>KeepAlive</key><true/>
|
|
212
231
|
<key>StandardOutPath</key><string>${os.homedir()}/Library/Logs/work.log</string>
|
|
@@ -240,6 +259,10 @@ ${envXml}
|
|
|
240
259
|
const envLines = Object.entries(serviceEnv())
|
|
241
260
|
.map(([k, v]) => `Environment=${k}=${v}`)
|
|
242
261
|
.join("\n");
|
|
262
|
+
// systemd splits ExecStart on whitespace, so quote the inhibitor's --why.
|
|
263
|
+
const execStart = [...awakePrefix(), process.execPath, cliPath, "start"]
|
|
264
|
+
.map((a) => (a.includes(" ") ? `"${a}"` : a))
|
|
265
|
+
.join(" ");
|
|
243
266
|
fs.writeFileSync(
|
|
244
267
|
unitFile,
|
|
245
268
|
`[Unit]
|
|
@@ -249,7 +272,7 @@ Description=work — agentic dev workspace GUI
|
|
|
249
272
|
StartLimitIntervalSec=0
|
|
250
273
|
|
|
251
274
|
[Service]
|
|
252
|
-
ExecStart=${
|
|
275
|
+
ExecStart=${execStart}
|
|
253
276
|
# always, not on-failure: a stray SIGTERM (an agent running \`pkill node\`) or a
|
|
254
277
|
# clean exit looks like success to systemd and leaves the service down until
|
|
255
278
|
# someone notices. Matches launchd's KeepAlive on the macOS side.
|