@electric-agent/agent 1.0.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 (127) hide show
  1. package/dist/agents/clarifier.d.ts +16 -0
  2. package/dist/agents/clarifier.d.ts.map +1 -0
  3. package/dist/agents/clarifier.js +158 -0
  4. package/dist/agents/clarifier.js.map +1 -0
  5. package/dist/agents/coder.d.ts +14 -0
  6. package/dist/agents/coder.d.ts.map +1 -0
  7. package/dist/agents/coder.js +126 -0
  8. package/dist/agents/coder.js.map +1 -0
  9. package/dist/agents/planner.d.ts +6 -0
  10. package/dist/agents/planner.d.ts.map +1 -0
  11. package/dist/agents/planner.js +69 -0
  12. package/dist/agents/planner.js.map +1 -0
  13. package/dist/agents/prompts.d.ts +9 -0
  14. package/dist/agents/prompts.d.ts.map +1 -0
  15. package/dist/agents/prompts.js +231 -0
  16. package/dist/agents/prompts.js.map +1 -0
  17. package/dist/cli/headless.d.ts +9 -0
  18. package/dist/cli/headless.d.ts.map +1 -0
  19. package/dist/cli/headless.js +506 -0
  20. package/dist/cli/headless.js.map +1 -0
  21. package/dist/cli/serve.d.ts +6 -0
  22. package/dist/cli/serve.d.ts.map +1 -0
  23. package/dist/cli/serve.js +113 -0
  24. package/dist/cli/serve.js.map +1 -0
  25. package/dist/engine/message-parser.d.ts +8 -0
  26. package/dist/engine/message-parser.d.ts.map +1 -0
  27. package/dist/engine/message-parser.js +106 -0
  28. package/dist/engine/message-parser.js.map +1 -0
  29. package/dist/engine/orchestrator.d.ts +50 -0
  30. package/dist/engine/orchestrator.d.ts.map +1 -0
  31. package/dist/engine/orchestrator.js +492 -0
  32. package/dist/engine/orchestrator.js.map +1 -0
  33. package/dist/engine/stdio-adapter.d.ts +24 -0
  34. package/dist/engine/stdio-adapter.d.ts.map +1 -0
  35. package/dist/engine/stdio-adapter.js +139 -0
  36. package/dist/engine/stdio-adapter.js.map +1 -0
  37. package/dist/engine/stream-adapter.d.ts +45 -0
  38. package/dist/engine/stream-adapter.d.ts.map +1 -0
  39. package/dist/engine/stream-adapter.js +154 -0
  40. package/dist/engine/stream-adapter.js.map +1 -0
  41. package/dist/find-env.d.ts +3 -0
  42. package/dist/find-env.d.ts.map +1 -0
  43. package/dist/find-env.js +16 -0
  44. package/dist/find-env.js.map +1 -0
  45. package/dist/git/index.d.ts +114 -0
  46. package/dist/git/index.d.ts.map +1 -0
  47. package/dist/git/index.js +434 -0
  48. package/dist/git/index.js.map +1 -0
  49. package/dist/hooks/block-bash.d.ts +7 -0
  50. package/dist/hooks/block-bash.d.ts.map +1 -0
  51. package/dist/hooks/block-bash.js +15 -0
  52. package/dist/hooks/block-bash.js.map +1 -0
  53. package/dist/hooks/dependency-guard.d.ts +7 -0
  54. package/dist/hooks/dependency-guard.d.ts.map +1 -0
  55. package/dist/hooks/dependency-guard.js +43 -0
  56. package/dist/hooks/dependency-guard.js.map +1 -0
  57. package/dist/hooks/guardrail-inject.d.ts +17 -0
  58. package/dist/hooks/guardrail-inject.d.ts.map +1 -0
  59. package/dist/hooks/guardrail-inject.js +69 -0
  60. package/dist/hooks/guardrail-inject.js.map +1 -0
  61. package/dist/hooks/import-validation.d.ts +7 -0
  62. package/dist/hooks/import-validation.d.ts.map +1 -0
  63. package/dist/hooks/import-validation.js +192 -0
  64. package/dist/hooks/import-validation.js.map +1 -0
  65. package/dist/hooks/index.d.ts +15 -0
  66. package/dist/hooks/index.d.ts.map +1 -0
  67. package/dist/hooks/index.js +42 -0
  68. package/dist/hooks/index.js.map +1 -0
  69. package/dist/hooks/migration-validation.d.ts +9 -0
  70. package/dist/hooks/migration-validation.d.ts.map +1 -0
  71. package/dist/hooks/migration-validation.js +62 -0
  72. package/dist/hooks/migration-validation.js.map +1 -0
  73. package/dist/hooks/schema-consistency.d.ts +12 -0
  74. package/dist/hooks/schema-consistency.d.ts.map +1 -0
  75. package/dist/hooks/schema-consistency.js +72 -0
  76. package/dist/hooks/schema-consistency.js.map +1 -0
  77. package/dist/hooks/write-protection.d.ts +7 -0
  78. package/dist/hooks/write-protection.d.ts.map +1 -0
  79. package/dist/hooks/write-protection.js +33 -0
  80. package/dist/hooks/write-protection.js.map +1 -0
  81. package/dist/index.d.ts +3 -0
  82. package/dist/index.d.ts.map +1 -0
  83. package/dist/index.js +37 -0
  84. package/dist/index.js.map +1 -0
  85. package/dist/progress/reporter.d.ts +15 -0
  86. package/dist/progress/reporter.d.ts.map +1 -0
  87. package/dist/progress/reporter.js +133 -0
  88. package/dist/progress/reporter.js.map +1 -0
  89. package/dist/scaffold/index.d.ts +23 -0
  90. package/dist/scaffold/index.d.ts.map +1 -0
  91. package/dist/scaffold/index.js +315 -0
  92. package/dist/scaffold/index.js.map +1 -0
  93. package/dist/tools/build.d.ts +3 -0
  94. package/dist/tools/build.d.ts.map +1 -0
  95. package/dist/tools/build.js +84 -0
  96. package/dist/tools/build.js.map +1 -0
  97. package/dist/tools/playbook.d.ts +14 -0
  98. package/dist/tools/playbook.d.ts.map +1 -0
  99. package/dist/tools/playbook.js +239 -0
  100. package/dist/tools/playbook.js.map +1 -0
  101. package/dist/tools/server.d.ts +3 -0
  102. package/dist/tools/server.d.ts.map +1 -0
  103. package/dist/tools/server.js +13 -0
  104. package/dist/tools/server.js.map +1 -0
  105. package/dist/working-memory/errors.d.ts +14 -0
  106. package/dist/working-memory/errors.d.ts.map +1 -0
  107. package/dist/working-memory/errors.js +89 -0
  108. package/dist/working-memory/errors.js.map +1 -0
  109. package/dist/working-memory/session.d.ts +12 -0
  110. package/dist/working-memory/session.d.ts.map +1 -0
  111. package/dist/working-memory/session.js +71 -0
  112. package/dist/working-memory/session.js.map +1 -0
  113. package/package.json +50 -0
  114. package/playbooks/electric-app-guardrails/SKILL.md +255 -0
  115. package/template/.env.example +2 -0
  116. package/template/Caddyfile +11 -0
  117. package/template/docker-compose.yml +47 -0
  118. package/template/drizzle.config.ts +12 -0
  119. package/template/postgres.conf +4 -0
  120. package/template/src/components/ClientOnly.tsx +27 -0
  121. package/template/src/db/index.ts +7 -0
  122. package/template/src/db/schema.ts +14 -0
  123. package/template/src/db/utils.ts +31 -0
  124. package/template/src/db/zod-schemas.ts +14 -0
  125. package/template/src/lib/electric-proxy.ts +59 -0
  126. package/template/tests/helpers/schema-test-utils.ts +106 -0
  127. package/template/vitest.config.ts +7 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/engine/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Headless adapter that communicates via stdin/stdout NDJSON.
