frayui 0.1.1 → 0.1.3

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 (102) hide show
  1. package/dist/claude-agent-broker.js +19 -3
  2. package/dist/codex-app-server-daemon.js +1 -1
  3. package/dist/dev-child.js +786 -331
  4. package/dist/frayui.js +1291 -193
  5. package/package.json +8 -7
  6. package/runtime/cc-worker/DECISIONS.md +86 -0
  7. package/runtime/cc-worker/hooks/agent-dispatch.mjs +18 -4
  8. package/runtime/cc-worker/hooks/fence-stop.mjs +290 -0
  9. package/runtime/cc-worker/hooks/hooks.json +2 -1
  10. package/runtime/cc-worker/hooks/scratchpad.mjs +10 -9
  11. package/runtime/cc-worker/hooks/session-seed.mjs +2 -1
  12. package/runtime/cc-worker/skills/gh/SKILL.md +22 -0
  13. package/runtime/cc-worker/skills/handoff/SKILL.md +6 -0
  14. package/web-dist/assets/{TerminalPane-C3CC9EFZ.js → TerminalPane-hMf6ifuS.js} +1 -1
  15. package/web-dist/assets/{abnfDiagram-VRR7QNED-DqX9eyjt.js → abnfDiagram-VRR7QNED-CQj6fwXy.js} +1 -1
  16. package/web-dist/assets/architecture-TIHT7OUA-JX8_jS4I.js +1 -0
  17. package/web-dist/assets/{architectureDiagram-ZJ3FMSHR-M8pzerdN.js → architectureDiagram-ZJ3FMSHR-CoE5ct03.js} +1 -1
  18. package/web-dist/assets/{blockDiagram-677ZJIJ3-DqR6Y2LC.js → blockDiagram-677ZJIJ3-CEudy3zd.js} +1 -1
  19. package/web-dist/assets/{c4Diagram-LMCZKHZV-BVYFjsdW.js → c4Diagram-LMCZKHZV-ChW62IOH.js} +1 -1
  20. package/web-dist/assets/channel-y3u1yiAC.js +1 -0
  21. package/web-dist/assets/{chunk-32BRIVSS-DFjDHOoM.js → chunk-32BRIVSS-Bh-A2le2.js} +1 -1
  22. package/web-dist/assets/{chunk-52WLFC77-CgT8QhTR.js → chunk-52WLFC77-7Gia-F6f.js} +1 -1
  23. package/web-dist/assets/{chunk-C7G6YPKG-CzJ6LiOY.js → chunk-C7G6YPKG-C0MCv0Ym.js} +1 -1
  24. package/web-dist/assets/{chunk-EX3LRPZG-BxLQFQHC.js → chunk-EX3LRPZG-DPRO7Ss0.js} +1 -1
  25. package/web-dist/assets/{chunk-FWX5IMBZ-Dph1CDtO.js → chunk-FWX5IMBZ-Cod9MA7c.js} +2 -2
  26. package/web-dist/assets/{chunk-HOUHSVGY-DkAureev.js → chunk-HOUHSVGY-D1oHrXQx.js} +1 -1
  27. package/web-dist/assets/{chunk-ICXQ74PX-Cz4NMI__.js → chunk-ICXQ74PX-DBLMA0ZN.js} +1 -1
  28. package/web-dist/assets/{chunk-MOJQB5TN-CsLU1DoU.js → chunk-MOJQB5TN-jiLvxNvx.js} +1 -1
  29. package/web-dist/assets/{chunk-OGEWGWER-Aylt7fzg.js → chunk-OGEWGWER-w1RtF7G0.js} +1 -1
  30. package/web-dist/assets/{chunk-PUDLZKDR-BFErObxQ.js → chunk-PUDLZKDR-DQlFMKm5.js} +1 -1
  31. package/web-dist/assets/{chunk-Q4XR5HBZ-Bv6INKwj.js → chunk-Q4XR5HBZ-CfD6vdr0.js} +1 -1
  32. package/web-dist/assets/{chunk-V7JOEXUC-DfztwFA4.js → chunk-V7JOEXUC-BRB1iO1P.js} +1 -1
  33. package/web-dist/assets/{chunk-VAUOI2AC-B0f7ZK3T.js → chunk-VAUOI2AC-CCeJEpxW.js} +1 -1
  34. package/web-dist/assets/{chunk-VR4S4FIN-G-Gcy_AM.js → chunk-VR4S4FIN-DfPRj9a1.js} +1 -1
  35. package/web-dist/assets/{chunk-WYO6CB5R-CMp0iowL.js → chunk-WYO6CB5R-BWd84n6L.js} +1 -1
  36. package/web-dist/assets/{chunk-ZGVPDNZ5-CSWMiX8t.js → chunk-ZGVPDNZ5-Bm-3TA9N.js} +1 -1
  37. package/web-dist/assets/classDiagram-OUVF2IWQ-BL8mggXA.js +1 -0
  38. package/web-dist/assets/classDiagram-v2-EOCWNBFH-BL8mggXA.js +1 -0
  39. package/web-dist/assets/{cynefin-VYW2F7L2-CUMD23BD.js → cynefin-VYW2F7L2-BylEqg5y.js} +1 -1
  40. package/web-dist/assets/{cynefinDiagram-TSTJHNR4-fZTm6GyW.js → cynefinDiagram-TSTJHNR4-CRfGS7Ou.js} +1 -1
  41. package/web-dist/assets/{dagre-VKFMJZFB-CUCi5JnH.js → dagre-VKFMJZFB-CNeTu13Z.js} +1 -1
  42. package/web-dist/assets/{diagram-FQU43EPY-C87Fqvwa.js → diagram-FQU43EPY-BYZKetkJ.js} +1 -1
  43. package/web-dist/assets/{diagram-G47NLZAW-CDxQ-BXA.js → diagram-G47NLZAW-DSOzyl5U.js} +1 -1
  44. package/web-dist/assets/{diagram-NH7WQ7WH-Uceffn93.js → diagram-NH7WQ7WH-DFZCvfJN.js} +1 -1
  45. package/web-dist/assets/{diagram-OA4YK3LP-CSSp0Fa1.js → diagram-OA4YK3LP-m0qY8Zlg.js} +1 -1
  46. package/web-dist/assets/{diagram-WEI45ONY-DS5sAZPp.js → diagram-WEI45ONY-Cg7Qz-0T.js} +1 -1
  47. package/web-dist/assets/{ebnfDiagram-CCIWWBDH-aM331oVj.js → ebnfDiagram-CCIWWBDH-DGvTjoXK.js} +1 -1
  48. package/web-dist/assets/{erDiagram-Q63AITRT-d0i1kydx.js → erDiagram-Q63AITRT-BFqTK5TB.js} +1 -1
  49. package/web-dist/assets/eventmodeling-45OFAUF4-BaCHCepY.js +1 -0
  50. package/web-dist/assets/flowDiagram-23GEKE2U-Cjl6weoT.js +1 -0
  51. package/web-dist/assets/{ganttDiagram-NO4QXBWP-Cd0OpzcB.js → ganttDiagram-NO4QXBWP-KbR9IE0O.js} +1 -1
  52. package/web-dist/assets/{gitGraph-TEB2WS4Q-BeI6iDaZ.js → gitGraph-TEB2WS4Q-hCbzZO_l.js} +1 -1
  53. package/web-dist/assets/{gitGraphDiagram-IHSO6WYX-QvePTKQE.js → gitGraphDiagram-IHSO6WYX-CNPRTwQG.js} +1 -1
  54. package/web-dist/assets/index-BUY5ijyI.css +1 -0
  55. package/web-dist/assets/{index-CJ-cmbhi.js → index-Bj6YWd3g.js} +68 -68
  56. package/web-dist/assets/{info-DKCQHKI2-WwdGk87J.js → info-DKCQHKI2-Zd_TXMfr.js} +1 -1
  57. package/web-dist/assets/{infoDiagram-FWYZ7A6U-C3ARX7jm.js → infoDiagram-FWYZ7A6U-DQ9zmVhJ.js} +1 -1
  58. package/web-dist/assets/{ishikawaDiagram-FXEZZL3T-C_zMKLif.js → ishikawaDiagram-FXEZZL3T-BFyJ5E_L.js} +1 -1
  59. package/web-dist/assets/{journeyDiagram-5HDEW3XC-BcIZu4Cm.js → journeyDiagram-5HDEW3XC-BgjbY7_T.js} +1 -1
  60. package/web-dist/assets/{kanban-definition-HUTT4EX6-wwc4iI2z.js → kanban-definition-HUTT4EX6-mpUEl8xx.js} +1 -1
  61. package/web-dist/assets/{line-BCQpqxAq.js → line-CM_FUYGm.js} +1 -1
  62. package/web-dist/assets/{mermaid-parser.core-8y_8tv09.js → mermaid-parser.core-CTVz2V70.js} +3 -3
  63. package/web-dist/assets/{mermaid.core-gXHP6zd5.js → mermaid.core-BCLNmVvR.js} +3 -3
  64. package/web-dist/assets/{mindmap-definition-LN4V7U3C-DtTZ-e8A.js → mindmap-definition-LN4V7U3C-CgJU-6O7.js} +1 -1
  65. package/web-dist/assets/{packet-7NZHBO7P-DZbgcVcI.js → packet-7NZHBO7P-rkLFb4ZX.js} +1 -1
  66. package/web-dist/assets/{pegDiagram-2B236MQR-DHtrQw0R.js → pegDiagram-2B236MQR-Sy2oYuu1.js} +1 -1
  67. package/web-dist/assets/{pie-RZYD4A2V-CBwiKeCv.js → pie-RZYD4A2V-0yTxNtqZ.js} +1 -1
  68. package/web-dist/assets/{pieDiagram-ENE6RG2P-B-gKjdFc.js → pieDiagram-ENE6RG2P-CQ7YFWhH.js} +1 -1
  69. package/web-dist/assets/{quadrantDiagram-ABIIQ3AL-C3h180Er.js → quadrantDiagram-ABIIQ3AL-ClCTxrOj.js} +1 -1
  70. package/web-dist/assets/{radar-I7S5WNFK-BTAfmGFj.js → radar-I7S5WNFK-JUOW5mdN.js} +1 -1
  71. package/web-dist/assets/{railroad-3IZDKUUU-DjkPg0H7.js → railroad-3IZDKUUU-DJ2IS1Jg.js} +1 -1
  72. package/web-dist/assets/railroad-abnf-AHOZXSZD-CU4HK7Ek.js +1 -0
  73. package/web-dist/assets/railroad-ebnf-EBAXGLYW-CarBAd7R.js +1 -0
  74. package/web-dist/assets/railroad-peg-LSFZ7HO6-ByEhVLyD.js +1 -0
  75. package/web-dist/assets/{railroadDiagram-RFXS5EU6-FVI9rArP.js → railroadDiagram-RFXS5EU6-BNsVGeA3.js} +1 -1
  76. package/web-dist/assets/{requirementDiagram-TGXJPOKE-Cp3pp65R.js → requirementDiagram-TGXJPOKE-BHa3IX0k.js} +1 -1
  77. package/web-dist/assets/{sankeyDiagram-HTMAVEWB-B-EVqI0F.js → sankeyDiagram-HTMAVEWB-CSbsLbtw.js} +1 -1
  78. package/web-dist/assets/{sequenceDiagram-DBY2YBRQ-Bov70rRs.js → sequenceDiagram-DBY2YBRQ-BgVWj1nN.js} +1 -1
  79. package/web-dist/assets/{stateDiagram-2N3HPSRC-BW7fwttw.js → stateDiagram-2N3HPSRC-BKHYNxA3.js} +1 -1
  80. package/web-dist/assets/stateDiagram-v2-6OUMAXLB-C-k0bbcG.js +1 -0
  81. package/web-dist/assets/{swimlanes-5IMT3BWC-BUOdjOgW.js → swimlanes-5IMT3BWC-BluloqBJ.js} +1 -1
  82. package/web-dist/assets/swimlanesDiagram-G3AALYLV-DVjLYZbp.js +8 -0
  83. package/web-dist/assets/{timeline-definition-FHXFAJF6-C20Ho0e9.js → timeline-definition-FHXFAJF6-Bj1WKNgB.js} +1 -1
  84. package/web-dist/assets/{treeView-QDETBFTQ-DHg1NMOK.js → treeView-QDETBFTQ-Dj5T24Qr.js} +1 -1
  85. package/web-dist/assets/{treemap-6X3UGDF4-B-aFFjeG.js → treemap-6X3UGDF4-BPqewrXp.js} +1 -1
  86. package/web-dist/assets/{vennDiagram-L72KCM5P-CEWY6HTS.js → vennDiagram-L72KCM5P-BhggGhQv.js} +1 -1
  87. package/web-dist/assets/{wardley-OPB4EBWU-BpAKElbJ.js → wardley-OPB4EBWU-Di9GWKYt.js} +1 -1
  88. package/web-dist/assets/{wardleyDiagram-EHGQE667-CYer_Ry4.js → wardleyDiagram-EHGQE667-D-mtWLKf.js} +1 -1
  89. package/web-dist/assets/{xychartDiagram-FW5EYKEG-BxMRGqds.js → xychartDiagram-FW5EYKEG-CU0us6D_.js} +1 -1
  90. package/web-dist/index.html +2 -2
  91. package/web-dist/assets/architecture-TIHT7OUA-Dp81OE9d.js +0 -1
  92. package/web-dist/assets/channel-BLJ4T4FR.js +0 -1
  93. package/web-dist/assets/classDiagram-OUVF2IWQ-BQSt_EhF.js +0 -1
  94. package/web-dist/assets/classDiagram-v2-EOCWNBFH-BQSt_EhF.js +0 -1
  95. package/web-dist/assets/eventmodeling-45OFAUF4-qO9fgTC2.js +0 -1
  96. package/web-dist/assets/flowDiagram-23GEKE2U-BUHZX4Ft.js +0 -1
  97. package/web-dist/assets/index-LON0oNCJ.css +0 -1
  98. package/web-dist/assets/railroad-abnf-AHOZXSZD-DlUkYI_B.js +0 -1
  99. package/web-dist/assets/railroad-ebnf-EBAXGLYW-DptyGTmD.js +0 -1
  100. package/web-dist/assets/railroad-peg-LSFZ7HO6-xPHpoacS.js +0 -1
  101. package/web-dist/assets/stateDiagram-v2-6OUMAXLB-BtaoEJDP.js +0 -1
  102. package/web-dist/assets/swimlanesDiagram-G3AALYLV-Bpiu68M1.js +0 -8
