@a5c-ai/agent-mux-tui 0.4.0 → 0.4.10-staging.7a8768ec

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.
Files changed (142) hide show
  1. package/README.md +84 -0
  2. package/dist/app.d.ts +21 -3
  3. package/dist/app.d.ts.map +1 -1
  4. package/dist/app.js +385 -67
  5. package/dist/app.js.map +1 -1
  6. package/dist/bin/amux-tui.d.ts +0 -1
  7. package/dist/bin/amux-tui.js +68 -5
  8. package/dist/bin/amux-tui.js.map +1 -1
  9. package/dist/bin/runtime.d.ts +31 -0
  10. package/dist/bin/runtime.d.ts.map +1 -0
  11. package/dist/bin/runtime.js +78 -0
  12. package/dist/bin/runtime.js.map +1 -0
  13. package/dist/command-palette.d.ts +3 -2
  14. package/dist/command-palette.d.ts.map +1 -1
  15. package/dist/command-palette.js +14 -7
  16. package/dist/command-palette.js.map +1 -1
  17. package/dist/event-stream.d.ts +3 -1
  18. package/dist/event-stream.d.ts.map +1 -1
  19. package/dist/event-stream.js +18 -0
  20. package/dist/event-stream.js.map +1 -1
  21. package/dist/external-plugins.d.ts +0 -1
  22. package/dist/external-plugins.d.ts.map +1 -1
  23. package/dist/external-plugins.js +5 -1
  24. package/dist/external-plugins.js.map +1 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +13 -2
  28. package/dist/index.js.map +1 -1
  29. package/dist/kanban-control-plane.d.ts +44 -0
  30. package/dist/kanban-control-plane.d.ts.map +1 -0
  31. package/dist/kanban-control-plane.js +30 -0
  32. package/dist/kanban-control-plane.js.map +1 -0
  33. package/dist/layout.d.ts +24 -0
  34. package/dist/layout.d.ts.map +1 -0
  35. package/dist/layout.js +64 -0
  36. package/dist/layout.js.map +1 -0
  37. package/dist/model-picker.d.ts +4 -2
  38. package/dist/model-picker.d.ts.map +1 -1
  39. package/dist/model-picker.js +9 -5
  40. package/dist/model-picker.js.map +1 -1
  41. package/dist/plugin.d.ts +28 -1
  42. package/dist/plugin.d.ts.map +1 -1
  43. package/dist/plugin.js.map +1 -1
  44. package/dist/plugins/adapters-view.d.ts +0 -1
  45. package/dist/plugins/{runs-view.d.ts → agents-view.d.ts} +0 -1
  46. package/dist/plugins/agents-view.d.ts.map +1 -0
  47. package/dist/plugins/agents-view.js +234 -0
  48. package/dist/plugins/agents-view.js.map +1 -0
  49. package/dist/plugins/approval.d.ts +0 -1
  50. package/dist/plugins/auth-view.d.ts +0 -1
  51. package/dist/plugins/auth-view.js +1 -1
  52. package/dist/plugins/chat-view.d.ts +0 -1
  53. package/dist/plugins/chat-view.d.ts.map +1 -1
  54. package/dist/plugins/chat-view.js +29 -4
  55. package/dist/plugins/chat-view.js.map +1 -1
  56. package/dist/plugins/config-view.d.ts +0 -1
  57. package/dist/plugins/config-view.js +1 -1
  58. package/dist/plugins/control.d.ts +0 -1
  59. package/dist/plugins/cost-alerts.d.ts +0 -1
  60. package/dist/plugins/cost-view.d.ts +0 -1
  61. package/dist/plugins/cost.d.ts +0 -1
  62. package/dist/plugins/diff.d.ts +0 -1
  63. package/dist/plugins/diff.js.map +1 -1
  64. package/dist/plugins/doctor-view.d.ts +0 -1
  65. package/dist/plugins/fallback.d.ts +0 -1
  66. package/dist/plugins/file-ops.d.ts +0 -1
  67. package/dist/plugins/help-view.d.ts +0 -1
  68. package/dist/plugins/help-view.d.ts.map +1 -1
  69. package/dist/plugins/help-view.js +13 -3
  70. package/dist/plugins/help-view.js.map +1 -1
  71. package/dist/plugins/hooks-view.d.ts +2 -0
  72. package/dist/plugins/hooks-view.d.ts.map +1 -0
  73. package/dist/plugins/hooks-view.js +186 -0
  74. package/dist/plugins/hooks-view.js.map +1 -0
  75. package/dist/plugins/image.d.ts +0 -1
  76. package/dist/plugins/kanban-view.d.ts +4 -0
  77. package/dist/plugins/kanban-view.d.ts.map +1 -0
  78. package/dist/plugins/kanban-view.js +480 -0
  79. package/dist/plugins/kanban-view.js.map +1 -0
  80. package/dist/plugins/lifecycle.d.ts +0 -1
  81. package/dist/plugins/mcp-view.d.ts +0 -1
  82. package/dist/plugins/mcp-view.d.ts.map +1 -1
  83. package/dist/plugins/mcp-view.js +7 -7
  84. package/dist/plugins/mcp-view.js.map +1 -1
  85. package/dist/plugins/mcp.d.ts +0 -1
  86. package/dist/plugins/models-view.d.ts +0 -1
  87. package/dist/plugins/models-view.d.ts.map +1 -1
  88. package/dist/plugins/models-view.js +10 -4
  89. package/dist/plugins/models-view.js.map +1 -1
  90. package/dist/plugins/observability-view.d.ts +22 -0
  91. package/dist/plugins/observability-view.d.ts.map +1 -0
  92. package/dist/plugins/observability-view.js +103 -0
  93. package/dist/plugins/observability-view.js.map +1 -0
  94. package/dist/plugins/plugin-skill.d.ts +0 -1
  95. package/dist/plugins/plugins-view.d.ts +0 -1
  96. package/dist/plugins/plugins-view.d.ts.map +1 -1
  97. package/dist/plugins/plugins-view.js +4 -3
  98. package/dist/plugins/plugins-view.js.map +1 -1
  99. package/dist/plugins/profiles-view.d.ts +0 -1
  100. package/dist/plugins/session-detail-view.d.ts +1 -2
  101. package/dist/plugins/session-detail-view.d.ts.map +1 -1
  102. package/dist/plugins/session-detail-view.js +19 -14
  103. package/dist/plugins/session-detail-view.js.map +1 -1
  104. package/dist/plugins/session-lifecycle.d.ts +0 -1
  105. package/dist/plugins/sessions-view.d.ts +0 -1
  106. package/dist/plugins/sessions-view.d.ts.map +1 -1
  107. package/dist/plugins/sessions-view.js +47 -21
  108. package/dist/plugins/sessions-view.js.map +1 -1
  109. package/dist/plugins/shell.d.ts +0 -1
  110. package/dist/plugins/skills-view.d.ts +2 -0
  111. package/dist/plugins/skills-view.d.ts.map +1 -0
  112. package/dist/plugins/skills-view.js +234 -0
  113. package/dist/plugins/skills-view.js.map +1 -0
  114. package/dist/plugins/subagent.d.ts +0 -1
  115. package/dist/plugins/text-delta.d.ts +0 -1
  116. package/dist/plugins/tool-call.d.ts +0 -1
  117. package/dist/plugins/tool-call.d.ts.map +1 -1
  118. package/dist/plugins/tool-call.js +103 -4
  119. package/dist/plugins/tool-call.js.map +1 -1
  120. package/dist/plugins/workspaces-view.d.ts +4 -0
  121. package/dist/plugins/workspaces-view.d.ts.map +1 -0
  122. package/dist/plugins/workspaces-view.js +382 -0
  123. package/dist/plugins/workspaces-view.js.map +1 -0
  124. package/dist/prompt-history-store.d.ts +0 -1
  125. package/dist/prompt-input.d.ts +30 -2
  126. package/dist/prompt-input.d.ts.map +1 -1
  127. package/dist/prompt-input.js +200 -10
  128. package/dist/prompt-input.js.map +1 -1
  129. package/dist/registry.d.ts +2 -2
  130. package/dist/registry.d.ts.map +1 -1
  131. package/dist/registry.js +2 -1
  132. package/dist/registry.js.map +1 -1
  133. package/dist/session-dispatch.d.ts +35 -0
  134. package/dist/session-dispatch.d.ts.map +1 -0
  135. package/dist/session-dispatch.js +129 -0
  136. package/dist/session-dispatch.js.map +1 -0
  137. package/package.json +15 -9
  138. package/specs/kanban-workspaces-spec.md +293 -0
  139. package/specs/kanban-workspaces-subtasks.md +180 -0
  140. package/dist/plugins/runs-view.d.ts.map +0 -1
  141. package/dist/plugins/runs-view.js +0 -75
  142. package/dist/plugins/runs-view.js.map +0 -1
