@agent-api/cli 0.0.1 → 0.1.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 +11 -0
- package/dist/index.js +20 -2
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.js +1 -1
- package/dist/tui/chat.d.ts +1 -5
- package/dist/tui/chat.js +1 -1276
- package/dist/tui/ink/app.d.ts +5 -0
- package/dist/tui/ink/app.js +308 -0
- package/dist/tui/ink/components.d.ts +10 -0
- package/dist/tui/ink/components.js +20 -0
- package/dist/tui/workbench.d.ts +30 -0
- package/dist/tui/workbench.js +101 -0
- package/dist/workbench/auth-controller.d.ts +43 -0
- package/dist/workbench/auth-controller.js +84 -0
- package/dist/workbench/auth-gate-controller.d.ts +62 -0
- package/dist/workbench/auth-gate-controller.js +231 -0
- package/dist/workbench/command-controller.d.ts +29 -0
- package/dist/workbench/command-controller.js +371 -0
- package/dist/workbench/conversation-controller.d.ts +32 -0
- package/dist/workbench/conversation-controller.js +53 -0
- package/dist/workbench/engine.d.ts +66 -0
- package/dist/workbench/engine.js +291 -0
- package/dist/workbench/input-controller.d.ts +44 -0
- package/dist/workbench/input-controller.js +71 -0
- package/dist/workbench/lifecycle-controller.d.ts +29 -0
- package/dist/workbench/lifecycle-controller.js +75 -0
- package/dist/workbench/local-controller.d.ts +19 -0
- package/dist/workbench/local-controller.js +89 -0
- package/dist/workbench/render-model.d.ts +46 -0
- package/dist/workbench/render-model.js +61 -0
- package/dist/workbench/runtime-controller.d.ts +12 -0
- package/dist/workbench/runtime-controller.js +57 -0
- package/dist/workbench/session.d.ts +27 -0
- package/dist/workbench/session.js +40 -0
- package/dist/workbench/settings-controller.d.ts +52 -0
- package/dist/workbench/settings-controller.js +120 -0
- package/dist/workbench/turn-controller.d.ts +25 -0
- package/dist/workbench/turn-controller.js +162 -0
- package/dist/workbench/view-model.d.ts +34 -0
- package/dist/workbench/view-model.js +121 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -73,6 +73,17 @@ Launch the first-class TUI from your current directory:
|
|
|
73
73
|
agent-tui
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
+
Open a specific local workdir and expose local tools to the agent:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
agent-tui .
|
|
80
|
+
agent-tui ./my-workdir
|
|
81
|
+
agent-tui /absolute/path/to/my-workdir
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
The workdir argument must point to an existing directory. When provided, the
|
|
85
|
+
workbench automatically turns on local workdir and shell tools in approval mode.
|
|
86
|
+
|
|
76
87
|
The workbench opens with auth as the first gate. If the active profile is valid,
|
|
77
88
|
it enters the conversation UI automatically. If not, it shows an in-terminal
|
|
78
89
|
auth picker for browser session or API key login.
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command, Option } from "commander";
|
|
3
|
+
import { stat } from "node:fs/promises";
|
|
4
|
+
import { resolve } from "node:path";
|
|
3
5
|
import { render } from "ink";
|
|
4
6
|
import React from "react";
|
|
5
7
|
import { conversationSummary, deleteConversation, getConversation, listConversations, runAgent } from "./agent.js";
|
|
@@ -15,15 +17,17 @@ program
|
|
|
15
17
|
.alias("agentsway")
|
|
16
18
|
.alias("agent-tui")
|
|
17
19
|
.description("First-class command line interface for Agent API")
|
|
20
|
+
.argument("[workdir]", "local workdir to open and expose to the agent")
|
|
18
21
|
.version(cliVersion)
|
|
19
22
|
.showHelpAfterError()
|
|
20
23
|
.showSuggestionAfterError();
|
|
21
|
-
program.action(async () => {
|
|
24
|
+
program.action(async (workdir) => {
|
|
25
|
+
const launchWorkdir = workdir ? await validateLaunchWorkdir(workdir) : undefined;
|
|
22
26
|
if (!process.stdin.isTTY) {
|
|
23
27
|
program.help();
|
|
24
28
|
return;
|
|
25
29
|
}
|
|
26
|
-
const options = normalizeChatOptions([], {});
|
|
30
|
+
const options = normalizeChatOptions([], launchWorkdir ? { workdir: launchWorkdir } : {});
|
|
27
31
|
const app = render(React.createElement(ChatApp, { options }));
|
|
28
32
|
await app.waitUntilExit();
|
|
29
33
|
});
|
|
@@ -306,3 +310,17 @@ function optionalNumber(value, label) {
|
|
|
306
310
|
throw new Error(`${label} must be a number`);
|
|
307
311
|
return parsed;
|
|
308
312
|
}
|
|
313
|
+
async function validateLaunchWorkdir(path) {
|
|
314
|
+
const resolved = resolve(path);
|
|
315
|
+
let info;
|
|
316
|
+
try {
|
|
317
|
+
info = await stat(resolved);
|
|
318
|
+
}
|
|
319
|
+
catch {
|
|
320
|
+
throw new Error(`Workdir does not exist: ${path}`);
|
|
321
|
+
}
|
|
322
|
+
if (!info.isDirectory()) {
|
|
323
|
+
throw new Error(`Workdir is not a directory: ${path}`);
|
|
324
|
+
}
|
|
325
|
+
return resolved;
|
|
326
|
+
}
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const cliName = "agent-api-cli";
|
|
2
2
|
export declare const cliAuthor = "AgentsWay";
|
|
3
|
-
export declare const cliVersion = "0.0
|
|
3
|
+
export declare const cliVersion = "0.1.0";
|
|
4
4
|
export declare const runtime: import("@agent-api/sdk/local").LocalRuntime;
|
|
5
5
|
export declare function ensureRuntime(): Promise<import("@agent-api/sdk/local").LocalRuntime>;
|
package/dist/runtime/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createLocalRuntime } from "@agent-api/sdk/local";
|
|
2
2
|
export const cliName = "agent-api-cli";
|
|
3
3
|
export const cliAuthor = "AgentsWay";
|
|
4
|
-
export const cliVersion = "0.0
|
|
4
|
+
export const cliVersion = "0.1.0";
|
|
5
5
|
export const runtime = createLocalRuntime({
|
|
6
6
|
appName: cliName,
|
|
7
7
|
appAuthor: cliAuthor,
|
package/dist/tui/chat.d.ts
CHANGED