@elpapi42/pi-fleet-cli 0.0.0-bootstrap.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 CHANGED
@@ -1,3 +1,15 @@
1
1
  # @elpapi42/pi-fleet-cli
2
2
 
3
- Bootstrap publication. Install a supported release instead.
3
+ The `pif` command creates and discovers durable, host-local Pi agents.
4
+
5
+ ```bash
6
+ npm install --global @elpapi42/pi-fleet-cli
7
+ ```
8
+
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 ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":""}
package/dist/main.js ADDED
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env node
2
+ import { connectPiFleet, version } from "@elpapi42/pi-fleet-sdk";
3
+ const usage = `pi-fleet CLI ${version}
4
+
5
+ Usage:
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();
56
+ }
57
+ }
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
+ });
63
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,29 @@
1
1
  {
2
2
  "name": "@elpapi42/pi-fleet-cli",
3
- "version": "0.0.0-bootstrap.0",
4
- "description": "Bootstrap package for the pi-fleet CLI",
3
+ "version": "0.2.0",
4
+ "description": "CLI for durable, host-local Pi agents",
5
5
  "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/elpapi42/pi-fleet-v2.git",
9
+ "directory": "packages/cli"
10
+ },
6
11
  "type": "module",
7
- "files": ["index.js", "README.md"]
12
+ "engines": {
13
+ "node": ">=22"
14
+ },
15
+ "bin": {
16
+ "pif": "./dist/main.js"
17
+ },
18
+ "files": [
19
+ "dist",
20
+ "README.md"
21
+ ],
22
+ "scripts": {
23
+ "build": "tsc --project tsconfig.json",
24
+ "test": "node --test test/*.test.mjs"
25
+ },
26
+ "dependencies": {
27
+ "@elpapi42/pi-fleet-sdk": "0.2.0"
28
+ }
8
29
  }
package/index.js DELETED
@@ -1 +0,0 @@
1
- export {}