@typescript-agent-harness/cli 0.29.1 → 0.30.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 (56) hide show
  1. package/dist/cli.js +1 -1
  2. package/dist/cli.js.map +1 -1
  3. package/dist/env.d.ts +1 -1
  4. package/dist/env.d.ts.map +1 -1
  5. package/dist/env.js +4 -2
  6. package/dist/env.js.map +1 -1
  7. package/dist/host.d.ts +2 -0
  8. package/dist/host.d.ts.map +1 -1
  9. package/dist/host.js +6 -0
  10. package/dist/host.js.map +1 -1
  11. package/dist/index.d.ts +1 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/runtime.d.ts +3 -0
  15. package/dist/runtime.d.ts.map +1 -1
  16. package/dist/runtime.js +42 -10
  17. package/dist/runtime.js.map +1 -1
  18. package/dist/serve/choose.d.ts +17 -0
  19. package/dist/serve/choose.d.ts.map +1 -0
  20. package/dist/serve/choose.js +48 -0
  21. package/dist/serve/choose.js.map +1 -0
  22. package/dist/serve/fs.d.ts +5 -0
  23. package/dist/serve/fs.d.ts.map +1 -0
  24. package/dist/serve/fs.js +47 -0
  25. package/dist/serve/fs.js.map +1 -0
  26. package/dist/serve/http.d.ts +6 -2
  27. package/dist/serve/http.d.ts.map +1 -1
  28. package/dist/serve/http.js +122 -21
  29. package/dist/serve/http.js.map +1 -1
  30. package/dist/serve/hub.d.ts +3 -1
  31. package/dist/serve/hub.d.ts.map +1 -1
  32. package/dist/serve/hub.js +24 -3
  33. package/dist/serve/hub.js.map +1 -1
  34. package/dist/serve/protocol.d.ts +72 -1
  35. package/dist/serve/protocol.d.ts.map +1 -1
  36. package/dist/serve/run.d.ts +4 -1
  37. package/dist/serve/run.d.ts.map +1 -1
  38. package/dist/serve/run.js +38 -21
  39. package/dist/serve/run.js.map +1 -1
  40. package/dist/serve/workspaces.d.ts +32 -0
  41. package/dist/serve/workspaces.d.ts.map +1 -0
  42. package/dist/serve/workspaces.js +137 -0
  43. package/dist/serve/workspaces.js.map +1 -0
  44. package/dist/settings.d.ts +26 -0
  45. package/dist/settings.d.ts.map +1 -0
  46. package/dist/settings.js +69 -0
  47. package/dist/settings.js.map +1 -0
  48. package/dist/web/assets/{index-By2PRbDq.js → index-C-9SgBRq.js} +3 -3
  49. package/dist/web/assets/index-D81Ep8jO.css +1 -0
  50. package/dist/web/index.html +2 -2
  51. package/dist/workspaces.d.ts +8 -0
  52. package/dist/workspaces.d.ts.map +1 -0
  53. package/dist/workspaces.js +53 -0
  54. package/dist/workspaces.js.map +1 -0
  55. package/package.json +9 -9
  56. package/dist/web/assets/index-CW-h-0xR.css +0 -1
