frizz-server 0.15.6 → 0.15.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/dist/acp-daemon.js +27 -3
- package/dist/claude-agent-broker.js +7237 -7058
- package/dist/codex-app-server-daemon.js +27 -3
- package/dist/dev-child.js +8052 -7605
- 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-CZ-wD9Pi.js → abnfDiagram-VRR7QNED-5ei_4zAM.js} +1 -1
- package/web-dist/assets/{arc-B6PxOxwN.js → arc-IM-a48Qs.js} +1 -1
- package/web-dist/assets/architecture-TIHT7OUA-bSjZeCDP.js +1 -0
- package/web-dist/assets/{architectureDiagram-ZJ3FMSHR-RhXYmNFS.js → architectureDiagram-ZJ3FMSHR-2XGTphLh.js} +1 -1
- package/web-dist/assets/{blockDiagram-677ZJIJ3-CWFIA2wl.js → blockDiagram-677ZJIJ3-DZM9KutE.js} +1 -1
- package/web-dist/assets/{c4Diagram-LMCZKHZV-a_8W8YED.js → c4Diagram-LMCZKHZV-CKa_m4-S.js} +1 -1
- package/web-dist/assets/channel-CZsSDpaO.js +1 -0
- package/web-dist/assets/{chunk-32BRIVSS-D2rHk98z.js → chunk-32BRIVSS-BLSMcIRY.js} +1 -1
- package/web-dist/assets/{chunk-52WLFC77-CWEsT78U.js → chunk-52WLFC77-DevWfx8Y.js} +1 -1
- package/web-dist/assets/{chunk-C7G6YPKG-_VmtokVL.js → chunk-C7G6YPKG-CsLDw_Vc.js} +1 -1
- package/web-dist/assets/{chunk-EX3LRPZG-D-X50ThB.js → chunk-EX3LRPZG-CAVfNVN8.js} +1 -1
- package/web-dist/assets/{chunk-FWX5IMBZ-CGqRNfHp.js → chunk-FWX5IMBZ-ba3X5gAQ.js} +2 -2
- package/web-dist/assets/{chunk-HOUHSVGY-WBGEp5je.js → chunk-HOUHSVGY-Bm5rhDGu.js} +1 -1
- package/web-dist/assets/{chunk-ICXQ74PX-CmP1eApQ.js → chunk-ICXQ74PX-DKF-sXIi.js} +1 -1
- package/web-dist/assets/{chunk-MOJQB5TN-BZ1bmZum.js → chunk-MOJQB5TN-19qz3xL4.js} +1 -1
- package/web-dist/assets/{chunk-OGEWGWER-CzwMdo9U.js → chunk-OGEWGWER-DLdOho5W.js} +1 -1
- package/web-dist/assets/{chunk-PUDLZKDR-Do469VDm.js → chunk-PUDLZKDR-C1Nj5k8G.js} +1 -1
- package/web-dist/assets/{chunk-Q4XR5HBZ-CmOBDbK_.js → chunk-Q4XR5HBZ-CPx-9pEy.js} +1 -1
- package/web-dist/assets/{chunk-RYQCIY6F-COT7lOVz.js → chunk-RYQCIY6F-BVfqVyNV.js} +1 -1
- package/web-dist/assets/{chunk-V7JOEXUC-D-SG9x0J.js → chunk-V7JOEXUC-Bq5EG6OC.js} +1 -1
- package/web-dist/assets/{chunk-VAUOI2AC-BExVhAQw.js → chunk-VAUOI2AC-CyfJDqu-.js} +1 -1
- package/web-dist/assets/{chunk-VR4S4FIN-B-Ge8In9.js → chunk-VR4S4FIN-DMki15_r.js} +1 -1
- package/web-dist/assets/{chunk-WYO6CB5R-DfBjDTXo.js → chunk-WYO6CB5R-C30gZnnl.js} +1 -1
- package/web-dist/assets/{chunk-XXDRQBXY--F0XCfax.js → chunk-XXDRQBXY-CP4D_ETY.js} +1 -1
- package/web-dist/assets/{chunk-ZGVPDNZ5-UCZKQQUg.js → chunk-ZGVPDNZ5-k3kNBN88.js} +1 -1
- package/web-dist/assets/classDiagram-OUVF2IWQ-he8mN_1d.js +1 -0
- package/web-dist/assets/classDiagram-v2-EOCWNBFH-he8mN_1d.js +1 -0
- package/web-dist/assets/{cose-bilkent-JH36ORCC-CmX8Gv7s.js → cose-bilkent-JH36ORCC-wO3EsovI.js} +1 -1
- package/web-dist/assets/{cynefin-VYW2F7L2-Dwhxaitx.js → cynefin-VYW2F7L2-C3EU9o4N.js} +1 -1
- package/web-dist/assets/{cynefinDiagram-TSTJHNR4-DQTFjDFR.js → cynefinDiagram-TSTJHNR4-CGG-zKEM.js} +1 -1
- package/web-dist/assets/{dagre-VKFMJZFB-BYpVu6f4.js → dagre-VKFMJZFB-DyC8Hqa9.js} +1 -1
- package/web-dist/assets/{diagram-FQU43EPY-CQplneXC.js → diagram-FQU43EPY-B0kKGxoR.js} +1 -1
- package/web-dist/assets/{diagram-G47NLZAW-DA7cElCp.js → diagram-G47NLZAW-B0HF-C4G.js} +1 -1
- package/web-dist/assets/{diagram-NH7WQ7WH-li0MTDUM.js → diagram-NH7WQ7WH-ZnEvLrYH.js} +1 -1
- package/web-dist/assets/{diagram-OA4YK3LP-7p7R05tf.js → diagram-OA4YK3LP-ynOqxQd4.js} +1 -1
- package/web-dist/assets/{diagram-WEI45ONY-Cy1Hzdc1.js → diagram-WEI45ONY-DeweEbe9.js} +1 -1
- package/web-dist/assets/{dist-DmF0CxAX.js → dist-DjR2jyYf.js} +1 -1
- package/web-dist/assets/{ebnfDiagram-CCIWWBDH-CMS1p_wJ.js → ebnfDiagram-CCIWWBDH-PvzgPvcs.js} +1 -1
- package/web-dist/assets/{erDiagram-Q63AITRT-DG2mFMRF.js → erDiagram-Q63AITRT-DXj9ksQt.js} +1 -1
- package/web-dist/assets/eventmodeling-45OFAUF4-sgc1I6jd.js +1 -0
- package/web-dist/assets/flowDiagram-23GEKE2U-CgBJXm5_.js +1 -0
- package/web-dist/assets/{ganttDiagram-NO4QXBWP-DTkf_tHY.js → ganttDiagram-NO4QXBWP-jO6JaqFN.js} +1 -1
- package/web-dist/assets/{gitGraph-TEB2WS4Q-egyJ-7lW.js → gitGraph-TEB2WS4Q-CwIqpSfV.js} +1 -1
- package/web-dist/assets/{gitGraphDiagram-IHSO6WYX-Ds3vKI2s.js → gitGraphDiagram-IHSO6WYX-CX-kdWUp.js} +1 -1
- package/web-dist/assets/{index-Wyxx6wr5.js → index-BSuA-nmx.js} +91 -91
- package/web-dist/assets/index-WdL7ce5m.css +2 -0
- package/web-dist/assets/{info-DKCQHKI2-DdZPFOXR.js → info-DKCQHKI2-CvH1I_qF.js} +1 -1
- package/web-dist/assets/{infoDiagram-FWYZ7A6U-C1JNgbK9.js → infoDiagram-FWYZ7A6U-C9NZZW2e.js} +1 -1
- package/web-dist/assets/{ishikawaDiagram-FXEZZL3T-CXkXM4BX.js → ishikawaDiagram-FXEZZL3T-uLWFep7Q.js} +1 -1
- package/web-dist/assets/{journeyDiagram-5HDEW3XC-l-cEFlor.js → journeyDiagram-5HDEW3XC-CsXFiBiD.js} +1 -1
- package/web-dist/assets/{kanban-definition-HUTT4EX6-CqK7RTPV.js → kanban-definition-HUTT4EX6-DK9QRwpc.js} +1 -1
- package/web-dist/assets/{line-BRAtvbNi.js → line-Cwz0rEtC.js} +1 -1
- package/web-dist/assets/{linear-D_MVP0gm.js → linear-BENsfGox.js} +1 -1
- package/web-dist/assets/{mermaid-parser.core-fxmK-snZ.js → mermaid-parser.core-DhmoiWF3.js} +3 -3
- package/web-dist/assets/{mermaid.core-CZXUGHkU.js → mermaid.core-BDr_Kn5Z.js} +3 -3
- package/web-dist/assets/{mindmap-definition-LN4V7U3C-DP06WOYf.js → mindmap-definition-LN4V7U3C-CjIFm3K2.js} +1 -1
- package/web-dist/assets/{packet-7NZHBO7P-CODhqcww.js → packet-7NZHBO7P-CzCyao17.js} +1 -1
- package/web-dist/assets/{pegDiagram-2B236MQR-Dl4uYWDO.js → pegDiagram-2B236MQR-BmDMeRcD.js} +1 -1
- package/web-dist/assets/{pie-RZYD4A2V-tWZF96XV.js → pie-RZYD4A2V-DMM2IkHs.js} +1 -1
- package/web-dist/assets/{pieDiagram-ENE6RG2P-igy5WxSY.js → pieDiagram-ENE6RG2P-CbwVr3qW.js} +1 -1
- package/web-dist/assets/{quadrantDiagram-ABIIQ3AL-BrjJVWqv.js → quadrantDiagram-ABIIQ3AL-De32pmiP.js} +1 -1
- package/web-dist/assets/{radar-I7S5WNFK-Dplt-MkA.js → radar-I7S5WNFK-CbsD9oXO.js} +1 -1
- package/web-dist/assets/{railroad-3IZDKUUU-BQTnnzAs.js → railroad-3IZDKUUU-DBxDhaRB.js} +1 -1
- package/web-dist/assets/railroad-abnf-AHOZXSZD-CHHGvNsw.js +1 -0
- package/web-dist/assets/railroad-ebnf-EBAXGLYW-CNbn6hsV.js +1 -0
- package/web-dist/assets/railroad-peg-LSFZ7HO6-BsBO5cGs.js +1 -0
- package/web-dist/assets/{railroadDiagram-RFXS5EU6-BaK-feKy.js → railroadDiagram-RFXS5EU6-Cc2vK3CJ.js} +1 -1
- package/web-dist/assets/{requirementDiagram-TGXJPOKE-Cee2W8Ye.js → requirementDiagram-TGXJPOKE-BindEO0A.js} +1 -1
- package/web-dist/assets/{sankeyDiagram-HTMAVEWB-CzglQFkc.js → sankeyDiagram-HTMAVEWB-4Y4Mv2hM.js} +1 -1
- package/web-dist/assets/{sequenceDiagram-DBY2YBRQ-jFlU7pOg.js → sequenceDiagram-DBY2YBRQ-BjN0lvxQ.js} +1 -1
- package/web-dist/assets/{src-zizRUWse.js → src-COVUvSFq.js} +1 -1
- package/web-dist/assets/{stateDiagram-2N3HPSRC-DMq7sN7B.js → stateDiagram-2N3HPSRC-CW38CSkC.js} +1 -1
- package/web-dist/assets/stateDiagram-v2-6OUMAXLB-gZiZetc1.js +1 -0
- package/web-dist/assets/{swimlanes-5IMT3BWC-yT4aCQ5N.js → swimlanes-5IMT3BWC-TQBpYgBC.js} +1 -1
- package/web-dist/assets/swimlanesDiagram-G3AALYLV-DWpWeiSt.js +8 -0
- package/web-dist/assets/{timeline-definition-FHXFAJF6-DcXIY0k3.js → timeline-definition-FHXFAJF6-BET2st28.js} +1 -1
- package/web-dist/assets/{treeView-QDETBFTQ-DHL0xZ__.js → treeView-QDETBFTQ-C8KMnMpR.js} +1 -1
- package/web-dist/assets/{treemap-6X3UGDF4-BZ4dFYOn.js → treemap-6X3UGDF4-T0GBmSXN.js} +1 -1
- package/web-dist/assets/{vennDiagram-L72KCM5P-C_f06a5F.js → vennDiagram-L72KCM5P-U1-fDVAv.js} +1 -1
- package/web-dist/assets/{wardley-OPB4EBWU-BLdhQIu_.js → wardley-OPB4EBWU-8e8yAPGj.js} +1 -1
- package/web-dist/assets/{wardleyDiagram-EHGQE667-CcWgV4w1.js → wardleyDiagram-EHGQE667-CWHLRs2-.js} +1 -1
- package/web-dist/assets/{xychartDiagram-FW5EYKEG-CJEA9Coj.js → xychartDiagram-FW5EYKEG-BNqGD1uM.js} +1 -1
- package/web-dist/index.html +2 -2
- package/web-dist/assets/architecture-TIHT7OUA-D9uIHqP-.js +0 -1
- package/web-dist/assets/channel-C4h2FAWO.js +0 -1
- package/web-dist/assets/classDiagram-OUVF2IWQ-BkG-b_eW.js +0 -1
- package/web-dist/assets/classDiagram-v2-EOCWNBFH-BkG-b_eW.js +0 -1
- package/web-dist/assets/eventmodeling-45OFAUF4-DUu3o3cu.js +0 -1
- package/web-dist/assets/flowDiagram-23GEKE2U-BsH2wQZl.js +0 -1
- package/web-dist/assets/index-CHZ-uAnN.css +0 -2
- package/web-dist/assets/railroad-abnf-AHOZXSZD-sk2tZDlX.js +0 -1
- package/web-dist/assets/railroad-ebnf-EBAXGLYW-o4F0qP_H.js +0 -1
- package/web-dist/assets/railroad-peg-LSFZ7HO6-Ag7QR8xi.js +0 -1
- package/web-dist/assets/stateDiagram-v2-6OUMAXLB-uIgK2QDY.js +0 -1
- package/web-dist/assets/swimlanesDiagram-G3AALYLV-C9AvA-4g.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);
|