patchwork-os 0.2.0-alpha.2 → 0.2.0-alpha.21

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 (154) hide show
  1. package/README.bridge.md +6 -0
  2. package/README.md +13 -2
  3. package/dist/approvalHttp.d.ts +11 -2
  4. package/dist/approvalHttp.js +92 -9
  5. package/dist/approvalHttp.js.map +1 -1
  6. package/dist/approvalQueue.d.ts +12 -1
  7. package/dist/approvalQueue.js +25 -3
  8. package/dist/approvalQueue.js.map +1 -1
  9. package/dist/bridge.js +127 -23
  10. package/dist/bridge.js.map +1 -1
  11. package/dist/claudeDriver.d.ts +3 -1
  12. package/dist/claudeDriver.js +48 -0
  13. package/dist/claudeDriver.js.map +1 -1
  14. package/dist/claudeOrchestrator.d.ts +1 -1
  15. package/dist/claudeOrchestrator.js +14 -8
  16. package/dist/claudeOrchestrator.js.map +1 -1
  17. package/dist/commands/launchd.d.ts +2 -0
  18. package/dist/commands/launchd.js +94 -0
  19. package/dist/commands/launchd.js.map +1 -0
  20. package/dist/config.d.ts +7 -2
  21. package/dist/config.js +85 -8
  22. package/dist/config.js.map +1 -1
  23. package/dist/connectors/github.d.ts +58 -8
  24. package/dist/connectors/github.js +321 -84
  25. package/dist/connectors/github.js.map +1 -1
  26. package/dist/connectors/gmail.d.ts +4 -1
  27. package/dist/connectors/gmail.js +77 -16
  28. package/dist/connectors/gmail.js.map +1 -1
  29. package/dist/connectors/googleCalendar.d.ts +60 -0
  30. package/dist/connectors/googleCalendar.js +329 -0
  31. package/dist/connectors/googleCalendar.js.map +1 -0
  32. package/dist/connectors/linear.d.ts +117 -0
  33. package/dist/connectors/linear.js +248 -0
  34. package/dist/connectors/linear.js.map +1 -0
  35. package/dist/connectors/mcpClient.d.ts +56 -0
  36. package/dist/connectors/mcpClient.js +189 -0
  37. package/dist/connectors/mcpClient.js.map +1 -0
  38. package/dist/connectors/mcpOAuth.d.ts +83 -0
  39. package/dist/connectors/mcpOAuth.js +363 -0
  40. package/dist/connectors/mcpOAuth.js.map +1 -0
  41. package/dist/connectors/sentry.d.ts +43 -0
  42. package/dist/connectors/sentry.js +197 -0
  43. package/dist/connectors/sentry.js.map +1 -0
  44. package/dist/connectors/slack.d.ts +50 -0
  45. package/dist/connectors/slack.js +289 -0
  46. package/dist/connectors/slack.js.map +1 -0
  47. package/dist/drivers/claude/api.d.ts +11 -0
  48. package/dist/drivers/claude/api.js +54 -0
  49. package/dist/drivers/claude/api.js.map +1 -0
  50. package/dist/drivers/claude/envSanitizer.d.ts +7 -0
  51. package/dist/drivers/claude/envSanitizer.js +18 -0
  52. package/dist/drivers/claude/envSanitizer.js.map +1 -0
  53. package/dist/drivers/claude/streamParser.d.ts +38 -0
  54. package/dist/drivers/claude/streamParser.js +34 -0
  55. package/dist/drivers/claude/streamParser.js.map +1 -0
  56. package/dist/drivers/claude/subprocess.d.ts +19 -0
  57. package/dist/drivers/claude/subprocess.js +216 -0
  58. package/dist/drivers/claude/subprocess.js.map +1 -0
  59. package/dist/drivers/claude/subprocessSettings.d.ts +9 -0
  60. package/dist/drivers/claude/subprocessSettings.js +55 -0
  61. package/dist/drivers/claude/subprocessSettings.js.map +1 -0
  62. package/dist/drivers/gemini/index.d.ts +18 -0
  63. package/dist/drivers/gemini/index.js +210 -0
  64. package/dist/drivers/gemini/index.js.map +1 -0
  65. package/dist/drivers/grok/index.d.ts +11 -0
  66. package/dist/drivers/grok/index.js +22 -0
  67. package/dist/drivers/grok/index.js.map +1 -0
  68. package/dist/drivers/index.d.ts +23 -0
  69. package/dist/drivers/index.js +31 -0
  70. package/dist/drivers/index.js.map +1 -0
  71. package/dist/drivers/openai/index.d.ts +24 -0
  72. package/dist/drivers/openai/index.js +110 -0
  73. package/dist/drivers/openai/index.js.map +1 -0
  74. package/dist/drivers/types.d.ts +72 -0
  75. package/dist/drivers/types.js +30 -0
  76. package/dist/drivers/types.js.map +1 -0
  77. package/dist/index.js +35 -1
  78. package/dist/index.js.map +1 -1
  79. package/dist/installGuard.d.ts +25 -0
  80. package/dist/installGuard.js +48 -0
  81. package/dist/installGuard.js.map +1 -0
  82. package/dist/patchworkConfig.d.ts +9 -0
  83. package/dist/patchworkConfig.js.map +1 -1
  84. package/dist/recipes/scheduler.d.ts +23 -7
  85. package/dist/recipes/scheduler.js +135 -41
  86. package/dist/recipes/scheduler.js.map +1 -1
  87. package/dist/recipes/yamlRunner.d.ts +15 -0
  88. package/dist/recipes/yamlRunner.js +325 -26
  89. package/dist/recipes/yamlRunner.js.map +1 -1
  90. package/dist/recipesHttp.d.ts +14 -1
  91. package/dist/recipesHttp.js +21 -4
  92. package/dist/recipesHttp.js.map +1 -1
  93. package/dist/runLog.d.ts +5 -0
  94. package/dist/runLog.js +51 -1
  95. package/dist/runLog.js.map +1 -1
  96. package/dist/server.d.ts +15 -1
  97. package/dist/server.js +458 -31
  98. package/dist/server.js.map +1 -1
  99. package/dist/tools/addLinearComment.d.ts +55 -0
  100. package/dist/tools/addLinearComment.js +72 -0
  101. package/dist/tools/addLinearComment.js.map +1 -0
  102. package/dist/tools/bridgeDoctor.js +2 -2
  103. package/dist/tools/bridgeDoctor.js.map +1 -1
  104. package/dist/tools/createLinearIssue.d.ts +84 -0
  105. package/dist/tools/createLinearIssue.js +146 -0
  106. package/dist/tools/createLinearIssue.js.map +1 -0
  107. package/dist/tools/ctxGetTaskContext.d.ts +4 -1
  108. package/dist/tools/ctxGetTaskContext.js +45 -2
  109. package/dist/tools/ctxGetTaskContext.js.map +1 -1
  110. package/dist/tools/fetchCalendarEvents.d.ts +94 -0
  111. package/dist/tools/fetchCalendarEvents.js +97 -0
  112. package/dist/tools/fetchCalendarEvents.js.map +1 -0
  113. package/dist/tools/fetchGithubIssue.d.ts +80 -0
  114. package/dist/tools/fetchGithubIssue.js +84 -0
  115. package/dist/tools/fetchGithubIssue.js.map +1 -0
  116. package/dist/tools/fetchGithubPR.d.ts +89 -0
  117. package/dist/tools/fetchGithubPR.js +96 -0
  118. package/dist/tools/fetchGithubPR.js.map +1 -0
  119. package/dist/tools/fetchLinearIssue.d.ts +112 -0
  120. package/dist/tools/fetchLinearIssue.js +129 -0
  121. package/dist/tools/fetchLinearIssue.js.map +1 -0
  122. package/dist/tools/fetchSentryIssue.d.ts +143 -0
  123. package/dist/tools/fetchSentryIssue.js +150 -0
  124. package/dist/tools/fetchSentryIssue.js.map +1 -0
  125. package/dist/tools/fetchSlackProfile.d.ts +43 -0
  126. package/dist/tools/fetchSlackProfile.js +46 -0
  127. package/dist/tools/fetchSlackProfile.js.map +1 -0
  128. package/dist/tools/getConnectorStatus.d.ts +58 -0
  129. package/dist/tools/getConnectorStatus.js +56 -0
  130. package/dist/tools/getConnectorStatus.js.map +1 -0
  131. package/dist/tools/github/index.d.ts +1 -1
  132. package/dist/tools/github/index.js +1 -1
  133. package/dist/tools/github/index.js.map +1 -1
  134. package/dist/tools/github/pr.d.ts +122 -0
  135. package/dist/tools/github/pr.js +183 -0
  136. package/dist/tools/github/pr.js.map +1 -1
  137. package/dist/tools/index.js +27 -1
  138. package/dist/tools/index.js.map +1 -1
  139. package/dist/tools/slackListChannels.d.ts +65 -0
  140. package/dist/tools/slackListChannels.js +70 -0
  141. package/dist/tools/slackListChannels.js.map +1 -0
  142. package/dist/tools/slackPostMessage.d.ts +57 -0
  143. package/dist/tools/slackPostMessage.js +77 -0
  144. package/dist/tools/slackPostMessage.js.map +1 -0
  145. package/dist/tools/updateLinearIssue.d.ts +89 -0
  146. package/dist/tools/updateLinearIssue.js +117 -0
  147. package/dist/tools/updateLinearIssue.js.map +1 -0
  148. package/package.json +4 -2
  149. package/scripts/start-all.sh +56 -19
  150. package/templates/co.patchwork-os.bridge.plist +34 -0
  151. package/templates/recipes/ctx-loop-test.yaml +75 -0
  152. package/templates/recipes/morning-brief-slack.yaml +57 -0
  153. package/templates/recipes/morning-brief.yaml +21 -5
  154. package/templates/recipes/sentry-to-linear.yaml +77 -0
