@dylanpiercey/work 0.0.6 → 0.0.8
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 +1067 -736
- package/dist/public/assets/{_D4Z_UM_B2.js → _1sfledaC2.js} +2 -2
- package/dist/public/assets/{_D4Z_UM_B2.js.map → _1sfledaC2.js.map} +1 -1
- package/dist/public/assets/{_DvigaXuY.js → _5FPBKXmV.js} +2 -2
- package/dist/public/assets/{_DvigaXuY.js.map → _5FPBKXmV.js.map} +1 -1
- package/dist/public/assets/{_Bs-d5a142.js → _8JbqtAcO2.js} +2 -2
- package/dist/public/assets/{_Bs-d5a142.js.map → _8JbqtAcO2.js.map} +1 -1
- package/dist/public/assets/{_DcCF4p4b2.js → _9T4KD6Cx2.js} +2 -2
- package/dist/public/assets/{_DcCF4p4b2.js.map → _9T4KD6Cx2.js.map} +1 -1
- package/dist/public/assets/{_VVnpWsa-2.js → _ArCUqa6q2.js} +2 -2
- package/dist/public/assets/{_VVnpWsa-2.js.map → _ArCUqa6q2.js.map} +1 -1
- package/dist/public/assets/{_DpdFHjlT.js → _B3wDsGH_.js} +2 -2
- package/dist/public/assets/{_DpdFHjlT.js.map → _B3wDsGH_.js.map} +1 -1
- package/dist/public/assets/{_38qjx0VE.js → _B6VcGcFS.js} +2 -2
- package/dist/public/assets/{_38qjx0VE.js.map → _B6VcGcFS.js.map} +1 -1
- package/dist/public/assets/{_DtkPfG0P2.js → _B8hRUvsg2.js} +2 -2
- package/dist/public/assets/{_DtkPfG0P2.js.map → _B8hRUvsg2.js.map} +1 -1
- package/dist/public/assets/{_CUdHfuKf2.js → _BA1Flvg32.js} +2 -2
- package/dist/public/assets/{_CUdHfuKf2.js.map → _BA1Flvg32.js.map} +1 -1
- package/dist/public/assets/{_Dfi8Atag.js → _BBbOvFnN.js} +2 -2
- package/dist/public/assets/{_Dfi8Atag.js.map → _BBbOvFnN.js.map} +1 -1
- package/dist/public/assets/{_o_JLlSoU2.js → _BENakU6F2.js} +2 -2
- package/dist/public/assets/{_o_JLlSoU2.js.map → _BENakU6F2.js.map} +1 -1
- package/dist/public/assets/{_CLjg6iH5.js → _BKZkyaFV.js} +2 -2
- package/dist/public/assets/{_CLjg6iH5.js.map → _BKZkyaFV.js.map} +1 -1
- package/dist/public/assets/{_D8RDRYsV.js → _BKayEvX0.js} +2 -2
- package/dist/public/assets/{_D8RDRYsV.js.map → _BKayEvX0.js.map} +1 -1
- package/dist/public/assets/{_U-btoBCb2.js → _BRmBVeT02.js} +2 -2
- package/dist/public/assets/{_U-btoBCb2.js.map → _BRmBVeT02.js.map} +1 -1
- package/dist/public/assets/{_BSe5zjTJ2.js → _BSK-jOsW2.js} +2 -2
- package/dist/public/assets/{_BSe5zjTJ2.js.map → _BSK-jOsW2.js.map} +1 -1
- package/dist/public/assets/{_DDDACu2e.js → _BYiCMSp_.js} +2 -2
- package/dist/public/assets/{_DDDACu2e.js.map → _BYiCMSp_.js.map} +1 -1
- package/dist/public/assets/{_xikqPUw52.js → _BZ1vsOtU2.js} +2 -2
- package/dist/public/assets/{_xikqPUw52.js.map → _BZ1vsOtU2.js.map} +1 -1
- package/dist/public/assets/{_Bt1hNExm.js → _BZj2u1P8.js} +2 -2
- package/dist/public/assets/{_Bt1hNExm.js.map → _BZj2u1P8.js.map} +1 -1
- package/dist/public/assets/{_DOeCLKRd.js → _BdjtVej2.js} +2 -2
- package/dist/public/assets/{_DOeCLKRd.js.map → _BdjtVej2.js.map} +1 -1
- package/dist/public/assets/{_Dg2FAYj_2.js → _BfklLvTH2.js} +2 -2
- package/dist/public/assets/{_Dg2FAYj_2.js.map → _BfklLvTH2.js.map} +1 -1
- package/dist/public/assets/{_Q7i-xAMZ.js → _ByVsRQi_.js} +2 -2
- package/dist/public/assets/{_Q7i-xAMZ.js.map → _ByVsRQi_.js.map} +1 -1
- package/dist/public/assets/{_uhGymT-L.js → _BzzAJ7NO.js} +2 -2
- package/dist/public/assets/{_uhGymT-L.js.map → _BzzAJ7NO.js.map} +1 -1
- package/dist/public/assets/{_DtpDQy9c.js → _C7N-1UWP.js} +2 -2
- package/dist/public/assets/{_DtpDQy9c.js.map → _C7N-1UWP.js.map} +1 -1
- package/dist/public/assets/{_T-HpFRXH.js → _C7qjJec5.js} +2 -2
- package/dist/public/assets/{_T-HpFRXH.js.map → _C7qjJec5.js.map} +1 -1
- package/dist/public/assets/{_CDUUTPIa.js → _CDqUkraW.js} +2 -2
- package/dist/public/assets/{_CDUUTPIa.js.map → _CDqUkraW.js.map} +1 -1
- package/dist/public/assets/{_CUCwB86v.js → _CEhaT_yw.js} +2 -2
- package/dist/public/assets/{_CUCwB86v.js.map → _CEhaT_yw.js.map} +1 -1
- package/dist/public/assets/{_DFLlSEDh2.js → _CGshnRGq2.js} +2 -2
- package/dist/public/assets/{_DFLlSEDh2.js.map → _CGshnRGq2.js.map} +1 -1
- package/dist/public/assets/{_D1AvypB0.js → _CHnVT46K.js} +2 -2
- package/dist/public/assets/{_D1AvypB0.js.map → _CHnVT46K.js.map} +1 -1
- package/dist/public/assets/{_Dlbc7SgI.js → _CJkEzRYS.js} +2 -2
- package/dist/public/assets/{_Dlbc7SgI.js.map → _CJkEzRYS.js.map} +1 -1
- package/dist/public/assets/{_DpRvij_q.js → _CLKEqaNz.js} +2 -2
- package/dist/public/assets/{_DpRvij_q.js.map → _CLKEqaNz.js.map} +1 -1
- package/dist/public/assets/{_BZgEX-SR.js → _CRzez65S.js} +2 -2
- package/dist/public/assets/{_BZgEX-SR.js.map → _CRzez65S.js.map} +1 -1
- package/dist/public/assets/{_tf4220G9.js → _CVTm837N.js} +2 -2
- package/dist/public/assets/{_tf4220G9.js.map → _CVTm837N.js.map} +1 -1
- package/dist/public/assets/{_CeDXSlq_2.js → _CfcBd2P72.js} +2 -2
- package/dist/public/assets/{_CeDXSlq_2.js.map → _CfcBd2P72.js.map} +1 -1
- package/dist/public/assets/{_BV7Qzzwy2.js → _CghRvWTz2.js} +2 -2
- package/dist/public/assets/{_BV7Qzzwy2.js.map → _CghRvWTz2.js.map} +1 -1
- package/dist/public/assets/{_D7AQAhlo.js → _CiLa9EZD.js} +2 -2
- package/dist/public/assets/{_D7AQAhlo.js.map → _CiLa9EZD.js.map} +1 -1
- package/dist/public/assets/{_CVvMxylB2.js → _ClFfFrAg2.js} +2 -2
- package/dist/public/assets/{_CVvMxylB2.js.map → _ClFfFrAg2.js.map} +1 -1
- package/dist/public/assets/{_DWSSCCOX.js → _ClP4oh7a.js} +2 -2
- package/dist/public/assets/{_DWSSCCOX.js.map → _ClP4oh7a.js.map} +1 -1
- package/dist/public/assets/{_BjlFBd9j.js → _CraDhcnw.js} +2 -2
- package/dist/public/assets/{_BjlFBd9j.js.map → _CraDhcnw.js.map} +1 -1
- package/dist/public/assets/{_PBOdFezG2.js → _Cu2ARJ6m2.js} +2 -2
- package/dist/public/assets/{_PBOdFezG2.js.map → _Cu2ARJ6m2.js.map} +1 -1
- package/dist/public/assets/{_vd_LQrD6.js → _Cuarrf-F.js} +2 -2
- package/dist/public/assets/{_vd_LQrD6.js.map → _Cuarrf-F.js.map} +1 -1
- package/dist/public/assets/{_kN8jmSEy2.js → _CxREVo2W2.js} +2 -2
- package/dist/public/assets/{_kN8jmSEy2.js.map → _CxREVo2W2.js.map} +1 -1
- package/dist/public/assets/{_D9oMqxHc.js → _DDkF3p8s.js} +2 -2
- package/dist/public/assets/{_D9oMqxHc.js.map → _DDkF3p8s.js.map} +1 -1
- package/dist/public/assets/{_ChbGErmQ.js → _DNJJM0AE.js} +2 -2
- package/dist/public/assets/{_ChbGErmQ.js.map → _DNJJM0AE.js.map} +1 -1
- package/dist/public/assets/{_kzd-9LxV.js → _DPOTu7jR.js} +2 -2
- package/dist/public/assets/{_kzd-9LxV.js.map → _DPOTu7jR.js.map} +1 -1
- package/dist/public/assets/{_CgK4NAc5.js → _DWpL0T8T.js} +2 -2
- package/dist/public/assets/{_CgK4NAc5.js.map → _DWpL0T8T.js.map} +1 -1
- package/dist/public/assets/{_BqB9YKHu.js → _DatWcE_l.js} +2 -2
- package/dist/public/assets/{_BqB9YKHu.js.map → _DatWcE_l.js.map} +1 -1
- package/dist/public/assets/{_CjoA9dbQ.js → _DbScTuHX.js} +2 -2
- package/dist/public/assets/{_CjoA9dbQ.js.map → _DbScTuHX.js.map} +1 -1
- package/dist/public/assets/{_BGfZ-AIc.js → _Dlqi-FuG.js} +2 -2
- package/dist/public/assets/{_BGfZ-AIc.js.map → _Dlqi-FuG.js.map} +1 -1
- package/dist/public/assets/{_CscsJi7i.js → _Dmvx0mCq.js} +2 -2
- package/dist/public/assets/{_CscsJi7i.js.map → _Dmvx0mCq.js.map} +1 -1
- package/dist/public/assets/{_nfuFU9Un2.js → _Doc3xk-E2.js} +2 -2
- package/dist/public/assets/{_nfuFU9Un2.js.map → _Doc3xk-E2.js.map} +1 -1
- package/dist/public/assets/{_BvkUWaoR.js → _DpCf_atU.js} +2 -2
- package/dist/public/assets/{_BvkUWaoR.js.map → _DpCf_atU.js.map} +1 -1
- package/dist/public/assets/{_BO1auSkL2.js → _DsdF3uU02.js} +2 -2
- package/dist/public/assets/{_BO1auSkL2.js.map → _DsdF3uU02.js.map} +1 -1
- package/dist/public/assets/{_DsK9qp5z2.js → _Du7L3DNJ2.js} +2 -2
- package/dist/public/assets/{_DsK9qp5z2.js.map → _Du7L3DNJ2.js.map} +1 -1
- package/dist/public/assets/{_CATT-8QU2.js → _DzcnHy3e2.js} +2 -2
- package/dist/public/assets/{_CATT-8QU2.js.map → _DzcnHy3e2.js.map} +1 -1
- package/dist/public/assets/{_nv0goT4Z.js → _FkD5nJ3p.js} +2 -2
- package/dist/public/assets/{_nv0goT4Z.js.map → _FkD5nJ3p.js.map} +1 -1
- package/dist/public/assets/{_D-u1ssE0.js → _KZaj47gf.js} +2 -2
- package/dist/public/assets/{_D-u1ssE0.js.map → _KZaj47gf.js.map} +1 -1
- package/dist/public/assets/{_B01vNcBH.js → _MY6ncoWy.js} +2 -2
- package/dist/public/assets/{_B01vNcBH.js.map → _MY6ncoWy.js.map} +1 -1
- package/dist/public/assets/{_lO429-VP.js → _PLe738he.js} +2 -2
- package/dist/public/assets/{_lO429-VP.js.map → _PLe738he.js.map} +1 -1
- package/dist/public/assets/{_DoTuVtdo.js → _UIRw8u-5.js} +2 -2
- package/dist/public/assets/{_DoTuVtdo.js.map → _UIRw8u-5.js.map} +1 -1
- package/dist/public/assets/{_Bj_P-is9.js → _VQFhNNlC.js} +2 -2
- package/dist/public/assets/{_Bj_P-is9.js.map → _VQFhNNlC.js.map} +1 -1
- package/dist/public/assets/{_C52df4172.js → _VxrPs6zz2.js} +2 -2
- package/dist/public/assets/{_C52df4172.js.map → _VxrPs6zz2.js.map} +1 -1
- package/dist/public/assets/{_CPMq9qKD.js → _Yc_Nhrnz.js} +2 -2
- package/dist/public/assets/{_CPMq9qKD.js.map → _Yc_Nhrnz.js.map} +1 -1
- package/dist/public/assets/{_B5_K4U35.js → _ZXbjL1cp.js} +2 -2
- package/dist/public/assets/{_B5_K4U35.js.map → _ZXbjL1cp.js.map} +1 -1
- package/dist/public/assets/{_BGjK3KLI.js → _Zn6WQhNB.js} +2 -2
- package/dist/public/assets/{_BGjK3KLI.js.map → _Zn6WQhNB.js.map} +1 -1
- package/dist/public/assets/{_C0fM-yEd.js → _d0JPWXs6.js} +2 -2
- package/dist/public/assets/{_C0fM-yEd.js.map → _d0JPWXs6.js.map} +1 -1
- package/dist/public/assets/{_Czy_Rmr8.js → _kFADAUVE.js} +2 -2
- package/dist/public/assets/{_Czy_Rmr8.js.map → _kFADAUVE.js.map} +1 -1
- package/dist/public/assets/{_kf1lUDoU2.js → _lFKA9njW2.js} +2 -2
- package/dist/public/assets/{_kf1lUDoU2.js.map → _lFKA9njW2.js.map} +1 -1
- package/dist/public/assets/{_BCmJwCZ4.js → _ljVbYQrb.js} +2 -2
- package/dist/public/assets/{_BCmJwCZ4.js.map → _ljVbYQrb.js.map} +1 -1
- package/dist/public/assets/{_CIE37fGr.js → _lq6Mp4lM.js} +2 -2
- package/dist/public/assets/{_CIE37fGr.js.map → _lq6Mp4lM.js.map} +1 -1
- package/dist/public/assets/{_Cm0oW23H.js → _mIMmc1-4.js} +2 -2
- package/dist/public/assets/{_Cm0oW23H.js.map → _mIMmc1-4.js.map} +1 -1
- package/dist/public/assets/{_17ixsFjl2.js → _mwzbhNSE2.js} +2 -2
- package/dist/public/assets/{_17ixsFjl2.js.map → _mwzbhNSE2.js.map} +1 -1
- package/dist/public/assets/{_lENTdKos.js → _mz-it25q.js} +2 -2
- package/dist/public/assets/{_lENTdKos.js.map → _mz-it25q.js.map} +1 -1
- package/dist/public/assets/{_B7WJMKdz.js → _tEWpbjjW.js} +2 -2
- package/dist/public/assets/{_B7WJMKdz.js.map → _tEWpbjjW.js.map} +1 -1
- package/dist/public/assets/{_rDdCnzAf.js → _x39l6v9i.js} +2 -2
- package/dist/public/assets/{_rDdCnzAf.js.map → _x39l6v9i.js.map} +1 -1
- package/dist/public/assets/{index-BwlA-lgI.js → index-BnMs3duC.js} +63 -61
- package/dist/public/assets/index-BnMs3duC.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.
|