@@ -0,0 +1,47 @@
1
+ import { existsSync, mkdirSync, readdirSync, statSync } from "node:fs";
2
+ import path from "node:path";
3
+ /** Sub-folder names of `dir` (default `home`) for the folder picker; never files or contents. */
4
+ export function listDirs(dir, home) {
5
+ const target = path.resolve(dir || home);
6
+ let entries;
7
+ try {
8
+ entries = readdirSync(target, { withFileTypes: true });
9
+ }
10
+ catch {
11
+ throw new Error(`not a readable folder: ${target}`);
12
+ }
13
+ const isDir = (e) => {
14
+ if (e.isDirectory())
15
+ return true;
16
+ if (!e.isSymbolicLink())
17
+ return false;
18
+ try {
19
+ return statSync(path.join(target, e.name)).isDirectory();
20
+ }
21
+ catch {
22
+ return false;
23
+ }
24
+ };
25
+ const dirs = entries
26
+ .filter((e) => isDir(e) && !e.name.startsWith("."))
27
+ .map((e) => e.name)
28
+ .sort((x, y) => x.localeCompare(y));
29
+ const crumbs = [];
30
+ for (let p = target;; p = path.dirname(p)) {
31
+ crumbs.unshift({ name: path.basename(p) || p, path: p });
32
+ if (path.dirname(p) === p)
33
+ break;
34
+ }
35
+ const parent = path.dirname(target);
36
+ return { path: target, parent: parent === target ? null : parent, dirs, crumbs };
37
+ }
38
+ export function makeDir(parent, name) {
39
+ if (!name || name === "." || name === ".." || /[\\/\0]/.test(name))
40
+ throw new Error(`invalid folder name: "${name}"`);
41
+ const target = path.join(path.resolve(parent), name);
42
+ if (existsSync(target))
43
+ throw new Error(`already exists: ${target}`);
44
+ mkdirSync(target);
45
+ return target;
46
+ }
47
+ //# sourceMappingURL=fs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/serve/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACpF,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,iGAAiG;AACjG,MAAM,UAAU,QAAQ,CAAC,GAAuB,EAAE,IAAY;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IACzC,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE;QAC1B,IAAI,CAAC,CAAC,WAAW,EAAE;YAAE,OAAO,IAAI,CAAC;QACjC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE;YAAE,OAAO,KAAK,CAAC;QACtC,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,OAAO;SACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAClD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,MAAM,GAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,MAAM;IACnC,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,MAAc,EAAE,IAAY;IAClD,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,GAAG,CAAC,CAAC;IACtH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;IACrE,SAAS,CAAC,MAAM,CAAC,CAAC;IAClB,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,15 +1,19 @@
1
1
  import type { RequestListener } from "node:http";
2
- import type { ChatHost } from "../host.js";
3
2
  import { type Hub } from "./hub.js";
4
3
  import type { ServeInfo } from "./protocol.js";
4
+ import { type Workspaces } from "./workspaces.js";
5
5
  export type ServeOptions = {
6
- host: ChatHost;
6
+ workspaces: Workspaces;
7
7
  hub: Hub;
8
8
  token: string;
9
9
  info: ServeInfo;
10
10
  /** Built web UI; may not exist in a source checkout. */
11
11
  webDir: string;
12
12
  persist: boolean;
13
+ /** Starting point of the folder picker. */
14
+ home: string;
15
+ /** System folder dialog; defaults to the real one (tests inject a fake). */
16
+ chooseFolder?: (start?: string) => Promise<string | null>;
13
17
  };
14
18
  /** Request handler plus `closeAll()` to end the event streams on shutdown. */
15
19
  export declare function createServeHandler(opts: ServeOptions): {
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/serve/http.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAmB,eAAe,EAAkB,MAAM,WAAW,CAAC;AAIlF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAa,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAoB/C,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAqEF,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,QAAQ,IAAI,IAAI,CAAA;CAAE,CA8LpG"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/serve/http.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAmB,eAAe,EAAkB,MAAM,WAAW,CAAC;AAOlF,OAAO,EAAa,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAoBjE,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC3D,CAAC;AAyEF,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,QAAQ,IAAI,IAAI,CAAA;CAAE,CAsRpG"}
@@ -1,9 +1,14 @@
1
1
  import { timingSafeEqual } from "node:crypto";
2
2
  import { existsSync } from "node:fs";
3
3
  import { readFile, stat } from "node:fs/promises";
4
+ import os from "node:os";
4
5
  import path from "node:path";
5
6
  import { AttachmentError, MAX_FILE_BYTES } from "../attachments/store.js";
7
+ import { chooseFolder, UnsupportedError } from "./choose.js";
8
+ import { listDirs, makeDir } from "./fs.js";
6
9
  import { BusyError } from "./hub.js";
