@statechange/council 0.6.0 → 0.8.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 (150) hide show
  1. package/README.md +27 -27
  2. package/dist/cli.js +15 -15
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/councilor.d.ts +7 -0
  5. package/dist/commands/councilor.js +98 -0
  6. package/dist/commands/councilor.js.map +1 -0
  7. package/dist/commands/discuss.d.ts +2 -2
  8. package/dist/commands/discuss.js +14 -14
  9. package/dist/commands/discuss.js.map +1 -1
  10. package/dist/commands/history.js +2 -2
  11. package/dist/commands/history.js.map +1 -1
  12. package/dist/commands/list.js +7 -7
  13. package/dist/commands/list.js.map +1 -1
  14. package/dist/core/conversation-engine.d.ts +3 -3
  15. package/dist/core/conversation-engine.js +35 -35
  16. package/dist/core/conversation-engine.js.map +1 -1
  17. package/dist/core/councilor-loader.d.ts +4 -0
  18. package/dist/core/councilor-loader.js +98 -0
  19. package/dist/core/councilor-loader.js.map +1 -0
  20. package/dist/core/councilor-registry.d.ts +12 -0
  21. package/dist/core/councilor-registry.js +131 -0
  22. package/dist/core/councilor-registry.js.map +1 -0
  23. package/dist/core/excalidraw-cheatsheet.js +2 -2
  24. package/dist/core/history.d.ts +1 -1
  25. package/dist/core/history.js +1 -1
  26. package/dist/core/history.js.map +1 -1
  27. package/dist/core/infographic.js +4 -4
  28. package/dist/core/infographic.js.map +1 -1
  29. package/dist/core/output-formatter.js +2 -2
  30. package/dist/core/output-formatter.js.map +1 -1
  31. package/dist/core/secretary.js +7 -7
  32. package/dist/core/secretary.js.map +1 -1
  33. package/dist/core/skill-loader.d.ts +2 -2
  34. package/dist/core/skill-loader.js +6 -6
  35. package/dist/core/skill-loader.js.map +1 -1
  36. package/dist/electron/ipc-handlers.js +29 -29
  37. package/dist/electron/ipc-handlers.js.map +1 -1
  38. package/dist/electron/preload.js +5 -5
  39. package/dist/electron/preload.js.map +1 -1
  40. package/dist/types.d.ts +16 -13
  41. package/dist/types.js +1 -1
  42. package/dist/types.js.map +1 -1
  43. package/dist-electron/main.js +299 -296
  44. package/dist-electron/preload.mjs +1 -1
  45. package/dist-renderer/assets/{ar-SA-G6X2FPQ2-DXBh7WuV.js → ar-SA-G6X2FPQ2-DJTj94ZY.js} +1 -1
  46. package/dist-renderer/assets/{arc-D_n8J5SI.js → arc-3qXpUeCd.js} +1 -1
  47. package/dist-renderer/assets/{az-AZ-76LH7QW2-em6ZG9h0.js → az-AZ-76LH7QW2-1qnzBARG.js} +1 -1
  48. package/dist-renderer/assets/{bg-BG-XCXSNQG7-agu_XNxA.js → bg-BG-XCXSNQG7-BIZ5IFAv.js} +1 -1
  49. package/dist-renderer/assets/{blockDiagram-38ab4fdb-D1jpM-pu.js → blockDiagram-38ab4fdb-JwSYiuLB.js} +1 -1
  50. package/dist-renderer/assets/{bn-BD-2XOGV67Q-Y2AVxREy.js → bn-BD-2XOGV67Q-DiYpgYAg.js} +1 -1
  51. package/dist-renderer/assets/{c4Diagram-3d4e48cf-K75joZkc.js → c4Diagram-3d4e48cf-DUCtOTzV.js} +1 -1
  52. package/dist-renderer/assets/{ca-ES-6MX7JW3Y-DSUAGL6k.js → ca-ES-6MX7JW3Y-CV2JFVcm.js} +1 -1
  53. package/dist-renderer/assets/channel-BFQOS5-A.js +1 -0
  54. package/dist-renderer/assets/{classDiagram-70f12bd4-Dn1c2ZKw.js → classDiagram-70f12bd4-DY_je9I9.js} +1 -1
  55. package/dist-renderer/assets/{classDiagram-v2-f2320105-DwlW6q7H.js → classDiagram-v2-f2320105-Dm2xf0kS.js} +1 -1
  56. package/dist-renderer/assets/clone-BdgQjyvt.js +1 -0
  57. package/dist-renderer/assets/{createText-2e5e7dd3-BdGe-pcn.js → createText-2e5e7dd3-BU4YlynJ.js} +1 -1
  58. package/dist-renderer/assets/{cs-CZ-2BRQDIVT-DhhKBwfp.js → cs-CZ-2BRQDIVT-DgefxJv2.js} +1 -1
  59. package/dist-renderer/assets/{da-DK-5WZEPLOC-BXBIUFpK.js → da-DK-5WZEPLOC-CQeMoU_Y.js} +1 -1
  60. package/dist-renderer/assets/{de-DE-XR44H4JA-DdNoTfJ3.js → de-DE-XR44H4JA-Cm7XiExL.js} +1 -1
  61. package/dist-renderer/assets/{edges-e0da2a9e-B71iAGdZ.js → edges-e0da2a9e-DU4SF3SK.js} +1 -1
  62. package/dist-renderer/assets/{el-GR-BZB4AONW-CHvoll3l.js → el-GR-BZB4AONW-BKDtOlnf.js} +1 -1
  63. package/dist-renderer/assets/{erDiagram-9861fffd-CYB5wwYg.js → erDiagram-9861fffd-D_cCijmv.js} +1 -1
  64. package/dist-renderer/assets/{es-ES-U4NZUMDT-ndnyt5b3.js → es-ES-U4NZUMDT-Blb_L7K-.js} +1 -1
  65. package/dist-renderer/assets/{eu-ES-A7QVB2H4-4d18XNGh.js → eu-ES-A7QVB2H4-BZJBLMeO.js} +1 -1
  66. package/dist-renderer/assets/{fa-IR-HGAKTJCU-DslQwLpv.js → fa-IR-HGAKTJCU-C8gu07sI.js} +1 -1
  67. package/dist-renderer/assets/{fi-FI-Z5N7JZ37-DiHPxROG.js → fi-FI-Z5N7JZ37-0j8c6s09.js} +1 -1
  68. package/dist-renderer/assets/{flowDb-956e92f1-B9ZZIH6j.js → flowDb-956e92f1-BYeD7SW0.js} +1 -1
  69. package/dist-renderer/assets/{flowDiagram-66a62f08-Dp2DmvQc.js → flowDiagram-66a62f08-D_7wXttk.js} +1 -1
  70. package/dist-renderer/assets/flowDiagram-v2-96b9c2cf-ue4yLZei.js +1 -0
  71. package/dist-renderer/assets/{flowchart-elk-definition-4a651766-CVmjBy5D.js → flowchart-elk-definition-4a651766-G1tSg-iY.js} +1 -1
  72. package/dist-renderer/assets/{fr-FR-RHASNOE6-DroH4cCM.js → fr-FR-RHASNOE6-_cfaQNNq.js} +1 -1
  73. package/dist-renderer/assets/{ganttDiagram-c361ad54-SGHeXdlJ.js → ganttDiagram-c361ad54-Dk5lBh7P.js} +1 -1
  74. package/dist-renderer/assets/{gitGraphDiagram-72cf32ee-fBlPRtHx.js → gitGraphDiagram-72cf32ee-BzJAQtIC.js} +1 -1
  75. package/dist-renderer/assets/{gl-ES-HMX3MZ6V-B5sN7Uzl.js → gl-ES-HMX3MZ6V-GM5nrSrW.js} +1 -1
  76. package/dist-renderer/assets/{graph-BUgnMBv6.js → graph-C_xi4PaI.js} +1 -1
  77. package/dist-renderer/assets/{he-IL-6SHJWFNN-BK97a2ym.js → he-IL-6SHJWFNN-DvBtF7-G.js} +1 -1
  78. package/dist-renderer/assets/{hi-IN-IWLTKZ5I-DCZlvEWO.js → hi-IN-IWLTKZ5I-CNEB0-5K.js} +1 -1
  79. package/dist-renderer/assets/{hu-HU-A5ZG7DT2-I8vGLYrC.js → hu-HU-A5ZG7DT2-BmzYfJwp.js} +1 -1
  80. package/dist-renderer/assets/{id-ID-SAP4L64H-D7Zj-WBO.js → id-ID-SAP4L64H-CGCjaOLU.js} +1 -1
  81. package/dist-renderer/assets/{index-3862675e-CqgKkg4w.js → index-3862675e-C8a4355J.js} +1 -1
  82. package/dist-renderer/assets/index-CYsh274_.css +1 -0
  83. package/dist-renderer/assets/index-Cc7m7vZn.js +51 -0
  84. package/dist-renderer/assets/{index-9YedcJtH.js → index-x_yLI1Xq.js} +4 -4
  85. package/dist-renderer/assets/{infoDiagram-f8f76790-DojFopZJ.js → infoDiagram-f8f76790-BsJdteru.js} +1 -1
  86. package/dist-renderer/assets/{it-IT-JPQ66NNP-BBWhTSgs.js → it-IT-JPQ66NNP-vK6cBs4I.js} +1 -1
  87. package/dist-renderer/assets/{ja-JP-DBVTYXUO-z4i_Gp8C.js → ja-JP-DBVTYXUO-oUvELdsq.js} +1 -1
  88. package/dist-renderer/assets/{journeyDiagram-49397b02-CJ36K1NH.js → journeyDiagram-49397b02-BZcn-joQ.js} +1 -1
  89. package/dist-renderer/assets/{kaa-6HZHGXH3-B_WtQlVr.js → kaa-6HZHGXH3-39-zh5xR.js} +1 -1
  90. package/dist-renderer/assets/{kab-KAB-ZGHBKWFO-DTtORPAb.js → kab-KAB-ZGHBKWFO-DIwwJSlv.js} +1 -1
  91. package/dist-renderer/assets/{kk-KZ-P5N5QNE5-CPVxS5Do.js → kk-KZ-P5N5QNE5-jEG0G6v4.js} +1 -1
  92. package/dist-renderer/assets/{km-KH-HSX4SM5Z-Cwm0mGEA.js → km-KH-HSX4SM5Z-f0MtADYu.js} +1 -1
  93. package/dist-renderer/assets/{ko-KR-MTYHY66A-B7XhlbiR.js → ko-KR-MTYHY66A-D0sjNbcb.js} +1 -1
  94. package/dist-renderer/assets/{ku-TR-6OUDTVRD-CPCWoAyz.js → ku-TR-6OUDTVRD-D_uqAOZU.js} +1 -1
  95. package/dist-renderer/assets/{layout--e2IpTlO.js → layout-Bho0HnCB.js} +1 -1
  96. package/dist-renderer/assets/{line-oAyHL3iY.js → line-BvfrpBJA.js} +1 -1
  97. package/dist-renderer/assets/{linear-BoN-rD3R.js → linear-CzjqC3F_.js} +1 -1
  98. package/dist-renderer/assets/{lt-LT-XHIRWOB4-CyI4_Tq3.js → lt-LT-XHIRWOB4-Ct0yC4CT.js} +1 -1
  99. package/dist-renderer/assets/{lv-LV-5QDEKY6T-DLljN33x.js → lv-LV-5QDEKY6T-nkNbPHg0.js} +1 -1
  100. package/dist-renderer/assets/{mindmap-definition-fc14e90a-CnLgRQ_O.js → mindmap-definition-fc14e90a-BHot8rEp.js} +1 -1
  101. package/dist-renderer/assets/{mr-IN-CRQNXWMA-CLAaPXvA.js → mr-IN-CRQNXWMA-B861rik7.js} +1 -1
  102. package/dist-renderer/assets/{my-MM-5M5IBNSE-EGw1M9CW.js → my-MM-5M5IBNSE-SOXg7PeE.js} +1 -1
  103. package/dist-renderer/assets/{nb-NO-T6EIAALU-CrpHBY71.js → nb-NO-T6EIAALU-D22gGzt7.js} +1 -1
  104. package/dist-renderer/assets/{nl-NL-IS3SIHDZ-BGiRPMkX.js → nl-NL-IS3SIHDZ-CJxOBLb1.js} +1 -1
  105. package/dist-renderer/assets/{nn-NO-6E72VCQL-Bg9--0vP.js → nn-NO-6E72VCQL-FGcbdlO3.js} +1 -1
  106. package/dist-renderer/assets/{oc-FR-POXYY2M6-3aNzRUH5.js → oc-FR-POXYY2M6-s7Swo1Cu.js} +1 -1
  107. package/dist-renderer/assets/{pa-IN-N4M65BXN-CQ1Qt20e.js → pa-IN-N4M65BXN-DFJMREPh.js} +1 -1
  108. package/dist-renderer/assets/{percentages-BXMCSKIN-BdcO8JE0.js → percentages-BXMCSKIN-BhceqxTM.js} +7 -7
  109. package/dist-renderer/assets/{pica-DAe8i4qi.js → pica-ej4Z4fjh.js} +1 -1
  110. package/dist-renderer/assets/{pieDiagram-8a3498a8-C2C4gnpI.js → pieDiagram-8a3498a8-CnDnQfd0.js} +1 -1
  111. package/dist-renderer/assets/{pl-PL-T2D74RX3-DgbjC8Ll.js → pl-PL-T2D74RX3-uXVmB6im.js} +1 -1
  112. package/dist-renderer/assets/{pt-BR-5N22H2LF-DuWVGxtI.js → pt-BR-5N22H2LF-8kdgECeZ.js} +1 -1
  113. package/dist-renderer/assets/{pt-PT-UZXXM6DQ-CbndO7_y.js → pt-PT-UZXXM6DQ-D4vr9vo6.js} +1 -1
  114. package/dist-renderer/assets/{quadrantDiagram-120e2f19-BlmT42uD.js → quadrantDiagram-120e2f19-DlUESmO2.js} +1 -1
  115. package/dist-renderer/assets/{requirementDiagram-deff3bca-DZp4Qu-J.js → requirementDiagram-deff3bca-CfOs9jR8.js} +1 -1
  116. package/dist-renderer/assets/{ro-RO-JPDTUUEW-YgTIqyaS.js → ro-RO-JPDTUUEW-CztO0tWv.js} +1 -1
  117. package/dist-renderer/assets/{ru-RU-B4JR7IUQ-B4-xC-bY.js → ru-RU-B4JR7IUQ-aVURliDr.js} +1 -1
  118. package/dist-renderer/assets/{sankeyDiagram-04a897e0-DQU3Sh4e.js → sankeyDiagram-04a897e0-DRRc8FSN.js} +1 -1
  119. package/dist-renderer/assets/{sequenceDiagram-704730f1-BMDPHAvO.js → sequenceDiagram-704730f1-BaswaqQO.js} +1 -1
  120. package/dist-renderer/assets/{si-LK-N5RQ5JYF-xJBJNkkH.js → si-LK-N5RQ5JYF-B2KWtx6N.js} +1 -1
  121. package/dist-renderer/assets/{sk-SK-C5VTKIMK-D3oM9sTx.js → sk-SK-C5VTKIMK-DlRzLxRJ.js} +1 -1
  122. package/dist-renderer/assets/{sl-SI-NN7IZMDC-Dr3hNCQI.js → sl-SI-NN7IZMDC-Ox8yiRTS.js} +1 -1
  123. package/dist-renderer/assets/{stateDiagram-587899a1-kJVlt2mB.js → stateDiagram-587899a1-DSEEonbL.js} +1 -1
  124. package/dist-renderer/assets/{stateDiagram-v2-d93cdb3a-Oo192ox1.js → stateDiagram-v2-d93cdb3a-C135NgbB.js} +1 -1
  125. package/dist-renderer/assets/{styles-6aaf32cf-Cw1X4bWF.js → styles-6aaf32cf-X5nh1pD3.js} +1 -1
  126. package/dist-renderer/assets/{styles-9a916d00-BIBcInOQ.js → styles-9a916d00-BCZu272E.js} +1 -1
  127. package/dist-renderer/assets/{styles-c10674c1-DboG8Lt4.js → styles-c10674c1-C5JGHSaS.js} +1 -1
  128. package/dist-renderer/assets/{subset-shared.chunk-ZAiO-eLl.js → subset-shared.chunk-CzgdV5hf.js} +1 -1
  129. package/dist-renderer/assets/{subset-worker.chunk-B6PRRmQb.js → subset-worker.chunk-DfLYxc1O.js} +1 -1
  130. package/dist-renderer/assets/{sv-SE-XGPEYMSR-CegwfGx6.js → sv-SE-XGPEYMSR-CizFbLCT.js} +1 -1
  131. package/dist-renderer/assets/{svgDrawCommon-08f97a94-Dn29OsMT.js → svgDrawCommon-08f97a94-Cv5ZIzzk.js} +1 -1
  132. package/dist-renderer/assets/{ta-IN-2NMHFXQM-tSe3kTsK.js → ta-IN-2NMHFXQM-B66K2LEN.js} +1 -1
  133. package/dist-renderer/assets/{th-TH-HPSO5L25-DiuZcD9o.js → th-TH-HPSO5L25-DvHt1SBY.js} +1 -1
  134. package/dist-renderer/assets/{timeline-definition-85554ec2-DAY01_uJ.js → timeline-definition-85554ec2-C955-u4m.js} +1 -1
  135. package/dist-renderer/assets/{tr-TR-DEFEU3FU-f-T831Ou.js → tr-TR-DEFEU3FU-u0AuqRoD.js} +1 -1
  136. package/dist-renderer/assets/{uk-UA-QMV73CPH-oa90pxqd.js → uk-UA-QMV73CPH-IwAiPvJL.js} +1 -1
  137. package/dist-renderer/assets/{vi-VN-M7AON7JQ-CFBU2l5s.js → vi-VN-M7AON7JQ-Dh6Aj3f5.js} +1 -1
  138. package/dist-renderer/assets/{xychartDiagram-e933f94c-B6py5YKf.js → xychartDiagram-e933f94c-Bst4jMma.js} +1 -1
  139. package/dist-renderer/assets/{zh-CN-LNUGB5OW-R4K3nYOI.js → zh-CN-LNUGB5OW-BVXMa9T3.js} +1 -1
  140. package/dist-renderer/assets/{zh-HK-E62DVLB3-BjLHW6lU.js → zh-HK-E62DVLB3-DYEIu92z.js} +1 -1
  141. package/dist-renderer/assets/{zh-TW-RAJ6MFWO-e20gphGm.js → zh-TW-RAJ6MFWO-Dm9oSthu.js} +1 -1
  142. package/dist-renderer/index.html +2 -2
  143. package/package.json +2 -2
  144. package/skills/council-manage/SKILL.md +45 -45
  145. package/skills/council-setup-keys/SKILL.md +2 -2
  146. package/dist-renderer/assets/channel-B90-0NuK.js +0 -1
  147. package/dist-renderer/assets/clone-DEtBvu0Z.js +0 -1
  148. package/dist-renderer/assets/flowDiagram-v2-96b9c2cf-BsIp2X-N.js +0 -1
  149. package/dist-renderer/assets/index-DJ14s8KN.js +0 -51
  150. package/dist-renderer/assets/index-HXjW9ZG3.css +0 -1
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # @statechange/council
2
2
 
