@agi-fans/dsh-tui 0.9.0 → 0.10.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.
Files changed (61) hide show
  1. package/lib/CHANGELOG.md +21 -1
  2. package/lib/chrome/welcome-tips.js +1 -0
  3. package/lib/chrome/welcome-tips.js.map +1 -1
  4. package/lib/chrome/width.js +36 -0
  5. package/lib/chrome/width.js.map +1 -1
  6. package/lib/commands/export.js +11 -6
  7. package/lib/commands/export.js.map +1 -1
  8. package/lib/commands/model.js +111 -4
  9. package/lib/commands/model.js.map +1 -1
  10. package/lib/commands/session.js +79 -36
  11. package/lib/commands/session.js.map +1 -1
  12. package/lib/commands/trajectory.d.ts +5 -0
  13. package/lib/commands/trajectory.js +20 -0
  14. package/lib/commands/trajectory.js.map +1 -0
  15. package/lib/definition.d.ts +12 -0
  16. package/lib/input/keybindings-config.d.ts +1 -1
  17. package/lib/input/keybindings-config.js +7 -1
  18. package/lib/input/keybindings-config.js.map +1 -1
  19. package/lib/runtime/provider-local.d.ts +1 -0
  20. package/lib/runtime/provider-local.js +110 -19
  21. package/lib/runtime/provider-local.js.map +1 -1
  22. package/lib/runtime/terminal-notifications.d.ts +24 -0
  23. package/lib/runtime/terminal-notifications.js +61 -0
  24. package/lib/runtime/terminal-notifications.js.map +1 -0
  25. package/lib/session/context-diagnostics.d.ts +8 -0
  26. package/lib/session/context-diagnostics.js +50 -0
  27. package/lib/session/context-diagnostics.js.map +1 -0
  28. package/lib/session/model-favorites.d.ts +11 -0
  29. package/lib/session/model-favorites.js +74 -0
  30. package/lib/session/model-favorites.js.map +1 -0
  31. package/lib/session/session-controller.d.ts +7 -1
  32. package/lib/session/session-controller.js +39 -6
  33. package/lib/session/session-controller.js.map +1 -1
  34. package/lib/session/session-library.d.ts +8 -0
  35. package/lib/session/session-library.js +43 -0
  36. package/lib/session/session-library.js.map +1 -0
  37. package/lib/session/subagent-roster.js +11 -1
  38. package/lib/session/subagent-roster.js.map +1 -1
  39. package/lib/session/tui-settings.d.ts +2 -0
  40. package/lib/session/tui-settings.js +2 -0
  41. package/lib/session/tui-settings.js.map +1 -1
  42. package/lib/views/agent-hub.d.ts +29 -0
  43. package/lib/views/agent-hub.js +165 -0
  44. package/lib/views/agent-hub.js.map +1 -0
  45. package/lib/views/event-views.d.ts +6 -0
  46. package/lib/views/event-views.js +18 -0
  47. package/lib/views/event-views.js.map +1 -1
  48. package/lib/views/hotkeys.js +3 -0
  49. package/lib/views/hotkeys.js.map +1 -1
  50. package/lib/views/prompt-selector.js +2 -1
  51. package/lib/views/prompt-selector.js.map +1 -1
  52. package/lib/views/settings-list.d.ts +2 -0
  53. package/lib/views/settings-list.js +21 -1
  54. package/lib/views/settings-list.js.map +1 -1
  55. package/lib/views/trajectory.d.ts +64 -0
  56. package/lib/views/trajectory.js +550 -0
  57. package/lib/views/trajectory.js.map +1 -0
  58. package/lib/views/transcript-export.d.ts +2 -0
  59. package/lib/views/transcript-export.js +34 -0
  60. package/lib/views/transcript-export.js.map +1 -1
  61. package/package.json +5 -1
@@ -1,5 +1,6 @@
1
1
  /** Pure complete-session Markdown export, independent of viewport truncation. */
2
2
  import { extractSessionEventText } from '@deepseek-ai/dsh-session-query';
