frizz-server 0.15.7 → 0.15.9
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/acp-daemon.js +27 -3
- package/dist/claude-agent-broker.js +6123 -6074
- package/dist/codex-app-server-daemon.js +27 -3
- package/dist/dev-child.js +6841 -6524
- package/package.json +1 -1
- package/runtime/cc-worker/bin/frizz-mcp.mjs +21 -17
- package/runtime/cc-worker/hooks/session-seed.mjs +1 -1
- package/web-dist/assets/{abnfDiagram-VRR7QNED-DwSF6UVy.js → abnfDiagram-VRR7QNED-bpvFgjh_.js} +1 -1
- package/web-dist/assets/{arc-BO1i7GWM.js → arc-B6wV_613.js} +1 -1
- package/web-dist/assets/architecture-TIHT7OUA-CZz_Dcj8.js +1 -0
- package/web-dist/assets/{architectureDiagram-ZJ3FMSHR-msNhjgsP.js → architectureDiagram-ZJ3FMSHR-w01ZZmOr.js} +1 -1
- package/web-dist/assets/{blockDiagram-677ZJIJ3-JCCwJqsE.js → blockDiagram-677ZJIJ3-C2dC71vu.js} +1 -1
- package/web-dist/assets/{c4Diagram-LMCZKHZV-B5vS6rLH.js → c4Diagram-LMCZKHZV-dzZwiOpg.js} +1 -1
- package/web-dist/assets/channel-BskO-4wQ.js +1 -0
- package/web-dist/assets/{chunk-32BRIVSS-BeH_kPjp.js → chunk-32BRIVSS-BlUNcRIV.js} +1 -1
- package/web-dist/assets/{chunk-52WLFC77-D0OtliIj.js → chunk-52WLFC77-BBpddpiu.js} +1 -1
- package/web-dist/assets/{chunk-C7G6YPKG-wbaKYBGi.js → chunk-C7G6YPKG-vQnBlF1j.js} +1 -1
- package/web-dist/assets/{chunk-EX3LRPZG-JrdwUCV4.js → chunk-EX3LRPZG-Ck6_JWUr.js} +1 -1
- package/web-dist/assets/{chunk-FWX5IMBZ-dk5peTlq.js → chunk-FWX5IMBZ-l81x5EMG.js} +2 -2
- package/web-dist/assets/{chunk-HOUHSVGY-DEVMSmR0.js → chunk-HOUHSVGY-CAZZtYuY.js} +1 -1
- package/web-dist/assets/{chunk-ICXQ74PX-Q4B4QfXk.js → chunk-ICXQ74PX-rH1OyvOA.js} +1 -1
- package/web-dist/assets/{chunk-MOJQB5TN-CFljAhrA.js → chunk-MOJQB5TN-B4kp_No0.js} +1 -1
- package/web-dist/assets/{chunk-OGEWGWER-uDxaNMkK.js → chunk-OGEWGWER-CqwXyIBs.js} +1 -1
- package/web-dist/assets/{chunk-PUDLZKDR-B1_PcfSW.js → chunk-PUDLZKDR-D2gjM_eF.js} +1 -1
- package/web-dist/assets/{chunk-Q4XR5HBZ-CTG5ESkU.js → chunk-Q4XR5HBZ-gRBHVngs.js} +1 -1
- package/web-dist/assets/{chunk-RYQCIY6F-C4Xbw0h0.js → chunk-RYQCIY6F-BCdM08hs.js} +1 -1
- package/web-dist/assets/{chunk-V7JOEXUC-DzX7WzjT.js → chunk-V7JOEXUC-DQBtsWdd.js} +1 -1
- package/web-dist/assets/{chunk-VAUOI2AC-C5BV4_RN.js → chunk-VAUOI2AC-BiLb5gwB.js} +1 -1
- package/web-dist/assets/{chunk-VR4S4FIN-WYsy9hUs.js → chunk-VR4S4FIN-DFTQyMST.js} +1 -1
- package/web-dist/assets/{chunk-WYO6CB5R-D-1-l4MF.js → chunk-WYO6CB5R-2o1M-Kfn.js} +1 -1
- package/web-dist/assets/{chunk-XXDRQBXY-C9lzowcJ.js → chunk-XXDRQBXY-CbmG6EEc.js} +1 -1
- package/web-dist/assets/{chunk-ZGVPDNZ5-7KVpod10.js → chunk-ZGVPDNZ5-HevfruTn.js} +1 -1
- package/web-dist/assets/classDiagram-OUVF2IWQ-BOPl2fK7.js +1 -0
- package/web-dist/assets/classDiagram-v2-EOCWNBFH-BOPl2fK7.js +1 -0
- package/web-dist/assets/{cose-bilkent-JH36ORCC-Cjxk1BZr.js → cose-bilkent-JH36ORCC-GKECIOxX.js} +1 -1
- package/web-dist/assets/{cynefin-VYW2F7L2-wOe2bHzn.js → cynefin-VYW2F7L2-BYescccC.js} +1 -1
- package/web-dist/assets/{cynefinDiagram-TSTJHNR4-aC9cGB5C.js → cynefinDiagram-TSTJHNR4-Ci4_11Wj.js} +1 -1
- package/web-dist/assets/{dagre-VKFMJZFB-C8WIcb6F.js → dagre-VKFMJZFB-BSYt3Ueo.js} +1 -1
- package/web-dist/assets/{diagram-FQU43EPY-C3aPYv7S.js → diagram-FQU43EPY-D_poYJjj.js} +1 -1
- package/web-dist/assets/{diagram-G47NLZAW-B4wmfzMx.js → diagram-G47NLZAW-DiX0WcIi.js} +1 -1
- package/web-dist/assets/{diagram-NH7WQ7WH-DVeUa_5D.js → diagram-NH7WQ7WH-BSXO9aR-.js} +1 -1
- package/web-dist/assets/{diagram-OA4YK3LP-BaQwQu_F.js → diagram-OA4YK3LP-c5PFWmce.js} +1 -1
- package/web-dist/assets/{diagram-WEI45ONY-DqprB85c.js → diagram-WEI45ONY-0E2e-eEl.js} +1 -1
- package/web-dist/assets/{dist-rtzL4gLm.js → dist-BNr2jceV.js} +1 -1
- package/web-dist/assets/{ebnfDiagram-CCIWWBDH-Mm1irNb1.js → ebnfDiagram-CCIWWBDH-sug5MowW.js} +1 -1
- package/web-dist/assets/{erDiagram-Q63AITRT-MKBulWN5.js → erDiagram-Q63AITRT-DWn4eYuP.js} +1 -1
- package/web-dist/assets/eventmodeling-45OFAUF4-CbAeMPGX.js +1 -0
- package/web-dist/assets/flowDiagram-23GEKE2U-Dzd-86wz.js +1 -0
- package/web-dist/assets/{ganttDiagram-NO4QXBWP-D2y3Bf3l.js → ganttDiagram-NO4QXBWP-BjQPsYE_.js} +1 -1
- package/web-dist/assets/{gitGraph-TEB2WS4Q-O-LVx0X5.js → gitGraph-TEB2WS4Q-Y9S6dZOS.js} +1 -1
- package/web-dist/assets/{gitGraphDiagram-IHSO6WYX-DcQEaYcT.js → gitGraphDiagram-IHSO6WYX-CMq9b8vX.js} +1 -1
- package/web-dist/assets/index-BXB3wIbN.css +2 -0
- package/web-dist/assets/{index-DpPWC0ta.js → index-xddrwgDi.js} +90 -89
- package/web-dist/assets/{info-DKCQHKI2-CY6fWeew.js → info-DKCQHKI2-CWtE6dST.js} +1 -1
- package/web-dist/assets/{infoDiagram-FWYZ7A6U-BVfQV-3W.js → infoDiagram-FWYZ7A6U-C2NWIaif.js} +1 -1
- package/web-dist/assets/{ishikawaDiagram-FXEZZL3T-dwjcM4Ez.js → ishikawaDiagram-FXEZZL3T-DXzUcIZF.js} +1 -1
- package/web-dist/assets/{journeyDiagram-5HDEW3XC-CUaZBvLp.js → journeyDiagram-5HDEW3XC-qJI9aTVd.js} +1 -1
- package/web-dist/assets/{kanban-definition-HUTT4EX6-DE8wReP0.js → kanban-definition-HUTT4EX6-4Lj8CQgB.js} +1 -1
- package/web-dist/assets/{line-zArFI85C.js → line-DIrw6BIn.js} +1 -1
- package/web-dist/assets/{linear-BSG56Yjb.js → linear-BNIMlWSR.js} +1 -1
- package/web-dist/assets/{mermaid-parser.core-BxbE62as.js → mermaid-parser.core-d7S7o_PA.js} +3 -3
- package/web-dist/assets/{mermaid.core-C9Bw1zsy.js → mermaid.core-D_uuLgtZ.js} +3 -3
- package/web-dist/assets/{mindmap-definition-LN4V7U3C-BhguO5c0.js → mindmap-definition-LN4V7U3C-BGHuc-YM.js} +1 -1
- package/web-dist/assets/{packet-7NZHBO7P-C9Him4Jg.js → packet-7NZHBO7P-DysEFjId.js} +1 -1
- package/web-dist/assets/{pegDiagram-2B236MQR-D4wv-hVO.js → pegDiagram-2B236MQR-DwkqJI5_.js} +1 -1
- package/web-dist/assets/{pie-RZYD4A2V-CXMTL6pQ.js → pie-RZYD4A2V-DC38iBe5.js} +1 -1
- package/web-dist/assets/{pieDiagram-ENE6RG2P-CHBrF8Gr.js → pieDiagram-ENE6RG2P-DpVWPnNY.js} +1 -1
- package/web-dist/assets/{quadrantDiagram-ABIIQ3AL-yT8E8mdN.js → quadrantDiagram-ABIIQ3AL-C5xGorjA.js} +1 -1
- package/web-dist/assets/{radar-I7S5WNFK-DTFJXgLK.js → radar-I7S5WNFK-C6PrFcXa.js} +1 -1
- package/web-dist/assets/{railroad-3IZDKUUU-9El5FU8p.js → railroad-3IZDKUUU-D9YHM7vZ.js} +1 -1
- package/web-dist/assets/railroad-abnf-AHOZXSZD-B04LSTOs.js +1 -0
- package/web-dist/assets/railroad-ebnf-EBAXGLYW-D1pcb-wx.js +1 -0
- package/web-dist/assets/railroad-peg-LSFZ7HO6-D-LbH7mN.js +1 -0
- package/web-dist/assets/{railroadDiagram-RFXS5EU6-DHRB37mq.js → railroadDiagram-RFXS5EU6-C2j0z7hC.js} +1 -1
- package/web-dist/assets/{requirementDiagram-TGXJPOKE-Cj41jOCz.js → requirementDiagram-TGXJPOKE-Bq_baMBe.js} +1 -1
- package/web-dist/assets/{sankeyDiagram-HTMAVEWB-Czb26Wy-.js → sankeyDiagram-HTMAVEWB-CligXT76.js} +1 -1
- package/web-dist/assets/{sequenceDiagram-DBY2YBRQ-C_WGyZ5J.js → sequenceDiagram-DBY2YBRQ-DDElTttj.js} +1 -1
- package/web-dist/assets/{src-BH3865Hl.js → src-CDEniJg5.js} +1 -1
- package/web-dist/assets/{stateDiagram-2N3HPSRC-DwKIv4VY.js → stateDiagram-2N3HPSRC-F3GBVtlR.js} +1 -1
- package/web-dist/assets/stateDiagram-v2-6OUMAXLB-AyunP4Gk.js +1 -0
- package/web-dist/assets/{swimlanes-5IMT3BWC-Bf3tF-DM.js → swimlanes-5IMT3BWC-BoqqfmHh.js} +1 -1
- package/web-dist/assets/swimlanesDiagram-G3AALYLV-CnMYwZeI.js +8 -0
- package/web-dist/assets/{timeline-definition-FHXFAJF6-X_Wo2yjO.js → timeline-definition-FHXFAJF6-C3tpbuLT.js} +1 -1
- package/web-dist/assets/{treeView-QDETBFTQ-Cdlwh2BX.js → treeView-QDETBFTQ-v67h6a2k.js} +1 -1
- package/web-dist/assets/{treemap-6X3UGDF4-ByVScQ5B.js → treemap-6X3UGDF4-BxG9V7LR.js} +1 -1
- package/web-dist/assets/{vennDiagram-L72KCM5P-B7dNcpqz.js → vennDiagram-L72KCM5P-QPebQmx5.js} +1 -1
- package/web-dist/assets/{wardley-OPB4EBWU-CEiXyYvs.js → wardley-OPB4EBWU-Cf_j_CaV.js} +1 -1
- package/web-dist/assets/{wardleyDiagram-EHGQE667-CehzwZ8g.js → wardleyDiagram-EHGQE667-BAkdTjBJ.js} +1 -1
- package/web-dist/assets/{xychartDiagram-FW5EYKEG-BmuVKE3h.js → xychartDiagram-FW5EYKEG-CT9Ye_bC.js} +1 -1
- package/web-dist/index.html +2 -2
- package/web-dist/assets/architecture-TIHT7OUA-BbpJdZVL.js +0 -1
- package/web-dist/assets/channel-D0yqk-I_.js +0 -1
- package/web-dist/assets/classDiagram-OUVF2IWQ-BrNNI0PJ.js +0 -1
- package/web-dist/assets/classDiagram-v2-EOCWNBFH-BrNNI0PJ.js +0 -1
- package/web-dist/assets/eventmodeling-45OFAUF4-JhoriiTk.js +0 -1
- package/web-dist/assets/flowDiagram-23GEKE2U-BY5NuqLK.js +0 -1
- package/web-dist/assets/index-BSpdKQMe.css +0 -2
- package/web-dist/assets/railroad-abnf-AHOZXSZD-DfSVqPIB.js +0 -1
- package/web-dist/assets/railroad-ebnf-EBAXGLYW-vIxB5rhr.js +0 -1
- package/web-dist/assets/railroad-peg-LSFZ7HO6-7hKGS43v.js +0 -1
- package/web-dist/assets/stateDiagram-v2-6OUMAXLB-e_B-QQch.js +0 -1
- package/web-dist/assets/swimlanesDiagram-G3AALYLV-CrDVZVa-.js +0 -8
|
@@ -70,6 +70,27 @@ function sweepStaleSockets(options, deps = {}) {
|
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
// packages/server/src/backend/socket-ownership.ts
|
|
74
|
+
import { statSync } from "node:fs";
|
|
75
|
+
function socketPathOwnership(socketPath) {
|
|
76
|
+
if (process.platform === "win32") return () => true;
|
|
77
|
+
let bound;
|
|
78
|
+
try {
|
|
79
|
+
const stat = statSync(socketPath);
|
|
80
|
+
bound = { dev: stat.dev, ino: stat.ino };
|
|
81
|
+
} catch {
|
|
82
|
+
return () => true;
|
|
83
|
+
}
|
|
84
|
+
return () => {
|
|
85
|
+
try {
|
|
86
|
+
const now = statSync(socketPath);
|
|
87
|
+
return now.dev === bound.dev && now.ino === bound.ino;
|
|
88
|
+
} catch {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
73
94
|
// packages/server/src/runtime-lease.ts
|
|
74
95
|
import { existsSync, mkdirSync, readdirSync as readdirSync2, readFileSync, unlinkSync as unlinkSync2, writeFileSync } from "node:fs";
|
|
75
96
|
import { dirname, join as join2 } from "node:path";
|
|
@@ -174,6 +195,7 @@ function main() {
|
|
|
174
195
|
let dropped = 0;
|
|
175
196
|
let idleTimer = null;
|
|
176
197
|
let published = false;
|
|
198
|
+
let socketPathIsOurs = () => true;
|
|
177
199
|
const recordOwner = () => {
|
|
178
200
|
try {
|
|
179
201
|
const value = JSON.parse(readFileSync2(config.recordPath, "utf8"));
|
|
@@ -195,7 +217,7 @@ function main() {
|
|
|
195
217
|
}
|
|
196
218
|
}
|
|
197
219
|
if (published && owner !== null && owner !== process.pid) return;
|
|
198
|
-
if (published && process.platform !== "win32") {
|
|
220
|
+
if (published && process.platform !== "win32" && socketPathIsOurs()) {
|
|
199
221
|
try {
|
|
200
222
|
unlinkSync3(config.socketPath);
|
|
201
223
|
} catch {
|
|
@@ -239,7 +261,8 @@ function main() {
|
|
|
239
261
|
unreachableStrikes = 0;
|
|
240
262
|
return;
|
|
241
263
|
}
|
|
242
|
-
|
|
264
|
+
const recorded = recordOwner() === process.pid;
|
|
265
|
+
if (recorded && socketPathIsOurs()) {
|
|
243
266
|
unreachableStrikes = 0;
|
|
244
267
|
return;
|
|
245
268
|
}
|
|
@@ -248,7 +271,7 @@ function main() {
|
|
|
248
271
|
child.kill("SIGTERM");
|
|
249
272
|
} catch {
|
|
250
273
|
}
|
|
251
|
-
die(0, "self-collected-record-reassigned");
|
|
274
|
+
die(0, recorded ? "self-collected-socket-lost" : "self-collected-record-reassigned");
|
|
252
275
|
};
|
|
253
276
|
const toClient = (line) => {
|
|
254
277
|
if (client) {
|
|
@@ -380,6 +403,7 @@ function main() {
|
|
|
380
403
|
server.on("error", () => die(6, "socket-listen-error"));
|
|
381
404
|
server.listen(config.socketPath, () => {
|
|
382
405
|
published = true;
|
|
406
|
+
socketPathIsOurs = socketPathOwnership(config.socketPath);
|
|
383
407
|
writeRecord();
|
|
384
408
|
armIdleExit();
|
|
385
409
|
const reachability = setInterval(checkReachable, config.reachabilityCheckMs ?? REACHABILITY_CHECK_MS);
|