codekin 0.2.1 → 0.3.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 (75) hide show
  1. package/dist/assets/index-B4rYTSlV.css +1 -0
  2. package/dist/assets/index-CWc3yfPn.js +181 -0
  3. package/dist/index.html +2 -2
  4. package/package.json +10 -6
  5. package/server/dist/approval-manager.d.ts +71 -0
  6. package/server/dist/approval-manager.js +249 -0
  7. package/server/dist/approval-manager.js.map +1 -0
  8. package/server/dist/auth-routes.d.ts +11 -0
  9. package/server/dist/auth-routes.js +11 -0
  10. package/server/dist/auth-routes.js.map +1 -1
  11. package/server/dist/claude-process.js +2 -1
  12. package/server/dist/claude-process.js.map +1 -1
  13. package/server/dist/config.d.ts +1 -2
  14. package/server/dist/config.js +17 -5
  15. package/server/dist/config.js.map +1 -1
  16. package/server/dist/crypto-utils.d.ts +16 -1
  17. package/server/dist/crypto-utils.js +44 -1
  18. package/server/dist/crypto-utils.js.map +1 -1
  19. package/server/dist/docs-routes.d.ts +16 -0
  20. package/server/dist/docs-routes.js +141 -0
  21. package/server/dist/docs-routes.js.map +1 -0
  22. package/server/dist/session-manager.d.ts +37 -84
  23. package/server/dist/session-manager.js +89 -472
  24. package/server/dist/session-manager.js.map +1 -1
  25. package/server/dist/session-naming.d.ts +35 -0
  26. package/server/dist/session-naming.js +168 -0
  27. package/server/dist/session-naming.js.map +1 -0
  28. package/server/dist/session-persistence.d.ts +30 -0
  29. package/server/dist/session-persistence.js +93 -0
  30. package/server/dist/session-persistence.js.map +1 -0
  31. package/server/dist/session-routes.d.ts +2 -1
  32. package/server/dist/session-routes.js +13 -6
  33. package/server/dist/session-routes.js.map +1 -1
  34. package/server/dist/stepflow-handler.d.ts +3 -9
  35. package/server/dist/stepflow-handler.js +32 -50
  36. package/server/dist/stepflow-handler.js.map +1 -1
  37. package/server/dist/stepflow-types.d.ts +2 -0
  38. package/server/dist/types.d.ts +3 -0
  39. package/server/dist/upload-routes.js +9 -4
  40. package/server/dist/upload-routes.js.map +1 -1
  41. package/server/dist/webhook-github.d.ts +23 -5
  42. package/server/dist/webhook-github.js +23 -5
  43. package/server/dist/webhook-github.js.map +1 -1
  44. package/server/dist/webhook-handler-base.d.ts +45 -0
  45. package/server/dist/webhook-handler-base.js +86 -0
  46. package/server/dist/webhook-handler-base.js.map +1 -0
  47. package/server/dist/webhook-handler.d.ts +3 -10
  48. package/server/dist/webhook-handler.js +6 -46
  49. package/server/dist/webhook-handler.js.map +1 -1
  50. package/server/dist/webhook-workspace.d.ts +8 -1
  51. package/server/dist/webhook-workspace.js +73 -41
  52. package/server/dist/webhook-workspace.js.map +1 -1
  53. package/server/dist/workflow-config.d.ts +2 -0
  54. package/server/dist/workflow-config.js +1 -1
  55. package/server/dist/workflow-config.js.map +1 -1
  56. package/server/dist/workflow-engine.d.ts +1 -0
  57. package/server/dist/workflow-engine.js +3 -0
  58. package/server/dist/workflow-engine.js.map +1 -1
  59. package/server/dist/workflow-loader.d.ts +33 -6
  60. package/server/dist/workflow-loader.js +129 -14
  61. package/server/dist/workflow-loader.js.map +1 -1
  62. package/server/dist/workflow-routes.d.ts +7 -3
  63. package/server/dist/workflow-routes.js +63 -8
  64. package/server/dist/workflow-routes.js.map +1 -1
  65. package/server/dist/ws-server.js +91 -18
  66. package/server/dist/ws-server.js.map +1 -1
  67. package/server/workflows/code-review.daily.md +22 -0
  68. package/server/workflows/comment-assessment.daily.md +41 -0
  69. package/server/workflows/complexity.weekly.md +54 -0
  70. package/server/workflows/coverage.daily.md +41 -0
  71. package/server/workflows/dependency-health.daily.md +46 -0
  72. package/server/workflows/repo-health.weekly.md +111 -0
  73. package/server/workflows/security-audit.weekly.md +66 -0
  74. package/dist/assets/index-CPxHiZP2.js +0 -105
  75. package/dist/assets/index-DU_Viph_.css +0 -1
