@elpapi42/pi-fleet-cli 0.5.0 → 0.6.1
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 +2 -1
- package/dist/main.js +47 -1
- package/dist/main.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -10,6 +10,7 @@ npm install --global @elpapi42/pi-fleet-cli
|
|
|
10
10
|
pif create researcher --cwd "$PWD"
|
|
11
11
|
pif send researcher "Investigate the database schema"
|
|
12
12
|
pif send researcher "Summarize the findings" --follow-up
|
|
13
|
+
pif receive researcher
|
|
13
14
|
pif list
|
|
14
15
|
pif status researcher
|
|
15
16
|
|
|
@@ -20,4 +21,4 @@ pif create named --cwd "$PWD" -- --session-id my-session
|
|
|
20
21
|
|
|
21
22
|
Arguments after `--` pass through to Pi. Pi-fleet adds `--mode rpc` and rejects `--mode` and `--no-session`. Pi owns session lookup, working-directory selection, prompts, and failures.
|
|
22
23
|
|
|
23
|
-
Commands print human-readable output. `pif send` confirms Pi accepted or queued an instruction. It does not wait for the work to finish. Use `pif --help` or `pif COMMAND --help` for generated usage. By default, pi-fleet stores its LMDB state and IPC sockets in `~/.pi-fleet`. Pre-stable releases do not migrate state from earlier locations automatically. This CLI requires Node.js 22.12 or later. Slice
|
|
24
|
+
Commands print human-readable output. `pif send` confirms Pi accepted or queued an instruction. It does not wait for the work to finish. `pif receive` shows best-effort live activity after it subscribes. Press Ctrl-C to stop receiving. Missed events cannot replay until Slice 4. Use `pif --help` or `pif COMMAND --help` for generated usage. By default, pi-fleet stores its LMDB state and IPC sockets in `~/.pi-fleet`. Pre-stable releases do not migrate state from earlier locations automatically. This CLI requires Node.js 22.12 or later. Slice 3 supports Unix-like hosts with ZeroMQ `ipc://` support. It provides `create`, `list`, `status`, `send`, and `receive`. Recovery, durable replay, retirement, compact, and destroy come in later slices.
|
package/dist/main.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from "commander";
|
|
3
3
|
import { connectPiFleet } from "@elpapi42/pi-fleet-sdk";
|
|
4
|
-
const version = "0.
|
|
4
|
+
const version = "0.6.1";
|
|
5
5
|
function splitPiArgs(args) {
|
|
6
6
|
const separator = args.indexOf("--");
|
|
7
7
|
if (separator < 0)
|
|
@@ -16,6 +16,30 @@ function printAgent(id, name, state) {
|
|
|
16
16
|
console.log(`Name: ${name}`);
|
|
17
17
|
console.log(`State: ${state}`);
|
|
18
18
|
}
|
|
19
|
+
function singleLine(text) {
|
|
20
|
+
return text.replace(/\s+/g, " ").trim();
|
|
21
|
+
}
|
|
22
|
+
function printEvent(event) {
|
|
23
|
+
switch (event.type) {
|
|
24
|
+
case "thinking.started":
|
|
25
|
+
console.log("Thinking started.");
|
|
26
|
+
return;
|
|
27
|
+
case "thinking.finished":
|
|
28
|
+
console.log(`Thinking finished: ${singleLine(event.content)}`);
|
|
29
|
+
return;
|
|
30
|
+
case "message.started":
|
|
31
|
+
console.log("Message started.");
|
|
32
|
+
return;
|
|
33
|
+
case "message.finished":
|
|
34
|
+
console.log(`Message finished: ${singleLine(event.text)}`);
|
|
35
|
+
return;
|
|
36
|
+
case "tool.started":
|
|
37
|
+
console.log(`Tool started: ${event.toolName}`);
|
|
38
|
+
return;
|
|
39
|
+
case "tool.finished":
|
|
40
|
+
console.log(`Tool finished: ${event.toolName}${event.isError ? " with an error" : ""}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
19
43
|
function printAgentList(agents) {
|
|
20
44
|
if (agents.length === 0) {
|
|
21
45
|
console.log("No agents.");
|
|
@@ -66,6 +90,28 @@ function createProgram(piArgs) {
|
|
|
66
90
|
console.log(`Instruction accepted by ${name}`);
|
|
67
91
|
console.log(`Delivery: ${delivery}`);
|
|
68
92
|
});
|
|
93
|
+
program
|
|
94
|
+
.command("receive <name>")
|
|
95
|
+
.description("Show live agent activity")
|
|
96
|
+
.action(async (name) => {
|
|
97
|
+
let interrupted = false;
|
|
98
|
+
await withClient(async (client) => {
|
|
99
|
+
const onInterrupt = () => {
|
|
100
|
+
interrupted = true;
|
|
101
|
+
void client.close();
|
|
102
|
+
};
|
|
103
|
+
process.once("SIGINT", onInterrupt);
|
|
104
|
+
try {
|
|
105
|
+
for await (const event of (await client.get(name)).receive())
|
|
106
|
+
printEvent(event);
|
|
107
|
+
}
|
|
108
|
+
finally {
|
|
109
|
+
process.off("SIGINT", onInterrupt);
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
if (interrupted)
|
|
113
|
+
process.exitCode = 130;
|
|
114
|
+
});
|
|
69
115
|
program
|
|
70
116
|
.command("status <name>")
|
|
71
117
|
.description("Show an agent's current state")
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elpapi42/pi-fleet-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "CLI for durable, host-local Pi agents",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
"README.md"
|
|
21
21
|
],
|
|
22
22
|
"scripts": {
|
|
23
|
-
"build": "tsc --project tsconfig.json",
|
|
23
|
+
"build": "rm -rf dist && tsc --project tsconfig.json",
|
|
24
24
|
"test": "node --test test/*.test.mjs"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@elpapi42/pi-fleet-sdk": "0.
|
|
27
|
+
"@elpapi42/pi-fleet-sdk": "0.5.1",
|
|
28
28
|
"commander": "15.0.0"
|
|
29
29
|
}
|
|
30
30
|
}
|