clitrigger 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 (201) hide show
  1. package/.env.example +9 -0
  2. package/LICENSE +21 -0
  3. package/README.md +186 -0
  4. package/bin/clitrigger.js +106 -0
  5. package/dist/client/assets/index-BkOCv65b.css +1 -0
  6. package/dist/client/assets/index-Fbf16Lh1.js +129 -0
  7. package/dist/client/index.html +24 -0
  8. package/dist/server/db/connection.d.ts +4 -0
  9. package/dist/server/db/connection.d.ts.map +1 -0
  10. package/dist/server/db/connection.js +24 -0
  11. package/dist/server/db/connection.js.map +1 -0
  12. package/dist/server/db/queries.d.ts +265 -0
  13. package/dist/server/db/queries.d.ts.map +1 -0
  14. package/dist/server/db/queries.js +836 -0
  15. package/dist/server/db/queries.js.map +1 -0
  16. package/dist/server/db/schema.d.ts +3 -0
  17. package/dist/server/db/schema.d.ts.map +1 -0
  18. package/dist/server/db/schema.js +325 -0
  19. package/dist/server/db/schema.js.map +1 -0
  20. package/dist/server/index.d.ts +5 -0
  21. package/dist/server/index.d.ts.map +1 -0
  22. package/dist/server/index.js +207 -0
  23. package/dist/server/index.js.map +1 -0
  24. package/dist/server/middleware/auth.d.ts +5 -0
  25. package/dist/server/middleware/auth.d.ts.map +1 -0
  26. package/dist/server/middleware/auth.js +45 -0
  27. package/dist/server/middleware/auth.js.map +1 -0
  28. package/dist/server/plugins/github/index.d.ts +3 -0
  29. package/dist/server/plugins/github/index.d.ts.map +1 -0
  30. package/dist/server/plugins/github/index.js +18 -0
  31. package/dist/server/plugins/github/index.js.map +1 -0
  32. package/dist/server/plugins/github/router.d.ts +4 -0
  33. package/dist/server/plugins/github/router.d.ts.map +1 -0
  34. package/dist/server/plugins/github/router.js +250 -0
  35. package/dist/server/plugins/github/router.js.map +1 -0
  36. package/dist/server/plugins/gstack/index.d.ts +3 -0
  37. package/dist/server/plugins/gstack/index.d.ts.map +1 -0
  38. package/dist/server/plugins/gstack/index.js +36 -0
  39. package/dist/server/plugins/gstack/index.js.map +1 -0
  40. package/dist/server/plugins/jira/index.d.ts +3 -0
  41. package/dist/server/plugins/jira/index.d.ts.map +1 -0
  42. package/dist/server/plugins/jira/index.js +19 -0
  43. package/dist/server/plugins/jira/index.js.map +1 -0
  44. package/dist/server/plugins/jira/router.d.ts +4 -0
  45. package/dist/server/plugins/jira/router.d.ts.map +1 -0
  46. package/dist/server/plugins/jira/router.js +332 -0
  47. package/dist/server/plugins/jira/router.js.map +1 -0
  48. package/dist/server/plugins/notion/index.d.ts +3 -0
  49. package/dist/server/plugins/notion/index.d.ts.map +1 -0
  50. package/dist/server/plugins/notion/index.js +17 -0
  51. package/dist/server/plugins/notion/index.js.map +1 -0
  52. package/dist/server/plugins/notion/router.d.ts +4 -0
  53. package/dist/server/plugins/notion/router.d.ts.map +1 -0
  54. package/dist/server/plugins/notion/router.js +313 -0
  55. package/dist/server/plugins/notion/router.js.map +1 -0
  56. package/dist/server/plugins/registry.d.ts +8 -0
  57. package/dist/server/plugins/registry.d.ts.map +1 -0
  58. package/dist/server/plugins/registry.js +31 -0
  59. package/dist/server/plugins/registry.js.map +1 -0
  60. package/dist/server/plugins/types.d.ts +32 -0
  61. package/dist/server/plugins/types.d.ts.map +1 -0
  62. package/dist/server/plugins/types.js +2 -0
  63. package/dist/server/plugins/types.js.map +1 -0
  64. package/dist/server/resources/gstack-skills/LICENSE +21 -0
  65. package/dist/server/resources/gstack-skills/benchmark/SKILL.md +528 -0
  66. package/dist/server/resources/gstack-skills/careful/SKILL.md +59 -0
  67. package/dist/server/resources/gstack-skills/cso/SKILL.md +898 -0
  68. package/dist/server/resources/gstack-skills/investigate/SKILL.md +474 -0
  69. package/dist/server/resources/gstack-skills/qa/SKILL.md +1055 -0
  70. package/dist/server/resources/gstack-skills/qa-only/SKILL.md +672 -0
  71. package/dist/server/resources/gstack-skills/review/SKILL.md +1044 -0
  72. package/dist/server/resources/gstack-skills/skills-manifest.d.ts +9 -0
  73. package/dist/server/resources/gstack-skills/skills-manifest.d.ts.map +1 -0
  74. package/dist/server/resources/gstack-skills/skills-manifest.js +52 -0
  75. package/dist/server/resources/gstack-skills/skills-manifest.js.map +1 -0
  76. package/dist/server/resources/gstack-skills/skills-manifest.ts +59 -0
  77. package/dist/server/routes/auth.d.ts +3 -0
  78. package/dist/server/routes/auth.d.ts.map +1 -0
  79. package/dist/server/routes/auth.js +70 -0
  80. package/dist/server/routes/auth.js.map +1 -0
  81. package/dist/server/routes/debug-logs.d.ts +3 -0
  82. package/dist/server/routes/debug-logs.d.ts.map +1 -0
  83. package/dist/server/routes/debug-logs.js +43 -0
  84. package/dist/server/routes/debug-logs.js.map +1 -0
  85. package/dist/server/routes/discussions.d.ts +3 -0
  86. package/dist/server/routes/discussions.d.ts.map +1 -0
  87. package/dist/server/routes/discussions.js +544 -0
  88. package/dist/server/routes/discussions.js.map +1 -0
  89. package/dist/server/routes/execution.d.ts +3 -0
  90. package/dist/server/routes/execution.d.ts.map +1 -0
  91. package/dist/server/routes/execution.js +339 -0
  92. package/dist/server/routes/execution.js.map +1 -0
  93. package/dist/server/routes/github.d.ts +3 -0
  94. package/dist/server/routes/github.d.ts.map +1 -0
  95. package/dist/server/routes/github.js +251 -0
  96. package/dist/server/routes/github.js.map +1 -0
  97. package/dist/server/routes/images.d.ts +17 -0
  98. package/dist/server/routes/images.d.ts.map +1 -0
  99. package/dist/server/routes/images.js +152 -0
  100. package/dist/server/routes/images.js.map +1 -0
  101. package/dist/server/routes/jira.d.ts +3 -0
  102. package/dist/server/routes/jira.d.ts.map +1 -0
  103. package/dist/server/routes/jira.js +333 -0
  104. package/dist/server/routes/jira.js.map +1 -0
  105. package/dist/server/routes/logs.d.ts +3 -0
  106. package/dist/server/routes/logs.d.ts.map +1 -0
  107. package/dist/server/routes/logs.js +156 -0
  108. package/dist/server/routes/logs.js.map +1 -0
  109. package/dist/server/routes/models.d.ts +3 -0
  110. package/dist/server/routes/models.d.ts.map +1 -0
  111. package/dist/server/routes/models.js +65 -0
  112. package/dist/server/routes/models.js.map +1 -0
  113. package/dist/server/routes/notion.d.ts +3 -0
  114. package/dist/server/routes/notion.d.ts.map +1 -0
  115. package/dist/server/routes/notion.js +312 -0
  116. package/dist/server/routes/notion.js.map +1 -0
  117. package/dist/server/routes/pipelines.d.ts +3 -0
  118. package/dist/server/routes/pipelines.d.ts.map +1 -0
  119. package/dist/server/routes/pipelines.js +315 -0
  120. package/dist/server/routes/pipelines.js.map +1 -0
  121. package/dist/server/routes/plugins.d.ts +3 -0
  122. package/dist/server/routes/plugins.d.ts.map +1 -0
  123. package/dist/server/routes/plugins.js +71 -0
  124. package/dist/server/routes/plugins.js.map +1 -0
  125. package/dist/server/routes/projects.d.ts +3 -0
  126. package/dist/server/routes/projects.d.ts.map +1 -0
  127. package/dist/server/routes/projects.js +557 -0
  128. package/dist/server/routes/projects.js.map +1 -0
  129. package/dist/server/routes/schedules.d.ts +3 -0
  130. package/dist/server/routes/schedules.d.ts.map +1 -0
  131. package/dist/server/routes/schedules.js +247 -0
  132. package/dist/server/routes/schedules.js.map +1 -0
  133. package/dist/server/routes/todos.d.ts +3 -0
  134. package/dist/server/routes/todos.d.ts.map +1 -0
  135. package/dist/server/routes/todos.js +103 -0
  136. package/dist/server/routes/todos.js.map +1 -0
  137. package/dist/server/routes/tunnel.d.ts +3 -0
  138. package/dist/server/routes/tunnel.d.ts.map +1 -0
  139. package/dist/server/routes/tunnel.js +44 -0
  140. package/dist/server/routes/tunnel.js.map +1 -0
  141. package/dist/server/services/claude-manager.d.ts +42 -0
  142. package/dist/server/services/claude-manager.d.ts.map +1 -0
  143. package/dist/server/services/claude-manager.js +275 -0
  144. package/dist/server/services/claude-manager.js.map +1 -0
  145. package/dist/server/services/cli-adapters.d.ts +35 -0
  146. package/dist/server/services/cli-adapters.d.ts.map +1 -0
  147. package/dist/server/services/cli-adapters.js +139 -0
  148. package/dist/server/services/cli-adapters.js.map +1 -0
  149. package/dist/server/services/debug-logger.d.ts +35 -0
  150. package/dist/server/services/debug-logger.d.ts.map +1 -0
  151. package/dist/server/services/debug-logger.js +168 -0
  152. package/dist/server/services/debug-logger.js.map +1 -0
  153. package/dist/server/services/discussion-orchestrator.d.ts +47 -0
  154. package/dist/server/services/discussion-orchestrator.d.ts.map +1 -0
  155. package/dist/server/services/discussion-orchestrator.js +599 -0
  156. package/dist/server/services/discussion-orchestrator.js.map +1 -0
  157. package/dist/server/services/log-streamer.d.ts +45 -0
  158. package/dist/server/services/log-streamer.d.ts.map +1 -0
  159. package/dist/server/services/log-streamer.js +348 -0
  160. package/dist/server/services/log-streamer.js.map +1 -0
  161. package/dist/server/services/orchestrator.d.ts +69 -0
  162. package/dist/server/services/orchestrator.d.ts.map +1 -0
  163. package/dist/server/services/orchestrator.js +642 -0
  164. package/dist/server/services/orchestrator.js.map +1 -0
  165. package/dist/server/services/pipeline-orchestrator.d.ts +43 -0
  166. package/dist/server/services/pipeline-orchestrator.d.ts.map +1 -0
  167. package/dist/server/services/pipeline-orchestrator.js +503 -0
  168. package/dist/server/services/pipeline-orchestrator.js.map +1 -0
  169. package/dist/server/services/prompt-guard.d.ts +19 -0
  170. package/dist/server/services/prompt-guard.d.ts.map +1 -0
  171. package/dist/server/services/prompt-guard.js +43 -0
  172. package/dist/server/services/prompt-guard.js.map +1 -0
  173. package/dist/server/services/scheduler.d.ts +43 -0
  174. package/dist/server/services/scheduler.d.ts.map +1 -0
  175. package/dist/server/services/scheduler.js +199 -0
  176. package/dist/server/services/scheduler.js.map +1 -0
  177. package/dist/server/services/skill-injector.d.ts +17 -0
  178. package/dist/server/services/skill-injector.d.ts.map +1 -0
  179. package/dist/server/services/skill-injector.js +60 -0
  180. package/dist/server/services/skill-injector.js.map +1 -0
  181. package/dist/server/services/tunnel-manager.d.ts +42 -0
  182. package/dist/server/services/tunnel-manager.d.ts.map +1 -0
  183. package/dist/server/services/tunnel-manager.js +265 -0
  184. package/dist/server/services/tunnel-manager.js.map +1 -0
  185. package/dist/server/services/worktree-manager.d.ts +117 -0
  186. package/dist/server/services/worktree-manager.d.ts.map +1 -0
  187. package/dist/server/services/worktree-manager.js +400 -0
  188. package/dist/server/services/worktree-manager.js.map +1 -0
  189. package/dist/server/websocket/broadcaster.d.ts +12 -0
  190. package/dist/server/websocket/broadcaster.d.ts.map +1 -0
  191. package/dist/server/websocket/broadcaster.js +23 -0
  192. package/dist/server/websocket/broadcaster.js.map +1 -0
  193. package/dist/server/websocket/events.d.ts +94 -0
  194. package/dist/server/websocket/events.d.ts.map +1 -0
  195. package/dist/server/websocket/events.js +2 -0
  196. package/dist/server/websocket/events.js.map +1 -0
  197. package/dist/server/websocket/index.d.ts +3 -0
  198. package/dist/server/websocket/index.d.ts.map +1 -0
  199. package/dist/server/websocket/index.js +82 -0
  200. package/dist/server/websocket/index.js.map +1 -0
  201. package/package.json +68 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/server/db/queries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type Database from 'better-sqlite3';
