martty 0.2.17 → 0.2.18

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "martty",
3
- "version": "0.2.17",
3
+ "version": "0.2.18",
4
4
  "description": "Terminal-native ACP client UI; Cordis client tree, any ACP agent",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -15,7 +15,8 @@
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-presets.test.mjs ../scripts/tui-plugin-store.test.mjs ../scripts/tui-local-plugins.test.mjs ../scripts/tui-client-plugin-registry.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/acp-session-status.test.mjs ../scripts/plan-view.test.mjs ../scripts/stats-view.test.mjs ../scripts/status-view.test.mjs ../scripts/deepseek-logo.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/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/profile-smoke-tui.test.mjs ../scripts/release.test.mjs ../scripts/jsonrpc-line-transport.test.mjs ../scripts/tui-theme.test.mjs ../scripts/tui-presets.test.mjs ../scripts/tui-plugin-store.test.mjs ../scripts/tui-local-plugins.test.mjs ../scripts/tui-client-plugin-registry.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/acp-session-status.test.mjs ../scripts/plan-view.test.mjs ../scripts/stats-view.test.mjs ../scripts/status-view.test.mjs ../scripts/deepseek-logo.test.mjs ../scripts/runner.test.mjs ../scripts/inspect.test.mjs ../scripts/creator-overlay.test.mjs ../scripts/real-agent-e2e.test.mjs",
19
+ "test:profile-install-matrix": "node --test ../scripts/profile-install-matrix.test.mjs"
19
20
  },
20
21
  "publishConfig": {
21
22
  "access": "public",
@@ -70,7 +71,7 @@
70
71
  },
71
72
  "dependencies": {
72
73
  "@deepseek-ai/cordis": "^4.0.1",
73
- "@openma/deepseek-harness-acp": "0.4.19"
74
+ "@openma/deepseek-harness-acp": "0.4.20"
74
75
  },
75
76
  "devDependencies": {
76
77
  "@deepseek-ai/dsh": "0.1.0-rc.6"
@@ -31,17 +31,19 @@ skill for shared Cordis behavior and for any genuine Host or Web half.
31
31
  later state updates finish activation. Reply with one short status sentence;
32
32
  do not summarize the implementation while approval is pending.
33
33
  7. After the later state update confirms activation, persist a new or modified
34
- UI Preset or Theme Plugin with `tui_plugin_save`, unless the user explicitly
35
- requested a temporary preview. Use the returned exact `pluginId` and
36
- `packageId`; use a stable `artifactId`, the matching `kind`, and
34
+ Client-only UI or Theme Plugin with `tui_plugin_save`, unless the user explicitly
35
+ requested a temporary preview. Use `kind: "ui"` or `kind: "theme"`, the returned
36
+ exact `pluginId` and `packageId`, and a stable `artifactId`; use
37
37
  `replace: true` only when updating an artifact already read from disk.
38
+ If `code.host` exists, do not call `tui_plugin_save`: Host-only and dual
39
+ Packages belong to the connected Harness and need its separate shipping path.
38
40
  8. Report success only after `tui_plugin_save` returns `saved`, including its
39
41
  exact path. Do not call a temporary dynamic Plugin durable. Other dynamic
40
42
  TUI Plugins remain process-local unless a separate shipping path was
41
43
  explicitly requested.
42
44
 
43
45
  The normal preview trajectory is therefore one list, one query per needed
44
- Provider, one define, and one run. A durable UI Preset or Theme Plugin adds one
46
+ Provider, one define, and one run. A durable UI or Theme Plugin adds one
45
47
  save after successful activation. Once inspect returns a sufficient live
46
48
  contract, author immediately; do not re-prove it from generic Cordis concepts.
47
49
 
@@ -73,7 +75,7 @@ Use the narrowest capability:
73
75
  | Need | Inspect family | Runtime service |
74
76
  | --- | --- | --- |
75
77
  | Palette registration/activation | `Theme` | `tuiTheme` |
76
- | Saved composition of several UI contributions | `UiPresets` | `tuiPresets` |
78
+ | Saved UI Plugin composition | `UiPresets` (legacy provider id) | `tuiPresets` (legacy service id) |
77
79
  | Persistent terminal content | `Slots` | `tuiSlots` |
78
80
  | Local slash command | `Commands` | `tuiCommands` |
79
81
  | Transient slider or node view | `Overlay` | `tuiOverlay` |
@@ -103,12 +105,13 @@ compose only in the Plugin code. The services do not imply one another:
103
105
  in that one Plugin. Never read/subscribe to active theme or implement a
104
106
  theme condition yourself. Immediate preview uses the inspected registration
105
107
  option and enters the same Plugin seat.
106
- - **UI Presets:** use `tuiPresets.register({ id, label }, mount)` when the user
108
+ - **UI Plugins:** use the current `tuiPresets.register({ id, label }, mount)`
109
+ compatibility service when the user
107
110
  wants one saved `/ui` choice to mount several UI contributions together.
108
- The synchronous mount callback returns one disposer. A UI Preset owns
111
+ The synchronous mount callback returns one disposer. A UI Plugin owns
109
112
  structural UI contributions such as slots, chrome, or a pet. It does not
110
113
  register, select, clone, or generate a Theme: `/ui`, `/theme`, and dark/light
111
- are independent state dimensions. A preset may document a recommended
114
+ are independent state dimensions. A UI Plugin may document a recommended
112
115
  Theme, but recommendation is not runtime ownership.
113
116
  - **Commands:** register a local slash command. Registration publishes slash
114
117
  completion and keeps invocation out of the ACP prompt. Its availability is
Binary file
Binary file
Binary file
Binary file
Binary file