codex-toys 0.140.2 → 0.140.3

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.
@@ -0,0 +1,584 @@
1
+ import path from "node:path";
2
+ import { spawn } from "node:child_process";
3
+ import { collectFetchInfo, } from "./cli/fetch.js";
4
+ import { collectWorkspaceDoctorInfo, createWorkspaceContext, listDeferredRunIntents, parseMode, readDeferredRun, } from "./cli/workspace-autonomy.js";
5
+ import { listTurnAutomations, } from "./cli/turn-automation.js";
6
+ import { WorkspaceFunctionRuntime, } from "./functions.js";
7
+ export const WORKSPACE_OVERVIEW_METHOD = "workspace.overview";
8
+ const DEFAULT_INTENT_LIMIT = 10;
9
+ const DEFAULT_THREAD_LIMIT = 10;
10
+ const DEFAULT_OUTPUT_CHARS = 600;
11
+ const COMMAND_TIMEOUT_MS = 1_500;
12
+ export const workspaceOverviewMethodMetadata = [
13
+ {
14
+ name: WORKSPACE_OVERVIEW_METHOD,
15
+ description: "Read a bounded dashboard-friendly summary for the current workspace.",
16
+ sideEffects: "read-only",
17
+ category: "workspace",
18
+ },
19
+ ];
20
+ export function createWorkspaceOverviewMethods(options = {}) {
21
+ return {
22
+ [WORKSPACE_OVERVIEW_METHOD]: async (params) => {
23
+ const input = overviewParams(params);
24
+ return await collectWorkspaceOverview({
25
+ ...options,
26
+ workspaceRoot: input.workspaceRoot ?? options.workspaceRoot,
27
+ mode: input.mode ?? options.mode,
28
+ }, input);
29
+ },
30
+ };
31
+ }
32
+ export async function collectWorkspaceOverview(options = {}, params = {}) {
33
+ const now = options.now?.() ?? new Date();
34
+ const limits = normalizedLimits(params.limits);
35
+ const context = await createWorkspaceContext({
36
+ workspaceRoot: params.workspaceRoot ?? options.workspaceRoot,
37
+ mode: params.mode ?? options.mode,
38
+ env: options.env,
39
+ });
40
+ const cwd = context.repoRoot;
41
+ const toybox = options.toybox ?? {
42
+ transport: "local",
43
+ status: options.appRequest ? "connected" : "unavailable",
44
+ url: options.toyboxUrl ?? "toybox://local",
45
+ error: options.appRequest ? undefined : "No toybox request surface was provided",
46
+ };
47
+ const [fetch, deferred, automations, functions, threads, git, codex,] = await Promise.all([
48
+ collectOverviewFetch(cwd, toybox, options),
49
+ collectDeferred(context, now, limits.intents, limits.outputChars),
50
+ collectAutomations(cwd),
51
+ collectFunctions(cwd),
52
+ collectThreads(cwd, limits.threads, options.appRequest),
53
+ collectGit(cwd),
54
+ commandVersion(options.env?.CODEX_APP_SERVER_CODEX_COMMAND ?? "codex", ["--version"]),
55
+ ]);
56
+ const workspaceConfigError = fetch.workspace?.errors?.[0];
57
+ const checks = [
58
+ {
59
+ name: "node",
60
+ ok: true,
61
+ status: "ok",
62
+ detail: process.version,
63
+ },
64
+ {
65
+ name: "codex-toys",
66
+ ok: true,
67
+ status: "ok",
68
+ detail: `${fetch.package}@${fetch.version}`,
69
+ },
70
+ codex.ok
71
+ ? {
72
+ name: "codex",
73
+ ok: true,
74
+ status: "ok",
75
+ detail: codex.output,
76
+ }
77
+ : {
78
+ name: "codex",
79
+ ok: false,
80
+ status: "unavailable",
81
+ error: codex.error,
82
+ },
83
+ {
84
+ name: "toybox",
85
+ ok: toybox.status === "connected",
86
+ status: toybox.status === "connected" ? "ok" : "unavailable",
87
+ detail: toybox.status === "connected"
88
+ ? `${toybox.transport}${toybox.server ? ` ${toybox.server.name}@${toybox.server.version}` : ""}`
89
+ : undefined,
90
+ error: toybox.error,
91
+ },
92
+ {
93
+ name: "app-server",
94
+ ok: threads.ok,
95
+ status: threads.ok ? "ok" : "unavailable",
96
+ detail: threads.ok ? `${threads.total} recent cwd threads` : undefined,
97
+ error: threads.error,
98
+ },
99
+ {
100
+ name: "workspace-config",
101
+ ok: Boolean(fetch.workspace?.configExists) && !workspaceConfigError,
102
+ status: !fetch.workspace?.configExists
103
+ ? "warning"
104
+ : workspaceConfigError ? "error" : "ok",
105
+ detail: fetch.workspace?.configPath,
106
+ error: workspaceConfigError,
107
+ },
108
+ ];
109
+ const ok = checks.every((check) => check.ok || check.status === "warning") &&
110
+ deferred.ok &&
111
+ automations.ok &&
112
+ functions.ok &&
113
+ git.ok;
114
+ return {
115
+ ok,
116
+ generatedAt: now.toISOString(),
117
+ workspace: {
118
+ cwd,
119
+ repoRoot: context.repoRoot,
120
+ mode: context.mode,
121
+ requestedMode: context.requestedMode,
122
+ config: {
123
+ path: context.configPath,
124
+ exists: fetch.workspace?.configExists ?? false,
125
+ ok: Boolean(fetch.workspace?.configExists) && !workspaceConfigError,
126
+ ...(workspaceConfigError ? { error: workspaceConfigError } : {}),
127
+ },
128
+ runtimeCodexHome: context.runtimeCodexHome,
129
+ workspaceCodexHome: context.workspaceCodexHome,
130
+ stateRoot: context.stateRoot,
131
+ },
132
+ fetch,
133
+ health: {
134
+ ok: checks.every((check) => check.ok || check.status === "warning"),
135
+ checks,
136
+ },
137
+ deferred,
138
+ automations,
139
+ functions,
140
+ threads,
141
+ git,
142
+ };
143
+ }
144
+ async function collectOverviewFetch(cwd, toybox, options) {
145
+ const info = await collectFetchInfo({
146
+ cwd,
147
+ appUrl: options.toyboxUrl ?? "toybox://local",
148
+ workspaceUrl: options.toyboxUrl ?? "toybox://local",
149
+ toybox,
150
+ env: options.env,
151
+ });
152
+ return {
153
+ package: info.package,
154
+ version: info.version,
155
+ runtime: info.runtime,
156
+ node: info.node,
157
+ platform: info.platform,
158
+ arch: info.arch,
159
+ ...(info.shell ? { shell: info.shell } : {}),
160
+ cwd: info.cwd,
161
+ codexCommand: info.codexCommand,
162
+ toyboxUrl: info.toyboxUrl,
163
+ codexHome: info.codexHome,
164
+ ...(info.workspace ? { workspace: info.workspace } : {}),
165
+ toybox: info.toybox,
166
+ };
167
+ }
168
+ async function collectDeferred(context, now, limit, outputChars) {
169
+ try {
170
+ const intents = await listDeferredRunIntents(context);
171
+ const latest = intents
172
+ .toSorted((left, right) => bFirst(left.updatedAt, right.updatedAt))[0];
173
+ const latestRead = latest
174
+ ? await readDeferredRun(context, latest.id, { includeOutput: true }).catch(() => undefined)
175
+ : undefined;
176
+ return {
177
+ ok: true,
178
+ summary: summarizeDeferred(intents, now),
179
+ intents: intents
180
+ .toSorted((left, right) => bFirst(left.updatedAt, right.updatedAt))
181
+ .slice(0, limit)
182
+ .map(summarizeIntent),
183
+ ...(latest ? {
184
+ latest: summarizeLatestDeferred(latest, latestRead?.attempts ?? [], latestRead?.outputs ?? [], outputChars),
185
+ } : {}),
186
+ };
187
+ }
188
+ catch (error) {
189
+ return {
190
+ ok: false,
191
+ summary: {
192
+ total: 0,
193
+ pending: 0,
194
+ running: 0,
195
+ completed: 0,
196
+ failed: 0,
197
+ canceled: 0,
198
+ due: 0,
199
+ },
200
+ intents: [],
201
+ error: errorMessage(error),
202
+ };
203
+ }
204
+ }
205
+ function summarizeDeferred(intents, now) {
206
+ const summary = {
207
+ total: intents.length,
208
+ pending: 0,
209
+ running: 0,
210
+ completed: 0,
211
+ failed: 0,
212
+ canceled: 0,
213
+ due: 0,
214
+ };
215
+ for (const intent of intents) {
216
+ summary[intent.status] += 1;
217
+ if ((intent.status === "pending" || intent.status === "running") &&
218
+ new Date(intent.runAt).getTime() <= now.getTime()) {
219
+ summary.due += 1;
220
+ }
221
+ }
222
+ return summary;
223
+ }
224
+ function summarizeIntent(intent) {
225
+ return {
226
+ id: intent.id,
227
+ status: intent.status,
228
+ mode: intent.mode,
229
+ runAt: intent.runAt,
230
+ createdAt: intent.createdAt,
231
+ updatedAt: intent.updatedAt,
232
+ target: targetLabel(intent.target),
233
+ attempts: intent.attemptIds.length,
234
+ ...(intent.error ? { error: intent.error } : {}),
235
+ };
236
+ }
237
+ function summarizeLatestDeferred(intent, attempts, outputs, outputChars) {
238
+ const latestAttempt = attempts
239
+ .toSorted((left, right) => bFirst(left.startedAt, right.startedAt))[0];
240
+ const latestOutput = latestAttempt
241
+ ? outputs.find((output) => output.attemptId === latestAttempt.id) ?? outputs.at(-1)
242
+ : outputs.at(-1);
243
+ return {
244
+ ...summarizeIntent(intent),
245
+ ...(latestAttempt ? {
246
+ attempt: {
247
+ id: latestAttempt.id,
248
+ status: latestAttempt.status,
249
+ startedAt: latestAttempt.startedAt,
250
+ ...(latestAttempt.finishedAt ? { finishedAt: latestAttempt.finishedAt } : {}),
251
+ ...(latestAttempt.outputPath ? { outputPath: latestAttempt.outputPath } : {}),
252
+ ...(latestAttempt.error ? { error: latestAttempt.error } : {}),
253
+ },
254
+ } : {}),
255
+ ...(latestOutput ? { output: summarizeOutput(latestOutput, outputChars) } : {}),
256
+ };
257
+ }
258
+ function summarizeOutput(output, outputChars) {
259
+ if (output.error) {
260
+ return {
261
+ attemptId: output.attemptId,
262
+ outputPath: output.outputPath,
263
+ kind: "error",
264
+ error: output.error,
265
+ };
266
+ }
267
+ const value = output.output;
268
+ const input = record(value);
269
+ const workspaceRun = record(input.workspaceRun);
270
+ const text = previewJson(value, outputChars);
271
+ return {
272
+ attemptId: output.attemptId,
273
+ outputPath: output.outputPath,
274
+ kind: value === undefined ? "missing" : "json",
275
+ ...(Object.keys(input).length > 0 ? { keys: Object.keys(input).slice(0, 12) } : {}),
276
+ ...(Object.keys(workspaceRun).length > 0 ? {
277
+ workspaceRun: {
278
+ ...(stringValue(workspaceRun.id) ? { id: stringValue(workspaceRun.id) } : {}),
279
+ ...(stringValue(workspaceRun.taskId) ? { taskId: stringValue(workspaceRun.taskId) } : {}),
280
+ ...(stringValue(workspaceRun.status) ? { status: stringValue(workspaceRun.status) } : {}),
281
+ ...(stringValue(workspaceRun.startedAt) ? { startedAt: stringValue(workspaceRun.startedAt) } : {}),
282
+ ...(stringValue(workspaceRun.finishedAt) ? { finishedAt: stringValue(workspaceRun.finishedAt) } : {}),
283
+ ...(stringValue(workspaceRun.error) ? { error: stringValue(workspaceRun.error) } : {}),
284
+ },
285
+ } : {}),
286
+ ...(text ? { preview: text } : {}),
287
+ };
288
+ }
289
+ async function collectAutomations(cwd) {
290
+ try {
291
+ const automations = await listTurnAutomations({ cwd });
292
+ return {
293
+ ok: true,
294
+ total: automations.length,
295
+ automations: automations.map(summarizeAutomation),
296
+ };
297
+ }
298
+ catch (error) {
299
+ return {
300
+ ok: false,
301
+ total: 0,
302
+ automations: [],
303
+ error: errorMessage(error),
304
+ };
305
+ }
306
+ }
307
+ function summarizeAutomation(automation) {
308
+ return {
309
+ name: automation.name,
310
+ ...(automation.manifest.description ? { description: automation.manifest.description } : {}),
311
+ manifestPath: automation.manifestPath,
312
+ scriptPath: automation.scriptPath,
313
+ ...(automation.cwd ? { cwd: automation.cwd } : {}),
314
+ ...(automation.skills?.length ? { skills: automation.skills } : {}),
315
+ };
316
+ }
317
+ async function collectFunctions(cwd) {
318
+ try {
319
+ const response = await new WorkspaceFunctionRuntime({ cwd }).list();
320
+ return {
321
+ ok: true,
322
+ total: response.functions.length,
323
+ functions: response.functions,
324
+ };
325
+ }
326
+ catch (error) {
327
+ return {
328
+ ok: false,
329
+ total: 0,
330
+ functions: [],
331
+ error: errorMessage(error),
332
+ };
333
+ }
334
+ }
335
+ async function collectThreads(cwd, limit, appRequest) {
336
+ if (!appRequest) {
337
+ return {
338
+ ok: false,
339
+ total: 0,
340
+ active: 0,
341
+ idle: 0,
342
+ other: 0,
343
+ latest: [],
344
+ error: "No app-server request surface was provided",
345
+ };
346
+ }
347
+ try {
348
+ const response = await appRequest("thread/list", {
349
+ limit,
350
+ sortKey: "updated_at",
351
+ sortDirection: "desc",
352
+ archived: false,
353
+ cwd,
354
+ useStateDbOnly: true,
355
+ });
356
+ const summarized = summarizeThreads(response);
357
+ return {
358
+ ok: true,
359
+ ...summarized,
360
+ };
361
+ }
362
+ catch (error) {
363
+ return {
364
+ ok: false,
365
+ total: 0,
366
+ active: 0,
367
+ idle: 0,
368
+ other: 0,
369
+ latest: [],
370
+ error: errorMessage(error),
371
+ };
372
+ }
373
+ }
374
+ function summarizeThreads(value) {
375
+ const threads = arrayValue(record(value).data);
376
+ let active = 0;
377
+ let idle = 0;
378
+ let other = 0;
379
+ const latest = [];
380
+ for (const thread of threads) {
381
+ const input = record(thread);
382
+ const status = stringValue(record(input.status).type) ?? "unknown";
383
+ if (status === "active") {
384
+ active += 1;
385
+ }
386
+ else if (status === "idle" || status === "notLoaded") {
387
+ idle += 1;
388
+ }
389
+ else {
390
+ other += 1;
391
+ }
392
+ const id = stringValue(input.id) ?? "unknown";
393
+ latest.push({
394
+ id,
395
+ label: threadLabel(input),
396
+ status,
397
+ ...(stringValue(input.cwd) ? { cwd: stringValue(input.cwd) } : {}),
398
+ ...(typeof input.updatedAt === "number"
399
+ ? { updatedAt: new Date(input.updatedAt * 1000).toISOString() }
400
+ : {}),
401
+ });
402
+ }
403
+ return {
404
+ total: threads.length,
405
+ active,
406
+ idle,
407
+ other,
408
+ latest,
409
+ };
410
+ }
411
+ async function collectGit(cwd) {
412
+ const inside = await git(cwd, ["rev-parse", "--is-inside-work-tree"]);
413
+ if (!inside.ok) {
414
+ return {
415
+ ok: false,
416
+ isRepo: false,
417
+ error: inside.error,
418
+ };
419
+ }
420
+ if (inside.output.trim() !== "true") {
421
+ return {
422
+ ok: true,
423
+ isRepo: false,
424
+ };
425
+ }
426
+ const [root, branch, commit, status, counts] = await Promise.all([
427
+ git(cwd, ["rev-parse", "--show-toplevel"]),
428
+ git(cwd, ["branch", "--show-current"]),
429
+ git(cwd, ["rev-parse", "--short", "HEAD"]),
430
+ git(cwd, ["status", "--porcelain=v1"]),
431
+ git(cwd, ["rev-list", "--left-right", "--count", "HEAD...@{upstream}"]),
432
+ ]);
433
+ const result = {
434
+ ok: root.ok && branch.ok && commit.ok && status.ok,
435
+ isRepo: true,
436
+ ...(root.ok ? { root: root.output.trim() } : {}),
437
+ ...(branch.ok ? { branch: branch.output.trim() || "detached" } : {}),
438
+ ...(commit.ok ? { commit: commit.output.trim() } : {}),
439
+ ...(status.ok ? {
440
+ dirty: status.output.trim().length > 0,
441
+ changedFiles: status.output.trim()
442
+ ? status.output.trim().split(/\r?\n/).length
443
+ : 0,
444
+ } : {}),
445
+ };
446
+ if (counts.ok) {
447
+ const [ahead, behind] = counts.output.trim().split(/\s+/).map((value) => Number.parseInt(value, 10));
448
+ if (Number.isFinite(ahead)) {
449
+ result.ahead = ahead;
450
+ }
451
+ if (Number.isFinite(behind)) {
452
+ result.behind = behind;
453
+ }
454
+ }
455
+ if (!result.ok) {
456
+ result.error = [root, branch, commit, status]
457
+ .filter((item) => !item.ok)
458
+ .map((item) => item.error)
459
+ .join("; ");
460
+ }
461
+ return result;
462
+ }
463
+ async function git(cwd, args) {
464
+ return await commandVersion("git", args, { cwd });
465
+ }
466
+ async function commandVersion(command, args, options = {}) {
467
+ return await new Promise((resolve) => {
468
+ const proc = spawn(command, args, {
469
+ cwd: options.cwd,
470
+ stdio: ["ignore", "pipe", "pipe"],
471
+ env: process.env,
472
+ });
473
+ let stdout = "";
474
+ let stderr = "";
475
+ const timer = setTimeout(() => {
476
+ proc.kill("SIGTERM");
477
+ resolve({ ok: false, error: `${command} ${args.join(" ")} timed out` });
478
+ }, COMMAND_TIMEOUT_MS);
479
+ proc.stdout.on("data", (chunk) => {
480
+ stdout += chunk.toString("utf8");
481
+ });
482
+ proc.stderr.on("data", (chunk) => {
483
+ stderr += chunk.toString("utf8");
484
+ });
485
+ proc.on("error", (error) => {
486
+ clearTimeout(timer);
487
+ resolve({ ok: false, error: error.message });
488
+ });
489
+ proc.on("close", (code) => {
490
+ clearTimeout(timer);
491
+ if (code === 0) {
492
+ resolve({ ok: true, output: (stdout || stderr).trim() });
493
+ return;
494
+ }
495
+ resolve({
496
+ ok: false,
497
+ error: (stderr || stdout || `${command} ${args.join(" ")} exited ${code}`).trim(),
498
+ });
499
+ });
500
+ });
501
+ }
502
+ function overviewParams(value) {
503
+ const input = record(value);
504
+ return {
505
+ ...(modeValue(input.mode) ? { mode: modeValue(input.mode) } : {}),
506
+ ...(stringValue(input.workspaceRoot) ? { workspaceRoot: stringValue(input.workspaceRoot) } : {}),
507
+ ...(isRecord(input.limits) ? {
508
+ limits: {
509
+ ...(positiveIntegerValue(input.limits.intents) ? { intents: positiveIntegerValue(input.limits.intents) } : {}),
510
+ ...(positiveIntegerValue(input.limits.threads) ? { threads: positiveIntegerValue(input.limits.threads) } : {}),
511
+ ...(positiveIntegerValue(input.limits.outputChars) ? { outputChars: positiveIntegerValue(input.limits.outputChars) } : {}),
512
+ },
513
+ } : {}),
514
+ };
515
+ }
516
+ function normalizedLimits(limits) {
517
+ return {
518
+ intents: clamp(limits?.intents ?? DEFAULT_INTENT_LIMIT, 1, 50),
519
+ threads: clamp(limits?.threads ?? DEFAULT_THREAD_LIMIT, 1, 50),
520
+ outputChars: clamp(limits?.outputChars ?? DEFAULT_OUTPUT_CHARS, 80, 4_000),
521
+ };
522
+ }
523
+ function modeValue(value) {
524
+ return typeof value === "string" && value.length > 0 ? parseMode(value) : undefined;
525
+ }
526
+ function positiveIntegerValue(value) {
527
+ return typeof value === "number" && Number.isInteger(value) && value > 0
528
+ ? value
529
+ : undefined;
530
+ }
531
+ function clamp(value, min, max) {
532
+ return Math.min(max, Math.max(min, value));
533
+ }
534
+ function bFirst(left, right) {
535
+ return right.localeCompare(left);
536
+ }
537
+ function targetLabel(target) {
538
+ if (target.kind === "workspace-task") {
539
+ return `workspace-task:${target.taskId}`;
540
+ }
541
+ if (target.kind === "automation") {
542
+ return `automation:${target.automation}`;
543
+ }
544
+ return "turn";
545
+ }
546
+ function threadLabel(thread) {
547
+ const name = stringValue(thread.name);
548
+ if (name) {
549
+ return truncate(name, 80);
550
+ }
551
+ const preview = stringValue(thread.preview);
552
+ if (preview) {
553
+ return truncate(preview.replace(/\s+/g, " "), 80);
554
+ }
555
+ return "untitled";
556
+ }
557
+ function previewJson(value, maxLength) {
558
+ if (value === undefined) {
559
+ return undefined;
560
+ }
561
+ const text = typeof value === "string" ? value : JSON.stringify(value);
562
+ return truncate(text.replace(/\s+/g, " "), maxLength);
563
+ }
564
+ function truncate(value, maxLength) {
565
+ return value.length <= maxLength ? value : `${value.slice(0, maxLength - 3)}...`;
566
+ }
567
+ function record(value) {
568
+ return typeof value === "object" && value !== null && !Array.isArray(value)
569
+ ? value
570
+ : {};
571
+ }
572
+ function isRecord(value) {
573
+ return typeof value === "object" && value !== null && !Array.isArray(value);
574
+ }
575
+ function arrayValue(value) {
576
+ return Array.isArray(value) ? value : [];
577
+ }
578
+ function stringValue(value) {
579
+ return typeof value === "string" && value.length > 0 ? value : undefined;
580
+ }
581
+ function errorMessage(error) {
582
+ return error instanceof Error ? error.message : String(error);
583
+ }
584
+ //# sourceMappingURL=workspace-overview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-overview.js","sourceRoot":"","sources":["../src/workspace-overview.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-toys",
3
- "version": "0.140.2",
3
+ "version": "0.140.3",
4
4
  "description": "Codex-native stdio agent, turn automation, SSH workspace tools, and generic HTTP proxy.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",