frizz 0.12.9 → 0.12.11

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.
Files changed (95) hide show
  1. package/dist/claude-agent-broker.js +7850 -7778
  2. package/dist/codex-app-server-daemon.js +49 -10
  3. package/dist/dev-child.js +653 -297
  4. package/dist/frizz.js +118 -21
  5. package/package.json +1 -1
  6. package/runtime/cc-worker/bin/frizz-mcp.mjs +58 -5
  7. package/web-dist/assets/{TerminalPane-CDk5zKv9.js → TerminalPane-DHvHCziB.js} +1 -1
  8. package/web-dist/assets/{abnfDiagram-VRR7QNED-DmkK2qjk.js → abnfDiagram-VRR7QNED-DIzM_IN8.js} +1 -1
  9. package/web-dist/assets/architecture-TIHT7OUA-DBvKOf0j.js +1 -0
  10. package/web-dist/assets/{architectureDiagram-ZJ3FMSHR-BFbA3OG6.js → architectureDiagram-ZJ3FMSHR-Bm_8vd5v.js} +1 -1
  11. package/web-dist/assets/{blockDiagram-677ZJIJ3-DTslTfq9.js → blockDiagram-677ZJIJ3-BXUW_N2o.js} +1 -1
  12. package/web-dist/assets/{c4Diagram-LMCZKHZV-Dmugni-f.js → c4Diagram-LMCZKHZV-C7rfqxUO.js} +1 -1
  13. package/web-dist/assets/channel-CbdXYswc.js +1 -0
  14. package/web-dist/assets/{chunk-32BRIVSS-DS7QIaUB.js → chunk-32BRIVSS-DbfUERLa.js} +1 -1
  15. package/web-dist/assets/{chunk-52WLFC77-CnnFIjVe.js → chunk-52WLFC77-BT_3wKSP.js} +1 -1
  16. package/web-dist/assets/{chunk-C7G6YPKG-BZxNdEVe.js → chunk-C7G6YPKG-JqApnOVt.js} +1 -1
  17. package/web-dist/assets/{chunk-EX3LRPZG-Zv7RLgbb.js → chunk-EX3LRPZG-Cj6hlA4t.js} +1 -1
  18. package/web-dist/assets/{chunk-FWX5IMBZ-6-Zb5eo-.js → chunk-FWX5IMBZ-BGthhuW_.js} +2 -2
  19. package/web-dist/assets/{chunk-HOUHSVGY-J5Ui6IxH.js → chunk-HOUHSVGY-uyLpm_YS.js} +1 -1
  20. package/web-dist/assets/{chunk-ICXQ74PX-DH6GE_Om.js → chunk-ICXQ74PX-BlwUMZAk.js} +1 -1
  21. package/web-dist/assets/{chunk-MOJQB5TN-Bjd1ChDq.js → chunk-MOJQB5TN-MXbNNk-P.js} +1 -1
  22. package/web-dist/assets/{chunk-OGEWGWER-BNvzjYRM.js → chunk-OGEWGWER-Da4My1Rf.js} +1 -1
  23. package/web-dist/assets/{chunk-PUDLZKDR-CdtfylsO.js → chunk-PUDLZKDR-C-PgvO__.js} +1 -1
  24. package/web-dist/assets/{chunk-Q4XR5HBZ-C7N3sKog.js → chunk-Q4XR5HBZ-BxZFe7gr.js} +1 -1
  25. package/web-dist/assets/{chunk-V7JOEXUC-vX-c4OzH.js → chunk-V7JOEXUC-DgERuXm_.js} +1 -1
  26. package/web-dist/assets/{chunk-VAUOI2AC-DtbheJmZ.js → chunk-VAUOI2AC-T5OoQE-_.js} +1 -1
  27. package/web-dist/assets/{chunk-VR4S4FIN-BpE1AOJR.js → chunk-VR4S4FIN--HFvJUG1.js} +1 -1
  28. package/web-dist/assets/{chunk-WYO6CB5R-BupZRR1a.js → chunk-WYO6CB5R-DlAvy41i.js} +1 -1
  29. package/web-dist/assets/{chunk-ZGVPDNZ5-XoWDM-02.js → chunk-ZGVPDNZ5-BdDg7X_H.js} +1 -1
  30. package/web-dist/assets/classDiagram-OUVF2IWQ-BVXwECjS.js +1 -0
  31. package/web-dist/assets/classDiagram-v2-EOCWNBFH-BVXwECjS.js +1 -0
  32. package/web-dist/assets/{cynefin-VYW2F7L2-DOIzVENe.js → cynefin-VYW2F7L2-BhjNO28R.js} +1 -1
  33. package/web-dist/assets/{cynefinDiagram-TSTJHNR4-DGq-kl_q.js → cynefinDiagram-TSTJHNR4-B6VA5gCd.js} +1 -1
  34. package/web-dist/assets/{dagre-VKFMJZFB-Brs6wxcd.js → dagre-VKFMJZFB-6MXoEc6K.js} +1 -1
  35. package/web-dist/assets/{diagram-FQU43EPY-BrQd5FEw.js → diagram-FQU43EPY-D2RSPoK4.js} +1 -1
  36. package/web-dist/assets/{diagram-G47NLZAW-B-DN7aQk.js → diagram-G47NLZAW-BOSbtzOf.js} +1 -1
  37. package/web-dist/assets/{diagram-NH7WQ7WH-DB-NFs3X.js → diagram-NH7WQ7WH-Dt_u21nP.js} +1 -1
  38. package/web-dist/assets/{diagram-OA4YK3LP-DsrBhvMB.js → diagram-OA4YK3LP-CjuWW-7r.js} +1 -1
  39. package/web-dist/assets/{diagram-WEI45ONY-DYctq6PN.js → diagram-WEI45ONY-rANIKJ8N.js} +1 -1
  40. package/web-dist/assets/{ebnfDiagram-CCIWWBDH-C6ghRrJP.js → ebnfDiagram-CCIWWBDH-Bf3kfaKZ.js} +1 -1
  41. package/web-dist/assets/{erDiagram-Q63AITRT-C_iK-Ja6.js → erDiagram-Q63AITRT-6vBp0ITn.js} +1 -1
  42. package/web-dist/assets/eventmodeling-45OFAUF4-STTT-geQ.js +1 -0
  43. package/web-dist/assets/flowDiagram-23GEKE2U-CC7DF1Fz.js +1 -0
  44. package/web-dist/assets/{ganttDiagram-NO4QXBWP-Y9GZAgbA.js → ganttDiagram-NO4QXBWP-C2qN2PMS.js} +1 -1
  45. package/web-dist/assets/{gitGraph-TEB2WS4Q-BgqW4vt7.js → gitGraph-TEB2WS4Q-CRASqc9n.js} +1 -1
  46. package/web-dist/assets/{gitGraphDiagram-IHSO6WYX-eImStPZ8.js → gitGraphDiagram-IHSO6WYX-gsXSPrH2.js} +1 -1
  47. package/web-dist/assets/{index-BOACK0Xu.js → index-DimQCLe8.js} +96 -96
  48. package/web-dist/assets/index-XhfdAXcw.css +1 -0
  49. package/web-dist/assets/{info-DKCQHKI2-BtbNWkY3.js → info-DKCQHKI2-rDkFlFOd.js} +1 -1
  50. package/web-dist/assets/{infoDiagram-FWYZ7A6U-DMIPEeRd.js → infoDiagram-FWYZ7A6U-03ql8Tqr.js} +1 -1
  51. package/web-dist/assets/{ishikawaDiagram-FXEZZL3T-08_raW8G.js → ishikawaDiagram-FXEZZL3T-CfDSAVNp.js} +1 -1
  52. package/web-dist/assets/{journeyDiagram-5HDEW3XC-hPkkufFj.js → journeyDiagram-5HDEW3XC-RWaA6AvH.js} +1 -1
  53. package/web-dist/assets/{kanban-definition-HUTT4EX6-CDBcUNEE.js → kanban-definition-HUTT4EX6-C89qresM.js} +1 -1
  54. package/web-dist/assets/{line-Njg200Gq.js → line-CZtSsvHu.js} +1 -1
  55. package/web-dist/assets/{mermaid-parser.core-1A-yH2Ql.js → mermaid-parser.core-DKNnvxt0.js} +3 -3
  56. package/web-dist/assets/{mermaid.core-D5Mvu4fo.js → mermaid.core-DX8cFeBF.js} +3 -3
  57. package/web-dist/assets/{mindmap-definition-LN4V7U3C-r-0LqhPG.js → mindmap-definition-LN4V7U3C-DW8ClyAX.js} +1 -1
  58. package/web-dist/assets/{packet-7NZHBO7P-Dj8tWs_Q.js → packet-7NZHBO7P-CUOv3apI.js} +1 -1
  59. package/web-dist/assets/{pegDiagram-2B236MQR-BHoUQUjJ.js → pegDiagram-2B236MQR-CFyxKEBL.js} +1 -1
  60. package/web-dist/assets/{pie-RZYD4A2V-GZmPkAjn.js → pie-RZYD4A2V-DyXXRie2.js} +1 -1
  61. package/web-dist/assets/{pieDiagram-ENE6RG2P-CL0ZHN1y.js → pieDiagram-ENE6RG2P-yUw7HA8l.js} +1 -1
  62. package/web-dist/assets/{quadrantDiagram-ABIIQ3AL-vZJzUcfC.js → quadrantDiagram-ABIIQ3AL-Mc7aea_i.js} +1 -1
  63. package/web-dist/assets/{radar-I7S5WNFK-D3x_tyhl.js → radar-I7S5WNFK-BKj0BsQy.js} +1 -1
  64. package/web-dist/assets/{railroad-3IZDKUUU-HVHtGCKZ.js → railroad-3IZDKUUU-DUK_kJIY.js} +1 -1
  65. package/web-dist/assets/railroad-abnf-AHOZXSZD-BDImJcFw.js +1 -0
  66. package/web-dist/assets/railroad-ebnf-EBAXGLYW-BR2XIYqq.js +1 -0
  67. package/web-dist/assets/railroad-peg-LSFZ7HO6-DRCwBbJY.js +1 -0
  68. package/web-dist/assets/{railroadDiagram-RFXS5EU6-Dfw0JONh.js → railroadDiagram-RFXS5EU6-By0Xgb_U.js} +1 -1
  69. package/web-dist/assets/{requirementDiagram-TGXJPOKE-DLM4etHl.js → requirementDiagram-TGXJPOKE-CgTycsRY.js} +1 -1
  70. package/web-dist/assets/{sankeyDiagram-HTMAVEWB-2nsrE-nL.js → sankeyDiagram-HTMAVEWB-mJ_-Grkn.js} +1 -1
  71. package/web-dist/assets/{sequenceDiagram-DBY2YBRQ-VkpQVaPX.js → sequenceDiagram-DBY2YBRQ-Dn6YyeNv.js} +1 -1
  72. package/web-dist/assets/{stateDiagram-2N3HPSRC-xvBH0825.js → stateDiagram-2N3HPSRC-BBws1E-e.js} +1 -1
  73. package/web-dist/assets/stateDiagram-v2-6OUMAXLB-B2jOFVGG.js +1 -0
  74. package/web-dist/assets/{swimlanes-5IMT3BWC-DA8H4qPO.js → swimlanes-5IMT3BWC-Jab-07o9.js} +1 -1
  75. package/web-dist/assets/swimlanesDiagram-G3AALYLV-DhYK_6fH.js +8 -0
  76. package/web-dist/assets/{timeline-definition-FHXFAJF6-npL1KNyH.js → timeline-definition-FHXFAJF6-Cq6RznHz.js} +1 -1
  77. package/web-dist/assets/{treeView-QDETBFTQ-Cea7MDUV.js → treeView-QDETBFTQ-KSelJnyL.js} +1 -1
  78. package/web-dist/assets/{treemap-6X3UGDF4-CGHINewA.js → treemap-6X3UGDF4-B-iiUurZ.js} +1 -1
  79. package/web-dist/assets/{vennDiagram-L72KCM5P-D-RIigY2.js → vennDiagram-L72KCM5P-B8t4NeQy.js} +1 -1
  80. package/web-dist/assets/{wardley-OPB4EBWU-BXdXDctR.js → wardley-OPB4EBWU-CtkAPZLQ.js} +1 -1
  81. package/web-dist/assets/{wardleyDiagram-EHGQE667-tLo8yxD2.js → wardleyDiagram-EHGQE667-DC-ms_sD.js} +1 -1
  82. package/web-dist/assets/{xychartDiagram-FW5EYKEG-I4H6c-9Q.js → xychartDiagram-FW5EYKEG-DW6fcgjF.js} +1 -1
  83. package/web-dist/index.html +2 -2
  84. package/web-dist/assets/architecture-TIHT7OUA-c0q2ebfx.js +0 -1
  85. package/web-dist/assets/channel-CZ15urUA.js +0 -1
  86. package/web-dist/assets/classDiagram-OUVF2IWQ-DFxJiEZ1.js +0 -1
  87. package/web-dist/assets/classDiagram-v2-EOCWNBFH-DFxJiEZ1.js +0 -1
  88. package/web-dist/assets/eventmodeling-45OFAUF4-BdXQ9Pv4.js +0 -1
  89. package/web-dist/assets/flowDiagram-23GEKE2U-rTXtf38R.js +0 -1
  90. package/web-dist/assets/index-BIGkwpMf.css +0 -1
  91. package/web-dist/assets/railroad-abnf-AHOZXSZD-BD2umz4T.js +0 -1
  92. package/web-dist/assets/railroad-ebnf-EBAXGLYW-C1IGySZs.js +0 -1
  93. package/web-dist/assets/railroad-peg-LSFZ7HO6-BVCH7yeK.js +0 -1
  94. package/web-dist/assets/stateDiagram-v2-6OUMAXLB-B3bLucl6.js +0 -1
  95. package/web-dist/assets/swimlanesDiagram-G3AALYLV-cYXAfa4Q.js +0 -8