@@ -0,0 +1,94 @@
1
+ import { execSync, spawnSync } from "node:child_process";
2
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
3
+ import { homedir } from "node:os";
4
+ import path from "node:path";
5
+ import { fileURLToPath } from "node:url";
6
+ import { detectWorkspaceSymlinkInstall, PATCHWORK_PACKAGE_NAME, SYMLINK_INSTALL_FIX, } from "../installGuard.js";
7
+ const PLIST_LABEL = "co.patchwork-os.bridge";
8
+ const PLIST_DEST = path.join(homedir(), "Library", "LaunchAgents", `${PLIST_LABEL}.plist`);
9
+ const LOG_DIR = path.join(homedir(), "Library", "Logs", "patchwork-os");
10
+ function plistTemplate() {
11
+ // Look for template relative to this file in dist/ → templates/
12
+ const here = fileURLToPath(import.meta.url);
13
+ const templatePath = path.join(path.dirname(here), "..", "..", "templates", `${PLIST_LABEL}.plist`);
14
+ if (!existsSync(templatePath)) {
15
+ throw new Error(`plist template not found at ${templatePath}`);
16
+ }
17
+ return readFileSync(templatePath, "utf-8");
18
+ }
19
+ function binaryPath() {
20
+ // Try to find the globally installed binary
21
+ const result = spawnSync("which", ["patchwork-os"], { encoding: "utf-8" });
22
+ if (!result.error && result.stdout.trim())
23
+ return result.stdout.trim();
24
+ // Fallback: use process.execPath (node) with the main script
25
+ return process.execPath;
26
+ }
27
+ export async function runLaunchdInstall(_argv) {
28
+ if (process.platform !== "darwin") {
29
+ process.stderr.write("launchd is only available on macOS\n");
30
+ process.exit(1);
31
+ }
32
+ // Refuse to register a LaunchAgent when a symlinked global install is detected.
33
+ // launchctl can hit EPERM when the macOS sandbox follows that link into
34
+ // workspace directories such as ~/Documents.
35
+ const symlinkInfo = detectWorkspaceSymlinkInstall();
36
+ if (symlinkInfo) {
37
+ process.stderr.write(`\nError: cannot install LaunchAgent — detected a symlinked global ${PATCHWORK_PACKAGE_NAME} install.\n` +
38
+ ` Logical root: ${symlinkInfo.logicalRoot}\n` +
39
+ ` Real path: ${symlinkInfo.realRoot}\n\n` +
40
+ " The macOS sandbox can deny access to workspace files under ~/Documents,\n" +
41
+ " causing EPERM when launchctl starts the bridge.\n\n" +
42
+ SYMLINK_INSTALL_FIX +
43
+ " Then re-run: patchwork-os launchd install\n\n");
44
+ process.exit(1);
45
+ }
46
+ const home = homedir();
47
+ const bin = binaryPath();
48
+ let plist = plistTemplate();
49
+ plist = plist.replaceAll("__BINARY_PATH__", bin);
50
+ plist = plist.replaceAll("__HOME__", home);
51
+ mkdirSync(LOG_DIR, { recursive: true });
52
+ mkdirSync(path.dirname(PLIST_DEST), { recursive: true });
53
+ // Unload first if already loaded
54
+ if (existsSync(PLIST_DEST)) {
55
+ spawnSync("launchctl", ["unload", PLIST_DEST]);
56
+ }
57
+ writeFileSync(PLIST_DEST, plist, { mode: 0o644 });
58
+ try {
59
+ execSync(`launchctl load -w "${PLIST_DEST}"`, { stdio: "pipe" });
60
+ }
61
+ catch (err) {
62
+ process.stderr.write(`Warning: launchctl load failed: ${err instanceof Error ? err.message : String(err)}\n`);
63
+ }
64
+ process.stdout.write(`✓ Patchwork OS installed as launchd agent\n`);
65
+ process.stdout.write(` Plist: ${PLIST_DEST}\n`);
66
+ process.stdout.write(` Logs: ${LOG_DIR}/bridge.log\n`);
67
+ process.stdout.write(` The bridge will start automatically on login.\n`);
68
+ process.stdout.write(`\n To uninstall: patchwork-os launchd uninstall\n`);
69
+ }
70
+ export async function runLaunchdUninstall(_argv) {
71
+ if (process.platform !== "darwin") {
72
+ process.stderr.write("launchd is only available on macOS\n");
73
+ process.exit(1);
74
+ }
75
+ if (!existsSync(PLIST_DEST)) {
76
+ process.stdout.write("Patchwork OS launchd agent not installed.\n");
77
+ return;
78
+ }
79
+ try {
80
+ execSync(`launchctl unload -w "${PLIST_DEST}"`, { stdio: "pipe" });
81
+ }
82
+ catch {
83
+ /* may fail if not loaded */
84
+ }
85
+ const { unlinkSync } = await import("node:fs");
86
+ try {
87
+ unlinkSync(PLIST_DEST);
88
+ }
89
+ catch {
90
+ /* ok */
91
+ }
92
+ process.stdout.write(`✓ Patchwork OS launchd agent removed\n`);
93
+ }
94
+ //# sourceMappingURL=launchd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launchd.js","sourceRoot":"","sources":["../../src/commands/launchd.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -12,10 +12,11 @@ export interface Config {
12
12
  commandTimeout: number;