@@ -19833,6 +19833,18 @@ var encoder = new TextEncoder();
19833
19833
  var UNSAFE_TEXT = /[\p{Cf}\p{Cs}\p{Zl}\p{Zp}\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f-\u009f]/gu;
19834
19834
  var ID_PATTERN = /^[A-Za-z0-9][A-Za-z0-9._:@/-]*$/;
19835
19835
  var RESERVED_KEYS = /* @__PURE__ */ new Set(["__proto__", "constructor", "prototype"]);
19836
+ var DELIVERABLE_CONTROL_CODES = /* @__PURE__ */ new Set([9, 10, 13]);
19837
+ function hasUndeliverableInputText(value) {
19838
+ for (const character of value) {
19839
+ const code = character.codePointAt(0);
19840
+ if (code >= 55296 && code <= 57343) return true;
19841
+ if (code === 8232 || code === 8233) return true;
19842
+ if (code <= 31 || code >= 127 && code <= 159) {
19843
+ if (!DELIVERABLE_CONTROL_CODES.has(code)) return true;
19844
+ }
19845
+ }
19846
+ return false;
19847
+ }
19836
19848
  var CLAUDE_BROKER_CAPABILITY_SUBAGENT_STEER = "subagent-steer-v1";
19837
19849
  var CLAUDE_BROKER_CAPABILITY_CANCEL_INPUT = "cancel-input-v1";