@@ -3,8 +3,8 @@ import { createRequire as __frizzCreateRequire } from "node:module"; const requi
3
3
  // packages/server/src/backend/codex-app-server-daemon.ts
4
4
  import { spawn } from "node:child_process";
5
5
  import { createServer } from "node:net";
6
- import { existsSync, readFileSync, unlinkSync as unlinkSync2, writeFileSync } from "node:fs";
7
- import { dirname } from "node:path";
6
+ import { existsSync as existsSync2, readFileSync as readFileSync2, unlinkSync as unlinkSync3, writeFileSync as writeFileSync2 } from "node:fs";
7
+ import { dirname as dirname2 } from "node:path";
8
8
  import { StringDecoder } from "node:string_decoder";
9
9
 
10
10
  // packages/server/src/backend/stale-socket-sweep.ts
@@ -70,6 +70,43 @@ function sweepStaleSockets(options, deps = {}) {
70
70
  });
71
71
  }
72
72
 
73
+ // packages/server/src/runtime-lease.ts
74
+ import { existsSync, mkdirSync, readdirSync as readdirSync2, readFileSync, unlinkSync as unlinkSync2, writeFileSync } from "node:fs";
75
+ import { dirname, join as join2 } from "node:path";
76
+ var PROVISIONED_MARKER = "provisioned.json";
77
+ var LEASES_DIR = ".leases";
78
+ var MAX_ASCENT = 6;
79
+ function runtimeVersionDir(bin) {
80
+ let dir = dirname(bin);
81
+ for (let step = 0; step < MAX_ASCENT; step++) {
82
+ if (existsSync(join2(dir, PROVISIONED_MARKER))) return dir;
83
+ const parent = dirname(dir);
84
+ if (parent === dir) return void 0;
85
+ dir = parent;
86
+ }
87
+ return void 0;
88
+ }
89
+ function leaseRuntime(bin, role) {
90
+ const versionDir = runtimeVersionDir(bin);
91
+ if (!versionDir) return () => {
92
+ };
93
+ const path = join2(versionDir, LEASES_DIR, `${process.pid}.json`);
94
+ try {
95
+ mkdirSync(dirname(path), { recursive: true });
96
+ const lease = { pid: process.pid, role, bin, at: (/* @__PURE__ */ new Date()).toISOString() };
97
+ writeFileSync(path, JSON.stringify(lease));
98
+ } catch {
99
+ return () => {
100
+ };
101
+ }
102
+ return () => {
103
+ try {
104
+ unlinkSync2(path);
105
+ } catch {
106
+ }
107
+ };
108
+ }
109
+
73
110
  // packages/server/src/backend/codex-app-server-daemon.ts
