@vibedeckx/linux-x64 0.2.5 → 0.2.6

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 (2) hide show
  1. package/dist/bin.js +55 -7
  2. package/package.json +1 -1
package/dist/bin.js CHANGED
@@ -224161,6 +224161,20 @@ var AgentSessionManager = class {
224161
224161
  this.titleResolved.add(sessionId);
224162
224162
  return true;
224163
224163
  }
224164
+ /**
224165
+ * Write a caller-determined final title and claim the one-shot slot so the
224166
+ * AI title generator never fires for this session — same pattern as the
224167
+ * Branch path's "Branch - <source title>". The slot is claimed before the
224168
+ * DB write: even if the write fails, a degraded placeholder title beats an
224169
+ * AI title racing in over the caller's intent.
224170
+ */
224171
+ async setFinalSessionTitle(sessionId, title) {
224172
+ this.markTitleResolved(sessionId);
224173
+ await this.storage.agentSessions.updateTitle(sessionId, title);
224174
+ this.broadcastRaw(sessionId, { titleUpdated: { title } });
224175
+ const session = this.sessions.get(sessionId);
224176
+ if (session) this.emitSessionTitle(session.projectId, session.branch, sessionId, title);
224177
+ }
224164
224178
  isProcessAlive(session) {
224165
224179
  return !!session.process && session.process.exitCode === null && !session.dormant;
224166
224180
  }
@@ -228832,11 +228846,16 @@ var WorkflowEngine = class {
228832
228846
  opts.project.path,
228833
228847
  false,
228834
228848
  "plan",
228835
- "claude-code",
228849
+ opts.reviewerAgentType ?? "claude-code",
228836
228850
  true
228837
228851
  );
228852
+ const taskContext = extractTaskContextBefore(entries, turnEndIndex);
228853
+ await this.agentOps.setFinalSessionTitle(
228854
+ reviewerId,
228855
+ `Review - ${sourceSession?.title || (taskContext ? snippetTitle(taskContext) : null) || "Conversation"}`
228856
+ ).catch((err) => console.warn(`[WorkflowEngine] failed to set reviewer title for ${reviewerId}:`, err));
228838
228857
  const prompt = buildReviewerPrompt({
228839
- taskContext: extractTaskContextBefore(entries, turnEndIndex),
228858
+ taskContext,
228840
228859
  reviewFocus: opts.reviewFocus ?? null,
228841
228860
  target
228842
228861
  });