2
+ export declare function initDatabase(db: Database.Database): void;
3
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/server/db/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CA8OxD"}
@@ -0,0 +1,325 @@
1
+ import { randomUUID } from 'crypto';
2
+ export function initDatabase(db) {
3
+ db.exec(`
4
+ CREATE TABLE IF NOT EXISTS projects (
5
+ id TEXT PRIMARY KEY,
6
+ name TEXT NOT NULL,
7
+ path TEXT NOT NULL UNIQUE,
8
+ default_branch TEXT DEFAULT 'main',
9
+ is_git_repo INTEGER DEFAULT 1,
10
+ max_concurrent INTEGER DEFAULT 3,
11
+ claude_model TEXT,
12
+ claude_options TEXT,
13
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
14
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
15
+ );
16
+
17
+ CREATE TABLE IF NOT EXISTS todos (
18
+ id TEXT PRIMARY KEY,
19
+ project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
20
+ title TEXT NOT NULL,
21
+ description TEXT,
22
+ status TEXT DEFAULT 'pending',
23
+ priority INTEGER DEFAULT 0,
24
+ branch_name TEXT,
25
+ worktree_path TEXT,
26
+ process_pid INTEGER,
27
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
28
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
29
+ );
30
+
31
+ CREATE TABLE IF NOT EXISTS task_logs (
32
+ id TEXT PRIMARY KEY,
33
+ todo_id TEXT NOT NULL REFERENCES todos(id) ON DELETE CASCADE,
34
+ log_type TEXT NOT NULL,
35
+ message TEXT NOT NULL,
36
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP
37
+ );
38
+
39
+ CREATE TABLE IF NOT EXISTS pipelines (
40
+ id TEXT PRIMARY KEY,
41
+ project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
42
+ title TEXT NOT NULL,
43
+ description TEXT NOT NULL,
44
+ status TEXT DEFAULT 'pending',
45
+ current_phase TEXT,
46
+ branch_name TEXT,
47
+ worktree_path TEXT,
48
+ process_pid INTEGER,
49
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
50
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
51
+ );
52
+
53
+ CREATE TABLE IF NOT EXISTS pipeline_phases (
54
+ id TEXT PRIMARY KEY,
55
+ pipeline_id TEXT NOT NULL REFERENCES pipelines(id) ON DELETE CASCADE,
56
+ phase_type TEXT NOT NULL,
57
+ phase_order INTEGER NOT NULL,
58
+ status TEXT DEFAULT 'pending',
59
+ output TEXT,
60
+ started_at DATETIME,
61
+ completed_at DATETIME,
62
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP
63
+ );
64
+
65
+ CREATE TABLE IF NOT EXISTS pipeline_logs (
66
+ id TEXT PRIMARY KEY,
67
+ pipeline_id TEXT NOT NULL REFERENCES pipelines(id) ON DELETE CASCADE,
68
+ phase_type TEXT NOT NULL,
69
+ log_type TEXT NOT NULL,
70
+ message TEXT NOT NULL,
71
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP
72
+ );
73
+
74
+ CREATE TABLE IF NOT EXISTS schedules (
75
+ id TEXT PRIMARY KEY,
76
+ project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
77
+ title TEXT NOT NULL,
78
+ description TEXT,
79
+ cron_expression TEXT NOT NULL,
80
+ cli_tool TEXT,
81
+ cli_model TEXT,
82
+ is_active INTEGER DEFAULT 1,
83
+ skip_if_running INTEGER DEFAULT 1,
84
+ last_run_at DATETIME,
85
+ next_run_at DATETIME,
86
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
87
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
88
+ );
89
+
90
+ CREATE TABLE IF NOT EXISTS schedule_runs (
91
+ id TEXT PRIMARY KEY,
92
+ schedule_id TEXT NOT NULL REFERENCES schedules(id) ON DELETE CASCADE,
93
+ todo_id TEXT REFERENCES todos(id) ON DELETE SET NULL,
94
+ status TEXT DEFAULT 'triggered',
95
+ skipped_reason TEXT,
96
+ started_at DATETIME DEFAULT CURRENT_TIMESTAMP,
97
+ completed_at DATETIME
98
+ );
99
+
100
+ CREATE TABLE IF NOT EXISTS cli_models (
101
+ id TEXT PRIMARY KEY,
102
+ cli_tool TEXT NOT NULL,
103
+ model_value TEXT NOT NULL,
104
+ model_label TEXT NOT NULL,
105
+ sort_order INTEGER DEFAULT 0,
106
+ is_default INTEGER DEFAULT 0,
107
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
108
+ UNIQUE(cli_tool, model_value)
109
+ );
110
+
111
+ CREATE TABLE IF NOT EXISTS plugin_configs (
112
+ id TEXT PRIMARY KEY,
113
+ project_id TEXT NOT NULL,
114
+ plugin_id TEXT NOT NULL,
115
+ config_key TEXT NOT NULL,
116
+ config_value TEXT,
117
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
118
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
119
+ UNIQUE(project_id, plugin_id, config_key)
120
+ );
121
+
122
+ CREATE TABLE IF NOT EXISTS discussion_agents (
123
+ id TEXT PRIMARY KEY,
124
+ project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
125
+ name TEXT NOT NULL,
126
+ role TEXT NOT NULL,
127
+ system_prompt TEXT NOT NULL,
128
+ cli_tool TEXT,
129
+ cli_model TEXT,
130
+ avatar_color TEXT,
131
+ sort_order INTEGER DEFAULT 0,
132
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
133
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
134
+ );
135
+
136
+ CREATE TABLE IF NOT EXISTS discussions (
137
+ id TEXT PRIMARY KEY,
138
+ project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
139
+ title TEXT NOT NULL,
140
+ description TEXT NOT NULL,
141
+ status TEXT DEFAULT 'pending',
142
+ current_round INTEGER DEFAULT 0,
143
+ max_rounds INTEGER DEFAULT 3,
144
+ current_agent_id TEXT,
145
+ branch_name TEXT,
146
+ worktree_path TEXT,
147
+ process_pid INTEGER,
148
+ agent_ids TEXT NOT NULL,
149
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
150
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
151
+ );
152
+
153
+ CREATE TABLE IF NOT EXISTS discussion_messages (
154
+ id TEXT PRIMARY KEY,
155
+ discussion_id TEXT NOT NULL REFERENCES discussions(id) ON DELETE CASCADE,
156
+ agent_id TEXT NOT NULL,
157
+ round_number INTEGER NOT NULL,
158
+ turn_order INTEGER NOT NULL,
159
+ role TEXT NOT NULL,
160
+ agent_name TEXT NOT NULL,
161
+ content TEXT,
162
+ status TEXT DEFAULT 'pending',
163
+ started_at DATETIME,
164
+ completed_at DATETIME,
165
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP
166
+ );
167
+
168
+ CREATE TABLE IF NOT EXISTS discussion_logs (
169
+ id TEXT PRIMARY KEY,
170
+ discussion_id TEXT NOT NULL REFERENCES discussions(id) ON DELETE CASCADE,
171
+ message_id TEXT,
172
+ log_type TEXT NOT NULL,
173
+ message TEXT NOT NULL,
174
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP
175
+ );
176
+ `);
177
+ // Backwards-compatible migration: add new columns to existing DBs
178
+ const migrations = [
179
+ { table: 'projects', column: 'max_concurrent', definition: 'INTEGER DEFAULT 3' },
180
+ { table: 'projects', column: 'claude_model', definition: 'TEXT' },
181
+ { table: 'projects', column: 'claude_options', definition: 'TEXT' },
182
+ { table: 'projects', column: 'is_git_repo', definition: 'INTEGER DEFAULT 1' },
183
+ { table: 'projects', column: 'cli_tool', definition: "TEXT DEFAULT 'claude'" },
184
+ { table: 'projects', column: 'gstack_enabled', definition: 'INTEGER DEFAULT 0' },
185
+ { table: 'projects', column: 'gstack_skills', definition: 'TEXT' },
186
+ { table: 'projects', column: 'jira_enabled', definition: 'INTEGER DEFAULT 0' },
187
+ { table: 'projects', column: 'jira_base_url', definition: 'TEXT' },
188
+ { table: 'projects', column: 'jira_email', definition: 'TEXT' },
189
+ { table: 'projects', column: 'jira_api_token', definition: 'TEXT' },
190
+ { table: 'projects', column: 'jira_project_key', definition: 'TEXT' },
191
+ { table: 'projects', column: 'notion_enabled', definition: 'INTEGER DEFAULT 0' },
192
+ { table: 'projects', column: 'notion_api_key', definition: 'TEXT' },
193
+ { table: 'projects', column: 'notion_database_id', definition: 'TEXT' },
194
+ { table: 'projects', column: 'github_enabled', definition: 'INTEGER DEFAULT 0' },
195
+ { table: 'projects', column: 'github_token', definition: 'TEXT' },
196
+ { table: 'projects', column: 'github_owner', definition: 'TEXT' },
197
+ { table: 'projects', column: 'github_repo', definition: 'TEXT' },
198
+ { table: 'projects', column: 'default_max_turns', definition: 'INTEGER' },
199
+ { table: 'todos', column: 'cli_tool', definition: 'TEXT' },
200
+ { table: 'todos', column: 'cli_model', definition: 'TEXT' },
201
+ { table: 'todos', column: 'schedule_id', definition: 'TEXT' },
202
+ { table: 'todos', column: 'images', definition: 'TEXT' },
203
+ { table: 'todos', column: 'depends_on', definition: 'TEXT' },
204
+ { table: 'todos', column: 'max_turns', definition: 'INTEGER' },
205
+ { table: 'todos', column: 'token_usage', definition: 'TEXT' },
206
+ { table: 'todos', column: 'position_x', definition: 'REAL' },
207
+ { table: 'todos', column: 'position_y', definition: 'REAL' },
208
+ { table: 'todos', column: 'merged_from_branch', definition: 'TEXT' },
209
+ { table: 'projects', column: 'cli_fallback_chain', definition: 'TEXT' },
210
+ { table: 'todos', column: 'context_switch_count', definition: 'INTEGER DEFAULT 0' },
211
+ { table: 'schedules', column: 'schedule_type', definition: "TEXT DEFAULT 'recurring'" },
212
+ { table: 'schedules', column: 'run_at', definition: 'DATETIME' },
213
+ { table: 'projects', column: 'sandbox_mode', definition: "TEXT DEFAULT 'strict'" },
214
+ { table: 'projects', column: 'debug_logging', definition: 'INTEGER DEFAULT 0' },
215
+ { table: 'discussions', column: 'auto_implement', definition: 'INTEGER DEFAULT 0' },
216
+ { table: 'discussions', column: 'implement_agent_id', definition: 'TEXT' },
217
+ { table: 'projects', column: 'use_worktree', definition: 'INTEGER DEFAULT 1' },
218
+ ];
219
+ for (const { table, column, definition } of migrations) {
220
+ try {
221
+ db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
222
+ }
223
+ catch {
224
+ // Column already exists - ignore
225
+ }
226
+ }
227
+ // Migrate legacy integration columns to plugin_configs table
228
+ migratePluginConfigs(db);
229
+ // Enable foreign keys
230
+ db.pragma('foreign_keys = ON');
231
+ // Seed cli_models if empty
232
+ const modelCount = db.prepare('SELECT COUNT(*) as count FROM cli_models').get();
233
+ if (modelCount.count === 0) {
234
+ seedCliModels(db);
235
+ }
236
+ }
237
+ /**
238
+ * Migrate legacy per-integration columns from projects table
239
+ * to the generic plugin_configs table. Idempotent — skips if
240
+ * plugin_configs already has data for a given project+plugin.
241
+ */
242
+ function migratePluginConfigs(db) {
243
+ const projects = db.prepare('SELECT * FROM projects').all();
244
+ if (projects.length === 0)
245
+ return;
246
+ // Check if any migration has already happened
247
+ const existing = db.prepare('SELECT COUNT(*) as count FROM plugin_configs').get();
248
+ if (existing.count > 0)
249
+ return;
250
+ const insert = db.prepare(`INSERT OR IGNORE INTO plugin_configs (id, project_id, plugin_id, config_key, config_value, created_at, updated_at)
251
+ VALUES (?, ?, ?, ?, ?, ?, ?)`);
252
+ const pluginMappings = [
253
+ {
254
+ pluginId: 'jira',
255
+ columns: [
256
+ { from: 'jira_enabled', to: 'enabled' },
257
+ { from: 'jira_base_url', to: 'base_url' },
258
+ { from: 'jira_email', to: 'email' },
259
+ { from: 'jira_api_token', to: 'api_token' },
260
+ { from: 'jira_project_key', to: 'project_key' },
261
+ ],
262
+ },
263
+ {
264
+ pluginId: 'github',
265
+ columns: [
266
+ { from: 'github_enabled', to: 'enabled' },
267
+ { from: 'github_token', to: 'token' },
268
+ { from: 'github_owner', to: 'owner' },
269
+ { from: 'github_repo', to: 'repo' },
270
+ ],
271
+ },
272
+ {
273
+ pluginId: 'notion',
274
+ columns: [
275
+ { from: 'notion_enabled', to: 'enabled' },
276
+ { from: 'notion_api_key', to: 'api_key' },
277
+ { from: 'notion_database_id', to: 'database_id' },
278
+ ],
279
+ },
280
+ {
281
+ pluginId: 'gstack',
282
+ columns: [
283
+ { from: 'gstack_enabled', to: 'enabled' },
284
+ { from: 'gstack_skills', to: 'skills' },
285
+ ],
286
+ },
287
+ ];
288
+ const now = new Date().toISOString();
289
+ const migrate = db.transaction(() => {
290
+ for (const project of projects) {
291
+ for (const mapping of pluginMappings) {
292
+ for (const col of mapping.columns) {
293
+ const value = project[col.from];
294
+ if (value !== undefined && value !== null) {
295
+ insert.run(randomUUID(), project.id, mapping.pluginId, col.to, String(value), now, now);
296
+ }
297
+ }
298
+ }
299
+ }
300
+ });
301
+ migrate();
302
+ }
303
+ function seedCliModels(db) {
304
+ const seed = db.prepare(`INSERT INTO cli_models (id, cli_tool, model_value, model_label, sort_order, is_default) VALUES (?, ?, ?, ?, ?, ?)`);
305
+ const models = [
306
+ // Claude
307
+ ['claude', '', 'Default', 0, 1],
308
+ ['claude', 'claude-sonnet-4-6', 'Claude Sonnet 4.6', 1, 0],
309
+ ['claude', 'claude-opus-4-6', 'Claude Opus 4.6', 2, 0],
310
+ ['claude', 'claude-haiku-4-5', 'Claude Haiku 4.5', 3, 0],
311
+ // Gemini
312
+ ['gemini', '', 'Default (Gemini 2.5 Pro)', 0, 1],
313
+ // Codex
314
+ ['codex', '', 'Default', 0, 1],
315
+ ['codex', 'gpt-4.1', 'GPT-4.1', 1, 0],
316
+ ['codex', 'gpt-4.1-mini', 'GPT-4.1 Mini', 2, 0],
317
+ ['codex', 'gpt-4.1-nano', 'GPT-4.1 Nano', 3, 0],
318
+ ['codex', 'o3', 'o3', 4, 0],
319
+ ['codex', 'o4-mini', 'o4-mini', 5, 0],
320
+ ];
321
+ for (const [tool, value, label, order, isDefault] of models) {
322
+ seed.run(randomUUID(), tool, value, label, order, isDefault);
323
+ }
324
+ }
325
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/server/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGpC,MAAM,UAAU,YAAY,CAAC,EAAqB;IAChD,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6KP,CAAC,CAAC;IAEH,kEAAkE;IAClE,MAAM,UAAU,GAAG;QACjB,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE;QAChF,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE;QACjE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE;QACnE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,mBAAmB,EAAE;QAC7E,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,uBAAuB,EAAE;QAC9E,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE;QAChF,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE;QAClE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE;QAC9E,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE;QAClE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE;QAC/D,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE;QACnE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,EAAE;QACrE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE;QAChF,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE;QACnE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAE;QACvE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE;QAChF,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE;QACjE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE;QACjE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE;QAChE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,SAAS,EAAE;QACzE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE;QAC1D,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE;QAC3D,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE;QAC7D,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE;QACxD,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE;QAC5D,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE;QAC9D,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE;QAC7D,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE;QAC5D,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE;QAC5D,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAE;QACpE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAE;QACvE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,UAAU,EAAE,mBAAmB,EAAE;QACnF,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,0BAA0B,EAAE;QACvF,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE;QAChE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,uBAAuB,EAAE;QAClF,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,mBAAmB,EAAE;QAC/E,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE;QACnF,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAE;QAC1E,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE;KAC/E,CAAC;IAEF,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,UAAU,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,eAAe,KAAK,eAAe,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAEzB,sBAAsB;IACtB,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAE/B,2BAA2B;IAC3B,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,EAAuB,CAAC;IACrG,IAAI,UAAU,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QAC3B,aAAa,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,EAAqB;IACjD,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAW,CAAC;IACrE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAElC,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,EAAuB,CAAC;IACvG,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC;QAAE,OAAO;IAE/B,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CACvB;kCAC8B,CAC/B,CAAC;IAEF,MAAM,cAAc,GAA8E;QAChG;YACE,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE;gBACvC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,UAAU,EAAE;gBACzC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE;gBACnC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE;gBAC3C,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,aAAa,EAAE;aAChD;SACF;QACD;YACE,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,SAAS,EAAE;gBACzC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE;gBACrC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE;gBACrC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE;aACpC;SACF;QACD;YACE,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,SAAS,EAAE;gBACzC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,SAAS,EAAE;gBACzC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,aAAa,EAAE;aAClD;SACF;QACD;YACE,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,SAAS,EAAE;gBACzC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,QAAQ,EAAE;aACxC;SACF;KACF,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAClC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;gBACrC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC1C,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC1F,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,aAAa,CAAC,EAAqB;IAC1C,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,mHAAmH,CACpH,CAAC;IAEF,MAAM,MAAM,GAAG;QACb,SAAS;QACT,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC,QAAQ,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC;QACxD,SAAS;QACT,CAAC,QAAQ,EAAE,EAAE,EAAE,0BAA0B,EAAE,CAAC,EAAE,CAAC,CAAC;QAChD,QAAQ;QACR,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;KACtC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,EAAE,CAAC;QAC5D,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import 'dotenv/config';
2
+ declare const app: import("express-serve-static-core").Express;
3
+ declare const server: import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>;
4
+ export { app, server };
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAoCvB,QAAA,MAAM,GAAG,6CAAY,CAAC;AACtB,QAAA,MAAM,MAAM,oGAAoB,CAAC;AA0LjC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,207 @@
1
+ import 'dotenv/config';
2
+ import express from 'express';
3
+ import cors from 'cors';
4
+ import helmet from 'helmet';
5
+ import fs from 'fs';
6
+ import path from 'path';
7
+ import { fileURLToPath } from 'url';
8
+ import { createServer } from 'http';
9
+ import { getDatabase } from './db/connection.js';
10
+ import { getTodosByStatus, updateTodoStatus, updateTodo, cleanOldLogs, getPipelinesByStatus, updatePipelineStatus, updatePipeline, getAllProjects, getDiscussionsByStatus, updateDiscussionStatus, updateDiscussion } from './db/queries.js';
11
+ import { initAuth } from './middleware/auth.js';
12
+ import authRouter from './routes/auth.js';
13
+ import projectsRouter from './routes/projects.js';
14
+ import todosRouter from './routes/todos.js';
15
+ import executionRouter from './routes/execution.js';
16
+ import logsRouter from './routes/logs.js';
17
+ import imagesRouter from './routes/images.js';
18
+ import { claudeManager } from './services/claude-manager.js';
19
+ import { orchestrator } from './services/orchestrator.js';
20
+ import { tunnelManager } from './services/tunnel-manager.js';
21
+ import { initWebSocket } from './websocket/index.js';
22
+ import tunnelRouter from './routes/tunnel.js';
23
+ import pipelinesRouter from './routes/pipelines.js';
24
+ import schedulesRouter from './routes/schedules.js';
25
+ import pluginsRouter from './routes/plugins.js';
26
+ import modelsRouter from './routes/models.js';
27
+ import debugLogsRouter from './routes/debug-logs.js';
28
+ import discussionsRouter from './routes/discussions.js';
29
+ import { scheduler } from './services/scheduler.js';
30
+ import { debugLogger } from './services/debug-logger.js';
31
+ import { registerPlugin, mountPluginRoutes } from './plugins/registry.js';
32
+ import { jiraPlugin } from './plugins/jira/index.js';
33
+ import { githubPlugin } from './plugins/github/index.js';
34
+ import { notionPlugin } from './plugins/notion/index.js';
35
+ import { gstackPlugin } from './plugins/gstack/index.js';
36
+ const app = express();
37
+ const server = createServer(app);
38
+ const PORT = process.env.PORT || 3000;
39
+ // Trust proxy (needed for Cloudflare Tunnel / X-Forwarded-For)
40
+ app.set('trust proxy', 1);
41
+ // Middleware
42
+ const isDev = process.env.NODE_ENV !== 'production';
43
+ const allowedOrigins = process.env.CORS_ORIGIN
44
+ ? process.env.CORS_ORIGIN.split(',').map(o => o.trim())
45
+ : ['http://localhost:5173', 'http://localhost:5174', 'http://localhost:3000'];
46
+ app.use(cors({
47
+ origin: (origin, callback) => {
48
+ // Allow requests with no origin (same-origin, curl, etc.)
49
+ if (!origin) {
50
+ callback(null, true);
51
+ // Development mode: allow all origins
52
+ }
53
+ else if (isDev) {
54
+ callback(null, true);
55
+ }
56
+ else if (allowedOrigins.includes(origin)) {
57
+ callback(null, true);
58
+ // Allow Cloudflare Tunnel origins (*.trycloudflare.com)
59
+ }
60
+ else if (/^https:\/\/[a-z0-9-]+\.trycloudflare\.com$/.test(origin)) {
61
+ callback(null, true);
62
+ }
63
+ else {
64
+ callback(new Error('Not allowed by CORS'));
65
+ }
66
+ },
67
+ credentials: true,
68
+ }));
69
+ app.use(helmet({
70
+ contentSecurityPolicy: false, // Disable CSP for SPA compatibility
71
+ }));
72
+ app.use(express.json({ limit: '50mb' }));
73
+ // Initialize database
74
+ getDatabase();
75
+ // Startup recovery: reset stale 'running' todos to 'failed'
76
+ // (processes are dead after server restart)
77
+ const staleTodos = getTodosByStatus('running');
78
+ if (staleTodos.length > 0) {
79
+ console.log(`Recovering ${staleTodos.length} stale running task(s)...`);
80
+ for (const todo of staleTodos) {
81
+ updateTodoStatus(todo.id, 'failed');
82
+ updateTodo(todo.id, { process_pid: 0 });
83
+ console.log(` Reset todo "${todo.title}" (${todo.id}) from running to failed`);
84
+ }
85
+ }
86
+ // Startup recovery: reset stale 'running' pipelines to 'paused'
87
+ const stalePipelines = getPipelinesByStatus('running');
88
+ if (stalePipelines.length > 0) {
89
+ console.log(`Recovering ${stalePipelines.length} stale running pipeline(s)...`);
90
+ for (const pipeline of stalePipelines) {
91
+ updatePipelineStatus(pipeline.id, 'paused');
92
+ updatePipeline(pipeline.id, { process_pid: 0 });
93
+ console.log(` Reset pipeline "${pipeline.title}" (${pipeline.id}) from running to paused`);
94
+ }
95
+ }
96
+ // Startup recovery: reset stale 'running' discussions to 'paused'
97
+ const staleDiscussions = getDiscussionsByStatus('running');
98
+ if (staleDiscussions.length > 0) {
99
+ console.log(`Recovering ${staleDiscussions.length} stale running discussion(s)...`);
100
+ for (const discussion of staleDiscussions) {
101
+ updateDiscussionStatus(discussion.id, 'paused');
102
+ updateDiscussion(discussion.id, { process_pid: 0 });
103
+ console.log(` Reset discussion "${discussion.title}" (${discussion.id}) from running to paused`);
104
+ }
105
+ }
106
+ // Auto-cleanup old logs (default 30 days)
107
+ const LOG_RETENTION_DAYS = parseInt(process.env.LOG_RETENTION_DAYS || '30', 10);
108
+ const cleaned = cleanOldLogs(LOG_RETENTION_DAYS);
109
+ if (cleaned > 0) {
110
+ console.log(`Cleaned up ${cleaned} old log entries (older than ${LOG_RETENTION_DAYS} days)`);
111
+ }
112
+ // Auto-cleanup old debug log files
113
+ for (const p of getAllProjects()) {
114
+ if (p.debug_logging) {
115
+ const debugCleaned = debugLogger.cleanupOldLogs(p.path, LOG_RETENTION_DAYS);
116
+ if (debugCleaned > 0) {
117
+ console.log(`Cleaned up ${debugCleaned} debug log files for project "${p.name}"`);
118
+ }
119
+ }
120
+ }
121
+ // Auth middleware
122
+ initAuth(app);
123
+ app.use('/api/auth', authRouter);
124
+ // --- Plugins ---
125
+ registerPlugin(jiraPlugin);
126
+ registerPlugin(githubPlugin);
127
+ registerPlugin(notionPlugin);
128
+ registerPlugin(gstackPlugin);
129
+ // --- Routes ---
130
+ app.use('/api/projects', projectsRouter);
131
+ app.use('/api', todosRouter);
132
+ app.use('/api', executionRouter);
133
+ app.use('/api', logsRouter);
134
+ app.use('/api', imagesRouter);
135
+ app.use('/api', pipelinesRouter);
136
+ app.use('/api', schedulesRouter);
137
+ app.use('/api/plugins', pluginsRouter);
138
+ app.use('/api/tunnel', tunnelRouter);
139
+ app.use('/api', modelsRouter);
140
+ app.use('/api', debugLogsRouter);
141
+ app.use('/api', discussionsRouter);
142
+ mountPluginRoutes(app);
143
+ // --- Scheduler ---
144
+ scheduler.initialize();
145
+ // --- WebSocket ---
146
+ initWebSocket(server);
147
+ // --- Tunnel (Phase 7) ---
148
+ if (process.env.TUNNEL_ENABLED === 'true') {
149
+ const port = Number(PORT);
150
+ const tunnelName = process.env.TUNNEL_NAME;
151
+ const tunnelPromise = tunnelName
152
+ ? tunnelManager.startNamedTunnel(tunnelName, port)
153
+ : tunnelManager.startTunnel(port);
154
+ tunnelPromise.catch((err) => {
155
+ console.error('Failed to start tunnel:', err.message);
156
+ });
157
+ tunnelManager.on('url', (url) => {
158
+ console.log(`Cloudflare Tunnel URL: ${url}`);
159
+ });
160
+ tunnelManager.on('error', (err) => {
161
+ console.error('Tunnel error:', err.message);
162
+ });
163
+ }
164
+ // Serve frontend static files in production (skip in headless/plugin mode)
165
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
166
+ if (process.env.HEADLESS !== 'true') {
167
+ let clientDist = path.resolve(__dirname, '../client');
168
+ if (!fs.existsSync(clientDist)) {
169
+ clientDist = path.resolve(__dirname, '../../src/client/dist');
170
+ }
171
+ app.use(express.static(clientDist));
172
+ app.get(/^\/(?!api|ws).*/, (_req, res) => {
173
+ res.sendFile(path.join(clientDist, 'index.html'));
174
+ });
175
+ }
176
+ // Health check
177
+ app.get('/api/health', (_req, res) => {
178
+ res.json({ status: 'ok', timestamp: new Date().toISOString() });
179
+ });
180
+ // Cleanup on process exit: kill all Claude CLI processes
181
+ function cleanup() {
182
+ console.log('Shutting down: killing all Claude CLI processes, scheduler, and tunnel...');
183
+ orchestrator.stopStaleProcessChecker();
184
+ scheduler.stopAll();
185
+ Promise.all([
186
+ claudeManager.killAll(),
187
+ tunnelManager.stopTunnel(),
188
+ ]).then(() => {
189
+ process.exit(0);
190
+ }).catch(() => {
191
+ process.exit(1);
192
+ });
193
+ }
194
+ process.on('SIGTERM', cleanup);
195
+ process.on('SIGINT', cleanup);
196
+ // Plugin mode: shut down when parent process closes stdin
197
+ // Only enable stdin-based shutdown in headless/plugin mode (not in dev with concurrently)
198
+ if (process.env.HEADLESS === 'true') {
199
+ process.stdin.on('end', cleanup);
200
+ process.stdin.resume();
201
+ }
202
+ server.listen(PORT, () => {
203
+ console.log(`CLITrigger server running on http://localhost:${PORT}`);
204
+ orchestrator.startStaleProcessChecker();
205
+ });
206
+ export { app, server };
207
+ //# sourceMappingURL=index.js.map