frizz 0.12.13 → 0.13.1

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 (156) hide show
  1. package/dist/frizz.js +872 -369
  2. package/package.json +13 -13
  3. package/dist/claude-agent-broker.js +0 -35911
  4. package/dist/codex-app-server-daemon.js +0 -423
  5. package/dist/dev-child.js +0 -56194
  6. package/runtime/board/agent-bindings.mjs +0 -287
  7. package/runtime/board/agent-liveness.mjs +0 -367
  8. package/runtime/board/agent-status.mjs +0 -178
  9. package/runtime/board/config.mjs +0 -993
  10. package/runtime/board/decisions.mjs +0 -97
  11. package/runtime/board/index.mjs +0 -704
  12. package/runtime/board/notify-shared.mjs +0 -90
  13. package/runtime/board/notify.mjs +0 -81
  14. package/runtime/board/ownership.mjs +0 -120
  15. package/runtime/board/rest-detect.mjs +0 -213
  16. package/runtime/board/thread-excerpt.mjs +0 -162
  17. package/runtime/board/thread-update.mjs +0 -289
  18. package/runtime/cc-worker/.claude-plugin/plugin.json +0 -10
  19. package/runtime/cc-worker/DECISIONS.md +0 -1172
  20. package/runtime/cc-worker/LICENSE +0 -21
  21. package/runtime/cc-worker/agents/high.md +0 -7
  22. package/runtime/cc-worker/agents/low.md +0 -7
  23. package/runtime/cc-worker/agents/max.md +0 -7
  24. package/runtime/cc-worker/agents/medium.md +0 -7
  25. package/runtime/cc-worker/agents/xhigh.md +0 -7
  26. package/runtime/cc-worker/bin/frizz +0 -17
  27. package/runtime/cc-worker/bin/frizz-mcp.mjs +0 -1612
  28. package/runtime/cc-worker/bin/frizz-update +0 -18
  29. package/runtime/cc-worker/hooks/agent-bind.mjs +0 -40
  30. package/runtime/cc-worker/hooks/agent-dispatch.mjs +0 -121
  31. package/runtime/cc-worker/hooks/bash-background.d.mts +0 -6
  32. package/runtime/cc-worker/hooks/bash-background.mjs +0 -247
  33. package/runtime/cc-worker/hooks/deny-ask.mjs +0 -39
  34. package/runtime/cc-worker/hooks/deny-plan.mjs +0 -62
  35. package/runtime/cc-worker/hooks/hooks.json +0 -102
  36. package/runtime/cc-worker/hooks/perm-policy.mjs +0 -211
  37. package/runtime/cc-worker/hooks/scratchpad.mjs +0 -417
  38. package/runtime/cc-worker/hooks/session-seed.mjs +0 -107
  39. package/runtime/cc-worker/scripts/frizz/agent-bindings.mjs +0 -9
  40. package/runtime/cc-worker/scripts/frizz/config.mjs +0 -12
  41. package/runtime/cc-worker/skills/gh/SKILL.md +0 -141
  42. package/runtime/cc-worker/skills/gh/scripts/ci-watch.mjs +0 -60
  43. package/runtime/cc-worker/skills/gh/scripts/github-watch.mjs +0 -130
  44. package/runtime/cc-worker/skills/gh/scripts/review-watch.mjs +0 -54
  45. package/web-dist/apple-touch-icon.png +0 -0
  46. package/web-dist/assets/TerminalPane-Cv0c_SNS.js +0 -7
  47. package/web-dist/assets/abnfDiagram-VRR7QNED-B-wED8ht.js +0 -1
  48. package/web-dist/assets/arc-BSyeo0Gb.js +0 -1
  49. package/web-dist/assets/architecture-TIHT7OUA-nsH-QfGr.js +0 -1
  50. package/web-dist/assets/architectureDiagram-ZJ3FMSHR-kHm_O2sR.js +0 -36
  51. package/web-dist/assets/array-BifhSqXX.js +0 -1
  52. package/web-dist/assets/blockDiagram-677ZJIJ3-CdazUaKU.js +0 -132
  53. package/web-dist/assets/c4Diagram-LMCZKHZV-rauLKZbJ.js +0 -10
  54. package/web-dist/assets/channel-fvwjeUt3.js +0 -1
  55. package/web-dist/assets/chunk-2Q5K7J3B-C1jixKkw.js +0 -1
  56. package/web-dist/assets/chunk-32BRIVSS-DjOqyEDX.js +0 -1
  57. package/web-dist/assets/chunk-52WLFC77-f1SThegZ.js +0 -10
  58. package/web-dist/assets/chunk-5VM5RSS4-ZNzvKenW.js +0 -15
  59. package/web-dist/assets/chunk-7BUUIJ7U-Bb538aSH.js +0 -1
  60. package/web-dist/assets/chunk-C7G6YPKG-BfQsesjz.js +0 -1
  61. package/web-dist/assets/chunk-EX3LRPZG-BIzZW7OQ.js +0 -231
  62. package/web-dist/assets/chunk-FWX5IMBZ-CATINZFC.js +0 -2
  63. package/web-dist/assets/chunk-HOUHSVGY-DbMBRCCE.js +0 -1
  64. package/web-dist/assets/chunk-ICXQ74PX-COcoSWx4.js +0 -2
  65. package/web-dist/assets/chunk-JWPE2WC7-DVXcaiue.js +0 -1
  66. package/web-dist/assets/chunk-KEIR6QF5-BfrZ3jm6.js +0 -161
  67. package/web-dist/assets/chunk-MOJQB5TN-CVnI-o_4.js +0 -88
  68. package/web-dist/assets/chunk-OGEWGWER-U0vdZqB6.js +0 -1
  69. package/web-dist/assets/chunk-PUDLZKDR-Bukb7rem.js +0 -156
  70. package/web-dist/assets/chunk-Q4XR5HBZ-Bl019PHd.js +0 -70
  71. package/web-dist/assets/chunk-RYQCIY6F-Cu_KplZW.js +0 -1
  72. package/web-dist/assets/chunk-V7JOEXUC-YJR0vzI6.js +0 -206
  73. package/web-dist/assets/chunk-VAUOI2AC-CK6NU9kj.js +0 -1
  74. package/web-dist/assets/chunk-VR4S4FIN-B3LBv3C3.js +0 -1
  75. package/web-dist/assets/chunk-WYO6CB5R-DjRPyRuS.js +0 -127
  76. package/web-dist/assets/chunk-XXDRQBXY-DYlTP5J-.js +0 -1
  77. package/web-dist/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +0 -1
  78. package/web-dist/assets/chunk-ZGVPDNZ5-BUJCayKP.js +0 -62
  79. package/web-dist/assets/chunk-ZIRB5QZD-C6fEPe3t.js +0 -32
  80. package/web-dist/assets/classDiagram-OUVF2IWQ-BRZQ_xnN.js +0 -1
  81. package/web-dist/assets/classDiagram-v2-EOCWNBFH-BRZQ_xnN.js +0 -1
  82. package/web-dist/assets/cose-bilkent-JH36ORCC-BUIsLrGc.js +0 -1
  83. package/web-dist/assets/cynefin-VYW2F7L2-CE3ce51v.js +0 -1
  84. package/web-dist/assets/cynefinDiagram-TSTJHNR4-DSXSPZQV.js +0 -62
  85. package/web-dist/assets/cytoscape.esm-B3I8pqwA.js +0 -321
  86. package/web-dist/assets/dagre-CXRCoUWR.js +0 -1
  87. package/web-dist/assets/dagre-VKFMJZFB-VwBQdjum.js +0 -4
  88. package/web-dist/assets/defaultLocale-C8Fc0cco.js +0 -1
  89. package/web-dist/assets/diagram-FQU43EPY-7Tf5_WDu.js +0 -3
  90. package/web-dist/assets/diagram-G47NLZAW-mu4aclWA.js +0 -24
  91. package/web-dist/assets/diagram-NH7WQ7WH-B3kAVNwv.js +0 -24
  92. package/web-dist/assets/diagram-OA4YK3LP-DAaV-2ou.js +0 -30
  93. package/web-dist/assets/diagram-WEI45ONY-DijPfgly.js +0 -41
  94. package/web-dist/assets/dist-DoH_9pyS.js +0 -1
  95. package/web-dist/assets/ebnfDiagram-CCIWWBDH-B1o42Wp-.js +0 -1
  96. package/web-dist/assets/erDiagram-Q63AITRT-Dqej9Wi3.js +0 -85
  97. package/web-dist/assets/eventmodeling-45OFAUF4-B8xeGcXU.js +0 -1
  98. package/web-dist/assets/flowDiagram-23GEKE2U-Cnyfcz6Z.js +0 -1
  99. package/web-dist/assets/ganttDiagram-NO4QXBWP-UoyrLPUT.js +0 -292
  100. package/web-dist/assets/gitGraph-TEB2WS4Q-CwjIwQ3T.js +0 -1
  101. package/web-dist/assets/gitGraphDiagram-IHSO6WYX-BxU758_g.js +0 -106
  102. package/web-dist/assets/graphlib-B8gBHxth.js +0 -1
  103. package/web-dist/assets/index-CT6k_A5y.css +0 -1
  104. package/web-dist/assets/index-k8HCkyvh.js +0 -319
  105. package/web-dist/assets/info-DKCQHKI2-CWtSI6aK.js +0 -1
  106. package/web-dist/assets/infoDiagram-FWYZ7A6U-n5xRfy_d.js +0 -2
  107. package/web-dist/assets/init-D6jRqBbL.js +0 -1
  108. package/web-dist/assets/ishikawaDiagram-FXEZZL3T-DU1LTQY-.js +0 -70
  109. package/web-dist/assets/journeyDiagram-5HDEW3XC-BzZWHoPv.js +0 -139
  110. package/web-dist/assets/kanban-definition-HUTT4EX6-CeneyR7c.js +0 -89
  111. package/web-dist/assets/katex-CddkPoXu.js +0 -257
  112. package/web-dist/assets/line-DTfkLWnw.js +0 -1
  113. package/web-dist/assets/linear-z2V0wJk9.js +0 -1
  114. package/web-dist/assets/map-DsCK-0Cs.js +0 -1
  115. package/web-dist/assets/mermaid-parser.core-CHzoJ5LT.js +0 -7
  116. package/web-dist/assets/mermaid.core-Cl84DLN2.js +0 -11
  117. package/web-dist/assets/mindmap-definition-LN4V7U3C-C39sBNqB.js +0 -96
  118. package/web-dist/assets/ordinal-hYBb2elL.js +0 -1
  119. package/web-dist/assets/packet-7NZHBO7P-Bj73rlQn.js +0 -1
  120. package/web-dist/assets/path-BWPyau1x.js +0 -1
  121. package/web-dist/assets/pegDiagram-2B236MQR-BEEM1vSv.js +0 -1
  122. package/web-dist/assets/pie-RZYD4A2V-CJ-fEfdy.js +0 -1
  123. package/web-dist/assets/pieDiagram-ENE6RG2P-Dcqj3oyh.js +0 -39
  124. package/web-dist/assets/quadrantDiagram-ABIIQ3AL-D5cljQ3D.js +0 -7
  125. package/web-dist/assets/radar-I7S5WNFK-G8JqqGPf.js +0 -1
  126. package/web-dist/assets/railroad-3IZDKUUU-CaGNL0iN.js +0 -1
  127. package/web-dist/assets/railroad-abnf-AHOZXSZD-DWZmdy-r.js +0 -1
  128. package/web-dist/assets/railroad-ebnf-EBAXGLYW-C-XoPuo_.js +0 -1
  129. package/web-dist/assets/railroad-peg-LSFZ7HO6-BGpxqg46.js +0 -1
  130. package/web-dist/assets/railroadDiagram-RFXS5EU6-BZGZXMY4.js +0 -1
  131. package/web-dist/assets/requirementDiagram-TGXJPOKE-Dj5yn_9e.js +0 -84
  132. package/web-dist/assets/rolldown-runtime-Bh1tDfsg.js +0 -1
  133. package/web-dist/assets/rough.esm-CSKSodPl.js +0 -1
  134. package/web-dist/assets/sankeyDiagram-HTMAVEWB-7iJ_NDNf.js +0 -40
  135. package/web-dist/assets/sequenceDiagram-DBY2YBRQ-Bl54CknA.js +0 -162
  136. package/web-dist/assets/sizeCapture-X5ZJPWSS-B0uUizjq.js +0 -1
  137. package/web-dist/assets/src-C4XfhTaE.js +0 -1
  138. package/web-dist/assets/stateDiagram-2N3HPSRC-DuvjeNgJ.js +0 -1
  139. package/web-dist/assets/stateDiagram-v2-6OUMAXLB-BR-vrMgH.js +0 -1
  140. package/web-dist/assets/swimlanes-5IMT3BWC-B7-Jj4Sk.js +0 -2
  141. package/web-dist/assets/swimlanesDiagram-G3AALYLV-C1HvMf2k.js +0 -8
  142. package/web-dist/assets/timeline-definition-FHXFAJF6-jsey2pEG.js +0 -120
  143. package/web-dist/assets/treeView-QDETBFTQ-DhPmOzHr.js +0 -1
  144. package/web-dist/assets/treemap-6X3UGDF4-Dw2IaXqK.js +0 -1
  145. package/web-dist/assets/vennDiagram-L72KCM5P-CXKZkBab.js +0 -34
  146. package/web-dist/assets/wardley-OPB4EBWU-CTCdDwyE.js +0 -1
  147. package/web-dist/assets/wardleyDiagram-EHGQE667-B1w0xIqB.js +0 -78
  148. package/web-dist/assets/xychartDiagram-FW5EYKEG-gULk-uIl.js +0 -7
  149. package/web-dist/favicon-16.png +0 -0
  150. package/web-dist/favicon-32.png +0 -0
  151. package/web-dist/favicon.svg +0 -34
  152. package/web-dist/icon-192.png +0 -0
  153. package/web-dist/icon-512.png +0 -0
  154. package/web-dist/icon-maskable-512.png +0 -0
  155. package/web-dist/index.html +0 -44
  156. package/web-dist/manifest.webmanifest +0 -16