19838
19850
  var CLAUDE_BROKER_CAPABILITY_STOP_TASK = "stop-task-v1";
@@ -19926,8 +19938,8 @@ function validateInputMessage(value) {
19926
19938
  if (utf8Bytes(value.text) > CLAUDE_AGENT_SDK_MAX_INPUT_BYTES) {
19927
19939
  throw new ClaudeAgentSdkProtocolError(`input.text exceeds ${CLAUDE_AGENT_SDK_MAX_INPUT_BYTES} bytes`);
19928
19940
  }
19929
- const text = safeText(value.text, "input.text", CLAUDE_AGENT_SDK_MAX_INPUT_BYTES);
19930
- if (text !== value.text) throw new ClaudeAgentSdkProtocolError("input.text contains unsafe text");
19941
+ const text = value.text;
19942
+ if (hasUndeliverableInputText(text)) throw new ClaudeAgentSdkProtocolError("input.text contains unsafe text");
19931
19943
  const parentToolUseId = boundedOptionalId(value.parentToolUseId, "input.parentToolUseId");
19932
19944
  return parentToolUseId === void 0 ? { id: id2, text } : { id: id2, text, parentToolUseId };
19933
19945
  }
@@ -21490,7 +21502,11 @@ function runClaudeBroker(config) {
21490
21502
  }
21491
21503
  if (msg.t === "input") {
21492
21504
  const message = msg.message;
21493
- void handle.send(message).catch(() => {
21505
+ void handle.send(message).catch((error) => {
21506
+ const detail = error instanceof Error ? error.message : String(error);
21507
+ const diagnostic = { kind: "stderr", message: `input dropped, the agent never received it: ${detail}`, truncated: false };
21508
+ writeDiagnostic?.(diagnostic);
21509
+ if (client) write(client, { t: "diagnostic", diagnostic });
21494
21510
  });
21495
21511
  seedSessionTitle(message);
21496
21512
  } else if (msg.t === "permission") {
@@ -104,7 +104,7 @@ function lineReader(onLine) {
104
104
  }
105
105
  function main() {
106
106
  const config = readConfig();
107
- const child = spawn(config.codexBin, ["app-server", "--stdio"], {
107
+ const child = spawn(config.codexBin, config.appServerArgs ?? ["app-server", "--stdio"], {
108
108
  cwd: config.cwd,
109
109
  env: config.env,
110
110
  stdio: ["pipe", "pipe", "pipe"]