3
+ *
4
+ * Each line is a JSON object terminated by `\n`.
5
+ *
6
+ * Server → Agent (stdin):
7
+ * { type: "command", command: "new", description: "...", ... }
8
+ * { type: "gate_response", gate: "approval", decision: "approve" }
9
+ *
10
+ * Agent → Server (stdout):
11
+ * { type: "log", level: "task", message: "...", ts: "..." }
12
+ * { type: "session_end", success: true, ts: "..." }
13
+ *
14
+ * Stderr is used for non-protocol diagnostics only.
15
+ */
16
+ import type { OrchestratorCallbacks } from "./orchestrator.js";
17
+ import type { HeadlessConfig } from "./stream-adapter.js";
18
+ export declare function createStdioAdapter(): {
19
+ readConfig: () => Promise<HeadlessConfig>;
20
+ waitForCommand: () => Promise<HeadlessConfig>;
21
+ callbacks: OrchestratorCallbacks;
22
+ close: () => void;
23
+ };
24
+ //# sourceMappingURL=stdio-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio-adapter.d.ts","sourceRoot":"","sources":["../../src/engine/stdio-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,wBAAgB,kBAAkB;sBAgFV,OAAO,CAAC,cAAc,CAAC;0BASnB,OAAO,CAAC,cAAc,CAAC;;iBAqChC,IAAI;EAWtB"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Headless adapter that communicates via stdin/stdout NDJSON.
3
+ *
4
+ * Each line is a JSON object terminated by `\n`.
5
+ *
6
+ * Server → Agent (stdin):
7
+ * { type: "command", command: "new", description: "...", ... }
8
+ * { type: "gate_response", gate: "approval", decision: "approve" }
9
+ *
10
+ * Agent → Server (stdout):
11
+ * { type: "log", level: "task", message: "...", ts: "..." }
12
+ * { type: "session_end", success: true, ts: "..." }
13
+ *
14
+ * Stderr is used for non-protocol diagnostics only.
15
+ */
16
+ import * as readline from "node:readline";
17
+ export function createStdioAdapter() {
18
+ // Pending gate response resolvers
19
+ const pendingGates = new Map();
20
+ // Buffered commands
21
+ const commandQueue = [];
22
+ let commandResolve = null;
23
+ // Config promise
24
+ let configResolve = null;
25
+ let gotConfig = false;
26
+ let closed = false;
27
+ const rl = readline.createInterface({
28
+ input: process.stdin,
29
+ terminal: false,
30
+ });
31
+ rl.on("line", (line) => {
32
+ if (closed)
33
+ return;
34
+ const trimmed = line.trim();
35
+ if (!trimmed)
36
+ return;
37
+ let msg;
38
+ try {
39
+ msg = JSON.parse(trimmed);
40
+ }
41
+ catch {
42
+ process.stderr.write(`[stdio-adapter] Invalid JSON: ${trimmed}\n`);
43
+ return;
44
+ }
45
+ const type = msg.type;
46
+ if (type === "command" && !gotConfig) {
47
+ // First command is the initial config
48
+ gotConfig = true;
49
+ const { type: _, ...rest } = msg;
50
+ configResolve?.(rest);
51
+ return;
52
+ }
53
+ if (type === "command") {
54
+ const { type: _, ...rest } = msg;
55
+ if (commandResolve) {
56
+ const resolve = commandResolve;
57
+ commandResolve = null;
58
+ resolve(rest);
59
+ }
60
+ else {
61
+ commandQueue.push(rest);
62
+ }
63
+ return;
64
+ }
65
+ if (type === "gate_response") {
66
+ const gate = msg.gate;
67
+ if (!gate)
68
+ return;
69
+ const entry = pendingGates.get(gate);
70
+ if (entry) {
71
+ pendingGates.delete(gate);
72
+ entry.resolve(msg);
73
+ }
74
+ }
75
+ });
76
+ rl.on("close", () => {
77
+ closed = true;
78
+ });
79
+ function writeEvent(event) {
80
+ if (closed)
81
+ return;
82
+ process.stdout.write(`${JSON.stringify(event)}\n`);
83
+ }
84
+ function waitForGate(gateName) {
85
+ return new Promise((resolve) => {
86
+ pendingGates.set(gateName, {
87
+ resolve: resolve,
88
+ });
89
+ });
90
+ }
91
+ function readConfig() {
92
+ if (gotConfig) {
93
+ return Promise.reject(new Error("Config already read"));
94
+ }
95
+ return new Promise((resolve) => {
96
+ configResolve = resolve;
97
+ });
98
+ }
99
+ function waitForCommand() {
100
+ if (commandQueue.length > 0) {
101
+ return Promise.resolve(commandQueue.shift());
102
+ }
103
+ return new Promise((resolve) => {
104
+ commandResolve = (msg) => resolve(msg);
105
+ });
106
+ }
107
+ const callbacks = {
108
+ onEvent(event) {
109
+ writeEvent(event);
110
+ },
111
+ async onClarificationNeeded(_questions, _summary) {
112
+ const response = await waitForGate("clarification");
113
+ return response.answers;
114
+ },
115
+ async onPlanReady(_plan) {
116
+ const response = await waitForGate("approval");
117
+ return response.decision;
118
+ },
119
+ async onRevisionRequested() {
120
+ const response = await waitForGate("revision");
121
+ return response.feedback;
122
+ },
123
+ async onContinueNeeded() {
124
+ const response = await waitForGate("continue");
125
+ return response.proceed;
126
+ },
127
+ };
128
+ function close() {
129
+ closed = true;
130
+ rl.close();
131
+ }
132
+ return {
133
+ readConfig,
134
+ waitForCommand,
135
+ callbacks,
136
+ close,
137
+ };
138
+ }
139
+ //# sourceMappingURL=stdio-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio-adapter.js","sourceRoot":"","sources":["../../src/engine/stdio-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Headless adapter that communicates via a hosted Durable Stream
3
+ * instead of stdin/stdout.
4
+ *
5
+ * The agent reads server messages (commands, gate responses) from the
6
+ * stream and writes agent events back, all tagged with a `source` field.
7
+ *
8
+ * Environment variables:
9
+ * DS_STREAM_URL — full stream endpoint URL
10
+ * DS_SECRET — Bearer token for auth
11
+ */
12
+ import type { OrchestratorCallbacks } from "./orchestrator.js";
13
+ export interface HeadlessConfig {
14
+ command: "new" | "iterate" | "git";
15
+ description?: string;
16
+ projectName?: string;
17
+ baseDir?: string;
18
+ projectDir?: string;
19
+ request?: string;
20
+ resumeSessionId?: string;
21
+ initGit?: boolean;
22
+ gitOp?: "commit" | "push" | "create-repo" | "create-pr";
23
+ gitMessage?: string;
24
+ gitRepoName?: string;
25
+ gitRepoVisibility?: "public" | "private";
26
+ gitPrTitle?: string;
27
+ gitPrBody?: string;
28
+ }
29
+ /**
30
+ * Create a headless adapter that communicates via a hosted Durable Stream.
31
+ *
32
+ * Stream protocol:
33
+ * Server → Agent: { source: "server", type: "command", command: "new", ... }
34
+ * { source: "server", type: "gate_response", gate: "approval", ... }
35
+ * Agent → Server: { source: "agent", type: "pre_tool_use", ... }
36
+ * { source: "agent", type: "session_end", ... }
37
+ */
38
+ export declare function createStreamAdapter(streamUrl: string, secret: string): {
39
+ startListening: () => Promise<void>;
40
+ readConfig: () => Promise<HeadlessConfig>;
41
+ waitForCommand: () => Promise<HeadlessConfig>;
42
+ callbacks: OrchestratorCallbacks;
43
+ close: () => void;
44
+ };
45
+ //# sourceMappingURL=stream-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-adapter.d.ts","sourceRoot":"","sources":["../../src/engine/stream-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE9D,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,aAAa,GAAG,WAAW,CAAA;IACvD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IACxC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAQD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;0BAyBnC,OAAO,CAAC,IAAI,CAAC;sBA+DvB,OAAO,CAAC,cAAc,CAAC;0BASnB,OAAO,CAAC,cAAc,CAAC;;iBAsChC,IAAI;EAetB"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * Headless adapter that communicates via a hosted Durable Stream
3
+ * instead of stdin/stdout.
4
+ *
5
+ * The agent reads server messages (commands, gate responses) from the
6
+ * stream and writes agent events back, all tagged with a `source` field.
7
+ *
8
+ * Environment variables:
9
+ * DS_STREAM_URL — full stream endpoint URL
10
+ * DS_SECRET — Bearer token for auth
11
+ */
12
+ import { DurableStream } from "@durable-streams/client";
13
+ /**
14
+ * Create a headless adapter that communicates via a hosted Durable Stream.
15
+ *
16
+ * Stream protocol:
17
+ * Server → Agent: { source: "server", type: "command", command: "new", ... }
18
+ * { source: "server", type: "gate_response", gate: "approval", ... }
19
+ * Agent → Server: { source: "agent", type: "pre_tool_use", ... }
20
+ * { source: "agent", type: "session_end", ... }
21
+ */
22
+ export function createStreamAdapter(streamUrl, secret) {
23
+ const headers = {
24
+ Authorization: `Bearer ${secret}`,
25
+ };
26
+ const writer = new DurableStream({
27
+ url: streamUrl,
28
+ headers,
29
+ contentType: "application/json",
30
+ });
31
+ // Pending gate response resolvers
32
+ const pendingGates = new Map();
33
+ // Buffered commands
34
+ const commandQueue = [];
35
+ let commandResolve = null;
36
+ // Config promise
37
+ let configResolve = null;
38
+ let gotConfig = false;
39
+ let closed = false;
40
+ // Subscribe to the stream to receive server messages
41
+ let cancelSubscription = null;
42
+ async function startListening() {
43
+ const reader = new DurableStream({
44
+ url: streamUrl,
45
+ headers,
46
+ contentType: "application/json",
47
+ });
48
+ const response = await reader.stream({
49
+ offset: "-1",
50
+ live: true,
51
+ });
52
+ cancelSubscription = response.subscribeJson((batch) => {
53
+ for (const item of batch.items) {
54
+ if (item.source !== "server")
55
+ continue;
56
+ if (item.type === "command" && !gotConfig) {
57
+ // First command is the initial config
58
+ gotConfig = true;
59
+ const { source: _, type: _t, ...rest } = item;
60
+ configResolve?.(rest);
61
+ continue;
62
+ }
63
+ if (item.type === "command") {
64
+ const { source: _, type: _t, ...rest } = item;
65
+ if (commandResolve) {
66
+ const resolve = commandResolve;
67
+ commandResolve = null;
68
+ resolve(rest);
69
+ }
70
+ else {
71
+ commandQueue.push(rest);
72
+ }
73
+ continue;
74
+ }
75
+ if (item.type === "gate_response") {
76
+ const gate = item.gate;
77
+ if (!gate)
78
+ continue;
79
+ const entry = pendingGates.get(gate);
80
+ if (entry) {
81
+ pendingGates.delete(gate);
82
+ entry.resolve(item);
83
+ }
84
+ }
85
+ }
86
+ });
87
+ }
88
+ async function writeEvent(event) {
89
+ if (closed)
90
+ return;
91
+ const msg = { source: "agent", ...event };
92
+ await writer.append(JSON.stringify(msg));
93
+ }
94
+ function waitForGate(gateName) {
95
+ return new Promise((resolve) => {
96
+ pendingGates.set(gateName, {
97
+ resolve: resolve,
98
+ });
99
+ });
100
+ }
101
+ function readConfig() {
102
+ if (gotConfig) {
103
+ return Promise.reject(new Error("Config already read"));
104
+ }
105
+ return new Promise((resolve) => {
106
+ configResolve = resolve;
107
+ });
108
+ }
109
+ function waitForCommand() {
110
+ if (commandQueue.length > 0) {
111
+ return Promise.resolve(commandQueue.shift());
112
+ }
113
+ return new Promise((resolve) => {
114
+ commandResolve = (msg) => resolve(msg);
115
+ });
116
+ }
117
+ const callbacks = {
118
+ onEvent(event) {
119
+ // Fire-and-forget write to stream
120
+ writeEvent(event).catch(() => { });
121
+ },
122
+ async onClarificationNeeded(_questions, _summary) {
123
+ const response = await waitForGate("clarification");
124
+ return response.answers;
125
+ },
126
+ async onPlanReady(_plan) {
127
+ const response = await waitForGate("approval");
128
+ return response.decision;
129
+ },
130
+ async onRevisionRequested() {
131
+ const response = await waitForGate("revision");
132
+ return response.feedback;
133
+ },
134
+ async onContinueNeeded() {
135
+ const response = await waitForGate("continue");
136
+ return response.proceed;
137
+ },
138
+ };
139
+ function close() {
140
+ closed = true;
141
+ if (cancelSubscription) {
142
+ cancelSubscription();
143
+ cancelSubscription = null;
144
+ }
145
+ }
146
+ return {
147
+ startListening,
148
+ readConfig,
149
+ waitForCommand,
150
+ callbacks,
151
+ close,
152
+ };
153
+ }
154
+ //# sourceMappingURL=stream-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-adapter.js","sourceRoot":"","sources":["../../src/engine/stream-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Walk up from cwd looking for a file by name, return its path or undefined */
2
+ export declare function findUp(name: string): string | undefined;
3
+ //# sourceMappingURL=find-env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-env.d.ts","sourceRoot":"","sources":["../src/find-env.ts"],"names":[],"mappings":"AAGA,gFAAgF;AAChF,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASvD"}
@@ -0,0 +1,16 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ /** Walk up from cwd looking for a file by name, return its path or undefined */
4
+ export function findUp(name) {
5
+ let dir = process.cwd();
6
+ while (true) {
7
+ const candidate = path.join(dir, name);
8
+ if (fs.existsSync(candidate))
9
+ return candidate;
10
+ const parent = path.dirname(dir);
11
+ if (parent === dir)
12
+ return undefined;
13
+ dir = parent;
14
+ }
15
+ }
16
+ //# sourceMappingURL=find-env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-env.js","sourceRoot":"","sources":["../src/find-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,gFAAgF;AAChF,MAAM,UAAU,MAAM,CAAC,IAAY;IAClC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACvB,OAAO,IAAI,EAAE,CAAC;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACtC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAA;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,SAAS,CAAA;QACpC,GAAG,GAAG,MAAM,CAAA;IACb,CAAC;AACF,CAAC"}
@@ -0,0 +1,114 @@
1
+ export interface GitStatus {
2
+ initialized: boolean;
3
+ branch: string | null;
4
+ remoteUrl: string | null;
5
+ hasUncommitted: boolean;
6
+ lastCommit: {
7
+ hash: string;
8
+ message: string;
9
+ ts: string;
10
+ } | null;
11
+ repoName: string | null;
12
+ }
13
+ export interface CheckpointResult {
14
+ success: boolean;
15
+ commitHash: string | null;
16
+ message: string;
17
+ error?: string;
18
+ }
19
+ export interface PublishResult {
20
+ success: boolean;
21
+ repoUrl: string | null;
22
+ branch: string | null;
23
+ error?: string;
24
+ }
25
+ export interface GhRepo {
26
+ nameWithOwner: string;
27
+ url: string;
28
+ updatedAt: string;
29
+ }
30
+ export interface GhBranch {
31
+ name: string;
32
+ isDefault: boolean;
33
+ }
34
+ export interface GhAccount {
35
+ login: string;
36
+ type: "user" | "org";
37
+ }
38
+ export interface TokenValidation {
39
+ valid: boolean;
40
+ username?: string;
41
+ error?: string;
42
+ }
43
+ /**
44
+ * Initialize a git repo with an initial commit.
45
+ * Called by scaffold after project setup.
46
+ */
47
+ export declare function gitInit(projectDir: string, projectName?: string): string;
48
+ /**
49
+ * Checkout an existing branch or create a new one.
50
+ */
51
+ export declare function gitCheckoutBranch(projectDir: string, branch: string): void;
52
+ /**
53
+ * Get the current git status of a project directory.
54
+ */
55
+ export declare function gitStatus(projectDir: string): GitStatus;
56
+ /**
57
+ * Create a checkpoint commit with all current changes.
58
+ */
59
+ export declare function gitCheckpoint(projectDir: string, message?: string): CheckpointResult;
60
+ /**
61
+ * Validate a GitHub PAT by logging in and checking auth status.
62
+ * Required scopes: repo, read:user
63
+ */
64
+ export declare function validateGhToken(token: string): TokenValidation;
65
+ /**
66
+ * Publish a local project to a new GitHub repo.
67
+ * Creates a feature branch and pushes.
68
+ * If a token is provided, it is used instead of the ambient GH_TOKEN.
69
+ */
70
+ export declare function ghPublish(projectDir: string, repoName: string, opts?: {
71
+ visibility?: "public" | "private";
72
+ token?: string;
73
+ }): PublishResult;
74
+ /**
75
+ * Create a PR from the current branch to the default branch.
76
+ * If a token is provided, it is used instead of the ambient GH_TOKEN.
77
+ */
78
+ export declare function ghPrCreate(projectDir: string, title?: string, body?: string, token?: string): {
79
+ prUrl: string | null;
80
+ error?: string;
81
+ };
82
+ /**
83
+ * List the authenticated user's personal account + organizations.
84
+ * If a token is provided, it is used instead of the ambient GH_TOKEN.
85
+ */
86
+ export declare function ghListAccounts(token?: string): GhAccount[];
87
+ /**
88
+ * List the authenticated user's GitHub repos.
89
+ * If a token is provided, it is used instead of the ambient GH_TOKEN.
90
+ */
91
+ export declare function ghListRepos(limit?: number, token?: string): GhRepo[];
92
+ /**
93
+ * List branches for a GitHub repo.
94
+ * If a token is provided, it is used instead of the ambient GH_TOKEN.
95
+ */
96
+ export declare function ghListBranches(repoFullName: string, token?: string): GhBranch[];
97
+ /**
98
+ * Clone a GitHub repo into a target directory.
99
+ * If a token is provided, it is used instead of the ambient GH_TOKEN.
100
+ */
101
+ export declare function ghClone(repoUrl: string, targetDir: string, branch?: string, token?: string): void;
102
+ /**
103
+ * Check if gh CLI is available and authenticated.
104
+ * If a token is provided, it is used instead of the ambient GH_TOKEN.
105
+ */
106
+ export declare function isGhAuthenticated(token?: string): boolean;
107
+ /**
108
+ * Push the current branch to origin.
109
+ */
110
+ export declare function gitPush(projectDir: string): {
111
+ success: boolean;
112
+ error?: string;
113
+ };
114
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/git/index.ts"],"names":[],"mappings":"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"}