13
13
  maxResultSize: number;
14
14
  vscodeCommandAllowlist: string[];
15
+ configFilePath?: string | null;
15
16
  activeWorkspaceFolder: string;
16
17
  gracePeriodMs: number;
17
18
  autoTmux: boolean;
18
- claudeDriver: "subprocess" | "api" | "none";
19
+ driver: "subprocess" | "api" | "openai" | "grok" | "gemini" | "none";
19
20
  claudeBinary: string;
20
21
  antBinary: string;
21
22
  automationEnabled: boolean;
@@ -79,7 +80,9 @@ interface ConfigFile {
79
80
  editorCommand?: string;
80
81
  ideName?: string;
81
82
  autoTmux?: boolean;
82
- claudeDriver?: "subprocess" | "api" | "none";
83
+ driver?: "subprocess" | "api" | "openai" | "grok" | "gemini" | "none";
84
+ /** @deprecated Use driver instead. */
85
+ claudeDriver?: "subprocess" | "api" | "openai" | "grok" | "gemini" | "none";
83
86
  claudeBinary?: string;
84
87
  antBinary?: string;
85
88
  automationEnabled?: boolean;
@@ -101,5 +104,7 @@ interface ConfigFile {
101
104
  * On any error (file not found, parse failure) logs a warning and returns {}.
102
105
  */
103
106
  export declare function loadConfigFile(configPath?: string): Partial<ConfigFile>;
107
+ export declare function resolveBridgeConfigFilePath(configPath?: string): string;
108
+ export declare function saveBridgeConfigDriver(driver: Config["driver"], configPath?: string): string;
104
109
  export declare function parseConfig(argv: string[]): Config;
105
110
  export {};
package/dist/config.js CHANGED
@@ -116,7 +116,8 @@ const KNOWN_CONFIG_FILE_KEYS = new Set([
116
116
  "editorCommand",
117
117
  "ideName",
118
118
  "autoTmux",
119
- "claudeDriver",
119
+ "driver",
120
+ "claudeDriver", // deprecated alias — still accepted for backward compat
120
121
  "claudeBinary",
121
122
  "antBinary",
122
123
  "automationEnabled",
@@ -192,6 +193,39 @@ export function loadConfigFile(configPath) {
192
193
  }
193
194
  return {};
194
195
  }
196
+ export function resolveBridgeConfigFilePath(configPath) {
197
+ if (configPath)
198
+ return configPath;
199
+ if (process.env.CLAUDE_IDE_BRIDGE_CONFIG) {
200
+ return process.env.CLAUDE_IDE_BRIDGE_CONFIG;
201
+ }
202
+ const cwdConfigPath = path.join(process.cwd(), "claude-ide-bridge.config.json");
203
+ if (fs.existsSync(cwdConfigPath))
204
+ return cwdConfigPath;
205
+ const claudeDir = process.env.CLAUDE_CONFIG_DIR ?? path.join(os.homedir(), ".claude");
206
+ return path.join(claudeDir, "ide", "config.json");
207
+ }
208
+ export function saveBridgeConfigDriver(driver, configPath) {
209
+ const targetPath = resolveBridgeConfigFilePath(configPath);
210
+ let parsed = {};
211
+ if (fs.existsSync(targetPath)) {
212
+ const raw = fs.readFileSync(targetPath, "utf-8");
213
+ const candidate = JSON.parse(raw);
214
+ if (typeof candidate !== "object" ||
215
+ candidate === null ||
216
+ Array.isArray(candidate)) {
217
+ throw new Error(`Bridge config file ${targetPath} is not a JSON object`);
218
+ }
219
+ parsed = candidate;
220
+ }
221
+ delete parsed.claudeDriver;
222
+ parsed.driver = driver;
223
+ fs.mkdirSync(path.dirname(targetPath), { recursive: true });
224
+ fs.writeFileSync(targetPath, JSON.stringify(parsed, null, 2), {
225
+ mode: 0o600,
226
+ });
227
+ return targetPath;
228
+ }
195
229
  function requireArg(args, i, flag) {
196
230
  const value = args[i];
197
231
  if (value === undefined || value.startsWith("--")) {
@@ -253,7 +287,24 @@ export function parseConfig(argv) {
253
287
  ? Math.min(Math.max(rawTtlDays, 1), 90) * 24 * 60 * 60 * 1_000
254
288
  : 24 * 60 * 60 * 1_000; // default 24h
255
289
  let corsOrigins = fileConfig.corsOrigins ?? [];
256
- let claudeDriver = fileConfig.claudeDriver ?? "none";
290
+ // "driver" is the canonical field; "claudeDriver" is the deprecated alias.
291
+ if (fileConfig.claudeDriver && !fileConfig.driver) {
292
+ console.warn('[patchwork-os] Warning: "claudeDriver" in config is deprecated — rename to "driver".');
293
+ }
294
+ const VALID_DRIVER_MODES = [
295
+ "subprocess",
296
+ "api",
297
+ "openai",
298
+ "grok",
299
+ "gemini",
300
+ "none",
301
+ ];
302
+ const rawFileDriver = fileConfig.driver;
303
+ if (rawFileDriver !== undefined &&
304
+ !VALID_DRIVER_MODES.includes(rawFileDriver)) {
305
+ console.warn(`[patchwork-os] Warning: Unknown driver value "${rawFileDriver}" in config file — falling back to "none". Valid values: ${VALID_DRIVER_MODES.join(", ")}.`);
306
+ }
307
+ let driver = fileConfig.driver ?? fileConfig.claudeDriver ?? "none";
257
308
  let claudeBinary = fileConfig.claudeBinary ?? "claude";
258
309
  let antBinary = fileConfig.antBinary ?? "ant";
259
310
  let automationEnabled = fileConfig.automationEnabled ?? false;
@@ -261,7 +312,8 @@ export function parseConfig(argv) {
261
312
  let approvalGate = fileConfig.approvalGate ??
262
313
  "off";
263
314
  let managedSettingsPath = null;
264
- // Read approvalWebhookUrl and approvalGate from patchwork config (non-fatal, CLI flag takes precedence)
315
+ // Read approvalWebhookUrl, approvalGate, driver, and apiKeys from patchwork config
316
+ // (non-fatal; CLI flags and bridge config file take precedence over patchwork config)
265
317
  const approvalWebhookUrl = (() => {
266
318
  try {
267
319
  const pw = loadPatchworkConfig(patchworkConfigPath());
@@ -269,6 +321,21 @@ export function parseConfig(argv) {
269
321
  !fileConfig.approvalGate) {
270
322
  approvalGate = pw.approvalGate;
271
323
  }
324
+ // Seed driver from patchwork config if not already set by fileConfig or CLI
325
+ if (pw.driver && driver === "none") {
326
+ driver = pw.driver;
327
+ }
328
+ // Seed API keys as env vars if not already set (non-destructive)
329
+ if (pw.apiKeys) {
330
+ if (pw.apiKeys.openai && !process.env.OPENAI_API_KEY)
331
+ process.env.OPENAI_API_KEY = pw.apiKeys.openai;
332
+ if (pw.apiKeys.xai && !process.env.XAI_API_KEY)
333
+ process.env.XAI_API_KEY = pw.apiKeys.xai;
334
+ if (pw.apiKeys.google && !process.env.GEMINI_API_KEY)
335
+ process.env.GEMINI_API_KEY = pw.apiKeys.google;
336
+ if (pw.apiKeys.anthropic && !process.env.ANTHROPIC_API_KEY)
337
+ process.env.ANTHROPIC_API_KEY = pw.apiKeys.anthropic;
338
+ }
272
339
  return pw.dashboard?.webhookUrl ?? null;
273
340
  }
274
341
  catch {
@@ -378,14 +445,22 @@ export function parseConfig(argv) {
378
445
  case "--auto-tmux":
379
446
  autoTmux = true;
380
447
  break;
448
+ case "--driver":
381
449
  case "--claude-driver": {
382
- const driverVal = requireArg(args, ++i, "--claude-driver");
450
+ const flagName = args[i];
451
+ if (flagName === "--claude-driver") {
452
+ console.warn("[patchwork-os] Warning: --claude-driver is deprecated — use --driver instead.");
453
+ }
454
+ const driverVal = requireArg(args, ++i, flagName);
383
455
  if (driverVal !== "subprocess" &&
384
456
  driverVal !== "api" &&
457
+ driverVal !== "openai" &&
458
+ driverVal !== "grok" &&
459
+ driverVal !== "gemini" &&
385
460
  driverVal !== "none") {
386
- throw new Error(`Invalid --claude-driver value: "${driverVal}". Must be "subprocess", "api", or "none".`);
461
+ throw new Error(`Invalid ${flagName} value: "${driverVal}". Must be "subprocess", "api", "openai", "grok", "gemini", or "none".`);
387
462
  }
388
- claudeDriver = driverVal;
463
+ driver = driverVal;
389
464
  break;
390
465
  }
391
466
  case "--claude-binary":
@@ -556,7 +631,8 @@ Patchwork:
556
631
  --managed-settings <path> Admin-controlled settings file (highest rule precedence, cannot be overridden by users)
557
632
 
558
633
  Automation:
559
- --claude-driver <mode> Enable Claude subprocess driver: "subprocess" | "api" | "none" (default: "none")
634
+ --driver <mode> AI driver: "subprocess" | "api" | "openai" | "grok" | "gemini" | "none" (default: "none")
635
+ --claude-driver <mode> Deprecated alias for --driver
560
636
  --claude-binary <path> Path to claude binary (default: "claude")
561
637
  --automation Enable event-driven automation hooks (requires --claude-driver != none and --automation-policy)
562
638
  --automation-policy <path> Path to JSON automation policy file
@@ -686,10 +762,11 @@ Environment Variables:
686
762
  commandTimeout,
687
763
  maxResultSize,
688
764
  vscodeCommandAllowlist,
765
+ configFilePath: configFilePath ?? null,
689
766
  activeWorkspaceFolder: workspace,
690
767
  gracePeriodMs,
691
768
  autoTmux,
692
- claudeDriver,
769
+ driver,
693
770
  claudeBinary,
694
771
  antBinary,
695
772
  automationEnabled,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,17 @@
1
1
  /**
2
- * GitHub connector — uses the `gh` CLI for all operations.
3
- * No OAuth app required; piggybacks on `gh auth login`.
2
+ * GitHub connector — routes through the official GitHub MCP server.
4
3
  *
5
- * Exported step helpers used by yamlRunner:
6
- * listIssues(opts) — open issues assigned to / mentioning viewer
7
- * listPRs(opts) — open PRs authored by / requested for review by viewer
8
- * getStatus() — { connected: boolean, user?: string }
4
+ * Endpoint: https://api.githubcopilot.com/mcp/
5
+ * Auth: OAuth 2.0 via github.com/login/oauth (requires pre-registered
6
+ * Patchwork OS OAuth App; client_id via PATCHWORK_GITHUB_CLIENT_ID env).
7
+ *
8
+ * HTTP routes (wired in src/server.ts):
9
+ * GET /connections/github/authorize — returns { url } for popup
10
+ * GET /connections/github/callback — token exchange
11
+ * POST /connections/github/test — ping MCP server
12
+ * DELETE /connections/github — delete token
13
+ *
14
+ * Exports preserved for yamlRunner; listIssues/listPRs are now async.
9
15
  */
10
16
  export interface GitHubIssue {
11
17
  number: number;
@@ -36,9 +42,53 @@ export interface ListPRsOpts {
36
42
  limit?: number;
37
43
  repo?: string;
38
44
  }
45
+ export interface ConnectorHandlerResult {
46
+ status: number;
47
+ body: string;
48
+ contentType?: string;
49
+ redirect?: string;
50
+ }
39
51
  export declare function getStatus(): {
40
52
  connected: boolean;
41
53
  user?: string;
42
54
  };
43
- export declare function listIssues(opts?: ListIssuesOpts): GitHubIssue[];
44
- export declare function listPRs(opts?: ListPRsOpts): GitHubPR[];
55
+ export declare function listIssues(opts?: ListIssuesOpts): Promise<GitHubIssue[]>;
56
+ export declare function listPRs(opts?: ListPRsOpts): Promise<GitHubPR[]>;
57
+ export interface GitHubIssueDetail {
58
+ number: number;
59
+ title: string;
60
+ body: string;
61
+ state: string;
62
+ url: string;
63
+ repo: string;
64
+ author: string;
65
+ labels: string[];
66
+ assignees: string[];
67
+ createdAt: string;
68
+ updatedAt: string;
69
+ comments: number;
70
+ }
71
+ export interface GitHubPRDetail {
72
+ number: number;
73
+ title: string;
74
+ body: string;
75
+ state: string;
76
+ url: string;
77
+ repo: string;
78
+ author: string;
79
+ isDraft: boolean;
80
+ reviewDecision: string;
81
+ labels: string[];
82
+ headBranch: string;
83
+ baseBranch: string;
84
+ createdAt: string;
85
+ updatedAt: string;
86
+ additions: number;
87
+ deletions: number;
88
+ }
89
+ export declare function fetchGitHubIssue(ref: string, signal?: AbortSignal): Promise<GitHubIssueDetail>;
90
+ export declare function fetchGitHubPR(ref: string, signal?: AbortSignal): Promise<GitHubPRDetail>;
91
+ export declare function handleGithubAuthorize(): Promise<ConnectorHandlerResult>;
92
+ export declare function handleGithubCallback(code: string | null, state: string | null, error: string | null): Promise<ConnectorHandlerResult>;
93
+ export declare function handleGithubTest(): Promise<ConnectorHandlerResult>;
94
+ export declare function handleGithubDisconnect(): Promise<ConnectorHandlerResult>;