3
- Build a council of AI personas and have them debate any topic. Each counsellor has their own LLM backend, model, personality, and source material. Run discussions in a structured **debate** format or an open **freeform** group chat — via the CLI, an Electron GUI, or Claude Code skills.
3
+ Build a council of AI personas and have them debate any topic. Each councilor has their own LLM backend, model, personality, and source material. Run discussions in a structured **debate** format or an open **freeform** group chat — via the CLI, an Electron GUI, or Claude Code skills.
4
4
 
5
5
  ## Getting Started with Claude Code Skills
6
6
 
7
- The fastest path is to add the skills to [Claude Code](https://claude.com/claude-code). They handle installation, configuration, counsellor creation, and running discussions for you.
7
+ The fastest path is to add the skills to [Claude Code](https://claude.com/claude-code). They handle installation, configuration, councilor creation, and running discussions for you.
8
8
 
9
9
  ```bash
10
10
  npx skills add statechangelabs/ai-council
@@ -14,7 +14,7 @@ This gives you two skills:
14
14
 
15
15
  | Skill | What it does |
16
16
  |-------|-------------|
17
- | `/council-manage` | Create counsellors, run discussions, manage your council. Try: *"create a counsellor based on Warren Buffett"* or *"run a debate about whether AI should be open source"* |
17
+ | `/council-manage` | Create councilors, run discussions, manage your council. Try: *"create a councilor based on Warren Buffett"* or *"run a debate about whether AI should be open source"* |
18
18
  | `/council-setup-keys` | Finds API keys scattered across your env files and shell profiles, then imports them into `~/.ai-council/config.json` |
19
19
 
20
20
  The skills will install the `council` CLI automatically if it's not already on your system.
@@ -40,20 +40,20 @@ council discuss "Should we pivot to enterprise?" --rounds 3
40
40
  # Debate — structured constructive/rebuttal format
41
41
  council discuss "Should AI be open source?" --mode debate --rounds 3
42
42
 
43
- # Pick specific counsellors
44
- council discuss "Topic" --counsellors ./council/strategist ./council/critic
43
+ # Pick specific councilors
44
+ council discuss "Topic" --councilors ./council/strategist ./council/critic
45
45
 
46
46
  # Topic from a file
47
47
  council discuss ./topics/architecture.md
48
48
  ```
49
49
 
50
- ### Manage counsellors
50
+ ### Manage councilors
51
51
 
52
52
  ```bash
53
- council list # Show available counsellors
54
- council counsellor add ./path/to/counsellor # Register from local directory
55
- council counsellor add https://github.com/user/counsellors.git # From git
56
- council counsellor remove my-counsellor # Unregister
53
+ council list # Show available councilors
54
+ council councilor add ./path/to/councilor # Register from local directory
55
+ council councilor add https://github.com/user/councilors.git # From git
56
+ council councilor remove my-councilor # Unregister
57
57
  ```
58
58
 
59
59
  ### View history
@@ -80,7 +80,7 @@ council discuss <topic> [options]
80
80
  --mode, -m freeform or debate (default: freeform)
81
81
  --rounds, -r Number of discussion rounds (default: 2)
82
82
  --council, -c Path to council directory (default: ./council/)
83
- --counsellors Specific counsellor directory paths (space-separated)
83
+ --councilors Specific councilor directory paths (space-separated)
84
84
  --output, -o Output directory (default: ./output)
85
85
  --format, -f md, json, or both (default: both)
86
86
  --infographic, -i Generate an infographic after discussion
@@ -88,7 +88,7 @@ council discuss <topic> [options]
88
88
 
89
89
  ## GUI
90
90
 
91
- The Electron app gives you a visual interface with real-time streaming, point-and-click counsellor management, and full discussion history.
91
+ The Electron app gives you a visual interface with real-time streaming, point-and-click councilor management, and full discussion history.
92
92
 
93
93
  ```bash
94
94
  # From the cloned repo
@@ -100,8 +100,8 @@ bun run dev:gui
100
100
 
101
101
  ### What you get
102
102
 
103
- - **Discussion page** — Topic input with file attachments, counsellor selection chips, freeform/debate mode toggle, real-time streaming of responses, round dividers and interim summaries in debate mode, inject messages mid-discussion
104
- - **Counsellors page** — Browse, search, create, edit, and delete counsellors with a form editor or raw ABOUT.md editing; register external counsellors from local paths or git repos
103
+ - **Discussion page** — Topic input with file attachments, councilor selection chips, freeform/debate mode toggle, real-time streaming of responses, round dividers and interim summaries in debate mode, inject messages mid-discussion
104
+ - **Councilors page** — Browse, search, create, edit, and delete councilors with a form editor or raw ABOUT.md editing; register external councilors from local paths or git repos
105
105
  - **History page** — Browse past discussions, view full transcripts with round summaries, copy as markdown, generate infographics
106
106
  - **Settings page** — Configure API keys per backend, test connections, see available models
107
107
 
@@ -109,15 +109,15 @@ bun run dev:gui
109
109
 
110
110
  ### Freeform
111
111
 
112
- The default. An open group chat where every counsellor sees the full conversation history on every turn. The first speaker sets the tone and later speakers react to what's been said. Counsellor order stays the same each round.
112
+ The default. An open group chat where every councilor sees the full conversation history on every turn. The first speaker sets the tone and later speakers react to what's been said. Councilor order stays the same each round.
113
113
 
114
114
  ### Debate
115
115
 
116
116
  A structured argument format designed to prevent pile-on and anchoring bias:
117
117
 
118
- 1. **Round 1 — Constructive**: Each counsellor argues their position based *only* on the question. They can't see what anyone else said. Even a "critic" persona has to stand up their own argument first.
118
+ 1. **Round 1 — Constructive**: Each councilor argues their position based *only* on the question. They can't see what anyone else said. Even a "critic" persona has to stand up their own argument first.
119
119
 
120
- 2. **Rebuttal rounds (2+)**: Counsellors now see the constructive round plus *only* the previous rebuttal round — not the entire history. This keeps context growth bounded. Speaker order is shuffled each round so nobody is always first or last.
120
+ 2. **Rebuttal rounds (2+)**: Councilors now see the constructive round plus *only* the previous rebuttal round — not the entire history. This keeps context growth bounded. Speaker order is shuffled each round so nobody is always first or last.
121
121
 
122
122
  3. **Interim summaries**: If a secretary is configured, a brief summary is generated after every round, tracking emerging agreements, disagreements, and shifts in position.
123
123
 
@@ -154,13 +154,13 @@ Enable post-discussion summaries (and debate interim summaries) by adding a `sec
154
154
  | google | gemini-2.0-flash | `GOOGLE_API_KEY` |
155
155
  | ollama | llama3.2 | None (local) |
156
156
 
157
- ## Creating Counsellors
157
+ ## Creating Councilors
158
158
 
159
- A counsellor is a directory containing an `ABOUT.md` file with YAML frontmatter and a system prompt:
159
+ A councilor is a directory containing an `ABOUT.md` file with YAML frontmatter and a system prompt:
160
160
 
161
161
  ```
162
162
  council/
163
- my-counsellor/
163
+ my-councilor/
164
164
  ABOUT.md
165
165
  avatar.jpg # optional
166
166
  ```
@@ -195,30 +195,30 @@ Keep your responses focused. Aim for 2-4 paragraphs per turn.
195
195
  | Field | Required | Description |
196
196
  |-------|----------|-------------|
197
197
  | `name` | Yes | Display name |
198
- | `description` | Yes | One-line summary of this counsellor's perspective |
198
+ | `description` | Yes | One-line summary of this councilor's perspective |
199
199
  | `backend` | Yes | `anthropic`, `openai`, `google`, or `ollama` |
200
200
  | `model` | No | Specific model ID; uses backend default if omitted |
201
201
  | `temperature` | No | 0.0–2.0; higher = more creative (default varies by backend) |
202
202
  | `interests` | No | Tags shown in the UI |
203
203
  | `avatar` | No | Path to local image or URL |
204
204
 
205
- ### Included counsellors
205
+ ### Included councilors
206
206
 
207
- The package ships with three starter counsellors:
207
+ The package ships with three starter councilors:
208
208
 
209
- | Counsellor | Backend | Perspective |
209
+ | Councilor | Backend | Perspective |
210
210
  |-----------|---------|-------------|
211
211
  | **The Strategist** | Anthropic (Haiku) | Strategic business advisor — positioning, growth, competitive advantage |
212
212
  | **The Creative** | Anthropic (Opus) | Lateral thinker — unexpected analogies, reframing, unconventional connections |
213
213
  | **The Critic** | Google (Gemini Flash) | Devil's advocate — stress-tests ideas, surfaces assumptions, finds failure modes |
214
214
 
215
- ### Building counsellors from source material
215
+ ### Building councilors from source material
216
216
 
217
- You can create counsellors based on real people or bodies of work by appending reference material below the system prompt. The `/council-manage` skill in Claude Code can automate this — ask it to *"create a counsellor based on [person or book]"* and it'll handle downloading source text, writing the system prompt, and assembling the ABOUT.md.
217
+ You can create councilors based on real people or bodies of work by appending reference material below the system prompt. The `/council-manage` skill in Claude Code can automate this — ask it to *"create a councilor based on [person or book]"* and it'll handle downloading source text, writing the system prompt, and assembling the ABOUT.md.
218
218
 
219
219
  ## Logging
220
220
 
221
- Errors are logged to `~/.ai-council/council.log` with timestamps, context tags, and full stack traces. Check this file when a counsellor fails to respond or a summary doesn't generate.
221
+ Errors are logged to `~/.ai-council/council.log` with timestamps, context tags, and full stack traces. Check this file when a councilor fails to respond or a summary doesn't generate.
222
222
 
223
223
  ## Development
224
224
 
package/dist/cli.js CHANGED
@@ -7,7 +7,7 @@ import { resolve } from "node:path";
7
7
  import { DiscussCommand } from "./commands/discuss.js";
8
8
  import { ListCommand } from "./commands/list.js";
9
9
  import { ConfigCommand } from "./commands/config.js";
10
- import { CounsellorCommand } from "./commands/counsellor.js";
10
+ import { CouncilorCommand } from "./commands/councilor.js";
11
11
  import { HistoryCommand } from "./commands/history.js";
12
12
  import { GuiCommand } from "./commands/gui.js";
13
13
  import { InstallCommand } from "./commands/install.js";
@@ -17,12 +17,12 @@ const cli = meow(`
17
17
 
18
18
  Commands
19
19
  discuss <topic> Run a council discussion on a topic (string or file path)
20
- list List available counsellors
20
+ list List available councilors
21
21
  history List past discussions
22
22
  history <id> Show a specific past discussion
23
- counsellor add <path-or-url> Register a counsellor from a local path or git URL
24
- counsellor remove <id> Unregister a counsellor (--yes to delete cloned files)
25
- counsellor list List all registered counsellors
23
+ councilor add <path-or-url> Register a councilor from a local path or git URL
24
+ councilor remove <id> Unregister a councilor (--yes to delete cloned files)
25
+ councilor list List all registered councilors
26
26
  gui Launch the Electron GUI
27
27
  install Install AI Council as a macOS application
28
28
  install --uninstall Remove AI Council from Applications
@@ -32,15 +32,15 @@ const cli = meow(`
32
32
 
33
33
  Options
34
34
  --council, -c Path to council directory (default: ./council/)
35
- --counsellors Specific counsellor directory paths (space-separated)
35
+ --councilors Specific councilor directory paths (space-separated)
36
36
  --rounds, -r Number of discussion rounds (default: 2)
37
37
  --output, -o Output directory (default: ./output)
38
38
  --format, -f Output format: md, json, or both (default: both)
39
39
  --mode, -m Discussion mode: freeform or debate (default: freeform)
40
- freeform — open group chat; every counsellor sees the
40
+ freeform — open group chat; every councilor sees the
41
41
  full conversation history on every turn
42
42
  debate — structured argument; round 1 is constructive
43
- (each counsellor argues blind), then rebuttal
43
+ (each councilor argues blind), then rebuttal
44
44
  rounds see only the constructives + previous
45
45
  round; speaker order is shuffled each round;
46
46
  interim summaries after every round
@@ -50,7 +50,7 @@ const cli = meow(`
50
50
  Examples
51
51
  $ council discuss "Should we pivot to enterprise?" --rounds 3
52
52
  $ council discuss "Should AI be open source?" --mode debate --rounds 3
53
- $ council discuss ./topic.md --counsellors ./council/strategist ./council/critic
53
+ $ council discuss ./topic.md --councilors ./council/strategist ./council/critic
54
54
  $ council list --council ./council/
55
55
  $ council config scan
56
56
  $ council config scan ~/projects/myapp/.env ~/other/.env
@@ -64,7 +64,7 @@ const cli = meow(`
64
64
  shortFlag: "c",
65
65
  default: "./council/",
66
66
  },
67
- counsellors: {
67
+ councilors: {
68
68
  type: "string",
69
69
  isMultiple: true,
70
70
  },
@@ -122,8 +122,8 @@ switch (command) {
122
122
  console.error("Error: --mode must be freeform or debate");
123
123
  process.exit(1);
124
124
  }
125
- render(_jsx(DiscussCommand, { topic: topic, councilDir: resolve(cli.flags.council), counsellorPaths: cli.flags.counsellors && cli.flags.counsellors.length > 0
126
- ? cli.flags.counsellors.map((p) => resolve(p))
125
+ render(_jsx(DiscussCommand, { topic: topic, councilDir: resolve(cli.flags.council), councilorPaths: cli.flags.councilors && cli.flags.councilors.length > 0
126
+ ? cli.flags.councilors.map((p) => resolve(p))
127
127
  : undefined, rounds: cli.flags.rounds, outputDir: resolve(cli.flags.output), format: format, infographic: cli.flags.infographic, mode: mode }));
128
128
  break;
129
129
  }
@@ -135,14 +135,14 @@ switch (command) {
135
135
  case "list":
136
136
  render(_jsx(ListCommand, { councilDir: resolve(cli.flags.council) }));
137
137
  break;
138
- case "counsellor": {
138
+ case "councilor": {
139
139
  const sub = cli.input[1];
140
140
  if (!sub || !["add", "remove", "list"].includes(sub)) {
141
- console.error("Usage: council counsellor <add|remove|list> [target]");
141
+ console.error("Usage: council councilor <add|remove|list> [target]");
142
142
  process.exit(1);
143
143
  }
144
144
  const target = cli.input[2];
145
- render(_jsx(CounsellorCommand, { subcommand: sub, target: target, yes: cli.flags.yes }));
145
+ render(_jsx(CouncilorCommand, { subcommand: sub, target: target, yes: cli.flags.yes }));
146
146
  break;
147
147
  }
148
148
  case "gui":
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ interface Props {
2
+ subcommand: "add" | "remove" | "list";
3
+ target?: string;
4
+ yes?: boolean;
5
+ }
6
+ export declare function CouncilorCommand({ subcommand, target, yes }: Props): import("react/jsx-runtime").JSX.Element | null;
7
+ export {};
@@ -0,0 +1,98 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from "react";
3
+ import { Box, Text } from "ink";
4
+ import Spinner from "ink-spinner";
5
+ import { getRegistry, addLocalCouncilor, addRemoteCouncilor, removeCouncilor, } from "../core/councilor-registry.js";
6
+ import { readFile } from "node:fs/promises";
7
+ import { join } from "node:path";
8
+ import { homedir } from "node:os";
9
+ import { existsSync } from "node:fs";
10
+ function isUrl(s) {
11
+ return s.startsWith("http://") || s.startsWith("https://") || s.endsWith(".git");
12
+ }
13
+ export function CouncilorCommand({ subcommand, target, yes }) {
14
+ const [status, setStatus] = useState("loading");
15
+ const [message, setMessage] = useState("");
16
+ const [registry, setRegistry] = useState({});
17
+ useEffect(() => {
18
+ async function run() {
19
+ try {
20
+ switch (subcommand) {
21
+ case "add": {
22
+ if (!target) {
23
+ setMessage("Error: Please provide a path or URL.\n $ council councilor add <path-or-url>");
24
+ setStatus("error");
25
+ process.exitCode = 1;
26
+ return;
27
+ }
28
+ if (isUrl(target)) {
29
+ setMessage(`Cloning ${target}...`);
30
+ const results = await addRemoteCouncilor(target);
31
+ const lines = results.map((r) => ` ${r.id} — ${r.name}`).join("\n");
32
+ setMessage(`Registered ${results.length} councilor${results.length > 1 ? "s" : ""} from git:\n${lines}`);
33
+ }
34
+ else {
35
+ const result = await addLocalCouncilor(target);
36
+ setMessage(`Registered: ${result.id} — ${result.name}`);
37
+ }
38
+ setStatus("done");
39
+ break;
40
+ }
41
+ case "remove": {
42
+ if (!target) {
43
+ setMessage("Error: Please provide a councilor id.\n $ council councilor remove <id>");
44
+ setStatus("error");
45
+ process.exitCode = 1;
46
+ return;
47
+ }
48
+ await removeCouncilor(target, yes);
49
+ setMessage(`Removed: ${target}`);
50
+ setStatus("done");
51
+ break;
52
+ }
53
+ case "list": {
54
+ const configPath = join(homedir(), ".ai-council", "config.json");
55
+ let config = { backends: {} };
56
+ try {
57
+ config = JSON.parse(await readFile(configPath, "utf-8"));
58
+ }
59
+ catch {
60
+ // no config
61
+ }
62
+ const reg = getRegistry(config);
63
+ setRegistry(reg);
64
+ setStatus("done");
65
+ break;
66
+ }
67
+ }
68
+ }
69
+ catch (err) {
70
+ setMessage(err instanceof Error ? err.message : String(err));
71
+ setStatus("error");
72
+ process.exitCode = 1;
73
+ }
74
+ }
75
+ run();
76
+ }, []);
77
+ if (status === "loading" && subcommand === "add") {
78
+ return (_jsxs(Box, { children: [_jsx(Text, { color: "green", children: _jsx(Spinner, { type: "dots" }) }), _jsxs(Text, { children: [" ", message || "Processing..."] })] }));
79
+ }
80
+ if (status === "error") {
81
+ return _jsxs(Text, { color: "red", children: ["Error: ", message] });
82
+ }
83
+ if (subcommand === "list") {
84
+ const entries = Object.entries(registry);
85
+ if (entries.length === 0) {
86
+ return _jsx(Text, { dimColor: true, children: "No registered councilors. Use `council councilor add` to register one." });
87
+ }
88
+ return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsxs(Text, { bold: true, children: ["Registered Councilors (", entries.length, ")"] }), _jsx(Text, { children: " " }), entries.map(([id, entry]) => {
89
+ const onDisk = existsSync(join(entry.path, "ABOUT.md"));
90
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { children: [_jsx(Text, { bold: true, color: "cyan", children: id }), " ", _jsxs(Text, { dimColor: true, children: ["[", entry.source, "]"] }), !onDisk && _jsx(Text, { color: "red", children: " (missing)" })] }), _jsxs(Text, { dimColor: true, children: [" ", entry.path] }), entry.url && _jsxs(Text, { dimColor: true, children: [" ", entry.url] })] }, id));
91
+ })] }));
92
+ }
93
+ if (status === "done") {
94
+ return _jsx(Text, { color: "green", children: message });
95
+ }
96
+ return null;
97
+ }
98
+ //# sourceMappingURL=councilor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"councilor.js","sourceRoot":"","sources":["../../src/commands/councilor.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  interface Props {
2
2
  topic: string;
