@grackle-ai/server 0.26.0 → 0.28.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 (73) hide show
  1. package/dist/adapter-manager.d.ts.map +1 -1
  2. package/dist/adapter-manager.js +1 -0
  3. package/dist/adapter-manager.js.map +1 -1
  4. package/dist/adapters/codespace.js +1 -1
  5. package/dist/adapters/codespace.js.map +1 -1
  6. package/dist/adapters/docker.js +1 -1
  7. package/dist/adapters/docker.js.map +1 -1
  8. package/dist/adapters/local.js +1 -1
  9. package/dist/adapters/local.js.map +1 -1
  10. package/dist/adapters/remote-adapter-utils.d.ts.map +1 -1
  11. package/dist/adapters/remote-adapter-utils.js +22 -32
  12. package/dist/adapters/remote-adapter-utils.js.map +1 -1
  13. package/dist/adapters/ssh.js +1 -1
  14. package/dist/adapters/ssh.js.map +1 -1
  15. package/dist/compute-task-status.d.ts +11 -7
  16. package/dist/compute-task-status.d.ts.map +1 -1
  17. package/dist/compute-task-status.js +35 -40
  18. package/dist/compute-task-status.js.map +1 -1
  19. package/dist/credential-providers.d.ts +27 -0
  20. package/dist/credential-providers.d.ts.map +1 -0
  21. package/dist/credential-providers.js +166 -0
  22. package/dist/credential-providers.js.map +1 -0
  23. package/dist/db.d.ts.map +1 -1
  24. package/dist/db.js +55 -5
  25. package/dist/db.js.map +1 -1
  26. package/dist/event-processor.d.ts.map +1 -1
  27. package/dist/event-processor.js +15 -14
  28. package/dist/event-processor.js.map +1 -1
  29. package/dist/github-import.d.ts.map +1 -1
  30. package/dist/github-import.js +3 -2
  31. package/dist/github-import.js.map +1 -1
  32. package/dist/grpc-service.d.ts.map +1 -1
  33. package/dist/grpc-service.js +73 -41
  34. package/dist/grpc-service.js.map +1 -1
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +23 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/project-store.d.ts +3 -1
  39. package/dist/project-store.d.ts.map +1 -1
  40. package/dist/project-store.js +5 -1
  41. package/dist/project-store.js.map +1 -1
  42. package/dist/schema.d.ts +66 -38
  43. package/dist/schema.d.ts.map +1 -1
  44. package/dist/schema.js +7 -3
  45. package/dist/schema.js.map +1 -1
  46. package/dist/session-store.d.ts.map +1 -1
  47. package/dist/session-store.js +4 -3
  48. package/dist/session-store.js.map +1 -1
  49. package/dist/task-store.d.ts +6 -6
  50. package/dist/task-store.d.ts.map +1 -1
  51. package/dist/task-store.js +11 -11
  52. package/dist/task-store.js.map +1 -1
  53. package/dist/token-broker.d.ts +6 -3
  54. package/dist/token-broker.d.ts.map +1 -1
  55. package/dist/token-broker.js +11 -26
  56. package/dist/token-broker.js.map +1 -1
  57. package/dist/transcript.js.map +1 -1
  58. package/dist/utils/format-gh-error.d.ts +6 -0
  59. package/dist/utils/format-gh-error.d.ts.map +1 -0
  60. package/dist/utils/format-gh-error.js +30 -0
  61. package/dist/utils/format-gh-error.js.map +1 -0
  62. package/dist/utils/system-context.d.ts +1 -1
  63. package/dist/utils/system-context.d.ts.map +1 -1
  64. package/dist/utils/system-context.js +2 -2
  65. package/dist/utils/system-context.js.map +1 -1
  66. package/dist/ws-bridge.d.ts.map +1 -1
  67. package/dist/ws-bridge.js +123 -105
  68. package/dist/ws-bridge.js.map +1 -1
  69. package/dist/ws-broadcast.d.ts +5 -0
  70. package/dist/ws-broadcast.d.ts.map +1 -1
  71. package/dist/ws-broadcast.js +20 -0
  72. package/dist/ws-broadcast.js.map +1 -1
  73. package/package.json +4 -4
