@morten-olsen/builder-cli 0.0.7
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.
- package/dist/cli.auth-store.d.ts +14 -0
- package/dist/cli.auth-store.d.ts.map +1 -0
- package/dist/cli.auth-store.js +37 -0
- package/dist/cli.auth-store.js.map +1 -0
- package/dist/cli.context.d.ts +11 -0
- package/dist/cli.context.d.ts.map +1 -0
- package/dist/cli.context.js +15 -0
- package/dist/cli.context.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.defaults.d.ts +5 -0
- package/dist/cli.defaults.d.ts.map +1 -0
- package/dist/cli.defaults.js +40 -0
- package/dist/cli.defaults.js.map +1 -0
- package/dist/cli.http.d.ts +9 -0
- package/dist/cli.http.d.ts.map +1 -0
- package/dist/cli.http.js +82 -0
- package/dist/cli.http.js.map +1 -0
- package/dist/cli.js +27 -0
- package/dist/cli.js.map +1 -0
- package/dist/cli.output.d.ts +12 -0
- package/dist/cli.output.d.ts.map +1 -0
- package/dist/cli.output.js +31 -0
- package/dist/cli.output.js.map +1 -0
- package/dist/cli.prompt.d.ts +4 -0
- package/dist/cli.prompt.d.ts.map +1 -0
- package/dist/cli.prompt.js +64 -0
- package/dist/cli.prompt.js.map +1 -0
- package/dist/commands/commands.admin.d.ts +4 -0
- package/dist/commands/commands.admin.d.ts.map +1 -0
- package/dist/commands/commands.admin.js +184 -0
- package/dist/commands/commands.admin.js.map +1 -0
- package/dist/commands/commands.auth.d.ts +4 -0
- package/dist/commands/commands.auth.d.ts.map +1 -0
- package/dist/commands/commands.auth.js +112 -0
- package/dist/commands/commands.auth.js.map +1 -0
- package/dist/commands/commands.identity.d.ts +4 -0
- package/dist/commands/commands.identity.d.ts.map +1 -0
- package/dist/commands/commands.identity.js +117 -0
- package/dist/commands/commands.identity.js.map +1 -0
- package/dist/commands/commands.repo.d.ts +4 -0
- package/dist/commands/commands.repo.d.ts.map +1 -0
- package/dist/commands/commands.repo.js +184 -0
- package/dist/commands/commands.repo.js.map +1 -0
- package/dist/commands/commands.server.d.ts +4 -0
- package/dist/commands/commands.server.d.ts.map +1 -0
- package/dist/commands/commands.server.js +38 -0
- package/dist/commands/commands.server.js.map +1 -0
- package/dist/commands/commands.session.d.ts +4 -0
- package/dist/commands/commands.session.d.ts.map +1 -0
- package/dist/commands/commands.session.js +296 -0
- package/dist/commands/commands.session.js.map +1 -0
- package/dist/exports.d.ts +8 -0
- package/dist/exports.d.ts.map +1 -0
- package/dist/exports.js +5 -0
- package/dist/exports.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +38 -0
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
import { AgentService, EventBusService, RepoService, SessionService, sessionKey, sessionRef, startSession, } from '@morten-olsen/builder-server';
|
|
2
|
+
import { loadAuth, requireAuth } from '../cli.auth-store.js';
|
|
3
|
+
import { createCliContext } from '../cli.context.js';
|
|
4
|
+
import { createHttpClient } from '../cli.http.js';
|
|
5
|
+
import { isJson, printJson, printTable } from '../cli.output.js';
|
|
6
|
+
const renderEvent = (event) => {
|
|
7
|
+
switch (event.type) {
|
|
8
|
+
case 'session:status':
|
|
9
|
+
console.log(`[status] ${event.data.status}`);
|
|
10
|
+
break;
|
|
11
|
+
case 'agent:output':
|
|
12
|
+
process.stdout.write(event.data.text);
|
|
13
|
+
break;
|
|
14
|
+
case 'agent:tool_use':
|
|
15
|
+
console.log(`[tool] ${event.data.tool} ${JSON.stringify(event.data.input)}`);
|
|
16
|
+
break;
|
|
17
|
+
case 'agent:tool_result':
|
|
18
|
+
console.log(`[tool:result] ${event.data.tool}`);
|
|
19
|
+
break;
|
|
20
|
+
case 'session:completed':
|
|
21
|
+
console.log(`\n[completed] ${event.data.summary}`);
|
|
22
|
+
break;
|
|
23
|
+
case 'session:error':
|
|
24
|
+
console.error(`\n[error] ${event.data.error}`);
|
|
25
|
+
break;
|
|
26
|
+
case 'session:waiting_for_input':
|
|
27
|
+
console.log(`\n[waiting_for_input] ${event.data.prompt}`);
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const registerSessionCommands = (program) => {
|
|
32
|
+
const session = program.command('session').description('Session management commands');
|
|
33
|
+
session
|
|
34
|
+
.command('create')
|
|
35
|
+
.description('Create a new session')
|
|
36
|
+
.requiredOption('--id <id>', 'Session ID (lowercase slug)')
|
|
37
|
+
.requiredOption('--repo <id>', 'Repo ID')
|
|
38
|
+
.option('--identity <id>', 'Identity ID (overrides repo default)')
|
|
39
|
+
.option('--branch <branch>', 'Branch name (overrides repo default)')
|
|
40
|
+
.requiredOption('--prompt <prompt>', 'Prompt for the agent')
|
|
41
|
+
.option('--json', 'Output as JSON')
|
|
42
|
+
.action(async function () {
|
|
43
|
+
const opts = this.opts();
|
|
44
|
+
const { services, cleanup } = await createCliContext();
|
|
45
|
+
try {
|
|
46
|
+
const { userId } = await requireAuth(services);
|
|
47
|
+
const repoService = services.get(RepoService);
|
|
48
|
+
const repo = await repoService.get({ userId, repoId: opts.repo });
|
|
49
|
+
const identityId = opts.identity ?? repo.defaultIdentityId;
|
|
50
|
+
if (!identityId) {
|
|
51
|
+
throw new Error('No identity specified and repo has no default identity');
|
|
52
|
+
}
|
|
53
|
+
const branch = opts.branch ?? repo.defaultBranch;
|
|
54
|
+
if (!branch) {
|
|
55
|
+
throw new Error('No branch specified and repo has no default branch');
|
|
56
|
+
}
|
|
57
|
+
const sessionService = services.get(SessionService);
|
|
58
|
+
const result = await sessionService.create({
|
|
59
|
+
id: opts.id,
|
|
60
|
+
userId,
|
|
61
|
+
repoId: repo.id,
|
|
62
|
+
identityId,
|
|
63
|
+
repoUrl: repo.repoUrl,
|
|
64
|
+
branch,
|
|
65
|
+
prompt: opts.prompt,
|
|
66
|
+
});
|
|
67
|
+
if (isJson(this)) {
|
|
68
|
+
printJson(result);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
console.log(`Session created: ${result.id}`);
|
|
72
|
+
console.log(` status: ${result.status}`);
|
|
73
|
+
console.log(` repo: ${result.repoUrl}`);
|
|
74
|
+
console.log(` branch: ${result.branch}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
finally {
|
|
78
|
+
await cleanup();
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
session
|
|
82
|
+
.command('list')
|
|
83
|
+
.description('List all sessions')
|
|
84
|
+
.option('--json', 'Output as JSON')
|
|
85
|
+
.action(async function () {
|
|
86
|
+
const { services, cleanup } = await createCliContext();
|
|
87
|
+
try {
|
|
88
|
+
const { userId } = await requireAuth(services);
|
|
89
|
+
const sessionService = services.get(SessionService);
|
|
90
|
+
const sessions = await sessionService.list(userId);
|
|
91
|
+
if (isJson(this)) {
|
|
92
|
+
printJson(sessions);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
printTable(sessions, [
|
|
96
|
+
{ header: 'ID', key: 'id' },
|
|
97
|
+
{ header: 'Status', key: 'status' },
|
|
98
|
+
{ header: 'Repo', key: 'repoUrl' },
|
|
99
|
+
{ header: 'Branch', key: 'branch' },
|
|
100
|
+
{ header: 'Created', key: 'createdAt' },
|
|
101
|
+
]);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
finally {
|
|
105
|
+
await cleanup();
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
session
|
|
109
|
+
.command('get')
|
|
110
|
+
.description('Get session details')
|
|
111
|
+
.argument('<id>', 'Session ID')
|
|
112
|
+
.option('--json', 'Output as JSON')
|
|
113
|
+
.action(async function (id) {
|
|
114
|
+
const { services, cleanup } = await createCliContext();
|
|
115
|
+
try {
|
|
116
|
+
const { userId } = await requireAuth(services);
|
|
117
|
+
const sessionService = services.get(SessionService);
|
|
118
|
+
const result = await sessionService.get({ userId, sessionId: id });
|
|
119
|
+
if (isJson(this)) {
|
|
120
|
+
printJson(result);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
console.log(`id: ${result.id}`);
|
|
124
|
+
console.log(`status: ${result.status}`);
|
|
125
|
+
console.log(`repo: ${result.repoUrl}`);
|
|
126
|
+
console.log(`branch: ${result.branch}`);
|
|
127
|
+
console.log(`prompt: ${result.prompt}`);
|
|
128
|
+
console.log(`error: ${result.error ?? 'none'}`);
|
|
129
|
+
console.log(`created: ${result.createdAt}`);
|
|
130
|
+
console.log(`updated: ${result.updatedAt}`);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
finally {
|
|
134
|
+
await cleanup();
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
session
|
|
138
|
+
.command('delete')
|
|
139
|
+
.description('Delete a session')
|
|
140
|
+
.argument('<id>', 'Session ID')
|
|
141
|
+
.action(async function (id) {
|
|
142
|
+
const { services, cleanup } = await createCliContext();
|
|
143
|
+
try {
|
|
144
|
+
const { userId } = await requireAuth(services);
|
|
145
|
+
const sessionService = services.get(SessionService);
|
|
146
|
+
const s = await sessionService.get({ userId, sessionId: id });
|
|
147
|
+
const ref = sessionRef(s);
|
|
148
|
+
const agentService = services.get(AgentService);
|
|
149
|
+
const provider = agentService.getProvider();
|
|
150
|
+
await provider.abort(sessionKey(ref));
|
|
151
|
+
await sessionService.delete(ref);
|
|
152
|
+
const eventBus = services.get(EventBusService);
|
|
153
|
+
eventBus.remove(ref);
|
|
154
|
+
console.log(`Session ${id} deleted.`);
|
|
155
|
+
}
|
|
156
|
+
finally {
|
|
157
|
+
await cleanup();
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
session
|
|
161
|
+
.command('run')
|
|
162
|
+
.description('Create a session and run the agent to completion')
|
|
163
|
+
.requiredOption('--id <id>', 'Session ID (lowercase slug)')
|
|
164
|
+
.requiredOption('--repo <id>', 'Repo ID')
|
|
165
|
+
.option('--identity <id>', 'Identity ID (overrides repo default)')
|
|
166
|
+
.option('--branch <branch>', 'Branch name (overrides repo default)')
|
|
167
|
+
.requiredOption('--prompt <prompt>', 'Prompt for the agent')
|
|
168
|
+
.option('--json', 'Output as newline-delimited JSON events')
|
|
169
|
+
.action(async function () {
|
|
170
|
+
const opts = this.opts();
|
|
171
|
+
const json = isJson(this);
|
|
172
|
+
const { services, cleanup } = await createCliContext();
|
|
173
|
+
let exitCode = 0;
|
|
174
|
+
let ref = null;
|
|
175
|
+
try {
|
|
176
|
+
const { userId } = await requireAuth(services);
|
|
177
|
+
const repoService = services.get(RepoService);
|
|
178
|
+
const repo = await repoService.get({ userId, repoId: opts.repo });
|
|
179
|
+
const identityId = opts.identity ?? repo.defaultIdentityId;
|
|
180
|
+
if (!identityId) {
|
|
181
|
+
throw new Error('No identity specified and repo has no default identity');
|
|
182
|
+
}
|
|
183
|
+
const branch = opts.branch ?? repo.defaultBranch;
|
|
184
|
+
if (!branch) {
|
|
185
|
+
throw new Error('No branch specified and repo has no default branch');
|
|
186
|
+
}
|
|
187
|
+
const sessionService = services.get(SessionService);
|
|
188
|
+
const eventBus = services.get(EventBusService);
|
|
189
|
+
const result = await sessionService.create({
|
|
190
|
+
id: opts.id,
|
|
191
|
+
userId,
|
|
192
|
+
repoId: repo.id,
|
|
193
|
+
identityId,
|
|
194
|
+
repoUrl: repo.repoUrl,
|
|
195
|
+
branch,
|
|
196
|
+
prompt: opts.prompt,
|
|
197
|
+
});
|
|
198
|
+
ref = sessionRef(result);
|
|
199
|
+
if (!json) {
|
|
200
|
+
console.log(`Session ${result.id} created. Starting agent...`);
|
|
201
|
+
}
|
|
202
|
+
let firstTurnDone = false;
|
|
203
|
+
const unsubscribe = eventBus.subscribe(ref, (event) => {
|
|
204
|
+
if (json) {
|
|
205
|
+
console.log(JSON.stringify(event));
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
renderEvent(event);
|
|
209
|
+
}
|
|
210
|
+
if (event.type === 'session:error') {
|
|
211
|
+
exitCode = 1;
|
|
212
|
+
}
|
|
213
|
+
if (event.type === 'session:status' && event.data.status === 'idle') {
|
|
214
|
+
firstTurnDone = true;
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
const currentRef = ref;
|
|
218
|
+
const handleSignal = async () => {
|
|
219
|
+
if (!json) {
|
|
220
|
+
console.log('\nAborting...');
|
|
221
|
+
}
|
|
222
|
+
const provider = services.get(AgentService).getProvider();
|
|
223
|
+
await provider.abort(sessionKey(currentRef));
|
|
224
|
+
unsubscribe();
|
|
225
|
+
await cleanup();
|
|
226
|
+
process.exit(130);
|
|
227
|
+
};
|
|
228
|
+
process.on('SIGINT', () => void handleSignal());
|
|
229
|
+
process.on('SIGTERM', () => void handleSignal());
|
|
230
|
+
await startSession(services, ref);
|
|
231
|
+
unsubscribe();
|
|
232
|
+
if (firstTurnDone && !json && ref) {
|
|
233
|
+
console.log(`\nSession idle: ${result.id}. Send follow-up messages with: builder session send ${result.id} --message '...'`);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
finally {
|
|
237
|
+
await cleanup();
|
|
238
|
+
}
|
|
239
|
+
process.exit(exitCode);
|
|
240
|
+
});
|
|
241
|
+
session
|
|
242
|
+
.command('send')
|
|
243
|
+
.description('Send a follow-up message to an idle session')
|
|
244
|
+
.argument('<id>', 'Session ID')
|
|
245
|
+
.requiredOption('--message <message>', 'Message to send')
|
|
246
|
+
.option('--json', 'Output as newline-delimited JSON events')
|
|
247
|
+
.action(async function (id) {
|
|
248
|
+
const opts = this.opts();
|
|
249
|
+
const json = isJson(this);
|
|
250
|
+
const auth = loadAuth();
|
|
251
|
+
if (!auth) {
|
|
252
|
+
throw new Error('Not logged in. Run `builder auth login` or `builder auth register` first.');
|
|
253
|
+
}
|
|
254
|
+
const baseUrl = process.env.BUILDER_SERVER_URL ?? 'http://localhost:4120';
|
|
255
|
+
const client = createHttpClient(baseUrl, auth.token);
|
|
256
|
+
let exitCode = 0;
|
|
257
|
+
// Start SSE stream first, then send the message.
|
|
258
|
+
// streamSSE resolves when the `until` predicate returns true.
|
|
259
|
+
const streamDone = client.streamSSE(`/api/sessions/${id}/events`, (event) => {
|
|
260
|
+
if (json) {
|
|
261
|
+
console.log(JSON.stringify(event));
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
renderEvent(event);
|
|
265
|
+
}
|
|
266
|
+
if (event.type === 'session:error') {
|
|
267
|
+
exitCode = 1;
|
|
268
|
+
}
|
|
269
|
+
}, (event) => (event.type === 'session:status' && event.data.status === 'idle') ||
|
|
270
|
+
(event.type === 'session:status' && event.data.status === 'completed') ||
|
|
271
|
+
(event.type === 'session:status' && event.data.status === 'failed') ||
|
|
272
|
+
event.type === 'session:error');
|
|
273
|
+
await client.post(`/api/sessions/${id}/messages`, { message: opts.message });
|
|
274
|
+
await streamDone;
|
|
275
|
+
if (!json) {
|
|
276
|
+
console.log(`\nSession idle: ${id}. Send follow-up messages with: builder session send ${id} --message '...'`);
|
|
277
|
+
}
|
|
278
|
+
process.exit(exitCode);
|
|
279
|
+
});
|
|
280
|
+
session
|
|
281
|
+
.command('stop')
|
|
282
|
+
.description('Gracefully stop an idle session')
|
|
283
|
+
.argument('<id>', 'Session ID')
|
|
284
|
+
.action(async function (id) {
|
|
285
|
+
const auth = loadAuth();
|
|
286
|
+
if (!auth) {
|
|
287
|
+
throw new Error('Not logged in. Run `builder auth login` or `builder auth register` first.');
|
|
288
|
+
}
|
|
289
|
+
const baseUrl = process.env.BUILDER_SERVER_URL ?? 'http://localhost:4120';
|
|
290
|
+
const client = createHttpClient(baseUrl, auth.token);
|
|
291
|
+
await client.post(`/api/sessions/${id}/stop`, {});
|
|
292
|
+
console.log(`Session ${id} stopped.`);
|
|
293
|
+
});
|
|
294
|
+
};
|
|
295
|
+
export { registerSessionCommands };
|
|
296
|
+
//# sourceMappingURL=commands.session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.session.js","sourceRoot":"","sources":["../../src/commands/commands.session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { BUILDER_HOME, applyCliDefaults } from './cli.defaults.js';
|
|
2
|
+
export type { AuthData } from './cli.auth-store.js';
|
|
3
|
+
export { saveAuth, loadAuth, clearAuth, requireAuth } from './cli.auth-store.js';
|
|
4
|
+
export type { CliContext } from './cli.context.js';
|
|
5
|
+
export { createCliContext } from './cli.context.js';
|
|
6
|
+
export type { Column } from './cli.output.js';
|
|
7
|
+
export { printTable, printJson, printError, isJson } from './cli.output.js';
|
|
8
|
+
//# sourceMappingURL=exports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEjF,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,YAAY,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/exports.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { BUILDER_HOME, applyCliDefaults } from './cli.defaults.js';
|
|
2
|
+
export { saveAuth, loadAuth, clearAuth, requireAuth } from './cli.auth-store.js';
|
|
3
|
+
export { createCliContext } from './cli.context.js';
|
|
4
|
+
export { printTable, printJson, printError, isJson } from './cli.output.js';
|
|
5
|
+
//# sourceMappingURL=exports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGnE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"root":["../src/cli.auth-store.ts","../src/cli.context.ts","../src/cli.defaults.ts","../src/cli.http.ts","../src/cli.output.ts","../src/cli.prompt.ts","../src/cli.ts","../src/exports.ts","../src/commands/commands.admin.ts","../src/commands/commands.auth.ts","../src/commands/commands.identity.ts","../src/commands/commands.repo.ts","../src/commands/commands.server.ts","../src/commands/commands.session.ts"],"version":"5.9.3"}
|
package/package.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@morten-olsen/builder-cli",
|
|
3
|
+
"version": "0.0.7",
|
|
4
|
+
"repository": {
|
|
5
|
+
"type": "git",
|
|
6
|
+
"url": "https://github.com/morten-olsen/builder.git",
|
|
7
|
+
"directory": "packages/cli"
|
|
8
|
+
},
|
|
9
|
+
"type": "module",
|
|
10
|
+
"bin": {
|
|
11
|
+
"builder": "./dist/cli.js"
|
|
12
|
+
},
|
|
13
|
+
"main": "dist/exports.js",
|
|
14
|
+
"exports": {
|
|
15
|
+
".": "./dist/exports.js"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@fastify/static": "^9.0.0",
|
|
22
|
+
"commander": "^13.1.0",
|
|
23
|
+
"dotenv": "^17.3.1",
|
|
24
|
+
"@morten-olsen/builder-server": "0.0.7",
|
|
25
|
+
"@morten-olsen/builder-web": "0.0.7"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@types/node": "25.3.0",
|
|
29
|
+
"tsx": "^4.21.0",
|
|
30
|
+
"typescript": "5.9.3",
|
|
31
|
+
"@morten-olsen/builder-configs": "0.0.7"
|
|
32
|
+
},
|
|
33
|
+
"scripts": {
|
|
34
|
+
"build": "tsc --build",
|
|
35
|
+
"cli": "tsx src/cli.ts",
|
|
36
|
+
"dev": "tsx --watch src/cli.ts server start"
|
|
37
|
+
}
|
|
38
|
+
}
|