3
3
  councilDir: string;
4
- counsellorPaths?: string[];
4
+ councilorPaths?: string[];
5
5
  rounds: number;
6
6
  outputDir: string;
7
7
  format: "md" | "json" | "both";
8
8
  infographic?: boolean;
9
9
  mode?: "freeform" | "debate";
10
10
  }
11
- export declare function DiscussCommand({ topic, councilDir, counsellorPaths, rounds, outputDir, format, infographic: generateInfographicFlag, mode, }: Props): import("react/jsx-runtime").JSX.Element;
11
+ export declare function DiscussCommand({ topic, councilDir, councilorPaths, rounds, outputDir, format, infographic: generateInfographicFlag, mode, }: Props): import("react/jsx-runtime").JSX.Element;
12
12
  export {};
@@ -6,16 +6,16 @@ import { readFile } from "node:fs/promises";
6
6
  import { existsSync } from "node:fs";
7
7
  import { join } from "node:path";
8
8
  import { homedir } from "node:os";
9
- import { loadCounsellors, loadSpecificCounsellors } from "../core/counsellor-loader.js";
10
- import { getRegisteredPaths } from "../core/counsellor-registry.js";
9
+ import { loadCouncilors, loadSpecificCouncilors } from "../core/councilor-loader.js";
10
+ import { getRegisteredPaths } from "../core/councilor-registry.js";
11
11
  import { runConversation } from "../core/conversation-engine.js";
