pm-orchestrator-runner 1.0.13 → 1.0.15

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.
@@ -1 +1 @@
1
- {"version":3,"file":"queue-store.js","sourceRoot":"","sources":["../../src/queue/queue-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue-store.js","sourceRoot":"","sources":["../../src/queue/queue-store.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
1
  /**
2
- * Web Module
2
+ * Web Module (v2)
3
3
  * Per spec/19_WEB_UI.md
4
4
  *
5
+ * v2 Changes:
6
+ * - WebServer requires namespace parameter
7
+ * - Project root for display
8
+ *
5
9
  * Exports:
6
10
  * - WebServer: Express HTTP server
7
11
  * - createApp: Express app factory
@@ -19,6 +23,8 @@ export interface NamespaceWebConfig {
19
23
  namespace: string;
20
24
  /** Port number derived from namespace */
21
25
  port: number;
26
+ /** Project root path */
27
+ projectRoot?: string;
22
28
  }
23
29
  /**
24
30
  * Create a WebServer instance with namespace separation
@@ -33,7 +39,7 @@ export interface NamespaceWebConfig {
33
39
  * @example
34
40
  * ```typescript
35
41
  * const namespaceConfig = buildNamespaceConfig({ namespace: 'dev', projectRoot: '/path' });
36
- * const store = createNamespacedQueueStore({ ... });
42
+ * const store = new QueueStore({ namespace: 'dev' });
37
43
  * const server = createNamespacedWebServer(
38
44
  * { namespace: namespaceConfig.namespace, port: namespaceConfig.port },
39
45
  * store,
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,SAAS,GACV,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,SAAS,EAAmB,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,kBAAkB,EACnC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,GACZ,SAAS,CAOX"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,SAAS,GACV,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,SAAS,EAAmB,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,kBAAkB,EACnC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,GACZ,SAAS,CASX"}
package/dist/web/index.js CHANGED
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  /**
3
- * Web Module
3
+ * Web Module (v2)
4
4
  * Per spec/19_WEB_UI.md
5
5
  *
6
+ * v2 Changes:
7
+ * - WebServer requires namespace parameter
8
+ * - Project root for display
9
+ *
6
10
  * Exports:
7
11
  * - WebServer: Express HTTP server
8
12
  * - createApp: Express app factory
@@ -28,7 +32,7 @@ const server_2 = require("./server");
28
32
  * @example
29
33
  * ```typescript
30
34
  * const namespaceConfig = buildNamespaceConfig({ namespace: 'dev', projectRoot: '/path' });
31
- * const store = createNamespacedQueueStore({ ... });
35
+ * const store = new QueueStore({ namespace: 'dev' });
32
36
  * const server = createNamespacedWebServer(
33
37
  * { namespace: namespaceConfig.namespace, port: namespaceConfig.port },
34
38
  * store,
@@ -42,6 +46,8 @@ function createNamespacedWebServer(namespaceConfig, queueStore, sessionId, host)
42
46
  host,
43
47
  queueStore,
44
48
  sessionId,
49
+ namespace: namespaceConfig.namespace,
50
+ projectRoot: namespaceConfig.projectRoot,
45
51
  });
46
52
  }
47
53
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA4CH,8DAYC;AAtDD,mCAKkB;AAJhB,mGAAA,SAAS,OAAA;AAGT,mGAAA,SAAS,OAAA;AAGX,qCAAsD;AActD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,yBAAyB,CACvC,eAAmC,EACnC,UAAsB,EACtB,SAAiB,EACjB,IAAa;IAEb,OAAO,IAAI,kBAAS,CAAC;QACnB,IAAI,EAAE,eAAe,CAAC,IAAI;QAC1B,IAAI;QACJ,UAAU;QACV,SAAS;KACV,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AA8CH,8DAcC;AA1DD,mCAKkB;AAJhB,mGAAA,SAAS,OAAA;AAGT,mGAAA,SAAS,OAAA;AAGX,qCAAsD;AAgBtD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,yBAAyB,CACvC,eAAmC,EACnC,UAAsB,EACtB,SAAiB,EACjB,IAAa;IAEb,OAAO,IAAI,kBAAS,CAAC;QACnB,IAAI,EAAE,eAAe,CAAC,IAAI;QAC1B,IAAI;QACJ,UAAU;QACV,SAAS;QACT,SAAS,EAAE,eAAe,CAAC,SAAS;QACpC,WAAW,EAAE,eAAe,CAAC,WAAW;KACzC,CAAC,CAAC;AACL,CAAC"}
@@ -48,6 +48,19 @@
48
48
  cursor: pointer;
49
49
  }
50
50
 
51
+ .namespace-badge {
52
+ background: rgba(255, 255, 255, 0.2);
53
+ color: rgba(255, 255, 255, 0.9);
54
+ font-size: 0.75rem;
55
+ padding: 4px 10px;
56
+ border-radius: 12px;
57
+ font-family: monospace;
58
+ }
59
+
60
+ .namespace-badge.auto-derived {
61
+ background: rgba(34, 197, 94, 0.3);
62
+ }
63
+
51
64
  nav {
52
65
  display: flex;
53
66
  gap: 16px;
@@ -186,6 +199,11 @@
186
199
  color: #991b1b;
187
200
  }
188
201
 
202
+ .badge-cancelled {
203
+ background: #e5e7eb;
204
+ color: #4b5563;
205
+ }
206
+
189
207
  .form-group {
190
208
  margin-bottom: 16px;
191
209
  }
@@ -454,6 +472,7 @@
454
472
  <header>
455
473
  <div class="header-content">
456
474
  <h1 onclick="navigate('/')">PM Orchestrator Runner</h1>
475
+ <span id="namespace-badge" class="namespace-badge" style="display: none;"></span>
457
476
  <nav id="main-nav">
458
477
  <a href="/" data-nav="home">Task Groups</a>
459
478
  <a href="/new" data-nav="new">+ New Command</a>
@@ -517,6 +536,7 @@
517
536
  'RUNNING': 'badge-running',
518
537
  'COMPLETE': 'badge-complete',
519
538
  'ERROR': 'badge-error',
539
+ 'CANCELLED': 'badge-cancelled',
520
540
  };
521
541
  return map[status] || 'badge-queued';
522
542
  }
@@ -730,6 +750,13 @@
730
750
  <div class="log-content">${escapeHtml(task.error_message || 'Unknown error')}</div>
731
751
  </div>
732
752
  ` : ''}
753
+ ${task.status === 'CANCELLED' ? `
754
+ <div class="log-entry" style="border-left-color: #6b7280;">
755
+ <div class="log-time">${formatFullDate(task.updated_at)}</div>
756
+ <div class="log-type">TASK CANCELLED</div>
757
+ <div class="log-content">Task was cancelled by user.</div>
758
+ </div>
759
+ ` : ''}
733
760
  </div>
734
761
  `;
735
762
  }
@@ -745,7 +772,12 @@
745
772
 
746
773
  <div class="card">
747
774
  <h3>Status</h3>
748
- <span class="badge ${getStatusBadgeClass(task.status)}" style="font-size: 1rem; padding: 8px 16px;">${task.status}</span>
775
+ <div style="display: flex; align-items: center; gap: 16px;">
776
+ <span class="badge ${getStatusBadgeClass(task.status)}" style="font-size: 1rem; padding: 8px 16px;">${task.status}</span>
777
+ ${(task.status === 'QUEUED' || task.status === 'RUNNING') ? `
778
+ <button class="btn btn-secondary" onclick="cancelTask('${escapeHtml(task.task_id)}')" style="padding: 8px 16px;">Cancel Task</button>
779
+ ` : ''}
780
+ </div>
749
781
  </div>
750
782
 
751
783
  <div class="card">
@@ -898,6 +930,33 @@
898
930
  });
899
931
  }
900
932
 
933
+ // Cancel task
934
+ async function cancelTask(taskId) {
935
+ if (!confirm('Are you sure you want to cancel this task?')) {
936
+ return;
937
+ }
938
+
939
+ try {
940
+ const result = await fetch(`/api/tasks/${encodeURIComponent(taskId)}/status`, {
941
+ method: 'PATCH',
942
+ headers: { 'Content-Type': 'application/json' },
943
+ body: JSON.stringify({ status: 'CANCELLED' }),
944
+ });
945
+
946
+ const data = await result.json();
947
+
948
+ if (!result.ok) {
949
+ alert(`Error: ${data.message || 'Failed to cancel task'}`);
950
+ return;
951
+ }
952
+
953
+ // Refresh the task detail page
954
+ renderTaskDetail(taskId);
955
+ } catch (error) {
956
+ alert(`Error: ${error.message}`);
957
+ }
958
+ }
959
+
901
960
  // Router
902
961
  function router() {
903
962
  const path = window.location.pathname;
@@ -944,7 +1003,28 @@
944
1003
  });
945
1004
  });
946
1005
 
1006
+ // Load namespace info
1007
+ async function loadNamespaceInfo() {
1008
+ try {
1009
+ const data = await api('/namespace');
1010
+ const badge = document.getElementById('namespace-badge');
1011
+ if (badge && data.namespace) {
1012
+ badge.textContent = data.namespace;
1013
+ badge.style.display = 'inline-block';
1014
+ if (data.auto_derived) {
1015
+ badge.classList.add('auto-derived');
1016
+ badge.title = 'Auto-derived from project folder';
1017
+ } else {
1018
+ badge.title = 'Explicitly configured namespace';
1019
+ }
1020
+ }
1021
+ } catch (e) {
1022
+ console.warn('Failed to load namespace info:', e);
1023
+ }
1024
+ }
1025
+
947
1026
  // Initial load
1027
+ loadNamespaceInfo();
948
1028
  router();
949
1029
  </script>
950
1030
  </body>
@@ -1,7 +1,12 @@
1
1
  /**
2
- * Web Server - Express HTTP server
2
+ * Web Server - Express HTTP server (v2)
3
3
  * Per spec/19_WEB_UI.md
4
4
  *
5
+ * v2 Changes:
6
+ * - Namespace selector support
7
+ * - Runner status API
8
+ * - All namespaces listing API
9
+ *
5
10
  * Provides:
6
11
  * - REST API for queue operations (read/write to QueueStore)
7
12
  * - Static file serving for frontend
@@ -16,7 +21,7 @@ import { QueueStore } from '../queue';
16
21
  * Web Server configuration
17
22
  */
18
23
  export interface WebServerConfig {
19
- /** Port number (default: 3000) */
24
+ /** Port number (default: 5678) */
20
25
  port?: number;
21
26
  /** Host (default: localhost) */
22
27
  host?: string;
@@ -24,6 +29,10 @@ export interface WebServerConfig {
24
29
  queueStore: QueueStore;
25
30
  /** Session ID for new tasks */
26
31
  sessionId: string;
32
+ /** Current namespace (from queueStore) */
33
+ namespace: string;
34
+ /** Project root for display */
35
+ projectRoot?: string;
27
36
  }
28
37
  /**
29
38
  * Web Server state
@@ -32,6 +41,7 @@ export interface WebServerState {
32
41
  isRunning: boolean;
33
42
  port: number;
34
43
  host: string;
44
+ namespace: string;
35
45
  }
36
46
  /**
37
47
  * Create configured Express app
@@ -45,6 +55,7 @@ export declare class WebServer {
45
55
  private readonly app;
46
56
  private readonly port;
47
57
  private readonly host;
58
+ private readonly namespace;
48
59
  private server;
49
60
  constructor(config: WebServerConfig);
50
61
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAgB,EAAE,OAAO,EAAmC,MAAM,SAAS,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAUD;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CA8P1D;AAED;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,MAAM,CAA8C;gBAEhD,MAAM,EAAE,eAAe;IAMnC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB3B;;OAEG;IACH,QAAQ,IAAI,cAAc;IAQ1B;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;OAEG;IACH,MAAM,IAAI,MAAM;CAGjB"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAgB,EAAE,OAAO,EAAmC,MAAM,SAAS,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAmB,MAAM,UAAU,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAUD;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CA2X1D;AAED;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,MAAM,CAA8C;gBAEhD,MAAM,EAAE,eAAe;IAOnC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB3B;;OAEG;IACH,QAAQ,IAAI,cAAc;IAS1B;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;OAEG;IACH,MAAM,IAAI,MAAM;CAGjB"}
@@ -1,8 +1,13 @@
1
1
  "use strict";
2
2
  /**
3
- * Web Server - Express HTTP server
3
+ * Web Server - Express HTTP server (v2)
4
4
  * Per spec/19_WEB_UI.md
5
5
  *
6
+ * v2 Changes:
7
+ * - Namespace selector support
8
+ * - Runner status API
9
+ * - All namespaces listing API
10
+ *
6
11
  * Provides:
7
12
  * - REST API for queue operations (read/write to QueueStore)
8
13
  * - Static file serving for frontend
@@ -24,7 +29,7 @@ const path_1 = __importDefault(require("path"));
24
29
  */
25
30
  function createApp(config) {
26
31
  const app = (0, express_1.default)();
27
- const { queueStore, sessionId } = config;
32
+ const { queueStore, sessionId, namespace, projectRoot } = config;
28
33
  // Middleware
29
34
  app.use(express_1.default.json());
30
35
  app.use(express_1.default.urlencoded({ extended: true }));
@@ -33,22 +38,69 @@ function createApp(config) {
33
38
  // CORS headers for local development
34
39
  app.use((_req, res, next) => {
35
40
  res.header('Access-Control-Allow-Origin', '*');
36
- res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
41
+ res.header('Access-Control-Allow-Methods', 'GET, POST, PATCH, OPTIONS');
37
42
  res.header('Access-Control-Allow-Headers', 'Content-Type');
38
43
  next();
39
44
  });
40
45
  // ===================
41
- // REST API Routes
42
- // Per spec/19_WEB_UI.md
46
+ // REST API Routes (v2)
43
47
  // ===================
48
+ /**
49
+ * GET /api/namespaces
50
+ * List all namespaces with summary
51
+ */
52
+ app.get('/api/namespaces', async (_req, res) => {
53
+ try {
54
+ const namespaces = await queueStore.getAllNamespaces();
55
+ res.json({
56
+ namespaces,
57
+ current_namespace: namespace,
58
+ });
59
+ }
60
+ catch (error) {
61
+ const message = error instanceof Error ? error.message : 'Unknown error';
62
+ res.status(500).json({ error: 'INTERNAL_ERROR', message });
63
+ }
64
+ });
65
+ /**
66
+ * GET /api/runners
67
+ * List all runners with status for specified namespace (or current)
68
+ * Query: ?namespace=xxx (optional)
69
+ */
70
+ app.get('/api/runners', async (req, res) => {
71
+ try {
72
+ const targetNamespace = req.query.namespace || namespace;
73
+ const runners = await queueStore.getRunnersWithStatus(2 * 60 * 1000, targetNamespace);
74
+ res.json({
75
+ namespace: targetNamespace,
76
+ runners: runners.map(r => ({
77
+ runner_id: r.runner_id,
78
+ status: r.status,
79
+ is_alive: r.isAlive,
80
+ last_heartbeat: r.last_heartbeat,
81
+ started_at: r.started_at,
82
+ project_root: r.project_root,
83
+ })),
84
+ });
85
+ }
86
+ catch (error) {
87
+ const message = error instanceof Error ? error.message : 'Unknown error';
88
+ res.status(500).json({ error: 'INTERNAL_ERROR', message });
89
+ }
90
+ });
44
91
  /**
45
92
  * GET /api/task-groups
46
- * List all task groups with summary
93
+ * List all task groups with summary for specified namespace (or current)
94
+ * Query: ?namespace=xxx (optional)
47
95
  */
48
- app.get('/api/task-groups', async (_req, res) => {
96
+ app.get('/api/task-groups', async (req, res) => {
49
97
  try {
50
- const groups = await queueStore.getAllTaskGroups();
51
- res.json({ task_groups: groups });
98
+ const targetNamespace = req.query.namespace || namespace;
99
+ const groups = await queueStore.getAllTaskGroups(targetNamespace);
100
+ res.json({
101
+ namespace: targetNamespace,
102
+ task_groups: groups,
103
+ });
52
104
  }
53
105
  catch (error) {
54
106
  const message = error instanceof Error ? error.message : 'Unknown error';
@@ -63,7 +115,6 @@ function createApp(config) {
63
115
  app.post('/api/task-groups', async (req, res) => {
64
116
  try {
65
117
  const { task_group_id, prompt } = req.body;
66
- // Fail-closed: validate input
67
118
  if (!task_group_id || typeof task_group_id !== 'string' || task_group_id.trim() === '') {
68
119
  res.status(400).json({
69
120
  error: 'INVALID_INPUT',
@@ -78,11 +129,11 @@ function createApp(config) {
78
129
  });
79
130
  return;
80
131
  }
81
- // Enqueue the first task in this group
82
132
  const item = await queueStore.enqueue(sessionId, task_group_id.trim(), prompt.trim());
83
133
  res.status(201).json({
84
134
  task_id: item.task_id,
85
135
  task_group_id: item.task_group_id,
136
+ namespace: item.namespace,
86
137
  status: item.status,
87
138
  created_at: item.created_at,
88
139
  });
@@ -95,12 +146,15 @@ function createApp(config) {
95
146
  /**
96
147
  * GET /api/task-groups/:task_group_id/tasks
97
148
  * List tasks in a task group
149
+ * Query: ?namespace=xxx (optional)
98
150
  */
99
151
  app.get('/api/task-groups/:task_group_id/tasks', async (req, res) => {
100
152
  try {
101
153
  const task_group_id = req.params.task_group_id;
102
- const tasks = await queueStore.getByTaskGroup(task_group_id);
154
+ const targetNamespace = req.query.namespace || namespace;
155
+ const tasks = await queueStore.getByTaskGroup(task_group_id, targetNamespace);
103
156
  res.json({
157
+ namespace: targetNamespace,
104
158
  task_group_id,
105
159
  tasks: tasks.map(t => ({
106
160
  task_id: t.task_id,
@@ -120,28 +174,30 @@ function createApp(config) {
120
174
  /**
121
175
  * GET /api/tasks/:task_id
122
176
  * Get task detail
177
+ * Query: ?namespace=xxx (optional)
123
178
  */
124
179
  app.get('/api/tasks/:task_id', async (req, res) => {
125
180
  try {
126
181
  const task_id = req.params.task_id;
127
- const task = await queueStore.getItem(task_id);
182
+ const targetNamespace = req.query.namespace || namespace;
183
+ const task = await queueStore.getItem(task_id, targetNamespace);
128
184
  if (!task) {
129
185
  res.status(404).json({
130
186
  error: 'NOT_FOUND',
131
- message: `Task not found: ${task_id}`,
187
+ message: 'Task not found: ' + task_id,
132
188
  });
133
189
  return;
134
190
  }
135
191
  res.json({
136
192
  task_id: task.task_id,
137
193
  task_group_id: task.task_group_id,
194
+ namespace: task.namespace,
138
195
  session_id: task.session_id,
139
196
  status: task.status,
140
197
  prompt: task.prompt,
141
198
  created_at: task.created_at,
142
199
  updated_at: task.updated_at,
143
200
  error_message: task.error_message,
144
- // TODO: Add logs and changed_files when available
145
201
  });
146
202
  }
147
203
  catch (error) {
@@ -153,13 +209,10 @@ function createApp(config) {
153
209
  * POST /api/tasks
154
210
  * Enqueue a new task (does NOT run it directly)
155
211
  * Body: { task_group_id: string, prompt: string }
156
- *
157
- * IMPORTANT: This only inserts into queue. Runner polls separately.
158
212
  */
159
213
  app.post('/api/tasks', async (req, res) => {
160
214
  try {
161
215
  const { task_group_id, prompt } = req.body;
162
- // Fail-closed: validate input
163
216
  if (!task_group_id || typeof task_group_id !== 'string' || task_group_id.trim() === '') {
164
217
  res.status(400).json({
165
218
  error: 'INVALID_INPUT',
@@ -174,12 +227,12 @@ function createApp(config) {
174
227
  });
175
228
  return;
176
229
  }
177
- // Enqueue only - does NOT run directly
178
230
  const item = await queueStore.enqueue(sessionId, task_group_id.trim(), prompt.trim());
179
231
  res.status(201).json({
180
232
  task_id: item.task_id,
181
233
  task_group_id: item.task_group_id,
182
- status: item.status, // Always QUEUED
234
+ namespace: item.namespace,
235
+ status: item.status,
183
236
  created_at: item.created_at,
184
237
  });
185
238
  }
@@ -188,6 +241,59 @@ function createApp(config) {
188
241
  res.status(500).json({ error: 'INTERNAL_ERROR', message });
189
242
  }
190
243
  });
244
+ /**
245
+ * PATCH /api/tasks/:task_id/status
246
+ * Update task status
247
+ * Body: { status: 'CANCELLED' | other valid status }
248
+ */
249
+ app.patch('/api/tasks/:task_id/status', async (req, res) => {
250
+ try {
251
+ const task_id = req.params.task_id;
252
+ const { status } = req.body;
253
+ if (!status || typeof status !== 'string') {
254
+ res.status(400).json({
255
+ error: 'INVALID_INPUT',
256
+ message: 'status is required and must be a string',
257
+ });
258
+ return;
259
+ }
260
+ const validStatuses = ['QUEUED', 'RUNNING', 'COMPLETE', 'ERROR', 'CANCELLED'];
261
+ if (!validStatuses.includes(status)) {
262
+ res.status(400).json({
263
+ error: 'INVALID_STATUS',
264
+ message: 'Invalid status: ' + status + '. Must be one of: ' + validStatuses.join(', '),
265
+ });
266
+ return;
267
+ }
268
+ const result = await queueStore.updateStatusWithValidation(task_id, status);
269
+ if (!result.success) {
270
+ if (result.error === 'Task not found') {
271
+ res.status(404).json({
272
+ error: 'NOT_FOUND',
273
+ task_id: task_id,
274
+ message: result.message,
275
+ });
276
+ }
277
+ else {
278
+ res.status(400).json({
279
+ error: result.error,
280
+ message: result.message,
281
+ });
282
+ }
283
+ return;
284
+ }
285
+ res.json({
286
+ success: true,
287
+ task_id: result.task_id,
288
+ old_status: result.old_status,
289
+ new_status: result.new_status,
290
+ });
291
+ }
292
+ catch (error) {
293
+ const message = error instanceof Error ? error.message : 'Unknown error';
294
+ res.status(500).json({ error: 'INTERNAL_ERROR', message });
295
+ }
296
+ });
191
297
  // ===================
192
298
  // Frontend Routes
193
299
  // ===================
@@ -224,28 +330,47 @@ function createApp(config) {
224
330
  // ===================
225
331
  /**
226
332
  * GET /api/health
227
- * Health check endpoint
333
+ * Health check endpoint with namespace info
228
334
  */
229
335
  app.get('/api/health', (_req, res) => {
230
- res.json({ status: 'ok', timestamp: new Date().toISOString() });
336
+ res.json({
337
+ status: 'ok',
338
+ timestamp: new Date().toISOString(),
339
+ namespace,
340
+ table_name: queueStore.getTableName(),
341
+ project_root: projectRoot,
342
+ });
343
+ });
344
+ /**
345
+ * GET /api/namespace
346
+ * Get current namespace configuration
347
+ */
348
+ app.get('/api/namespace', (_req, res) => {
349
+ res.json({
350
+ namespace,
351
+ table_name: queueStore.getTableName(),
352
+ project_root: projectRoot,
353
+ });
231
354
  });
232
355
  // ===================
233
- // Route List (for testing - verify no direct Runner command API)
356
+ // Route List
234
357
  // ===================
235
358
  /**
236
359
  * GET /api/routes
237
360
  * List all registered routes (for testing)
238
361
  */
239
362
  app.get('/api/routes', (_req, res) => {
240
- // Return a predefined list of routes for safety and testability
241
- // This also serves as documentation of available endpoints
242
363
  const routes = [
364
+ 'GET /api/namespaces',
365
+ 'GET /api/runners',
243
366
  'GET /api/task-groups',
244
367
  'POST /api/task-groups',
245
368
  'GET /api/task-groups/:task_group_id/tasks',
246
369
  'GET /api/tasks/:task_id',
247
370
  'POST /api/tasks',
371
+ 'PATCH /api/tasks/:task_id/status',
248
372
  'GET /api/health',
373
+ 'GET /api/namespace',
249
374
  'GET /api/routes',
250
375
  ];
251
376
  res.json({ routes });
@@ -260,10 +385,12 @@ class WebServer {
260
385
  app;
261
386
  port;
262
387
  host;
388
+ namespace;
263
389
  server = null;
264
390
  constructor(config) {
265
- this.port = config.port || 3000;
391
+ this.port = config.port || 5678;
266
392
  this.host = config.host || 'localhost';
393
+ this.namespace = config.namespace;
267
394
  this.app = createApp(config);
268
395
  }
269
396
  /**
@@ -310,6 +437,7 @@ class WebServer {
310
437
  isRunning: this.server !== null,
311
438
  port: this.port,
312
439
  host: this.host,
440
+ namespace: this.namespace,
313
441
  };
314
442
  }
315
443
  /**
@@ -322,7 +450,7 @@ class WebServer {
322
450
  * Get server URL
323
451
  */
324
452
  getUrl() {
325
- return `http://${this.host}:${this.port}`;
453
+ return 'http://' + this.host + ':' + this.port;
326
454
  }
327
455
  }
328
456
  exports.WebServer = WebServer;