vibe-coding-master 0.4.39 → 0.4.40

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.
@@ -14,8 +14,8 @@ export function registerTranslationRoutes(app, deps) {
14
14
  });
15
15
  });
16
16
  app.get("/api/translation/sessions/:sessionId/events", async (request) => {
17
- await requireCurrentProject(deps.projectService);
18
- return deps.translationService.pollSessionEvents(request.params.sessionId, Number(request.query.after ?? "1"), request.query.limit === undefined ? undefined : Number(request.query.limit));
17
+ const project = await requireCurrentProject(deps.projectService);
18
+ return deps.translationService.pollSessionEvents(request.params.sessionId, Number(request.query.after ?? "1"), request.query.limit === undefined ? undefined : Number(request.query.limit), { repoRoot: project.repoRoot });
19
19
  });
20
20
  app.post("/api/tasks/:taskSlug/sessions/:role/translation/input", async (request) => {
21
21
  const project = await requireCurrentProject(deps.projectService);
@@ -551,6 +551,24 @@ export function createTranslationService(deps) {
551
551
  await state.persistChain?.catch(() => undefined);
552
552
  sessionStates.delete(sessionId);
553
553
  }
554
+ async function ensureSessionForPoll(sessionId, context) {
555
+ const roleSession = deps.sessionRegistry.get(sessionId);
556
+ const existing = sessionStates.get(sessionId);
557
+ if (!roleSession || roleSession.status !== "running") {
558
+ return existing;
559
+ }
560
+ const state = context
561
+ ? await prepareCache({
562
+ repoRoot: roleSession.cwd,
563
+ baseRepoRoot: context.repoRoot,
564
+ taskSlug: roleSession.taskSlug,
565
+ role: roleSession.role,
566
+ sessionId: roleSession.id
567
+ })
568
+ : getState(sessionId);
569
+ startTranscriptTail(roleSession);
570
+ return state;
571
+ }
554
572
  return {
555
573
  async startSession(input) {
556
574
  const roleSession = await deps.sessionService.getRoleSession(input.repoRoot, input.taskSlug, input.role);
@@ -575,9 +593,9 @@ export function createTranslationService(deps) {
575
593
  nextCursor: 1
576
594
  };
577
595
  },
578
- async pollSessionEvents(sessionId, after, limit = 200) {
596
+ async pollSessionEvents(sessionId, after, limit = 200, context) {
579
597
  const cursor = Number.isFinite(after) ? Math.max(1, Math.floor(after)) : 1;
580
- const state = sessionStates.get(sessionId);
598
+ const state = await ensureSessionForPoll(sessionId, context);
581
599
  if (!state) {
582
600
  return {
583
601
  sessionId,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibe-coding-master",
3
- "version": "0.4.39",
3
+ "version": "0.4.40",
4
4
  "description": "Local GUI session cockpit for Claude Code role sessions.",
5
5
  "type": "module",
6
6
  "files": [