@pixelbyte-software/pixcode 1.36.4 → 1.37.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 (45) hide show
  1. package/dist/assets/index-CfHK8y_H.css +32 -0
  2. package/dist/assets/{index-D-YjltED.js → index-D8uNxHf1.js} +163 -157
  3. package/dist/index.html +2 -2
  4. package/dist-server/server/database/db.js +4 -2
  5. package/dist-server/server/database/db.js.map +1 -1
  6. package/dist-server/server/index.js +3 -0
  7. package/dist-server/server/index.js.map +1 -1
  8. package/dist-server/server/modules/orchestration/tasks/orchestration-task.routes.js +10 -1
  9. package/dist-server/server/modules/orchestration/tasks/orchestration-task.routes.js.map +1 -1
  10. package/dist-server/server/modules/orchestration/tasks/orchestration-task.service.js +7 -0
  11. package/dist-server/server/modules/orchestration/tasks/orchestration-task.service.js.map +1 -1
  12. package/dist-server/server/modules/orchestration/workflows/workflow-runner.js +127 -24
  13. package/dist-server/server/modules/orchestration/workflows/workflow-runner.js.map +1 -1
  14. package/dist-server/server/routes/taskmaster.js +194 -0
  15. package/dist-server/server/routes/taskmaster.js.map +1 -1
  16. package/dist-server/server/services/install-jobs.js +1 -0
  17. package/dist-server/server/services/install-jobs.js.map +1 -1
  18. package/dist-server/server/services/notification-orchestrator.js +66 -9
  19. package/dist-server/server/services/notification-orchestrator.js.map +1 -1
  20. package/dist-server/server/services/telegram/control-center.js +144 -2
  21. package/dist-server/server/services/telegram/control-center.js.map +1 -1
  22. package/dist-server/server/services/telegram/translations.js +14 -2
  23. package/dist-server/server/services/telegram/translations.js.map +1 -1
  24. package/package.json +1 -1
  25. package/scripts/smoke/chat-realtime-hydration.mjs +44 -0
  26. package/scripts/smoke/multi-worker-slots.mjs +42 -0
  27. package/scripts/smoke/notification-center.mjs +63 -0
  28. package/scripts/smoke/orchestration-execution-dashboard.mjs +33 -0
  29. package/scripts/smoke/strict-handoff-compact.mjs +60 -0
  30. package/scripts/smoke/taskmaster-execution-telegram.mjs +52 -0
  31. package/scripts/smoke/taskmaster-onboarding.mjs +52 -0
  32. package/scripts/smoke/update-issue-progress.mjs +69 -0
  33. package/server/database/db.js +4 -2
  34. package/server/index.js +3 -0
  35. package/server/modules/orchestration/tasks/orchestration-task.routes.ts +10 -1
  36. package/server/modules/orchestration/tasks/orchestration-task.service.ts +7 -0
  37. package/server/modules/orchestration/tasks/orchestration-task.types.ts +3 -0
  38. package/server/modules/orchestration/workflows/workflow-runner.ts +132 -24
  39. package/server/modules/orchestration/workflows/workflow.types.ts +2 -0
  40. package/server/routes/taskmaster.js +201 -0
  41. package/server/services/install-jobs.js +1 -0
  42. package/server/services/notification-orchestrator.js +76 -8
  43. package/server/services/telegram/control-center.js +153 -2
  44. package/server/services/telegram/translations.js +14 -2
  45. package/dist/assets/index-CgF0-_6Z.css +0 -32
@@ -224,6 +224,53 @@ function handoffPrompt(agent, role) {
224
224
  'Stop after the contract. Keep it concise and respond in the same language as the user request.',
225
225
  ].filter(Boolean).join('\n');
226
226
  }
