@statechange/council 0.1.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 (89) hide show
  1. package/README.md +207 -0
  2. package/council/creative/ABOUT.md +23 -0
  3. package/council/critic/ABOUT.md +23 -0
  4. package/council/strategist/ABOUT.md +21 -0
  5. package/dist/backends/anthropic.d.ts +2 -0
  6. package/dist/backends/anthropic.js +57 -0
  7. package/dist/backends/anthropic.js.map +1 -0
  8. package/dist/backends/google.d.ts +2 -0
  9. package/dist/backends/google.js +68 -0
  10. package/dist/backends/google.js.map +1 -0
  11. package/dist/backends/index.d.ts +3 -0
  12. package/dist/backends/index.js +47 -0
  13. package/dist/backends/index.js.map +1 -0
  14. package/dist/backends/ollama.d.ts +2 -0
  15. package/dist/backends/ollama.js +68 -0
  16. package/dist/backends/ollama.js.map +1 -0
  17. package/dist/backends/openai.d.ts +2 -0
  18. package/dist/backends/openai.js +62 -0
  19. package/dist/backends/openai.js.map +1 -0
  20. package/dist/backends/types.d.ts +1 -0
  21. package/dist/backends/types.js +2 -0
  22. package/dist/backends/types.js.map +1 -0
  23. package/dist/cli.d.ts +2 -0
  24. package/dist/cli.js +152 -0
  25. package/dist/cli.js.map +1 -0
  26. package/dist/commands/config.d.ts +7 -0
  27. package/dist/commands/config.js +118 -0
  28. package/dist/commands/config.js.map +1 -0
  29. package/dist/commands/counsellor.d.ts +7 -0
  30. package/dist/commands/counsellor.js +98 -0
  31. package/dist/commands/counsellor.js.map +1 -0
  32. package/dist/commands/discuss.d.ts +12 -0
  33. package/dist/commands/discuss.js +154 -0
  34. package/dist/commands/discuss.js.map +1 -0
  35. package/dist/commands/history.d.ts +5 -0
  36. package/dist/commands/history.js +46 -0
  37. package/dist/commands/history.js.map +1 -0
  38. package/dist/commands/list.d.ts +5 -0
  39. package/dist/commands/list.js +40 -0
  40. package/dist/commands/list.js.map +1 -0
  41. package/dist/core/conversation-engine.d.ts +13 -0
  42. package/dist/core/conversation-engine.js +226 -0
  43. package/dist/core/conversation-engine.js.map +1 -0
  44. package/dist/core/counsellor-loader.d.ts +4 -0
  45. package/dist/core/counsellor-loader.js +97 -0
  46. package/dist/core/counsellor-loader.js.map +1 -0
  47. package/dist/core/counsellor-registry.d.ts +12 -0
  48. package/dist/core/counsellor-registry.js +131 -0
  49. package/dist/core/counsellor-registry.js.map +1 -0
  50. package/dist/core/excalidraw-cheatsheet.d.ts +5 -0
  51. package/dist/core/excalidraw-cheatsheet.js +65 -0
  52. package/dist/core/excalidraw-cheatsheet.js.map +1 -0
  53. package/dist/core/history.d.ts +16 -0
  54. package/dist/core/history.js +74 -0
  55. package/dist/core/history.js.map +1 -0
  56. package/dist/core/infographic.d.ts +4 -0
  57. package/dist/core/infographic.js +81 -0
  58. package/dist/core/infographic.js.map +1 -0
  59. package/dist/core/key-scanner.d.ts +8 -0
  60. package/dist/core/key-scanner.js +79 -0
  61. package/dist/core/key-scanner.js.map +1 -0
  62. package/dist/core/logger.d.ts +5 -0
  63. package/dist/core/logger.js +38 -0
  64. package/dist/core/logger.js.map +1 -0
  65. package/dist/core/output-formatter.d.ts +2 -0
  66. package/dist/core/output-formatter.js +47 -0
  67. package/dist/core/output-formatter.js.map +1 -0
  68. package/dist/core/secretary.d.ts +23 -0
  69. package/dist/core/secretary.js +171 -0
  70. package/dist/core/secretary.js.map +1 -0
  71. package/dist/core/skill-loader.d.ts +2 -0
  72. package/dist/core/skill-loader.js +32 -0
  73. package/dist/core/skill-loader.js.map +1 -0
  74. package/dist/electron/ipc-handlers.d.ts +3 -0
  75. package/dist/electron/ipc-handlers.js +477 -0
  76. package/dist/electron/ipc-handlers.js.map +1 -0
  77. package/dist/electron/main.d.ts +1 -0
  78. package/dist/electron/main.js +85 -0
  79. package/dist/electron/main.js.map +1 -0
  80. package/dist/electron/preload.d.ts +1 -0
  81. package/dist/electron/preload.js +38 -0
  82. package/dist/electron/preload.js.map +1 -0
  83. package/dist/types.d.ts +184 -0
  84. package/dist/types.js +12 -0
  85. package/dist/types.js.map +1 -0
  86. package/dist-electron/main.js +1635 -0
  87. package/package.json +87 -0
  88. package/skills/council-manage/SKILL.md +214 -0
  89. package/skills/council-setup-keys/SKILL.md +127 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preload.js","sourceRoot":"","sources":["../../src/electron/preload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,184 @@