@@ -1,14 +1,15 @@
1
1
  /**
2
2
  * MD-based workflow loader.
3
3
  *
4
- * Reads *.md files from server/workflows/ (built-in global definitions) and,
5
- * at run time, from {repoPath}/.codekin/workflows/ (per-repo overrides).
4
+ * Reads *.md files from server/workflows/ (built-in definitions shipped with
5
+ * the NPM package) and from {repoPath}/.codekin/workflows/ (per-repo
6
+ * definitions that can override built-ins or define entirely new workflows).
6
7
  *
7
8
  * All workflows share the same 4-step execution model:
8
9
  * 1. validate_repo — verify path exists, is a git repo, check staleness
9
10
  * 2. create_session — create a Codekin session for the run
10
11
  * 3. run_prompt — start Claude, send the prompt, wait for result
11
- * 4. save_report — write Markdown output to outputDir, commit
12
+ * 4. save_report — write Markdown output to outputDir, commit on codekin/reports branch, push
12
13
  *
13
14
  * MD file format — YAML frontmatter followed by the Claude prompt:
14
15
  *
@@ -16,16 +17,42 @@
16
17
  * kind: code-review.daily
17
18
  * name: Daily Code Review
18
19
  * sessionPrefix: review
19
- * outputDir: review logs
20
+ * outputDir: .codekin/reports/code-review
20
21
  * filenameSuffix: _code-review-daily.md
21
22
  * commitMessage: chore: code review
23
+ * model: claude-sonnet-4-6 # optional — defaults to system default
22
24
  * ---
23
25
  * You are performing a daily automated code review...
24
26
  *
25
- * Per-repo overrides: place a file at {repoPath}/.codekin/workflows/{kind}.md.
26
- * If found at run time, its prompt replaces the global one for that run.
27
+ * Per-repo workflows: place MD files at {repoPath}/.codekin/workflows/.
28
+ * Files whose `kind` matches a built-in override that built-in's prompt.
29
+ * Files with a new `kind` register as standalone workflows for that repo.
27
30
  */
28
31
  import type { WorkflowEngine } from './workflow-engine.js';
29
32
  import type { SessionManager } from './session-manager.js';
33
+ export interface WorkflowKindInfo {
34
+ kind: string;
35
+ name: string;
36
+ source: 'builtin' | 'repo';
37
+ }
38
+ export interface WorkflowDef {
39
+ kind: string;
40
+ name: string;
41
+ sessionPrefix: string;
42
+ outputDir: string;
43
+ filenameSuffix: string;
44
+ commitMessage: string;
45
+ model?: string;
46
+ prompt: string;
47
+ }
48
+ /**
49
+ * Discover and register any standalone repo workflows (kinds not already
50
+ * registered as built-ins). Called when a repo is configured or when listing
51
+ * available kinds for a repo. Safe to call multiple times — already-registered
52
+ * kinds are skipped.
53
+ */
54
+ export declare function ensureRepoWorkflowsRegistered(engine: WorkflowEngine, sessions: SessionManager, repoPath: string): void;
55
+ /** Return available workflow kinds: built-ins plus any from a specific repo. */
56
+ export declare function listAvailableKinds(repoPath?: string): WorkflowKindInfo[];
30
57
  /** Load all MD workflow definitions and register them with the engine. */
31
58
  export declare function loadMdWorkflows(engine: WorkflowEngine, sessions: SessionManager): void;
