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.
- package/dist/src/index.js +45 -7
- 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
|
-
|
|
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.
|
|
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:
|
|
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();
|