@statechange/council 0.9.1 → 0.11.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.
- package/README.md +22 -8
- package/dist/backends/anthropic.js +12 -1
- package/dist/backends/anthropic.js.map +1 -1
- package/dist/backends/google.js +14 -0
- package/dist/backends/google.js.map +1 -1
- package/dist/backends/ollama.js +10 -0
- package/dist/backends/ollama.js.map +1 -1
- package/dist/backends/openai.js +11 -0
- package/dist/backends/openai.js.map +1 -1
- package/dist/backends/types.d.ts +1 -1
- package/dist/cli.js +13 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/discuss.js +20 -4
- package/dist/commands/discuss.js.map +1 -1
- package/dist/commands/models.d.ts +5 -0
- package/dist/commands/models.js +54 -0
- package/dist/commands/models.js.map +1 -0
- package/dist/commands/update.d.ts +1 -0
- package/dist/commands/update.js +100 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/core/conversation-engine.js +15 -0
- package/dist/core/conversation-engine.js.map +1 -1
- package/dist/core/preflight.d.ts +17 -0
- package/dist/core/preflight.js +56 -0
- package/dist/core/preflight.js.map +1 -0
- package/dist/electron/ipc-handlers.js +40 -3
- package/dist/electron/ipc-handlers.js.map +1 -1
- package/dist/electron/preload.js +1 -0
- package/dist/electron/preload.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist-electron/main.js +764 -654
- package/dist-electron/preload.mjs +1 -1
- package/dist-renderer/assets/{ar-SA-G6X2FPQ2-DJTj94ZY.js → ar-SA-G6X2FPQ2-DT1ABS9g.js} +1 -1
- package/dist-renderer/assets/{arc-3qXpUeCd.js → arc-B7OfCKe9.js} +1 -1
- package/dist-renderer/assets/{az-AZ-76LH7QW2-1qnzBARG.js → az-AZ-76LH7QW2-D8wBYMaH.js} +1 -1
- package/dist-renderer/assets/{bg-BG-XCXSNQG7-BIZ5IFAv.js → bg-BG-XCXSNQG7-BzDdz5-g.js} +1 -1
- package/dist-renderer/assets/{blockDiagram-38ab4fdb-JwSYiuLB.js → blockDiagram-38ab4fdb-DRwhQ-xk.js} +1 -1
- package/dist-renderer/assets/{bn-BD-2XOGV67Q-DiYpgYAg.js → bn-BD-2XOGV67Q-Bhihwwmv.js} +1 -1
- package/dist-renderer/assets/{c4Diagram-3d4e48cf-DUCtOTzV.js → c4Diagram-3d4e48cf-BKt-lwYH.js} +1 -1
- package/dist-renderer/assets/{ca-ES-6MX7JW3Y-CV2JFVcm.js → ca-ES-6MX7JW3Y-BXRLXOfx.js} +1 -1
- package/dist-renderer/assets/channel-BThr2Pht.js +1 -0
- package/dist-renderer/assets/{classDiagram-70f12bd4-DY_je9I9.js → classDiagram-70f12bd4-DCF0wJjS.js} +1 -1
- package/dist-renderer/assets/{classDiagram-v2-f2320105-Dm2xf0kS.js → classDiagram-v2-f2320105-DUqV3auX.js} +1 -1
- package/dist-renderer/assets/clone-Dzrmu-hX.js +1 -0
- package/dist-renderer/assets/{createText-2e5e7dd3-BU4YlynJ.js → createText-2e5e7dd3-jZiKHT8b.js} +1 -1
- package/dist-renderer/assets/{cs-CZ-2BRQDIVT-DgefxJv2.js → cs-CZ-2BRQDIVT-C2n_W20l.js} +1 -1
- package/dist-renderer/assets/{da-DK-5WZEPLOC-CQeMoU_Y.js → da-DK-5WZEPLOC-BMyGcTrK.js} +1 -1
- package/dist-renderer/assets/{de-DE-XR44H4JA-Cm7XiExL.js → de-DE-XR44H4JA-DSalSqLg.js} +1 -1
- package/dist-renderer/assets/{edges-e0da2a9e-DU4SF3SK.js → edges-e0da2a9e-CxH4eozj.js} +1 -1
- package/dist-renderer/assets/{el-GR-BZB4AONW-BKDtOlnf.js → el-GR-BZB4AONW-6JczKU8m.js} +1 -1
- package/dist-renderer/assets/{erDiagram-9861fffd-D_cCijmv.js → erDiagram-9861fffd-zrWbiPwE.js} +1 -1
- package/dist-renderer/assets/{es-ES-U4NZUMDT-Blb_L7K-.js → es-ES-U4NZUMDT-W3x9nuJM.js} +1 -1
- package/dist-renderer/assets/{eu-ES-A7QVB2H4-BZJBLMeO.js → eu-ES-A7QVB2H4-DWPIl7U2.js} +1 -1
- package/dist-renderer/assets/{fa-IR-HGAKTJCU-C8gu07sI.js → fa-IR-HGAKTJCU-6f-gS7va.js} +1 -1
- package/dist-renderer/assets/{fi-FI-Z5N7JZ37-0j8c6s09.js → fi-FI-Z5N7JZ37-D9INJayl.js} +1 -1
- package/dist-renderer/assets/{flowDb-956e92f1-BYeD7SW0.js → flowDb-956e92f1-BcD3knfQ.js} +1 -1
- package/dist-renderer/assets/{flowDiagram-66a62f08-D_7wXttk.js → flowDiagram-66a62f08-ueJuroOL.js} +1 -1
- package/dist-renderer/assets/flowDiagram-v2-96b9c2cf-Bc_edFJX.js +1 -0
- package/dist-renderer/assets/{flowchart-elk-definition-4a651766-G1tSg-iY.js → flowchart-elk-definition-4a651766-YvyrdIKN.js} +1 -1
- package/dist-renderer/assets/{fr-FR-RHASNOE6-_cfaQNNq.js → fr-FR-RHASNOE6-Cs8X8O3s.js} +1 -1
- package/dist-renderer/assets/{ganttDiagram-c361ad54-Dk5lBh7P.js → ganttDiagram-c361ad54-DUs5xgl-.js} +1 -1
- package/dist-renderer/assets/{gitGraphDiagram-72cf32ee-BzJAQtIC.js → gitGraphDiagram-72cf32ee-DerrZoOI.js} +1 -1
- package/dist-renderer/assets/{gl-ES-HMX3MZ6V-GM5nrSrW.js → gl-ES-HMX3MZ6V-id5cZnrR.js} +1 -1
- package/dist-renderer/assets/{graph-C_xi4PaI.js → graph-qZGJ3a_0.js} +1 -1
- package/dist-renderer/assets/{he-IL-6SHJWFNN-DvBtF7-G.js → he-IL-6SHJWFNN-ClkmOrEY.js} +1 -1
- package/dist-renderer/assets/{hi-IN-IWLTKZ5I-CNEB0-5K.js → hi-IN-IWLTKZ5I-XcT0be4B.js} +1 -1
- package/dist-renderer/assets/{hu-HU-A5ZG7DT2-BmzYfJwp.js → hu-HU-A5ZG7DT2-BauiuWYa.js} +1 -1
- package/dist-renderer/assets/{id-ID-SAP4L64H-CGCjaOLU.js → id-ID-SAP4L64H-BjwDtEsw.js} +1 -1
- package/dist-renderer/assets/{index-3862675e-C8a4355J.js → index-3862675e--n2KjoQQ.js} +1 -1
- package/dist-renderer/assets/{index-Cc7m7vZn.js → index-Bff8gOpX.js} +29 -29
- package/dist-renderer/assets/{index-x_yLI1Xq.js → index-DiVVwzho.js} +4 -4
- package/dist-renderer/assets/index-qNRDTlPC.css +1 -0
- package/dist-renderer/assets/{infoDiagram-f8f76790-BsJdteru.js → infoDiagram-f8f76790-D5cAW55N.js} +1 -1
- package/dist-renderer/assets/{it-IT-JPQ66NNP-vK6cBs4I.js → it-IT-JPQ66NNP-GSOK3zyA.js} +1 -1
- package/dist-renderer/assets/{ja-JP-DBVTYXUO-oUvELdsq.js → ja-JP-DBVTYXUO-BqdBOVtd.js} +1 -1
- package/dist-renderer/assets/{journeyDiagram-49397b02-BZcn-joQ.js → journeyDiagram-49397b02-D3g-8QZM.js} +1 -1
- package/dist-renderer/assets/{kaa-6HZHGXH3-39-zh5xR.js → kaa-6HZHGXH3-BhCfH7Nw.js} +1 -1
- package/dist-renderer/assets/{kab-KAB-ZGHBKWFO-DIwwJSlv.js → kab-KAB-ZGHBKWFO-BiEpzhMA.js} +1 -1
- package/dist-renderer/assets/{kk-KZ-P5N5QNE5-jEG0G6v4.js → kk-KZ-P5N5QNE5-DQL7tI7B.js} +1 -1
- package/dist-renderer/assets/{km-KH-HSX4SM5Z-f0MtADYu.js → km-KH-HSX4SM5Z-BNzGZwqS.js} +1 -1
- package/dist-renderer/assets/{ko-KR-MTYHY66A-D0sjNbcb.js → ko-KR-MTYHY66A-BrTGfdJs.js} +1 -1
- package/dist-renderer/assets/{ku-TR-6OUDTVRD-D_uqAOZU.js → ku-TR-6OUDTVRD-DV6qxsd3.js} +1 -1
- package/dist-renderer/assets/{layout-Bho0HnCB.js → layout-qt9ncKQO.js} +1 -1
- package/dist-renderer/assets/{line-BvfrpBJA.js → line-LCvRLu_z.js} +1 -1
- package/dist-renderer/assets/{linear-CzjqC3F_.js → linear-B1dFt2Mi.js} +1 -1
- package/dist-renderer/assets/{lt-LT-XHIRWOB4-Ct0yC4CT.js → lt-LT-XHIRWOB4-WVGEZ27s.js} +1 -1
- package/dist-renderer/assets/{lv-LV-5QDEKY6T-nkNbPHg0.js → lv-LV-5QDEKY6T-77cng2TE.js} +1 -1
- package/dist-renderer/assets/{mindmap-definition-fc14e90a-BHot8rEp.js → mindmap-definition-fc14e90a-DNtcEEqa.js} +1 -1
- package/dist-renderer/assets/{mr-IN-CRQNXWMA-B861rik7.js → mr-IN-CRQNXWMA-BFexevhO.js} +1 -1
- package/dist-renderer/assets/{my-MM-5M5IBNSE-SOXg7PeE.js → my-MM-5M5IBNSE-C9Vf2u64.js} +1 -1
- package/dist-renderer/assets/{nb-NO-T6EIAALU-D22gGzt7.js → nb-NO-T6EIAALU-B6nE3WpA.js} +1 -1
- package/dist-renderer/assets/{nl-NL-IS3SIHDZ-CJxOBLb1.js → nl-NL-IS3SIHDZ-CaRaqbQC.js} +1 -1
- package/dist-renderer/assets/{nn-NO-6E72VCQL-FGcbdlO3.js → nn-NO-6E72VCQL-DgeqKi0O.js} +1 -1
- package/dist-renderer/assets/{oc-FR-POXYY2M6-s7Swo1Cu.js → oc-FR-POXYY2M6-BE5foCrM.js} +1 -1
- package/dist-renderer/assets/{pa-IN-N4M65BXN-DFJMREPh.js → pa-IN-N4M65BXN-YstXUC1N.js} +1 -1
- package/dist-renderer/assets/{percentages-BXMCSKIN-BhceqxTM.js → percentages-BXMCSKIN-ClEmrH5S.js} +7 -7
- package/dist-renderer/assets/{pica-ej4Z4fjh.js → pica-BzhwS7O9.js} +1 -1
- package/dist-renderer/assets/{pieDiagram-8a3498a8-CnDnQfd0.js → pieDiagram-8a3498a8-Gm6b2Dvv.js} +1 -1
- package/dist-renderer/assets/{pl-PL-T2D74RX3-uXVmB6im.js → pl-PL-T2D74RX3-BYANIPnT.js} +1 -1
- package/dist-renderer/assets/{pt-BR-5N22H2LF-8kdgECeZ.js → pt-BR-5N22H2LF-Crb41rJn.js} +1 -1
- package/dist-renderer/assets/{pt-PT-UZXXM6DQ-D4vr9vo6.js → pt-PT-UZXXM6DQ-BZb84OUI.js} +1 -1
- package/dist-renderer/assets/{quadrantDiagram-120e2f19-DlUESmO2.js → quadrantDiagram-120e2f19-uZf8ZOq7.js} +1 -1
- package/dist-renderer/assets/{requirementDiagram-deff3bca-CfOs9jR8.js → requirementDiagram-deff3bca-CXv-XkpA.js} +1 -1
- package/dist-renderer/assets/{ro-RO-JPDTUUEW-CztO0tWv.js → ro-RO-JPDTUUEW-pVMFDrzX.js} +1 -1
- package/dist-renderer/assets/{ru-RU-B4JR7IUQ-aVURliDr.js → ru-RU-B4JR7IUQ-BqvZXiAC.js} +1 -1
- package/dist-renderer/assets/{sankeyDiagram-04a897e0-DRRc8FSN.js → sankeyDiagram-04a897e0-BE7SzdTQ.js} +1 -1
- package/dist-renderer/assets/{sequenceDiagram-704730f1-BaswaqQO.js → sequenceDiagram-704730f1-mDPi1i-N.js} +1 -1
- package/dist-renderer/assets/{si-LK-N5RQ5JYF-B2KWtx6N.js → si-LK-N5RQ5JYF-CJNPpP3j.js} +1 -1
- package/dist-renderer/assets/{sk-SK-C5VTKIMK-DlRzLxRJ.js → sk-SK-C5VTKIMK-BrOHOeIl.js} +1 -1
- package/dist-renderer/assets/{sl-SI-NN7IZMDC-Ox8yiRTS.js → sl-SI-NN7IZMDC-CS9lfsZo.js} +1 -1
- package/dist-renderer/assets/{stateDiagram-587899a1-DSEEonbL.js → stateDiagram-587899a1-X1op9_rl.js} +1 -1
- package/dist-renderer/assets/{stateDiagram-v2-d93cdb3a-C135NgbB.js → stateDiagram-v2-d93cdb3a-DW1QycRH.js} +1 -1
- package/dist-renderer/assets/{styles-6aaf32cf-X5nh1pD3.js → styles-6aaf32cf-DPaq63ON.js} +1 -1
- package/dist-renderer/assets/{styles-9a916d00-BCZu272E.js → styles-9a916d00-BuzHNqFw.js} +1 -1
- package/dist-renderer/assets/{styles-c10674c1-C5JGHSaS.js → styles-c10674c1-DMm_j-y2.js} +1 -1
- package/dist-renderer/assets/{subset-shared.chunk-CzgdV5hf.js → subset-shared.chunk-3Aplsfln.js} +1 -1
- package/dist-renderer/assets/{subset-worker.chunk-DfLYxc1O.js → subset-worker.chunk-4W4tHba_.js} +1 -1
- package/dist-renderer/assets/{sv-SE-XGPEYMSR-CizFbLCT.js → sv-SE-XGPEYMSR-DmtGm_CR.js} +1 -1
- package/dist-renderer/assets/{svgDrawCommon-08f97a94-Cv5ZIzzk.js → svgDrawCommon-08f97a94-Cwi8wjQD.js} +1 -1
- package/dist-renderer/assets/{ta-IN-2NMHFXQM-B66K2LEN.js → ta-IN-2NMHFXQM-6iYbXM4R.js} +1 -1
- package/dist-renderer/assets/{th-TH-HPSO5L25-DvHt1SBY.js → th-TH-HPSO5L25-CeMt3K_X.js} +1 -1
- package/dist-renderer/assets/{timeline-definition-85554ec2-C955-u4m.js → timeline-definition-85554ec2-DDvzM2vU.js} +1 -1
- package/dist-renderer/assets/{tr-TR-DEFEU3FU-u0AuqRoD.js → tr-TR-DEFEU3FU-kKNTgK1x.js} +1 -1
- package/dist-renderer/assets/{uk-UA-QMV73CPH-IwAiPvJL.js → uk-UA-QMV73CPH-DXv_zymS.js} +1 -1
- package/dist-renderer/assets/{vi-VN-M7AON7JQ-Dh6Aj3f5.js → vi-VN-M7AON7JQ-DeRc6V7y.js} +1 -1
- package/dist-renderer/assets/{xychartDiagram-e933f94c-Bst4jMma.js → xychartDiagram-e933f94c-Bwdd1C-0.js} +1 -1
- package/dist-renderer/assets/{zh-CN-LNUGB5OW-BVXMa9T3.js → zh-CN-LNUGB5OW-DAkhZJEJ.js} +1 -1
- package/dist-renderer/assets/{zh-HK-E62DVLB3-DYEIu92z.js → zh-HK-E62DVLB3-MU8npHxs.js} +1 -1
- package/dist-renderer/assets/{zh-TW-RAJ6MFWO-Dm9oSthu.js → zh-TW-RAJ6MFWO-BHTDbzbd.js} +1 -1
- package/dist-renderer/index.html +2 -2
- package/package.json +1 -1
- package/dist-renderer/assets/channel-BFQOS5-A.js +0 -1
- package/dist-renderer/assets/clone-BdgQjyvt.js +0 -1
- package/dist-renderer/assets/flowDiagram-v2-96b9c2cf-ue4yLZei.js +0 -1
- package/dist-renderer/assets/index-CYsh274_.css +0 -1
package/README.md
CHANGED
|
@@ -63,6 +63,13 @@ council history # List past discussions
|
|
|
63
63
|
council history <id> # View a specific discussion
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
+
### Browse available models
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
council models # List models for all backends
|
|
70
|
+
council models google # List models for a specific backend
|
|
71
|
+
```
|
|
72
|
+
|
|
66
73
|
### Configure backends
|
|
67
74
|
|
|
68
75
|
```bash
|
|
@@ -140,19 +147,26 @@ Enable post-discussion summaries (and debate interim summaries) by adding a `sec
|
|
|
140
147
|
"backends": { "..." : "..." },
|
|
141
148
|
"secretary": {
|
|
142
149
|
"backend": "anthropic",
|
|
143
|
-
"model": "claude-sonnet-4-
|
|
150
|
+
"model": "claude-sonnet-4-6"
|
|
144
151
|
}
|
|
145
152
|
}
|
|
146
153
|
```
|
|
147
154
|
|
|
148
155
|
### Supported Backends
|
|
149
156
|
|
|
150
|
-
| Backend |
|
|
151
|
-
|
|
152
|
-
| anthropic |
|
|
153
|
-
| openai |
|
|
154
|
-
| google |
|
|
155
|
-
| ollama |
|
|
157
|
+
| Backend | API Key | Example Models |
|
|
158
|
+
|---------|---------|----------------|
|
|
159
|
+
| anthropic | `ANTHROPIC_API_KEY` | All Claude models (Opus, Sonnet, Haiku) |
|
|
160
|
+
| openai | `OPENAI_API_KEY` | All GPT and o-series models |
|
|
161
|
+
| google | `GOOGLE_API_KEY` | All Gemini models (Pro, Flash, Flash-Lite) |
|
|
162
|
+
| ollama | None (local) | Any model you've pulled locally |
|
|
163
|
+
|
|
164
|
+
Each backend supports all current models from its provider. List available models with:
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
council models # All backends
|
|
168
|
+
council models anthropic # Just one
|
|
169
|
+
```
|
|
156
170
|
|
|
157
171
|
## Creating Councilors
|
|
158
172
|
|
|
@@ -173,7 +187,7 @@ name: "The Strategist"
|
|
|
173
187
|
description: "Thinks in systems, moats, and long-term positioning"
|
|
174
188
|
interests: ["strategy", "markets", "competition"]
|
|
175
189
|
backend: "anthropic"
|
|
176
|
-
model: "claude-sonnet-4-
|
|
190
|
+
model: "claude-sonnet-4-6"
|
|
177
191
|
temperature: 0.7
|
|
178
192
|
avatar: "avatar.jpg"
|
|
179
193
|
---
|
|
@@ -6,7 +6,7 @@ export function createAnthropicBackend(config) {
|
|
|
6
6
|
});
|
|
7
7
|
return {
|
|
8
8
|
name: "anthropic",
|
|
9
|
-
defaultModel: "claude-sonnet-4-
|
|
9
|
+
defaultModel: "claude-sonnet-4-6",
|
|
10
10
|
async chat(request) {
|
|
11
11
|
const response = await client.messages.create({
|
|
12
12
|
model: request.model,
|
|
@@ -52,6 +52,17 @@ export function createAnthropicBackend(config) {
|
|
|
52
52
|
},
|
|
53
53
|
};
|
|
54
54
|
},
|
|
55
|
+
async listModels() {
|
|
56
|
+
const models = [];
|
|
57
|
+
for await (const page of client.models.list({ limit: 100 })) {
|
|
58
|
+
models.push({
|
|
59
|
+
id: page.id,
|
|
60
|
+
name: page.display_name,
|
|
61
|
+
created: page.created_at,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
return models.sort((a, b) => a.id.localeCompare(b.id));
|
|
65
|
+
},
|
|
55
66
|
};
|
|
56
67
|
}
|
|
57
68
|
//# sourceMappingURL=anthropic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/backends/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAG1C,MAAM,UAAU,sBAAsB,CAAC,MAAqB;IAC1D,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;QACtD,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/backends/anthropic.ts"],"names":[],"mappings":"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"}
|
package/dist/backends/google.js
CHANGED
|
@@ -63,6 +63,20 @@ export function createGoogleBackend(config) {
|
|
|
63
63
|
: undefined,
|
|
64
64
|
};
|
|
65
65
|
},
|
|
66
|
+
async listModels() {
|
|
67
|
+
const response = await fetch(`https://generativelanguage.googleapis.com/v1beta/models?key=${apiKey}&pageSize=100`);
|
|
68
|
+
if (!response.ok)
|
|
69
|
+
throw new Error(`Google API error: ${response.status}`);
|
|
70
|
+
const data = (await response.json());
|
|
71
|
+
return (data.models || [])
|
|
72
|
+
.filter((m) => m.name.startsWith("models/gemini"))
|
|
73
|
+
.map((m) => ({
|
|
74
|
+
id: m.name.replace("models/", ""),
|
|
75
|
+
name: m.displayName,
|
|
76
|
+
description: m.description,
|
|
77
|
+
}))
|
|
78
|
+
.sort((a, b) => a.id.localeCompare(b.id));
|
|
79
|
+
},
|
|
66
80
|
};
|
|
67
81
|
}
|
|
68
82
|
//# sourceMappingURL=google.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/backends/google.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/backends/google.ts"],"names":[],"mappings":"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"}
|
package/dist/backends/ollama.js
CHANGED
|
@@ -63,6 +63,16 @@ export function createOllamaBackend(config) {
|
|
|
63
63
|
: undefined,
|
|
64
64
|
};
|
|
65
65
|
},
|
|
66
|
+
async listModels() {
|
|
67
|
+
const response = await client.list();
|
|
68
|
+
return response.models
|
|
69
|
+
.map((m) => ({
|
|
70
|
+
id: m.name,
|
|
71
|
+
name: m.name,
|
|
72
|
+
created: m.modified_at?.toString(),
|
|
73
|
+
}))
|
|
74
|
+
.sort((a, b) => a.id.localeCompare(b.id));
|
|
75
|
+
},
|
|
66
76
|
};
|
|
67
77
|
}
|
|
68
78
|
//# sourceMappingURL=ollama.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../src/backends/ollama.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../src/backends/ollama.ts"],"names":[],"mappings":"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"}
|
package/dist/backends/openai.js
CHANGED
|
@@ -57,6 +57,17 @@ export function createOpenAIBackend(config) {
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
|
+
async listModels() {
|
|
61
|
+
const response = await client.models.list();
|
|
62
|
+
const models = [];
|
|
63
|
+
for await (const model of response) {
|
|
64
|
+
models.push({
|
|
65
|
+
id: model.id,
|
|
66
|
+
created: new Date(model.created * 1000).toISOString(),
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return models.sort((a, b) => a.id.localeCompare(b.id));
|
|
70
|
+
},
|
|
60
71
|
};
|
|
61
72
|
}
|
|
62
73
|
//# sourceMappingURL=openai.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/backends/openai.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/backends/openai.ts"],"names":[],"mappings":"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"}
|
package/dist/backends/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export type { BackendProvider, BackendConfig, ChatRequest, ChatResponse, ChatStreamChunk } from "../types.js";
|
|
1
|
+
export type { BackendProvider, BackendConfig, ChatRequest, ChatResponse, ChatStreamChunk, ModelInfo } from "../types.js";
|
package/dist/cli.js
CHANGED
|
@@ -11,6 +11,8 @@ 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";
|
|
14
|
+
import { ModelsCommand } from "./commands/models.js";
|
|
15
|
+
import { UpdateCommand } from "./commands/update.js";
|
|
14
16
|
const cli = meow(`
|
|
15
17
|
Usage
|
|
16
18
|
$ council <command> [options]
|
|
@@ -23,6 +25,8 @@ const cli = meow(`
|
|
|
23
25
|
councilor add <path-or-url> Register a councilor from a local path or git URL
|
|
24
26
|
councilor remove <id> Unregister a councilor (--yes to delete cloned files)
|
|
25
27
|
councilor list List all registered councilors
|
|
28
|
+
models [backend] List available models (all backends, or specify one)
|
|
29
|
+
update Update council to the latest version
|
|
26
30
|
gui Launch the Electron GUI
|
|
27
31
|
install Install AI Council as a macOS application
|
|
28
32
|
install --uninstall Remove AI Council from Applications
|
|
@@ -151,6 +155,15 @@ switch (command) {
|
|
|
151
155
|
case "install":
|
|
152
156
|
render(_jsx(InstallCommand, { uninstall: cli.flags.uninstall }));
|
|
153
157
|
break;
|
|
158
|
+
case "update": {
|
|
159
|
+
render(_jsx(UpdateCommand, {}));
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
case "models": {
|
|
163
|
+
const backendName = cli.input[1];
|
|
164
|
+
render(_jsx(ModelsCommand, { backend: backendName }));
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
154
167
|
case "config": {
|
|
155
168
|
const sub = cli.input[1];
|
|
156
169
|
if (!sub || !["show", "scan", "import"].includes(sub)) {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":";;AAEA,OAAO,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
|
package/dist/commands/discuss.js
CHANGED
|
@@ -13,6 +13,7 @@ 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
|
+
import { preflightCheck } from "../core/preflight.js";
|
|
16
17
|
import { log } from "../core/logger.js";
|
|
17
18
|
import { enrichTopic } from "../core/topic-enricher.js";
|
|
18
19
|
export function DiscussCommand({ topic, councilDir, councilorPaths, rounds, outputDir, format, infographic: generateInfographicFlag, mode = "freeform", }) {
|
|
@@ -28,6 +29,7 @@ export function DiscussCommand({ topic, councilDir, councilorPaths, rounds, outp
|
|
|
28
29
|
const [infographicSaved, setInfographicSaved] = useState(false);
|
|
29
30
|
const [roundSummaries, setRoundSummaries] = useState({});
|
|
30
31
|
const [activeRoundSummary, setActiveRoundSummary] = useState("");
|
|
32
|
+
const [preflightIssues, setPreflightIssues] = useState([]);
|
|
31
33
|
useEffect(() => {
|
|
32
34
|
async function run() {
|
|
33
35
|
try {
|
|
@@ -49,9 +51,22 @@ export function DiscussCommand({ topic, councilDir, councilorPaths, rounds, outp
|
|
|
49
51
|
registeredPaths = getRegisteredPaths(cfg);
|
|
50
52
|
}
|
|
51
53
|
catch { /* no config */ }
|
|
52
|
-
const
|
|
54
|
+
const allCouncilors = councilorPaths?.length
|
|
53
55
|
? await loadSpecificCouncilors(councilorPaths)
|
|
54
56
|
: await loadCouncilors(councilDir, registeredPaths);
|
|
57
|
+
// Pre-flight check: validate backends and models
|
|
58
|
+
setStatus("Validating councilors...");
|
|
59
|
+
const preflight = await preflightCheck(allCouncilors, setStatus);
|
|
60
|
+
if (preflight.invalid.length > 0) {
|
|
61
|
+
const issues = preflight.invalid.map((r) => ` ${r.councilor.frontmatter.name}: ${r.issues.join("; ")}`);
|
|
62
|
+
setPreflightIssues(issues);
|
|
63
|
+
log.warn("cli:discuss", `Preflight: ${preflight.invalid.length} councilor(s) have issues`, issues);
|
|
64
|
+
}
|
|
65
|
+
const councilors = preflight.valid;
|
|
66
|
+
if (councilors.length === 0) {
|
|
67
|
+
setError("No councilors passed pre-flight validation. Check backend API keys and model names.");
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
55
70
|
setStatus(`Starting ${mode === "debate" ? "debate" : "discussion"} with ${councilors.length} councilor${councilors.length > 1 ? "s" : ""} over ${rounds} round${rounds > 1 ? "s" : ""}`);
|
|
56
71
|
const onEvent = (event) => {
|
|
57
72
|
switch (event.type) {
|
|
@@ -147,12 +162,13 @@ export function DiscussCommand({ topic, councilDir, councilorPaths, rounds, outp
|
|
|
147
162
|
}
|
|
148
163
|
run();
|
|
149
164
|
}, []);
|
|
165
|
+
const preflightWarnings = preflightIssues.length > 0 ? (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { color: "yellow", bold: true, children: ["Skipped ", preflightIssues.length, " councilor", preflightIssues.length > 1 ? "s" : "", " (failed pre-flight):"] }), preflightIssues.map((issue, i) => (_jsx(Text, { color: "yellow", children: issue }, i)))] })) : null;
|
|
150
166
|
if (error) {
|
|
151
|
-
return (
|
|
167
|
+
return (_jsxs(Box, { flexDirection: "column", children: [preflightWarnings, _jsxs(Text, { color: "red", children: ["Error: ", error] })] }));
|
|
152
168
|
}
|
|
153
169
|
if (done) {
|
|
154
|
-
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." }) }))] }));
|
|
170
|
+
return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [preflightWarnings, _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." }) }))] }));
|
|
155
171
|
}
|
|
156
|
-
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)
|
|
172
|
+
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, color: turn.error ? "red" : undefined, children: ["Round ", turn.round, " \u2014 ", turn.councilorName, ": ", turn.error ? `[Error: ${turn.error.slice(0, 60)}]` : `${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), "..."] }) }))] }));
|
|
157
173
|
}
|
|
158
174
|
//# 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,cAAc,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,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,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAcxD,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,EACL,UAAU,EACV,cAAc,EACd,MAAM,EACN,SAAS,EACT,MAAM,EACN,WAAW,EAAE,uBAAuB,EACpC,IAAI,GAAG,UAAU,GACX;IACN,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IAC9D,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;
|
|
1
|
+
{"version":3,"file":"discuss.js","sourceRoot":"","sources":["../../src/commands/discuss.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
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 { getBackend } from "../backends/index.js";
|
|
6
|
+
const BACKENDS = ["anthropic", "openai", "google", "ollama"];
|
|
7
|
+
export function ModelsCommand({ backend }) {
|
|
8
|
+
const [results, setResults] = useState([]);
|
|
9
|
+
const [done, setDone] = useState(false);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
async function run() {
|
|
12
|
+
const backends = backend ? [backend] : BACKENDS;
|
|
13
|
+
// Validate backend name
|
|
14
|
+
if (backend && !BACKENDS.includes(backend)) {
|
|
15
|
+
setResults([{ backend, error: `Unknown backend "${backend}". Available: ${BACKENDS.join(", ")}`, loading: false }]);
|
|
16
|
+
setDone(true);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
// Initialize loading state
|
|
20
|
+
setResults(backends.map((b) => ({ backend: b, loading: true })));
|
|
21
|
+
// Fetch models for each backend
|
|
22
|
+
const promises = backends.map(async (name, idx) => {
|
|
23
|
+
try {
|
|
24
|
+
const provider = await getBackend(name);
|
|
25
|
+
if (!provider.listModels) {
|
|
26
|
+
return { backend: name, error: "Model listing not supported", loading: false };
|
|
27
|
+
}
|
|
28
|
+
const models = await provider.listModels();
|
|
29
|
+
return { backend: name, models, loading: false };
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
33
|
+
// Simplify common auth errors
|
|
34
|
+
if (msg.includes("API key") || msg.includes("api_key") || msg.includes("401") || msg.includes("403")) {
|
|
35
|
+
return { backend: name, error: "No API key configured", loading: false };
|
|
36
|
+
}
|
|
37
|
+
if (msg.includes("ECONNREFUSED") || msg.includes("fetch failed")) {
|
|
38
|
+
return { backend: name, error: "Connection refused (is the service running?)", loading: false };
|
|
39
|
+
}
|
|
40
|
+
return { backend: name, error: msg, loading: false };
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
const settled = await Promise.all(promises);
|
|
44
|
+
setResults(settled);
|
|
45
|
+
setDone(true);
|
|
46
|
+
}
|
|
47
|
+
run();
|
|
48
|
+
}, []);
|
|
49
|
+
if (!done) {
|
|
50
|
+
return (_jsxs(Box, { children: [_jsx(Text, { color: "green", children: _jsx(Spinner, { type: "dots" }) }), _jsx(Text, { children: " Fetching available models..." })] }));
|
|
51
|
+
}
|
|
52
|
+
return (_jsx(Box, { flexDirection: "column", paddingY: 1, children: results.map((r) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: r.backend }), r.error ? (_jsxs(Text, { color: "yellow", children: [" ", r.error] })) : r.models && r.models.length > 0 ? (r.models.map((m) => (_jsxs(Text, { children: [" ", m.id, m.name && m.name !== m.id ? _jsxs(Text, { dimColor: true, children: [" \u2014 ", m.name] }) : ""] }, m.id)))) : (_jsx(Text, { dimColor: true, children: " No models found" }))] }, r.backend))) }));
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/commands/models.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function UpdateCommand(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,100 @@
|
|
|
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 { execSync } from "node:child_process";
|
|
6
|
+
export function UpdateCommand() {
|
|
7
|
+
const [status, setStatus] = useState("Checking for updates...");
|
|
8
|
+
const [done, setDone] = useState(false);
|
|
9
|
+
const [error, setError] = useState(null);
|
|
10
|
+
const [details, setDetails] = useState(null);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
async function run() {
|
|
13
|
+
try {
|
|
14
|
+
// Get current version from our own package.json
|
|
15
|
+
const { createRequire } = await import("node:module");
|
|
16
|
+
const { fileURLToPath } = await import("node:url");
|
|
17
|
+
const { resolve, dirname } = await import("node:path");
|
|
18
|
+
const { readFileSync } = await import("node:fs");
|
|
19
|
+
const pkgRoot = resolve(dirname(fileURLToPath(import.meta.url)), "../..");
|
|
20
|
+
const pkg = JSON.parse(readFileSync(resolve(pkgRoot, "package.json"), "utf-8"));
|
|
21
|
+
const current = pkg.version;
|
|
22
|
+
// Check latest version on npm
|
|
23
|
+
setStatus("Checking npm for latest version...");
|
|
24
|
+
let latest;
|
|
25
|
+
try {
|
|
26
|
+
latest = execSync("npm view @statechange/council version", {
|
|
27
|
+
encoding: "utf-8",
|
|
28
|
+
timeout: 15000,
|
|
29
|
+
}).trim();
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
setError("Could not reach npm registry. Check your internet connection.");
|
|
33
|
+
setDone(true);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (current === latest) {
|
|
37
|
+
setDetails({ current, latest, updated: false });
|
|
38
|
+
setStatus(`Already on the latest version (${current}).`);
|
|
39
|
+
setDone(true);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
// Update
|
|
43
|
+
setStatus(`Updating from ${current} → ${latest}...`);
|
|
44
|
+
// Detect package manager — prefer whatever installed us globally
|
|
45
|
+
let installCmd = "npm install -g @statechange/council@latest";
|
|
46
|
+
try {
|
|
47
|
+
const bunPath = execSync("which bun", { encoding: "utf-8", timeout: 5000 }).trim();
|
|
48
|
+
if (bunPath) {
|
|
49
|
+
// Check if we were installed via bun
|
|
50
|
+
const bunGlobalDir = execSync("bun pm -g ls 2>/dev/null || true", {
|
|
51
|
+
encoding: "utf-8",
|
|
52
|
+
timeout: 10000,
|
|
53
|
+
});
|
|
54
|
+
if (bunGlobalDir.includes("@statechange/council")) {
|
|
55
|
+
installCmd = "bun install -g @statechange/council@latest";
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
// npm fallback is fine
|
|
61
|
+
}
|
|
62
|
+
try {
|
|
63
|
+
execSync(installCmd, {
|
|
64
|
+
encoding: "utf-8",
|
|
65
|
+
timeout: 120000,
|
|
66
|
+
stdio: "pipe",
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
// npm install can fail for permission reasons
|
|
71
|
+
const msg = err.stderr || err.message || String(err);
|
|
72
|
+
if (msg.includes("EACCES") || msg.includes("permission")) {
|
|
73
|
+
setError(`Permission denied. Try running with sudo:\n\n sudo npm install -g @statechange/council@latest`);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
setError(`Update failed: ${msg.slice(0, 200)}`);
|
|
77
|
+
}
|
|
78
|
+
setDone(true);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
setDetails({ current, latest, updated: true });
|
|
82
|
+
setStatus(`Updated from ${current} → ${latest}`);
|
|
83
|
+
setDone(true);
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
setError(err instanceof Error ? err.message : String(err));
|
|
87
|
+
setDone(true);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
run();
|
|
91
|
+
}, []);
|
|
92
|
+
if (error) {
|
|
93
|
+
return (_jsx(Box, { flexDirection: "column", paddingY: 1, children: _jsx(Text, { color: "red", children: error }) }));
|
|
94
|
+
}
|
|
95
|
+
if (!done) {
|
|
96
|
+
return (_jsxs(Box, { children: [_jsx(Text, { color: "green", children: _jsx(Spinner, { type: "dots" }) }), _jsxs(Text, { children: [" ", status] })] }));
|
|
97
|
+
}
|
|
98
|
+
return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsx(Text, { color: details?.updated ? "green" : "cyan", children: status }), details?.updated && (_jsx(Text, { dimColor: true, children: "Restart any running council processes to use the new version." }))] }));
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.tsx"],"names":[],"mappings":"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"}
|
|
@@ -221,6 +221,21 @@ export async function runConversation(topicOrOpts, topicSource, councilors, roun
|
|
|
221
221
|
const message = err instanceof Error ? err.message : String(err);
|
|
222
222
|
log.error("conversation", `Turn failed for ${councilor.frontmatter.name} (round ${round}, model ${councilor.frontmatter.model ?? "default"}, backend ${councilor.frontmatter.backend})`, err);
|
|
223
223
|
opts.onEvent({ type: "error", councilorName: councilor.frontmatter.name, error: message });
|
|
224
|
+
// Emit a turn_complete with the error as content so the UI can
|
|
225
|
+
// clean up the streaming bubble and show the failure inline.
|
|
226
|
+
const errorTurn = {
|
|
227
|
+
round: displayRound,
|
|
228
|
+
councilorId: councilor.id,
|
|
229
|
+
councilorName: councilor.frontmatter.name,
|
|
230
|
+
content: "",
|
|
231
|
+
timestamp: new Date().toISOString(),
|
|
232
|
+
model: councilor.frontmatter.model ?? "default",
|
|
233
|
+
backend: councilor.frontmatter.backend,
|
|
234
|
+
avatarUrl: councilor.avatarUrl,
|
|
235
|
+
error: message,
|
|
236
|
+
};
|
|
237
|
+
turns.push(errorTurn);
|
|
238
|
+
opts.onEvent({ type: "turn_complete", turn: errorTurn });
|
|
224
239
|
}
|
|
225
240
|
}
|
|
226
241
|
opts.onEvent({ type: "round_complete", round });
|