martty 0.2.11 → 0.2.14
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 +51 -1
- package/bin/dsh-tui.js +3 -1
- package/lib/native-cli.js +4 -0
- package/package.json +4 -3
- package/vendor/darwin-arm64/dsh-tui +0 -0
- package/vendor/darwin-x64/dsh-tui +0 -0
- package/vendor/linux-arm64/dsh-tui +0 -0
- package/vendor/linux-x64/dsh-tui +0 -0
- package/vendor/win32-x64/dsh-tui.exe +0 -0
package/README.md
CHANGED
|
@@ -25,6 +25,21 @@ The profile command is the recommended install and upgrade path. It creates a
|
|
|
25
25
|
missing profile and installs the TUI plus its ACP dependency; no global
|
|
26
26
|
`dsh-tui` installation is required.
|
|
27
27
|
|
|
28
|
+
## Migrating from the scoped package
|
|
29
|
+
|
|
30
|
+
`martty` is the recommended package name. Starting with `0.2.13`, it and the
|
|
31
|
+
legacy `martty` package are published by the same CI run
|
|
32
|
+
with identical versions and artifacts. Existing scoped-package installs remain
|
|
33
|
+
supported. To switch package names:
|
|
34
|
+
|
|
35
|
+
```sh
|
|
36
|
+
dsh plugin --profile tui remove martty
|
|
37
|
+
dsh plugin --profile tui add martty@latest
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Only the package spec changes. The `dsh-tui` / `dsb` commands, `tui` profile,
|
|
41
|
+
runtime behavior, config, and session data remain unchanged.
|
|
42
|
+
|
|
28
43
|
The profile Host mounts the ACP plugin on Base, then starts a separate TUI
|
|
29
44
|
Client process over standard ACP stdin/stdout. For standalone use, run
|
|
30
45
|
`dsh-tui` and use `--agent <cmd>` plus repeated `--agent-arg <arg>` for another
|
|
@@ -38,6 +53,37 @@ retain both copies, but the TUI bundle replaces that surface's rows and mounts
|
|
|
38
53
|
only the plugin resolved from TUI's own dependency graph. The supported profile
|
|
39
54
|
shape never runs two ACP surfaces for one TUI.
|
|
40
55
|
|
|
56
|
+
Foreign agent plugins use the same Host composition:
|
|
57
|
+
|
|
58
|
+
```sh
|
|
59
|
+
dsh plugin --profile tui add @openma/dsh-agents-plugins-bridge@latest
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
The [Agent Plugins Bridge](https://github.com/openma-ai/dsh-agents-plugins-bridge)
|
|
63
|
+
projects imported commands and skills into TUI through ACP and keeps hooks,
|
|
64
|
+
MCP, agents, monitors, and Pi extensions on the Host. Browser-only management,
|
|
65
|
+
themes, and MCP Apps HTML rendering remain on the Web surface.
|
|
66
|
+
|
|
67
|
+
## Headless owner
|
|
68
|
+
|
|
69
|
+
`martty owner` keeps one real ACP Session and its Host plugin lifecycles alive
|
|
70
|
+
without starting the Node compositor or Rust TUI. Lifecycle commands are
|
|
71
|
+
repeatable, must be advertised by the Session, and run in order:
|
|
72
|
+
|
|
73
|
+
```sh
|
|
74
|
+
martty owner \
|
|
75
|
+
--agent dsh \
|
|
76
|
+
--agent-arg --profile \
|
|
77
|
+
--agent-arg telegram-owner \
|
|
78
|
+
--startup-command /telegram-connect \
|
|
79
|
+
--shutdown-command /telegram-disconnect
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
The client negotiates explicit `rpc` interaction mode. It does not auto-answer
|
|
83
|
+
permissions, authentication, or extension forms; perform one-time interactive
|
|
84
|
+
setup first and stop any existing owner of the same extension resource. Keep
|
|
85
|
+
the process alive with a process supervisor for continuous operation.
|
|
86
|
+
|
|
41
87
|
The package carries ACP as a runtime dependency and exports its Creator Host
|
|
42
88
|
overlay internally. The profile bundle mounts both on the Host Base tree;
|
|
43
89
|
neither enters the Client tree. Creator adds TUI plugin guidance to the
|
|
@@ -54,7 +100,8 @@ dsh-tui --demo
|
|
|
54
100
|
dsh-tui --demo-skin
|
|
55
101
|
```
|
|
56
102
|
|
|
57
|
-
`dsh-tui` is the
|
|
103
|
+
`dsh-tui` is the interactive command. `martty` is the product alias for the
|
|
104
|
+
same native program; `dsb` is a compatibility alias.
|
|
58
105
|
|
|
59
106
|
## Highlights
|
|
60
107
|
|
|
@@ -112,6 +159,9 @@ that you installed the latest version and that your platform appears above.
|
|
|
112
159
|
npm uninstall --global martty
|
|
113
160
|
```
|
|
114
161
|
|
|
162
|
+
Use `npm uninstall --global martty` instead for a legacy
|
|
163
|
+
global installation.
|
|
164
|
+
|
|
115
165
|
Source, screenshots, development commands, and architecture notes live in the
|
|
116
166
|
[GitHub repository](https://github.com/openma-ai/Martty).
|
|
117
167
|
|
package/bin/dsh-tui.js
CHANGED
|
@@ -5,6 +5,7 @@ import path from 'node:path'
|
|
|
5
5
|
import { spawnSync } from 'node:child_process'
|
|
6
6
|
import { fileURLToPath } from 'node:url'
|
|
7
7
|
import { bootClient, parseClientArgv, painterArgs } from '../lib/boot.js'
|
|
8
|
+
import { runsNativeOwner } from '../lib/native-cli.js'
|
|
8
9
|
|
|
9
10
|
const __dirname = path.dirname(fileURLToPath(import.meta.url))
|
|
10
11
|
const platformKey = process.platform + '-' + process.arch
|
|
@@ -21,6 +22,7 @@ const wantDemoSkin = argv.includes('--demo-skin')
|
|
|
21
22
|
const wantDemo = argv.includes('--demo')
|
|
22
23
|
const wantHelp = argv.includes('-h') || argv.includes('--help')
|
|
23
24
|
const wantVersion = argv.includes('-V') || argv.includes('--version')
|
|
25
|
+
const wantOwner = runsNativeOwner(argv)
|
|
24
26
|
|
|
25
27
|
if (!fs.existsSync(binaryPath)) {
|
|
26
28
|
let available = []
|
|
@@ -49,7 +51,7 @@ function exitFromSpawn(result) {
|
|
|
49
51
|
)
|
|
50
52
|
}
|
|
51
53
|
|
|
52
|
-
if (wantHelp || wantVersion || wantDemo) {
|
|
54
|
+
if (wantHelp || wantVersion || wantDemo || wantOwner) {
|
|
53
55
|
exitFromSpawn(spawnSync(binaryPath, argv, { stdio: 'inherit' }))
|
|
54
56
|
}
|
|
55
57
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "martty",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.14",
|
|
4
4
|
"description": "Terminal-native ACP client UI; Cordis client tree, any ACP agent",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"main": "lib/index.js",
|
|
16
16
|
"scripts": {
|
|
17
17
|
"pretest": "node --test ../scripts/workflow-release.test.mjs ../scripts/package-alias.test.mjs",
|
|
18
|
-
"test": "node --test ../scripts/package-native.test.mjs ../scripts/check-release-tag.test.mjs ../scripts/check-static-elf.test.mjs ../scripts/smoke-old-linux.test.mjs ../scripts/cargo-guard.test.mjs ../scripts/build-npm.test.mjs ../scripts/client-profile.test.mjs ../scripts/plugin-runner.test.mjs ../scripts/profile-link-resolution.test.mjs ../scripts/release.test.mjs ../scripts/jsonrpc-line-transport.test.mjs ../scripts/tui-theme.test.mjs ../scripts/tui-slots.test.mjs ../scripts/tui-commands.test.mjs ../scripts/tui-overlay.test.mjs ../scripts/mux.test.mjs ../scripts/acp-client.test.mjs ../scripts/acp-client-events.test.mjs ../scripts/acp-session-config.test.mjs ../scripts/acp-session-plan.test.mjs ../scripts/acp-session-stats.test.mjs ../scripts/plan-view.test.mjs ../scripts/stats-view.test.mjs ../scripts/runner.test.mjs ../scripts/inspect.test.mjs ../scripts/creator-overlay.test.mjs ../scripts/real-agent-e2e.test.mjs"
|
|
18
|
+
"test": "node --test ../scripts/owner-cli.test.mjs ../scripts/package-native.test.mjs ../scripts/check-release-tag.test.mjs ../scripts/check-static-elf.test.mjs ../scripts/smoke-old-linux.test.mjs ../scripts/cargo-guard.test.mjs ../scripts/build-npm.test.mjs ../scripts/client-profile.test.mjs ../scripts/plugin-runner.test.mjs ../scripts/profile-link-resolution.test.mjs ../scripts/release.test.mjs ../scripts/jsonrpc-line-transport.test.mjs ../scripts/tui-theme.test.mjs ../scripts/tui-slots.test.mjs ../scripts/tui-commands.test.mjs ../scripts/tui-overlay.test.mjs ../scripts/mux.test.mjs ../scripts/acp-client.test.mjs ../scripts/acp-client-events.test.mjs ../scripts/acp-session-config.test.mjs ../scripts/acp-session-plan.test.mjs ../scripts/acp-session-stats.test.mjs ../scripts/plan-view.test.mjs ../scripts/stats-view.test.mjs ../scripts/runner.test.mjs ../scripts/inspect.test.mjs ../scripts/creator-overlay.test.mjs ../scripts/real-agent-e2e.test.mjs"
|
|
19
19
|
},
|
|
20
20
|
"publishConfig": {
|
|
21
21
|
"access": "public",
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"./package.json": "./package.json"
|
|
45
45
|
},
|
|
46
46
|
"bin": {
|
|
47
|
+
"martty": "bin/dsh-tui.js",
|
|
47
48
|
"dsh-tui": "bin/dsh-tui.js",
|
|
48
49
|
"dsb": "bin/dsh-tui.js"
|
|
49
50
|
},
|
|
@@ -64,7 +65,7 @@
|
|
|
64
65
|
},
|
|
65
66
|
"dependencies": {
|
|
66
67
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
67
|
-
"@openma/deepseek-harness-acp": "0.4.
|
|
68
|
+
"@openma/deepseek-harness-acp": "0.4.15"
|
|
68
69
|
},
|
|
69
70
|
"devDependencies": {
|
|
70
71
|
"@deepseek-ai/dsh": "0.1.0-rc.6"
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/vendor/linux-x64/dsh-tui
CHANGED
|
Binary file
|
|
Binary file
|