@@ -1,97 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-check
3
- // Decisions view, DERIVED from frizz threads (no static store). Scans the project's .frizz/*.md
4
- // and selects the `needs-human` threads — the effective awaiting-a-human state: canonical
5
- // `status: needs-human`, the legacy `needs-decision` alias, OR a legacy `status: blocked` with
6
- // NEITHER a `blocking_threads`/`depends_on` field NOR a `revalidate_at` timer (which reads as
7
- // needs-human). The two machine mechanisms wait on non-human work and are NOT pending decisions.
8
- // Prints each selected thread's slug + its FULL status_text (the ask write-up) — the rich
9
- // inline-reading view that complements the one-line-per-thread board (scripts/frizz/index.mjs).
10
- //
11
- // Self-contained + importable: `collectDecisions()` is reused by the thread updater
12
- // (thread-update.mjs) to print the queue after every edit, and by `frizz decisions`.
13
- import { readdirSync, readFileSync } from 'node:fs';
14
- import { join, basename } from 'node:path';
15
- import { revalidateState, effectiveStatus, parseDeps } from './config.mjs';
16
-
17
- // The project root comes from the environment, NOT this script's own path: the tool
18
- // ships inside the frizz PLUGIN (and after a marketplace install lives in
19
- // ~/.claude/plugins/cache/…), so a script-relative root would point at the PLUGIN,
20
- // never the project. CLAUDE_PROJECT_DIR is exported to hook + bin processes; when run
21
- // by hand from the repo root, process.cwd() is correct.
22
- const root = process.env.CLAUDE_PROJECT_DIR || process.cwd();
23
- const frizzDir = join(root, '.frizz');
24
-
25
- const STATUS_TEXT_KEY = 'status_text';
26
-
27
- // Parse the leading `---` frontmatter block into a flat map. Only single-line
28
- // `key: value` pairs are read (the thread frontmatter is flat scalars + a list).
29
- function parseFrontmatter(text) {
30
- const lines = text.split('\n');
31
- if (lines[0] !== '---') return null;
32
- const fm = {};
33
- for (let i = 1; i < lines.length; i++) {
34
- if (lines[i] === '---') return fm;
35
- const m = lines[i].match(/^([\w-]+):\s*(.*)$/);
36
- if (m) fm[m[1]] = m[2];
37
- }
38
- return null; // unterminated frontmatter
39
- }
40
-
41
- function unquote(raw) {
42
- if (raw === undefined) return '';
43
- let v = raw.trim();
44
- const m = v.match(/^"((?:[^"\\]|\\.)*)"$/);
45
- if (m) v = m[1].replace(/\\(.)/g, '$1');
46
- return v;
47
- }
48
-
49
- export function collectDecisions() {
50
- let files;
51
- try {
52
- files = readdirSync(frizzDir).filter((f) => f.endsWith('.md') && !f.startsWith('_') && !f.startsWith('.'));
53
- } catch {
54
- return [];
55
- }
56
- const out = [];
57
- for (const f of files.sort()) {
58
- let text;
59
- try {
60
- text = readFileSync(join(frizzDir, f), 'utf8');
61
- } catch {
62
- continue;
63
- }
64
- const fm = parseFrontmatter(text);
65
- if (!fm) continue;
66
- // Awaiting-you = EFFECTIVE status needs-human: canonical `needs-human`, the `needs-decision`
67
- // alias, OR a legacy `blocked` thread with no machine field. Machine-blocked threads
68
- // (blocking_threads/revalidate_at) wait on non-human work and are NOT pending decisions.
69
- // Read deps via the SHARED parseDeps (block-form-aware) — a flat-map read would miss a YAML
70
- // block-form `blocking_threads:` list and wrongly bucket a machine-blocked thread as needs-human,
71
- // diverging from the board (index.mjs also uses parseDeps).
72
- const hasBlockingThreads = parseDeps(text).length > 0;
73
- const hasTimer = Boolean(revalidateState(fm.revalidate_at, fm.last_checked));
74
- if (effectiveStatus(fm.status, { hasBlockingThreads, hasTimer }) !== 'needs-human') continue;
75
- const rawText = fm[STATUS_TEXT_KEY];
76
- out.push({ slug: basename(f, '.md'), status_text: unquote(rawText) });
77
- }
78
- return out;
79
- }
80
-
81
- function main() {
82
- const items = collectDecisions();
83
- if (items.length === 0) {
84
- console.log('✓ no pending decisions');
85
- return;
86
- }
87
- console.log(`⚖ ${items.length} decision(s) awaiting you:\n`);
88
- items.forEach((d, i) => {
89
- console.log(`[${d.slug}]`);
90
- console.log(d.status_text || '(no status_text written up)');
91
- if (i < items.length - 1) console.log('');
92
- });
93
- }
94
-
95
- // Run only when invoked directly (it's also imported by other scripts).
96
- import { fileURLToPath } from 'node:url';
97
- if (process.argv[1] && process.argv[1] === fileURLToPath(import.meta.url)) main();