@@ -1,14 +1,15 @@
1
1
  /**
2
2
  * MD-based workflow loader.
3
3
  *
4
- * Reads *.md files from server/workflows/ (built-in global definitions) and,
5
- * at run time, from {repoPath}/.codekin/workflows/ (per-repo overrides).
4
+ * Reads *.md files from server/workflows/ (built-in definitions shipped with
5
+ * the NPM package) and from {repoPath}/.codekin/workflows/ (per-repo
6
+ * definitions that can override built-ins or define entirely new workflows).
6
7
  *
7
8
  * All workflows share the same 4-step execution model:
8
9
  * 1. validate_repo — verify path exists, is a git repo, check staleness
9
10
  * 2. create_session — create a Codekin session for the run
10
11
  * 3. run_prompt — start Claude, send the prompt, wait for result
11
- * 4. save_report — write Markdown output to outputDir, commit
12
+ * 4. save_report — write Markdown output to outputDir, commit on codekin/reports branch, push
12
13
  *
13
14
  * MD file format — YAML frontmatter followed by the Claude prompt:
14
15
  *
@@ -16,18 +17,21 @@
16
17
  * kind: code-review.daily
17
18
  * name: Daily Code Review
18
19
  * sessionPrefix: review
19
- * outputDir: review logs
20
+ * outputDir: .codekin/reports/code-review
20
21
  * filenameSuffix: _code-review-daily.md
21
22
  * commitMessage: chore: code review
23
+ * model: claude-sonnet-4-6 # optional — defaults to system default
22
24
  * ---
23
25
  * You are performing a daily automated code review...
24
26
  *
25
- * Per-repo overrides: place a file at {repoPath}/.codekin/workflows/{kind}.md.
26
- * If found at run time, its prompt replaces the global one for that run.
27
+ * Per-repo workflows: place MD files at {repoPath}/.codekin/workflows/.
28
+ * Files whose `kind` matches a built-in override that built-in's prompt.
29
+ * Files with a new `kind` register as standalone workflows for that repo.
27
30
  */
28
- import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from 'fs';
29
- import { execSync, execFileSync } from 'child_process';
30
- import { dirname, join } from 'path';
31
+ import { existsSync, mkdirSync, readdirSync, readFileSync, realpathSync, writeFileSync } from 'fs';
32
+ import { execFileSync } from 'child_process';
33
+ import { dirname, join, sep } from 'path';
34
+ import { REPOS_ROOT } from './config.js';
31
35
  import { fileURLToPath } from 'url';
32
36
  // ---------------------------------------------------------------------------
33
37
  // MD parser
@@ -58,6 +62,7 @@ function parseMdWorkflow(content, sourcePath) {
58
62
  outputDir: meta.outputDir,
59
63
  filenameSuffix: meta.filenameSuffix,
60
64
  commitMessage: meta.commitMessage,
65
+ model: meta.model,
61
66
  prompt,
62
67
  };
63
68
  }
