replicas-engine 0.1.57 → 0.1.59

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/src/index.js +45 -7
  2. package/package.json +1 -1
package/dist/src/index.js CHANGED
@@ -56,7 +56,7 @@ function loadEngineEnv() {
56
56
  WORKSPACE_ROOT: join(HOME_DIR, "workspaces"),
57
57
  // Runtime: may not be set during warming
58
58
  WORKSPACE_ID: readEnv("WORKSPACE_ID"),
59
- WORKSPACE_NAME: readEnv("WORKSPACE_NAME"),
59
+ WORKSPACE_BRANCH_NAME: readEnv("WORKSPACE_BRANCH_NAME"),
60
60
  LINEAR_SESSION_ID: readEnv("LINEAR_SESSION_ID"),
61
61
  LINEAR_ACCESS_TOKEN: readEnv("LINEAR_ACCESS_TOKEN"),
62
62
  SLACK_BOT_TOKEN: readEnv("SLACK_BOT_TOKEN"),
@@ -523,13 +523,17 @@ var GitService = class {
523
523
  }
524
524
  return states;
525
525
  }
526
+ async setBranchNameAndCheckout(name) {
527
+ ENGINE_ENV.WORKSPACE_BRANCH_NAME = name;
528
+ return this.initializeGitRepository();
529
+ }
526
530
  async initializeGitRepository() {
527
- const workspaceName = ENGINE_ENV.WORKSPACE_NAME;
531
+ const workspaceName = ENGINE_ENV.WORKSPACE_BRANCH_NAME;
528
532
  if (!workspaceName) {
533
+ console.info("No WORKSPACE_BRANCH_NAME set \u2014 skipping branch checkout");
529
534
  return {
530
- success: false,
531
- repos: [],
532
- error: "No WORKSPACE_NAME environment variable set"
535
+ success: true,
536
+ repos: []
533
537
  };
534
538
  }
535
539
  const repos = await this.listRepositories();
@@ -695,7 +699,9 @@ var GitService = class {
695
699
  }
696
700
  return prInfo;
697
701
  }
698
- } catch {
702
+ } catch (error) {
703
+ const message = error instanceof Error ? error.message : String(error);
704
+ console.warn(`[GitService] gh pr view failed for ${repoName}: ${message}`);
699
705
  return null;
700
706
  }
701
707
  return null;
@@ -2769,6 +2775,18 @@ var ChatService = class {
2769
2775
  const runtime = this.createRuntimeChat(chat);
2770
2776
  this.chats.set(chat.id, runtime);
2771
2777
  }
2778
+ const hasClaudeDefault = [...this.chats.values()].some(
2779
+ (c) => c.persisted.provider === "claude" && c.persisted.title === "Claude Code"
2780
+ );
2781
+ const hasCodexDefault = [...this.chats.values()].some(
2782
+ (c) => c.persisted.provider === "codex" && c.persisted.title === "Codex"
2783
+ );
2784
+ if (!hasClaudeDefault) {
2785
+ await this.createChat({ provider: "claude", title: "Claude Code" });
2786
+ }
2787
+ if (!hasCodexDefault) {
2788
+ await this.createChat({ provider: "codex", title: "Codex" });
2789
+ }
2772
2790
  }
2773
2791
  listChats() {
2774
2792
  return Array.from(this.chats.values()).map((chat) => this.toSummary(chat)).sort((a, b) => b.updatedAt.localeCompare(a.updatedAt));
@@ -3016,6 +3034,10 @@ var ChatService = class {
3016
3034
  await eventService.publish(event);
3017
3035
  }
3018
3036
  async publishAgentTurnCompleteWebhook() {
3037
+ try {
3038
+ await githubTokenManager.refreshOnce();
3039
+ } catch {
3040
+ }
3019
3041
  const linearSessionId = ENGINE_ENV.LINEAR_SESSION_ID;
3020
3042
  const repoStatuses = await gitService.refreshRepos();
3021
3043
  const payload = linearSessionId ? { linearSessionId, repoStatuses } : { repoStatuses };
@@ -3228,6 +3250,9 @@ async function runWarmHooks(params) {
3228
3250
  }
3229
3251
 
3230
3252
  // src/v1-routes.ts
3253
+ var setWorkspaceNameSchema = z.object({
3254
+ name: z.string().min(1).max(48)
3255
+ });
3231
3256
  var createChatSchema = z.object({
3232
3257
  provider: z.enum(["claude", "codex"]),
3233
3258
  title: z.string().min(1).optional()
@@ -3500,6 +3525,19 @@ function createV1Routes(deps) {
3500
3525
  );
3501
3526
  }
3502
3527
  });
3528
+ app2.post("/workspace-name", async (c) => {
3529
+ try {
3530
+ const body = setWorkspaceNameSchema.parse(await c.req.json());
3531
+ const result = await gitService.setBranchNameAndCheckout(body.name);
3532
+ return c.json({
3533
+ success: result.success,
3534
+ repos: result.repos.map((r) => ({ name: r.name, branch: r.currentBranch, resumed: r.resumed ?? false }))
3535
+ });
3536
+ } catch (error) {
3537
+ const details = error instanceof Error ? error.message : "Unknown error";
3538
+ return c.json(jsonError("Failed to set workspace name", details), 400);
3539
+ }
3540
+ });
3503
3541
  app2.get("/previews", async (c) => {
3504
3542
  try {
3505
3543
  const previews = await previewService.listPreviews();
@@ -3720,7 +3758,7 @@ serve(
3720
3758
  console.log(`Replicas Engine running on port ${info.port}`);
3721
3759
  }
3722
3760
  const gitResult = await gitService.initializeGitRepository();
3723
- if (!gitResult.success) {
3761
+ if (!gitResult.success && gitResult.error) {
3724
3762
  console.warn(`Git initialization warning: ${gitResult.error}`);
3725
3763
  }
3726
3764
  await replicasConfigService.initialize();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replicas-engine",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "Lightweight API server for Replicas workspaces",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",