ai-task-board-bridge 0.9.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 (42) hide show
  1. package/README.md +253 -0
  2. package/dist/activity-sanitizer.d.ts +5 -0
  3. package/dist/activity-sanitizer.d.ts.map +1 -0
  4. package/dist/activity-sanitizer.js +55 -0
  5. package/dist/activity-sanitizer.js.map +1 -0
  6. package/dist/app-server-client.d.ts +328 -0
  7. package/dist/app-server-client.d.ts.map +1 -0
  8. package/dist/app-server-client.js +524 -0
  9. package/dist/app-server-client.js.map +1 -0
  10. package/dist/bridge.d.ts +139 -0
  11. package/dist/bridge.d.ts.map +1 -0
  12. package/dist/bridge.js +2769 -0
  13. package/dist/bridge.js.map +1 -0
  14. package/dist/claim-retry.d.ts +10 -0
  15. package/dist/claim-retry.d.ts.map +1 -0
  16. package/dist/claim-retry.js +19 -0
  17. package/dist/claim-retry.js.map +1 -0
  18. package/dist/cli.d.ts +3 -0
  19. package/dist/cli.d.ts.map +1 -0
  20. package/dist/cli.js +92 -0
  21. package/dist/cli.js.map +1 -0
  22. package/dist/history-sync.d.ts +120 -0
  23. package/dist/history-sync.d.ts.map +1 -0
  24. package/dist/history-sync.js +718 -0
  25. package/dist/history-sync.js.map +1 -0
  26. package/dist/index.d.ts +6 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +6 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/setup.d.ts +32 -0
  31. package/dist/setup.d.ts.map +1 -0
  32. package/dist/setup.js +822 -0
  33. package/dist/setup.js.map +1 -0
  34. package/dist/wake-client.d.ts +35 -0
  35. package/dist/wake-client.d.ts.map +1 -0
  36. package/dist/wake-client.js +219 -0
  37. package/dist/wake-client.js.map +1 -0
  38. package/dist/working-directories.d.ts +24 -0
  39. package/dist/working-directories.d.ts.map +1 -0
  40. package/dist/working-directories.js +158 -0
  41. package/dist/working-directories.js.map +1 -0
  42. package/package.json +51 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-server-client.d.ts","sourceRoot":"","sources":["../src/app-server-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,524 @@