1
+ import { z } from "zod";
2
+ export declare const CounsellorFrontmatterSchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ description: z.ZodString;
5
+ interests: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
6
+ backend: z.ZodEnum<["anthropic", "openai", "google", "ollama"]>;
7
+ model: z.ZodOptional<z.ZodString>;
8
+ skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
9
+ temperature: z.ZodOptional<z.ZodNumber>;
10
+ avatar: z.ZodOptional<z.ZodString>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ name: string;
13
+ description: string;
14
+ interests: string[];
15
+ backend: "anthropic" | "openai" | "google" | "ollama";
16
+ skills: string[];
17
+ model?: string | undefined;
18
+ temperature?: number | undefined;
19
+ avatar?: string | undefined;
20
+ }, {
21
+ name: string;
22
+ description: string;
23
+ backend: "anthropic" | "openai" | "google" | "ollama";
24
+ interests?: string[] | undefined;
25
+ model?: string | undefined;
26
+ skills?: string[] | undefined;
27
+ temperature?: number | undefined;
28
+ avatar?: string | undefined;
29
+ }>;
30
+ export type CounsellorFrontmatter = z.infer<typeof CounsellorFrontmatterSchema>;
31
+ export interface Counsellor {
32
+ id: string;
33
+ frontmatter: CounsellorFrontmatter;
34
+ systemPrompt: string;
35
+ dirPath: string;
36
+ avatarUrl?: string;
37
+ }
38
+ export interface ConversationTurn {
39
+ round: number;
40
+ counsellorId: string;
41
+ counsellorName: string;
42
+ content: string;
43
+ timestamp: string;
44
+ model: string;
45
+ backend: string;
46
+ tokenUsage?: {
47
+ input: number;
48
+ output: number;
49
+ };
50
+ avatarUrl?: string;
51
+ }
52
+ export interface ConversationResult {
53
+ topic: string;
54
+ topicSource: "inline" | "file";
55
+ counsellors: Array<{
56
+ id: string;
57
+ name: string;
58
+ description: string;
59
+ backend: string;
60
+ model: string;
61
+ avatarUrl?: string;
62
+ }>;
63
+ rounds: number;
64
+ turns: ConversationTurn[];
65
+ startedAt: string;
66
+ completedAt: string;
67
+ totalTokenUsage: {
68
+ input: number;
69
+ output: number;
70
+ };
71
+ summary?: string;
72
+ diagram?: unknown[];
73
+ title?: string;
74
+ infographics?: string[];
75
+ roundSummaries?: Record<number, string>;
76
+ mode?: "freeform" | "debate";
77
+ }
78
+ export interface ChatMessage {
79
+ role: "user" | "assistant";
80
+ content: string;
81
+ }
82
+ export interface ChatRequest {
83
+ model: string;
84
+ systemPrompt: string;
85
+ messages: ChatMessage[];
86
+ temperature?: number;
87
+ }
88
+ export interface ChatResponse {
89
+ content: string;
90
+ tokenUsage?: {
91
+ input: number;
92
+ output: number;
93
+ };
94
+ }
95
+ export interface ChatStreamChunk {
96
+ delta: string;
97
+ tokenUsage?: {
98
+ input: number;
99
+ output: number;
100
+ };
101
+ }
102
+ export interface BackendProvider {
103
+ name: string;
104
+ defaultModel: string;
105
+ chat(request: ChatRequest): Promise<ChatResponse>;
106
+ chatStream?(request: ChatRequest): AsyncIterable<ChatStreamChunk>;
107
+ }
108
+ export interface BackendConfig {
109
+ apiKey?: string;
110
+ baseUrl?: string;
111
+ }
112
+ export interface CounsellorRegistryEntry {
113
+ path: string;
114
+ source: "local" | "git";
115
+ url?: string;
116
+ addedAt: string;
117
+ }
118
+ export interface CouncilConfig {
119
+ backends: Partial<Record<string, BackendConfig>>;
120
+ counsellors?: Record<string, CounsellorRegistryEntry>;
121
+ secretary?: {
122
+ backend: string;
123
+ model?: string;
124
+ systemPrompt?: string;
125
+ };
126
+ infographic?: {
127
+ backend: "openai" | "google";
128
+ };
129
+ defaults?: {
130
+ counsellorIds?: string[];
131
+ infographicBackends?: ("openai" | "google")[];
132
+ mode?: "freeform" | "debate";
133
+ };
134
+ }
135
+ export type ConversationEvent = {
136
+ type: "turn_start";
137
+ round: number;
138
+ counsellorName: string;
139
+ } | {
140
+ type: "turn_chunk";
141
+ counsellorName: string;
142
+ delta: string;
143
+ } | {
144
+ type: "turn_complete";
145
+ turn: ConversationTurn;
146
+ } | {
147
+ type: "round_complete";
148
+ round: number;
149
+ } | {
150
+ type: "error";
151
+ counsellorName: string;
152
+ error: string;
153
+ } | {
154
+ type: "summary_start";
155
+ } | {
156
+ type: "summary_chunk";
157
+ delta: string;
158
+ } | {
159
+ type: "summary_complete";
160
+ summary: string;
161
+ diagram?: unknown[];
162
+ } | {
163
+ type: "title_generated";
164
+ title: string;
165
+ } | {
166
+ type: "round_summary_start";
167
+ round: number;
168
+ } | {
169
+ type: "round_summary_chunk";
170
+ round: number;
171
+ delta: string;
172
+ } | {
173
+ type: "round_summary_complete";
174
+ round: number;
175
+ summary: string;
176
+ } | {
177
+ type: "infographic_start";
178
+ } | {
179
+ type: "infographic_complete";
180
+ infographic: string;
181
+ } | {
182
+ type: "infographic_error";
183
+ error: string;
184
+ };
package/dist/types.js ADDED
@@ -0,0 +1,12 @@
1
+ import { z } from "zod";
2
+ export const CounsellorFrontmatterSchema = z.object({
3
+ name: z.string(),
4
+ description: z.string(),
5
+ interests: z.array(z.string()).default([]),
6
+ backend: z.enum(["anthropic", "openai", "google", "ollama"]),
7
+ model: z.string().optional(),
8
+ skills: z.array(z.string()).default([]),
9
+ temperature: z.number().min(0).max(2).optional(),
10
+ avatar: z.string().optional(),
11
+ });
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC"}