74
111
  var MAX_QUEUED_LINES = 2e4;
75
112
  var MAX_QUEUED_BYTES = 64 * 1024 * 1024;
@@ -118,6 +155,7 @@ function lineReader(onLine, onOverflow) {
118
155
  }
119
156
  function main() {
120
157
  const config = readConfig();
158
+ const releaseRuntimeLease = leaseRuntime(config.codexBin, "codex-app-server");
121
159
  const child = spawn(config.codexBin, config.appServerArgs ?? ["app-server", "--stdio"], {
122
160
  cwd: config.cwd,
123
161
  env: config.env,
@@ -131,7 +169,7 @@ function main() {
131
169
  let published = false;
132
170
  const recordOwner = () => {
133
171
  try {
134
- const value = JSON.parse(readFileSync(config.recordPath, "utf8"));
172
+ const value = JSON.parse(readFileSync2(config.recordPath, "utf8"));
135
173
  return typeof value.daemonPid === "number" ? value.daemonPid : null;
136
174
  } catch {
137
175
  return null;
@@ -145,21 +183,21 @@ function main() {
145
183
  const owner = recordOwner();
146
184
  if (owner === process.pid) {
147
185
  try {
148
- unlinkSync2(config.recordPath);
186
+ unlinkSync3(config.recordPath);
149
187
  } catch {
150
188
  }
151
189
  }
152
190
  if (published && owner !== null && owner !== process.pid) return;
153
191
  if (published && process.platform !== "win32") {
154
192
  try {
155
- unlinkSync2(config.socketPath);
193
+ unlinkSync3(config.socketPath);
156
194
  } catch {
157
195
  }
158
196
  }
159
197
  };
160
198
  const writeExitBreadcrumb = (reason) => {
161
199
  try {
162
- writeFileSync(`${config.recordPath}.exit`, JSON.stringify({
200
+ writeFileSync2(`${config.recordPath}.exit`, JSON.stringify({
163
201
  projectId: config.projectId,
164
202
  generation: config.generation,
165
203
  daemonPid: process.pid,
@@ -172,6 +210,7 @@ function main() {
172
210
  };
173
211
  const die = (code, reason) => {
174
212
  writeExitBreadcrumb(reason);
213
+ releaseRuntimeLease();
175
214
  cleanup();
176
215
  process.exit(code);
177
216
  };
@@ -279,7 +318,7 @@ function main() {
279
318
  toServer(message);
280
319
  };
281
320
  const writeRecord = () => {
282
- writeFileSync(config.recordPath, JSON.stringify({
321
+ writeFileSync2(config.recordPath, JSON.stringify({
283
322
  projectId: config.projectId,
284
323
  generation: config.generation,
285
324
  daemonPid: process.pid,
@@ -323,11 +362,11 @@ function main() {
323
362
  sock.on("close", drop);
324
363
  sock.on("error", drop);
325
364
  });
326
- const sweepOwnFamily = () => sweepStaleSockets({ dir: dirname(config.socketPath), prefix: "frizz-codex-", keep: [config.socketPath] });
365
+ const sweepOwnFamily = () => sweepStaleSockets({ dir: dirname2(config.socketPath), prefix: "frizz-codex-", keep: [config.socketPath] });
327
366
  const startListening = () => {
328
- if (process.platform !== "win32" && existsSync(config.socketPath)) {
367
+ if (process.platform !== "win32" && existsSync2(config.socketPath)) {
329
368
  try {
330
- unlinkSync2(config.socketPath);
369
+ unlinkSync3(config.socketPath);
331
370
  } catch {
332
371
  }
333
372
  }