1
+ import { spawn } from "node:child_process";
2
+ import { createInterface } from "node:readline";
3
+ const DEFAULT_REQUEST_TIMEOUT_MS = 30_000;
4
+ const DEFAULT_SHUTDOWN_TIMEOUT_MS = 5_000;
5
+ export class AppServerRpcError extends Error {
6
+ code;
7
+ data;
8
+ requestId;
9
+ method;
10
+ constructor(code, message, options = {}) {
11
+ super(message);
12
+ this.name = "AppServerRpcError";
13
+ this.code = code;
14
+ this.data = options.data;
15
+ this.requestId = options.requestId;
16
+ this.method = options.method;
17
+ }
18
+ }
19
+ export class AppServerRequestTimeoutError extends Error {
20
+ requestId;
21
+ method;
22
+ timeoutMs;
23
+ constructor(requestId, method, timeoutMs) {
24
+ super(`App Server request ${method} timed out after ${timeoutMs}ms`);
25
+ this.name = "AppServerRequestTimeoutError";
26
+ this.requestId = requestId;
27
+ this.method = method;
28
+ this.timeoutMs = timeoutMs;
29
+ }
30
+ }
31
+ export class AppServerClientClosedError extends Error {
32
+ constructor(message = "Codex App Server client is closed") {
33
+ super(message);
34
+ this.name = "AppServerClientClosedError";
35
+ }
36
+ }
37
+ function isRecord(value) {
38
+ return typeof value === "object" && value !== null && !Array.isArray(value);
39
+ }
40
+ function isRequestId(value) {
41
+ return typeof value === "string" ||
42
+ (typeof value === "number" && Number.isFinite(value));
43
+ }
44
+ function validateDuration(value, fallback, name) {
45
+ const duration = value ?? fallback;
46
+ if (!Number.isFinite(duration) || duration < 0) {
47
+ throw new RangeError(`${name} must be a finite, non-negative number`);
48
+ }
49
+ return duration;
50
+ }
51
+ function asError(value) {
52
+ return value instanceof Error ? value : new Error(String(value));
53
+ }
54
+ function abortError(signal) {
55
+ if (signal.reason instanceof Error)
56
+ return signal.reason;
57
+ const error = new Error(signal.reason === undefined ? "App Server request was aborted" : String(signal.reason));
58
+ error.name = "AbortError";
59
+ return error;
60
+ }
61
+ /**
62
+ * A single-process client for the newline-delimited Codex App Server protocol.
63
+ * Constructing the client spawns the process; call `initialize()` before using
64
+ * thread/turn helpers, or use `CodexAppServerClient.connect()`.
65
+ */
66
+ export class CodexAppServerClient {
67
+ child;
68
+ lines;
69
+ defaultRequestTimeoutMs;
70
+ shutdownTimeoutMs;
71
+ defaultInitializeParams;
72
+ pending = new Map();
73
+ notificationListeners = new Set();
74
+ errorListeners = new Set();
75
+ stderrListeners = new Set();
76
+ exitPromise;
77
+ resolveExit;
78
+ requestHandler;
79
+ nextRequestId = 0;
80
+ exited = false;
81
+ closing = false;
82
+ closePromise = null;
83
+ initializePromise = null;
84
+ initializeResult = null;
85
+ constructor(options = {}) {
86
+ this.defaultRequestTimeoutMs = validateDuration(options.requestTimeoutMs, DEFAULT_REQUEST_TIMEOUT_MS, "requestTimeoutMs");
87
+ this.shutdownTimeoutMs = validateDuration(options.shutdownTimeoutMs, DEFAULT_SHUTDOWN_TIMEOUT_MS, "shutdownTimeoutMs");
88
+ this.defaultInitializeParams = {
89
+ clientInfo: options.clientInfo ?? {
90
+ name: "ai_task_board_bridge",
91
+ title: "AI Task Board Bridge",
92
+ version: "0.9.0",
93
+ },
94
+ capabilities: options.capabilities ?? null,
95
+ };
96
+ this.requestHandler = options.serverRequestHandler ?? null;
97
+ if (options.onNotification) {
98
+ this.notificationListeners.add(options.onNotification);
99
+ }
100
+ if (options.onError)
101
+ this.errorListeners.add(options.onError);
102
+ if (options.onStderr)
103
+ this.stderrListeners.add(options.onStderr);
104
+ this.exitPromise = new Promise((resolve) => {
105
+ this.resolveExit = resolve;
106
+ });
107
+ const childEnvironment = { ...process.env, ...options.env };
108
+ for (const name of options.unsetEnv ?? [])
109
+ delete childEnvironment[name];
110
+ this.child = spawn(options.binary ?? "codex", [...(options.args ?? ["app-server", "--stdio"])], {
111
+ cwd: options.cwd,
112
+ env: childEnvironment,
113
+ stdio: ["pipe", "pipe", "pipe"],
114
+ });
115
+ this.lines = createInterface({
116
+ input: this.child.stdout,
117
+ crlfDelay: Infinity,
118
+ });
119
+ this.lines.on("line", (line) => this.handleLine(line));
120
+ this.child.stderr.on("data", (chunk) => {
121
+ const text = chunk.toString();
122
+ for (const listener of this.stderrListeners) {
123
+ try {
124
+ listener(text);
125
+ }
126
+ catch (error) {
127
+ this.reportError(asError(error));
128
+ }
129
+ }
130
+ });
131
+ this.child.stdin.on("error", (error) => {
132
+ if (!this.closing)
133
+ this.reportError(error);
134
+ });
135
+ this.child.stdout.on("error", (error) => {
136
+ if (!this.closing)
137
+ this.reportError(error);
138
+ });
139
+ this.child.stderr.on("error", (error) => {
140
+ if (!this.closing)
141
+ this.reportError(error);
142
+ });
143
+ this.child.on("error", (error) => {
144
+ this.failPending(error);
145
+ if (!this.closing)
146
+ this.reportError(error);
147
+ });
148
+ this.child.on("close", (code, signal) => {
149
+ this.handleProcessClose(code, signal);
150
+ });
151
+ }
152
+ static async connect(options = {}) {
153
+ const client = new CodexAppServerClient(options);
154
+ try {
155
+ await client.initialize();
156
+ return client;
157
+ }
158
+ catch (error) {
159
+ await client.close();
160
+ throw error;
161
+ }
162
+ }
163
+ get pid() {
164
+ return this.child.pid;
165
+ }
166
+ get isClosed() {
167
+ return this.closing || this.exited;
168
+ }
169
+ get isInitialized() {
170
+ return this.initializeResult !== null;
171
+ }
172
+ get pendingRequestCount() {
173
+ return this.pending.size;
174
+ }
175
+ onNotification(listener) {
176
+ this.notificationListeners.add(listener);
177
+ return () => this.notificationListeners.delete(listener);
178
+ }
179
+ onError(listener) {
180
+ this.errorListeners.add(listener);
181
+ return () => this.errorListeners.delete(listener);
182
+ }
183
+ onStderr(listener) {
184
+ this.stderrListeners.add(listener);
185
+ return () => this.stderrListeners.delete(listener);
186
+ }
187
+ setServerRequestHandler(handler) {
188
+ this.requestHandler = handler;
189
+ }
190
+ async initialize(params = this.defaultInitializeParams) {
191
+ if (this.initializeResult)
192
+ return this.initializeResult;
193
+ if (this.initializePromise)
194
+ return this.initializePromise;
195
+ this.initializePromise = (async () => {
196
+ const result = await this.request("initialize", params);
197
+ await this.notify("initialized", {});
198
+ this.initializeResult = result;
199
+ return result;
200
+ })();
201
+ return this.initializePromise;
202
+ }
203
+ request(method, params = {}, options = {}) {
204
+ if (this.isClosed) {
205
+ return Promise.reject(new AppServerClientClosedError());
206
+ }
207
+ if (options.signal?.aborted) {
208
+ return Promise.reject(abortError(options.signal));
209
+ }
210
+ const timeoutMs = validateDuration(options.timeoutMs, this.defaultRequestTimeoutMs, "timeoutMs");
211
+ const id = this.allocateRequestId();
212
+ const message = { method, id, params };
213
+ const promise = new Promise((resolve, reject) => {
214
+ let timer;
215
+ const signal = options.signal;
216
+ let onAbort;
217
+ const pending = {
218
+ method,
219
+ resolve,
220
+ reject,
221
+ cleanup: () => {
222
+ if (timer)
223
+ clearTimeout(timer);
224
+ if (signal && onAbort)
225
+ signal.removeEventListener("abort", onAbort);
226
+ },
227
+ };
228
+ if (timeoutMs > 0) {
229
+ timer = setTimeout(() => {
230
+ this.rejectPending(id, new AppServerRequestTimeoutError(id, method, timeoutMs));
231
+ }, timeoutMs);
232
+ }
233
+ this.pending.set(id, pending);
234
+ if (signal) {
235
+ onAbort = () => this.rejectPending(id, abortError(signal));
236
+ signal.addEventListener("abort", onAbort, { once: true });
237
+ if (signal.aborted)
238
+ onAbort();
239
+ }
240
+ if (!this.pending.has(id))
241
+ return;
242
+ void this.writeMessage(message).catch((error) => {
243
+ this.rejectPending(id, asError(error));
244
+ });
245
+ });
246
+ return promise;
247
+ }
248
+ notify(method, params = {}) {
249
+ return this.writeMessage({ method, params });
250
+ }
251
+ async threadList(params = {}, options) {
252
+ return this.initializedRequest("thread/list", params, options);
253
+ }
254
+ async modelList(params = {}, options) {
255
+ return this.initializedRequest("model/list", params, options);
256
+ }
257
+ async threadRead(params, options) {
258
+ return this.initializedRequest("thread/read", params, options);
259
+ }
260
+ async threadTurnsList(params, options) {
261
+ return this.initializedRequest("thread/turns/list", params, options);
262
+ }
263
+ async threadItemsList(params, options) {
264
+ return this.initializedRequest("thread/items/list", params, options);
265
+ }
266
+ async threadStart(params = {}, options) {
267
+ return this.initializedRequest("thread/start", params, options);
268
+ }
269
+ async threadResume(params, options) {
270
+ return this.initializedRequest("thread/resume", params, options);
271
+ }
272
+ async threadSetName(params, options) {
273
+ return this.initializedRequest("thread/name/set", params, options);
274
+ }
275
+ async threadDelete(params, options) {
276
+ return this.initializedRequest("thread/delete", params, options);
277
+ }
278
+ async threadArchive(params, options) {
279
+ return this.initializedRequest("thread/archive", params, options);
280
+ }
281
+ async turnStart(params, options) {
282
+ return this.initializedRequest("turn/start", params, options);
283
+ }
284
+ async turnSteer(params, options) {
285
+ return this.initializedRequest("turn/steer", params, options);
286
+ }
287
+ async turnInterrupt(params, options) {
288
+ return this.initializedRequest("turn/interrupt", params, options);
289
+ }
290
+ close() {
291
+ if (this.closePromise)
292
+ return this.closePromise;
293
+ this.closePromise = this.closeProcess();
294
+ return this.closePromise;
295
+ }
296
+ async initializedRequest(method, params, options) {
297
+ if (!this.initializePromise) {
298
+ throw new Error(`initialize() must complete before calling ${method}`);
299
+ }
300
+ await this.initializePromise;
301
+ return this.request(method, params, options);
302
+ }
303
+ allocateRequestId() {
304
+ do {
305
+ this.nextRequestId = this.nextRequestId >= Number.MAX_SAFE_INTEGER
306
+ ? 1
307
+ : this.nextRequestId + 1;
308
+ } while (this.pending.has(this.nextRequestId));
309
+ return this.nextRequestId;
310
+ }
311
+ writeMessage(message) {
312
+ if (this.isClosed || !this.child.stdin.writable) {
313
+ return Promise.reject(new AppServerClientClosedError());
314
+ }
315
+ let line;
316
+ try {
317
+ line = `${JSON.stringify(message)}\n`;
318
+ }
319
+ catch (error) {
320
+ return Promise.reject(asError(error));
321
+ }
322
+ return new Promise((resolve, reject) => {
323
+ try {
324
+ this.child.stdin.write(line, "utf8", (error) => {
325
+ if (error)
326
+ reject(error);
327
+ else
328
+ resolve();
329
+ });
330
+ }
331
+ catch (error) {
332
+ reject(asError(error));
333
+ }
334
+ });
335
+ }
336
+ handleLine(line) {
337
+ if (line.trim() === "")
338
+ return;
339
+ let message;
340
+ try {
341
+ message = JSON.parse(line);
342
+ }
343
+ catch (error) {
344
+ this.reportError(new Error(`Invalid JSON from Codex App Server: ${asError(error).message}`));
345
+ return;
346
+ }
347
+ if (!isRecord(message)) {
348
+ this.reportError(new Error("Invalid non-object message from Codex App Server"));
349
+ return;
350
+ }
351
+ const hasId = Object.prototype.hasOwnProperty.call(message, "id");
352
+ if (hasId && typeof message.method === "string") {
353
+ if (!isRequestId(message.id)) {
354
+ this.reportError(new Error("App Server request contained an invalid id"));
355
+ return;
356
+ }
357
+ void this.handleServerRequest({
358
+ id: message.id,
359
+ method: message.method,
360
+ params: message.params,
361
+ });
362
+ return;
363
+ }
364
+ if (hasId) {
365
+ if (!isRequestId(message.id)) {
366
+ this.reportError(new Error("App Server response contained an invalid id"));
367
+ return;
368
+ }
369
+ this.handleResponse(message.id, message);
370
+ return;
371
+ }
372
+ if (typeof message.method === "string") {
373
+ const notification = {
374
+ method: message.method,
375
+ params: message.params,
376
+ };
377
+ for (const listener of this.notificationListeners) {
378
+ try {
379
+ listener(notification);
380
+ }
381
+ catch (error) {
382
+ this.reportError(asError(error));
383
+ }
384
+ }
385
+ return;
386
+ }
387
+ this.reportError(new Error("Unrecognized message from Codex App Server"));
388
+ }
389
+ handleResponse(id, message) {
390
+ const pending = this.pending.get(id);
391
+ // A late response after a timeout is expected and can be safely ignored.
392
+ if (!pending)
393
+ return;
394
+ this.pending.delete(id);
395
+ pending.cleanup();
396
+ if (Object.prototype.hasOwnProperty.call(message, "error")) {
397
+ const error = this.parseRpcError(message.error, id, pending.method);
398
+ pending.reject(error);
399
+ return;
400
+ }
401
+ if (!Object.prototype.hasOwnProperty.call(message, "result")) {
402
+ pending.reject(new Error(`App Server response for ${pending.method} has no result or error`));
403
+ return;
404
+ }
405
+ pending.resolve(message.result);
406
+ }
407
+ parseRpcError(value, requestId, method) {
408
+ if (!isRecord(value)) {
409
+ return new AppServerRpcError(-32603, "Invalid App Server error response", {
410
+ data: value,
411
+ requestId,
412
+ method,
413
+ });
414
+ }
415
+ const code = typeof value.code === "number" ? value.code : -32603;
416
+ const message = typeof value.message === "string"
417
+ ? value.message
418
+ : "Unknown App Server error";
419
+ return new AppServerRpcError(code, message, {
420
+ data: value.data,
421
+ requestId,
422
+ method,
423
+ });
424
+ }
425
+ async handleServerRequest(request) {
426
+ try {
427
+ if (!this.requestHandler) {
428
+ throw new AppServerRpcError(-32601, `No handler registered for ${request.method}`);
429
+ }
430
+ const result = await this.requestHandler(request);
431
+ await this.writeMessage({ id: request.id, result: result ?? null });
432
+ }
433
+ catch (error) {
434
+ const rpcError = error instanceof AppServerRpcError
435
+ ? error
436
+ : new AppServerRpcError(-32603, asError(error).message);
437
+ const payload = {
438
+ code: rpcError.code,
439
+ message: rpcError.message,
440
+ };
441
+ if (rpcError.data !== undefined)
442
+ payload.data = rpcError.data;
443
+ try {
444
+ await this.writeMessage({ id: request.id, error: payload });
445
+ }
446
+ catch (writeError) {
447
+ if (!this.closing)
448
+ this.reportError(asError(writeError));
449
+ }
450
+ }
451
+ }
452
+ rejectPending(id, error) {
453
+ const pending = this.pending.get(id);
454
+ if (!pending)
455
+ return;
456
+ this.pending.delete(id);
457
+ pending.cleanup();
458
+ pending.reject(error);
459
+ }
460
+ failPending(error) {
461
+ for (const id of [...this.pending.keys()]) {
462
+ this.rejectPending(id, error);
463
+ }
464
+ }
465
+ reportError(error) {
466
+ for (const listener of this.errorListeners) {
467
+ try {
468
+ listener(error);
469
+ }
470
+ catch {
471
+ // Error listeners are observability hooks and must not break the client.
472
+ }
473
+ }
474
+ }
475
+ handleProcessClose(code, signal) {
476
+ if (this.exited)
477
+ return;
478
+ this.exited = true;
479
+ this.lines.close();
480
+ const suffix = signal ? `signal ${signal}` : `code ${code ?? "unknown"}`;
481
+ const error = new AppServerClientClosedError(`Codex App Server process exited with ${suffix}`);
482
+ this.failPending(error);
483
+ if (!this.closing)
484
+ this.reportError(error);
485
+ this.resolveExit();
486
+ }
487
+ async closeProcess() {
488
+ if (this.exited)
489
+ return;
490
+ this.closing = true;
491
+ this.failPending(new AppServerClientClosedError());
492
+ try {
493
+ this.child.stdin.end();
494
+ }
495
+ catch {
496
+ // The process may already have closed stdin while its close event is pending.
497
+ }
498
+ if (await this.waitForExit(this.shutdownTimeoutMs))
499
+ return;
500
+ this.child.kill("SIGTERM");
501
+ if (await this.waitForExit(Math.min(1_000, this.shutdownTimeoutMs)))
502
+ return;
503
+ this.child.kill("SIGKILL");
504
+ await this.waitForExit(1_000);
505
+ }
506
+ async waitForExit(milliseconds) {
507
+ if (this.exited)
508
+ return true;
509
+ let timer;
510
+ try {
511
+ return await Promise.race([
512
+ this.exitPromise.then(() => true),
513
+ new Promise((resolve) => {
514
+ timer = setTimeout(() => resolve(false), milliseconds);
515
+ }),
516
+ ]);
517
+ }
518
+ finally {
519
+ if (timer)
520
+ clearTimeout(timer);
521
+ }
522
+ }
523
+ }
524
+ //# sourceMappingURL=app-server-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-server-client.js","sourceRoot":"","sources":["../src/app-server-client.ts"],"names":[],"mappings":"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"}