patchwork-os 0.2.0-alpha.0 → 0.2.0-alpha.3

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 (75) hide show
  1. package/README.md +41 -46
  2. package/dist/claudeDriver.d.ts +3 -1
  3. package/dist/claudeDriver.js +48 -0
  4. package/dist/claudeDriver.js.map +1 -1
  5. package/dist/commands/dashboard.d.ts +47 -0
  6. package/dist/commands/dashboard.js +319 -0
  7. package/dist/commands/dashboard.js.map +1 -0
  8. package/dist/config.d.ts +2 -2
  9. package/dist/config.js +5 -2
  10. package/dist/config.js.map +1 -1
  11. package/dist/connectors/github.d.ts +44 -0
  12. package/dist/connectors/github.js +113 -0
  13. package/dist/connectors/github.js.map +1 -0
  14. package/dist/connectors/gmail.d.ts +40 -0
  15. package/dist/connectors/gmail.js +289 -0
  16. package/dist/connectors/gmail.js.map +1 -0
  17. package/dist/connectors/linear.d.ts +67 -0
  18. package/dist/connectors/linear.js +198 -0
  19. package/dist/connectors/linear.js.map +1 -0
  20. package/dist/connectors/sentry.d.ts +47 -0
  21. package/dist/connectors/sentry.js +204 -0
  22. package/dist/connectors/sentry.js.map +1 -0
  23. package/dist/drivers/claude/api.d.ts +11 -0
  24. package/dist/drivers/claude/api.js +54 -0
  25. package/dist/drivers/claude/api.js.map +1 -0
  26. package/dist/drivers/claude/envSanitizer.d.ts +7 -0
  27. package/dist/drivers/claude/envSanitizer.js +18 -0
  28. package/dist/drivers/claude/envSanitizer.js.map +1 -0
  29. package/dist/drivers/claude/streamParser.d.ts +38 -0
  30. package/dist/drivers/claude/streamParser.js +34 -0
  31. package/dist/drivers/claude/streamParser.js.map +1 -0
  32. package/dist/drivers/claude/subprocess.d.ts +19 -0
  33. package/dist/drivers/claude/subprocess.js +216 -0
  34. package/dist/drivers/claude/subprocess.js.map +1 -0
  35. package/dist/drivers/claude/subprocessSettings.d.ts +9 -0
  36. package/dist/drivers/claude/subprocessSettings.js +55 -0
  37. package/dist/drivers/claude/subprocessSettings.js.map +1 -0
  38. package/dist/drivers/gemini/index.d.ts +14 -0
  39. package/dist/drivers/gemini/index.js +176 -0
  40. package/dist/drivers/gemini/index.js.map +1 -0
  41. package/dist/drivers/grok/index.d.ts +11 -0
  42. package/dist/drivers/grok/index.js +22 -0
  43. package/dist/drivers/grok/index.js.map +1 -0
  44. package/dist/drivers/index.d.ts +18 -0
  45. package/dist/drivers/index.js +31 -0
  46. package/dist/drivers/index.js.map +1 -0
  47. package/dist/drivers/openai/index.d.ts +24 -0
  48. package/dist/drivers/openai/index.js +110 -0
  49. package/dist/drivers/openai/index.js.map +1 -0
  50. package/dist/drivers/types.d.ts +72 -0
  51. package/dist/drivers/types.js +30 -0
  52. package/dist/drivers/types.js.map +1 -0
  53. package/dist/index.js +116 -22
  54. package/dist/index.js.map +1 -1
  55. package/dist/recipes/yamlRunner.d.ts +95 -0
  56. package/dist/recipes/yamlRunner.js +598 -0
  57. package/dist/recipes/yamlRunner.js.map +1 -0
  58. package/dist/server.js +272 -1
  59. package/dist/server.js.map +1 -1
  60. package/dist/tools/ctxGetTaskContext.d.ts +4 -1
  61. package/dist/tools/ctxGetTaskContext.js +45 -2
  62. package/dist/tools/ctxGetTaskContext.js.map +1 -1
  63. package/dist/tools/fetchLinearIssue.d.ts +112 -0
  64. package/dist/tools/fetchLinearIssue.js +129 -0
  65. package/dist/tools/fetchLinearIssue.js.map +1 -0
  66. package/dist/tools/fetchSentryIssue.d.ts +143 -0
  67. package/dist/tools/fetchSentryIssue.js +150 -0
  68. package/dist/tools/fetchSentryIssue.js.map +1 -0
  69. package/dist/tools/index.js +4 -0
  70. package/dist/tools/index.js.map +1 -1
  71. package/package.json +1 -1
  72. package/templates/recipes/gmail-health-check.yaml +19 -0
  73. package/templates/recipes/inbox-triage.yaml +15 -0
  74. package/templates/recipes/morning-brief.yaml +64 -0
  75. package/templates/scheduled-tasks/morning-brief/SKILL.md +37 -0
