frizz 0.8.1 → 0.9.0

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 (104) hide show
  1. package/README.md +3 -2
  2. package/dist/claude-agent-broker.js +15 -1
  3. package/dist/dev-child.js +3819 -1521
  4. package/dist/frizz.js +618 -259
  5. package/package.json +1 -1
  6. package/runtime/board/config.mjs +12 -1
  7. package/runtime/board/index.mjs +5 -0
  8. package/runtime/board/thread-update.mjs +4 -0
  9. package/runtime/cc-worker/.claude-plugin/plugin.json +1 -1
  10. package/runtime/cc-worker/DECISIONS.md +7 -0
  11. package/runtime/cc-worker/bin/frizz-mcp.mjs +561 -46
  12. package/runtime/cc-worker/hooks/scratchpad.mjs +20 -24
  13. package/runtime/cc-worker/hooks/session-seed.mjs +2 -2
  14. package/runtime/cc-worker/skills/gh/scripts/github-watch.mjs +1 -1
  15. package/web-dist/assets/{TerminalPane-BM_laA_I.js → TerminalPane-CNFymHXK.js} +1 -1
  16. package/web-dist/assets/{abnfDiagram-VRR7QNED-C5FCLi1n.js → abnfDiagram-VRR7QNED-DNBrcJfV.js} +1 -1
  17. package/web-dist/assets/architecture-TIHT7OUA-BSUDKbro.js +1 -0
  18. package/web-dist/assets/{architectureDiagram-ZJ3FMSHR-Dm7tUnwt.js → architectureDiagram-ZJ3FMSHR-SXVydqly.js} +1 -1
  19. package/web-dist/assets/{blockDiagram-677ZJIJ3-3EhpmwKM.js → blockDiagram-677ZJIJ3-CgI1GSdx.js} +1 -1
  20. package/web-dist/assets/{c4Diagram-LMCZKHZV-Ca-BjDxw.js → c4Diagram-LMCZKHZV-KDmJm2tG.js} +1 -1
  21. package/web-dist/assets/channel-DaCOnTxr.js +1 -0
  22. package/web-dist/assets/{chunk-32BRIVSS-xGbaUlTN.js → chunk-32BRIVSS-j3eOjq4Z.js} +1 -1
  23. package/web-dist/assets/{chunk-52WLFC77-YYhE3F1a.js → chunk-52WLFC77-DZHfa78H.js} +1 -1
  24. package/web-dist/assets/{chunk-C7G6YPKG-SYKXFtUg.js → chunk-C7G6YPKG-CiB5uo24.js} +1 -1
  25. package/web-dist/assets/{chunk-EX3LRPZG-cqjtdM_c.js → chunk-EX3LRPZG-B35Inyjz.js} +1 -1
  26. package/web-dist/assets/{chunk-FWX5IMBZ-qyaTngKT.js → chunk-FWX5IMBZ-D2sRvM5U.js} +2 -2
  27. package/web-dist/assets/{chunk-HOUHSVGY-DBFt1HnE.js → chunk-HOUHSVGY-D247PDv6.js} +1 -1
  28. package/web-dist/assets/{chunk-ICXQ74PX-Bme_2_gm.js → chunk-ICXQ74PX-Bu3Tb6Ec.js} +1 -1
  29. package/web-dist/assets/{chunk-MOJQB5TN-DupTmWhN.js → chunk-MOJQB5TN-C_lQy4on.js} +1 -1
  30. package/web-dist/assets/{chunk-OGEWGWER-DSqmbKCq.js → chunk-OGEWGWER-DU5ZBedR.js} +1 -1
  31. package/web-dist/assets/{chunk-PUDLZKDR-DVnHUoFN.js → chunk-PUDLZKDR-DWRT7ztS.js} +1 -1
  32. package/web-dist/assets/{chunk-Q4XR5HBZ-BIZh_Yuh.js → chunk-Q4XR5HBZ-CCX4AK_n.js} +1 -1
  33. package/web-dist/assets/{chunk-V7JOEXUC-e2G7UgOg.js → chunk-V7JOEXUC-VbixbkDG.js} +1 -1
  34. package/web-dist/assets/{chunk-VAUOI2AC-uYgyYWPh.js → chunk-VAUOI2AC-PJvChxMA.js} +1 -1
  35. package/web-dist/assets/{chunk-VR4S4FIN-BjGjcexQ.js → chunk-VR4S4FIN-BjsMfxj8.js} +1 -1
  36. package/web-dist/assets/{chunk-WYO6CB5R-BKKd_W3B.js → chunk-WYO6CB5R-Bcb97r3w.js} +1 -1
  37. package/web-dist/assets/{chunk-ZGVPDNZ5-D5_hsjnF.js → chunk-ZGVPDNZ5-CT2sZlhT.js} +1 -1
  38. package/web-dist/assets/classDiagram-OUVF2IWQ-BlylbZXV.js +1 -0
  39. package/web-dist/assets/classDiagram-v2-EOCWNBFH-BlylbZXV.js +1 -0
  40. package/web-dist/assets/{cynefin-VYW2F7L2-bkFv7EpV.js → cynefin-VYW2F7L2-dUpO4u0w.js} +1 -1
  41. package/web-dist/assets/{cynefinDiagram-TSTJHNR4-Du2-dyuZ.js → cynefinDiagram-TSTJHNR4-BQZ3UIsx.js} +1 -1
  42. package/web-dist/assets/{dagre-VKFMJZFB-CU7w00Ul.js → dagre-VKFMJZFB-K-oO8w51.js} +1 -1
  43. package/web-dist/assets/{diagram-FQU43EPY-BxvVgxWb.js → diagram-FQU43EPY-Cr47GJ_S.js} +1 -1
  44. package/web-dist/assets/{diagram-G47NLZAW-D8VvetwQ.js → diagram-G47NLZAW-BbWzSkoZ.js} +1 -1
  45. package/web-dist/assets/{diagram-NH7WQ7WH-CwsChkED.js → diagram-NH7WQ7WH-BGJJBgGM.js} +1 -1
  46. package/web-dist/assets/{diagram-OA4YK3LP-BIPYbe6L.js → diagram-OA4YK3LP-2W7aunEN.js} +1 -1
  47. package/web-dist/assets/{diagram-WEI45ONY-BoyH4dKl.js → diagram-WEI45ONY-D-4ITFI6.js} +1 -1
  48. package/web-dist/assets/{ebnfDiagram-CCIWWBDH-9A3WRDfU.js → ebnfDiagram-CCIWWBDH-CxUcx103.js} +1 -1
  49. package/web-dist/assets/{erDiagram-Q63AITRT-D3Y9WA4H.js → erDiagram-Q63AITRT-Cf_5SWAE.js} +1 -1
  50. package/web-dist/assets/eventmodeling-45OFAUF4-DxKQnZNV.js +1 -0
  51. package/web-dist/assets/flowDiagram-23GEKE2U-Cdz9YM2Z.js +1 -0
  52. package/web-dist/assets/{ganttDiagram-NO4QXBWP-Bk2-LClm.js → ganttDiagram-NO4QXBWP-CVZI8Ywa.js} +1 -1
  53. package/web-dist/assets/{gitGraph-TEB2WS4Q-CXvPrsio.js → gitGraph-TEB2WS4Q-BsiGpR9l.js} +1 -1
  54. package/web-dist/assets/{gitGraphDiagram-IHSO6WYX-BC9D72kT.js → gitGraphDiagram-IHSO6WYX-DVym_4l1.js} +1 -1
  55. package/web-dist/assets/index-CYzJK7u0.js +497 -0
  56. package/web-dist/assets/index-CovJDCWc.css +1 -0
  57. package/web-dist/assets/{info-DKCQHKI2-Beag76kE.js → info-DKCQHKI2-DYcsKFv-.js} +1 -1
  58. package/web-dist/assets/{infoDiagram-FWYZ7A6U-DaqYXHYB.js → infoDiagram-FWYZ7A6U-hjVxlrTT.js} +1 -1
  59. package/web-dist/assets/{ishikawaDiagram-FXEZZL3T-D-d4tmLU.js → ishikawaDiagram-FXEZZL3T-B0DKOPSS.js} +1 -1
  60. package/web-dist/assets/{journeyDiagram-5HDEW3XC-kkFYzNg1.js → journeyDiagram-5HDEW3XC-Cohibc5O.js} +1 -1
  61. package/web-dist/assets/{kanban-definition-HUTT4EX6-BYRPjbfv.js → kanban-definition-HUTT4EX6-_6Zr31vM.js} +1 -1
  62. package/web-dist/assets/{line-C8l7y6rG.js → line-B14EZI6M.js} +1 -1
  63. package/web-dist/assets/{mermaid-parser.core-BG3fgy77.js → mermaid-parser.core-DHkc6cqw.js} +3 -3
  64. package/web-dist/assets/{mermaid.core-BCDzcbhr.js → mermaid.core-DuTvdsKf.js} +3 -3
  65. package/web-dist/assets/{mindmap-definition-LN4V7U3C-CP_bgQm8.js → mindmap-definition-LN4V7U3C-DPRF9pW2.js} +1 -1
  66. package/web-dist/assets/{packet-7NZHBO7P-Dgd69pFS.js → packet-7NZHBO7P-Ci8oCcGM.js} +1 -1
  67. package/web-dist/assets/{pegDiagram-2B236MQR-BJUb_DOD.js → pegDiagram-2B236MQR-Cr3ctC6e.js} +1 -1
  68. package/web-dist/assets/{pie-RZYD4A2V-DPbVRAuL.js → pie-RZYD4A2V-EHgA307y.js} +1 -1
  69. package/web-dist/assets/{pieDiagram-ENE6RG2P-DavUeOqM.js → pieDiagram-ENE6RG2P-UW6Bmu6F.js} +1 -1
  70. package/web-dist/assets/{quadrantDiagram-ABIIQ3AL-BdvoSedu.js → quadrantDiagram-ABIIQ3AL-D6tAsRj9.js} +1 -1
  71. package/web-dist/assets/{radar-I7S5WNFK-C2TAta9K.js → radar-I7S5WNFK-CAQqojcd.js} +1 -1
  72. package/web-dist/assets/{railroad-3IZDKUUU-DEMjzYqC.js → railroad-3IZDKUUU-BZsAOTrm.js} +1 -1
  73. package/web-dist/assets/railroad-abnf-AHOZXSZD-_2rSHfPz.js +1 -0
  74. package/web-dist/assets/railroad-ebnf-EBAXGLYW-xM3eAMFz.js +1 -0
  75. package/web-dist/assets/railroad-peg-LSFZ7HO6-cZlBUsED.js +1 -0
  76. package/web-dist/assets/{railroadDiagram-RFXS5EU6-C4rERo6H.js → railroadDiagram-RFXS5EU6-bSpff55H.js} +1 -1
  77. package/web-dist/assets/{requirementDiagram-TGXJPOKE-DlIG9D0n.js → requirementDiagram-TGXJPOKE-DIAYvXoB.js} +1 -1
  78. package/web-dist/assets/{sankeyDiagram-HTMAVEWB-DVMrG-qY.js → sankeyDiagram-HTMAVEWB-DEnsSz3F.js} +1 -1
  79. package/web-dist/assets/{sequenceDiagram-DBY2YBRQ-DDcDM_-e.js → sequenceDiagram-DBY2YBRQ-DsG7eb9R.js} +1 -1
  80. package/web-dist/assets/{stateDiagram-2N3HPSRC-DuCRKU5t.js → stateDiagram-2N3HPSRC-DT3XNwjo.js} +1 -1
  81. package/web-dist/assets/stateDiagram-v2-6OUMAXLB-C06v0Ltu.js +1 -0
  82. package/web-dist/assets/{swimlanes-5IMT3BWC-CY0fdvUm.js → swimlanes-5IMT3BWC-B5hZwgRo.js} +1 -1
  83. package/web-dist/assets/swimlanesDiagram-G3AALYLV-CXyN7ZyO.js +8 -0
  84. package/web-dist/assets/{timeline-definition-FHXFAJF6-De0fDNdU.js → timeline-definition-FHXFAJF6-BVTsjkfu.js} +1 -1
  85. package/web-dist/assets/{treeView-QDETBFTQ-AIoMhcen.js → treeView-QDETBFTQ-M6HmP4bB.js} +1 -1
  86. package/web-dist/assets/{treemap-6X3UGDF4-CPZ1Ln05.js → treemap-6X3UGDF4-C60TppfC.js} +1 -1
  87. package/web-dist/assets/{vennDiagram-L72KCM5P-FrSO6pmh.js → vennDiagram-L72KCM5P-Dv1y3g4S.js} +1 -1
  88. package/web-dist/assets/{wardley-OPB4EBWU-BbET6cjs.js → wardley-OPB4EBWU-D0lMJMWt.js} +1 -1
  89. package/web-dist/assets/{wardleyDiagram-EHGQE667-DqvcCBjr.js → wardleyDiagram-EHGQE667-B1E5NtZY.js} +1 -1
  90. package/web-dist/assets/{xychartDiagram-FW5EYKEG-91xKEO07.js → xychartDiagram-FW5EYKEG-oA91YOvh.js} +1 -1
  91. package/web-dist/index.html +2 -2
  92. package/web-dist/assets/architecture-TIHT7OUA-ngY1F0r2.js +0 -1
  93. package/web-dist/assets/channel-BpyNaJoi.js +0 -1
  94. package/web-dist/assets/classDiagram-OUVF2IWQ-DTEWwxt7.js +0 -1
  95. package/web-dist/assets/classDiagram-v2-EOCWNBFH-DTEWwxt7.js +0 -1
  96. package/web-dist/assets/eventmodeling-45OFAUF4-D7g9kDF0.js +0 -1
  97. package/web-dist/assets/flowDiagram-23GEKE2U-BqKnxVr3.js +0 -1
  98. package/web-dist/assets/index-CCtNIGi6.js +0 -491
  99. package/web-dist/assets/index-Cq79m8AR.css +0 -1
  100. package/web-dist/assets/railroad-abnf-AHOZXSZD-_4FByoRI.js +0 -1
  101. package/web-dist/assets/railroad-ebnf-EBAXGLYW-DKAvMIMu.js +0 -1
  102. package/web-dist/assets/railroad-peg-LSFZ7HO6-CkJl3c69.js +0 -1
  103. package/web-dist/assets/stateDiagram-v2-6OUMAXLB-90dqEQum.js +0 -1
  104. package/web-dist/assets/swimlanesDiagram-G3AALYLV-BETWueIt.js +0 -8
