@usine/server 0.4.1-next.242.gd903ac6 → 0.4.1-next.245.g4f37e20
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 +26 -4
- package/dist/cli.d.ts +974 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +18 -1
- package/dist/cli.js.map +1 -1
- package/dist/configuration/cli.d.ts +23 -0
- package/dist/configuration/cli.d.ts.map +1 -0
- package/dist/configuration/cli.js +82 -0
- package/dist/configuration/cli.js.map +1 -0
- package/dist/configuration/command.d.ts +33 -0
- package/dist/configuration/command.d.ts.map +1 -0
- package/dist/configuration/command.js +63 -0
- package/dist/configuration/command.js.map +1 -0
- package/dist/configuration/runtime.d.ts +11 -0
- package/dist/configuration/runtime.d.ts.map +1 -0
- package/dist/configuration/runtime.js +37 -0
- package/dist/configuration/runtime.js.map +1 -0
- package/dist/failure-message.d.ts +3 -2
- package/dist/failure-message.d.ts.map +1 -1
- package/dist/failure-message.js +5 -3
- package/dist/failure-message.js.map +1 -1
- package/dist/http.d.ts +2 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +15 -2
- package/dist/http.js.map +1 -1
- package/dist/main.js +6 -1
- package/dist/main.js.map +1 -1
- package/dist/up.d.ts +2 -1
- package/dist/up.d.ts.map +1 -1
- package/dist/up.js +39 -18
- package/dist/up.js.map +1 -1
- package/dist/upgrade/client.d.ts +6 -0
- package/dist/upgrade/client.d.ts.map +1 -0
- package/dist/upgrade/client.js +30 -0
- package/dist/upgrade/client.js.map +1 -0
- package/dist/upgrade/control.d.ts +37 -0
- package/dist/upgrade/control.d.ts.map +1 -0
- package/dist/upgrade/control.js +179 -0
- package/dist/upgrade/control.js.map +1 -0
- package/dist/upgrade/helper.sh +79 -0
- package/dist/upgrade/platform.d.ts +6 -0
- package/dist/upgrade/platform.d.ts.map +1 -0
- package/dist/upgrade/platform.js +91 -0
- package/dist/upgrade/platform.js.map +1 -0
- package/dist/{upgrade.d.ts → upgrade/upgrade.d.ts} +3 -3
- package/dist/upgrade/upgrade.d.ts.map +1 -0
- package/dist/{upgrade.js → upgrade/upgrade.js} +15 -9
- package/dist/upgrade/upgrade.js.map +1 -0
- package/dist/web/assets/_agent-WjdO5VAa.js +1 -0
- package/dist/web/assets/_loop-C10dQkEd.js +1 -0
- package/dist/web/assets/{_name-BxJNREH1.js → _name-C9sQfELO.js} +3 -3
- package/dist/web/assets/_name-ICND0TR9.js +1 -0
- package/dist/web/assets/_name-ghiu8Rdd.js +1 -0
- package/dist/web/assets/_name-wTTNDwwN.js +1 -0
- package/dist/web/assets/_number-BWW1DLmK.js +1 -0
- package/dist/web/assets/{_number-D1aygC30.js → _number-JuiT-lXp.js} +1 -1
- package/dist/web/assets/_number-wTTNDwwN.js +1 -0
- package/dist/web/assets/{_run-uH0ic3YN.js → _run-CGcd7rOo.js} +2 -2
- package/dist/web/assets/_run-wTTNDwwN.js +1 -0
- package/dist/web/assets/{_worker-RImerR1R.js → _worker-BHvXm0Ol.js} +1 -1
- package/dist/web/assets/{action-DpIy5Tq4.js → action-CLMdpUNp.js} +1 -1
- package/dist/web/assets/agents-CKY979-j.js +1 -0
- package/dist/web/assets/{agents-CV2_BSmW.js → agents-D1_On9Us.js} +1 -1
- package/dist/web/assets/{collapsible-wtUB2o5f.js → collapsible-wx7qoVUY.js} +1 -1
- package/dist/web/assets/drawer-ClV5FPxE.js +1 -0
- package/dist/web/assets/{dropdown-menu-M6HJ-gEk.js → dropdown-menu-DmI1-9I6.js} +1 -1
- package/dist/web/assets/{edit-and-retry-B4SbniBW.js → edit-and-retry-BT9YXPw5.js} +1 -1
- package/dist/web/assets/{error-alert-DpgCSGzc.js → error-alert-DFfriLNF.js} +1 -1
- package/dist/web/assets/{file-error-Bw_yeL6P.js → file-error-DQcht9l1.js} +1 -1
- package/dist/web/assets/{heading-Bb_FmOov.js → heading-DUH_p_D2.js} +1 -1
- package/dist/web/assets/{index-fG0efJHi.js → index-DGrZxi1x.js} +4 -4
- package/dist/web/assets/{index-ubz-U6km.css → index-Y-UpTvwI.css} +1 -1
- package/dist/web/assets/{label-badge-CjgBT10E.js → label-badge-D4XOFeuV.js} +1 -1
- package/dist/web/assets/{list-BUG-M-v1.js → list-BITOeSL5.js} +1 -1
- package/dist/web/assets/loops-B02x2NFv.js +1 -0
- package/dist/web/assets/{model-DnsY2oHr.js → model-D5HHr8oV.js} +1 -1
- package/dist/web/assets/moves-DMyu3vTZ.js +1 -0
- package/dist/web/assets/{not-found-B38zJP-n.js → not-found-mSps2_iU.js} +1 -1
- package/dist/web/assets/{outcome-D9Reu2JE.js → outcome-kVn2JbbY.js} +2 -2
- package/dist/web/assets/{overview--r5VUAxb.js → overview-CsBKlhX_.js} +1 -1
- package/dist/web/assets/{pull-request-marks-Bgll9bF3.js → pull-request-marks-BIK2lTuP.js} +1 -1
- package/dist/web/assets/queries-Ba5wd9zK.js +1 -0
- package/dist/web/assets/queries-sA8wW-F5.js +1 -0
- package/dist/web/assets/{reload-CEZVacPm.js → reload-CTQ3xOKY.js} +1 -1
- package/dist/web/assets/{repositories-DvVvgHWh.js → repositories-D8T3KEpT.js} +1 -1
- package/dist/web/assets/route-D4ATHraq.js +1 -0
- package/dist/web/assets/route-DOIJUQ5P.js +1 -0
- package/dist/web/assets/{routes-XCR3uBxh.js → routes-DxI_h_p9.js} +2 -2
- package/dist/web/assets/routes-wTTNDwwN.js +1 -0
- package/dist/web/assets/{run-again-BtQwGqCH.js → run-again-GITM_3KF.js} +1 -1
- package/dist/web/assets/{section-D-xJ-tUd.js → section-CtVQgqMN.js} +1 -1
- package/dist/web/assets/{section-C3U5b_gS.js → section-EwW51e7d.js} +1 -1
- package/dist/web/assets/settings-DhkslvKv.js +1 -0
- package/dist/web/assets/{strings-Co3H7WEe.js → strings-BzsrNv5c.js} +1 -1
- package/dist/web/assets/{strings-DWcmenvQ.js → strings-DyC56-Nb.js} +59 -58
- package/dist/web/assets/tasks-BZn1ImGJ.js +1 -0
- package/dist/web/assets/tasks-wTTNDwwN.js +1 -0
- package/dist/web/assets/{usage-DCLGvFYA.js → usage-BVy4jSK0.js} +1 -1
- package/dist/web/assets/{useAnchoredPopupScrollLock-g424bBnB.js → useAnchoredPopupScrollLock-qyhxHvdE.js} +1 -1
- package/dist/web/assets/{usePositioner-15YzqOz8.js → usePositioner-Xb6qHJOo.js} +1 -1
- package/dist/web/assets/{workers-CSR4bQdu.js → workers-DtwNZmeq.js} +1 -1
- package/dist/web/index.html +9 -9
- package/package.json +9 -9
- package/dist/upgrade.d.ts.map +0 -1
- package/dist/upgrade.js.map +0 -1
- package/dist/web/assets/_agent-B36m38tJ.js +0 -1
- package/dist/web/assets/_loop-Cc1bftYN.js +0 -1
- package/dist/web/assets/_name-BPO2-SJ_.js +0 -1
- package/dist/web/assets/_name-BcL-4K_h.js +0 -1
- package/dist/web/assets/_name-uDu8IV20.js +0 -1
- package/dist/web/assets/_number-BPO2-SJ_.js +0 -1
- package/dist/web/assets/_number-BTphf1Ls.js +0 -1
- package/dist/web/assets/_run-BPO2-SJ_.js +0 -1
- package/dist/web/assets/agents-DPuSo1g5.js +0 -1
- package/dist/web/assets/drawer-2lErj4yt.js +0 -1
- package/dist/web/assets/loops-CxN2NUqf.js +0 -1
- package/dist/web/assets/moves-CnjNsr5I.js +0 -1
- package/dist/web/assets/queries-C2pEjLEN.js +0 -1
- package/dist/web/assets/queries-ClxxfVIu.js +0 -1
- package/dist/web/assets/route-CiQSt-mo.js +0 -1
- package/dist/web/assets/route-D_6hSwsM.js +0 -1
- package/dist/web/assets/routes-BPO2-SJ_.js +0 -1
- package/dist/web/assets/settings-CguoUSB8.js +0 -1
- package/dist/web/assets/tasks-BPO2-SJ_.js +0 -1
- package/dist/web/assets/tasks-jIyCJqCC.js +0 -1
package/README.md
CHANGED
|
@@ -28,9 +28,23 @@ usine upgrade # back up, move the @usine/server pin, install, commit, and
|
|
|
28
28
|
|
|
29
29
|
Without GitHub App credentials, it logs the typed error, leaves both trigger streams idle, and opens the setup screen in the default browser. The browser command times out after two seconds; a failed opener only logs a warning. Runs, transcripts, and loop pause state stay readable, and the instance folder can be reloaded, but interventions are unavailable. Supply `USINE_GITHUB_APP_ID` and `USINE_GITHUB_PRIVATE_KEY`, or `app_id` and `private_key` in a mode-0600 `.usine/github-app.json`. Credentials are read only at startup, so restart `usine up` after adding them, as the setup screen says.
|
|
30
30
|
|
|
31
|
+
## Configuration commands
|
|
32
|
+
|
|
33
|
+
The first start imports `usine.yaml`, `agents/`, and `loops/` as revision 1, with the operator as actor and the message `Imported from the instance folder`. Invalid files prevent the import. Later starts read configuration only from `.usine/runtime.sqlite`. Keep `.env`, `.usine/github-app.json`, and the listen address in files or environment variables.
|
|
34
|
+
|
|
35
|
+
```sh
|
|
36
|
+
usine config export ./configuration
|
|
37
|
+
usine config import ./configuration --message "Update worker slots"
|
|
38
|
+
usine config edit agent developer
|
|
39
|
+
usine config log
|
|
40
|
+
usine config log agent developer
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
These commands work while `usine up` runs and while it is stopped. `edit` uses `$EDITOR` and refuses an edit if another revision was committed meanwhile. Entity kinds are `settings` (name `instance`), `worker`, `repository`, `label`, `loop`, and `agent`. Imports print the changed entities and save one revision, or report all validation problems without saving. A configuration with no differences saves no revision. Revisions apply live after worker preflight; restart-required changes remain stored until restart.
|
|
44
|
+
|
|
31
45
|
## Web UI
|
|
32
46
|
|
|
33
|
-
Each project opens as a board of authored or proposed lanes; proposed lanes are read-only. To enable moves,
|
|
47
|
+
Each project opens as a board of authored or proposed lanes; proposed lanes are read-only. To enable moves, edit the repository with `usine config edit repository <owner/name>` (see the [lane example](../../packages/config/README.md)). Moving an item to an authored label-backed lane swaps only the labels in that map and keeps other labels; polling then evaluates label-driven loops. Cards show the latest run and open its drawer. Retry controls describe the saved harness and model. The drawer flags a changed agent definition, and **Edit and retry** uses the current loaded definition even with the same task and agent name. `POST /api/runs/:id/cancel` returns 409 for failed and succeeded runs and preserves their outcomes; repeating it on a canceled run succeeds.
|
|
34
48
|
|
|
35
49
|
The UI can approve, retry, or cancel a run, pause or unpause a loop, page back through older transcript rows, and tail parent and first-level child activity.
|
|
36
50
|
|
|
@@ -44,9 +58,9 @@ After `pnpm build`, reload the page to use the new web bundle; no restart is nee
|
|
|
44
58
|
|
|
45
59
|
## Reload the configuration
|
|
46
60
|
|
|
47
|
-
**Reload configuration** on any Configuration page, `POST /api/instance/reload`, and `SIGHUP`
|
|
61
|
+
**Reload configuration** on any Configuration page, `POST /api/instance/reload`, and `SIGHUP` re-read the configuration store without stopping the process. Revisions also apply automatically. `SIGHUP` no longer ends the process; stop it with Ctrl+C or `SIGTERM`. The [CLI reference](https://docs.usine.dev/reference/configuration/cli/) describes what a reload applies. A refused reload keeps the running configuration and returns:
|
|
48
62
|
|
|
49
|
-
- 422 `FactoryConfigError`
|
|
63
|
+
- 422 `FactoryConfigError` if the configuration store cannot be read;
|
|
50
64
|
- 409 `RestartRequiredError`, naming the field, for a changed `webhooks` block or a `workers` change that needs a restart (a worker's kind or settings, or a rename);
|
|
51
65
|
- 409 `ReloadPreflightError` if a worker, slot count, or agent brain that the reload adds fails preflight, or a new SSH worker's gateway admin token variable is unset.
|
|
52
66
|
|
|
@@ -62,7 +76,7 @@ usine backup /path/to/runtime-backup.sqlite
|
|
|
62
76
|
|
|
63
77
|
Both copies include committed WAL data and are owner-only. The command opens each source read-only, copies the durable storage first, needs no GitHub credentials, and never overwrites a file. Use a new name in an existing writable directory on a file system with hard links. If the runtime copy fails, the durable copy is removed. Without durable storage (no attempt has run yet), it writes only the runtime copy and says so. Errors give the path and cause.
|
|
64
78
|
|
|
65
|
-
Keep backups outside the instance folder
|
|
79
|
+
Keep backups outside the instance folder. The runtime backup includes authored configuration and revisions; back up credentials and bootstrap files separately. To restore, stop the orchestrator and restore both files of one backup:
|
|
66
80
|
|
|
67
81
|
1. Move `.usine/runtime.sqlite` and `.usine/durable.sqlite` aside, with their `-wal` and `-shm` files.
|
|
68
82
|
2. Copy the runtime backup to `.usine/runtime.sqlite` and the `.durable` backup to `.usine/durable.sqlite`.
|
|
@@ -90,3 +104,11 @@ To clear a handled failure, select **Mark resolved** in the run drawer, opened f
|
|
|
90
104
|
Failure resolution through `POST /api/runs/:runId/resolve-failure` records the current instance's operator login and resolution time. The next `GET /api/statistics/runs` reflects the resolution, including when the previous response was cached.
|
|
91
105
|
|
|
92
106
|
Every Needs attention entry has **Dismiss**. The overview's collapsed **Dismissed** section lists acknowledged entries with **Undo**. Dismissals persist across refreshes and restarts, and a changed entry appears again. Attention counts and badges exclude dismissed entries. Dismissing an approval, failure, or cycle-budget ask leaves its state and actions available on the run and task pages and board cards. Dismiss and Undo also work while GitHub credentials need setup.
|
|
107
|
+
|
|
108
|
+
## Server upgrades
|
|
109
|
+
|
|
110
|
+
A global npm installation managed by systemd checks for upgrades every five minutes. Run `usine config edit settings instance` to configure `settings.upgrade_channel: latest` or `next` and `settings.upgrade_mode: off`, `propose`, or `automatic`. The defaults are `latest` and `propose`.
|
|
111
|
+
|
|
112
|
+
In **Configuration → Settings**, select **Upgrade when idle** to stop admitting attempts and wait for active attempts to finish, or **Upgrade now** to restart and reattach running attempts. `usine upgrade [<version> | --channel <latest|next>]` requests the same operation; `--force` selects immediate restart, and `--check` only reports versions. The CLI prints when the request is accepted; Settings and the helper journal report its outcome.
|
|
113
|
+
|
|
114
|
+
Install the helper service and polkit rule in the [server guide](https://docs.usine.dev/guides/run-the-orchestrator-on-a-server/) before using app upgrades. The independent helper installs into the same npm prefix and restores the previous version if installation or the new operator API fails. Its result is in `.usine/upgrade/result.json`; inspect `journalctl -u usine-upgrade.service` for progress. A rolled-back version is not retried automatically. Rollback restores packages; maintain database backups for releases with incompatible storage changes.
|