package/README.md CHANGED
@@ -2,71 +2,66 @@
2
2
 
3
3
  **AI that works while you're away. Runs on your machine. Doesn't lock you in.**
4
4
 
5
- Most AI assistants wait for you to type. Patchwork OS does the opposite: it watches for things that matter, does the work, and hands you a summary when you're ready.
6
-
7
- - **A parent's morning.** School emails sorted, the field-trip form flagged, a reply drafted to the teacher — done before the first coffee. You approve, it sends.
8
- - **A developer's overnight.** Tests run on every push, flaky ones quarantined, a clean PR opened against the failing build. You wake up to a passing CI and a short note on what changed.
9
- - **A small business's inbox.** New customer questions triaged, invoices matched to orders, three follow-ups drafted in your voice. Nothing sends without your nod.
5
+ ```bash
6
+ npx patchwork-os@alpha patchwork-init
7
+ ```
10
8
 
11
- **How it works**
9
+ That one command sets up 5 local recipes, detects Ollama, and drops a terminal dashboard at your fingertips — under 90 seconds on a warm npm cache.
12
10
 
13
- - **Recipes** plain YAML files describe what to watch for and what to do. Share them like dotfiles. No code required.
14
- - **Your models, your keys** — Claude, GPT, Gemini, Grok, or local Ollama. Swap anytime. Nothing phones home.
15
- - **Oversight you actually use** — a dashboard on your phone approves or rejects anything risky before it happens.
11
+ ## What it does
16
12
 
17
- Read the founding essay: [NARRATIVE.md](./NARRATIVE.md) · Full docs below.
13
+ Patchwork OS watches for things that matter, acts, and asks before anything risky goes out.
18
14
 
19
- > Status: **Phase 0 Foundation** (alpha, not yet published). Open source (MIT). Built on the [Claude IDE Bridge](./README.bridge.md).
15
+ - **A developer's overnight.** Tests fail on a push a one-paragraph triage note lands in your inbox. You wake up knowing where to look.
16
+ - **A small business's inbox.** New customer questions triaged, follow-ups drafted in your voice. Nothing sends without your nod.
17
+ - **A parent's morning.** Field-trip form flagged, reply drafted to the teacher — done before the first coffee.
20
18
 
21
- ## Why
19
+ ## How it works
22
20
 
23
- Existing AI assistants answer questions. Patchwork OS *does things* while
24
- you're at your kid's soccer game or asleep:
25
-
26
- - **Multi-model from day one** — Claude, OpenAI, Gemini, Grok, local LLMs (Ollama)
27
- - **Drag-and-drop recipes** — YAML automation anyone can write
28
- - **Oversight dashboard** — approve/reject high-risk actions from phone
29
- - **Proven core** — 2,725+ tests, real-time IDE context, 170 built-in tools
30
- - **100% MIT**
21
+ - **Recipes** plain YAML files describe what to watch and what to do. Share them like dotfiles. No code required.
22
+ - **Your models, your keys** Claude, GPT, Gemini, Grok, or local Ollama. Swap anytime. Nothing phones home.
23
+ - **Oversight first** — everything risky lands in `~/.patchwork/inbox/` for your approval before it goes anywhere.
31
24
 