12
12
  import { writeOutput } from "../core/output-formatter.js";
13
13
  import { saveToHistory } from "../core/history.js";
14
14
  import { runSecretary } from "../core/secretary.js";
15
15
  import { generateInfographic } from "../core/infographic.js";
16
16
  import { log } from "../core/logger.js";
17
- export function DiscussCommand({ topic, councilDir, counsellorPaths, rounds, outputDir, format, infographic: generateInfographicFlag, mode = "freeform", }) {
18
- const [status, setStatus] = useState("Loading counsellors...");
17
+ export function DiscussCommand({ topic, councilDir, councilorPaths, rounds, outputDir, format, infographic: generateInfographicFlag, mode = "freeform", }) {
18
+ const [status, setStatus] = useState("Loading councilors...");
19
19
  const [currentSpeaker, setCurrentSpeaker] = useState(null);
20
20
  const [currentRound, setCurrentRound] = useState(0);
21
21
  const [completedTurns, setCompletedTurns] = useState([]);
@@ -37,7 +37,7 @@ export function DiscussCommand({ topic, councilDir, counsellorPaths, rounds, out
37
37
  resolvedTopic = await readFile(topic, "utf-8");
38
38
  topicSource = "file";
39
39
  }
40
- // Load config and counsellors
40
+ // Load config and councilors
41
41
  let cfg = { backends: {} };
42
42
  let registeredPaths = [];
43
43
  try {
@@ -45,16 +45,16 @@ export function DiscussCommand({ topic, councilDir, counsellorPaths, rounds, out
45
45
  registeredPaths = getRegisteredPaths(cfg);
46
46
  }
47
47
  catch { /* no config */ }
48
- const counsellors = counsellorPaths?.length
49
- ? await loadSpecificCounsellors(counsellorPaths)
50
- : await loadCounsellors(councilDir, registeredPaths);
51
- setStatus(`Starting ${mode === "debate" ? "debate" : "discussion"} with ${counsellors.length} counsellor${counsellors.length > 1 ? "s" : ""} over ${rounds} round${rounds > 1 ? "s" : ""}`);
48
+ const councilors = councilorPaths?.length
49
+ ? await loadSpecificCouncilors(councilorPaths)
50
+ : await loadCouncilors(councilDir, registeredPaths);
51
+ setStatus(`Starting ${mode === "debate" ? "debate" : "discussion"} with ${councilors.length} councilor${councilors.length > 1 ? "s" : ""} over ${rounds} round${rounds > 1 ? "s" : ""}`);
52
52
  const onEvent = (event) => {
53
53
  switch (event.type) {
54
54
  case "turn_start":
55
55
  setCurrentRound(event.round);
56
- setCurrentSpeaker(event.counsellorName);
57
- setStatus(`Round ${event.round} — ${event.counsellorName} is speaking...`);
56
+ setCurrentSpeaker(event.councilorName);
57
+ setStatus(`Round ${event.round} — ${event.councilorName} is speaking...`);
58
58
  break;
59
59
  case "turn_complete":
60
60
  setCompletedTurns((prev) => [...prev, event.turn]);
@@ -75,14 +75,14 @@ export function DiscussCommand({ topic, councilDir, counsellorPaths, rounds, out
75
75
  setActiveRoundSummary("");
76
76
  break;
77
77
  case "error":
78
- setError(`Error from ${event.counsellorName}: ${event.error}`);
78
+ setError(`Error from ${event.councilorName}: ${event.error}`);
79
79
  break;
80
80
  }
81
81
  };
82
82
  const result = await runConversation({
83
83
  topic: resolvedTopic,
84
84
  topicSource,
85
- counsellors,
85
+ councilors,
86
86
  rounds,
87
87
  onEvent,
88
88
  mode,
@@ -149,6 +149,6 @@ export function DiscussCommand({ topic, councilDir, counsellorPaths, rounds, out
149
149
  if (done) {
150
150
  return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsx(Text, { color: "green", children: "Discussion complete!" }), _jsxs(Text, { children: [completedTurns.length, " turns across ", currentRound, " round", currentRound > 1 ? "s" : ""] }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, children: "Output files:" }), outputFiles.map((f) => (_jsxs(Text, { color: "cyan", children: [" ", f] }, f)))] }), Object.keys(roundSummaries).length > 0 && (_jsx(Box, { flexDirection: "column", marginTop: 1, children: Object.entries(roundSummaries).map(([round, summary]) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { bold: true, color: "yellow", children: ["Round ", round, " Summary:"] }), _jsx(Text, { children: summary })] }, round))) })), summaryStatus === "complete" && summaryText && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, color: "blue", children: "Secretary's Summary:" }), _jsx(Text, { children: summaryText })] })), infographicSaved && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "magenta", children: "Infographic saved to history." }) }))] }));