@@ -12,11 +12,11 @@ import * as projectStore from "./project-store.js";
12
12
  import * as taskStore from "./task-store.js";
13
13
  import * as findingStore from "./finding-store.js";
14
14
  import * as personaStore from "./persona-store.js";
15
- import { broadcast } from "./ws-broadcast.js";
15
+ import { broadcast, broadcastEnvironments } from "./ws-broadcast.js";
16
16
  import { processEventStream } from "./event-processor.js";
17
17
  import * as processorRegistry from "./processor-registry.js";
18
18
  import { join } from "node:path";
19
- import { LOGS_DIR, DEFAULT_RUNTIME, DEFAULT_MODEL, MAX_TASK_DEPTH, taskStatusToEnum, taskStatusToString, projectStatusToEnum, } from "@grackle-ai/common";
19
+ import { LOGS_DIR, DEFAULT_RUNTIME, DEFAULT_MODEL, MAX_TASK_DEPTH, SESSION_STATUS, TASK_STATUS, taskStatusToEnum, taskStatusToString, projectStatusToEnum, } from "@grackle-ai/common";
20
20
  import { grackleHome } from "./paths.js";
21
21
  import { safeParseJsonArray } from "./json-helpers.js";
22
22
  import { computeTaskStatus } from "./compute-task-status.js";
@@ -53,8 +53,8 @@ function sessionRowToProto(row) {
53
53
  suspendedAt: row.suspendedAt ?? "",
54
54
  endedAt: row.endedAt ?? "",
55
55
  error: row.error ?? "",
56
- taskId: row.taskId ?? "",
57
- personaId: row.personaId ?? "",
56
+ taskId: row.taskId,
57
+ personaId: row.personaId,
58
58
  });
59
59
  }
60
60
  function projectRowToProto(row) {
@@ -68,6 +68,7 @@ function projectRowToProto(row) {
68
68
  createdAt: row.createdAt,
69
69
  updatedAt: row.updatedAt,
70
70
  useWorktrees: row.useWorktrees,
71
+ worktreeBasePath: row.worktreeBasePath,
71
72
  });
72
73
  }
