@lovelybunch/api 1.0.68 → 1.0.69-alpha.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 (155) hide show
  1. package/dist/lib/jobs/job-scheduler.js +86 -0
  2. package/dist/lib/terminal/terminal-manager.js +45 -1
  3. package/dist/routes/api/v1/context/architecture/route.js +37 -0
  4. package/dist/routes/api/v1/context/knowledge/[filename]/route.js +69 -0
  5. package/dist/routes/api/v1/context/knowledge/route.js +39 -0
  6. package/dist/routes/api/v1/context/project/route.js +37 -0
  7. package/dist/routes/api/v1/git/index.js +143 -2
  8. package/dist/routes/api/v1/identity/agent-card-service.d.ts +11 -0
  9. package/dist/routes/api/v1/identity/agent-card-service.js +64 -0
  10. package/dist/routes/api/v1/identity/index.d.ts +2 -0
  11. package/dist/routes/api/v1/identity/index.js +2 -0
  12. package/dist/routes/api/v1/identity/route.d.ts +3 -0
  13. package/dist/routes/api/v1/identity/route.js +57 -0
  14. package/dist/routes/api/v1/resources/[id]/route.js +23 -0
  15. package/dist/routes/api/v1/resources/route.js +24 -0
  16. package/dist/server-with-static.js +5 -0
  17. package/dist/server.js +18 -0
  18. package/dist/test-setup.d.ts +1 -0
  19. package/dist/test-setup.js +38 -0
  20. package/package.json +12 -6
  21. package/static/assets/index-DIVD0EVP.css +33 -0
  22. package/static/assets/index-VVQqAzvr.js +894 -0
  23. package/static/index.html +2 -2
  24. package/dist/lib/gait-path.d.ts.map +0 -1
  25. package/dist/lib/gait-path.js.map +0 -1
  26. package/dist/lib/git.d.ts.map +0 -1
  27. package/dist/lib/git.js.map +0 -1
  28. package/dist/lib/project-paths.d.ts.map +0 -1
  29. package/dist/lib/project-paths.js.map +0 -1
  30. package/dist/lib/storage/file-storage.d.ts.map +0 -1
  31. package/dist/lib/storage/file-storage.js.map +0 -1
  32. package/dist/lib/symlinks/symlink-manager.d.ts.map +0 -1
  33. package/dist/lib/symlinks/symlink-manager.js.map +0 -1
  34. package/dist/lib/symlinks/types.d.ts.map +0 -1
  35. package/dist/lib/symlinks/types.js.map +0 -1
  36. package/dist/lib/terminal/context-helper.d.ts.map +0 -1
  37. package/dist/lib/terminal/context-helper.js.map +0 -1
  38. package/dist/lib/terminal/global-manager.d.ts.map +0 -1
  39. package/dist/lib/terminal/global-manager.js.map +0 -1
  40. package/dist/lib/terminal/shell-utils.d.ts.map +0 -1
  41. package/dist/lib/terminal/shell-utils.js.map +0 -1
  42. package/dist/lib/terminal/terminal-manager.d.ts.map +0 -1
  43. package/dist/lib/terminal/terminal-manager.js.map +0 -1
  44. package/dist/lib/user-preferences.d.ts.map +0 -1
  45. package/dist/lib/user-preferences.js.map +0 -1
  46. package/dist/routes/api/v1/agents/[id]/index.d.ts.map +0 -1
  47. package/dist/routes/api/v1/agents/[id]/index.js.map +0 -1
  48. package/dist/routes/api/v1/agents/[id]/route.d.ts.map +0 -1
  49. package/dist/routes/api/v1/agents/[id]/route.js.map +0 -1
  50. package/dist/routes/api/v1/agents/index.d.ts.map +0 -1
  51. package/dist/routes/api/v1/agents/index.js.map +0 -1
  52. package/dist/routes/api/v1/agents/route.d.ts.map +0 -1
  53. package/dist/routes/api/v1/agents/route.js.map +0 -1
  54. package/dist/routes/api/v1/ai/index.d.ts.map +0 -1
  55. package/dist/routes/api/v1/ai/index.js.map +0 -1
  56. package/dist/routes/api/v1/ai/route.d.ts.map +0 -1
  57. package/dist/routes/api/v1/ai/route.js.map +0 -1
  58. package/dist/routes/api/v1/chats/[id]/index.d.ts.map +0 -1
  59. package/dist/routes/api/v1/chats/[id]/index.js.map +0 -1
  60. package/dist/routes/api/v1/chats/[id]/route.d.ts.map +0 -1
  61. package/dist/routes/api/v1/chats/[id]/route.js.map +0 -1
  62. package/dist/routes/api/v1/chats/index.d.ts.map +0 -1
  63. package/dist/routes/api/v1/chats/index.js.map +0 -1
  64. package/dist/routes/api/v1/chats/route.d.ts.map +0 -1
  65. package/dist/routes/api/v1/chats/route.js.map +0 -1
  66. package/dist/routes/api/v1/config/index.d.ts.map +0 -1
  67. package/dist/routes/api/v1/config/index.js.map +0 -1
  68. package/dist/routes/api/v1/config/route.d.ts.map +0 -1
  69. package/dist/routes/api/v1/config/route.js.map +0 -1
  70. package/dist/routes/api/v1/context/architecture/route.d.ts.map +0 -1
  71. package/dist/routes/api/v1/context/architecture/route.js.map +0 -1
  72. package/dist/routes/api/v1/context/index.d.ts.map +0 -1
  73. package/dist/routes/api/v1/context/index.js.map +0 -1
  74. package/dist/routes/api/v1/context/knowledge/[filename]/index.d.ts.map +0 -1
  75. package/dist/routes/api/v1/context/knowledge/[filename]/index.js.map +0 -1
  76. package/dist/routes/api/v1/context/knowledge/[filename]/route.d.ts.map +0 -1
  77. package/dist/routes/api/v1/context/knowledge/[filename]/route.js.map +0 -1
  78. package/dist/routes/api/v1/context/knowledge/index.d.ts.map +0 -1
  79. package/dist/routes/api/v1/context/knowledge/index.js.map +0 -1
  80. package/dist/routes/api/v1/context/knowledge/route.d.ts.map +0 -1
  81. package/dist/routes/api/v1/context/knowledge/route.js.map +0 -1
  82. package/dist/routes/api/v1/context/project/route.d.ts.map +0 -1
  83. package/dist/routes/api/v1/context/project/route.js.map +0 -1
  84. package/dist/routes/api/v1/events/events.test.d.ts +0 -4
  85. package/dist/routes/api/v1/events/events.test.js +0 -289
  86. package/dist/routes/api/v1/git/index.d.ts.map +0 -1
  87. package/dist/routes/api/v1/git/index.js.map +0 -1
  88. package/dist/routes/api/v1/init/index.d.ts +0 -1
  89. package/dist/routes/api/v1/init/index.js +0 -1
  90. package/dist/routes/api/v1/init/route.d.ts +0 -3
  91. package/dist/routes/api/v1/init/route.js +0 -129
  92. package/dist/routes/api/v1/mcp/index.d.ts.map +0 -1
  93. package/dist/routes/api/v1/mcp/index.js.map +0 -1
  94. package/dist/routes/api/v1/mcp/route.d.ts.map +0 -1
  95. package/dist/routes/api/v1/mcp/route.js.map +0 -1
  96. package/dist/routes/api/v1/onboard/index.d.ts +0 -3
  97. package/dist/routes/api/v1/onboard/index.js +0 -8
  98. package/dist/routes/api/v1/onboard/route.d.ts +0 -13
  99. package/dist/routes/api/v1/onboard/route.js +0 -311
  100. package/dist/routes/api/v1/onboarding/check/index.d.ts +0 -3
  101. package/dist/routes/api/v1/onboarding/check/index.js +0 -5
  102. package/dist/routes/api/v1/onboarding/check/route.d.ts +0 -12
  103. package/dist/routes/api/v1/onboarding/check/route.js +0 -24
  104. package/dist/routes/api/v1/onboarding/index.d.ts +0 -1
  105. package/dist/routes/api/v1/onboarding/index.js +0 -1
  106. package/dist/routes/api/v1/onboarding/route.d.ts +0 -3
  107. package/dist/routes/api/v1/onboarding/route.js +0 -158
  108. package/dist/routes/api/v1/proposals/[id]/route.d.ts.map +0 -1
  109. package/dist/routes/api/v1/proposals/[id]/route.js.map +0 -1
  110. package/dist/routes/api/v1/proposals/index.d.ts.map +0 -1
  111. package/dist/routes/api/v1/proposals/index.js.map +0 -1
  112. package/dist/routes/api/v1/proposals/route.d.ts.map +0 -1
  113. package/dist/routes/api/v1/proposals/route.js.map +0 -1
  114. package/dist/routes/api/v1/resources/[id]/index.d.ts.map +0 -1
  115. package/dist/routes/api/v1/resources/[id]/index.js.map +0 -1
  116. package/dist/routes/api/v1/resources/[id]/route.js.map +0 -1
  117. package/dist/routes/api/v1/resources/[id]/thumbnail/index.d.ts.map +0 -1
  118. package/dist/routes/api/v1/resources/[id]/thumbnail/index.js.map +0 -1
  119. package/dist/routes/api/v1/resources/[id]/thumbnail/route.js.map +0 -1
  120. package/dist/routes/api/v1/resources/index.d.ts.map +0 -1
  121. package/dist/routes/api/v1/resources/index.js.map +0 -1
  122. package/dist/routes/api/v1/resources/route.d.ts.map +0 -1
  123. package/dist/routes/api/v1/resources/route.js.map +0 -1
  124. package/dist/routes/api/v1/symlinks/index.d.ts.map +0 -1
  125. package/dist/routes/api/v1/symlinks/index.js.map +0 -1
  126. package/dist/routes/api/v1/symlinks/route.d.ts.map +0 -1
  127. package/dist/routes/api/v1/symlinks/route.js.map +0 -1
  128. package/dist/routes/api/v1/terminal/[proposalId]/create/index.d.ts.map +0 -1
  129. package/dist/routes/api/v1/terminal/[proposalId]/create/index.js.map +0 -1
  130. package/dist/routes/api/v1/terminal/[proposalId]/create/route.d.ts.map +0 -1
  131. package/dist/routes/api/v1/terminal/[proposalId]/create/route.js.map +0 -1
  132. package/dist/routes/api/v1/terminal/[proposalId]/destroy/index.d.ts.map +0 -1
  133. package/dist/routes/api/v1/terminal/[proposalId]/destroy/index.js.map +0 -1
  134. package/dist/routes/api/v1/terminal/[proposalId]/destroy/route.d.ts.map +0 -1
  135. package/dist/routes/api/v1/terminal/[proposalId]/destroy/route.js.map +0 -1
  136. package/dist/routes/api/v1/terminal/[proposalId]/resize/index.d.ts.map +0 -1
  137. package/dist/routes/api/v1/terminal/[proposalId]/resize/index.js.map +0 -1
  138. package/dist/routes/api/v1/terminal/[proposalId]/resize/route.d.ts.map +0 -1
  139. package/dist/routes/api/v1/terminal/[proposalId]/resize/route.js.map +0 -1
  140. package/dist/routes/api/v1/terminal/sessions/index.d.ts.map +0 -1
  141. package/dist/routes/api/v1/terminal/sessions/index.js.map +0 -1
  142. package/dist/routes/api/v1/terminal/sessions/route.d.ts.map +0 -1
  143. package/dist/routes/api/v1/terminal/sessions/route.js.map +0 -1
  144. package/dist/routes/api/v1/user/index.d.ts.map +0 -1
  145. package/dist/routes/api/v1/user/index.js.map +0 -1
  146. package/dist/routes/api/v1/user/settings/index.d.ts.map +0 -1
  147. package/dist/routes/api/v1/user/settings/index.js.map +0 -1
  148. package/dist/routes/api/v1/user/settings/route.d.ts.map +0 -1
  149. package/dist/routes/api/v1/user/settings/route.js.map +0 -1
  150. package/dist/server-with-static.d.ts.map +0 -1
  151. package/dist/server-with-static.js.map +0 -1
  152. package/dist/server.d.ts.map +0 -1
  153. package/dist/server.js.map +0 -1
  154. package/static/assets/index-COf7Bc1u.js +0 -869
  155. package/static/assets/index-ChgXTZpc.css +0 -33