151
151
  }
152
- return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: "green", children: _jsx(Spinner, { type: "dots" }) }), _jsxs(Text, { children: [" ", status] })] }), completedTurns.length > 0 && (_jsx(Box, { flexDirection: "column", marginTop: 1, children: completedTurns.slice(-3).map((turn, i) => (_jsxs(Text, { dimColor: true, children: ["Round ", turn.round, " \u2014 ", turn.counsellorName, ": ", turn.content.slice(0, 80), "..."] }, i))) })), activeRoundSummary && (_jsx(Box, { flexDirection: "column", marginTop: 1, children: _jsxs(Text, { color: "yellow", dimColor: true, children: [activeRoundSummary.slice(0, 120), "..."] }) }))] }));
152
+ return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: "green", children: _jsx(Spinner, { type: "dots" }) }), _jsxs(Text, { children: [" ", status] })] }), completedTurns.length > 0 && (_jsx(Box, { flexDirection: "column", marginTop: 1, children: completedTurns.slice(-3).map((turn, i) => (_jsxs(Text, { dimColor: true, children: ["Round ", turn.round, " \u2014 ", turn.councilorName, ": ", turn.content.slice(0, 80), "..."] }, i))) })), activeRoundSummary && (_jsx(Box, { flexDirection: "column", marginTop: 1, children: _jsxs(Text, { color: "yellow", dimColor: true, children: [activeRoundSummary.slice(0, 120), "..."] }) }))] }));
153
153
  }
