@open-mercato/cezar 0.9.2-pr773.1068 → 0.9.2-pr774.1069
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/README.md +13 -4
- package/dist/contract/index.js +7 -37
- package/dist/contract/projects.d.ts +4 -0
- package/dist/contract/runs.d.ts +0 -86
- package/dist/index.js +1 -30
- package/dist/index.js.map +1 -1
- package/dist/runs/store.d.ts +7 -20
- package/dist/runs/store.js +37 -48
- package/dist/runs/store.js.map +1 -1
- package/dist/server/server.d.ts +5 -26
- package/dist/server/server.js +70 -99
- package/dist/server/server.js.map +1 -1
- package/dist/workspace/boot.d.ts +27 -0
- package/dist/workspace/boot.js +41 -0
- package/dist/workspace/boot.js.map +1 -0
- package/dist/workspace/config.d.ts +8 -4
- package/dist/workspace/config.js +9 -5
- package/dist/workspace/config.js.map +1 -1
- package/dist/workspace/projects-cli.js +6 -4
- package/dist/workspace/projects-cli.js.map +1 -1
- package/dist/workspace/projects.d.ts +34 -13
- package/dist/workspace/projects.js +46 -5
- package/dist/workspace/projects.js.map +1 -1
- package/package.json +3 -3
- package/web/dist/assets/{alert-dialog-DgGXiX0-.js → alert-dialog-6dQMgOXw.js} +1 -1
- package/web/dist/assets/arrow-down-9F3rZKJT.js +1 -0
- package/web/dist/assets/arrow-left-BOTr2zuB.js +1 -0
- package/web/dist/assets/centered-state-QSAdDoHK.js +43 -0
- package/web/dist/assets/chevron-right-Bga7k0g0.js +1 -0
- package/web/dist/assets/circle-check-CMvUZyJZ.js +1 -0
- package/web/dist/assets/{circle-x-HJMlr00g.js → circle-x-DF_Vyxoz.js} +1 -1
- package/web/dist/assets/{collapsible-CW__roLv.js → collapsible-BJslo1eE.js} +1 -1
- package/web/dist/assets/{commit-list-D-ZJT7xL.js → commit-list-DPoEJ-5l.js} +1 -1
- package/web/dist/assets/{compare-variants-B_P9w6Pa.js → compare-variants-Ddz-oUCA.js} +1 -1
- package/web/dist/assets/{diff-CutJnvjv.js → diff-BdWNf9S7.js} +2 -2
- package/web/dist/assets/{diff-stat-DFXP90Vc.js → diff-stat-CXB01WSy.js} +1 -1
- package/web/dist/assets/{diff-view-BWuBSVFT.js → diff-view-Bsy3QLyj.js} +1 -1
- package/web/dist/assets/{dropdown-menu-D2A2pGjJ.js → dropdown-menu-B4Epti3u.js} +1 -1
- package/web/dist/assets/{editable-title-C6a64Vwp.js → editable-title-CbQ3uoGg.js} +1 -1
- package/web/dist/assets/{ellipsis-vertical-vx7lL0mm.js → ellipsis-vertical-BVCmLX8u.js} +1 -1
- package/web/dist/assets/{file-DAIQGWQp.js → file-Bml0aHqJ.js} +1 -1
- package/web/dist/assets/{folder-BvhNOUoH.js → folder-CBh3ERAX.js} +1 -1
- package/web/dist/assets/{git-pull-request-CymF90c4.js → git-pull-request-3Jrr-Hnz.js} +1 -1
- package/web/dist/assets/{git-toolbar-Db-_fahh.js → git-toolbar-Gy4_cPLz.js} +1 -1
- package/web/dist/assets/github-BcC0R3jc.js +1 -0
- package/web/dist/assets/{image-preview-DsqvjJhH.js → image-preview-DS7DvehB.js} +1 -1
- package/web/dist/assets/index-B84F80Q8.css +2 -0
- package/web/dist/assets/index-BQhkx-lw.js +6 -0
- package/web/dist/assets/{markdown-v5x5LE3s.js → markdown-B1EknoxI.js} +1 -1
- package/web/dist/assets/{new-task-form-DAqGlabw.js → new-task-form-1cTj9thS.js} +1 -1
- package/web/dist/assets/{pill-AwEgoqpU.js → pill-BHn0lyG-.js} +1 -1
- package/web/dist/assets/{project-router-CLFUa8om.js → project-router-BkbADB0Z.js} +1 -1
- package/web/dist/assets/{prompt-templates-DhV3gn9A.js → prompt-templates-D83ZM7XO.js} +1 -1
- package/web/dist/assets/{refresh-cw-D3EzHdHY.js → refresh-cw-DX8Tj6b9.js} +1 -1
- package/web/dist/assets/{repo-git-BidLXJPd.js → repo-git-CKR1UKRl.js} +1 -1
- package/web/dist/assets/{run-diff-D7nsnTW9.js → run-diff-BKlEMNhf.js} +2 -2
- package/web/dist/assets/{run-header-CTsQn0Xg.js → run-header-BC6ZZQtf.js} +1 -1
- package/web/dist/assets/{search-x-B5IWjGTy.js → search-x-B1NrVJwd.js} +1 -1
- package/web/dist/assets/{skill-empty-hint-Cc3J-Vw9.js → skill-empty-hint-CLB1FsYI.js} +1 -1
- package/web/dist/assets/skills-OLjkJUPE.js +1 -0
- package/web/dist/assets/{sparkles-CfUE1-C7.js → sparkles-iifrwy2d.js} +1 -1
- package/web/dist/assets/{square-terminal-D2wOSwur.js → square-terminal-B7pjoOV-.js} +1 -1
- package/web/dist/assets/{tab-link-gfQ-aL-o.js → tab-link-CDAMnCm8.js} +1 -1
- package/web/dist/assets/{task-changes-5CfU8f_H.js → task-changes-Dc7u63rJ.js} +1 -1
- package/web/dist/assets/{task-commits-Dav8UN6F.js → task-commits-BCgNsn2-.js} +1 -1
- package/web/dist/assets/{task-files-BxmqQ-gr.js → task-files-DbzZ7e5E.js} +2 -2
- package/web/dist/assets/{task-thread-DPZQ_MH3.js → task-thread-D6I003ru.js} +7 -7
- package/web/dist/assets/{textarea-DsfeVQQ3.js → textarea-BDfkreJ8.js} +1 -1
- package/web/dist/assets/thread-loading-D6DMmo5_.js +1 -0
- package/web/dist/assets/{trash-2-DgRtM_8B.js → trash-2-Bm7yPRlf.js} +1 -1
- package/web/dist/assets/{triangle-alert-rNmHpkue.js → triangle-alert-BoNsVbBe.js} +1 -1
- package/web/dist/assets/{upload-3tpzQ7VY.js → upload-DNOSu710.js} +1 -1
- package/web/dist/assets/{use-desktop-D5epLJpa.js → use-desktop-vb6126vH.js} +1 -1
- package/web/dist/assets/{use-submit-shortcut-CNJod3_0.js → use-submit-shortcut-DyHLUMIa.js} +1 -1
- package/web/dist/assets/{utils-CNU1Tppw.js → utils-CT1niAPs.js} +1 -1
- package/web/dist/assets/{workflows-DK43e7Ep.js → workflows-BJqCaffV.js} +3 -3
- package/web/dist/assets/{zoomable-image-DJH8H5T5.js → zoomable-image-C7pDSJpR.js} +1 -1
- package/web/dist/index.html +23 -23
- package/dist/runs/run-index.d.ts +0 -19
- package/dist/runs/run-index.js +0 -43
- package/dist/runs/run-index.js.map +0 -1
- package/web/dist/assets/arrow-down-CVWn39DB.js +0 -1
- package/web/dist/assets/arrow-left-CytehkvJ.js +0 -1
- package/web/dist/assets/centered-state-BWu9EZeH.js +0 -43
- package/web/dist/assets/chevron-right-Bn2cprQo.js +0 -1
- package/web/dist/assets/circle-check-C9dg0Lwg.js +0 -1
- package/web/dist/assets/github-C3d-_ewX.js +0 -1
- package/web/dist/assets/index-cLI08SdE.css +0 -2
- package/web/dist/assets/index-e2WSiiVD.js +0 -6
- package/web/dist/assets/skills-eu1MYWhp.js +0 -1
- package/web/dist/assets/thread-loading-u9UysgWm.js +0 -1
package/README.md
CHANGED
|
@@ -307,12 +307,21 @@ a GitHub page.
|
|
|
307
307
|
## Multiple projects, one cockpit
|
|
308
308
|
|
|
309
309
|
One `cezar serve` hosts **every repo you work in**, not just the one you started
|
|
310
|
-
it in.
|
|
311
|
-
|
|
310
|
+
it in. Projects live in a per-user registry at `~/.cezar/config.json` — the
|
|
311
|
+
workspace file that also holds the global knobs
|
|
312
312
|
(the parallel cap, the memory ceiling, the browse root, and the checkout root). Nothing is added to
|
|
313
313
|
the repo: per-project state stays exactly where it was, in that repo's
|
|
314
314
|
`.ai/cezar/`.
|
|
315
315
|
|
|
316
|
+
**Your first run registers the repo you start it in** — that is the whole setup.
|
|
317
|
+
After that the registry is yours to curate: starting cezar somewhere else serves
|
|
318
|
+
that folder as usual (its own tasks, its own `.ai/cezar/`) but does not add it to
|
|
319
|
+
the list behind your back. It shows up at the top of the sidebar marked **not
|
|
320
|
+
saved**, and **Settings → Projects** lists it as *not registered* with an
|
|
321
|
+
**Add project** button — so the folder you launched in is always one click from
|
|
322
|
+
being kept, and never kept without the click. `cezar projects add` does the same
|
|
323
|
+
from a terminal.
|
|
324
|
+
|
|
316
325
|
Every view is project-scoped:
|
|
317
326
|
|
|
318
327
|
```
|
|
@@ -336,8 +345,8 @@ and task list — and the new-task composer names the project it will run in.
|
|
|
336
345
|
|
|
337
346
|
Removing a project (**Settings → Projects**) drops the registry entry only — the
|
|
338
347
|
repo and its `.ai/cezar/` are never touched, so re-adding it later finds all its
|
|
339
|
-
tasks intact. The project cezar is currently serving can't be removed
|
|
340
|
-
|
|
348
|
+
tasks intact. The project cezar is currently serving can't be removed from the
|
|
349
|
+
cockpit — stop the server and use `cezar projects remove <id>` instead.
|
|
341
350
|
|
|
342
351
|
**From the terminal** — the same registry, no cockpit required (handy over ssh):
|
|
343
352
|
|
package/dist/contract/index.js
CHANGED
|
@@ -355,40 +355,6 @@ var runRecordSchema = z4.object({
|
|
|
355
355
|
var apiRunSchema = runRecordSchema.extend({
|
|
356
356
|
usage: processUsageSchema.optional()
|
|
357
357
|
});
|
|
358
|
-
var runIndexEntrySchema = z4.object({
|
|
359
|
-
/** The registered project this run belongs to. Joins against `GET /projects`. */
|
|
360
|
-
projectId: z4.string(),
|
|
361
|
-
id: z4.string(),
|
|
362
|
-
title: z4.string(),
|
|
363
|
-
titleSummary: z4.string().optional(),
|
|
364
|
-
titleOrigin: z4.enum(["user", "auto", "marker"]).optional(),
|
|
365
|
-
status: runStatusSchema,
|
|
366
|
-
activity: runActivitySchema.optional(),
|
|
367
|
-
createdAt: z4.string(),
|
|
368
|
-
finishedAt: z4.string().optional(),
|
|
369
|
-
/** With `status`/`finishedAt`/`archived`, the four inputs `isUnread` reads — what lets the
|
|
370
|
-
* palette lead with "finished while you weren't looking" across every project, not just the
|
|
371
|
-
* one you happen to be standing in. */
|
|
372
|
-
seenAt: z4.string().optional(),
|
|
373
|
-
/** Always present, like `RunRecord.archived`: absent would read as "not archived", and the
|
|
374
|
-
* unread rule treats archiving as a stronger "done with this" than reading. */
|
|
375
|
-
archived: z4.boolean(),
|
|
376
|
-
/** A run parked by a provider usage limit is `failed` on the record with a resume booked
|
|
377
|
-
* (spec 2026-08-03-auto-resume-after-usage-limit). Both `deriveAttention` and `isUnread` read
|
|
378
|
-
* it, so without it here a cross-project row would show a red "failed" dot and land in
|
|
379
|
-
* Recently finished for work that is simply waiting for its appointment. */
|
|
380
|
-
autoResumeAt: z4.string().optional()
|
|
381
|
-
});
|
|
382
|
-
var runsIndexResponseSchema = z4.object({
|
|
383
|
-
/** Newest first, across every registered project. Archived runs are included — `GET /runs`
|
|
384
|
-
* carries them for the project you are standing in, and a finder that dropped them elsewhere
|
|
385
|
-
* would make a task vanish the moment you left its project. */
|
|
386
|
-
runs: z4.array(runIndexEntrySchema),
|
|
387
|
-
/** The per-project cap that produced this list. */
|
|
388
|
-
perProjectLimit: z4.number(),
|
|
389
|
-
/** Ids of the projects that had more runs than the cap allowed. */
|
|
390
|
-
truncated: z4.array(z4.string())
|
|
391
|
-
});
|
|
392
358
|
var createRunResponseSchema = z4.union([
|
|
393
359
|
runRecordSchema,
|
|
394
360
|
z4.object({ runs: z4.array(runRecordSchema) })
|
|
@@ -800,7 +766,13 @@ var projectListEntrySchema = z7.object({
|
|
|
800
766
|
forge: z7.literal("github").optional(),
|
|
801
767
|
/** Per-project cap on concurrently running tasks (spec 2026-07-22). Omitted = inherit the
|
|
802
768
|
* workspace `resources.maxParallel`; a number pins this project. */
|
|
803
|
-
maxParallel: z7.number().optional()
|
|
769
|
+
maxParallel: z7.number().optional(),
|
|
770
|
+
/** Set ONLY on the synthetic entry for the folder this server was started in when that folder
|
|
771
|
+
* is not in the registry — the ordinary state since boot registration became seed-once. The
|
|
772
|
+
* server serves it like any project (it owns the boot context), so the cockpit must be able to
|
|
773
|
+
* reach it; but it is not persisted, so the rows that edit the registry (Remove, Max parallel)
|
|
774
|
+
* do not apply and Settings offers "Add project" instead. Never present on a registry entry. */
|
|
775
|
+
unregistered: z7.literal(true).optional()
|
|
804
776
|
});
|
|
805
777
|
var projectsResponseSchema = z7.object({
|
|
806
778
|
projects: z7.array(projectListEntrySchema),
|
|
@@ -1596,14 +1568,12 @@ export {
|
|
|
1596
1568
|
runCommitSchema,
|
|
1597
1569
|
runCommitsResponseSchema,
|
|
1598
1570
|
runEventSchema,
|
|
1599
|
-
runIndexEntrySchema,
|
|
1600
1571
|
runRecordSchema,
|
|
1601
1572
|
runStatusSchema,
|
|
1602
1573
|
runnerModelCatalogResponseSchema,
|
|
1603
1574
|
runnerModelOptionSchema,
|
|
1604
1575
|
runnerModelsSchema,
|
|
1605
1576
|
runnerSchema,
|
|
1606
|
-
runsIndexResponseSchema,
|
|
1607
1577
|
saveWorkflowInputSchema,
|
|
1608
1578
|
saveWorkflowResponseSchema,
|
|
1609
1579
|
selectAgentProfileInputSchema,
|
|
@@ -36,6 +36,7 @@ export declare const projectListEntrySchema: z.ZodObject<{
|
|
|
36
36
|
branch: z.ZodOptional<z.ZodString>;
|
|
37
37
|
forge: z.ZodOptional<z.ZodLiteral<"github">>;
|
|
38
38
|
maxParallel: z.ZodOptional<z.ZodNumber>;
|
|
39
|
+
unregistered: z.ZodOptional<z.ZodLiteral<true>>;
|
|
39
40
|
}, z.core.$strip>;
|
|
40
41
|
export type ProjectListEntry = z.infer<typeof projectListEntrySchema>;
|
|
41
42
|
/** `GET /api/v1/projects` — the workspace registry. Workspace-level: never 404s, never scoped.
|
|
@@ -60,6 +61,7 @@ export declare const projectsResponseSchema: z.ZodObject<{
|
|
|
60
61
|
branch: z.ZodOptional<z.ZodString>;
|
|
61
62
|
forge: z.ZodOptional<z.ZodLiteral<"github">>;
|
|
62
63
|
maxParallel: z.ZodOptional<z.ZodNumber>;
|
|
64
|
+
unregistered: z.ZodOptional<z.ZodLiteral<true>>;
|
|
63
65
|
}, z.core.$strip>>;
|
|
64
66
|
bootProject: z.ZodString;
|
|
65
67
|
projectsDir: z.ZodString;
|
|
@@ -89,6 +91,7 @@ export declare const registerProjectResponseSchema: z.ZodObject<{
|
|
|
89
91
|
branch: z.ZodOptional<z.ZodString>;
|
|
90
92
|
forge: z.ZodOptional<z.ZodLiteral<"github">>;
|
|
91
93
|
maxParallel: z.ZodOptional<z.ZodNumber>;
|
|
94
|
+
unregistered: z.ZodOptional<z.ZodLiteral<true>>;
|
|
92
95
|
}, z.core.$strip>;
|
|
93
96
|
error: z.ZodOptional<z.ZodString>;
|
|
94
97
|
}, z.core.$strip>;
|
|
@@ -126,6 +129,7 @@ export declare const updateProjectResponseSchema: z.ZodObject<{
|
|
|
126
129
|
branch: z.ZodOptional<z.ZodString>;
|
|
127
130
|
forge: z.ZodOptional<z.ZodLiteral<"github">>;
|
|
128
131
|
maxParallel: z.ZodOptional<z.ZodNumber>;
|
|
132
|
+
unregistered: z.ZodOptional<z.ZodLiteral<true>>;
|
|
129
133
|
}, z.core.$strip>;
|
|
130
134
|
}, z.core.$strip>;
|
|
131
135
|
export type UpdateProjectResponse = z.infer<typeof updateProjectResponseSchema>;
|
package/dist/contract/runs.d.ts
CHANGED
|
@@ -445,92 +445,6 @@ export declare const apiRunSchema: z.ZodObject<{
|
|
|
445
445
|
}, z.core.$strip>>;
|
|
446
446
|
}, z.core.$strip>;
|
|
447
447
|
export type ApiRun = z.infer<typeof apiRunSchema>;
|
|
448
|
-
/**
|
|
449
|
-
* One run in the WORKSPACE-level index (`GET /api/v1/workspace/runs-index`) — the ⌘K palette's
|
|
450
|
-
* "find a task in any project" list.
|
|
451
|
-
*
|
|
452
|
-
* Deliberately a separate, slim shape rather than `ApiRun`. The index answers for every
|
|
453
|
-
* registered project at once, and `runRecordSchema` carries `steps[]` and `workflowDef` — a fat
|
|
454
|
-
* record whose cost is fine per project and absurd multiplied by the registry. These are exactly
|
|
455
|
-
* the fields a palette row renders: `runTitle`'s three (`title`, `titleSummary`, `titleOrigin`),
|
|
456
|
-
* `deriveAttention`'s `AttentionInput`, `isUnread`'s `ReadStateInput`, and the timestamps
|
|
457
|
-
* `shortAge` reads. Adding a field here is cheap; adding the whole record is what this exists to
|
|
458
|
-
* avoid — but note that widening either of those two `Pick`s means widening this too, or the
|
|
459
|
-
* palette's cross-project rows silently answer differently from every other surface.
|
|
460
|
-
*
|
|
461
|
-
* `projectId` is the join key, NOT the project name: the registry is already on the client and is
|
|
462
|
-
* authoritative for display names, and duplicating one here would let a renamed project show two
|
|
463
|
-
* different labels in one palette.
|
|
464
|
-
*/
|
|
465
|
-
export declare const runIndexEntrySchema: z.ZodObject<{
|
|
466
|
-
projectId: z.ZodString;
|
|
467
|
-
id: z.ZodString;
|
|
468
|
-
title: z.ZodString;
|
|
469
|
-
titleSummary: z.ZodOptional<z.ZodString>;
|
|
470
|
-
titleOrigin: z.ZodOptional<z.ZodEnum<{
|
|
471
|
-
auto: "auto";
|
|
472
|
-
marker: "marker";
|
|
473
|
-
user: "user";
|
|
474
|
-
}>>;
|
|
475
|
-
status: z.ZodEnum<{
|
|
476
|
-
cancelled: "cancelled";
|
|
477
|
-
done: "done";
|
|
478
|
-
failed: "failed";
|
|
479
|
-
queued: "queued";
|
|
480
|
-
review: "review";
|
|
481
|
-
running: "running";
|
|
482
|
-
waiting: "waiting";
|
|
483
|
-
}>;
|
|
484
|
-
activity: z.ZodOptional<z.ZodEnum<{
|
|
485
|
-
monitoring: "monitoring";
|
|
486
|
-
}>>;
|
|
487
|
-
createdAt: z.ZodString;
|
|
488
|
-
finishedAt: z.ZodOptional<z.ZodString>;
|
|
489
|
-
seenAt: z.ZodOptional<z.ZodString>;
|
|
490
|
-
archived: z.ZodBoolean;
|
|
491
|
-
autoResumeAt: z.ZodOptional<z.ZodString>;
|
|
492
|
-
}, z.core.$strip>;
|
|
493
|
-
export type RunIndexEntry = z.infer<typeof runIndexEntrySchema>;
|
|
494
|
-
/**
|
|
495
|
-
* `GET /workspace/runs-index`.
|
|
496
|
-
*
|
|
497
|
-
* `truncated` is not decoration: the index caps each project's contribution, and a capped list
|
|
498
|
-
* that says nothing reads as "your task is not here" when the honest answer is "not in the
|
|
499
|
-
* newest N". Naming the projects that hit the cap is what lets a consumer say so.
|
|
500
|
-
*/
|
|
501
|
-
export declare const runsIndexResponseSchema: z.ZodObject<{
|
|
502
|
-
runs: z.ZodArray<z.ZodObject<{
|
|
503
|
-
projectId: z.ZodString;
|
|
504
|
-
id: z.ZodString;
|
|
505
|
-
title: z.ZodString;
|
|
506
|
-
titleSummary: z.ZodOptional<z.ZodString>;
|
|
507
|
-
titleOrigin: z.ZodOptional<z.ZodEnum<{
|
|
508
|
-
auto: "auto";
|
|
509
|
-
marker: "marker";
|
|
510
|
-
user: "user";
|
|
511
|
-
}>>;
|
|
512
|
-
status: z.ZodEnum<{
|
|
513
|
-
cancelled: "cancelled";
|
|
514
|
-
done: "done";
|
|
515
|
-
failed: "failed";
|
|
516
|
-
queued: "queued";
|
|
517
|
-
review: "review";
|
|
518
|
-
running: "running";
|
|
519
|
-
waiting: "waiting";
|
|
520
|
-
}>;
|
|
521
|
-
activity: z.ZodOptional<z.ZodEnum<{
|
|
522
|
-
monitoring: "monitoring";
|
|
523
|
-
}>>;
|
|
524
|
-
createdAt: z.ZodString;
|
|
525
|
-
finishedAt: z.ZodOptional<z.ZodString>;
|
|
526
|
-
seenAt: z.ZodOptional<z.ZodString>;
|
|
527
|
-
archived: z.ZodBoolean;
|
|
528
|
-
autoResumeAt: z.ZodOptional<z.ZodString>;
|
|
529
|
-
}, z.core.$strip>>;
|
|
530
|
-
perProjectLimit: z.ZodNumber;
|
|
531
|
-
truncated: z.ZodArray<z.ZodString>;
|
|
532
|
-
}, z.core.$strip>;
|
|
533
|
-
export type RunsIndexResponse = z.infer<typeof runsIndexResponseSchema>;
|
|
534
448
|
/**
|
|
535
449
|
* `POST /runs` (201) — one record for ×1, a group for ×2/×3.
|
|
536
450
|
*
|
package/dist/index.js
CHANGED
|
@@ -20,9 +20,8 @@ import { ProviderRuntimeAuthObserver, recoverWithProviderRuntimeAuthObservation,
|
|
|
20
20
|
import { providersRequiredByWorkflow, unavailableProviderMessage, } from './server/provider-action-gate.js';
|
|
21
21
|
import { checkForUpdate } from './update-check.js';
|
|
22
22
|
import { printSkillsBanner } from './skills-banner.js';
|
|
23
|
+
import { initWorkspace } from './workspace/boot.js';
|
|
23
24
|
import { loadWorkspaceConfig } from './workspace/config.js';
|
|
24
|
-
import { runMigrations } from './workspace/migrations.js';
|
|
25
|
-
import { registerProject, shouldRegisterProject } from './workspace/projects.js';
|
|
26
25
|
import { runProjectsCommand } from './workspace/projects-cli.js';
|
|
27
26
|
import { WorkspaceSemaphore } from './workspace/semaphore.js';
|
|
28
27
|
const HELP = `cezar — local cockpit for AI agent tasks in your repo
|
|
@@ -150,34 +149,6 @@ async function main() {
|
|
|
150
149
|
process.exitCode = 1;
|
|
151
150
|
}
|
|
152
151
|
}
|
|
153
|
-
// ---- workspace boot ----------------------------------------------------------
|
|
154
|
-
/**
|
|
155
|
-
* Boot-time workspace bookkeeping (spec 2026-07-20-multi-project-workspace,
|
|
156
|
-
* "Boot flow"): run pending `~/.cezar` migrations first, then register the
|
|
157
|
-
* boot repo in the per-user project registry. Registration is suppressed for
|
|
158
|
-
* task worktrees and `$HOME` itself (`shouldRegisterProject`) — the process
|
|
159
|
-
* still serves those folders normally. Strictly non-fatal: the zero-config
|
|
160
|
-
* law says a broken or read-only home degrades to a smaller cockpit, never a
|
|
161
|
-
* failed boot, so any workspace error logs one warning and boot continues.
|
|
162
|
-
*
|
|
163
|
-
* Returns the boot project's registry id when registration happened —
|
|
164
|
-
* `serveCommand` plumbs it into the server (`ServerDeps.bootProjectId`) so
|
|
165
|
-
* `/api/projects` and `/api/v1/health` can name the boot project without a
|
|
166
|
-
* lookup. Undefined when registration was suppressed or the workspace is
|
|
167
|
-
* unavailable; the server then derives a fallback on its own.
|
|
168
|
-
*/
|
|
169
|
-
async function initWorkspace(repoRoot) {
|
|
170
|
-
try {
|
|
171
|
-
await runMigrations({ bootRepoRoot: repoRoot });
|
|
172
|
-
if (await shouldRegisterProject(repoRoot))
|
|
173
|
-
return (await registerProject(repoRoot)).id;
|
|
174
|
-
}
|
|
175
|
-
catch (err) {
|
|
176
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
177
|
-
console.warn(`[cez] workspace registry unavailable (${message}) — continuing without it`);
|
|
178
|
-
}
|
|
179
|
-
return undefined;
|
|
180
|
-
}
|
|
181
152
|
// ---- serve -----------------------------------------------------------------
|
|
182
153
|
async function serveCommand(repoRoot, preferredPort, openBrowser, bindHost) {
|
|
183
154
|
const bootProjectId = await initWorkspace(repoRoot);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/runs/store.d.ts
CHANGED
|
@@ -58,9 +58,7 @@ declare const queuedMessageSchema: z.ZodObject<{
|
|
|
58
58
|
images: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
59
59
|
createdAt: z.ZodString;
|
|
60
60
|
}, z.core.$strip>;
|
|
61
|
-
|
|
62
|
-
* parse `runs.json` — see `reconcileLoadedRun` for why a second parser is a correctness risk. */
|
|
63
|
-
export declare const runRecordSchema: z.ZodObject<{
|
|
61
|
+
declare const runRecordSchema: z.ZodObject<{
|
|
64
62
|
id: z.ZodString;
|
|
65
63
|
title: z.ZodString;
|
|
66
64
|
titleSummary: z.ZodOptional<z.ZodString>;
|
|
@@ -229,22 +227,6 @@ export interface RunEvent {
|
|
|
229
227
|
type: string;
|
|
230
228
|
[key: string]: unknown;
|
|
231
229
|
}
|
|
232
|
-
/**
|
|
233
|
-
* Reconcile one record just read off disk with the fact that whichever process wrote it is gone.
|
|
234
|
-
*
|
|
235
|
-
* Mutates and returns `run`. Extracted from `RunStore.open` so the read-only index reader
|
|
236
|
-
* (`./run-index.ts`) answers the SAME question about a `running` row on disk. Two parsers that
|
|
237
|
-
* disagree here is a visible bug, not an internal one: the cockpit would show a task as running
|
|
238
|
-
* in the ⌘K index and failed the moment you opened it.
|
|
239
|
-
*
|
|
240
|
-
* `keepLive` (#367): leave `queued`/`running`/`waiting` untouched so the caller can recover them
|
|
241
|
-
* (RunManager.recover re-queues queued runs, resumes interrupted ones). Without it — one-shot CLI
|
|
242
|
-
* paths that never recover, and the index reader, which has no manager at all — live-looking runs
|
|
243
|
-
* are marked failed so no ghost stays behind.
|
|
244
|
-
*/
|
|
245
|
-
export declare function reconcileLoadedRun(run: RunRecord, opts?: {
|
|
246
|
-
keepLive?: boolean;
|
|
247
|
-
}): RunRecord;
|
|
248
230
|
/**
|
|
249
231
|
* File-backed run store: `runs.json` index (atomic tmp+rename writes, the
|
|
250
232
|
* pattern from @cezar/core's IssueStore) plus one append-only NDJSON event
|
|
@@ -256,7 +238,12 @@ export declare class RunStore extends EventEmitter {
|
|
|
256
238
|
private runs;
|
|
257
239
|
private saveTimer;
|
|
258
240
|
private constructor();
|
|
259
|
-
/**
|
|
241
|
+
/**
|
|
242
|
+
* `keepLive` (#367): leave `queued`/`running`/`waiting` statuses untouched
|
|
243
|
+
* so the caller can recover them (RunManager.recover re-queues queued runs,
|
|
244
|
+
* resumes interrupted ones). Without it — one-shot CLI paths that never
|
|
245
|
+
* recover — live-looking runs are marked failed so no ghost stays behind.
|
|
246
|
+
*/
|
|
260
247
|
static open(dataDir: string, opts?: {
|
|
261
248
|
keepLive?: boolean;
|
|
262
249
|
}): RunStore;
|
package/dist/runs/store.js
CHANGED
|
@@ -48,9 +48,7 @@ const queuedMessageSchema = z.object({
|
|
|
48
48
|
images: z.array(z.string()).optional(),
|
|
49
49
|
createdAt: z.string(),
|
|
50
50
|
});
|
|
51
|
-
|
|
52
|
-
* parse `runs.json` — see `reconcileLoadedRun` for why a second parser is a correctness risk. */
|
|
53
|
-
export const runRecordSchema = z.object({
|
|
51
|
+
const runRecordSchema = z.object({
|
|
54
52
|
id: z.string(),
|
|
55
53
|
title: z.string(),
|
|
56
54
|
/** Display title (#389): the auto-derived summary of the first agent turn,
|
|
@@ -363,49 +361,6 @@ function createdPrUrl(haystack) {
|
|
|
363
361
|
}
|
|
364
362
|
return before;
|
|
365
363
|
}
|
|
366
|
-
/**
|
|
367
|
-
* Reconcile one record just read off disk with the fact that whichever process wrote it is gone.
|
|
368
|
-
*
|
|
369
|
-
* Mutates and returns `run`. Extracted from `RunStore.open` so the read-only index reader
|
|
370
|
-
* (`./run-index.ts`) answers the SAME question about a `running` row on disk. Two parsers that
|
|
371
|
-
* disagree here is a visible bug, not an internal one: the cockpit would show a task as running
|
|
372
|
-
* in the ⌘K index and failed the moment you opened it.
|
|
373
|
-
*
|
|
374
|
-
* `keepLive` (#367): leave `queued`/`running`/`waiting` untouched so the caller can recover them
|
|
375
|
-
* (RunManager.recover re-queues queued runs, resumes interrupted ones). Without it — one-shot CLI
|
|
376
|
-
* paths that never recover, and the index reader, which has no manager at all — live-looking runs
|
|
377
|
-
* are marked failed so no ghost stays behind.
|
|
378
|
-
*/
|
|
379
|
-
export function reconcileLoadedRun(run, opts) {
|
|
380
|
-
// A run that was live when the previous process exited can never finish —
|
|
381
|
-
// surface that instead of a forever-"running" ghost. `review` survives
|
|
382
|
-
// restarts on purpose: the gate is pure data (worktree + branch + record)
|
|
383
|
-
// with no live process, so the diff panel, Send back (resume) and Draft PR
|
|
384
|
-
// all still work.
|
|
385
|
-
if (!opts?.keepLive &&
|
|
386
|
-
(run.status === 'running' || run.status === 'queued' || run.status === 'waiting')) {
|
|
387
|
-
run.status = 'failed';
|
|
388
|
-
run.error = 'interrupted — cezar process exited during the run';
|
|
389
|
-
run.finishedAt = run.finishedAt ?? new Date().toISOString();
|
|
390
|
-
for (const step of run.steps) {
|
|
391
|
-
if (step.status === 'running' || step.status === 'waiting')
|
|
392
|
-
step.status = 'failed';
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
if (!['running', 'waiting', 'queued'].includes(run.status)) {
|
|
396
|
-
run.activity = undefined;
|
|
397
|
-
run.monitoringWakeAt = undefined;
|
|
398
|
-
}
|
|
399
|
-
// A pending usage-limit resume survives the restart on purpose (the wait can be
|
|
400
|
-
// hours) — `RunManager.recover()` re-arms it from this field. It can only mean
|
|
401
|
-
// anything on a `failed` run, so anywhere else it is stale bookkeeping.
|
|
402
|
-
if (run.status !== 'failed')
|
|
403
|
-
run.autoResumeAt = undefined;
|
|
404
|
-
// The wake counter is intentionally process-local, so a restarted process
|
|
405
|
-
// starts a fresh epoch instead of displaying a stale cap.
|
|
406
|
-
run.monitoringWakeCapReached = undefined;
|
|
407
|
-
return run;
|
|
408
|
-
}
|
|
409
364
|
/**
|
|
410
365
|
* File-backed run store: `runs.json` index (atomic tmp+rename writes, the
|
|
411
366
|
* pattern from @cezar/core's IssueStore) plus one append-only NDJSON event
|
|
@@ -421,7 +376,12 @@ export class RunStore extends EventEmitter {
|
|
|
421
376
|
this.dataDir = dataDir;
|
|
422
377
|
this.setMaxListeners(100);
|
|
423
378
|
}
|
|
424
|
-
/**
|
|
379
|
+
/**
|
|
380
|
+
* `keepLive` (#367): leave `queued`/`running`/`waiting` statuses untouched
|
|
381
|
+
* so the caller can recover them (RunManager.recover re-queues queued runs,
|
|
382
|
+
* resumes interrupted ones). Without it — one-shot CLI paths that never
|
|
383
|
+
* recover — live-looking runs are marked failed so no ghost stays behind.
|
|
384
|
+
*/
|
|
425
385
|
static open(dataDir, opts) {
|
|
426
386
|
mkdirSync(join(dataDir, 'runs'), { recursive: true });
|
|
427
387
|
const store = new RunStore(dataDir);
|
|
@@ -432,7 +392,36 @@ export class RunStore extends EventEmitter {
|
|
|
432
392
|
const parsed = z.array(runRecordSchema).safeParse(raw);
|
|
433
393
|
if (parsed.success) {
|
|
434
394
|
for (const run of parsed.data) {
|
|
435
|
-
|
|
395
|
+
// A run that was live when the previous process exited can never
|
|
396
|
+
// finish — surface that instead of a forever-"running" ghost.
|
|
397
|
+
// `review` survives restarts on purpose: the gate is pure data
|
|
398
|
+
// (worktree + branch + record) with no live process, so the diff
|
|
399
|
+
// panel, Send back (resume) and Draft PR all still work.
|
|
400
|
+
if (!opts?.keepLive &&
|
|
401
|
+
(run.status === 'running' ||
|
|
402
|
+
run.status === 'queued' ||
|
|
403
|
+
run.status === 'waiting')) {
|
|
404
|
+
run.status = 'failed';
|
|
405
|
+
run.error = 'interrupted — cezar process exited during the run';
|
|
406
|
+
run.finishedAt = run.finishedAt ?? new Date().toISOString();
|
|
407
|
+
for (const step of run.steps) {
|
|
408
|
+
if (step.status === 'running' || step.status === 'waiting')
|
|
409
|
+
step.status = 'failed';
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
if (!['running', 'waiting', 'queued'].includes(run.status)) {
|
|
413
|
+
run.activity = undefined;
|
|
414
|
+
run.monitoringWakeAt = undefined;
|
|
415
|
+
}
|
|
416
|
+
// A pending usage-limit resume survives the restart on purpose (the wait can be
|
|
417
|
+
// hours) — `RunManager.recover()` re-arms it from this field. It can only mean
|
|
418
|
+
// anything on a `failed` run, so anywhere else it is stale bookkeeping.
|
|
419
|
+
if (run.status !== 'failed')
|
|
420
|
+
run.autoResumeAt = undefined;
|
|
421
|
+
// The wake counter is intentionally process-local, so a restarted
|
|
422
|
+
// process starts a fresh epoch instead of displaying a stale cap.
|
|
423
|
+
run.monitoringWakeCapReached = undefined;
|
|
424
|
+
store.runs.set(run.id, run);
|
|
436
425
|
}
|
|
437
426
|
}
|
|
438
427
|
}
|