@@ -235890,6 +235909,11 @@ var command_routes_default = (0, import_fastify_plugin18.default)(routes17, { na
235890
235909
 
235891
235910
  // src/routes/workflow-run-routes.ts
235892
235911
  var import_fastify_plugin19 = __toESM(require_plugin2(), 1);
235912
+ var REVIEWER_AGENT_TYPES = /* @__PURE__ */ new Set(["claude-code", "codex"]);
235913
+ function parseReviewerAgentType(raw) {
235914
+ if (raw === void 0) return void 0;
235915
+ return typeof raw === "string" && REVIEWER_AGENT_TYPES.has(raw) ? raw : null;
235916
+ }
235893
235917
  function errStatus(err) {
235894
235918
  if (!(err instanceof WorkflowError)) return null;
235895
235919
  switch (err.code) {
@@ -235934,6 +235958,8 @@ async function routes18(fastify2) {
235934
235958
  if (userId === null) return;
235935
235959
  const { projectId, branch, sourceSessionId, reviewFocus, sourceTurnEndIndex } = req.body ?? {};
235936
235960
  if (!projectId || !sourceSessionId) return reply.code(400).send({ error: "projectId and sourceSessionId are required" });
235961
+ const reviewerAgentType = parseReviewerAgentType(req.body?.reviewerAgentType);
235962
+ if (reviewerAgentType === null) return reply.code(400).send({ error: "reviewerAgentType must be one of: claude-code, codex" });
235937
235963
  if (sourceSessionId.startsWith("remote-")) {
235938
235964
  const remoteInfo = fastify2.remoteSessionMap.get(sourceSessionId);
235939
235965
  if (!remoteInfo) return reply.code(404).send({ error: "Session not found" });
@@ -235944,7 +235970,8 @@ async function routes18(fastify2) {
235944
235970
  const result = await proxyAuto(remoteInfo, "POST", "/api/path/workflow-runs", {
235945
235971
  sourceSessionId: remoteInfo.remoteSessionId,
235946
235972
  reviewFocus,
235947
- sourceTurnEndIndex
235973
+ sourceTurnEndIndex,
235974
+ reviewerAgentType
235948
235975
  });
235949
235976
  if (!result.ok) return sendProxyFailure(reply, result);
235950
235977
  const bareRun = result.data.run;
@@ -235957,13 +235984,14 @@ async function routes18(fastify2) {
235957
235984
  projectId
235958
235985
  });
235959
235986
  if (bareRun.reviewer_session_id && localRun.reviewer_session_id) {
235960
- fastify2.remoteSessionMap.set(localRun.reviewer_session_id, {
235987
+ const reviewerInfo = {
235961
235988
  remoteServerId: remoteInfo.remoteServerId,
235962
235989
  remoteUrl: remoteInfo.remoteUrl,
235963
235990
  remoteApiKey: remoteInfo.remoteApiKey,
235964
235991
  remoteSessionId: bareRun.reviewer_session_id,
235965
235992
  branch: bareRun.branch
235966
- });
235993
+ };
235994
+ fastify2.remoteSessionMap.set(localRun.reviewer_session_id, reviewerInfo);
235967
235995
  await fastify2.storage.remoteSessionMappings.upsert(
235968
235996
  localRun.reviewer_session_id,
235969
235997
  projectId,
@@ -235978,6 +236006,22 @@ async function routes18(fastify2) {
235978
236006
  eventBus: fastify2.eventBus,
235979
236007
  agentSessionManager: fastify2.agentSessionManager
235980
236008
  });
236009
+ fastify2.eventBus.emit({
236010
+ type: "session:process",
236011
+ projectId,
236012
+ branch: bareRun.branch,
236013
+ sessionId: localRun.reviewer_session_id,
236014
+ alive: true
236015
+ });
236016
+ fastify2.eventBus.emit({
236017
+ type: "session:status",
236018
+ projectId,
236019
+ branch: bareRun.branch,
236020
+ sessionId: localRun.reviewer_session_id,
236021
+ status: "running"
236022
+ });
236023
+ fastify2.agentSessionManager.markTitleResolved(localRun.reviewer_session_id);
236024
+ await fastify2.storage.remoteSessionMappings.markTitleResolved(localRun.reviewer_session_id);
235981
236025
  }
235982
236026
  fastify2.eventBus.emit({ type: "workflow:run-updated", projectId, branch: bareRun.branch, run: localRun });
235983
236027
  return reply.code(201).send({ run: localRun });
@@ -235999,7 +236043,8 @@ async function routes18(fastify2) {
235999
236043
  branch: runBranch,
236000
236044
  sourceSessionId,
236001
236045
  reviewFocus,
236002
- sourceTurnEndIndex
236046
+ sourceTurnEndIndex,
236047
+ reviewerAgentType
236003
236048
  });
236004
236049
  return reply.code(201).send({ run: run2 });
236005
236050
  } catch (err) {
@@ -236128,6 +236173,8 @@ async function routes18(fastify2) {
236128
236173
  if (userId === null) return;
236129
236174
  const { sourceSessionId, reviewFocus, sourceTurnEndIndex } = req.body ?? {};
236130
236175
  if (!sourceSessionId) return reply.code(400).send({ error: "sourceSessionId is required" });
236176
+ const reviewerAgentType = parseReviewerAgentType(req.body?.reviewerAgentType);
236177
+ if (reviewerAgentType === null) return reply.code(400).send({ error: "reviewerAgentType must be one of: claude-code, codex" });
236131
236178
  const sourceSession = await fastify2.storage.agentSessions.getById(sourceSessionId);
236132
236179
  if (!sourceSession) return reply.code(404).send({ error: "Session not found" });
236133
236180
  const project = await fastify2.storage.projects.getById(sourceSession.project_id);
@@ -236139,7 +236186,8 @@ async function routes18(fastify2) {
236139
236186
  branch: sourceSession.branch || null,
236140
236187
  sourceSessionId,
236141
236188
  reviewFocus,
236142
- sourceTurnEndIndex
236189
+ sourceTurnEndIndex,
236190
+ reviewerAgentType
236143
236191
  });
236144
236192
  return reply.code(201).send({ run: run2 });
236145
236193
  } catch (err) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibedeckx/linux-x64",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "description": "Vibedeckx platform binaries for Linux x64",
5
5
  "os": [
6
6
  "linux"