@qodeca/xezar 0.10.1 → 0.11.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.
- package/README.md +22 -19
- package/dist/automations/coordinator.js +3 -2
- package/dist/automations/coordinator.js.map +1 -1
- package/dist/automations/store.js +2 -0
- package/dist/automations/store.js.map +1 -1
- package/dist/config.d.ts +2 -2
- package/dist/config.js +6 -5
- package/dist/config.js.map +1 -1
- package/dist/contract/index.js +1 -1
- package/dist/contract/skills.d.ts +2 -2
- package/dist/contract/workflows.d.ts +2 -2
- package/dist/contract/workspace.d.ts +1 -1
- package/dist/core/agent-model-policy.js +2 -1
- package/dist/core/agent-model-policy.js.map +1 -1
- package/dist/core/secret-redaction.d.ts +1 -1
- package/dist/core/secret-redaction.js +1 -1
- package/dist/git-worktree.d.ts +4 -4
- package/dist/git-worktree.js +8 -7
- package/dist/git-worktree.js.map +1 -1
- package/dist/handoff.d.ts +1 -1
- package/dist/handoff.js +1 -1
- package/dist/index.js +18 -39
- package/dist/index.js.map +1 -1
- package/dist/paths.d.ts +14 -3
- package/dist/paths.js +15 -4
- package/dist/paths.js.map +1 -1
- package/dist/project-data-paths.d.ts +11 -0
- package/dist/project-data-paths.js +42 -0
- package/dist/project-data-paths.js.map +1 -0
- package/dist/project-kit-paths.d.ts +9 -0
- package/dist/project-kit-paths.js +21 -0
- package/dist/project-kit-paths.js.map +1 -0
- package/dist/runs/retention.js +1 -1
- package/dist/runs/retention.js.map +1 -1
- package/dist/runs/store.d.ts +1 -1
- package/dist/runs/store.js +3 -1
- package/dist/runs/store.js.map +1 -1
- package/dist/server/git-changes.js +2 -2
- package/dist/server/git-changes.js.map +1 -1
- package/dist/server/launch-key.d.ts +1 -1
- package/dist/server/launch-key.js +1 -1
- package/dist/server/open-in-terminal.js +2 -2
- package/dist/server/open-in-terminal.js.map +1 -1
- package/dist/server/project-context.d.ts +1 -1
- package/dist/server/project-context.js +2 -2
- package/dist/server/project-context.js.map +1 -1
- package/dist/server/server.js +14 -11
- package/dist/server/server.js.map +1 -1
- package/dist/skills-banner.d.ts +1 -1
- package/dist/skills-banner.js +1 -1
- package/dist/skills-remote.js +5 -5
- package/dist/skills-remote.js.map +1 -1
- package/dist/skills.d.ts +2 -2
- package/dist/skills.js +4 -3
- package/dist/skills.js.map +1 -1
- package/dist/todos.d.ts +1 -1
- package/dist/todos.js +1 -1
- package/dist/ui-state.d.ts +1 -1
- package/dist/ui-state.js +3 -2
- package/dist/ui-state.js.map +1 -1
- package/dist/workflows/load.d.ts +3 -2
- package/dist/workflows/load.js +8 -4
- package/dist/workflows/load.js.map +1 -1
- package/dist/workflows/run.d.ts +3 -3
- package/dist/workflows/run.js +7 -7
- package/dist/workflows/run.js.map +1 -1
- package/dist/workspace/config.js +1 -1
- package/dist/workspace/migrations.js +3 -2
- package/dist/workspace/migrations.js.map +1 -1
- package/dist/workspace/projects-cli.js +1 -1
- package/dist/workspace/projects-cli.js.map +1 -1
- package/dist/workspace/projects.d.ts +3 -3
- package/dist/workspace/projects.js +5 -6
- package/dist/workspace/projects.js.map +1 -1
- package/dist/workspace/ui-state.d.ts +1 -1
- package/dist/workspace/ui-state.js +1 -1
- package/package.json +5 -5
- package/web/dist/assets/{compare-variants-SR2zZfZq.js → compare-variants-Cp3Thwv2.js} +1 -1
- package/web/dist/assets/{git-toolbar-DZlZjTGz.js → git-toolbar-BAZPUijR.js} +1 -1
- package/web/dist/assets/{github-CFURo9kf.js → github-BBVKH-CW.js} +1 -1
- package/web/dist/assets/{index-DlC81_GI.js → index-GflrFgEB.js} +2 -2
- package/web/dist/assets/{repo-git-CJFDMauC.js → repo-git-C0lQ9_O3.js} +1 -1
- package/web/dist/assets/skill-empty-hint-CL0g7WBL.js +1 -0
- package/web/dist/assets/{skills-Cs-auniL.js → skills-BfcNlZEY.js} +1 -1
- package/web/dist/assets/{task-changes-DYgNXOyY.js → task-changes-DHpe4ZuJ.js} +1 -1
- package/web/dist/assets/{task-commits-BRpZSz1G.js → task-commits-DUWVyp0I.js} +1 -1
- package/web/dist/assets/{task-files-pKOwSyLh.js → task-files-Do3S40OR.js} +1 -1
- package/web/dist/assets/{use-desktop-C31lOFUD.js → use-desktop-Cec0eUGX.js} +1 -1
- package/web/dist/assets/{workflows-BmOehP-A.js → workflows-CJ1FV1hP.js} +2 -2
- package/web/dist/index.html +1 -1
- package/dist/release/snapshot.d.ts +0 -67
- package/dist/release/snapshot.js +0 -97
- package/dist/release/snapshot.js.map +0 -1
- package/web/dist/assets/skill-empty-hint-DTu0LzaJ.js +0 -1
package/README.md
CHANGED
|
@@ -37,7 +37,7 @@ xezar # → cockpit at http://localhost:4321
|
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
That is the whole setup. If your `claude` CLI is logged in (Pro/Max) and
|
|
40
|
-
`gh` is authenticated, there is nothing else to configure.
|
|
40
|
+
`gh` is authenticated, there is nothing else to configure. The maintained project kit lives in `.xezar/`; runtime lives in `.local/xezar/`
|
|
41
41
|
inside your repo — plain JSON, NDJSON and Markdown you can `cat` and fix by hand.
|
|
42
42
|
|
|
43
43
|
## A look inside
|
|
@@ -164,7 +164,7 @@ busy). Type a task, pick a workflow, hit **Start**. That's it.
|
|
|
164
164
|
|
|
165
165
|
```bash
|
|
166
166
|
xezar run "add a --json flag to the export command" # headless, CI-friendly
|
|
167
|
-
xezar init # scaffold .
|
|
167
|
+
xezar init # scaffold .xezar/
|
|
168
168
|
```
|
|
169
169
|
|
|
170
170
|
Both the `xezar` and `xez` commands are installed, so once it's on your PATH you
|
|
@@ -207,11 +207,11 @@ event live and parks the run at a review gate when there's a diff to inspect.
|
|
|
207
207
|
│ └───────────────────────────────┘
|
|
208
208
|
│ agent text · tool calls · tool results · tokens · cost
|
|
209
209
|
▼
|
|
210
|
-
|
|
211
|
-
│ .
|
|
212
|
-
│ JSON·NDJSON
|
|
213
|
-
│ ·Markdown
|
|
214
|
-
|
|
210
|
+
┌──────────────┐ SSE (replay + live) ┌──────────────────────────┐
|
|
211
|
+
│ .local/xezar/│ ─────────────────────► │ cockpit localhost:4321 │
|
|
212
|
+
│ JSON·NDJSON │ │ Tasks · Git · GitHub · │
|
|
213
|
+
│ ·Markdown │ │ Skills · Workflows │
|
|
214
|
+
└──────────────┘ └──────────────────────────┘
|
|
215
215
|
│
|
|
216
216
|
review gate: read the diff →
|
|
217
217
|
send notes back · draft PR · finish
|
|
@@ -234,7 +234,7 @@ Three words, no jargon — **task**, **skill**, **chain**:
|
|
|
234
234
|
the agent gets each one as a real file on disk), or send follow-up messages into
|
|
235
235
|
the live session while it works.
|
|
236
236
|
- 📖 **Skills** are Markdown playbooks. Drop them in `.ai/skills/` or
|
|
237
|
-
`.
|
|
237
|
+
`.xezar/skills/`, or pull them from a shared **team skills repo** (a bare
|
|
238
238
|
git clone cached globally in `~/.cache/xez/`). A workflow step references one by
|
|
239
239
|
`skill: <name>` and its body becomes the agent's extra system prompt — so you
|
|
240
240
|
shape *how* the agent reasons without touching code.
|
|
@@ -308,7 +308,7 @@ it in. Each repo xezar boots in registers itself in a per-user registry at
|
|
|
308
308
|
`~/.xezar/config.json` — the workspace file that also holds the global knobs
|
|
309
309
|
(the parallel cap, the memory ceiling, the browse root, and the checkout root). Nothing is added to
|
|
310
310
|
the repo: per-project state stays exactly where it was, in that repo's
|
|
311
|
-
`.
|
|
311
|
+
`.local/xezar/`.
|
|
312
312
|
|
|
313
313
|
Every view is project-scoped:
|
|
314
314
|
|
|
@@ -332,7 +332,7 @@ and task list — and the new-task composer names the project it will run in.
|
|
|
332
332
|
partial directory removed.
|
|
333
333
|
|
|
334
334
|
Removing a project (**Settings → Projects**) drops the registry entry only — the
|
|
335
|
-
repo and its `.
|
|
335
|
+
repo and its `.local/xezar/` are never touched, so re-adding it later finds all its
|
|
336
336
|
tasks intact. The project xezar is currently serving can't be removed: it
|
|
337
337
|
re-registers itself at the next start.
|
|
338
338
|
|
|
@@ -429,7 +429,9 @@ segment.
|
|
|
429
429
|
|
|
430
430
|
## Workflow format
|
|
431
431
|
|
|
432
|
-
|
|
432
|
+
See [project layout and legacy migration](docs/project-layout.md) for directory precedence and the offline migration command.
|
|
433
|
+
|
|
434
|
+
A workflow is a small YAML file in `.xezar/workflows/`:
|
|
433
435
|
|
|
434
436
|
```yaml
|
|
435
437
|
name: fix-and-verify
|
|
@@ -438,7 +440,7 @@ steps:
|
|
|
438
440
|
- id: implement
|
|
439
441
|
name: Implement
|
|
440
442
|
prompt: "{{task}}"
|
|
441
|
-
skill: project-conventions # optional — from .ai/skills or .
|
|
443
|
+
skill: project-conventions # optional — from .ai/skills or .xezar/skills
|
|
442
444
|
# model: opus # optional per-step model override
|
|
443
445
|
# runner: codex # optional per-step backend: claude · codex · opencode · pi
|
|
444
446
|
# allowedTools: [Read, Edit, Write, Grep, Glob, Bash]
|
|
@@ -484,7 +486,7 @@ Useful environment variables:
|
|
|
484
486
|
| Var | Effect |
|
|
485
487
|
|---|---|
|
|
486
488
|
| `XEZ_DRY_RUN=1` | Use the bundled mock instead of the real `claude` CLI — the entire cockpit works offline, for demos and development. |
|
|
487
|
-
| `XEZ_AGENT_MODELS_LOCKED=1` | Globally lock each runner to the model configured in its native Claude/Codex/OpenCode settings while keeping runner selection available. Exact `1` also delegates authentication and provider enablement to those native agents, so Xezar skips its credential probes and provider-disable preferences. Existing Xezar presets are preserved but ignored, and an environment change requires a restart. The config-file equivalent is `"modelsLocked": true` in global `~/.xezar/config.json` or one repository's `.
|
|
489
|
+
| `XEZ_AGENT_MODELS_LOCKED=1` | Globally lock each runner to the model configured in its native Claude/Codex/OpenCode settings while keeping runner selection available. Exact `1` also delegates authentication and provider enablement to those native agents, so Xezar skips its credential probes and provider-disable preferences. Existing Xezar presets are preserved but ignored, and an environment change requires a restart. The config-file equivalent is `"modelsLocked": true` in global `~/.xezar/config.json` or one repository's `.xezar/config.json`; config-file locks do not disable provider checks. |
|
|
488
490
|
| `XEZ_APPROVAL_GATE=1` | Opt into Claude's interactive approval UI; by default, unapproved tools are denied without interrupting the run. |
|
|
489
491
|
| `XEZ_FOLLOWUPS=1` | Turn on the global follow-up **Inbox**: agents are asked to leave follow-ups in `todos.json` when they finish, and the Inbox view appears. Off by default — each task's own **Notes** handoff journal runs either way. |
|
|
490
492
|
| `XEZ_AUTOMATIONS=1` | Turn on **GitHub automations**: the Automations view appears and xezar polls GitHub on each enabled automation's interval, launching tasks from what it finds. Off by default, and only the exact value `1` enables it — without it nothing polls GitHub, the automations endpoints answer `409`, and the nav item is absent. Read at boot, so restart after changing it; definitions, receipts and high-watermarks are retained, so unsetting it and restarting restores the feature without migration or data loss. |
|
|
@@ -493,7 +495,8 @@ Useful environment variables:
|
|
|
493
495
|
| `XEZ_CODEX_BIN=/path/to/codex` | Override which `codex` binary is used. |
|
|
494
496
|
| `XEZ_OPENCODE_BIN=/path/to/opencode` | Override which `opencode` binary is used. |
|
|
495
497
|
| `XEZ_PI_BIN=/path/to/pi` | Override which `pi` binary is used. |
|
|
496
|
-
| `CLAUDE_CONFIG_DIR`, `CODEX_HOME` | The agents' **own** variables, honoured where the vendor documents one. Setting one moves that agent's **default account** — the config folder xezar discovers. A *second* login of the same CLI is deliberately not an environment setting, since one process-wide value cannot differ per project: add it under **Settings → Agent accounts** and pick it per project. |
|
|
498
|
+
| `CLAUDE_CONFIG_DIR`, `CODEX_HOME` | The agents' **own** variables, honoured where the vendor documents one. Setting one moves that agent's **default account** — the config folder xezar discovers, credentials included. A *second* login of the same CLI is deliberately not an environment setting, since one process-wide value cannot differ per project: add it under **Settings → Agent accounts** and pick it per project. |
|
|
499
|
+
| `OPENCODE_CONFIG_DIR` | Where xezar looks for OpenCode's config, ahead of `$XDG_CONFIG_HOME/opencode` (default `~/.config/opencode`). Config **only** — OpenCode keeps credentials in `~/.local/share/opencode`, so this moves settings without moving the account, which is why OpenCode cannot carry Agent accounts. |
|
|
497
500
|
| `XEZ_BROWSE_ROOT=~/` | Default root for **Add project → Open local folder…**. The picker cannot navigate above it; a saved workspace value overrides the environment default and must name an existing folder. |
|
|
498
501
|
| `XEZ_PROJECTS_DIR=~/xezar/projects` | Default destination for **Clone from GitHub**. Saved workspace settings override it, and missing directories are created recursively. |
|
|
499
502
|
| `XEZ_SKILLS_AUTO_UPDATE=0` | Disable automatic checks and updates for upstream-CLI-tracked Open Mercato skill installations. On by default; a saved global Skills setting overrides this environment default. Checks are delayed, bounded, cached, and non-blocking. |
|
|
@@ -507,7 +510,7 @@ Useful environment variables:
|
|
|
507
510
|
| `GITHUB_TOKEN` | Fallback for GitHub reads/PRs when `gh` isn't authenticated. |
|
|
508
511
|
| `XEZ_ENV_PASSTHROUGH=A,B` | Forward these extra host env vars to spawned agents. By default agents get a least-privilege env (safe shell/toolchain vars + the backend's own auth + `GITHUB_TOKEN` + `XEZ_*`), not your full environment — use this to add a var an agent needs. |
|
|
509
512
|
| `XEZ_AGENT_ENV_FULL=1` | Escape hatch: give spawned agents the full host environment (pre-hardening behavior). Off by default; only set it if you understand that this hands every host secret to the agent process. |
|
|
510
|
-
| `XEZ_AGENT_TMPDIR=0` | Stop giving each task its own temp directory and hand agents the host `TMPDIR` again (pre-#785 behavior). On by default: every run gets `TMPDIR`/`TEMP`/`TMP` pointing at `.
|
|
513
|
+
| `XEZ_AGENT_TMPDIR=0` | Stop giving each task its own temp directory and hand agents the host `TMPDIR` again (pre-#785 behavior). On by default: every run gets `TMPDIR`/`TEMP`/`TMP` pointing at `.local/xezar/tmp/<task-id>`, created and write-probed before the agent spawns and reaped when the run ends, so concurrent tasks stop sharing one directory and a task refuses to start rather than run against a temp directory that silently swallows its shell output (see Troubleshooting below). Only an exact `0` disables it, and it disables the whole thing — the pre-spawn check included, so this stays an escape hatch you can actually take. |
|
|
511
514
|
| `XEZ_REDACT_SECRETS=0` | Disable scrubbing of credential values/token shapes from the on-disk state (the NDJSON transcript and the free-text fields of `runs.json`). On by default; leave it on. Best-effort defense-in-depth, not a guarantee: it catches known token shapes and the values of your own secret-named env vars, so a credential in neither category can still get through. |
|
|
512
515
|
| `XEZ_TITLE_UPDATES=0` | Turn off the live task-title refresh (namer re-runs on each turn end). The Settings → Agents toggle overrides this default. |
|
|
513
516
|
| `XEZ_AUTONAME=0` | Disable ALL LLM task naming (creation + live) — titles stay heuristic (`437: /om-auto-review-pr`). Under `XEZ_DRY_RUN=1` naming is already off unless forced with `XEZ_AUTONAME=1`. |
|
|
@@ -536,7 +539,7 @@ Under quota the file is *created* and the write then fails, so the backend reads
|
|
|
536
539
|
back a zero-byte capture file and hands the agent an empty result.
|
|
537
540
|
|
|
538
541
|
**Fix.** Since #785 xezar gives each task its own `TMPDIR` under
|
|
539
|
-
`.
|
|
542
|
+
`.local/xezar/tmp/<task-id>` and write-probes it before spawning, so a broken temp
|
|
540
543
|
directory fails the task with `agent temp directory is not writable: …` on the
|
|
541
544
|
task thread instead of corrupting its work. If you see that error, free space on
|
|
542
545
|
the disk holding the repo. `XEZ_AGENT_TMPDIR=0` turns the whole mechanism off —
|
|
@@ -582,7 +585,7 @@ pinned by hand stays selectable even when it is no longer advertised.
|
|
|
582
585
|
|
|
583
586
|
**Pick a backend at three levels** (most specific wins):
|
|
584
587
|
|
|
585
|
-
1. **Config default** — `"defaultRunner": "codex"` in `.
|
|
588
|
+
1. **Config default** — `"defaultRunner": "codex"` in `.xezar/config.json`.
|
|
586
589
|
2. **Per task** — the backend picker next to the task box in the cockpit.
|
|
587
590
|
3. **Per workflow step** — `runner:` on any step in the YAML.
|
|
588
591
|
|
|
@@ -665,7 +668,7 @@ works and how to redeploy new versions.
|
|
|
665
668
|
## Configuration (optional)
|
|
666
669
|
|
|
667
670
|
Zero config is the default — everything below is opt-in via
|
|
668
|
-
`.
|
|
671
|
+
`.xezar/config.json` (a missing or invalid file simply uses the defaults, and
|
|
669
672
|
never blocks startup):
|
|
670
673
|
|
|
671
674
|
```jsonc
|
|
@@ -700,7 +703,7 @@ Settings that belong to *you* rather than to a repo — the parallel cap
|
|
|
700
703
|
root — live once in `~/.xezar/config.json`, alongside the
|
|
701
704
|
[project registry](#multiple-projects-one-cockpit), and are edited from
|
|
702
705
|
**Settings → Resources** and **Settings → Projects**. A `maxParallel` left over
|
|
703
|
-
in a repo's `.
|
|
706
|
+
in a repo's `.xezar/config.json` is imported into the workspace file the
|
|
704
707
|
first time xezar boots there, and ignored afterwards.
|
|
705
708
|
|
|
706
709
|
### Editing the agents' own config (Settings → Agent config)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { projectDataDir } from '../project-data-paths.js';
|
|
1
2
|
import { existsSync } from 'node:fs';
|
|
2
3
|
import { join } from 'node:path';
|
|
3
4
|
import { AutomationStore } from './store.js';
|
|
@@ -33,7 +34,7 @@ export class AutomationCoordinator {
|
|
|
33
34
|
continue;
|
|
34
35
|
}
|
|
35
36
|
this.roots.set(project.id, project.root);
|
|
36
|
-
const definitions = join(project.root, '
|
|
37
|
+
const definitions = join(projectDataDir(project.root), 'automations.json');
|
|
37
38
|
if (existsSync(definitions))
|
|
38
39
|
this.store(project.id, project.root);
|
|
39
40
|
}
|
|
@@ -45,7 +46,7 @@ export class AutomationCoordinator {
|
|
|
45
46
|
const projectRoot = root ?? this.roots.get(projectId);
|
|
46
47
|
if (!projectRoot)
|
|
47
48
|
return undefined;
|
|
48
|
-
const store = AutomationStore.open(
|
|
49
|
+
const store = AutomationStore.open(projectDataDir(projectRoot), { warn: this.options.warn });
|
|
49
50
|
this.stores.set(projectId, store);
|
|
50
51
|
this.roots.set(projectId, projectRoot);
|
|
51
52
|
return store;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../src/automations/coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAa7C;;;;GAIG;AACH,MAAM,OAAO,qBAAqB;IAIH,OAAO;IAHnB,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC5C,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEnD,YAA6B,OAAqC;uBAArC,OAAO;IAAiC,CAAC;IAEtE,KAAK,CAAC,OAAO;QACX,IAAI,QAA4C,CAAC;QACjD,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,yCAAyC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvH,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../src/automations/coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ensureProjectDataIgnored } from '../project-data-paths.js';
|
|
1
2
|
import { closeSync, existsSync, mkdirSync, openSync, readFileSync, renameSync, statSync, unlinkSync, writeFileSync, } from 'node:fs';
|
|
2
3
|
import { randomUUID } from 'node:crypto';
|
|
3
4
|
import { collectSecretValues, redactDeep } from '../core/secret-redaction.js';
|
|
@@ -20,6 +21,7 @@ export class AutomationStore {
|
|
|
20
21
|
now;
|
|
21
22
|
secrets = collectSecretValues();
|
|
22
23
|
static open(dataDir, options = {}) {
|
|
24
|
+
ensureProjectDataIgnored(dataDir);
|
|
23
25
|
const store = new AutomationStore(dataDir, options);
|
|
24
26
|
store.load();
|
|
25
27
|
return store;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/automations/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/automations/store.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
/**
|
|
3
|
-
* Optional advanced config at `.
|
|
3
|
+
* Optional advanced config at `.xezar/config.json`. Zero-config rule:
|
|
4
4
|
* a missing file behaves exactly like the default below, an unreadable or
|
|
5
5
|
* invalid file degrades to the default too (never blocks startup). The key
|
|
6
6
|
* can be overridden or emptied (`"skillsRepos": []` disables team skills).
|
|
@@ -43,7 +43,7 @@ declare const configSchema: z.ZodObject<{
|
|
|
43
43
|
}, z.core.$strip>;
|
|
44
44
|
export type XezConfig = z.infer<typeof configSchema>;
|
|
45
45
|
/**
|
|
46
|
-
* Read `.
|
|
46
|
+
* Read `.xezar/config.json` on demand — never cached, never throws.
|
|
47
47
|
*
|
|
48
48
|
* Also reads the machine-wide defaults, which is one more small JSON read and deliberately not
|
|
49
49
|
* cached for the same reason this one is not: `~/.xezar/` is shared by every xezar process on the
|
package/dist/config.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { readFile } from 'node:fs/promises';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
+
import { projectKitDir } from './project-kit-paths.js';
|
|
3
4
|
import { z } from 'zod';
|
|
4
5
|
import { loadWorkspaceConfig } from './workspace/config.js';
|
|
5
6
|
import { RUNNER_IDS } from './core/agent-runner.js';
|
|
6
7
|
/**
|
|
7
|
-
* Optional advanced config at `.
|
|
8
|
+
* Optional advanced config at `.xezar/config.json`. Zero-config rule:
|
|
8
9
|
* a missing file behaves exactly like the default below, an unreadable or
|
|
9
10
|
* invalid file degrades to the default too (never blocks startup). The key
|
|
10
11
|
* can be overridden or emptied (`"skillsRepos": []` disables team skills).
|
|
@@ -128,7 +129,7 @@ function withMachineDefaults(raw, machine) {
|
|
|
128
129
|
};
|
|
129
130
|
}
|
|
130
131
|
/**
|
|
131
|
-
* Read `.
|
|
132
|
+
* Read `.xezar/config.json` on demand — never cached, never throws.
|
|
132
133
|
*
|
|
133
134
|
* Also reads the machine-wide defaults, which is one more small JSON read and deliberately not
|
|
134
135
|
* cached for the same reason this one is not: `~/.xezar/` is shared by every xezar process on the
|
|
@@ -138,7 +139,7 @@ export async function loadConfig(repoRoot) {
|
|
|
138
139
|
const machine = (await loadWorkspaceConfig()).agentDefaults;
|
|
139
140
|
let raw;
|
|
140
141
|
try {
|
|
141
|
-
raw = await readFile(join(repoRoot, '
|
|
142
|
+
raw = await readFile(join(projectKitDir(repoRoot), 'config.json'), 'utf8');
|
|
142
143
|
}
|
|
143
144
|
catch {
|
|
144
145
|
return configSchema.parse(withMachineDefaults({}, machine));
|
|
@@ -165,7 +166,7 @@ export async function loadConfig(repoRoot) {
|
|
|
165
166
|
async function ownWorktreeRetention(repoRoot) {
|
|
166
167
|
let raw;
|
|
167
168
|
try {
|
|
168
|
-
raw = await readFile(join(repoRoot, '
|
|
169
|
+
raw = await readFile(join(projectKitDir(repoRoot), 'config.json'), 'utf8');
|
|
169
170
|
}
|
|
170
171
|
catch {
|
|
171
172
|
return undefined; // no file — nothing set
|
|
@@ -201,7 +202,7 @@ export async function gatedSkillsRepos(repoRoot) {
|
|
|
201
202
|
const none = new Set();
|
|
202
203
|
let raw;
|
|
203
204
|
try {
|
|
204
|
-
raw = await readFile(join(repoRoot, '
|
|
205
|
+
raw = await readFile(join(projectKitDir(repoRoot), 'config.json'), 'utf8');
|
|
205
206
|
}
|
|
206
207
|
catch {
|
|
207
208
|
// No file — the defaults are in effect, so they are the opt-in set.
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/contract/index.js
CHANGED
|
@@ -1103,7 +1103,7 @@ var workspaceConfigResponseSchema = z8.object({
|
|
|
1103
1103
|
* Both keys are OPTIONAL on the wire, and that is load-bearing rather than lax: absent means
|
|
1104
1104
|
* "this machine has no opinion, the built-in default applies", and it has to stay distinguishable
|
|
1105
1105
|
* from a value someone chose or the fallback collapses into "always claude". Consulted only where
|
|
1106
|
-
* the repo's own `.
|
|
1106
|
+
* the repo's own `.xezar/config.json` is silent — a repo that chose is never overruled.
|
|
1107
1107
|
*/
|
|
1108
1108
|
agentDefaults: z8.object({
|
|
1109
1109
|
runner: runnerSchema.optional(),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
/**
|
|
3
|
-
* One discovered skill: repo (`.ai/skills`, `.
|
|
3
|
+
* One discovered skill: repo (`.ai/skills`, `.xezar/skills`), `npx skills` install dirs
|
|
4
4
|
* (project + global), or a configured team skills repo (spec 005).
|
|
5
5
|
*/
|
|
6
6
|
export declare const skillSchema: z.ZodObject<{
|
|
@@ -40,7 +40,7 @@ export declare const importableSkillSchema: z.ZodObject<{
|
|
|
40
40
|
description: z.ZodOptional<z.ZodString>;
|
|
41
41
|
}, z.core.$strip>;
|
|
42
42
|
export type ImportableSkill = z.infer<typeof importableSkillSchema>;
|
|
43
|
-
/** One entry of `.
|
|
43
|
+
/** One entry of `.local/xezar/todos.json`, as `GET /todos` serves it (ids are backfilled on read). */
|
|
44
44
|
export declare const todoItemSchema: z.ZodObject<{
|
|
45
45
|
id: z.ZodString;
|
|
46
46
|
ts: z.ZodOptional<z.ZodString>;
|
|
@@ -35,7 +35,7 @@ export declare const workflowStepDefSchema: z.ZodObject<{
|
|
|
35
35
|
}, z.core.$strip>>;
|
|
36
36
|
}, z.core.$strip>;
|
|
37
37
|
export type WorkflowStepDef = z.infer<typeof workflowStepDefSchema>;
|
|
38
|
-
/** One catalog entry: the built-in `quick-task`, or a `.
|
|
38
|
+
/** One catalog entry: the built-in `quick-task`, or a `.xezar/workflows/*.yaml` file. */
|
|
39
39
|
export declare const workflowDefSchema: z.ZodObject<{
|
|
40
40
|
name: z.ZodString;
|
|
41
41
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -110,7 +110,7 @@ export declare const workflowsResponseSchema: z.ZodObject<{
|
|
|
110
110
|
}, z.core.$strip>;
|
|
111
111
|
export type WorkflowsResponse = z.infer<typeof workflowsResponseSchema>;
|
|
112
112
|
/**
|
|
113
|
-
* `POST /workflows` body: save a chain as `.
|
|
113
|
+
* `POST /workflows` body: save a chain as `.xezar/workflows/<slug>.yaml`.
|
|
114
114
|
*
|
|
115
115
|
* Exactly one of `steps` / the portable `skills` shorthand — the refinement below is the same
|
|
116
116
|
* XOR the server enforces. Without `overwrite` an existing file answers 409 (`exists: true`).
|
|
@@ -96,7 +96,7 @@ export declare const setWorkspaceConfigInputSchema: z.ZodObject<{
|
|
|
96
96
|
}, z.core.$strip>;
|
|
97
97
|
export type SetWorkspaceConfigInput = z.infer<typeof setWorkspaceConfigInputSchema>;
|
|
98
98
|
/**
|
|
99
|
-
* `GET/PUT /api/v1/ui-state` — the per-repo GUI prefs in `.
|
|
99
|
+
* `GET/PUT /api/v1/ui-state` — the per-repo GUI prefs in `.local/xezar/ui-state.json`.
|
|
100
100
|
*
|
|
101
101
|
* An OPEN bag on purpose (BACKWARD_COMPATIBILITY.md §3): unknown keys round-trip untouched, so a
|
|
102
102
|
* newer cockpit's prefs survive an older server and a future pref needs no server change. Hence
|
|
@@ -2,6 +2,7 @@ import { readFileSync } from 'node:fs';
|
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import { workspaceConfigPath } from '../paths.js';
|
|
5
|
+
import { projectKitDir } from '../project-kit-paths.js';
|
|
5
6
|
/** The server-side switch that makes native agent settings authoritative. */
|
|
6
7
|
export const AGENT_MODELS_LOCKED_ENV = 'XEZ_AGENT_MODELS_LOCKED';
|
|
7
8
|
const modelPolicyConfigSchema = z.object({
|
|
@@ -18,7 +19,7 @@ export function agentModelsLocked(repoRoot, env = process.env) {
|
|
|
18
19
|
return true;
|
|
19
20
|
const paths = [
|
|
20
21
|
workspaceConfigPath(env),
|
|
21
|
-
...(repoRoot ? [join(repoRoot, '
|
|
22
|
+
...(repoRoot ? [join(projectKitDir(repoRoot), 'config.json')] : []),
|
|
22
23
|
];
|
|
23
24
|
for (const path of paths) {
|
|
24
25
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-model-policy.js","sourceRoot":"","sources":["../../src/core/agent-model-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-model-policy.js","sourceRoot":"","sources":["../../src/core/agent-model-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAEjE,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC,WAAW,EAAE,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAiB,EACjB,GAAG,GAAsB,OAAO,CAAC,GAAG;IAEpC,IAAI,GAAG,CAAC,uBAAuB,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,KAAK,GAAG;QACZ,mBAAmB,CAAC,GAAG,CAAC;QACxB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAC9C,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CACvC,CAAC;YACF,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GACpC,mFAAmF,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* (#427). Tool-result output is written verbatim to disk and served back over
|
|
4
4
|
* the API, so the moment an agent runs a command whose output contains a
|
|
5
5
|
* secret (`printenv`, `cat ~/.aws/credentials`, …) that secret would land in
|
|
6
|
-
* `.
|
|
6
|
+
* `.local/xezar/` — violating the "No secrets in state files" invariant
|
|
7
7
|
* (AGENTS.md / CODE_REVIEW.md).
|
|
8
8
|
*
|
|
9
9
|
* Two complementary strategies:
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* (#427). Tool-result output is written verbatim to disk and served back over
|
|
4
4
|
* the API, so the moment an agent runs a command whose output contains a
|
|
5
5
|
* secret (`printenv`, `cat ~/.aws/credentials`, …) that secret would land in
|
|
6
|
-
* `.
|
|
6
|
+
* `.local/xezar/` — violating the "No secrets in state files" invariant
|
|
7
7
|
* (AGENTS.md / CODE_REVIEW.md).
|
|
8
8
|
*
|
|
9
9
|
* Two complementary strategies:
|
package/dist/git-worktree.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Git worktree per task (spec 006). Each run gets its own branch
|
|
3
|
-
* `xez/<id8>` checked out into `.
|
|
3
|
+
* `xez/<id8>` checked out into `.local/xezar/worktrees/<runId>` so agents never
|
|
4
4
|
* touch the user's working tree. Pattern ported from github-janitor's
|
|
5
5
|
* `git.ts` (createWorktree / autosaveCommit), minus the bare clone — we're
|
|
6
6
|
* already inside a working copy. Everything degrades: helpers never throw
|
|
7
7
|
* except `createWorktree`, whose failure the caller turns into a note.
|
|
8
8
|
*/
|
|
9
|
-
/** Repo-relative home of all task worktrees (gitignored via .
|
|
10
|
-
export declare const WORKTREES_DIR = ".
|
|
9
|
+
/** Repo-relative home of all task worktrees (gitignored via .local/.gitignore). */
|
|
10
|
+
export declare const WORKTREES_DIR = ".local/xezar/worktrees";
|
|
11
11
|
export declare function branchFor(runId: string): string;
|
|
12
12
|
/**
|
|
13
13
|
* Resolve the configured base branch to something `git worktree add` can
|
|
@@ -155,7 +155,7 @@ export declare function worktreeShortstat(worktreePath: string, baseBranch: stri
|
|
|
155
155
|
}): Promise<DiffStat | null>;
|
|
156
156
|
/**
|
|
157
157
|
* Startup reconcile: `git worktree prune` + remove every directory under
|
|
158
|
-
* `.
|
|
158
|
+
* `.local/xezar/worktrees/` whose run id is no longer in the store (and its
|
|
159
159
|
* branch). Returns the removed run ids for the boot log. Never throws.
|
|
160
160
|
*/
|
|
161
161
|
export declare function pruneOrphans(repoRoot: string, validIds: ReadonlySet<string>): Promise<string[]>;
|
package/dist/git-worktree.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { projectDataDir } from './project-data-paths.js';
|
|
1
2
|
import { execFile } from 'node:child_process';
|
|
2
3
|
import { existsSync, realpathSync } from 'node:fs';
|
|
3
4
|
import { readdir, readFile, rm, stat } from 'node:fs/promises';
|
|
@@ -6,14 +7,14 @@ import { resolveTaskDiffBase } from './git-diff-base.js';
|
|
|
6
7
|
import { isSafeGitRef } from './git-refs.js';
|
|
7
8
|
/**
|
|
8
9
|
* Git worktree per task (spec 006). Each run gets its own branch
|
|
9
|
-
* `xez/<id8>` checked out into `.
|
|
10
|
+
* `xez/<id8>` checked out into `.local/xezar/worktrees/<runId>` so agents never
|
|
10
11
|
* touch the user's working tree. Pattern ported from github-janitor's
|
|
11
12
|
* `git.ts` (createWorktree / autosaveCommit), minus the bare clone — we're
|
|
12
13
|
* already inside a working copy. Everything degrades: helpers never throw
|
|
13
14
|
* except `createWorktree`, whose failure the caller turns into a note.
|
|
14
15
|
*/
|
|
15
|
-
/** Repo-relative home of all task worktrees (gitignored via .
|
|
16
|
-
export const WORKTREES_DIR = '.
|
|
16
|
+
/** Repo-relative home of all task worktrees (gitignored via .local/.gitignore). */
|
|
17
|
+
export const WORKTREES_DIR = '.local/xezar/worktrees';
|
|
17
18
|
const DIFF_CAP = 400_000;
|
|
18
19
|
/** Run git, never throw — degradation is the caller's policy. */
|
|
19
20
|
function git(cwd, args) {
|
|
@@ -60,7 +61,7 @@ export async function resolveBaseRef(repoRoot, base) {
|
|
|
60
61
|
return null;
|
|
61
62
|
}
|
|
62
63
|
export function worktreePathFor(repoRoot, runId) {
|
|
63
|
-
return join(repoRoot,
|
|
64
|
+
return join(projectDataDir(repoRoot), 'worktrees', runId);
|
|
64
65
|
}
|
|
65
66
|
/** Parse `git worktree list --porcelain` without assuming paths contain no spaces. */
|
|
66
67
|
async function registeredWorktrees(repoRoot) {
|
|
@@ -122,7 +123,7 @@ export async function createWorktree(repoRoot, runId, baseBranch) {
|
|
|
122
123
|
if (!isSafeGitRef(base))
|
|
123
124
|
throw new Error(`refusing option-like base ref: ${base}`);
|
|
124
125
|
const branch = branchFor(runId);
|
|
125
|
-
const absolutePath = join(canonicalPath(repoRoot),
|
|
126
|
+
const absolutePath = join(projectDataDir(canonicalPath(repoRoot)), 'worktrees', runId);
|
|
126
127
|
const branchRef = `refs/heads/${branch}`;
|
|
127
128
|
// A missing directory can leave stale administrative metadata behind.
|
|
128
129
|
// Prune first so the checks below describe the filesystem as it exists now.
|
|
@@ -484,14 +485,14 @@ export async function worktreeShortstat(worktreePath, baseBranch, opts = {}) {
|
|
|
484
485
|
}
|
|
485
486
|
/**
|
|
486
487
|
* Startup reconcile: `git worktree prune` + remove every directory under
|
|
487
|
-
* `.
|
|
488
|
+
* `.local/xezar/worktrees/` whose run id is no longer in the store (and its
|
|
488
489
|
* branch). Returns the removed run ids for the boot log. Never throws.
|
|
489
490
|
*/
|
|
490
491
|
export async function pruneOrphans(repoRoot, validIds) {
|
|
491
492
|
await git(repoRoot, ['worktree', 'prune']);
|
|
492
493
|
let entries;
|
|
493
494
|
try {
|
|
494
|
-
entries = await readdir(join(repoRoot,
|
|
495
|
+
entries = await readdir(join(projectDataDir(repoRoot), 'worktrees'), { withFileTypes: true });
|
|
495
496
|
}
|
|
496
497
|
catch {
|
|
497
498
|
return []; // no worktrees dir yet
|