package/README.md CHANGED
@@ -12,6 +12,38 @@ npm i -g @a5c-ai/agent-mux-tui
12
12
  amux-tui
13
13
  ```
14
14
 
15
+ ## Development
16
+
17
+ Package-level `build` and `test` scripts are routed through the repo-root
18
+ `scripts/agent-mux-build.cjs` helper so `@a5c-ai/agent-mux-tui` runs with its
19
+ agent-mux prerequisites built in dependency order and its tests executed from
20
+ the repo root. Use `npm run build:local --workspace=@a5c-ai/agent-mux-tui`
21
+ when you only want the package-local TypeScript compile.
22
+
23
+ Run `npm run verify:release --workspace=@a5c-ai/agent-mux-tui` after a build to
24
+ confirm the packed package surface still includes the README-linked kanban/workspaces
25
+ planning artifacts.
26
+
27
+ ## Kanban/workspaces surface
28
+
29
+ The package now ships first-phase `kanban` and `workspaces` views backed by the
30
+ shared kanban/workspace control plane.
31
+
32
+ - Runtime today: `kanban` view (list-first issue browsing, issue detail,
33
+ keyboard-driven backlog actions through an injected control plane, and linked
34
+ workspace/session handoff)
35
+ - Runtime today: `workspaces` view (workspace inventory, linked issue/session/run
36
+ context, lifecycle actions routed through the injected control plane, and
37
+ issue/session handoff back into the rest of the TUI)
38
+
39
+ - Spec: [`specs/kanban-workspaces-spec.md`](specs/kanban-workspaces-spec.md)
40
+ - Backlog decomposition: [`specs/kanban-workspaces-subtasks.md`](specs/kanban-workspaces-subtasks.md)
41
+ - Cross-package design note:
42
+ [`../../docs/agent-mux/archive/design/20-tui-kanban-workspaces.md`](../../docs/agent-mux/archive/design/20-tui-kanban-workspaces.md)
43
+
44
+ The planning documents remain useful design references for follow-on expansion
45
+ of both surfaces.
46
+
15
47
  ## Writing a plugin
16
48
 
17
49
  ```ts
