@orchestraworks/worker 0.0.149 → 0.0.151
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 +4 -3
- package/docs/REFERENCE.md +20 -7
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -25,7 +25,8 @@ To check that a machine image can host a harness, run `worker check` inside it:
|
|
|
25
25
|
docker run --rm --entrypoint worker <image> check --harness claude
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
`worker version` prints the version and the protocol versions this
|
|
28
|
+
`worker version` prints the version, the build hash, the release package and the protocol versions this
|
|
29
|
+
build speaks.
|
|
29
30
|
|
|
30
31
|
## Make a machine image
|
|
31
32
|
|
|
@@ -227,8 +228,8 @@ minutes later.
|
|
|
227
228
|
- `orchestra worker --help` lists the worker commands. `orchestra worker <command> --help` gives their flags.
|
|
228
229
|
- `worker` with no command prints its usage.
|
|
229
230
|
- `skills/orchestra/SKILL.md` in `@orchestraworks/cli` explains machines and what the platform can do.
|
|
230
|
-
- [docs/REFERENCE.md](docs/REFERENCE.md): every command, the start-up settings, egress, and how a release is built.
|
|
231
|
+
- [docs/REFERENCE.md](https://unpkg.com/@orchestraworks/worker/docs/REFERENCE.md): every command, the start-up settings, egress, and how a release is built.
|
|
231
232
|
|
|
232
233
|
## License
|
|
233
234
|
|
|
234
|
-
Apache License 2.0. The full text is in
|
|
235
|
+
Apache License 2.0. The full text is in the `LICENSE` file in this package.
|
package/docs/REFERENCE.md
CHANGED
|
@@ -16,7 +16,7 @@ The worker exposes no API of its own. Every route it calls is the platform's.
|
|
|
16
16
|
| `identity/` | the four identity exchanges — claim, refresh, reattach-challenge, reattach — the holder key, and the loop that keeps the machine token alive |
|
|
17
17
|
| `broker/` | the protocol on the message broker: the connection, the register on every connect, the heartbeat and the status cadence, the pull of this machine's own work consumer, and the publisher every other package sends through |
|
|
18
18
|
| `env/` | the machine-side environment the platform composes onto a launch, read from the names the contract declares |
|
|
19
|
-
| `facts/` | what this build knows about the four harness families: the program to install and the digest that authenticates it, the environment each family is handed, the templates it seeds, and every location its content lands in; and, in `machine.json`, the pins of what `install-machine` puts on a machine beside the worker — Docker
|
|
19
|
+
| `facts/` | what this build knows about the four harness families: the program to install and the digest that authenticates it, the environment each family is handed, the templates it seeds, and every location its content lands in; and, in `machine.json`, the pins of what `install-machine` puts on a machine beside the worker — Docker and WinDivert, the agent's Node being the families' own Node pin — and where a launch's certificate files land. Both are embedded in the binary, so one release digest covers the facts and the program that reads them |
|
|
20
20
|
| `harness/` | the only place family-specific knowledge lives: the launch plan, the content layout, the store lookup, the mid-turn message each family accepts, and the installer that puts the pinned Node and a family's programs under the worker root |
|
|
21
21
|
| `process/` | the agent's setup and the harness process behind each session placement: the start, the stop and the last save a remove asks for, the startup fence over what a previous run left, and the stop of everything when the worker is told to stop |
|
|
22
22
|
| `stream/` | the queue: every placement message and every prompt, steer and cancel pulled off this machine's work consumer, the ACP client that opens a session's harness conversation and runs its turns, each turn's events batched to the platform and published live, and the answer every placement message is owed |
|
|
@@ -82,6 +82,18 @@ Each `ORCHESTRA_` machine variable this page names also has a former `SFDK_` spe
|
|
|
82
82
|
forms fill the installer seam in `cmd/worker/install.go`; a build with none refuses rather than
|
|
83
83
|
reporting an install it did not perform.
|
|
84
84
|
|
|
85
|
+
**An install that names a family stops the running worker first.** When `--harness` names a family
|
|
86
|
+
and `--service` is not `none`, the install stops the worker service in its scope, and the service an
|
|
87
|
+
earlier release registered, before it changes anything under the root. A running service installs and
|
|
88
|
+
runs harnesses from that same root, and nothing else keeps the two apart. The stop keeps each
|
|
89
|
+
service's definition, and the install prints `the worker service is stopped while this install changes
|
|
90
|
+
<root>`. The service starts again only after the whole install succeeds, and then at the time its role
|
|
91
|
+
sets, below. When the stop fails, the install changes nothing. When a later step fails, or a signal
|
|
92
|
+
interrupts the install after the stop, the service stays stopped and the error says so; for a `worker`,
|
|
93
|
+
run `worker install` again to start it. A signal during the stop itself gives an error that says the
|
|
94
|
+
service may still be stopping. A signal before the stop ends the install quietly, with nothing stopped
|
|
95
|
+
and nothing changed.
|
|
96
|
+
|
|
85
97
|
**`--service` says which session the worker is registered in, and neither of its two values needs any
|
|
86
98
|
privilege.** `user` registers it in the invoking account's own session: a launch agent under
|
|
87
99
|
`~/Library/LaunchAgents` on macOS, a `systemd --user` unit under `~/.config/systemd/user` on Linux, a
|
|
@@ -176,7 +188,7 @@ Each `ORCHESTRA_` machine variable this page names also has a former `SFDK_` spe
|
|
|
176
188
|
the worker's unit, which requires it. Azure on Linux also installs WALinuxAgent's and azure-vm-utils'
|
|
177
189
|
udev rules, which name a data disk by its LUN. `aws` removes the Azure task, or the Azure unit and the
|
|
178
190
|
worker unit's link to it, that an earlier `azure` run left. The optional steps fetch what they install from the pins
|
|
179
|
-
in `facts/machine.json` and check each archive's SHA-256 — Node against `nodejs.org`'s published
|
|
191
|
+
in `facts/machine.json`, and Node at the families' pin in `facts/families.json`, and check each archive's SHA-256 — Node against `nodejs.org`'s published
|
|
180
192
|
`SHASUMS256.txt` — before anything is unpacked. A new Node on Windows replaces only the archive's own
|
|
181
193
|
files, `node.exe` last, so npm's global packages in its folder and their commands stay. The last step runs `worker check` in-process with the
|
|
182
194
|
profile that holds only what this command installs: `launcher` for `azure`, `enrolled` for `aws`. A
|
|
@@ -235,12 +247,13 @@ Each `ORCHESTRA_` machine variable this page names also has a former `SFDK_` spe
|
|
|
235
247
|
**`worker redirect remove`** deletes it. Each runs with its caller's own rights, so without
|
|
236
248
|
`CAP_NET_ADMIN` the kernel refuses both, and each exits 0 on an answer and 1 on a failure. Off Linux
|
|
237
249
|
both refuse, naming the operating system. What the table holds is under the in-guest egress below.
|
|
238
|
-
- **`worker version`** prints
|
|
239
|
-
|
|
250
|
+
- **`worker version`** prints one `key value` line each: `version`, this binary's version; `build`,
|
|
251
|
+
the content hash it was stamped with, or `unstamped`; `platform`, the release package it belongs to;
|
|
252
|
+
and `protocol`, the protocol versions it speaks.
|
|
240
253
|
|
|
241
|
-
The version
|
|
242
|
-
`0.0.0` until that lane stamps them; a build that stamps nothing says so rather than
|
|
243
|
-
version it is not.
|
|
254
|
+
The version and the build hash are stamped at link time by the publishing lane, and both `package.json`
|
|
255
|
+
files carry `0.0.0` until that lane stamps them; a build that stamps nothing says so rather than
|
|
256
|
+
claiming a version or a build it is not.
|
|
244
257
|
|
|
245
258
|
## The bootstrap a machine is started with
|
|
246
259
|
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orchestraworks/worker",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.151",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The Orchestra worker.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"author": "Orchestra Works",
|
|
8
8
|
"homepage": "https://orchestraworks.ai",
|
|
9
9
|
"engines": {
|
|
10
|
-
"node": ">=
|
|
10
|
+
"node": ">=24"
|
|
11
11
|
},
|
|
12
12
|
"bin": {
|
|
13
13
|
"worker": "bin/worker.js"
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
"docs/REFERENCE.md"
|
|
19
19
|
],
|
|
20
20
|
"optionalDependencies": {
|
|
21
|
-
"@orchestraworks/worker-linux-x64": "0.0.
|
|
22
|
-
"@orchestraworks/worker-linux-arm64": "0.0.
|
|
23
|
-
"@orchestraworks/worker-darwin-x64": "0.0.
|
|
24
|
-
"@orchestraworks/worker-darwin-arm64": "0.0.
|
|
25
|
-
"@orchestraworks/worker-win32-x64": "0.0.
|
|
21
|
+
"@orchestraworks/worker-linux-x64": "0.0.151",
|
|
22
|
+
"@orchestraworks/worker-linux-arm64": "0.0.151",
|
|
23
|
+
"@orchestraworks/worker-darwin-x64": "0.0.151",
|
|
24
|
+
"@orchestraworks/worker-darwin-arm64": "0.0.151",
|
|
25
|
+
"@orchestraworks/worker-win32-x64": "0.0.151"
|
|
26
26
|
}
|
|
27
27
|
}
|