package/README.md CHANGED
@@ -151,7 +151,8 @@ Options:
151
151
 
152
152
 
153
153
  To reach the board from a phone or another machine, press R in the terminal running it: a short
154
- walkthrough sets up a frizz.sh name, a Cloudflare Tunnel, Tailscale, or a proxy of your own, and
154
+ walkthrough sets up a private frizz.sh name (no account needed), a custom one, a Cloudflare
155
+ Tunnel, Tailscale, or a proxy of your own, and
155
156
  remembers the choice, so a plain launch serves it from then on. The board stays on loopback and
156
157
  shows a single-use sign-in link as a QR; press L for a fresh one, or run --link from another shell.
157
158
  ```
@@ -216,7 +217,7 @@ shows a single-use sign-in link as a QR; press L for a fresh one, or run --link
216
217
  <details>
217
218
  <summary><b>Can I reach it from anywhere, not just my LAN?</b></summary>
218
219
 
219
- > Same answer: press **R** and pick a frizz.sh name, a Cloudflare Tunnel, or Tailscale. Each is reachable from anywhere the transport is — a frizz.sh name and a Cloudflare Tunnel from the open internet, Tailscale from your own devices.
220
+ > Same answer: press **R** and pick a private frizz.sh name (unguessable, no account), a custom frizz.sh name, a Cloudflare Tunnel, or Tailscale. Each is reachable from anywhere the transport is — a frizz.sh name and a Cloudflare Tunnel from the open internet, Tailscale from your own devices.
220
221
  >
221
222
  > Frizz has no accounts, so the single-use sign-in link **is** the door: a phone that scans it gets a session; nobody else gets in. Sessions are per device and can be listed and revoked with `npx frizz --sessions` and `npx frizz --sign-out`.
222
223
 
@@ -21502,6 +21502,20 @@ function objectValue(value, label) {
21502
21502
  return value;
21503
21503
  }
21504
21504
 
21505
+ // packages/server/src/backend/types.ts
21506
+ var CLAUDE_WORKER_ENV = {
21507
+ CLAUDE_CODE_TOTAL_TOKENS_REMINDER: "infinite",
21508
+ BASH_DEFAULT_TIMEOUT_MS: "60000",
21509
+ BASH_MAX_TIMEOUT_MS: String(24 * 60 * 60 * 1e3)
21510
+ };
21511
+ var CLAUDE_AUTO_COMPACT_WINDOW_ENV = "CLAUDE_CODE_AUTO_COMPACT_WINDOW";
21512
+ function claudeCompactionWindowOf(env) {
21513
+ const raw = env?.[CLAUDE_AUTO_COMPACT_WINDOW_ENV];
21514
+ if (raw === void 0) return void 0;
21515
+ const window2 = Number(raw);
21516
+ return Number.isInteger(window2) && window2 > 0 ? window2 : void 0;
21517
+ }
21518
+
21505
21519
  // packages/server/src/backend/claude-broker-diagnostics.ts
21506
21520
  import { appendFileSync as appendFileSync2, mkdirSync as mkdirSync2, readFileSync as readFileSync2, renameSync as renameSync2, statSync as statSync2 } from "node:fs";
21507
21521
  import { join } from "node:path";
@@ -21812,7 +21826,7 @@ function runClaudeBroker(config) {
21812
21826
  server.listen(config.socketPath, () => {
21813
21827
  published = true;
21814
21828
  if (config.recordPath) {
21815
- const record = { daemonPid: process.pid, socketPath: config.socketPath, sessionId: config.sessionId, generation, createdAt: (/* @__PURE__ */ new Date()).toISOString(), capabilities: BROKER_CAPABILITIES };
21829
+ const record = { daemonPid: process.pid, socketPath: config.socketPath, sessionId: config.sessionId, generation, createdAt: (/* @__PURE__ */ new Date()).toISOString(), capabilities: BROKER_CAPABILITIES, compactionWindow: claudeCompactionWindowOf(config.workerEnv) };
21816
21830
  try {
21817
21831
  writeFileSync(config.recordPath, JSON.stringify(record), { mode: 384 });
21818
21832
  } catch {