@@ -69,3 +101,55 @@ Events from the resulting `client.run()` are pushed into the shared
69
101
  The built-in plugins (`text-delta`, `thinking-delta`, `tool-call`,
70
102
  `tool-error`, `cost`, `chat-view`, `sessions-view`, `fallback`) are all
71
103
  implemented through these same extension points — use them as references.
104
+
105
+ The logs / observability view is part of the supported built-in surface. Press
106
+ `l` to open it. The metrics header aggregates the full buffered `EventStream`,
107
+ the global `/` filter only narrows the visible log rows, and pressing `e`
108
+ exports the full buffered stream to `session-log-<timestamp>.json` in the
109
+ current working directory.
110
+
111
+ ## View hotkeys
112
+
113
+ | Key | View | Purpose |
114
+ |-----|------------|-----------------------------------------------|
115
+ | `1` | chat | streaming run output + filter |
116
+ | `2` | sessions | session list (press `d` to inspect + export) |
117
+ | `3` | cost | cost/usage summary |
118
+ | `4` | adapters | discovered adapters |
119
+ | `5` | models | model registry per adapter |
120
+ | `6` | profiles | run-options profiles |
121
+ | `7` | plugins | native plugins per adapter |
122
+ | `8` | kanban | backlog/board browsing + issue actions |
123
+ | `W` | workspaces | workspace lifecycle inventory + actions |
124
+ | `9` | help | keybindings + tips |
125
+ | `0` | mcp | registered MCP servers |
126
+ | `-` | doctor | capability matrix / diagnostics |
127
+ | `l` | logs | observability metrics + filtered log stream |
128
+ | `A` | auth | auth status per adapter |
129
+ | `C` | config | config view |
130
+ | `K` | skills | installed skills (d: delete, r: refresh) |
131
+ | `G` | agents | installed sub-agents (d: delete, r: refresh) |
132
+ | `H` | hooks | registered hooks (d: remove, r: refresh) |
133
+
134
+ Global: chat composer auto-focuses in `chat`; `Esc` temporarily dismisses it;
135
+ `/` filter, `:` / Ctrl-K palette, `m` model picker, `N` agent picker, `P`
136
+ profile picker, `i` interrupt, `y`/`n` approval, `q` quit.
137
+
138
+ Inside `kanban`, press `w` to jump to the linked workspace for the selected
139
+ issue. Inside `workspaces`, press `g` to jump back to the linked issue. If you
140
+ open `session-detail` from either view, `b`/`Esc` returns to the originating
141
+ surface instead of always falling back to `sessions`.
142
+
143
+ ## Logs / Observability View
144
+
145
+ The `logs` view is a built-in tab registered as `builtin:observability-view`.
146
+
147
+ - Hotkey: `l`
148
+ - Purpose: show aggregated tokens, cost, latency, error count, and tool-call
149
+ count for the buffered event stream.
150
+ - Filtering: the global `/` filter applies to the log rows in this view,
151
+ including `type:<prefix>` filters. Metrics continue to reflect the full
152
+ buffered stream so you can inspect a subset without losing session totals.
153
+ - Export: press `e` while the view is active to write the full buffered event
154
+ stream as pretty-printed JSON to `session-log-<timestamp>.json` in the
155
+ current working directory.
package/dist/app.d.ts CHANGED
@@ -1,9 +1,27 @@
1
- import type { AgentMuxClient } from '@a5c-ai/agent-mux';
1
+ import type { AgentMuxClient, DeferredPromptTarget, RunHandle } from '@a5c-ai/agent-mux';
2
2
  import type { TuiPlugin } from './plugin.js';