32
- ## Quick start (alpha)
25
+ ## After init
33
26
 
34
27
  ```bash
35
- npm install && npm run build
36
- node dist/index.js --model claude --full
28
+ patchwork-os recipe list # see installed recipes
29
+ patchwork-os recipe run daily-status # run one now
30
+ patchwork-os # open terminal dashboard
37
31
  ```
38
32
 
39
- Config lives at `~/.patchwork/config.json`. See [`config.schema.json`](./config.schema.json).
33
+ The oversight web UI runs at `http://localhost:3100` when the bridge is active.
40
34
 
41
- ## Roadmap
35
+ ## 5 starter recipes (no API key needed)
42
36
 
43
- | Phase | Name | Status |
37
+ | Recipe | Trigger | What it does |
44
38
  |---|---|---|
45
- | 0 | Foundation rename, config, ModelAdapter | **in progress** |
46
- | 1 | Multi-model + Dashboard MVP | planned |
47
- | 2 | Recipe System + non-code workflows | planned |
48
- | 3 | Security + headless / mobile | planned |
49
- | 4 | Community + ecosystem | planned |
50
- | 5 | Optional hosted tier | year 2 |
51
-
52
- Full plan: `../Patchwork_OS_Plan_and_Roadmap.docx`.
39
+ | `ambient-journal` | git commit | appends one line to `~/.patchwork/journal/` |
40
+ | `daily-status` | cron 08:00 | morning brief from yesterday's commits |
41
+ | `watch-failing-tests` | test run | drops triage note to inbox on failure |
42
+ | `lint-on-save` | file save | surfaces new TS/JS diagnostics to inbox |
43
+ | `stale-branches` | cron weekly | lists branches older than 30 days |
53
44
 
54
- ## Architecture
45
+ All 5 write to `~/.patchwork/inbox/` only. Nothing is sent anywhere without your approval.
55
46
 
56
- Patchwork OS **extends** the Claude IDE Bridge, it does not replace it. The
57
- bridge's MCP server, automation hooks, orchestrator, plugin system, and tool
58
- library are the substrate. Patchwork adds:
59
-
60
- 1. `src/adapters/` — `ModelAdapter` interface + per-provider implementations
61
- 2. `src/recipes/` — YAML recipe parser → existing automation DSL *(planned)*
62
- 3. `dashboard/` — Next.js oversight UI *(planned)*
47
+ ## Roadmap
63
48
 
64
- For the underlying bridge docs see [README.bridge.md](./README.bridge.md).
49
+ | Phase | Status |
50
+ |---|---|
51
+ | Foundation — init, recipes, terminal dashboard | **shipped (W1)** |
52
+ | Connectors — Gmail, calendar, Slack | W2 |
53
+ | Mobile oversight — approve from phone | W3 |
54
+ | Community recipes + ecosystem | Q3 |
65
55
 
66
- ## Contributing
56
+ ## From source
67
57
 
68
- See [CONTRIBUTING.md](./CONTRIBUTING.md).
58
+ ```bash
59
+ git clone https://github.com/Oolab-labs/patchwork-os
60
+ cd patchwork-os
61
+ npm install && npm run build
62
+ node dist/index.js patchwork-init
63
+ ```
69
64
 
70
65
  ## License
71
66
 
