@mono-agent/tui 0.3.0 → 0.4.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 +60 -10
- package/dist/bin/cli.d.ts +4 -1
- package/dist/bin/cli.d.ts.map +1 -1
- package/dist/bin/cli.js +36 -53
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/mono-agent-tui.js +21 -10
- package/dist/bin/mono-agent-tui.js.map +1 -1
- package/dist/config/pane.d.ts +10 -11
- package/dist/config/pane.d.ts.map +1 -1
- package/dist/config/pane.js +16 -198
- package/dist/config/pane.js.map +1 -1
- package/dist/data/instances.d.ts +48 -0
- package/dist/data/instances.d.ts.map +1 -0
- package/dist/data/instances.js +101 -0
- package/dist/data/instances.js.map +1 -0
- package/dist/data/replay.d.ts +68 -0
- package/dist/data/replay.d.ts.map +1 -0
- package/dist/data/replay.js +149 -0
- package/dist/data/replay.js.map +1 -0
- package/dist/index.d.ts +10 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/remote/client.d.ts +44 -0
- package/dist/remote/client.d.ts.map +1 -0
- package/dist/remote/client.js +173 -0
- package/dist/remote/client.js.map +1 -0
- package/dist/runtime/start.d.ts +11 -18
- package/dist/runtime/start.d.ts.map +1 -1
- package/dist/runtime/start.js +19 -33
- package/dist/runtime/start.js.map +1 -1
- package/dist/ui/app.d.ts +142 -0
- package/dist/ui/app.d.ts.map +1 -0
- package/dist/ui/app.js +586 -0
- package/dist/ui/app.js.map +1 -0
- package/dist/ui/components/event-list.d.ts +60 -0
- package/dist/ui/components/event-list.d.ts.map +1 -0
- package/dist/ui/components/event-list.js +369 -0
- package/dist/ui/components/event-list.js.map +1 -0
- package/dist/ui/components/status-bar.d.ts +65 -0
- package/dist/ui/components/status-bar.d.ts.map +1 -0
- package/dist/ui/components/status-bar.js +126 -0
- package/dist/ui/components/status-bar.js.map +1 -0
- package/dist/ui/components/tool-panel.d.ts +30 -0
- package/dist/ui/components/tool-panel.d.ts.map +1 -0
- package/dist/ui/components/tool-panel.js +59 -0
- package/dist/ui/components/tool-panel.js.map +1 -0
- package/dist/ui/components/transcript-cells.d.ts +49 -0
- package/dist/ui/components/transcript-cells.d.ts.map +1 -0
- package/dist/ui/components/transcript-cells.js +110 -0
- package/dist/ui/components/transcript-cells.js.map +1 -0
- package/dist/ui/format.d.ts +29 -0
- package/dist/ui/format.d.ts.map +1 -0
- package/dist/ui/format.js +105 -0
- package/dist/ui/format.js.map +1 -0
- package/dist/ui/theme.d.ts +25 -0
- package/dist/ui/theme.d.ts.map +1 -0
- package/dist/ui/theme.js +62 -0
- package/dist/ui/theme.js.map +1 -0
- package/dist/ui/turn-presenter.d.ts +72 -0
- package/dist/ui/turn-presenter.d.ts.map +1 -0
- package/dist/ui/turn-presenter.js +334 -0
- package/dist/ui/turn-presenter.js.map +1 -0
- package/dist/ui/views/chat.d.ts +128 -0
- package/dist/ui/views/chat.d.ts.map +1 -0
- package/dist/ui/views/chat.js +313 -0
- package/dist/ui/views/chat.js.map +1 -0
- package/dist/ui/views/config.d.ts +23 -0
- package/dist/ui/views/config.d.ts.map +1 -0
- package/dist/ui/views/config.js +87 -0
- package/dist/ui/views/config.js.map +1 -0
- package/dist/ui/views/picker.d.ts +17 -0
- package/dist/ui/views/picker.d.ts.map +1 -0
- package/dist/ui/views/picker.js +57 -0
- package/dist/ui/views/picker.js.map +1 -0
- package/dist/ui/views/replay-detail.d.ts +60 -0
- package/dist/ui/views/replay-detail.d.ts.map +1 -0
- package/dist/ui/views/replay-detail.js +328 -0
- package/dist/ui/views/replay-detail.js.map +1 -0
- package/dist/ui/views/replay.d.ts +74 -0
- package/dist/ui/views/replay.d.ts.map +1 -0
- package/dist/ui/views/replay.js +460 -0
- package/dist/ui/views/replay.js.map +1 -0
- package/package.json +9 -12
- package/dist/agent/message-stream.d.ts +0 -52
- package/dist/agent/message-stream.d.ts.map +0 -1
- package/dist/agent/message-stream.js +0 -110
- package/dist/agent/message-stream.js.map +0 -1
- package/dist/components/ChatPane.d.ts +0 -20
- package/dist/components/ChatPane.d.ts.map +0 -1
- package/dist/components/ChatPane.js +0 -142
- package/dist/components/ChatPane.js.map +0 -1
- package/dist/components/ConfigPane.d.ts +0 -12
- package/dist/components/ConfigPane.d.ts.map +0 -1
- package/dist/components/ConfigPane.js +0 -70
- package/dist/components/ConfigPane.js.map +0 -1
- package/dist/components/HelpOverlay.d.ts +0 -6
- package/dist/components/HelpOverlay.d.ts.map +0 -1
- package/dist/components/HelpOverlay.js +0 -18
- package/dist/components/HelpOverlay.js.map +0 -1
- package/dist/components/HistoryPane.d.ts +0 -9
- package/dist/components/HistoryPane.d.ts.map +0 -1
- package/dist/components/HistoryPane.js +0 -125
- package/dist/components/HistoryPane.js.map +0 -1
- package/dist/components/StatusBar.d.ts +0 -10
- package/dist/components/StatusBar.d.ts.map +0 -1
- package/dist/components/StatusBar.js +0 -15
- package/dist/components/StatusBar.js.map +0 -1
- package/dist/components/TuiApp.d.ts +0 -29
- package/dist/components/TuiApp.d.ts.map +0 -1
- package/dist/components/TuiApp.js +0 -81
- package/dist/components/TuiApp.js.map +0 -1
- package/dist/components/primitives/Badge.d.ts +0 -8
- package/dist/components/primitives/Badge.d.ts.map +0 -1
- package/dist/components/primitives/Badge.js +0 -14
- package/dist/components/primitives/Badge.js.map +0 -1
- package/dist/components/primitives/Spinner.d.ts +0 -6
- package/dist/components/primitives/Spinner.d.ts.map +0 -1
- package/dist/components/primitives/Spinner.js +0 -8
- package/dist/components/primitives/Spinner.js.map +0 -1
- package/dist/components/primitives/TranscriptLine.d.ts +0 -10
- package/dist/components/primitives/TranscriptLine.d.ts.map +0 -1
- package/dist/components/primitives/TranscriptLine.js +0 -15
- package/dist/components/primitives/TranscriptLine.js.map +0 -1
package/README.md
CHANGED
|
@@ -6,36 +6,86 @@ Category: `operator-surface`
|
|
|
6
6
|
|
|
7
7
|
## Responsibility
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
pi-tui operator console for mono-agent: live chat with **full insight into the
|
|
10
|
+
agent's thinking process** — reasoning blocks, tool calls with
|
|
11
|
+
arguments/progress/results/timing, token usage, cost, provider lifecycle and
|
|
12
|
+
failover — plus recorded-run replay and a read-only source-annotated config
|
|
13
|
+
view. Built on `@earendil-works/pi-tui` differential rendering (no React/Ink).
|
|
14
|
+
|
|
15
|
+
It connects to agents two ways:
|
|
16
|
+
|
|
17
|
+
- **Remote (primary)**: `mono-agent tui` from any directory discovers running
|
|
18
|
+
agents via the trace-source registry (`~/.mono-agent/trace-sources`) and
|
|
19
|
+
chats over the agent's `tui` channel (NDJSON stream served by
|
|
20
|
+
`@mono-agent/operator-adapter`). One running agent connects directly; several
|
|
21
|
+
open a picker.
|
|
22
|
+
- **In-process (embedded)**: hosts pass an `AgentResponder` to
|
|
23
|
+
`startMonoAgentTui({ responder, … })`, or
|
|
24
|
+
run the `mono-agent-tui` bin with `--responder <module>`.
|
|
10
25
|
|
|
11
26
|
## Install / Usage
|
|
12
27
|
|
|
13
28
|
```bash
|
|
14
29
|
pnpm --filter @mono-agent/tui run build
|
|
15
|
-
mono-agent-tui --help
|
|
16
30
|
```
|
|
17
31
|
|
|
18
32
|
```ts
|
|
19
33
|
import { startMonoAgentTui } from "@mono-agent/tui";
|
|
34
|
+
|
|
35
|
+
// Embedded host:
|
|
36
|
+
const handle = startMonoAgentTui({ responder, title: "My Agent", conversationId: "local" });
|
|
37
|
+
await handle.waitUntilExit();
|
|
38
|
+
|
|
39
|
+
// Remote client:
|
|
40
|
+
startMonoAgentTui({ connection: { baseUrl: "http://127.0.0.1:52341/tui" } });
|
|
41
|
+
|
|
42
|
+
// Discovery (agent picker):
|
|
43
|
+
startMonoAgentTui({ discovery: {} });
|
|
20
44
|
```
|
|
21
45
|
|
|
22
|
-
|
|
46
|
+
Exactly one of `responder` | `connection` | `discovery` is required. Replay
|
|
47
|
+
and config views activate when `instance`/`config` provide the agent's
|
|
48
|
+
`artifactDir`/`configPath` (both are read directly from disk — the manifest
|
|
49
|
+
carries the paths).
|
|
50
|
+
|
|
51
|
+
## Views & keys
|
|
52
|
+
|
|
53
|
+
| View | Content |
|
|
54
|
+
| --- | --- |
|
|
55
|
+
| chat | Streaming markdown answer, collapsed thinking cells (`ctrl+t` expands), tool panels (pending → success/error with args/progress/result/duration), warnings/failover notices, status bar (model · tokens · cost · hints). |
|
|
56
|
+
| replay | Recorded runs from the agent's artifact dir; open any run for its full coalesced event timeline (any channel's turns, nothing dropped). |
|
|
57
|
+
| config | Redacted, source-annotated resolved config (same builder as `mono-agent config`). |
|
|
58
|
+
| agents | Running-instance picker over the trace-source registry. |
|
|
59
|
+
|
|
60
|
+
Keys: `f2..f5` switch views (`tab` cycles outside chat) · `esc` cancels the
|
|
61
|
+
in-flight turn / goes back · `ctrl+t` thinking · `ctrl+c ×2` quits. Slash
|
|
62
|
+
commands: `/help /agents /replay /config /cancel /thinking /quit`.
|
|
23
63
|
|
|
24
64
|
## Public API
|
|
25
65
|
|
|
26
|
-
- `startMonoAgentTui`
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
66
|
+
- `startMonoAgentTui`, `MonoAgentTuiApp`
|
|
67
|
+
- `RemoteAgentResponder` (AgentResponder over the operator-adapter TUI NDJSON wire)
|
|
68
|
+
- `discoverInstances` / `resolveInstanceApiKey` / `defaultTraceRegistryDir`
|
|
69
|
+
- `listReplayRuns` / `readReplayRun`
|
|
70
|
+
- `TurnPresenter` (AgentMessageStream → transcript cells)
|
|
71
|
+
- `createInMemoryTuiHistory`, `buildTuiConfigSummary`, cancelled-error helpers
|
|
31
72
|
|
|
32
73
|
## Dependency Boundary
|
|
33
74
|
|
|
34
|
-
|
|
75
|
+
Depends on `@earendil-works/pi-tui` plus `@mono-agent/agent-contracts`,
|
|
76
|
+
`@mono-agent/config`, and `@mono-agent/observability` (replay + discovery
|
|
77
|
+
readers). It must not depend on the agent harness, runtime adapter, memory,
|
|
78
|
+
communication adapters (`@mono-agent/operator-adapter` is a **dev**-only dependency
|
|
79
|
+
for wire round-trip tests — the runtime client speaks the shared
|
|
80
|
+
`stream-wire` contract from agent-contracts), or host/demo code.
|
|
35
81
|
|
|
36
82
|
## What This Package Does Not Own
|
|
37
83
|
|
|
38
|
-
It does not
|
|
84
|
+
It does not boot a harness, run models, persist conversations (its history
|
|
85
|
+
store is display-only), serve the stream endpoint (that is
|
|
86
|
+
`@mono-agent/operator-adapter`), write run artifacts, or register agents in the
|
|
87
|
+
trace-source registry. Editing config is out of scope — the config view is
|
|
88
|
+
read-only.
|
|
39
89
|
|
|
40
90
|
## Verification
|
|
41
91
|
|
package/dist/bin/cli.d.ts
CHANGED
|
@@ -4,6 +4,9 @@ export interface ParsedArgs {
|
|
|
4
4
|
readonly config?: string;
|
|
5
5
|
readonly title?: string;
|
|
6
6
|
readonly conversationId?: string;
|
|
7
|
+
readonly url?: string;
|
|
8
|
+
readonly apiKey?: string;
|
|
9
|
+
readonly registryDir?: string;
|
|
7
10
|
readonly help: boolean;
|
|
8
11
|
}
|
|
9
12
|
export type ParseArgsResult = ParsedArgs | {
|
|
@@ -14,7 +17,7 @@ export type ParseArgsResult = ParsedArgs | {
|
|
|
14
17
|
* Pure and side-effect free so it can be unit-tested without booting the CLI.
|
|
15
18
|
*/
|
|
16
19
|
export declare function parseArgs(argv: readonly string[]): ParseArgsResult;
|
|
17
|
-
export declare const HELP_TEXT = "Usage: mono-agent-tui [options]\n\n --responder <file> Path to an ESM module that default-exports an\n AgentResponderLike, or exports\n createResponder(env, cwd, configJson).\n --config <path> Path to mono-agent.config.json.
|
|
20
|
+
export declare const HELP_TEXT = "Usage: mono-agent-tui [options]\n\nConnection (exactly one):\n --responder <file> Path to an ESM module that default-exports an\n AgentResponderLike, or exports\n createResponder(env, cwd, configJson). In-process mode.\n --url <baseUrl> Connect to a running agent's tui endpoint\n (e.g. http://127.0.0.1:52341/tui).\n (neither) Discover running agents from the trace-source\n registry and open on the picker.\n\nOptions:\n --api-key <key> Bearer key for --url when the agent sets tui.apiKey.\n --registry-dir <dir> Trace-source registry directory (default:\n ~/.mono-agent/trace-sources).\n --config <path> Path to mono-agent.config.json. Enables the Config\n view and is forwarded to createResponder().\n --conversation <id> Conversation id (default: tui-local).\n --title <text> Header title (default: \"mono-agent\").\n -h, --help Show this help and exit.\n\nPrefer `mono-agent tui` (from @mono-agent/agent-app): it resolves running\nagents, endpoints, and keys automatically. This bin is the low-level surface\nfor custom hosts.\n";
|
|
18
21
|
export declare function exitWithError(message: string): never;
|
|
19
22
|
/**
|
|
20
23
|
* Resolve and import an `AgentResponderLike` from a host-supplied module.
|
package/dist/bin/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAYtE;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe,CA4BlE;AAED,eAAO,MAAM,SAAS,svCAwBrB,CAAC;AAEF,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAIpD;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAgC7B"}
|
package/dist/bin/cli.js
CHANGED
|
@@ -1,86 +1,69 @@
|
|
|
1
1
|
import { existsSync } from "node:fs";
|
|
2
2
|
import { resolve } from "node:path";
|
|
3
3
|
import { pathToFileURL } from "node:url";
|
|
4
|
+
const VALUE_FLAGS = {
|
|
5
|
+
"--responder": "responder",
|
|
6
|
+
"--config": "config",
|
|
7
|
+
"--title": "title",
|
|
8
|
+
"--conversation": "conversationId",
|
|
9
|
+
"--url": "url",
|
|
10
|
+
"--api-key": "apiKey",
|
|
11
|
+
"--registry-dir": "registryDir",
|
|
12
|
+
};
|
|
4
13
|
/**
|
|
5
14
|
* Parse the `mono-agent-tui` argv (already stripped of `node` + script path).
|
|
6
15
|
* Pure and side-effect free so it can be unit-tested without booting the CLI.
|
|
7
16
|
*/
|
|
8
17
|
export function parseArgs(argv) {
|
|
9
18
|
let help = false;
|
|
10
|
-
|
|
11
|
-
let config;
|
|
12
|
-
let title;
|
|
13
|
-
let conversationId;
|
|
19
|
+
const values = {};
|
|
14
20
|
for (let i = 0; i < argv.length; i++) {
|
|
15
21
|
const flag = argv[i];
|
|
16
22
|
if (flag === "-h" || flag === "--help") {
|
|
17
23
|
help = true;
|
|
18
24
|
continue;
|
|
19
25
|
}
|
|
20
|
-
|
|
26
|
+
const key = flag === undefined ? undefined : VALUE_FLAGS[flag];
|
|
27
|
+
if (key !== undefined) {
|
|
21
28
|
const value = argv[i + 1];
|
|
22
29
|
if (value === undefined) {
|
|
23
|
-
return { error:
|
|
30
|
+
return { error: `${flag} requires a value` };
|
|
24
31
|
}
|
|
25
|
-
|
|
26
|
-
i++;
|
|
27
|
-
continue;
|
|
28
|
-
}
|
|
29
|
-
if (flag === "--config") {
|
|
30
|
-
const value = argv[i + 1];
|
|
31
|
-
if (value === undefined) {
|
|
32
|
-
return { error: "--config requires a path" };
|
|
33
|
-
}
|
|
34
|
-
config = value;
|
|
35
|
-
i++;
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
if (flag === "--title") {
|
|
39
|
-
const value = argv[i + 1];
|
|
40
|
-
if (value === undefined) {
|
|
41
|
-
return { error: "--title requires a value" };
|
|
42
|
-
}
|
|
43
|
-
title = value;
|
|
44
|
-
i++;
|
|
45
|
-
continue;
|
|
46
|
-
}
|
|
47
|
-
if (flag === "--conversation") {
|
|
48
|
-
const value = argv[i + 1];
|
|
49
|
-
if (value === undefined) {
|
|
50
|
-
return { error: "--conversation requires a value" };
|
|
51
|
-
}
|
|
52
|
-
conversationId = value;
|
|
32
|
+
values[key] = value;
|
|
53
33
|
i++;
|
|
54
34
|
continue;
|
|
55
35
|
}
|
|
56
36
|
return { error: `unknown argument: ${String(flag)}` };
|
|
57
37
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
...(title === undefined ? {} : { title }),
|
|
63
|
-
...(conversationId === undefined ? {} : { conversationId }),
|
|
64
|
-
};
|
|
65
|
-
return result;
|
|
38
|
+
if (values.responder !== undefined && values.url !== undefined) {
|
|
39
|
+
return { error: "--responder and --url are mutually exclusive" };
|
|
40
|
+
}
|
|
41
|
+
return { help, ...values };
|
|
66
42
|
}
|
|
67
43
|
export const HELP_TEXT = `Usage: mono-agent-tui [options]
|
|
68
44
|
|
|
45
|
+
Connection (exactly one):
|
|
69
46
|
--responder <file> Path to an ESM module that default-exports an
|
|
70
47
|
AgentResponderLike, or exports
|
|
71
|
-
createResponder(env, cwd, configJson).
|
|
72
|
-
--
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
48
|
+
createResponder(env, cwd, configJson). In-process mode.
|
|
49
|
+
--url <baseUrl> Connect to a running agent's tui endpoint
|
|
50
|
+
(e.g. http://127.0.0.1:52341/tui).
|
|
51
|
+
(neither) Discover running agents from the trace-source
|
|
52
|
+
registry and open on the picker.
|
|
53
|
+
|
|
54
|
+
Options:
|
|
55
|
+
--api-key <key> Bearer key for --url when the agent sets tui.apiKey.
|
|
56
|
+
--registry-dir <dir> Trace-source registry directory (default:
|
|
57
|
+
~/.mono-agent/trace-sources).
|
|
58
|
+
--config <path> Path to mono-agent.config.json. Enables the Config
|
|
59
|
+
view and is forwarded to createResponder().
|
|
60
|
+
--conversation <id> Conversation id (default: tui-local).
|
|
61
|
+
--title <text> Header title (default: "mono-agent").
|
|
78
62
|
-h, --help Show this help and exit.
|
|
79
63
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
backed by createAgentResponder({ harness }).
|
|
64
|
+
Prefer \`mono-agent tui\` (from @mono-agent/agent-app): it resolves running
|
|
65
|
+
agents, endpoints, and keys automatically. This bin is the low-level surface
|
|
66
|
+
for custom hosts.
|
|
84
67
|
`;
|
|
85
68
|
export function exitWithError(message) {
|
|
86
69
|
process.stderr.write(`mono-agent-tui: ${message}\n`);
|
package/dist/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,23 +11,34 @@ async function main() {
|
|
|
11
11
|
process.stdout.write(HELP_TEXT);
|
|
12
12
|
process.exit(0);
|
|
13
13
|
}
|
|
14
|
-
if (parsed.responder === undefined) {
|
|
15
|
-
exitWithError("--responder is required (the TUI does not boot a harness on its own)");
|
|
16
|
-
}
|
|
17
14
|
if (process.stdin.isTTY !== true) {
|
|
18
15
|
exitWithError("stdin is not a TTY; mono-agent-tui needs an interactive terminal");
|
|
19
16
|
}
|
|
20
|
-
const
|
|
21
|
-
const configPane = parsed.config !== undefined
|
|
17
|
+
const config = parsed.config !== undefined
|
|
22
18
|
? { path: resolve(process.cwd(), parsed.config), cwd: process.cwd(), env: { ...process.env } }
|
|
23
19
|
: undefined;
|
|
20
|
+
let mode;
|
|
21
|
+
if (parsed.responder !== undefined) {
|
|
22
|
+
mode = { responder: await loadResponder(parsed.responder, parsed.config) };
|
|
23
|
+
}
|
|
24
|
+
else if (parsed.url !== undefined) {
|
|
25
|
+
mode = {
|
|
26
|
+
connection: {
|
|
27
|
+
baseUrl: parsed.url,
|
|
28
|
+
...(parsed.apiKey === undefined ? {} : { apiKey: parsed.apiKey }),
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
mode = {
|
|
34
|
+
discovery: parsed.registryDir === undefined ? {} : { registryDir: resolve(parsed.registryDir) },
|
|
35
|
+
};
|
|
36
|
+
}
|
|
24
37
|
const handle = startMonoAgentTui({
|
|
25
|
-
|
|
26
|
-
...(
|
|
38
|
+
...mode,
|
|
39
|
+
...(config === undefined ? {} : { config }),
|
|
27
40
|
...(parsed.title === undefined ? {} : { title: parsed.title }),
|
|
28
|
-
...(parsed.conversationId === undefined
|
|
29
|
-
? {}
|
|
30
|
-
: { conversationId: parsed.conversationId }),
|
|
41
|
+
...(parsed.conversationId === undefined ? {} : { conversationId: parsed.conversationId }),
|
|
31
42
|
});
|
|
32
43
|
await handle.waitUntilExit();
|
|
33
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mono-agent-tui.js","sourceRoot":"","sources":["../../src/bin/mono-agent-tui.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE9E,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,
|
|
1
|
+
{"version":3,"file":"mono-agent-tui.js","sourceRoot":"","sources":["../../src/bin/mono-agent-tui.ts"],"names":[],"mappings":"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"}
|
package/dist/config/pane.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { BuildMonoAgentConfigViewInput, ConfigViewFieldSource } from "@mono-agent/config";
|
|
2
|
+
/** Where a resolved config value came from. Re-exported for the Config pane. */
|
|
3
|
+
export type TuiConfigFieldSource = ConfigViewFieldSource;
|
|
3
4
|
export interface TuiConfigFieldSummary {
|
|
4
5
|
readonly label: string;
|
|
5
6
|
readonly value: string;
|
|
@@ -10,16 +11,14 @@ export interface TuiConfigSummarySection {
|
|
|
10
11
|
readonly heading: string;
|
|
11
12
|
readonly fields: readonly TuiConfigFieldSummary[];
|
|
12
13
|
}
|
|
13
|
-
export
|
|
14
|
-
readonly redacted: RedactedMonoAgentConfig;
|
|
15
|
-
readonly json: MonoAgentConfigJson;
|
|
16
|
-
readonly env: Record<string, string | undefined>;
|
|
17
|
-
}
|
|
14
|
+
export type BuildTuiConfigSummaryInput = BuildMonoAgentConfigViewInput;
|
|
18
15
|
/**
|
|
19
|
-
* Build a compact, redacted view of the resolved configuration
|
|
20
|
-
*
|
|
21
|
-
* `@mono-agent/
|
|
22
|
-
*
|
|
16
|
+
* Build a compact, redacted view of the resolved configuration for the TUI's
|
|
17
|
+
* read-only Config pane. Delegates to the single `buildMonoAgentConfigView`
|
|
18
|
+
* builder in `@mono-agent/config` so the pane, the `mono-agent config` command,
|
|
19
|
+
* and the loader can never disagree about what is configured or where each
|
|
20
|
+
* value came from. The pane is read-only — edits are made directly in
|
|
21
|
+
* `mono-agent.config.json` and take effect on the next `mono-agent restart`.
|
|
23
22
|
*/
|
|
24
23
|
export declare function buildTuiConfigSummary(input: BuildTuiConfigSummaryInput): readonly TuiConfigSummarySection[];
|
|
25
24
|
//# sourceMappingURL=pane.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pane.d.ts","sourceRoot":"","sources":["../../src/config/pane.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pane.d.ts","sourceRoot":"","sources":["../../src/config/pane.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,6BAA6B,EAC7B,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAE5B,gFAAgF;AAChF,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAEzD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACnD;AAED,MAAM,MAAM,0BAA0B,GAAG,6BAA6B,CAAC;AAEvE;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,0BAA0B,GAChC,SAAS,uBAAuB,EAAE,CAUpC"}
|
package/dist/config/pane.js
CHANGED
|
@@ -1,203 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
runtimeModel: "MONO_AGENT_MODEL",
|
|
3
|
-
runtimeExecutionMode: "MONO_AGENT_EXECUTION_MODE",
|
|
4
|
-
runtimeEffort: "MONO_AGENT_EFFORT",
|
|
5
|
-
runtimeMaxTurns: "MONO_AGENT_MAX_TURNS",
|
|
6
|
-
runtimeWorkspace: "MONO_AGENT_WORKSPACE",
|
|
7
|
-
contextIdentity: "MONO_AGENT_IDENTITY_PATH",
|
|
8
|
-
contextSoul: "MONO_AGENT_SOUL_PATH",
|
|
9
|
-
contextSkillsRoot: "MONO_AGENT_SKILLS_ROOT",
|
|
10
|
-
contextSelectedSkills: "MONO_AGENT_SELECTED_SKILLS",
|
|
11
|
-
memoryPath: "MONO_AGENT_MEMORY_PATH",
|
|
12
|
-
memoryMaxBytes: "MONO_AGENT_MEMORY_MAX_BYTES",
|
|
13
|
-
memoryWriteMode: "MONO_AGENT_MEMORY_WRITE_MODE",
|
|
14
|
-
toolsAllowed: "MONO_AGENT_ALLOWED_TOOLS",
|
|
15
|
-
toolsDisallowed: "MONO_AGENT_DISALLOWED_TOOLS",
|
|
16
|
-
toolsMcpConfigPath: "MONO_AGENT_MCP_CONFIG_PATH",
|
|
17
|
-
artifactsDir: "MONO_AGENT_ARTIFACT_DIR",
|
|
18
|
-
};
|
|
19
|
-
function envHas(env, key) {
|
|
20
|
-
if (key === undefined) {
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
const value = env[key];
|
|
24
|
-
return value !== undefined && value.trim().length > 0;
|
|
25
|
-
}
|
|
26
|
-
function resolveSource(env, spec) {
|
|
27
|
-
if (envHas(env, spec.envKey)) {
|
|
28
|
-
return "env";
|
|
29
|
-
}
|
|
30
|
-
if (spec.jsonPresent) {
|
|
31
|
-
return "json";
|
|
32
|
-
}
|
|
33
|
-
return "default";
|
|
34
|
-
}
|
|
35
|
-
function formatRuntimeModelReference(reference) {
|
|
36
|
-
if (typeof reference === "string") {
|
|
37
|
-
return reference;
|
|
38
|
-
}
|
|
39
|
-
if (reference.reference !== undefined && reference.reference.length > 0) {
|
|
40
|
-
return reference.reference;
|
|
41
|
-
}
|
|
42
|
-
const provider = reference.provider !== undefined ? `${reference.provider}:` : "";
|
|
43
|
-
return `${reference.sdk}:${provider}${reference.model}`;
|
|
44
|
-
}
|
|
45
|
-
function toField(env, spec) {
|
|
46
|
-
return {
|
|
47
|
-
label: spec.label,
|
|
48
|
-
value: spec.value,
|
|
49
|
-
source: resolveSource(env, spec),
|
|
50
|
-
...(spec.redacted === true ? { redacted: true } : {}),
|
|
51
|
-
};
|
|
52
|
-
}
|
|
1
|
+
import { buildMonoAgentConfigView } from "@mono-agent/config";
|
|
53
2
|
/**
|
|
54
|
-
* Build a compact, redacted view of the resolved configuration
|
|
55
|
-
*
|
|
56
|
-
* `@mono-agent/
|
|
57
|
-
*
|
|
3
|
+
* Build a compact, redacted view of the resolved configuration for the TUI's
|
|
4
|
+
* read-only Config pane. Delegates to the single `buildMonoAgentConfigView`
|
|
5
|
+
* builder in `@mono-agent/config` so the pane, the `mono-agent config` command,
|
|
6
|
+
* and the loader can never disagree about what is configured or where each
|
|
7
|
+
* value came from. The pane is read-only — edits are made directly in
|
|
8
|
+
* `mono-agent.config.json` and take effect on the next `mono-agent restart`.
|
|
58
9
|
*/
|
|
59
10
|
export function buildTuiConfigSummary(input) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
value: formatRuntimeModelReference(redacted.runtime.model),
|
|
70
|
-
}),
|
|
71
|
-
toField(env, {
|
|
72
|
-
label: "executionMode",
|
|
73
|
-
envKey: ENV_KEYS.runtimeExecutionMode,
|
|
74
|
-
jsonPresent: json.runtime?.executionMode !== undefined,
|
|
75
|
-
value: redacted.runtime.executionMode,
|
|
76
|
-
}),
|
|
77
|
-
toField(env, {
|
|
78
|
-
label: "effort",
|
|
79
|
-
envKey: ENV_KEYS.runtimeEffort,
|
|
80
|
-
jsonPresent: json.runtime?.effort !== undefined,
|
|
81
|
-
value: redacted.runtime.effort ?? "—",
|
|
82
|
-
}),
|
|
83
|
-
toField(env, {
|
|
84
|
-
label: "maxTurns",
|
|
85
|
-
envKey: ENV_KEYS.runtimeMaxTurns,
|
|
86
|
-
jsonPresent: json.runtime?.maxTurns !== undefined,
|
|
87
|
-
value: redacted.runtime.maxTurns === undefined ? "unlimited" : String(redacted.runtime.maxTurns),
|
|
88
|
-
}),
|
|
89
|
-
toField(env, {
|
|
90
|
-
label: "workspace",
|
|
91
|
-
envKey: ENV_KEYS.runtimeWorkspace,
|
|
92
|
-
jsonPresent: json.runtime?.workspace !== undefined,
|
|
93
|
-
value: redacted.runtime.workspace,
|
|
94
|
-
}),
|
|
95
|
-
],
|
|
96
|
-
});
|
|
97
|
-
sections.push({
|
|
98
|
-
heading: "context",
|
|
99
|
-
fields: [
|
|
100
|
-
toField(env, {
|
|
101
|
-
label: "identityPath",
|
|
102
|
-
envKey: ENV_KEYS.contextIdentity,
|
|
103
|
-
jsonPresent: json.context?.identityPath !== undefined,
|
|
104
|
-
value: redacted.context.identityPath,
|
|
105
|
-
}),
|
|
106
|
-
...(redacted.context.soulPath !== undefined
|
|
107
|
-
? [
|
|
108
|
-
toField(env, {
|
|
109
|
-
label: "soulPath",
|
|
110
|
-
envKey: ENV_KEYS.contextSoul,
|
|
111
|
-
jsonPresent: json.context?.soulPath !== undefined,
|
|
112
|
-
value: redacted.context.soulPath,
|
|
113
|
-
}),
|
|
114
|
-
]
|
|
115
|
-
: []),
|
|
116
|
-
toField(env, {
|
|
117
|
-
label: "skillsRoot",
|
|
118
|
-
envKey: ENV_KEYS.contextSkillsRoot,
|
|
119
|
-
jsonPresent: json.context?.skillsRoot !== undefined,
|
|
120
|
-
value: redacted.context.skillsRoot ?? "—",
|
|
121
|
-
}),
|
|
122
|
-
toField(env, {
|
|
123
|
-
label: "selectedSkills",
|
|
124
|
-
envKey: ENV_KEYS.contextSelectedSkills,
|
|
125
|
-
jsonPresent: json.context?.selectedSkills !== undefined,
|
|
126
|
-
value: String(redacted.context.selectedSkills.length),
|
|
127
|
-
}),
|
|
128
|
-
],
|
|
129
|
-
});
|
|
130
|
-
if (redacted.memory !== undefined) {
|
|
131
|
-
sections.push({
|
|
132
|
-
heading: "memory",
|
|
133
|
-
fields: [
|
|
134
|
-
toField(env, {
|
|
135
|
-
label: "path",
|
|
136
|
-
envKey: ENV_KEYS.memoryPath,
|
|
137
|
-
jsonPresent: json.memory?.path !== undefined,
|
|
138
|
-
value: redacted.memory.path,
|
|
139
|
-
}),
|
|
140
|
-
toField(env, {
|
|
141
|
-
label: "maxBytes",
|
|
142
|
-
envKey: ENV_KEYS.memoryMaxBytes,
|
|
143
|
-
jsonPresent: json.memory?.maxBytes !== undefined,
|
|
144
|
-
value: String(redacted.memory.maxBytes),
|
|
145
|
-
}),
|
|
146
|
-
toField(env, {
|
|
147
|
-
label: "writeMode",
|
|
148
|
-
envKey: ENV_KEYS.memoryWriteMode,
|
|
149
|
-
jsonPresent: json.memory?.writeMode !== undefined,
|
|
150
|
-
value: redacted.memory.writeMode,
|
|
151
|
-
}),
|
|
152
|
-
],
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
sections.push({
|
|
157
|
-
heading: "memory",
|
|
158
|
-
fields: [
|
|
159
|
-
{
|
|
160
|
-
label: "status",
|
|
161
|
-
value: "not configured",
|
|
162
|
-
source: "default",
|
|
163
|
-
},
|
|
164
|
-
],
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
sections.push({
|
|
168
|
-
heading: "tools",
|
|
169
|
-
fields: [
|
|
170
|
-
toField(env, {
|
|
171
|
-
label: "allowedTools",
|
|
172
|
-
envKey: ENV_KEYS.toolsAllowed,
|
|
173
|
-
jsonPresent: json.tools?.allowedTools !== undefined,
|
|
174
|
-
value: String(redacted.tools.allowedTools.length),
|
|
175
|
-
}),
|
|
176
|
-
toField(env, {
|
|
177
|
-
label: "disallowedTools",
|
|
178
|
-
envKey: ENV_KEYS.toolsDisallowed,
|
|
179
|
-
jsonPresent: json.tools?.disallowedTools !== undefined,
|
|
180
|
-
value: String(redacted.tools.disallowedTools.length),
|
|
181
|
-
}),
|
|
182
|
-
toField(env, {
|
|
183
|
-
label: "mcpConfigPath",
|
|
184
|
-
envKey: ENV_KEYS.toolsMcpConfigPath,
|
|
185
|
-
jsonPresent: json.tools?.mcpConfigPath !== undefined,
|
|
186
|
-
value: redacted.tools.mcpConfigPath ?? "—",
|
|
187
|
-
}),
|
|
188
|
-
],
|
|
189
|
-
});
|
|
190
|
-
sections.push({
|
|
191
|
-
heading: "artifacts",
|
|
192
|
-
fields: [
|
|
193
|
-
toField(env, {
|
|
194
|
-
label: "dir",
|
|
195
|
-
envKey: ENV_KEYS.artifactsDir,
|
|
196
|
-
jsonPresent: json.artifacts?.dir !== undefined,
|
|
197
|
-
value: redacted.artifacts.dir,
|
|
198
|
-
}),
|
|
199
|
-
],
|
|
200
|
-
});
|
|
201
|
-
return sections;
|
|
11
|
+
return buildMonoAgentConfigView(input).map((section) => ({
|
|
12
|
+
heading: section.id,
|
|
13
|
+
fields: section.fields.map((field) => ({
|
|
14
|
+
label: field.label,
|
|
15
|
+
value: field.value,
|
|
16
|
+
source: field.source,
|
|
17
|
+
...(field.redacted === true ? { redacted: true } : {}),
|
|
18
|
+
})),
|
|
19
|
+
}));
|
|
202
20
|
}
|
|
203
21
|
//# sourceMappingURL=pane.js.map
|
package/dist/config/pane.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pane.js","sourceRoot":"","sources":["../../src/config/pane.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pane.js","sourceRoot":"","sources":["../../src/config/pane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAuB9D;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAiC;IAEjC,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvD,OAAO,EAAE,OAAO,CAAC,EAAE;QACnB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;AACN,CAAC"}
|