@@ -1,289 +0,0 @@
1
- /**
2
- * Integration tests for Events API routes
3
- */
4
- import { describe, it, expect, beforeEach, afterEach, beforeAll } from "vitest";
5
- import { Hono } from "hono";
6
- import { promises as fs } from "fs";
7
- import path from "path";
8
- import os from "os";
9
- import { getLogger, resetLogger } from "@lovelybunch/core/logging";
10
- import events from "./index.js";
11
- describe("Events API Routes", () => {
12
- let app;
13
- let testDir;
14
- let logsDir;
15
- beforeAll(() => {
16
- // Create the Hono app with routes
17
- app = new Hono();
18
- app.route("/api/v1/events", events);
19
- });
20
- beforeEach(async () => {
21
- // Create a temporary directory for tests
22
- testDir = path.join(os.tmpdir(), `coconut-events-test-${Date.now()}`);
23
- logsDir = path.join(testDir, "logs");
24
- await fs.mkdir(logsDir, { recursive: true });
25
- // Reset the logger and create a new one with test directory
26
- resetLogger();
27
- getLogger({
28
- coconutId: "test-coconut",
29
- logsDir: logsDir,
30
- });
31
- });
32
- afterEach(async () => {
33
- // Clean up logger and test directory
34
- const logger = getLogger();
35
- await logger.close();
36
- resetLogger();
37
- try {
38
- await fs.rm(testDir, { recursive: true, force: true });
39
- }
40
- catch (err) {
41
- // Ignore cleanup errors
42
- }
43
- });
44
- describe("POST /api/v1/events", () => {
45
- it("should enqueue a single event", async () => {
46
- const event = {
47
- kind: "proposal.create",
48
- actor: "human:test@example.com",
49
- subject: "proposal:cp-123",
50
- tags: ["proposal"],
51
- payload: { intent: "Test proposal" },
52
- };
53
- const res = await app.request("/api/v1/events", {
54
- method: "POST",
55
- headers: { "Content-Type": "application/json" },
56
- body: JSON.stringify(event),
57
- });
58
- expect(res.status).toBe(200);
59
- const data = await res.json();
60
- expect(data.accepted).toBe(1);
61
- expect(data.last_seq).toBeGreaterThan(0);
62
- // Verify event was written to file
63
- await getLogger().flush();
64
- const logFile = path.join(logsDir, "events-current.jsonl");
65
- const content = await fs.readFile(logFile, "utf-8");
66
- const lines = content.trim().split("\n");
67
- expect(lines.length).toBeGreaterThan(0);
68
- const loggedEvent = JSON.parse(lines[lines.length - 1]);
69
- expect(loggedEvent.kind).toBe("proposal.create");
70
- expect(loggedEvent.actor).toBe("human:test@example.com");
71
- });
72
- it("should enqueue multiple events", async () => {
73
- const events = [
74
- {
75
- kind: "proposal.create",
76
- actor: "human:test@example.com",
77
- subject: "proposal:cp-1",
78
- },
79
- {
80
- kind: "proposal.update",
81
- actor: "human:test@example.com",
82
- subject: "proposal:cp-2",
83
- },
84
- {
85
- kind: "proposal.status.change",
86
- actor: "human:test@example.com",
87
- subject: "proposal:cp-3",
88
- },
89
- ];
90
- const res = await app.request("/api/v1/events", {
91
- method: "POST",
92
- headers: { "Content-Type": "application/json" },
93
- body: JSON.stringify(events),
94
- });
95
- expect(res.status).toBe(200);
96
- const data = await res.json();
97
- expect(data.accepted).toBe(3);
98
- expect(data.last_seq).toBeGreaterThan(0);
99
- });
100
- });
101
- describe("GET /api/v1/events", () => {
102
- beforeEach(async () => {
103
- // Pre-populate with some events
104
- const logger = getLogger();
105
- for (let i = 1; i <= 10; i++) {
106
- logger.log({
107
- kind: "proposal.create",
108
- actor: "human:test@example.com",
109
- subject: `proposal:cp-${i}`,
110
- payload: { index: i },
111
- });
112
- }
113
- await logger.flush();
114
- });
115
- it("should fetch events from current file", async () => {
116
- const res = await app.request("/api/v1/events");
117
- expect(res.status).toBe(200);
118
- const data = await res.json();
119
- expect(data.items).toBeDefined();
120
- expect(Array.isArray(data.items)).toBe(true);
121
- expect(data.items.length).toBe(10);
122
- expect(data.next_since_seq).toBeGreaterThan(0);
123
- expect(data.eof).toBe(true);
124
- });
125
- it("should support pagination with since_seq", async () => {
126
- const res1 = await app.request("/api/v1/events?limit=5");
127
- expect(res1.status).toBe(200);
128
- const data1 = await res1.json();
129
- expect(data1.items.length).toBe(5);
130
- expect(data1.eof).toBe(false);
131
- const nextSeq = data1.next_since_seq;
132
- const res2 = await app.request(`/api/v1/events?since_seq=${nextSeq}&limit=5`);
133
- expect(res2.status).toBe(200);
134
- const data2 = await res2.json();
135
- expect(data2.items.length).toBeGreaterThan(0);
136
- });
137
- it("should respect limit parameter", async () => {
138
- const res = await app.request("/api/v1/events?limit=3");
139
- expect(res.status).toBe(200);
140
- const data = await res.json();
141
- expect(data.items.length).toBe(3);
142
- expect(data.eof).toBe(false);
143
- });
144
- it("should return empty array when no events exist", async () => {
145
- // Clean up existing events
146
- await getLogger().close();
147
- resetLogger();
148
- await fs.rm(logsDir, { recursive: true, force: true });
149
- await fs.mkdir(logsDir, { recursive: true });
150
- getLogger({
151
- coconutId: "test-coconut",
152
- logsDir: logsDir,
153
- });
154
- const res = await app.request("/api/v1/events");
155
- expect(res.status).toBe(200);
156
- const data = await res.json();
157
- expect(data.items).toEqual([]);
158
- expect(data.next_since_seq).toBe(0);
159
- expect(data.eof).toBe(true);
160
- });
161
- });
162
- describe("GET /api/v1/events/status", () => {
163
- beforeEach(async () => {
164
- // Pre-populate with some events
165
- const logger = getLogger();
166
- for (let i = 1; i <= 5; i++) {
167
- logger.log({
168
- kind: "proposal.create",
169
- subject: `proposal:cp-${i}`,
170
- });
171
- }
172
- await logger.flush();
173
- });
174
- it("should return logging system status", async () => {
175
- const res = await app.request("/api/v1/events/status");
176
- expect(res.status).toBe(200);
177
- const data = await res.json();
178
- expect(data.currentFile).toBe("events-current.jsonl");
179
- expect(data.sizeBytes).toBeGreaterThan(0);
180
- expect(data.lastSeq).toBe(5);
181
- expect(data.rotateBytes).toBe(128 * 1024 * 1024);
182
- expect(data.logsDir).toBeDefined();
183
- });
184
- it("should handle missing log file gracefully", async () => {
185
- // Clean up existing events
186
- await getLogger().close();
187
- resetLogger();
188
- await fs.rm(logsDir, { recursive: true, force: true });
189
- await fs.mkdir(logsDir, { recursive: true });
190
- getLogger({
191
- coconutId: "test-coconut",
192
- logsDir: logsDir,
193
- });
194
- const res = await app.request("/api/v1/events/status");
195
- expect(res.status).toBe(200);
196
- const data = await res.json();
197
- expect(data.currentFile).toBeNull();
198
- expect(data.sizeBytes).toBe(0);
199
- expect(data.lastSeq).toBe(0);
200
- });
201
- });
202
- describe("POST /api/v1/events/purge", () => {
203
- beforeEach(async () => {
204
- // Create some rotated files with different timestamps
205
- const oldDate = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000); // 7 days ago
206
- const recentDate = new Date(Date.now() - 1 * 24 * 60 * 60 * 1000); // 1 day ago
207
- await fs.writeFile(path.join(logsDir, "events-20250101-120000.jsonl"), "");
208
- await fs.utimes(path.join(logsDir, "events-20250101-120000.jsonl"), oldDate, oldDate);
209
- await fs.writeFile(path.join(logsDir, "events-20250115-120000.jsonl"), "");
210
- await fs.utimes(path.join(logsDir, "events-20250115-120000.jsonl"), recentDate, recentDate);
211
- });
212
- it("should delete old rotated files", async () => {
213
- const beforeIso = new Date(Date.now() - 3 * 24 * 60 * 60 * 1000).toISOString(); // 3 days ago
214
- const res = await app.request("/api/v1/events/purge", {
215
- method: "POST",
216
- headers: { "Content-Type": "application/json" },
217
- body: JSON.stringify({ beforeIso }),
218
- });
219
- expect(res.status).toBe(200);
220
- const data = await res.json();
221
- expect(data.deleted).toBe(1);
222
- // Verify old file was deleted and recent file remains
223
- const files = await fs.readdir(logsDir);
224
- expect(files).toContain("events-20250115-120000.jsonl");
225
- expect(files).not.toContain("events-20250101-120000.jsonl");
226
- });
227
- it("should never delete current file", async () => {
228
- const logger = getLogger();
229
- logger.log({ kind: "proposal.create", subject: "proposal:cp-1" });
230
- await logger.flush();
231
- const futureDate = new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(); // tomorrow
232
- const res = await app.request("/api/v1/events/purge", {
233
- method: "POST",
234
- headers: { "Content-Type": "application/json" },
235
- body: JSON.stringify({ beforeIso: futureDate }),
236
- });
237
- expect(res.status).toBe(200);
238
- // Current file should still exist
239
- const currentFile = path.join(logsDir, "events-current.jsonl");
240
- const exists = await fs
241
- .access(currentFile)
242
- .then(() => true)
243
- .catch(() => false);
244
- expect(exists).toBe(true);
245
- });
246
- it("should return error for missing beforeIso", async () => {
247
- const res = await app.request("/api/v1/events/purge", {
248
- method: "POST",
249
- headers: { "Content-Type": "application/json" },
250
- body: JSON.stringify({}),
251
- });
252
- expect(res.status).toBe(400);
253
- const data = await res.json();
254
- expect(data.error).toBe("beforeIso is required");
255
- });
256
- it("should return error for invalid ISO date", async () => {
257
- const res = await app.request("/api/v1/events/purge", {
258
- method: "POST",
259
- headers: { "Content-Type": "application/json" },
260
- body: JSON.stringify({ beforeIso: "not-a-date" }),
261
- });
262
- expect(res.status).toBe(400);
263
- const data = await res.json();
264
- expect(data.error).toBe("Invalid ISO date");
265
- });
266
- });
267
- describe("GET /api/v1/events/stream", () => {
268
- it("should stream events via SSE", async () => {
269
- // Pre-populate with some events
270
- const logger = getLogger();
271
- for (let i = 1; i <= 3; i++) {
272
- logger.log({
273
- kind: "proposal.create",
274
- subject: `proposal:cp-${i}`,
275
- payload: { index: i },
276
- });
277
- }
278
- await logger.flush();
279
- const res = await app.request("/api/v1/events/stream");
280
- expect(res.status).toBe(200);
281
- expect(res.headers.get("content-type")).toContain("text/event-stream");
282
- expect(res.headers.get("cache-control")).toContain("no-cache");
283
- expect(res.headers.get("connection")).toContain("keep-alive");
284
- // Note: Full SSE testing would require streaming the response body,
285
- // which is complex in this test environment. This test validates
286
- // that the endpoint returns the correct headers for SSE.
287
- });
288
- });
289
- });
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/v1/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAgB3B,QAAA,MAAM,GAAG,4EAAa,CAAA;AA6KtB,eAAe,GAAG,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/routes/api/v1/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EACL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,aAAa,EACb,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,YAAY,GACb,MAAM,wBAAwB,CAAA;AAE/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;AAEtB,SAAS;AACT,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAA;QACpC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IAChD,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,WAAW;AACX,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAA;QACrC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IAClD,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAChC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC/B,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QACpD,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QACtF,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IACjE,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC1C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAClC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAA;QACxB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IAC3D,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,iCAAiC;AACjC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAyB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACnG,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAC5F,+CAA+C;QAC/C,0GAA0G;QAC1G,oDAAoD;QACpD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAA;QACzD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAA;QACjC,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;QAC7B,CAAC;QACD,MAAM,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;QACvC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;QACtD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACtG,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,wBAAwB;AACxB,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,EAAE,CAAA;QAClC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;IACpD,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC5B,IAAI,CAAC;QACH,IAAI,IAAS,CAAA;QACb,IAAI,CAAC;YAAC,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;QACtG,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAA;QAC1C,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;IAC9D,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,YAAY;AACZ,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAChC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE,CAAA;QAClC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACjC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC,CAAA;QACzC,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACvD,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAC1F,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC7C,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;IACnD,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACtC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAA;QACjC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAC9C,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QACnF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC/C,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,GAAG,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACzC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;QAC1B,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IAC3D,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAyB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACnG,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAC5F,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;QACxD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,CAAA;IACnG,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC5C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;IACpE,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC5C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChC,IAAI,IAAS,CAAA;QACb,IAAI,CAAC;YAAC,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;QACtG,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACjD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;IAC9E,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,GAAG,CAAA"}
@@ -1 +0,0 @@
1
- export { default } from './route.js';
@@ -1 +0,0 @@
1
- export { default } from './route.js';
@@ -1,3 +0,0 @@
1
- import { Hono } from 'hono';
2
- declare const app: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
3
- export default app;
@@ -1,129 +0,0 @@
1
- import { Hono } from 'hono';
2
- import { fileStorage } from '@lovelybunch/core';
3
- import { promisify } from 'util';
4
- import { exec } from 'child_process';
5
- const execAsync = promisify(exec);
6
- const app = new Hono();
7
- // Check if Coconut is initialized
8
- app.get('/', async (c) => {
9
- try {
10
- const isInitialized = await fileStorage.isInitialized();
11
- return c.json({ initialized: isInitialized });
12
- }
13
- catch (error) {
14
- console.error('Error checking initialization status:', error);
15
- return c.json({ error: 'Failed to check initialization status' }, 500);
16
- }
17
- });
18
- // Initialize Coconut
19
- app.post('/', async (c) => {
20
- try {
21
- const body = await c.req.json();
22
- const { name, description, initGit = false } = body;
23
- if (!name || !description) {
24
- return c.json({ error: 'Name and description are required' }, 400);
25
- }
26
- // Check if already initialized
27
- const isInitialized = await fileStorage.isInitialized();
28
- if (isInitialized) {
29
- return c.json({ error: 'Coconut is already initialized' }, 400);
30
- }
31
- // Create configuration
32
- const config = {
33
- version: '1.0.0',
34
- repository: {
35
- name,
36
- description,
37
- },
38
- policies: {
39
- requireApproval: true,
40
- minApprovers: 1,
41
- allowSelfApproval: false,
42
- autoMerge: false,
43
- },
44
- storage: {
45
- type: 'file',
46
- path: '.nut',
47
- },
48
- };
49
- // Initialize storage
50
- await fileStorage.init();
51
- await fileStorage.saveConfig(config);
52
- // Initialize git if requested
53
- if (initGit) {
54
- try {
55
- const cwd = process.cwd();
56
- // Check if git is already initialized
57
- try {
58
- await execAsync('git rev-parse --git-dir', { cwd });
59
- // Git is already initialized, skip
60
- }
61
- catch {
62
- // Git is not initialized, initialize it
63
- await execAsync('git init', { cwd });
64
- await execAsync('git add .', { cwd });
65
- }
66
- }
67
- catch (gitError) {
68
- console.error('Git initialization failed:', gitError);
69
- // Don't fail the whole operation if git fails
70
- return c.json({
71
- success: true,
72
- message: 'Coconut initialized successfully, but git initialization failed',
73
- gitError: gitError instanceof Error ? gitError.message : 'Unknown error',
74
- });
75
- }
76
- }
77
- return c.json({
78
- success: true,
79
- message: 'Coconut initialized successfully',
80
- config,
81
- });
82
- }
83
- catch (error) {
84
- console.error('Error initializing Coconut:', error);
85
- return c.json({
86
- error: 'Failed to initialize Coconut',
87
- details: error instanceof Error ? error.message : 'Unknown error',
88
- }, 500);
89
- }
90
- });
91
- // Clone a repository
92
- app.post('/clone', async (c) => {
93
- try {
94
- const body = await c.req.json();
95
- const { url } = body;
96
- if (!url) {
97
- return c.json({ error: 'Repository URL is required' }, 400);
98
- }
99
- // Validate URL format
100
- const urlPattern = /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
101
- if (!urlPattern.test(url)) {
102
- return c.json({ error: 'Invalid repository URL' }, 400);
103
- }
104
- const cwd = process.cwd();
105
- try {
106
- // Clone into current directory
107
- await execAsync(`git clone ${url} .`, { cwd });
108
- return c.json({
109
- success: true,
110
- message: 'Repository cloned successfully',
111
- });
112
- }
113
- catch (cloneError) {
114
- console.error('Git clone failed:', cloneError);
115
- return c.json({
116
- error: 'Failed to clone repository',
117
- details: cloneError instanceof Error ? cloneError.message : 'Unknown error',
118
- }, 500);
119
- }
120
- }
121
- catch (error) {
122
- console.error('Error cloning repository:', error);
123
- return c.json({
124
- error: 'Failed to clone repository',
125
- details: error instanceof Error ? error.message : 'Unknown error',
126
- }, 500);
127
- }
128
- });
129
- export default app;
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/v1/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAO3B,QAAA,MAAM,GAAG,4EAAa,CAAA;AA6XtB,eAAe,GAAG,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/routes/api/v1/mcp/index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/routes/api/v1/mcp/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,QAAA,MAAM,GAAG,4EAAa,CAAA;AAItB,eAAe,GAAG,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../src/routes/api/v1/mcp/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,MAAM,MAAM,oBAAoB,CAAA;AAEvC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;AAEtB,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AAE5B,eAAe,GAAG,CAAA"}
@@ -1,3 +0,0 @@
1
- import { Hono } from 'hono';
2
- declare const app: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
3
- export default app;
@@ -1,8 +0,0 @@
1
- import { Hono } from 'hono';
2
- import * as route from './route.js';
3
- const app = new Hono();
4
- // GET /api/v1/onboard/check - Check if .nut exists and onboarding is needed
5
- app.get('/check', route.GET_CHECK);
6
- // POST /api/v1/onboard/initialize - Initialize Coconut (empty or clone)
7
- app.post('/initialize', route.POST_INITIALIZE);
8
- export default app;
@@ -1,13 +0,0 @@
1
- import { Context } from 'hono';
2
- export declare function GET_CHECK(c: Context): Promise<Response & import("hono").TypedResponse<{
3
- onboardCheckEnabled: boolean;
4
- initialized: boolean;
5
- }, import("hono/utils/http-status").ContentfulStatusCode, "json">>;
6
- export declare function POST_INITIALIZE(c: Context): Promise<(Response & import("hono").TypedResponse<{
7
- error: string;
8
- }, 400, "json">) | (Response & import("hono").TypedResponse<{
9
- success: true;
10
- message: string;
11
- }, import("hono/utils/http-status").ContentfulStatusCode, "json">) | (Response & import("hono").TypedResponse<{
12
- error: any;
13
- }, 500, "json">)>;