72
- MIT © Oolab Labs.
67
+ MIT © Oolab Labs. Built on the [Claude IDE Bridge](./README.bridge.md).
@@ -126,4 +126,6 @@ export declare class ServerModeDriver implements IClaudeDriver {
126
126
  */
127
127
  export declare function scrubSecrets(text: string): string;
128
128
  /** Factory: creates the appropriate driver from a config mode string. */
129
- export declare function createDriver(mode: "subprocess" | "api" | "none", binary: string, antBinary: string, log: (msg: string) => void): IClaudeDriver | null;
129
+ export declare function createDriver(mode: "subprocess" | "api" | "openai" | "grok" | "gemini" | "none", binary: string, antBinary: string, log: (msg: string) => void): IClaudeDriver | null;
130
+ export type { ProviderDriver, ProviderTaskInput, ProviderTaskOutcome, ProviderTaskResult, } from "./drivers/types.js";
131
+ export { toProviderTaskOutcome } from "./drivers/types.js";
@@ -454,6 +454,54 @@ export function createDriver(mode, binary, antBinary, log) {
454
454
  return new SubprocessDriver(binary, antBinary, log);
455
455
  if (mode === "api")
456
456
  return new ApiDriver(log);
457
+ if (mode === "openai" || mode === "grok" || mode === "gemini")
458
+ return new ProviderDriverAdapter(mode, binary, antBinary, log);
457
459
  throw new Error(`Unknown driver mode: ${mode}`);
458
460
  }
461
+ /**
462
+ * Adapts ProviderDriver (src/drivers/) to the legacy IClaudeDriver interface.
463
+ * Bridges the exitCode: number | undefined → number gap by defaulting to 0.
464
+ * Loaded via dynamic import to keep new provider SDKs as optional peer deps.
465
+ */
466
+ class ProviderDriverAdapter {
467
+ mode;
468
+ binary;
469
+ antBinary;
470
+ log;
471
+ name;
472
+ inner = null;
473
+ constructor(mode, binary, antBinary, log) {
474
+ this.mode = mode;
475
+ this.binary = binary;
476
+ this.antBinary = antBinary;
477
+ this.log = log;
478
+ this.name = mode;
479
+ }
480
+ async getInner() {
481
+ if (this.inner)
482
+ return this.inner;
483
+ const { createDriver: newFactory } = await import("./drivers/index.js");
484
+ const driver = newFactory(this.mode, { binary: this.binary, antBinary: this.antBinary }, this.log);
485
+ if (!driver)
486
+ throw new Error(`Driver mode '${this.mode}' returned null`);
487
+ this.inner = driver;
488
+ return this.inner;
489
+ }
490
+ async run(input) {
491
+ const driver = await this.getInner();
492
+ const result = await driver.run(input);
493
+ return {
494
+ text: result.text,
495
+ exitCode: result.exitCode ?? (result.errorMessage ? 1 : 0),
496
+ durationMs: result.durationMs,
497
+ stderrTail: result.errorMessage,
498
+ wasAborted: result.wasAborted,
499
+ startupMs: result.startupMs,
500
+ };
501
+ }
502
+ async runOutcome(input) {
503
+ return toClaudeTaskOutcome(await this.run(input));
504
+ }
505
+ }
506
+ export { toProviderTaskOutcome } from "./drivers/types.js";
459
507
  //# sourceMappingURL=claudeDriver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claudeDriver.js","sourceRoot":"","sources":["../src/claudeDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claudeDriver.js","sourceRoot":"","sources":["../src/claudeDriver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Terminal dashboard — `patchwork-os` with no args.
3
+ *
4
+ * Polls ~/.patchwork/runs.jsonl (recent recipe activity) and inbox/ (pending
5
+ * items). Renders to stdout with ANSI color. Supports TTY and non-TTY output.
6
+ *
7
+ * Keybindings (TTY only):
8
+ * q / Ctrl-C quit
9
+ * r refresh now
10
+ * o <n> open inbox item n in $EDITOR
11
+ * a <n> approve inbox item (move to ~/.patchwork/approved/)
12
+ */
13
+ export interface RunEntry {
14
+ seq: number;
15
+ recipeName?: string;
16
+ trigger?: string;
17
+ status: "done" | "error" | "running" | "pending" | string;
18
+ createdAt?: number;
19
+ doneAt?: number;
20
+ durationMs?: number;
21
+ outputTail?: string;
22
+ }
23
+ export interface InboxItem {
24
+ index: number;
25
+ filename: string;
26
+ fullPath: string;
27
+ mtime: number;
28
+ preview: string;
29
+ }
30
+ export interface DashboardData {
31
+ version: string;
32
+ recipeCount: number;
33
+ recentRuns: RunEntry[];
34
+ inboxItems: InboxItem[];
35
+ }
36
+ export interface DashboardDeps {
37
+ patchworkDir?: string;
38
+ now?: () => Date;
39
+ stdout?: NodeJS.WriteStream;
40
+ /** Override for tests — skip TTY interaction. */
41
+ noTTY?: boolean;
42
+ }
43
+ export declare function loadRecentRuns(patchworkDir: string, limit?: number): RunEntry[];
44
+ export declare function loadInboxItems(patchworkDir: string, limit?: number): InboxItem[];
45
+ export declare function countRecipes(patchworkDir: string): number;
46
+ export declare function renderDashboard(data: DashboardData, now: Date): string;
47
+ export declare function runDashboard(deps?: DashboardDeps): Promise<void>;
@@ -0,0 +1,319 @@
1
+ /**
2
+ * Terminal dashboard — `patchwork-os` with no args.
3
+ *
4
+ * Polls ~/.patchwork/runs.jsonl (recent recipe activity) and inbox/ (pending
5
+ * items). Renders to stdout with ANSI color. Supports TTY and non-TTY output.
6
+ *
7
+ * Keybindings (TTY only):
8
+ * q / Ctrl-C quit
9
+ * r refresh now
10
+ * o <n> open inbox item n in $EDITOR
11
+ * a <n> approve inbox item (move to ~/.patchwork/approved/)
12
+ */
13
+ import { existsSync, mkdirSync, readdirSync, readFileSync, renameSync, statSync, } from "node:fs";
14
+ import os from "node:os";
15
+ import path from "node:path";
16
+ import readline from "node:readline";
17
+ // ── ANSI helpers ──────────────────────────────────────────────────────────────
18
+ const ESC = "\x1b[";
19
+ const RESET = "\x1b[0m";
20
+ const BOLD = "\x1b[1m";
21
+ const DIM = "\x1b[2m";
22
+ const GREEN = "\x1b[32m";
23
+ const YELLOW = "\x1b[33m";
24
+ const RED = "\x1b[31m";
25
+ const CYAN = "\x1b[36m";
26
+ const BLUE = "\x1b[34m";
27
+ function color(c, s) {
28
+ return `${c}${s}${RESET}`;
29
+ }
30
+ function clearScreen(out) {
31
+ if (out.isTTY) {
32
+ out.write(`${ESC}2J${ESC}H`);
33
+ }
34
+ }
35
+ // ── Data loading ──────────────────────────────────────────────────────────────
36
+ export function loadRecentRuns(patchworkDir, limit = 10) {
37
+ const runsPath = path.join(patchworkDir, "runs.jsonl");
38
+ if (!existsSync(runsPath))
39
+ return [];
40
+ try {
41
+ const lines = readFileSync(runsPath, "utf-8")
42
+ .split("\n")
43
+ .filter(Boolean)
44
+ .slice(-limit * 2);
45
+ const entries = [];
46
+ for (const line of lines) {
47
+ try {
48
+ entries.push(JSON.parse(line));
49
+ }
50
+ catch {
51
+ // skip malformed
52
+ }
53
+ }
54
+ return entries.slice(-limit).reverse();
55
+ }
56
+ catch {
57
+ return [];
58
+ }
59
+ }
60
+ export function loadInboxItems(patchworkDir, limit = 20) {
61
+ const inboxDir = path.join(patchworkDir, "inbox");
62
+ if (!existsSync(inboxDir))
63
+ return [];
64
+ try {
65
+ const files = readdirSync(inboxDir)
66
+ .filter((f) => !f.startsWith("."))
67
+ .map((f) => {
68
+ const fp = path.join(inboxDir, f);
69
+ try {
70
+ const st = statSync(fp);
71
+ return { f, mtime: st.mtimeMs };
72
+ }
73
+ catch {
74
+ return null;
75
+ }
76
+ })
77
+ .filter((x) => x !== null)
78
+ .sort((a, b) => b.mtime - a.mtime)
79
+ .slice(0, limit);
80
+ return files.map(({ f, mtime }, i) => {
81
+ const fp = path.join(inboxDir, f);
82
+ let preview = "";
83
+ try {
84
+ preview = readFileSync(fp, "utf-8")
85
+ .split("\n")
86
+ .slice(0, 3)
87
+ .join(" ")
88
+ .slice(0, 120);
89
+ }
90
+ catch {
91
+ preview = "(unreadable)";
92
+ }
93
+ return { index: i + 1, filename: f, fullPath: fp, mtime, preview };
94
+ });
95
+ }
96
+ catch {
97
+ return [];
98
+ }
99
+ }
100
+ export function countRecipes(patchworkDir) {
101
+ const recipesDir = path.join(patchworkDir, "recipes");
102
+ if (!existsSync(recipesDir))
103
+ return 0;
104
+ try {
105
+ return readdirSync(recipesDir).filter((f) => (f.endsWith(".yaml") || f.endsWith(".yml") || f.endsWith(".json")) &&
106
+ !f.endsWith(".permissions.json")).length;
107
+ }
108
+ catch {
109
+ return 0;
110
+ }
111
+ }
112
+ // ── Rendering ─────────────────────────────────────────────────────────────────
113
+ function formatAge(ms, now) {
114
+ const diff = Math.floor((now - ms) / 1000);
115
+ if (diff < 60)
116
+ return `${diff}s ago`;
117
+ if (diff < 3600)
118
+ return `${Math.floor(diff / 60)}m ago`;
119
+ if (diff < 86400)
120
+ return `${Math.floor(diff / 3600)}h ago`;
121
+ return `${Math.floor(diff / 86400)}d ago`;
122
+ }
123
+ function statusBadge(status) {
124
+ switch (status) {
125
+ case "done":
126
+ return color(GREEN, "✓ done");
127
+ case "error":
128
+ return color(RED, "✗ error");
129
+ case "running":
130
+ return color(YELLOW, "⟳ running");
131
+ default:
132
+ return color(DIM, status);
133
+ }
134
+ }
135
+ export function renderDashboard(data, now) {
136
+ const nowMs = now.getTime();
137
+ const lines = [];
138
+ // Header
139
+ lines.push(`${BOLD}${BLUE}Patchwork OS${RESET} ${DIM}v${data.version}${RESET} • ${color(CYAN, String(data.recipeCount))} recipes active`);
140
+ lines.push("");
141
+ // Recent activity
142
+ lines.push(color(BOLD, "RECENT (last 10 runs)"));
143
+ if (data.recentRuns.length === 0) {
144
+ lines.push(` ${DIM}No runs yet. Try: patchwork-os recipe run ambient-journal${RESET}`);
145
+ }
146
+ else {
147
+ for (const run of data.recentRuns) {
148
+ const ts = run.createdAt ? `[${formatAge(run.createdAt, nowMs)}]` : "";
149
+ const name = run.recipeName ?? run.trigger ?? "unknown";
150
+ const badge = statusBadge(run.status);
151
+ const dur = run.durationMs
152
+ ? ` (${(run.durationMs / 1000).toFixed(1)}s)`
153
+ : "";
154
+ const tail = run.outputTail
155
+ ? ` ${DIM}→ ${run.outputTail.split("\n")[0]?.slice(0, 80)}${RESET}`
156
+ : "";
157
+ lines.push(` ${DIM}${ts.padEnd(10)}${RESET} ${color(CYAN, name).padEnd(30)} ${badge}${dur}${tail}`);
158
+ }
159
+ }
160
+ lines.push("");
161
+ // Inbox
162
+ lines.push(color(BOLD, `INBOX (${data.inboxItems.length} pending approval)`));
163
+ if (data.inboxItems.length === 0) {
164
+ lines.push(` ${DIM}Empty${RESET}`);
165
+ }
166
+ else {
167
+ for (const item of data.inboxItems) {
168
+ const age = formatAge(item.mtime, nowMs);
169
+ lines.push(` ${color(YELLOW, String(item.index).padStart(2))} ${item.filename.padEnd(40)} ${DIM}${age}${RESET}`);
170
+ if (item.preview) {
171
+ lines.push(` ${DIM}${item.preview}${RESET}`);
172
+ }
173
+ }
174
+ }
175
+ lines.push("");
176
+ return lines.join("\n");
177
+ }
178
+ function renderHelp(isTTY) {
179
+ if (!isTTY)
180
+ return "";
181
+ return `${DIM} q quit r refresh o <n> open in $EDITOR a <n> approve${RESET}\n`;
182
+ }
183
+ // ── Approve / open helpers ────────────────────────────────────────────────────
184
+ function approveItem(item, patchworkDir) {
185
+ const approvedDir = path.join(patchworkDir, "approved");
186
+ mkdirSync(approvedDir, { recursive: true });
187
+ const dest = path.join(approvedDir, item.filename);
188
+ renameSync(item.fullPath, dest);
189
+ return ` ✓ moved to approved/${item.filename}`;
190
+ }
191
+ function openInEditor(item) {
192
+ const editor = process.env.EDITOR ?? process.env.VISUAL ?? "vi";
193
+ const { spawnSync } = require("node:child_process");
194
+ spawnSync(editor, [item.fullPath], { stdio: "inherit" });
195
+ }
196
+ // ── Main loop ─────────────────────────────────────────────────────────────────
197
+ export async function runDashboard(deps = {}) {
198
+ const patchworkDir = deps.patchworkDir ?? path.join(os.homedir(), ".patchwork");
199
+ const out = deps.stdout ?? process.stdout;
200
+ const isTTY = !deps.noTTY && out.isTTY === true;
201
+ const getNow = deps.now ?? (() => new Date());
202
+ // Read version from package.json
203
+ let version = "0.2.0";
204
+ try {
205
+ const pkg = JSON.parse(readFileSync(path.join(path.dirname(path.dirname(new URL(import.meta.url).pathname)), "package.json"), "utf-8"));
206
+ version = pkg.version;
207
+ }
208
+ catch {
209
+ // fallback
210
+ }
211
+ function getData() {
212
+ return {
213
+ version,
214
+ recipeCount: countRecipes(patchworkDir),
215
+ recentRuns: loadRecentRuns(patchworkDir),
216
+ inboxItems: loadInboxItems(patchworkDir),
217
+ };
218
+ }
219
+ function refresh() {
220
+ if (isTTY)
221
+ clearScreen(out);
222
+ const data = getData();
223
+ out.write(renderDashboard(data, getNow()));
224
+ out.write(renderHelp(isTTY));
225
+ if (!isTTY) {
226
+ // Non-TTY: print once and exit
227
+ process.exit(0);
228
+ }
229
+ }
230
+ if (!isTTY) {
231
+ refresh();
232
+ return;
233
+ }
234
+ // TTY interactive mode
235
+ refresh();
236
+ const pollInterval = setInterval(refresh, 5_000);
237
+ readline.emitKeypressEvents(process.stdin);
238
+ if (process.stdin.isTTY) {
239
+ process.stdin.setRawMode(true);
240
+ }
241
+ let inputBuffer = "";
242
+ function handleKey(str, key) {
243
+ if (key?.ctrl && key.name === "c") {
244
+ cleanup();
245
+ return;
246
+ }
247
+ const ch = str ?? "";
248
+ if (ch === "q") {
249
+ cleanup();
250
+ return;
251
+ }
252
+ if (ch === "r") {
253
+ refresh();
254
+ inputBuffer = "";
255
+ return;
256
+ }
257
+ if (ch === "\r" || ch === "\n") {
258
+ const parts = inputBuffer.trim().split(/\s+/);
259
+ const cmd = parts[0]?.toLowerCase();
260
+ const idx = Number(parts[1]);
261
+ inputBuffer = "";
262
+ if ((cmd === "o" || cmd === "a") && Number.isFinite(idx) && idx > 0) {
263
+ const data = getData();
264
+ const item = data.inboxItems.find((x) => x.index === idx);
265
+ if (!item) {
266
+ out.write(`\n Item ${idx} not found.\n`);
267
+ return;
268
+ }
269
+ if (cmd === "o") {
270
+ cleanup(false);
271
+ openInEditor(item);
272
+ // Re-enter dashboard after editor exits
273
+ if (process.stdin.isTTY)
274
+ process.stdin.setRawMode(true);
275
+ refresh();
276
+ const newInterval = setInterval(refresh, 5_000);
277
+ process.stdin.on("keypress", handleKey);
278
+ process.once("SIGINT", () => {
279
+ clearInterval(newInterval);
280
+ process.exit(0);
281
+ });
282
+ return;
283
+ }
284
+ if (cmd === "a") {
285
+ const msg = approveItem(item, patchworkDir);
286
+ out.write(`\n${msg}\n`);
287
+ setTimeout(refresh, 200);
288
+ return;
289
+ }
290
+ }
291
+ return;
292
+ }
293
+ // Accumulate input for multi-char commands like "o 2"
294
+ if (/[\w\s]/.test(ch)) {
295
+ inputBuffer += ch;
296
+ out.write(ch);
297
+ }
298
+ }
299
+ process.stdin.on("keypress", handleKey);
300
+ process.once("SIGINT", cleanup);
301
+ function cleanup(doExit = true) {
302
+ clearInterval(pollInterval);
303
+ process.stdin.removeListener("keypress", handleKey);
304
+ if (process.stdin.isTTY) {
305
+ try {
306
+ process.stdin.setRawMode(false);
307
+ }
308
+ catch {
309
+ /* ignore */
310
+ }
311
+ }
312
+ out.write("\n");
313
+ if (doExit)
314
+ process.exit(0);
315
+ }
316
+ // Keep process alive
317
+ await new Promise(() => { });
318
+ }
319
+ //# sourceMappingURL=dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -15,7 +15,7 @@ export interface Config {
15
15
  activeWorkspaceFolder: string;
16
16
  gracePeriodMs: number;
17
17
  autoTmux: boolean;
18
- claudeDriver: "subprocess" | "api" | "none";
18
+ claudeDriver: "subprocess" | "api" | "openai" | "grok" | "gemini" | "none";
19
19
  claudeBinary: string;
20
20
  antBinary: string;
21
21
  automationEnabled: boolean;
@@ -79,7 +79,7 @@ interface ConfigFile {
79
79
  editorCommand?: string;
80
80
  ideName?: string;
81
81
  autoTmux?: boolean;
82
- claudeDriver?: "subprocess" | "api" | "none";
82
+ claudeDriver?: "subprocess" | "api" | "openai" | "grok" | "gemini" | "none";
83
83
  claudeBinary?: string;
84
84
  antBinary?: string;
85
85
  automationEnabled?: boolean;