227
+ function handoffInitPrompt(agent, index) {
228
+ return [
229
+ `You are preparing ${agent.label} for a strict Pixcode handoff chain.`,
230
+ `This is internal step ${index + 1}.`,
231
+ 'Create a compact init packet for the next visible work step.',
232
+ 'Use the original user goal and any prior compact handoff packet included above.',
233
+ agent.instruction ? `The explicit assignment for this agent is: ${agent.instruction}` : '',
234
+ 'Output only this internal init packet:',
235
+ '- user goal in one sentence',
236
+ '- prior agent handoff summary, if present',
237
+ '- this agent responsibility',
238
+ '- exact constraints and blockers this agent must respect',
239
+ privacyGuardPrompt(),
240
+ 'Do not perform the task yet. Do not mention that this is hidden from the user.',
241
+ 'Respond in the same language as the user request.',
242
+ ].filter(Boolean).join('\n');
243
+ }
244
+ function handoffWorkPrompt(agent, index) {
245
+ return [
246
+ `You are ${agent.label} in a strict Pixcode handoff chain.`,
247
+ `This is visible work step ${index + 1}.`,
248
+ 'The internal init packet above is your starting context. Do the assigned work now.',
249
+ agent.instruction
250
+ ? `Your explicit assignment from the user is: ${agent.instruction}`
251
+ : 'Use the init packet and original user goal to choose the next useful work for this step.',
252
+ rolePrompt(agent.role ?? 'implementation'),
253
+ privacyGuardPrompt(),
254
+ 'Report only user-facing progress, changed files, commands, verification, blockers, and next actions.',
255
+ 'Respond in the same language as the user request.',
256
+ ].filter(Boolean).join('\n');
257
+ }
258
+ function handoffCompactPrompt(agent, index) {
259
+ return [
260
+ `You are compacting ${agent.label}'s strict handoff output for the next Pixcode agent.`,
261
+ `This is internal compact step ${index + 1}.`,
262
+ 'Read the prior visible work output included above and create a compact handoff packet.',
263
+ 'Output only this internal compact packet:',
264
+ '- Ben ne yaptım / What I did',
265
+ '- Dokunduğum alanlar / Touched areas',
266
+ '- Kanıt, komut veya çıktı / Evidence, commands, outputs',
267
+ '- Sonraki ajan şunu bilsin / What the next agent must know',
268
+ '- Bloker veya risk / Blockers or risks',
269
+ privacyGuardPrompt(),
270
+ 'Do not include raw logs unless they are essential. Keep it concise and actionable.',
271
+ 'Respond in the same language as the user request.',
272
+ ].join('\n');
273
+ }
227
274
  function compactOutputForContext(text) {
228
275
  if (text.length <= MAX_OUTPUT_CONTEXT_CHARS) {
229
276
  return text;
@@ -491,32 +538,87 @@ function expandSequentialHandoffWorkflow(workflow, metadata) {
491
538
  if (agents.length === 0) {
492
539
  throw new Error('Select at least one CLI agent.');
493
540
  }
541
+ const nodes = agents.flatMap((agent, index) => {
542
+ const initNodeId = safeAgentNodeId(agent, index, 'init');
543
+ const workNodeId = safeAgentNodeId(agent, index, 'work');
544
+ const compactNodeId = safeAgentNodeId(agent, index, 'compact');
545
+ return [
546
+ {
547
+ id: initNodeId,
548
+ adapterId: agent.adapterId,
549
+ agentInstanceId: agent.instanceId,
550
+ agentLabel: `${agent.label} Init`,
551
+ assignment: agent.instruction,
552
+ stage: 'handoff_init',
553
+ model: agent.model,
554
+ permissionMode: agent.permissionMode,
555
+ toolsSettings: agent.toolsSettings,
556
+ prompt: handoffInitPrompt(agent, index),
557
+ inputs: index === 0 ? [] : [safeAgentNodeId(agents[index - 1], index - 1, 'compact')],
558
+ output: 'message',
559
+ onFail: 'abort',
560
+ internal: true,
561
+ },
562
+ {
563
+ id: workNodeId,
564
+ adapterId: agent.adapterId,
565
+ agentInstanceId: agent.instanceId,
566
+ agentLabel: agent.label,
567
+ assignment: agent.instruction,
568
+ stage: agent.role ?? 'implementation',
569
+ model: agent.model,
570
+ permissionMode: agent.permissionMode,
571
+ toolsSettings: agent.toolsSettings,
572
+ prompt: handoffWorkPrompt(agent, index),
573
+ inputs: [initNodeId],
574
+ output: 'both',
575
+ onFail: 'abort',
576
+ },
577
+ {
578
+ id: compactNodeId,
579
+ adapterId: agent.adapterId,
580
+ agentInstanceId: agent.instanceId,
581
+ agentLabel: `${agent.label} Compact`,
582
+ assignment: agent.instruction,
583
+ stage: 'handoff_compact',
584
+ model: agent.model,
585
+ permissionMode: agent.permissionMode,
586
+ toolsSettings: agent.toolsSettings,
587
+ prompt: handoffCompactPrompt(agent, index),
588
+ inputs: [workNodeId],
589
+ output: 'message',
590
+ onFail: 'abort',
591
+ internal: true,
592
+ },
593
+ ];
594
+ });
595
+ const reportAgent = agents[0];
596
+ const lastCompactNodeId = safeAgentNodeId(agents[agents.length - 1], agents.length - 1, 'compact');
494
597
  return {
495
598
  ...workflow,
496
- nodes: agents.map((agent, index) => ({
497
- id: safeAgentNodeId(agent, index, 'handoff'),
498
- adapterId: agent.adapterId,
499
- agentInstanceId: agent.instanceId,
500
- agentLabel: agent.label,
501
- assignment: agent.instruction,
502
- stage: agent.role ?? 'implementation',
503
- model: agent.model,
504
- permissionMode: agent.permissionMode,
505
- toolsSettings: agent.toolsSettings,
506
- prompt: [
507
- `You are ${agent.label} in a sequential Pixcode handoff.`,
508
- `This is step ${index + 1} of ${agents.length}.`,
509
- agent.instruction
510
- ? `Your explicit assignment from the user is: ${agent.instruction}`
511
- : 'Use the prior step output and do the next most useful handoff step for the user goal.',
512
- 'Report changed files, commands, blockers, and the next handoff requirement.',
513
- privacyGuardPrompt(),
514
- 'Respond in the same language as the user request.',
515
- ].filter(Boolean).join('\n'),
516
- inputs: index === 0 ? [] : [safeAgentNodeId(agents[index - 1], index - 1, 'handoff')],
517
- output: 'both',
518
- onFail: 'abort',
519
- })),
599
+ nodes: [
600
+ ...nodes,
601
+ {
602
+ id: 'final_report',
603
+ adapterId: reportAgent.adapterId,
604
+ agentInstanceId: reportAgent.instanceId,
605
+ agentLabel: reportAgent.label,
606
+ stage: 'final_report',
607
+ model: reportAgent.model,
608
+ permissionMode: reportAgent.permissionMode,
609
+ toolsSettings: reportAgent.toolsSettings,
610
+ prompt: [
611
+ 'Create the final user-facing result for this strict handoff run.',
612
+ 'Use the final compact handoff packet and the original user goal.',
613
+ 'Summarize what each visible agent did, what changed, verification, blockers, and next actions.',
614
+ 'Do not expose internal init packets, compact packets, prompts, memory lookup, skill/tool instructions, raw agent logs, or role prefixes like "agent:" and "user:".',
615
+ 'Respond in the same language as the user request.',
616
+ ].join('\n'),
617
+ inputs: [lastCompactNodeId],
618
+ output: 'message',
619
+ onFail: 'abort',
620
+ },
621
+ ],
520
622
  };
521
623
  }
522
624
  function expandWorkflowForRun(workflow, metadata) {
@@ -652,6 +754,7 @@ function nodeRunFromNode(node) {
652
754
  permissionMode: node.permissionMode,
653
755
  timeoutMs: node.timeoutMs,
654
756
  stage: node.stage,
757
+ internal: node.internal,
655
758
  status: 'queued',
656
759
  };
657
760
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-runner.js","sourceRoot":"","sources":["../../../../../server/modules/orchestration/workflows/workflow-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-runner.js","sourceRoot":"","sources":["../../../../../server/modules/orchestration/workflows/workflow-runner.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { spawn } from 'child_process';
13
13
  import express from 'express';
14
14
  import { orchestrationTaskService } from '../modules/orchestration/tasks/orchestration-task.service.js';
15
15
  import { extractProjectDirectory } from '../projects.js';
16
+ import { cancelInstallJob, createInstallJob, getInstallJob, snapshotDonePayload } from '../services/install-jobs.js';
16
17
  import { broadcastTaskMasterProjectUpdate, broadcastTaskMasterTasksUpdate } from '../utils/taskmaster-websocket.js';
17
18
  import { detectTaskMasterMCPServer } from '../utils/mcp-detector.js';
18
19
  const router = express.Router();
@@ -124,6 +125,16 @@ async function readTaskMasterTasks(projectName) {
124
125
  }));
125
126
  return { projectPath, transformedTasks, currentTag };
126
127
  }