3
+ import type { KanbanControlPlane } from './kanban-control-plane.js';
3
4
  export interface AppProps {
4
5
  client: AgentMuxClient;
5
6
  plugins: TuiPlugin[];
7
+ kanban?: KanbanControlPlane;
6
8
  defaultAgent?: string;
9
+ initialViewId?: string;
10
+ disableChatAutoPrompt?: boolean;
7
11
  }
8
- export declare function App({ client, plugins, defaultAgent }: AppProps): import("react/jsx-runtime").JSX.Element;
9
- //# sourceMappingURL=app.d.ts.map
12
+ type ActiveRunCommand = {
13
+ kind: 'send';
14
+ prompt: string;
15
+ } | {
16
+ kind: 'queue';
17
+ prompt: string;
18
+ when: DeferredPromptTarget;
19
+ } | {
20
+ kind: 'steer';
21
+ prompt: string;
22
+ when: DeferredPromptTarget;
23
+ };
24
+ export declare function parseActiveRunCommand(prompt: string): ActiveRunCommand | null;
25
+ export declare function dispatchPromptToActiveRun(handle: RunHandle, prompt: string): Promise<string>;
26
+ export declare function App({ client, plugins, kanban, defaultAgent, initialViewId, disableChatAutoPrompt, }: AppProps): import("react/jsx-runtime").JSX.Element;
27
+ export {};
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAyB,MAAM,mBAAmB,CAAC;AAE/E,OAAO,KAAK,EAAE,SAAS,EAA+B,MAAM,aAAa,CAAC;AAO1E,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAQD,wBAAgB,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,YAA4B,EAAE,EAAE,QAAQ,2CA+Y9E"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAc,oBAAoB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAErG,OAAO,KAAK,EAAE,SAAS,EAA+B,MAAM,aAAa,CAAC;AAa1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,KAAK,gBAAgB,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,oBAAoB,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAElE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAc7E;AAeD,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAelG;AA6BD,wBAAgB,GAAG,CAAC,EAClB,MAAM,EACN,OAAO,EACP,MAAM,EACN,YAAuB,EACvB,aAAsB,EACtB,qBAA6B,GAC9B,EAAE,QAAQ,2CA4rBV"}