154
154
  //# sourceMappingURL=discuss.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"discuss.js","sourceRoot":"","sources":["../../src/commands/discuss.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAcxC,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,EACL,UAAU,EACV,eAAe,EACf,MAAM,EACN,SAAS,EACT,MAAM,EACN,WAAW,EAAE,uBAAuB,EACpC,IAAI,GAAG,UAAU,GACX;IACN,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAC/D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1E,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAqB,EAAE,CAAC,CAAC;IAC7E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAkC,MAAM,CAAC,CAAC;IAC5F,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAyB,EAAE,CAAC,CAAC;IACjF,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IAEzE,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,UAAU,GAAG;YAChB,IAAI,CAAC;gBACH,gBAAgB;gBAChB,IAAI,aAAa,GAAG,KAAK,CAAC;gBAC1B,IAAI,WAAW,GAAsB,QAAQ,CAAC;gBAC9C,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,aAAa,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBAC/C,WAAW,GAAG,MAAM,CAAC;gBACvB,CAAC;gBAED,8BAA8B;gBAC9B,IAAI,GAAG,GAAkB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBAC1C,IAAI,eAAe,GAAa,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CACd,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CACvE,CAAC;oBACF,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC;gBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;gBAE3B,MAAM,WAAW,GAAG,eAAe,EAAE,MAAM;oBACzC,CAAC,CAAC,MAAM,uBAAuB,CAAC,eAAe,CAAC;oBAChD,CAAC,CAAC,MAAM,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;gBAEvD,SAAS,CACP,YAAY,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,SAAS,WAAW,CAAC,MAAM,cAAc,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,MAAM,SAAS,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACjL,CAAC;gBAEF,MAAM,OAAO,GAAG,CAAC,KAAwB,EAAE,EAAE;oBAC3C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;wBACnB,KAAK,YAAY;4BACf,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BAC7B,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;4BACxC,SAAS,CAAC,SAAS,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,cAAc,iBAAiB,CAAC,CAAC;4BAC3E,MAAM;wBACR,KAAK,eAAe;4BAClB,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;4BACnD,iBAAiB,CAAC,IAAI,CAAC,CAAC;4BACxB,MAAM;wBACR,KAAK,gBAAgB;4BACnB,SAAS,CAAC,SAAS,KAAK,CAAC,KAAK,WAAW,CAAC,CAAC;4BAC3C,MAAM;wBACR,KAAK,qBAAqB;4BACxB,qBAAqB,CAAC,EAAE,CAAC,CAAC;4BAC1B,SAAS,CAAC,qBAAqB,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;4BACjD,MAAM;wBACR,KAAK,qBAAqB;4BACxB,qBAAqB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;4BACpD,MAAM;wBACR,KAAK,wBAAwB;4BAC3B,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;4BACzE,qBAAqB,CAAC,EAAE,CAAC,CAAC;4BAC1B,MAAM;wBACR,KAAK,OAAO;4BACV,QAAQ,CAAC,cAAc,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;4BAC/D,MAAM;oBACV,CAAC;gBACH,CAAC,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;oBACnC,KAAK,EAAE,aAAa;oBACpB,WAAW;oBACX,WAAW;oBACX,MAAM;oBACN,OAAO;oBACP,IAAI;oBACJ,MAAM,EAAE,GAAG;iBACZ,CAAC,CAAC;gBAEH,SAAS,CAAC,mBAAmB,CAAC,CAAC;gBAC/B,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC3D,cAAc,CAAC,KAAK,CAAC,CAAC;gBAEtB,8BAA8B;gBAC9B,IAAI,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;oBAC3B,IAAI,CAAC;wBACH,gBAAgB,CAAC,SAAS,CAAC,CAAC;wBAC5B,SAAS,CAAC,6BAA6B,CAAC,CAAC;wBACzC,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC;4BACzC,MAAM;4BACN,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gCACjB,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;4BACzC,CAAC;yBACF,CAAC,CAAC;wBACH,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC;wBACtC,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;4BAC5B,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;wBAC3C,CAAC;wBACD,gBAAgB,CAAC,UAAU,CAAC,CAAC;wBAC7B,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBACvC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,0BAA0B,EAAE,GAAG,CAAC,CAAC;oBAC5D,CAAC;gBACH,CAAC;gBAED,oCAAoC;gBACpC,IAAI,uBAAuB,EAAE,CAAC;oBAC5B,IAAI,CAAC;wBACH,SAAS,CAAC,2BAA2B,CAAC,CAAC;wBACvC,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;wBAC1E,IAAI,CAAC,MAAM,CAAC,YAAY;4BAAE,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;wBACnD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;wBAC1C,mBAAmB,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,+BAA+B,EAAE,GAAG,CAAC,CAAC;oBACjE,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC;oBAAC,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;gBAAC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBAChD,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,2BAA2B,EAAE,GAAG,CAAC,CAAC;gBAC7D,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC;gBACnD,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,GAAG,EAAE,CAAC;IACR,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACzB,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,wBAAS,KAAK,IAAQ,GACnC,CACP,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACrC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,qCAA4B,EAC/C,MAAC,IAAI,eACF,cAAc,CAAC,MAAM,oBAAgB,YAAY,YACjD,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IACvB,EACP,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACtC,KAAC,IAAI,IAAC,IAAI,oCAAqB,EAC9B,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACtB,MAAC,IAAI,IAAS,KAAK,EAAC,MAAM,aACvB,IAAI,EAAE,CAAC,KADC,CAAC,CAEL,CACR,CAAC,IACE,EACL,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CACzC,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACrC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CACxD,MAAC,GAAG,IAAa,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aACrD,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,QAAQ,uBAAQ,KAAK,iBAAiB,EACvD,KAAC,IAAI,cAAE,OAAO,GAAQ,KAFd,KAAK,CAGT,CACP,CAAC,GACE,CACP,EACA,aAAa,KAAK,UAAU,IAAI,WAAW,IAAI,CAC9C,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACtC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,qCAA4B,EACnD,KAAC,IAAI,cAAE,WAAW,GAAQ,IACtB,CACP,EACA,gBAAgB,IAAI,CACnB,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,8CAAqC,GACtD,CACP,IACG,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACrC,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YACjB,KAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG,GAClB,EACP,MAAC,IAAI,oBAAG,MAAM,IAAQ,IAClB,EACL,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAC5B,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACrC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACzC,MAAC,IAAI,IAAS,QAAQ,6BACb,IAAI,CAAC,KAAK,cAAK,IAAI,CAAC,cAAc,QAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,YAD7D,CAAC,CAEL,CACR,CAAC,GACE,CACP,EACA,kBAAkB,IAAI,CACrB,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACtC,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,mBAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,GACtE,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"discuss.js","sourceRoot":"","sources":["../../src/commands/discuss.tsx"],"names":[],"mappings":"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"}