3
+ import { marked } from 'marked';
3
4
  function contentMarkdown(content) {
4
5
  if (!Array.isArray(content))
5
6
  return '';
@@ -63,4 +64,37 @@ export function formatTranscriptMarkdown(sessionId, title, events) {
63
64
  }
64
65
  return sections.join('\n');
65
66
  }
67
+ function escapeHtml(value) {
68
+ return value.replace(/&/gu, '&amp;').replace(/</gu, '&lt;').replace(/>/gu, '&gt;').replace(/"/gu, '&quot;');
69
+ }
70
+ /** Prevent raw transcript HTML from becoming active while preserving fenced code contents. */
71
+ function escapeRawHtml(markdown) {
72
+ let fenced = false;
73
+ return markdown.split('\n').map((line) => {
74
+ if (/^\s*```/u.test(line)) {
75
+ fenced = !fenced;
76
+ return line;
77
+ }
78
+ return fenced ? line : line.replace(/</gu, '&lt;').replace(/>/gu, '&gt;');
79
+ }).join('\n');
80
+ }
81
+ /** Standalone, CSP-locked HTML export independent of terminal ANSI rendering. */
82
+ export function formatTranscriptHtml(sessionId, title, events) {
83
+ const markdown = escapeRawHtml(formatTranscriptMarkdown(sessionId, title, events));
84
+ const body = marked.parse(markdown, { async: false });
85
+ return `<!doctype html>
86
+ <html lang="en">
87
+ <head>
88
+ <meta charset="utf-8">
89
+ <meta name="viewport" content="width=device-width,initial-scale=1">
90
+ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'">
91
+ <title>${escapeHtml(title)} · omdsh transcript</title>
92
+ <style>
93
+ :root{color-scheme:light dark;--bg:#0d0e13;--panel:#15171f;--text:#d8d8df;--muted:#888c9b;--accent:#f0a928;--border:#343846;--code:#101219}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,#19202b 0,var(--bg) 42%);color:var(--text);font:16px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}main{width:min(960px,calc(100% - 32px));margin:40px auto 80px;padding:clamp(22px,5vw,56px);background:color-mix(in srgb,var(--panel) 94%,transparent);border:1px solid var(--border);border-radius:20px;box-shadow:0 24px 80px #0008}h1{color:var(--accent);font-size:clamp(28px,5vw,48px);line-height:1.15}h2{margin-top:2.4em;padding-top:1em;border-top:1px solid var(--border);font-size:18px}p,li{overflow-wrap:anywhere}blockquote{margin-left:0;padding-left:18px;border-left:3px solid var(--accent);color:var(--muted)}pre{overflow:auto;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--code)}code{font-family:inherit;color:#9bdcff}p code,li code{padding:.15em .4em;border-radius:5px;background:var(--code)}a{color:#72c7ff}@media(max-width:600px){main{width:100%;margin:0;border:0;border-radius:0;padding:20px}}
94
+ </style>
95
+ </head>
96
+ <body><main>${body}</main></body>
97
+ </html>
98
+ `;
99
+ }
66
100
  //# sourceMappingURL=transcript-export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transcript-export.js","sourceRoot":"","sources":["../../src/views/transcript-export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcript-export.js","sourceRoot":"","sources":["../../src/views/transcript-export.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@agi-fans/dsh-tui",
3
3
  "description": "Library-only Cordis plugin suite for DeepSeek Harness terminal presentation and interaction",
4
- "version": "0.9.0",
4
+ "version": "0.10.0",
5
5
  "homepage": "https://github.com/agi-fans/oh-my-dsh#readme",
6
6
  "repository": {
7
7
  "type": "git",
@@ -79,6 +79,10 @@
79
79
  "types": "./lib/commands/export.d.ts",
80
80
  "default": "./lib/commands/export.js"
81
81
  },
82
+ "./command-trajectory": {
83
+ "types": "./lib/commands/trajectory.d.ts",
84
+ "default": "./lib/commands/trajectory.js"
85
+ },
82
86
  "./command-integrations": {
83
87
  "types": "./lib/commands/integrations.d.ts",
84
88
  "default": "./lib/commands/integrations.js"