@elpapi42/pi-fleet-cli 0.1.0 → 0.2.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 +8 -3
- package/dist/main.d.ts +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +56 -11
- package/dist/main.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
# @elpapi42/pi-fleet-cli
|
|
2
2
|
|
|
3
|
-
The
|
|
3
|
+
The `pif` command creates and discovers durable, host-local Pi agents.
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
6
|
npm install --global @elpapi42/pi-fleet-cli
|
|
7
|
-
pif --help
|
|
8
7
|
```
|
|
9
8
|
|
|
10
|
-
|
|
9
|
+
```bash
|
|
10
|
+
pif create researcher --cwd "$PWD"
|
|
11
|
+
pif list
|
|
12
|
+
pif status researcher
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Commands emit compact JSONL. Slice 1 supports Unix-like hosts with ZeroMQ `ipc://` support. It provides `create`, `list`, and `status`. Sending work, event streaming, recovery, retirement, compact, and destroy come in later slices.
|
package/dist/main.d.ts
CHANGED
package/dist/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":""}
|
package/dist/main.js
CHANGED
|
@@ -1,18 +1,63 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { version } from "@elpapi42/pi-fleet-sdk";
|
|
2
|
+
import { connectPiFleet, version } from "@elpapi42/pi-fleet-sdk";
|
|
3
3
|
const usage = `pi-fleet CLI ${version}
|
|
4
4
|
|
|
5
5
|
Usage:
|
|
6
|
-
pif --
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
pif create NAME [INSTRUCTIONS] [--cwd PATH] [-- PI_ARGS...]
|
|
7
|
+
pif status NAME
|
|
8
|
+
pif list
|
|
9
|
+
pif --help`;
|
|
10
|
+
async function main(args) {
|
|
11
|
+
if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
|
|
12
|
+
console.log(usage);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const client = await connectPiFleet();
|
|
16
|
+
try {
|
|
17
|
+
switch (args[0]) {
|
|
18
|
+
case "create": {
|
|
19
|
+
const [name, ...remaining] = args.slice(1);
|
|
20
|
+
if (!name)
|
|
21
|
+
throw new Error("Usage: pif create NAME [INSTRUCTIONS] [--cwd PATH] [-- PI_ARGS...]");
|
|
22
|
+
const instructions = remaining[0] && !remaining[0].startsWith("--") ? remaining.shift() : undefined;
|
|
23
|
+
const separator = remaining.indexOf("--");
|
|
24
|
+
const options = separator < 0 ? remaining : remaining.slice(0, separator);
|
|
25
|
+
const piArgs = separator < 0 ? [] : remaining.slice(separator + 1);
|
|
26
|
+
const cwdIndex = options.indexOf("--cwd");
|
|
27
|
+
if (cwdIndex >= 0 && (cwdIndex + 1 >= options.length || options.length !== 2)) {
|
|
28
|
+
throw new Error("Usage: pif create NAME [INSTRUCTIONS] [--cwd PATH] [-- PI_ARGS...]");
|
|
29
|
+
}
|
|
30
|
+
if (cwdIndex < 0 && options.length !== 0)
|
|
31
|
+
throw new Error("Usage: pif create NAME [INSTRUCTIONS] [--cwd PATH] [-- PI_ARGS...]");
|
|
32
|
+
const cwd = cwdIndex < 0 ? process.cwd() : options[cwdIndex + 1];
|
|
33
|
+
const agent = await client.create({ name, instructions, cwd, piArgs });
|
|
34
|
+
console.log(JSON.stringify({ id: agent.id, name: agent.name }));
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
case "status": {
|
|
38
|
+
const name = args[1];
|
|
39
|
+
if (!name || args.length !== 2)
|
|
40
|
+
throw new Error("Usage: pif status NAME");
|
|
41
|
+
console.log(JSON.stringify(await (await client.get(name)).status()));
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
case "list":
|
|
45
|
+
if (args.length !== 1)
|
|
46
|
+
throw new Error("Usage: pif list");
|
|
47
|
+
for (const agent of await client.list())
|
|
48
|
+
console.log(JSON.stringify(agent));
|
|
49
|
+
return;
|
|
50
|
+
default:
|
|
51
|
+
throw new Error(`Unknown command: ${args[0]}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
finally {
|
|
55
|
+
await client.close();
|
|
13
56
|
}
|
|
14
|
-
process.stderr.write(`Unknown argument: ${args[0]}\nRun pif --help for usage.\n`);
|
|
15
|
-
return 1;
|
|
16
57
|
}
|
|
17
|
-
|
|
58
|
+
void main(process.argv.slice(2)).catch((error) => {
|
|
59
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
60
|
+
process.stderr.write(`${JSON.stringify({ error: message })}\n`);
|
|
61
|
+
process.exitCode = 1;
|
|
62
|
+
});
|
|
18
63
|
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";
|
|
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.2.0",
|
|
4
4
|
"description": "CLI for durable, host-local Pi agents",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -24,6 +24,6 @@
|
|
|
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.2.0"
|
|
28
28
|
}
|
|
29
29
|
}
|