@@ -36,11 +36,11 @@ export function HistoryCommand({ id }) {
36
36
  return _jsxs(Text, { color: "red", children: ["Error: ", error] });
37
37
  }
38
38
  if (detail) {
39
- return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsxs(Text, { bold: true, children: ["Topic: ", detail.topic] }), _jsxs(Text, { dimColor: true, children: [detail.counsellors.map(c => c.name).join(", "), " | ", detail.rounds, " round", detail.rounds > 1 ? "s" : "", " | ", new Date(detail.startedAt).toLocaleString()] }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: detail.turns.map((turn, i) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { bold: true, color: "cyan", children: ["[", turn.counsellorName, "] Round ", turn.round] }), _jsx(Text, { children: turn.content })] }, i))) })] }));
39
+ return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsxs(Text, { bold: true, children: ["Topic: ", detail.topic] }), _jsxs(Text, { dimColor: true, children: [detail.councilors.map(c => c.name).join(", "), " | ", detail.rounds, " round", detail.rounds > 1 ? "s" : "", " | ", new Date(detail.startedAt).toLocaleString()] }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: detail.turns.map((turn, i) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { bold: true, color: "cyan", children: ["[", turn.councilorName, "] Round ", turn.round] }), _jsx(Text, { children: turn.content })] }, i))) })] }));
40
40
  }