73
74
  function taskRowToProto(row, childIds, computedStatus, latestSessionId) {
@@ -80,10 +81,8 @@ function taskRowToProto(row, childIds, computedStatus, latestSessionId) {
80
81
  branch: row.branch,
81
82
  latestSessionId: latestSessionId ?? "",
82
83
  dependsOn: safeParseJsonArray(row.dependsOn),
83
- assignedAt: row.assignedAt ?? "",
84
84
  startedAt: row.startedAt ?? "",
85
85
  completedAt: row.completedAt ?? "",
86
- reviewNotes: row.reviewNotes,
87
86
  createdAt: row.createdAt,
88
87
  updatedAt: row.updatedAt,
89
88
  sortOrder: row.sortOrder,
@@ -132,8 +131,10 @@ function personaRowToProto(row) {
132
131
  model: row.model,
133
132
  maxTurns: row.maxTurns,
134
133
  mcpServers: mcpServers
135
- .filter((s) => typeof s === "object" &&
136
- s !== null &&
134
+ .filter((s) =>
135
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- typeof null === "object", JSON.parse can return null
136
+ s !== null &&
137
+ typeof s === "object" &&
137
138
  typeof s.name === "string" &&
138
139
  typeof s.command === "string")
139
140
  .map((s) => create(grackle.McpServerConfigSchema, {
@@ -230,8 +231,9 @@ export function registerGrackleRoutes(router) {
230
231
  return;
231
232
  }
232
233
  envRegistry.updateEnvironmentStatus(req.id, "connecting");
234
+ broadcastEnvironments();
233
235
  const config = JSON.parse(env.adapterConfig);
234
- const powerlineToken = env.powerlineToken || "";
236
+ const powerlineToken = env.powerlineToken;
235
237
  for await (const event of reconnectOrProvision(req.id, adapter, config, powerlineToken, !!env.bootstrapped)) {
236
238
  yield create(grackle.ProvisionEventSchema, {
237
239
  stage: event.stage,
@@ -246,6 +248,7 @@ export function registerGrackleRoutes(router) {
246
248
  await tokenBroker.pushToEnv(req.id);
247
249
  envRegistry.updateEnvironmentStatus(req.id, "connected");
248
250
  envRegistry.markBootstrapped(req.id);
251
+ broadcastEnvironments();
249
252
  yield create(grackle.ProvisionEventSchema, {
250
253
  stage: "ready",
251
254
  message: "Environment connected",
@@ -254,9 +257,10 @@ export function registerGrackleRoutes(router) {
254
257
  }
255
258
  catch (err) {
256
259
  envRegistry.updateEnvironmentStatus(req.id, "error");
260
+ broadcastEnvironments();
257
261
  yield create(grackle.ProvisionEventSchema, {
258
262
  stage: "error",
259
- message: `Connection failed: ${err}`,
263
+ message: `Connection failed: ${err instanceof Error ? err.message : String(err)}`,
260
264
  progress: 0,
261
265
  });
262
266
  }
@@ -272,6 +276,7 @@ export function registerGrackleRoutes(router) {
272
276
  }
273
277
  adapterManager.removeConnection(req.id);
274
278
  envRegistry.updateEnvironmentStatus(req.id, "disconnected");
279
+ broadcastEnvironments();
275
280
  return create(grackle.EmptySchema, {});
276
281
  },
277
282
  async destroyEnvironment(req) {
@@ -285,6 +290,7 @@ export function registerGrackleRoutes(router) {
285
290
  }
286
291
  adapterManager.removeConnection(req.id);
287
292
  envRegistry.updateEnvironmentStatus(req.id, "disconnected");
293
+ broadcastEnvironments();
288
294
  return create(grackle.EmptySchema, {});
289
295
  },
290
296
  async spawnAgent(req) {
@@ -323,8 +329,10 @@ export function registerGrackleRoutes(router) {
323
329
  prompt: req.prompt,
324
330
  model,
325
331
  maxTurns: persona?.maxTurns || 0,
326
- branch: req.branch || "",
327
- worktreeBasePath: req.branch ? "/workspace" : "",
332
+ branch: req.branch,
333
+ worktreeBasePath: req.branch
334
+ ? (req.worktreeBasePath.trim() || process.env.GRACKLE_WORKTREE_BASE || "/workspace")
335
+ : "",
328
336
  systemContext,
329
337
  mcpServersJson,
330
338
  });
@@ -374,8 +382,8 @@ export function registerGrackleRoutes(router) {
374
382
  if (!session) {
375
383
  throw new Error(`Session not found: ${req.sessionId}`);
376
384
  }
377
- if (session.status !== "waiting_input") {
378
- throw new Error(`Session ${req.sessionId} is not waiting for input (status: ${session.status})`);
385
+ if (session.status !== SESSION_STATUS.IDLE) {
386
+ throw new Error(`Session ${req.sessionId} is not idle (status: ${session.status})`);
379
387
  }
380
388
  const conn = adapterManager.getConnection(session.environmentId);
381
389
  if (!conn) {
@@ -398,15 +406,15 @@ export function registerGrackleRoutes(router) {
398
406
  await conn.client.kill(create(powerline.SessionIdSchema, { id: req.id }));
399
407
  }
400
408
  catch (err) {
401
- logger.warn({ sessionId: req.id, err }, "PowerLine kill failed — marking session killed anyway");
409
+ logger.warn({ sessionId: req.id, err }, "PowerLine kill failed — marking session interrupted anyway");
402
410
  }
403
411
  }
404
- sessionStore.updateSession(req.id, "killed");
412
+ sessionStore.updateSession(req.id, SESSION_STATUS.INTERRUPTED);
405
413
  streamHub.publish(create(grackle.SessionEventSchema, {
406
414
  sessionId: req.id,
407
415
  type: grackle.EventType.STATUS,
408
416
  timestamp: new Date().toISOString(),
409
- content: "killed",
417
+ content: SESSION_STATUS.INTERRUPTED,
410
418
  raw: "",
411
419
  }));
412
420
  // Broadcast task_updated so frontend re-fetches computed status
@@ -488,7 +496,7 @@ export function registerGrackleRoutes(router) {
488
496
  }
489
497
  // useWorktrees defaults to true when not specified
490
498
  const useWorktrees = req.useWorktrees ?? true;
491
- projectStore.createProject(id, req.name, req.description, req.repoUrl, req.defaultEnvironmentId, useWorktrees);
499
+ projectStore.createProject(id, req.name, req.description, req.repoUrl, req.defaultEnvironmentId, useWorktrees, req.worktreeBasePath ?? "");
492
500
  broadcast({ type: "project_created", payload: { projectId: id } });
493
501
  const row = projectStore.getProject(id);
494
502
  return projectRowToProto(row);
@@ -509,7 +517,7 @@ export function registerGrackleRoutes(router) {
509
517
  if (!existing) {
510
518
  throw new Error(`Project not found: ${req.id}`);
511
519
  }
512
- if (req.name !== undefined && req.name.trim() === "") {
520
+ if (req.name?.trim() === "") {
513
521
  throw new Error("Project name cannot be empty");
514
522
  }
515
523
  if (req.repoUrl !== undefined && req.repoUrl !== "" && !/^https?:\/\//i.test(req.repoUrl)) {
@@ -521,6 +529,7 @@ export function registerGrackleRoutes(router) {
521
529
  repoUrl: req.repoUrl,
522
530
  defaultEnvironmentId: req.defaultEnvironmentId,
523
531
  useWorktrees: req.useWorktrees ?? undefined,
532
+ worktreeBasePath: req.worktreeBasePath,
524
533
  });
525
534
  if (!row) {
526
535
  throw new Error(`Project not found after update: ${req.id}`);
@@ -596,14 +605,14 @@ export function registerGrackleRoutes(router) {
596
605
  }
597
606
  taskStore.updateTask(req.id, req.title !== "" ? req.title : existing.title, req.description !== "" ? req.description : existing.description, reqStatus, req.dependsOn.length > 0
598
607
  ? [...req.dependsOn]
599
- : safeParseJsonArray(existing.dependsOn), req.reviewNotes !== "" ? req.reviewNotes : existing.reviewNotes);
608
+ : safeParseJsonArray(existing.dependsOn));
600
609
  // Late-bind: associate an existing session with this task
601
610
  if (req.sessionId !== "") {
602
611
  const session = sessionStore.getSession(req.sessionId);
603
612
  if (!session) {
604
613
  throw new ConnectError(`Session not found: ${req.sessionId}`, Code.NotFound);
605
614
  }
606
- const terminalStatuses = ["completed", "failed", "killed"];
615
+ const terminalStatuses = [SESSION_STATUS.COMPLETED, SESSION_STATUS.FAILED, SESSION_STATUS.INTERRUPTED];
607
616
  if (terminalStatuses.includes(session.status)) {
608
617
  throw new ConnectError(`Cannot bind terminal session ${req.sessionId} (status: ${session.status})`, Code.FailedPrecondition);
609
618
  }
@@ -630,7 +639,7 @@ export function registerGrackleRoutes(router) {
630
639
  {
631
640
  const taskSessions = sessionStore.listSessionsForTask(req.taskId);
632
641
  const { status: effectiveStatus } = computeTaskStatus(task.status, taskSessions);
633
- if (!["pending", "assigned", "failed"].includes(effectiveStatus)) {
642
+ if (![TASK_STATUS.NOT_STARTED, TASK_STATUS.FAILED].includes(effectiveStatus)) {
634
643
  throw new Error(`Task ${req.taskId} cannot be started (status: ${effectiveStatus})`);
635
644
  }
636
645
  }
@@ -667,7 +676,7 @@ export function registerGrackleRoutes(router) {
667
676
  DEFAULT_MODEL;
668
677
  const maxTurns = persona?.maxTurns || 0;
669
678
  const logPath = join(grackleHome, LOGS_DIR, sessionId);
670
- let systemContext = buildTaskSystemContext(task.title, task.description, task.reviewNotes, task.canDecompose);
679
+ let systemContext = buildTaskSystemContext(task.title, task.description, req.notes || "", task.canDecompose);
671
680
  if (persona) {
672
681
  systemContext = persona.systemPrompt + "\n\n" + systemContext;
673
682
  }
@@ -693,7 +702,9 @@ export function registerGrackleRoutes(router) {
693
702
  model,
694
703
  maxTurns,
695
704
  branch: task.branch,
696
- worktreeBasePath: task.branch && useWorktrees ? "/workspace" : "",
705
+ worktreeBasePath: task.branch && useWorktrees
706
+ ? (project.worktreeBasePath || process.env.GRACKLE_WORKTREE_BASE || "/workspace")
707
+ : "",
697
708
  systemContext,
698
709
  projectId: task.projectId,
699
710
  taskId: task.id,
@@ -708,11 +719,11 @@ export function registerGrackleRoutes(router) {
708
719
  const row = sessionStore.getSession(sessionId);
709
720
  return sessionRowToProto(row);
710
721
  },
711
- async approveTask(req) {
722
+ async completeTask(req) {
712
723
  const task = taskStore.getTask(req.id);
713
724
  if (!task)
714
725
  throw new Error(`Task not found: ${req.id}`);
715
- taskStore.markTaskCompleted(task.id, "done");
726
+ taskStore.markTaskComplete(task.id, TASK_STATUS.COMPLETE);
716
727
  // Check for newly unblocked tasks
717
728
  const unblocked = taskStore.checkAndUnblock(task.projectId);
718
729
  for (const t of unblocked) {
@@ -729,7 +740,7 @@ export function registerGrackleRoutes(router) {
729
740
  }));
730
741
  }
731
742
  broadcast({
732
- type: "task_approved",
743
+ type: "task_completed",
733
744
  payload: { taskId: task.id, projectId: task.projectId },
734
745
  });
735
746
  const row = taskStore.getTask(task.id);
@@ -737,19 +748,42 @@ export function registerGrackleRoutes(router) {
737
748
  const { status, latestSessionId } = computeTaskStatus(row.status, taskSessions);
738
749
  return taskRowToProto(row, undefined, status, latestSessionId);
739
750
  },
740
- async rejectTask(req) {
751
+ async resumeTask(req) {
741
752
  const task = taskStore.getTask(req.id);
742
753
  if (!task)
743
754
  throw new Error(`Task not found: ${req.id}`);
744
- taskStore.updateTask(task.id, task.title, task.description, "assigned", safeParseJsonArray(task.dependsOn), req.reviewNotes || "");
755
+ const latestSession = sessionStore.getLatestSessionForTask(req.id);
756
+ if (!latestSession) {
757
+ throw new Error(`Task ${req.id} has no sessions to resume`);
758
+ }
759
+ if (![SESSION_STATUS.INTERRUPTED, SESSION_STATUS.COMPLETED].includes(latestSession.status)) {
760
+ throw new Error(`Latest session ${latestSession.id} is not resumable (status: ${latestSession.status})`);
761
+ }
762
+ if (!latestSession.runtimeSessionId) {
763
+ throw new Error(`Latest session ${latestSession.id} has no runtime session ID — cannot resume`);
764
+ }
765
+ const conn = adapterManager.getConnection(latestSession.environmentId);
766
+ if (!conn) {
767
+ throw new Error(`Environment ${latestSession.environmentId} not connected`);
768
+ }
769
+ const powerlineReq = create(powerline.ResumeRequestSchema, {
770
+ sessionId: latestSession.id,
771
+ runtimeSessionId: latestSession.runtimeSessionId,
772
+ runtime: latestSession.runtime,
773
+ });
774
+ const logPath = latestSession.logPath || join(grackleHome, LOGS_DIR, latestSession.id);
775
+ processEventStream(conn.client.resume(powerlineReq), {
776
+ sessionId: latestSession.id,
777
+ logPath,
778
+ projectId: task.projectId,
779
+ taskId: task.id,
780
+ });
745
781
  broadcast({
746
- type: "task_rejected",
747
- payload: { taskId: task.id, projectId: task.projectId },
782
+ type: "task_started",
783
+ payload: { taskId: task.id, sessionId: latestSession.id, projectId: task.projectId },
748
784
  });
749
- const row = taskStore.getTask(task.id);
750
- const taskSessions = sessionStore.listSessionsForTask(task.id);
751
- const { status, latestSessionId } = computeTaskStatus(row.status, taskSessions);
752
- return taskRowToProto(row, undefined, status, latestSessionId);
785
+ const row = sessionStore.getSession(latestSession.id);
786
+ return sessionRowToProto(row);
753
787
  },
754
788
  async deleteTask(req) {
755
789
  const task = taskStore.getTask(req.id);
@@ -772,12 +806,12 @@ export function registerGrackleRoutes(router) {
772
806
  logger.warn({ taskId: req.id, sessionId: activeSession.id, err }, "Failed to kill session during task deletion");
773
807
  }
774
808
  }
775
- sessionStore.updateSession(activeSession.id, "killed");
809
+ sessionStore.updateSession(activeSession.id, SESSION_STATUS.INTERRUPTED);
776
810
  streamHub.publish(create(grackle.SessionEventSchema, {
777
811
  sessionId: activeSession.id,
778
812
  type: grackle.EventType.STATUS,
779
813
  timestamp: new Date().toISOString(),
780
- content: "killed",
814
+ content: SESSION_STATUS.INTERRUPTED,
781
815
  raw: "",
782
816
  }));
783
817
  }
@@ -840,10 +874,8 @@ export function registerGrackleRoutes(router) {
840
874
  // Only update toolConfig/mcpServers if the request provides non-empty values;
841
875
  // otherwise keep the existing stored value.
842
876
  const hasNewToolConfig = !!req.toolConfig &&
843
- ((req.toolConfig.allowedTools &&
844
- req.toolConfig.allowedTools.length > 0) ||
845
- (req.toolConfig.disallowedTools &&
846
- req.toolConfig.disallowedTools.length > 0));
877
+ (req.toolConfig.allowedTools.length > 0 ||
878
+ req.toolConfig.disallowedTools.length > 0);
847
879
  const toolConfigJson = hasNewToolConfig
848
880
  ? JSON.stringify({
849
881
  allowedTools: [...(req.toolConfig?.allowedTools || [])],
@@ -1 +1 @@
1
- {"version":3,"file":"grpc-service.js","sourceRoot":"","sources":["../src/grpc-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grpc-service.js","sourceRoot":"","sources":["../src/grpc-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsBA,OAAO,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAwBA,OAAO,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ import http from "node:http";
5
5
  import { registerGrackleRoutes } from "./grpc-service.js";
6
6
  import { registerAdapter, startHeartbeat } from "./adapter-manager.js";
7
7
  import { updateEnvironmentStatus, resetAllStatuses } from "./env-registry.js";
8
+ import { broadcastEnvironments } from "./ws-broadcast.js";
8
9
  import { DockerAdapter } from "./adapters/docker.js";
9
10
  import { LocalAdapter } from "./adapters/local.js";
10
11
  import { SshAdapter } from "./adapters/ssh.js";
@@ -18,6 +19,7 @@ import { join, dirname, extname, normalize, resolve, relative } from "node:path"
18
19
  import { createRequire } from "node:module";
19
20
  import { loadOrCreateApiKey, verifyApiKey } from "./api-key.js";
20
21
  import { logger } from "./logger.js";
22
+ import { exec } from "./utils/exec.js";
21
23
  // Import db to ensure tables are created
22
24
  import "./db.js";
23
25
  const MIME_TYPES = {
@@ -94,9 +96,28 @@ function main() {
94
96
  registerAdapter(new LocalAdapter());
95
97
  registerAdapter(new SshAdapter());
96
98
  registerAdapter(new CodespaceAdapter());
99
+ // Non-blocking startup diagnostic: check gh CLI availability
100
+ const GH_CHECK_TIMEOUT_MS = 5_000;
101
+ exec("gh", ["version"], { timeout: GH_CHECK_TIMEOUT_MS })
102
+ .then((result) => {
103
+ logger.info({ version: result.stdout.split("\n")[0] }, "GitHub CLI available");
104
+ })
105
+ .catch((err) => {
106
+ const isNotFound = err instanceof Error &&
107
+ ("code" in err
108
+ ? err.code === "ENOENT"
109
+ : err.message.includes("ENOENT"));
110
+ if (isNotFound) {
111
+ logger.warn("GitHub CLI (gh) not found on PATH — codespace features will be unavailable. Install from https://cli.github.com/");
112
+ }
113
+ else {
114
+ logger.warn({ err }, "GitHub CLI (gh) availability check failed — codespace features may not work");
115
+ }
116
+ });
97
117
  // Start heartbeat
98
118
  startHeartbeat((environmentId) => {
99
119
  updateEnvironmentStatus(environmentId, "disconnected");
120
+ broadcastEnvironments();
100
121
  });
101
122
  // --- gRPC server (HTTP/2) ---
102
123
  const grpcPort = parseInt(process.env.GRACKLE_PORT || String(DEFAULT_SERVER_PORT), 10);
@@ -205,7 +226,9 @@ function main() {
205
226
  clearTimeout(forceExit);
206
227
  process.exit(process.exitCode || 0);
207
228
  }
229
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
208
230
  process.on("SIGINT", shutdown);
231
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
209
232
  process.on("SIGTERM", shutdown);
210
233
  }
211
234
  main();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type ProjectRow } from "./schema.js";
2
2
  export type { ProjectRow };
3
3
  /** Insert a new project record. */
4
- export declare function createProject(id: string, name: string, description: string, repoUrl: string, defaultEnvironmentId: string, useWorktrees?: boolean): void;
4
+ export declare function createProject(id: string, name: string, description: string, repoUrl: string, defaultEnvironmentId: string, useWorktrees?: boolean, worktreeBasePath?: string): void;
5
5
  /** Retrieve a single project by ID. */
6
6
  export declare function getProject(id: string): ProjectRow | undefined;
7
7
  /** Return all active projects, newest first. */
@@ -16,6 +16,8 @@ export interface UpdateProjectFields {
16
16
  defaultEnvironmentId?: string;
17
17
  /** When false, agents work directly in the main checkout instead of creating a worktree. */
18
18
  useWorktrees?: boolean;
19
+ /** Custom base path for worktrees (e.g. /workspaces/my-repo). Empty means use default. */
20
+ worktreeBasePath?: string;
19
21
  }
20
22
  /** Update one or more fields on an existing project. Returns the updated row, or undefined if not found. */
21
23
  export declare function updateProject(id: string, fields: UpdateProjectFields): ProjectRow | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"project-store.d.ts","sourceRoot":"","sources":["../src/project-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAGxD,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,mCAAmC;AACnC,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,MAAM,EAC5B,YAAY,GAAE,OAAc,GAC3B,IAAI,CASN;AAED,uCAAuC;AACvC,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE7D;AAED,gDAAgD;AAChD,wBAAgB,YAAY,IAAI,UAAU,EAAE,CAK3C;AAED,kCAAkC;AAClC,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAK/C;AAED,oGAAoG;AACpG,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,4FAA4F;IAC5F,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,4GAA4G;AAC5G,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,UAAU,GAAG,SAAS,CAmB7F"}
1
+ {"version":3,"file":"project-store.d.ts","sourceRoot":"","sources":["../src/project-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAGxD,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,mCAAmC;AACnC,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,MAAM,EAC5B,YAAY,GAAE,OAAc,EAC5B,gBAAgB,GAAE,MAAW,GAC5B,IAAI,CAUN;AAED,uCAAuC;AACvC,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE7D;AAED,gDAAgD;AAChD,wBAAgB,YAAY,IAAI,UAAU,EAAE,CAK3C;AAED,kCAAkC;AAClC,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAK/C;AAED,oGAAoG;AACpG,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,4FAA4F;IAC5F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,4GAA4G;AAC5G,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,UAAU,GAAG,SAAS,CAsB7F"}