10
+ import { activeModel, addModel, defaultBaseURL, keyHint, loadSettings, removeModel, setActiveModel } from "../settings.js";
11
+ import { ConflictError } from "./workspaces.js";
7
12
  const COOKIE = "tah_token";
8
13
  const MAX_BODY = 1_000_000;
9
14
  const MAX_UPLOAD = MAX_FILE_BYTES;
@@ -85,11 +90,44 @@ function str(body, key) {
85
90
  throw new HttpError(400, `"${key}" must be a non-empty string`);
86
91
  return value;
87
92
  }
93
+ function optStr(body, key) {
94
+ return body[key] === undefined ? undefined : str(body, key);
95
+ }
88
96
  /** Request handler plus `closeAll()` to end the event streams on shutdown. */
89
97
  export function createServeHandler(opts) {
90
- const { host, hub } = opts;
98
+ const { workspaces, hub } = opts;
99
+ const host = () => workspaces.host;
91
100
  const streams = new Set();
92
101
  const webDir = path.resolve(opts.webDir);
102
+ let choosing = false;
103
+ const settingsView = () => {
104
+ const s = loadSettings(opts.home);
105
+ return {
106
+ user: os.userInfo().username,
107
+ models: s.models.map((m) => ({ id: m.id, model: m.model, baseURL: m.baseURL ?? defaultBaseURL(m.model), keyHint: keyHint(m.apiKey) })),
108
+ activeModel: s.activeModel ?? null,
109
+ };
110
+ };
111
+ /** The open folder rebuilds its LLM when the active model changed; other folders read settings when opened. */
112
+ const changeModels = async (change, res) => {
113
+ hub.assertIdle();
114
+ const before = activeModel(opts.home)?.id;
115
+ change();
116
+ if (activeModel(opts.home)?.id !== before)
117
+ await host().reload();
118
+ return json(res, 200, settingsView());
119
+ };
120
+ const needPersist = () => {
121
+ if (!opts.persist)
122
+ throw new HttpError(409, "sessions are only saved with persist on (drop --no-persist)");
123
+ };
124
+ /** Switches folder when the body names one; true when it switched. */
125
+ const enter = async (cwd) => {
126
+ if (cwd === undefined)
127
+ return false;
128
+ needPersist();
129
+ return workspaces.activate(cwd);
130
+ };
93
131
  const events = (req, res) => {
94
132
  res.writeHead(200, {
95
133
  "content-type": "text/event-stream; charset=utf-8",
@@ -137,9 +175,8 @@ export function createServeHandler(opts) {
137
175
  case "GET /api/events":
138
176
  return events(req, res);
139
177
  case "GET /api/sessions":
140
- if (!opts.persist)
141
- throw new HttpError(409, "sessions are only saved with persist on (drop --no-persist)");
142
- return json(res, 200, await host.listSessions());
178
+ needPersist();
179
+ return json(res, 200, await host().listSessions());
143
180
  case "POST /api/attachments": {
144
181
  const nameHeader = req.headers["x-tah-filename"];
145
182
  const mimeHeader = req.headers["x-tah-mime"];
@@ -149,7 +186,7 @@ export function createServeHandler(opts) {
149
186
  if (data.length === 0)
150
187
  throw new HttpError(400, "empty upload");
151
188
  try {
152
- const ref = host.saveAttachment({ name, mime, data });
189
+ const ref = host().saveAttachment({ name, mime, data });
153
190
  const { path: _path, ...meta } = ref;
154
191
  return json(res, 201, meta);
155
192
  }
@@ -172,56 +209,66 @@ export function createServeHandler(opts) {
172
209
  : [];
173
210
  if (!text.trim() && attachmentIds.length === 0)
174
211
  throw new HttpError(400, "text or attachmentIds required");
175
- hub.start(() => host.send(text, attachmentIds));
212
+ hub.start(() => host().send(text, attachmentIds));
176
213
  return json(res, 202);
177
214
  }
178
215
  case "POST /api/continue":
179
- hub.start(() => host.continueTurn());
216
+ hub.start(() => host().continueTurn());
180
217
  return json(res, 202);
181
218
  case "POST /api/cancel":
182
- host.cancel();
219
+ host().cancel();
183
220
  return json(res, 204);
184
221
  case "POST /api/answer": {
185
222
  const body = await readBody(req);
186
223
  const answer = body.answer;
187
224
  if (!ANSWERS.includes(answer))
188
225
  throw new HttpError(400, `"answer" must be one of ${ANSWERS.join(", ")}`);
189
- host.answer(str(body, "id"), answer);
226
+ host().answer(str(body, "id"), answer);
190
227
  return json(res, 204);
191
228
  }
192
- case "POST /api/reset":
229
+ case "POST /api/reset": {
230
+ const cwd = optStr(await readBody(req), "cwd");
193
231
  hub.assertIdle();
194
- await host.reset();
232
+ // Opening a folder already lands on its latest session; reuse it when that one is still empty.
233
+ const switched = await enter(cwd);
234
+ if (!(switched && host().snapshot().history.length === 0))
235
+ await host().reset();
195
236
  return json(res, 204);
237
+ }
196
238
  case "POST /api/resume": {
197
- const ref = str(await readBody(req), "ref");
239
+ const body = await readBody(req);
240
+ const ref = str(body, "ref");
198
241
  hub.assertIdle();
199
- await host.resume(ref);
242
+ await enter(optStr(body, "cwd"));
243
+ await host().resume(ref);
200
244
  return json(res, 204);
201
245
  }
202
246
  case "POST /api/fork": {
203
- const turns = (await readBody(req)).turns;
247
+ const body = await readBody(req);
248
+ const turns = body.turns;
204
249
  if (turns !== undefined && !(Number.isInteger(turns) && turns >= 0)) {
205
250
  throw new HttpError(400, '"turns" must be a non-negative integer');
206
251
  }
252
+ const id = optStr(body, "id");
207
253
  hub.assertIdle();
208
- await host.fork(turns);
254
+ await enter(optStr(body, "cwd"));
255
+ if (id !== undefined && id !== host().sessionId)
256
+ await host().resume(id);
257
+ await host().fork(turns);
209
258
  return json(res, 204);
210
259
  }
211
260
  case "POST /api/rename": {
212
- if (!opts.persist)
213
- throw new HttpError(409, "sessions are only saved with persist on (drop --no-persist)");
261
+ needPersist();
214
262
  const body = await readBody(req);
215
263
  const id = str(body, "id");
216
264
  if (typeof body.title !== "string")
217
265
  throw new HttpError(400, '"title" must be a string');
218
266
  hub.assertIdle();
219
- const title = await host.renameSession(id, body.title);
267
+ const title = await workspaces.renameSession(optStr(body, "cwd"), id, body.title);
220
268
  return json(res, 200, { id, title: title ?? null });
221
269
  }
222
270
  case "POST /api/session-flag": {
223
- if (!opts.persist)
224
- throw new HttpError(409, "sessions are only saved with persist on (drop --no-persist)");
271
+ needPersist();
225
272
  const body = await readBody(req);
226
273
  const id = str(body, "id");
227
274
  if (body.flag !== "pinned" && body.flag !== "archived") {
@@ -229,8 +276,58 @@ export function createServeHandler(opts) {
229
276
  }
230
277
  if (typeof body.on !== "boolean")
231
278
  throw new HttpError(400, '"on" must be a boolean');
232
- await host.setSessionFlag(id, body.flag, body.on);
279
+ await workspaces.setSessionFlag(optStr(body, "cwd"), id, body.flag, body.on);
280
+ return json(res, 204);
281
+ }
282
+ case "GET /api/workspaces":
283
+ needPersist();
284
+ return json(res, 200, await workspaces.list());
285
+ case "GET /api/workspaces/recent":
286
+ return json(res, 200, workspaces.recent());
287
+ case "POST /api/workspaces/add":
288
+ workspaces.add(str(await readBody(req), "path"));
289
+ return json(res, 204);
290
+ case "POST /api/workspaces/remove":
291
+ workspaces.remove(str(await readBody(req), "path"));
233
292
  return json(res, 204);
293
+ case "GET /api/fs": {
294
+ const dir = new URL(req.url ?? "/", "http://127.0.0.1").searchParams.get("path") ?? undefined;
295
+ return json(res, 200, listDirs(dir, opts.home));
296
+ }
297
+ case "POST /api/fs/mkdir": {
298
+ const body = await readBody(req);
299
+ return json(res, 201, { path: makeDir(str(body, "path"), str(body, "name")) });
300
+ }
301
+ case "GET /api/settings":
302
+ return json(res, 200, settingsView());
303
+ case "POST /api/settings/models": {
304
+ const body = await readBody(req);
305
+ const input = { model: str(body, "model"), apiKey: typeof body.apiKey === "string" ? body.apiKey : "" };
306
+ const baseURL = optStr(body, "baseURL");
307
+ return changeModels(() => void addModel(opts.home, baseURL ? { ...input, baseURL } : input), res);
308
+ }
309
+ case "POST /api/settings/models/remove": {
310
+ const id = str(await readBody(req), "id");
311
+ return changeModels(() => removeModel(opts.home, id), res);
312
+ }
313
+ case "POST /api/settings/active": {
314
+ const body = await readBody(req);
315
+ if (body.id !== null && typeof body.id !== "string")
316
+ throw new HttpError(400, '"id" must be a string or null');
317
+ const id = body.id;
318
+ return changeModels(() => setActiveModel(opts.home, id), res);
319
+ }
320
+ case "POST /api/fs/choose": {
321
+ const start = optStr(await readBody(req), "start");
322
+ if (choosing)
323
+ throw new HttpError(409, "a folder dialog is already open");
324
+ choosing = true;
325
+ try {
326
+ return json(res, 200, { path: await (opts.chooseFolder ?? chooseFolder)(start) });
327
+ }
328
+ finally {
329
+ choosing = false;
330
+ }
234
331
  }
235
332
  }
236
333
  throw new HttpError(404, `no such endpoint: ${key}`);
@@ -279,6 +376,10 @@ export function createServeHandler(opts) {
279
376
  return json(res, 409, { error: err.message });
280
377
  if (err instanceof AttachmentError)
281
378
  return json(res, 400, { error: err.message });
379
+ if (err instanceof ConflictError)
380
+ return json(res, 409, { error: err.message });
381
+ if (err instanceof UnsupportedError)
382
+ return json(res, 501, { error: err.message });
282
383
  json(res, 400, { error: err instanceof Error ? err.message : String(err) });
283
384
  });
284
385
  };
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/serve/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/serve/http.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,9 @@ export type Hub = {
9
9
  assertIdle(): void;
10
10
  /** Starts a turn (`send` / `continueTurn`) without waiting for it; throws `BusyError` while one runs. */
11
11
  start(run: () => Promise<void>): void;
12
+ /** Moves every tab to `host`; `buffered` are the events it emitted while opening. Throws `BusyError` while a turn runs. */
13
+ swap(host: ChatHost, buffered: HostEvent[]): void;
12
14
  };
13
15
  /** One `ChatHost` shared by every browser tab; subscribe before `host.open()`. */
14
- export declare function createHub(host: ChatHost): Hub;
16
+ export declare function createHub(first: ChatHost): Hub;
15
17
  //# sourceMappingURL=hub.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../../src/serve/hub.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAgB,MAAM,YAAY,CAAC;AAEpE,qBAAa,SAAU,SAAQ,KAAK;;CAInC;AAED,MAAM,MAAM,GAAG,GAAG;IAChB,wGAAwG;IACxG,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5D,4CAA4C;IAC5C,UAAU,IAAI,IAAI,CAAC;IACnB,yGAAyG;IACzG,KAAK,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF,kFAAkF;AAClF,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,GAAG,CAiE7C"}
1
+ {"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../../src/serve/hub.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAgB,MAAM,YAAY,CAAC;AAEpE,qBAAa,SAAU,SAAQ,KAAK;;CAInC;AAED,MAAM,MAAM,GAAG,GAAG;IAChB,wGAAwG;IACxG,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5D,4CAA4C;IAC5C,UAAU,IAAI,IAAI,CAAC;IACnB,yGAAyG;IACzG,KAAK,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtC,2HAA2H;IAC3H,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;CACnD,CAAC;AAEF,kFAAkF;AAClF,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,GAAG,CAkF9C"}
package/dist/serve/hub.js CHANGED
@@ -4,7 +4,8 @@ export class BusyError extends Error {
4
4
  }
5
5
  }
6
6
  /** One `ChatHost` shared by every browser tab; subscribe before `host.open()`. */
7
- export function createHub(host) {
7
+ export function createHub(first) {
8
+ let host = first;
8
9
  const listeners = new Set();
9
10
  const startup = [];
10
11
  let base;
@@ -42,11 +43,12 @@ export function createHub(host) {
42
43
  }
43
44
  turn.push(event);
44
45
  };
45
- host.on((event) => {
46
+ const forward = (event) => {
46
47
  record(event);
47
48
  for (const listener of listeners)
48
49
  listener(event);
49
- });
50
+ };
51
+ let unsubscribe = host.on(forward);
50
52
  const assertIdle = () => {
51
53
  if (busy)
52
54
  throw new BusyError();
@@ -68,6 +70,25 @@ export function createHub(host) {
68
70
  busy = false;
69
71
  });
70
72
  },
73
+ swap(next, buffered) {
74
+ assertIdle();
75
+ unsubscribe();
76
+ startup.length = 0;
77
+ base = undefined;
78
+ lastEnd = undefined;
79
+ turn = [];
80
+ host = next;
81
+ // Open tabs clear their view on `session`, so the new folder's startup notices go after it.
82
+ const notices = buffered.filter((event) => event.type === "notice");
83
+ for (const event of buffered)
84
+ if (event.type !== "notice")
85
+ forward(event);
86
+ startup.push(...notices);
87
+ for (const event of notices)
88
+ for (const listener of listeners)
89
+ listener(event);
90
+ unsubscribe = host.on(forward);
91
+ },
71
92
  };
72
93
  }
73
94
  //# sourceMappingURL=hub.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hub.js","sourceRoot":"","sources":["../../src/serve/hub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hub.js","sourceRoot":"","sources":["../../src/serve/hub.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import type { ApprovalAnswer } from "@typescript-agent-harness/permissions";
2
2
  import type { AttachmentMeta } from "../attachments/store.js";
3
- /** `GET /api/info`; `maxSteps` is null when unlimited. */
3
+ import type { SessionRow } from "../sessions.js";
4
+ /** `GET /api/info`; `maxSteps` is null when unlimited; `desktop` is where "New folder" starts (home when there is no Desktop). */
4
5
  export type ServeInfo = {
5
6
  approve: boolean;
6
7
  maxSteps: number | null;
7
8
  version: string;
8
9
  vision: boolean;
10
+ desktop: string;
9
11
  };
10
12
  /** Request bodies of the `POST /api/*` commands that take one. */
11
13
  export type ServeRequest = {
@@ -20,20 +22,53 @@ export type ServeRequest = {
20
22
  id: string;
21
23
  answer: ApprovalAnswer;
22
24
  };
25
+ /** `cwd`: start the session in that folder (switching to it first). */
26
+ reset: {
27
+ cwd?: string;
28
+ };
23
29
  resume: {
24
30
  ref: string;
31
+ cwd?: string;
25
32
  };
33
+ /** `id`: fork that session (switching folder / session first) instead of the current one. */
26
34
  fork: {
27
35
  turns?: number;
36
+ id?: string;
37
+ cwd?: string;
28
38
  };
29
39
  rename: {
30
40
  id: string;
31
41
  title: string;
42
+ cwd?: string;
32
43
  };
33
44
  sessionFlag: {
34
45
  id: string;
35
46
  flag: "pinned" | "archived";
36
47
  on: boolean;
48
+ cwd?: string;
49
+ };
50
+ workspace: {
51
+ path: string;
52
+ };
53
+ mkdir: {
54
+ path: string;
55
+ name: string;
56
+ };
57
+ addModel: {
58
+ model: string;
59
+ apiKey: string;
60
+ baseURL?: string;
61
+ };
62
+ removeModel: {
63
+ id: string;
64
+ };
65
+ /** `null` goes back to `.env`. */
66
+ activeModel: {
67
+ id: string | null;
68
+ };
69
+ /** System folder dialog starting at `start`; answers `{ path: string | null }` (null = cancelled), 501 when unavailable. */
70
+ choose: {
71
+ start?: string;
37
72
  };
38
73
  };
39
74
  export type { AttachmentMeta };
@@ -41,4 +76,40 @@ export type { AttachmentMeta };
41
76
  export type ServeError = {
42
77
  error: string;
43
78
  };
79
+ /** `GET /api/workspaces`: one entry per folder in the sidebar. */
80
+ export type WorkspaceView = {
81
+ path: string;
82
+ name: string;
83
+ active: boolean;
84
+ missing?: true;
85
+ /** Why this folder's sessions could not be read. */
86
+ error?: string;
87
+ sessions: SessionRow[];
88
+ };
89
+ /** `GET /api/settings`; API keys only ever leave the server as `keyHint`. `baseURL` is the effective one. */
90
+ export type SettingsView = {
91
+ user: string;
92
+ models: {
93
+ id: string;
94
+ model: string;
95
+ baseURL: string;
96
+ keyHint: string;
97
+ }[];
98
+ activeModel: string | null;
99
+ };
100
+ /** `GET /api/workspaces/recent`. */
101
+ export type RecentFolder = {
102
+ path: string;
103
+ name: string;
104
+ };
105
+ /** `GET /api/fs`: sub-folders of `path`; `parent` is null at the root; `crumbs` runs from the root down to `path`. */
106
+ export type DirListing = {
107
+ path: string;
108
+ parent: string | null;
109
+ dirs: string[];
110
+ crumbs: {
111
+ name: string;
112
+ path: string;
113
+ }[];
114
+ };
44
115
  //# sourceMappingURL=protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/serve/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,0DAA0D;AAC1D,MAAM,MAAM,SAAS,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAExG,kEAAkE;AAClE,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAClD,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC;IAC/C,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzB,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,WAAW,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;QAAC,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;CACvE,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,kCAAkC;AAClC,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/serve/protocol.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  import type { CliFlags } from "../args.js";
2
2
  /** Starts the server and resolves once it is listening; `stop()` shuts everything down. */
3
- export declare function startServe(flags: CliFlags): Promise<{
3
+ export declare function startServe(flags: CliFlags, opts?: {
4
+ homeDir?: string;
5
+ }): Promise<{
4
6
  url: string;
5
7
  readonly sessionId: string;
8
+ readonly cwd: string;
6
9
  stop(): Promise<void>;
7
10
  }>;
8
11
  export declare function runServe(flags: CliFlags): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/serve/run.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA0B3C,2FAA2F;AAC3F,wBAAsB,UAAU,CAC9B,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAwC7E;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAY7D"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/serve/run.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA4B3C,2FAA2F;AAC3F,wBAAsB,UAAU,CAC9B,KAAK,EAAE,QAAQ,EACf,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9B,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAqDnG;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAa7D"}