41
41
  if (entries.length === 0) {
42
42
  return _jsx(Text, { dimColor: true, children: "No discussion history found." });
43
43
  }
44
- return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsx(Text, { bold: true, children: "Discussion History" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: entries.map((entry) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { children: [_jsx(Text, { bold: true, children: entry.topic.slice(0, 60) }), entry.topic.length > 60 ? "..." : ""] }), _jsxs(Text, { dimColor: true, children: [new Date(entry.startedAt).toLocaleString(), " | ", entry.counsellors.join(", "), " | ", entry.rounds, " round", entry.rounds > 1 ? "s" : ""] }), _jsxs(Text, { color: "gray", children: ["ID: ", entry.id] })] }, entry.id))) })] }));
44
+ return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsx(Text, { bold: true, children: "Discussion History" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: entries.map((entry) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { children: [_jsx(Text, { bold: true, children: entry.topic.slice(0, 60) }), entry.topic.length > 60 ? "..." : ""] }), _jsxs(Text, { dimColor: true, children: [new Date(entry.startedAt).toLocaleString(), " | ", entry.councilors.join(", "), " | ", entry.rounds, " round", entry.rounds > 1 ? "s" : ""] }), _jsxs(Text, { color: "gray", children: ["ID: ", entry.id] })] }, entry.id))) })] }));
45
45
  }
46
46
  //# sourceMappingURL=history.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.tsx"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from "react";
3
3
  import { Box, Text } from "ink";
4
- import { loadCounsellors } from "../core/counsellor-loader.js";
5
- import { getRegisteredPaths } from "../core/counsellor-registry.js";
4
+ import { loadCouncilors } from "../core/councilor-loader.js";
5
+ import { getRegisteredPaths } from "../core/councilor-registry.js";
6
6
  import { readFile } from "node:fs/promises";
7
7
  import { join } from "node:path";
8
8
  import { homedir } from "node:os";
9
9
  export function ListCommand({ councilDir }) {
10
- const [counsellors, setCounsellors] = useState([]);
10
+ const [councilors, setCouncilors] = useState([]);
11
11
  const [error, setError] = useState(null);
12
12
  const [loading, setLoading] = useState(true);
13
13
  useEffect(() => {
@@ -18,11 +18,11 @@ export function ListCommand({ councilDir }) {
18
18
  }
19
19
  catch { /* no config */ }
20
20
  const paths = getRegisteredPaths(config);
21
- return loadCounsellors(councilDir, paths);
21
+ return loadCouncilors(councilDir, paths);
22
22
  }
23
23
  load()
24
24
  .then((c) => {
25
- setCounsellors(c);
25
+ setCouncilors(c);
26
26
  setLoading(false);
27
27
  })
28
28
  .catch((err) => {
@@ -31,10 +31,10 @@ export function ListCommand({ councilDir }) {
31
31
  });
32
32
  }, []);
33
33
  if (loading)
34
- return _jsx(Text, { children: "Loading counsellors..." });
34
+ return _jsx(Text, { children: "Loading councilors..." });
35
35
  if (error) {
36
36
  return _jsxs(Text, { color: "red", children: ["Error: ", error] });
37
37
  }
38
- return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsxs(Text, { bold: true, children: ["Available Counsellors (", counsellors.length, ") from ", councilDir] }), _jsx(Text, { children: " " }), counsellors.map((c) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { children: [_jsx(Text, { bold: true, color: "cyan", children: c.frontmatter.name }), " ", _jsxs(Text, { dimColor: true, children: ["(", c.id, ")"] })] }), _jsxs(Text, { children: [" ", c.frontmatter.description] }), _jsxs(Text, { dimColor: true, children: [" ", "Backend: ", c.frontmatter.backend, c.frontmatter.model ? ` (${c.frontmatter.model})` : "", " | Interests:", " ", c.frontmatter.interests.join(", ")] })] }, c.id)))] }));
38
+ return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsxs(Text, { bold: true, children: ["Available Councilors (", councilors.length, ") from ", councilDir] }), _jsx(Text, { children: " " }), councilors.map((c) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { children: [_jsx(Text, { bold: true, color: "cyan", children: c.frontmatter.name }), " ", _jsxs(Text, { dimColor: true, children: ["(", c.id, ")"] })] }), _jsxs(Text, { children: [" ", c.frontmatter.description] }), _jsxs(Text, { dimColor: true, children: [" ", "Backend: ", c.frontmatter.backend, c.frontmatter.model ? ` (${c.frontmatter.model})` : "", " | Interests:", " ", c.frontmatter.interests.join(", ")] })] }, c.id)))] }));
39
39
  }
40
40
  //# sourceMappingURL=list.js.map