128
+ function taskMasterExecutionDescription(task) {
129
+ return [
130
+ task.description ? `Description:\n${task.description}` : '',
131
+ task.details ? `Details:\n${task.details}` : '',
132
+ task.testStrategy ? `Test strategy:\n${task.testStrategy}` : '',
133
+ Array.isArray(task.dependencies) && task.dependencies.length
134
+ ? `Dependencies: ${task.dependencies.join(', ')}`
135
+ : '',
136
+ ].filter(Boolean).join('\n\n');
137
+ }
127
138
  // API Routes
128
139
  /**
129
140
  * GET /api/taskmaster/installation-status
@@ -158,6 +169,125 @@ router.get('/installation-status', async (req, res) => {
158
169
  });
159
170
  }
160
171
  });
172
+ /**
173
+ * POST /api/taskmaster/install
174
+ * Install TaskMaster CLI into Pixcode's sandboxed CLI bin.
175
+ */
176
+ router.post('/install', async (req, res) => {
177
+ try {
178
+ const job = createInstallJob({
179
+ provider: 'taskmaster',
180
+ installCmd: 'npm install -g task-master',
181
+ packageName: 'task-master'
182
+ });
183
+ res.json({
184
+ success: true,
185
+ jobId: job.id,
186
+ provider: 'taskmaster',
187
+ packageName: 'task-master',
188
+ startedAt: job.startedAt
189
+ });
190
+ }
191
+ catch (error) {
192
+ console.error('TaskMaster install start error:', error);
193
+ res.status(500).json({
194
+ success: false,
195
+ error: 'Failed to start TaskMaster install',
196
+ message: error.message
197
+ });
198
+ }
199
+ });
200
+ /**
201
+ * GET /api/taskmaster/install/:jobId/stream
202
+ * Replay and stream TaskMaster install output.
203
+ */
204
+ router.get('/install/:jobId/stream', async (req, res) => {
205
+ const job = getInstallJob(req.params.jobId);
206
+ if (!job || job.provider !== 'taskmaster') {
207
+ return res.status(404).json({
208
+ success: false,
209
+ error: 'Install job not found or already expired'
210
+ });
211
+ }
212
+ res.setHeader('Content-Type', 'text/event-stream');
213
+ res.setHeader('Cache-Control', 'no-cache, no-transform');
214
+ res.setHeader('Connection', 'keep-alive');
215
+ res.setHeader('X-Accel-Buffering', 'no');
216
+ if (typeof res.flushHeaders === 'function')
217
+ res.flushHeaders();
218
+ let closed = false;
219
+ const write = (event, payload) => {
220
+ if (closed)
221
+ return;
222
+ try {
223
+ res.write(`event: ${event}\n`);
224
+ res.write(`data: ${JSON.stringify(payload)}\n\n`);
225
+ }
226
+ catch {
227
+ // Socket is gone.
228
+ }
229
+ };
230
+ try {
231
+ res.write(': start\n\n');
232
+ }
233
+ catch { /* noop */ }
234
+ const heartbeat = setInterval(() => {
235
+ if (!closed) {
236
+ try {
237
+ res.write(': ping\n\n');
238
+ }
239
+ catch { /* noop */ }
240
+ }
241
+ }, 5000);
242
+ for (const entry of job.logs) {
243
+ write('log', { stream: entry.stream, chunk: entry.chunk });
244
+ }
245
+ const cleanup = () => {
246
+ if (closed)
247
+ return;
248
+ closed = true;
249
+ clearInterval(heartbeat);
250
+ job.emitter.off('log', onLog);
251
+ job.emitter.off('done', onDone);
252
+ };
253
+ const onLog = (entry) => {
254
+ write('log', { stream: entry.stream, chunk: entry.chunk });
255
+ };
256
+ const onDone = (payload) => {
257
+ write('done', payload);
258
+ cleanup();
259
+ try {
260
+ res.end();
261
+ }
262
+ catch { /* noop */ }
263
+ };
264
+ if (job.status !== 'running') {
265
+ write('done', snapshotDonePayload(job));
266
+ cleanup();
267
+ try {
268
+ res.end();
269
+ }
270
+ catch { /* noop */ }
271
+ return;
272
+ }
273
+ job.emitter.on('log', onLog);
274
+ job.emitter.once('done', onDone);
275
+ req.on('close', cleanup);
276
+ });
277
+ /**
278
+ * DELETE /api/taskmaster/install/:jobId
279
+ * Cancel a running TaskMaster install job.
280
+ */
281
+ router.delete('/install/:jobId', async (req, res) => {
282
+ const job = getInstallJob(req.params.jobId);
283
+ if (!job || job.provider !== 'taskmaster') {
284
+ return res.status(404).json({
285
+ success: false,
286
+ error: 'Install job not found'
287
+ });
288
+ }
289
+ res.json({ success: true, cancelled: cancelInstallJob(req.params.jobId) });
290
+ });
161
291
  /**
162
292
  * GET /api/taskmaster/tasks/:projectName
163
293
  * Load actual tasks from .taskmaster/tasks/tasks.json
@@ -204,6 +334,70 @@ router.get('/tasks/:projectName', async (req, res) => {
204
334
  });
205
335
  }
206
336
  });
337
+ /**
338
+ * POST /api/taskmaster/execute/:projectName/:taskId
339
+ * Import a TaskMaster task into orchestration and dispatch it to a CLI agent.
340
+ */
341
+ router.post('/execute/:projectName/:taskId', async (req, res) => {
342
+ try {
343
+ const { projectName, taskId } = req.params;
344
+ const adapterId = typeof req.body?.adapterId === 'string'
345
+ ? req.body.adapterId
346
+ : typeof req.body?.provider === 'string'
347
+ ? req.body.provider
348
+ : '';
349
+ const model = typeof req.body?.model === 'string' ? req.body.model : undefined;
350
+ const permissionMode = typeof req.body?.permissionMode === 'string' ? req.body.permissionMode : undefined;
351
+ const isolation = ['host', 'worktree', 'docker'].includes(req.body?.isolation)
352
+ ? req.body.isolation
353
+ : 'worktree';
354
+ const projectId = typeof req.body?.projectId === 'string' ? req.body.projectId : projectName;
355
+ if (!adapterId) {
356
+ return res.status(400).json({
357
+ success: false,
358
+ error: 'Missing adapterId',
359
+ message: 'adapterId or provider is required'
360
+ });
361
+ }
362
+ const { projectPath, transformedTasks } = await readTaskMasterTasks(projectName);
363
+ const task = transformedTasks.find((candidate) => String(candidate.id) === String(taskId));
364
+ if (!task) {
365
+ return res.status(404).json({
366
+ success: false,
367
+ error: 'TaskMaster task not found',
368
+ message: `Task "${taskId}" was not found in project "${projectName}"`
369
+ });
370
+ }
371
+ const orchestrationTask = orchestrationTaskService.upsertFromTaskMaster({
372
+ projectId,
373
+ taskmasterId: String(task.id),
374
+ title: `TaskMaster #${task.id}: ${task.title}`,
375
+ description: taskMasterExecutionDescription(task)
376
+ });
377
+ const dispatchedTask = await orchestrationTaskService.dispatch(orchestrationTask.id, {
378
+ adapterId,
379
+ isolation,
380
+ projectPath,
381
+ model,
382
+ permissionMode
383
+ });
384
+ res.json({
385
+ success: true,
386
+ projectName,
387
+ projectPath,
388
+ taskmasterTask: task,
389
+ task: dispatchedTask
390
+ });
391
+ }
392
+ catch (error) {
393
+ console.error('TaskMaster execute error:', error);
394
+ res.status(500).json({
395
+ success: false,
396
+ error: 'Failed to execute TaskMaster task',
397
+ message: error.message
398
+ });
399
+ }
400
+ });
207
401
  /**
208
402
  * POST /api/taskmaster/sync-orchestration/:projectName
209
403
  * One-way sync: TaskMaster -> Orchestration tasks