@@ -157,9 +162,13 @@ function registerWorkflow(engine, sessions, def) {
157
162
  throw new Error('Missing repoPath in workflow input');
158
163
  if (!existsSync(repoPath))
159
164
  throw new Error(`Repository path does not exist: ${repoPath}`);
165
+ const resolvedPath = realpathSync(repoPath);
166
+ if (!resolvedPath.startsWith(REPOS_ROOT + sep)) {
167
+ throw new Error(`Repository path ${resolvedPath} is outside REPOS_ROOT`);
168
+ }
160
169
  try {
161
- const branch = execSync('git rev-parse --abbrev-ref HEAD', { cwd: repoPath, timeout: 5000 }).toString().trim();
162
- const lastCommit = execSync('git log -1 --oneline', { cwd: repoPath, timeout: 5000 }).toString().trim();
170
+ const branch = execFileSync('git', ['rev-parse', '--abbrev-ref', 'HEAD'], { cwd: repoPath, timeout: 5000 }).toString().trim();
171
+ const lastCommit = execFileSync('git', ['log', '-1', '--oneline'], { cwd: repoPath, timeout: 5000 }).toString().trim();
163
172
  const sinceTimestamp = input.sinceTimestamp;
164
173
  if (sinceTimestamp) {
165
174
  const newCommits = execFileSync('git', ['log', `--since=${sinceTimestamp}`, '--oneline'], { cwd: repoPath, timeout: 5000 }).toString().trim();
@@ -184,9 +193,11 @@ function registerWorkflow(engine, sessions, def) {
184
193
  handler: async (input, ctx) => {
185
194
  const repoPath = input.repoPath;
186
195
  const repoName = input.repoName || repoPath.split('/').pop() || 'unknown';
196
+ const model = input.model || def.model;
187
197
  const session = sessions.create(`${def.sessionPrefix}:${repoName}`, repoPath, {
188
198
  source: 'workflow',
189
199
  groupDir: repoPath,
200
+ model,
190
201
  });
191
202
  console.log(`[workflow:${def.kind}] Created session ${session.id} for ${repoName} (run ${ctx.runId})`);
192
203
  return { sessionId: session.id, repoPath, repoName, branch: input.branch, lastCommit: input.lastCommit };
@@ -260,11 +271,50 @@ function registerWorkflow(engine, sessions, def) {
260
271
  const filePath = join(reportsDir, filename);
261
272
  writeFileSync(filePath, markdown, 'utf-8');
262
273
  console.log(`[workflow:${def.kind}] Saved report to ${filePath}`);
274
+ // Commit on a dedicated branch so reports don't pollute the working branch
275
+ const REPORTS_BRANCH = 'codekin/reports';
263
276
  try {
264
277
  const relativePath = `${def.outputDir}/${filename}`;
265
- execSync(`git add "${relativePath}"`, { cwd: repoPath, timeout: 10_000 });
266
- execSync(`git commit -m "${def.commitMessage} ${dateStr}"`, { cwd: repoPath, timeout: 15_000 });
267
- console.log(`[workflow:${def.kind}] Committed ${relativePath}`);
278
+ const originalBranch = execFileSync('git', ['rev-parse', '--abbrev-ref', 'HEAD'], { cwd: repoPath, timeout: 5_000 }).toString().trim();
279
+ // Ensure the reports branch exists (create as orphan if needed)
280
+ try {
281
+ execFileSync('git', ['rev-parse', '--verify', REPORTS_BRANCH], { cwd: repoPath, timeout: 5_000, stdio: 'pipe' });
282
+ }
283
+ catch {
284
+ // Branch doesn't exist yet — create it from the current branch
285
+ execFileSync('git', ['branch', REPORTS_BRANCH], { cwd: repoPath, timeout: 5_000 });
286
+ console.log(`[workflow:${def.kind}] Created branch ${REPORTS_BRANCH}`);
287
+ }
288
+ // Stash any uncommitted changes on the working branch
289
+ const stashResult = execFileSync('git', ['stash', '--include-untracked'], { cwd: repoPath, timeout: 10_000 }).toString().trim();
290
+ const didStash = !stashResult.includes('No local changes');
291
+ try {
292
+ execFileSync('git', ['checkout', REPORTS_BRANCH], { cwd: repoPath, timeout: 10_000 });
293
+ // Re-create the report file on this branch (the file was written while on the original branch)
294
+ const reportsDirOnBranch = join(repoPath, def.outputDir);
295
+ if (!existsSync(reportsDirOnBranch)) {
296
+ mkdirSync(reportsDirOnBranch, { recursive: true });
297
+ }
298
+ writeFileSync(join(reportsDirOnBranch, filename), markdown, 'utf-8');
299
+ execFileSync('git', ['add', relativePath], { cwd: repoPath, timeout: 10_000 });
300
+ execFileSync('git', ['commit', '-m', `${def.commitMessage} ${dateStr}`], { cwd: repoPath, timeout: 15_000 });
301
+ console.log(`[workflow:${def.kind}] Committed ${relativePath} on ${REPORTS_BRANCH}`);
302
+ // Push to remote
303
+ try {
304
+ execFileSync('git', ['push', 'origin', REPORTS_BRANCH], { cwd: repoPath, timeout: 30_000, stdio: 'pipe' });
305
+ console.log(`[workflow:${def.kind}] Pushed ${REPORTS_BRANCH} to origin`);
306
+ }
307
+ catch (pushErr) {
308
+ console.warn(`[workflow:${def.kind}] Could not push ${REPORTS_BRANCH}: ${pushErr}`);
309
+ }
310
+ }
311
+ finally {
312
+ // Always switch back to the original branch
313
+ execFileSync('git', ['checkout', originalBranch], { cwd: repoPath, timeout: 10_000 });
314
+ if (didStash) {
315
+ execFileSync('git', ['stash', 'pop'], { cwd: repoPath, timeout: 10_000 });
316
+ }
317
+ }
268
318
  }
269
319
  catch (err) {
270
320
  console.warn(`[workflow:${def.kind}] Could not commit report: ${err}`);
@@ -292,6 +342,71 @@ function registerWorkflow(engine, sessions, def) {
292
342
  });
293
343
  }
294
344
  // ---------------------------------------------------------------------------
345
+ // Repo workflow discovery
346
+ // ---------------------------------------------------------------------------
347
+ /** Scan {repoPath}/.codekin/workflows/ for all MD workflow definitions. */
348
+ function discoverRepoWorkflows(repoPath) {
349
+ const dir = join(repoPath, '.codekin', 'workflows');
350
+ if (!existsSync(dir))
351
+ return [];
352
+ const defs = [];
353
+ for (const file of readdirSync(dir)) {
354
+ if (!file.endsWith('.md'))
355
+ continue;
356
+ const filePath = join(dir, file);
357
+ try {
358
+ defs.push(parseMdWorkflow(readFileSync(filePath, 'utf-8'), filePath));
359
+ }
360
+ catch (err) {
361
+ console.warn(`[workflow-loader] Failed to parse repo workflow ${filePath}:`, err);
362
+ }
363
+ }
364
+ return defs;
365
+ }
366
+ /** Track which repo workflow kinds have already been registered with the engine. */
367
+ const registeredRepoKinds = new Set();
368
+ /**
369
+ * Discover and register any standalone repo workflows (kinds not already
370
+ * registered as built-ins). Called when a repo is configured or when listing
371
+ * available kinds for a repo. Safe to call multiple times — already-registered
372
+ * kinds are skipped.
373
+ */
374
+ export function ensureRepoWorkflowsRegistered(engine, sessions, repoPath) {
375
+ const repoDefs = discoverRepoWorkflows(repoPath);
376
+ for (const def of repoDefs) {
377
+ const registrationKey = `${repoPath}::${def.kind}`;
378
+ if (registeredRepoKinds.has(registrationKey))
379
+ continue;
380
+ if (engine.hasWorkflow(def.kind))
381
+ continue;
382
+ registerWorkflow(engine, sessions, def);
383
+ registeredRepoKinds.add(registrationKey);
384
+ console.log(`[workflow-loader] Registered repo workflow "${def.kind}" from ${repoPath}`);
385
+ }
386
+ }
387
+ // ---------------------------------------------------------------------------
388
+ // Kind listing
389
+ // ---------------------------------------------------------------------------
390
+ /** Return available workflow kinds: built-ins plus any from a specific repo. */
391
+ export function listAvailableKinds(repoPath) {
392
+ const builtinDefs = loadBuiltinWorkflows();
393
+ const kinds = builtinDefs.map(d => ({
394
+ kind: d.kind,
395
+ name: d.name,
396
+ source: 'builtin',
397
+ }));
398
+ const builtinKindSet = new Set(builtinDefs.map(d => d.kind));
399
+ if (repoPath) {
400
+ const repoDefs = discoverRepoWorkflows(repoPath);
401
+ for (const def of repoDefs) {
402
+ if (builtinKindSet.has(def.kind))
403
+ continue;
404
+ kinds.push({ kind: def.kind, name: def.name, source: 'repo' });
405
+ }
406
+ }
407
+ return kinds;
408
+ }
409
+ // ---------------------------------------------------------------------------
295
410
  // Main entry point
296
411
  // ---------------------------------------------------------------------------
297
412
  /** Load all MD workflow definitions and register them with the engine. */
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-loader.js","sourceRoot":"","sources":["../workflow-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-loader.js","sourceRoot":"","sources":["../workflow-loader.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,13 @@
6
6
  */
7
7
  import { Router } from 'express';
8
8
  import type { Request } from 'express';
9
+ import type { SessionManager } from './session-manager.js';
9
10
  type VerifyFn = (token: string | undefined) => boolean;
10
11
  type ExtractFn = (req: Request) => string | undefined;
11
- /** Sync cron schedules with the current workflow config. */
12
- export declare function syncSchedules(): void;
13
- export declare function createWorkflowRouter(verifyToken: VerifyFn, extractToken: ExtractFn): Router;
12
+ /**
13
+ * Sync cron schedules with the current workflow config.
14
+ * When `sessions` is provided, also registers any standalone repo workflows.
15
+ */
16
+ export declare function syncSchedules(sessions?: SessionManager): void;
17
+ export declare function createWorkflowRouter(verifyToken: VerifyFn, extractToken: ExtractFn, sessions?: SessionManager): Router;
14
18
  export {};
@@ -7,19 +7,55 @@
7
7
  import { Router } from 'express';
8
8
  import { getWorkflowEngine } from './workflow-engine.js';
9
9
  import { loadWorkflowConfig, addReviewRepo, removeReviewRepo, updateReviewRepo, } from './workflow-config.js';
10
- /** Sync cron schedules with the current workflow config. */
11
- export function syncSchedules() {
10
+ import { listAvailableKinds, ensureRepoWorkflowsRegistered } from './workflow-loader.js';
11
+ /** Validate a 5-field cron expression. Returns true if the format is valid. */
12
+ function isValidCron(expr) {
13
+ const parts = expr.trim().split(/\s+/);
14
+ if (parts.length !== 5)
15
+ return false;
16
+ const ranges = [
17
+ [0, 59], // minute
18
+ [0, 23], // hour
19
+ [1, 31], // day of month
20
+ [1, 12], // month
21
+ [0, 6], // day of week
22
+ ];
23
+ return parts.every((part, i) => {
24
+ const [min, max] = ranges[i];
25
+ return part.split(',').every(segment => {
26
+ const stepMatch = segment.match(/^(.+)\/(\d+)$/);
27
+ const range = stepMatch ? stepMatch[1] : segment;
28
+ if (range === '*')
29
+ return true;
30
+ if (range.includes('-')) {
31
+ const [a, b] = range.split('-').map(Number);
32
+ return !isNaN(a) && !isNaN(b) && a >= min && b <= max && a <= b;
33
+ }
34
+ const n = parseInt(range, 10);
35
+ return !isNaN(n) && n >= min && n <= max;
36
+ });
37
+ });
38
+ }
39
+ /**
40
+ * Sync cron schedules with the current workflow config.
41
+ * When `sessions` is provided, also registers any standalone repo workflows.
42
+ */
43
+ export function syncSchedules(sessions) {
12
44
  const engine = getWorkflowEngine();
13
45
  const config = loadWorkflowConfig();
14
46
  const existingSchedules = engine.listSchedules();
15
47
  const configIds = new Set(config.reviewRepos.map(r => r.id));
16
48
  // Create or update schedules for configured repos
17
49
  for (const repo of config.reviewRepos) {
50
+ // Register any standalone repo workflows before scheduling
51
+ if (sessions) {
52
+ ensureRepoWorkflowsRegistered(engine, sessions, repo.repoPath);
53
+ }
18
54
  engine.upsertSchedule({
19
55
  id: repo.id,
20
56
  kind: repo.kind ?? 'code-review.daily',
21
57
  cronExpression: repo.cronExpression,
22
- input: { repoPath: repo.repoPath, repoName: repo.name, customPrompt: repo.customPrompt },
58
+ input: { repoPath: repo.repoPath, repoName: repo.name, customPrompt: repo.customPrompt, model: repo.model },
23
59
  enabled: repo.enabled,
24
60
  });
25
61
  }
@@ -30,7 +66,7 @@ export function syncSchedules() {
30
66
  }
31
67
  }
32
68
  }
33
- export function createWorkflowRouter(verifyToken, extractToken) {
69
+ export function createWorkflowRouter(verifyToken, extractToken, sessions) {
34
70
  const router = Router();
35
71
  /** Auth middleware for all workflow routes. */
36
72
  function auth(req, res, next) {
@@ -53,6 +89,14 @@ export function createWorkflowRouter(verifyToken, extractToken) {
53
89
  }
54
90
  }
55
91
  // -------------------------------------------------------------------------
92
+ // Kinds
93
+ // -------------------------------------------------------------------------
94
+ router.get('/kinds', (req, res) => {
95
+ const repoPath = req.query.repoPath;
96
+ const kinds = listAvailableKinds(repoPath);
97
+ res.json({ kinds });
98
+ });
99
+ // -------------------------------------------------------------------------
56
100
  // Runs
57
101
  // -------------------------------------------------------------------------
58
102
  router.get('/runs', (req, res) => {
@@ -118,6 +162,9 @@ export function createWorkflowRouter(verifyToken, extractToken) {
118
162
  if (!id || !kind || !cronExpression) {
119
163
  return res.status(400).json({ error: 'Missing id, kind, or cronExpression' });
120
164
  }
165
+ if (!isValidCron(cronExpression)) {
166
+ return res.status(400).json({ error: 'Invalid cron expression' });
167
+ }
121
168
  const schedule = engine.upsertSchedule({
122
169
  id,
123
170
  kind,
@@ -171,10 +218,17 @@ export function createWorkflowRouter(verifyToken, extractToken) {
171
218
  res.json({ config: loadWorkflowConfig() });
172
219
  });
173
220
  router.post('/config/repos', (req, res) => {
174
- const { id, name, repoPath, cronExpression, enabled, customPrompt, kind } = req.body;
221
+ const { id, name, repoPath, cronExpression, enabled, customPrompt, kind, model } = req.body;
175
222
  if (!id || !name || !repoPath || !cronExpression) {
176
223
  return res.status(400).json({ error: 'Missing required fields: id, name, repoPath, cronExpression' });
177
224
  }
225
+ // Register any standalone repo workflows before saving config
226
+ if (sessions) {
227
+ try {
228
+ ensureRepoWorkflowsRegistered(getWorkflowEngine(), sessions, repoPath);
229
+ }
230
+ catch { /* engine may not be ready */ }
231
+ }
178
232
  const config = addReviewRepo({
179
233
  id,
180
234
  name,
@@ -183,10 +237,11 @@ export function createWorkflowRouter(verifyToken, extractToken) {
183
237
  enabled: enabled !== false,
184
238
  kind,
185
239
  customPrompt,
240
+ model,
186
241
  });
187
242
  // Re-sync schedules with updated config
188
243
  try {
189
- syncSchedules();
244
+ syncSchedules(sessions);
190
245
  }
191
246
  catch {
192
247
  // Engine might not be ready yet
@@ -197,7 +252,7 @@ export function createWorkflowRouter(verifyToken, extractToken) {
197
252
  try {
198
253
  const config = updateReviewRepo(req.params.id, req.body);
199
254
  try {
200
- syncSchedules();
255
+ syncSchedules(sessions);
201
256
  }
202
257
  catch { /* engine may not be ready */ }
203
258
  res.json({ config });
@@ -210,7 +265,7 @@ export function createWorkflowRouter(verifyToken, extractToken) {
210
265
  const config = removeReviewRepo(req.params.id);
211
266
  // Re-sync schedules with updated config
212
267
  try {
213
- syncSchedules();
268
+ syncSchedules(sessions);
214
269
  }
215
270
  catch {
216
271
  // Engine might not be ready yet
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-routes.js","sourceRoot":"","sources":["../workflow-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-routes.js","sourceRoot":"","sources":["../workflow-routes.ts"],"names":[],"mappings":"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"}