@agi-fans/dsh-tui 0.4.0 → 0.5.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.
Files changed (242) hide show
  1. package/README.md +43 -7
  2. package/lib/CHANGELOG.md +40 -1
  3. package/lib/{box.d.ts → chrome/box.d.ts} +2 -0
  4. package/lib/{box.js → chrome/box.js} +26 -16
  5. package/lib/chrome/box.js.map +1 -0
  6. package/lib/chrome/command-output.js.map +1 -0
  7. package/lib/chrome/diff-render.d.ts +39 -0
  8. package/lib/chrome/diff-render.js +274 -0
  9. package/lib/chrome/diff-render.js.map +1 -0
  10. package/lib/chrome/markdown.d.ts +17 -0
  11. package/lib/chrome/markdown.js +537 -0
  12. package/lib/chrome/markdown.js.map +1 -0
  13. package/lib/chrome/path-mentions.js.map +1 -0
  14. package/lib/chrome/relative-time.js.map +1 -0
  15. package/lib/chrome/renderer.js.map +1 -0
  16. package/lib/chrome/status-config.d.ts +70 -0
  17. package/lib/chrome/status-config.js +147 -0
  18. package/lib/chrome/status-config.js.map +1 -0
  19. package/lib/{status-line.d.ts → chrome/status-line.d.ts} +20 -2
  20. package/lib/{status-line.js → chrome/status-line.js} +175 -113
  21. package/lib/chrome/status-line.js.map +1 -0
  22. package/lib/chrome/style.js.map +1 -0
  23. package/lib/{theme.d.ts → chrome/theme.d.ts} +5 -3
  24. package/lib/chrome/theme.js +708 -0
  25. package/lib/chrome/theme.js.map +1 -0
  26. package/lib/{tool-renderers.js → chrome/tool-renderers.js} +25 -20
  27. package/lib/chrome/tool-renderers.js.map +1 -0
  28. package/lib/chrome/tools-list.js.map +1 -0
  29. package/lib/{welcome-tips.js → chrome/welcome-tips.js} +4 -2
  30. package/lib/chrome/welcome-tips.js.map +1 -0
  31. package/lib/chrome/width.js.map +1 -0
  32. package/lib/{command-auth.js → commands/auth.js} +2 -2
  33. package/lib/commands/auth.js.map +1 -0
  34. package/lib/{command-export.js → commands/export.js} +3 -3
  35. package/lib/commands/export.js.map +1 -0
  36. package/lib/{command-integrations.js → commands/integrations.js} +2 -2
  37. package/lib/commands/integrations.js.map +1 -0
  38. package/lib/{command-loop.d.ts → commands/loop.d.ts} +1 -1
  39. package/lib/{command-loop.js → commands/loop.js} +2 -2
  40. package/lib/commands/loop.js.map +1 -0
  41. package/lib/{command-model.js → commands/model.js} +2 -2
  42. package/lib/commands/model.js.map +1 -0
  43. package/lib/{command-permission.js → commands/permission.js} +13 -8
  44. package/lib/commands/permission.js.map +1 -0
  45. package/lib/{command-registration.js → commands/registration.js} +1 -1
  46. package/lib/commands/registration.js.map +1 -0
  47. package/lib/commands/session-configuration.d.ts +5 -0
  48. package/lib/commands/session-configuration.js +108 -0
  49. package/lib/commands/session-configuration.js.map +1 -0
  50. package/lib/{command-session.js → commands/session.js} +10 -7
  51. package/lib/commands/session.js.map +1 -0
  52. package/lib/{command-steer.js → commands/steer.js} +2 -2
  53. package/lib/commands/steer.js.map +1 -0
  54. package/lib/definition.d.ts +6 -1
  55. package/lib/definition.js.map +1 -1
  56. package/lib/index.d.ts +1 -1
  57. package/lib/index.js +1 -1
  58. package/lib/index.js.map +1 -1
  59. package/lib/input/clipboard.js.map +1 -0
  60. package/lib/input/editor.js.map +1 -0
  61. package/lib/input/external-editor.js.map +1 -0
  62. package/lib/{image-paste.d.ts → input/image-paste.d.ts} +1 -1
  63. package/lib/input/image-paste.js.map +1 -0
  64. package/lib/input/keybindings-config.js.map +1 -0
  65. package/lib/input/keys.js.map +1 -0
  66. package/lib/runtime/agent-profile.d.ts +10 -0
  67. package/lib/runtime/agent-profile.js +9 -0
  68. package/lib/runtime/agent-profile.js.map +1 -0
  69. package/lib/{human-interaction.js → runtime/human-interaction.js} +1 -1
  70. package/lib/runtime/human-interaction.js.map +1 -0
  71. package/lib/{provider-local.d.ts → runtime/provider-local.d.ts} +9 -9
  72. package/lib/{provider-local.js → runtime/provider-local.js} +30 -26
  73. package/lib/runtime/provider-local.js.map +1 -0
  74. package/lib/runtime/runner.js.map +1 -0
  75. package/lib/{session-runtime.d.ts → runtime/session-runtime.d.ts} +2 -2
  76. package/lib/{session-runtime.js → runtime/session-runtime.js} +3 -3
  77. package/lib/runtime/session-runtime.js.map +1 -0
  78. package/lib/{startup-notices.js → runtime/startup-notices.js} +6 -6
  79. package/lib/runtime/startup-notices.js.map +1 -0
  80. package/lib/{tool-presentation.d.ts → runtime/tool-presentation.d.ts} +1 -1
  81. package/lib/runtime/tool-presentation.js.map +1 -0
  82. package/lib/{interaction-adapter.d.ts → session/interaction-adapter.d.ts} +1 -1
  83. package/lib/session/interaction-adapter.js.map +1 -0
  84. package/lib/{package-metadata.js → session/package-metadata.js} +1 -1
  85. package/lib/session/package-metadata.js.map +1 -0
  86. package/lib/session/project-context.js.map +1 -0
  87. package/lib/session/project-file-search.js.map +1 -0
  88. package/lib/session/release-notes.js.map +1 -0
  89. package/lib/session/session-configuration.d.ts +25 -0
  90. package/lib/session/session-configuration.js +56 -0
  91. package/lib/session/session-configuration.js.map +1 -0
  92. package/lib/{session-controller.d.ts → session/session-controller.d.ts} +13 -2
  93. package/lib/{session-controller.js → session/session-controller.js} +181 -11
  94. package/lib/session/session-controller.js.map +1 -0
  95. package/lib/{tui-settings.d.ts → session/tui-settings.d.ts} +2 -2
  96. package/lib/session/tui-settings.js +42 -0
  97. package/lib/session/tui-settings.js.map +1 -0
  98. package/lib/session/update-check.js.map +1 -0
  99. package/lib/{autocomplete.d.ts → views/autocomplete.d.ts} +1 -1
  100. package/lib/{autocomplete.js → views/autocomplete.js} +2 -2
  101. package/lib/views/autocomplete.js.map +1 -0
  102. package/lib/{copy-selector.d.ts → views/copy-selector.d.ts} +2 -2
  103. package/lib/{copy-selector.js → views/copy-selector.js} +2 -2
  104. package/lib/views/copy-selector.js.map +1 -0
  105. package/lib/views/copy-targets.js.map +1 -0
  106. package/lib/{event-views.d.ts → views/event-views.d.ts} +8 -8
  107. package/lib/{event-views.js → views/event-views.js} +64 -25
  108. package/lib/views/event-views.js.map +1 -0
  109. package/lib/{history-search.d.ts → views/history-search.d.ts} +2 -2
  110. package/lib/{history-search.js → views/history-search.js} +3 -3
  111. package/lib/views/history-search.js.map +1 -0
  112. package/lib/views/history-store.js.map +1 -0
  113. package/lib/{hotkeys.d.ts → views/hotkeys.d.ts} +1 -1
  114. package/lib/{hotkeys.js → views/hotkeys.js} +1 -1
  115. package/lib/views/hotkeys.js.map +1 -0
  116. package/lib/{path-complete.d.ts → views/path-complete.d.ts} +2 -2
  117. package/lib/{path-complete.js → views/path-complete.js} +1 -1
  118. package/lib/views/path-complete.js.map +1 -0
  119. package/lib/{prompt-selector.d.ts → views/prompt-selector.d.ts} +2 -2
  120. package/lib/{prompt-selector.js → views/prompt-selector.js} +4 -4
  121. package/lib/views/prompt-selector.js.map +1 -0
  122. package/lib/{settings-list.d.ts → views/settings-list.d.ts} +11 -6
  123. package/lib/{settings-list.js → views/settings-list.js} +217 -85
  124. package/lib/views/settings-list.js.map +1 -0
  125. package/lib/views/transcript-export.js.map +1 -0
  126. package/package.json +64 -54
  127. package/lib/autocomplete.js.map +0 -1
  128. package/lib/box.js.map +0 -1
  129. package/lib/clipboard.js.map +0 -1
  130. package/lib/command-auth.js.map +0 -1
  131. package/lib/command-export.js.map +0 -1
  132. package/lib/command-integrations.js.map +0 -1
  133. package/lib/command-loop.js.map +0 -1
  134. package/lib/command-model.js.map +0 -1
  135. package/lib/command-output.js.map +0 -1
  136. package/lib/command-permission.js.map +0 -1
  137. package/lib/command-registration.js.map +0 -1
  138. package/lib/command-session.js.map +0 -1
  139. package/lib/command-steer.js.map +0 -1
  140. package/lib/copy-selector.js.map +0 -1
  141. package/lib/copy-targets.js.map +0 -1
  142. package/lib/editor.js.map +0 -1
  143. package/lib/event-views.js.map +0 -1
  144. package/lib/external-editor.js.map +0 -1
  145. package/lib/history-search.js.map +0 -1
  146. package/lib/history-store.js.map +0 -1
  147. package/lib/hotkeys.js.map +0 -1
  148. package/lib/human-interaction.js.map +0 -1
  149. package/lib/image-paste.js.map +0 -1
  150. package/lib/interaction-adapter.js.map +0 -1
  151. package/lib/keybindings-config.js.map +0 -1
  152. package/lib/keys.js.map +0 -1
  153. package/lib/markdown.d.ts +0 -13
  154. package/lib/markdown.js +0 -453
  155. package/lib/markdown.js.map +0 -1
  156. package/lib/package-metadata.js.map +0 -1
  157. package/lib/path-complete.js.map +0 -1
  158. package/lib/path-mentions.js.map +0 -1
  159. package/lib/project-context.js.map +0 -1
  160. package/lib/project-file-search.js.map +0 -1
  161. package/lib/prompt-selector.js.map +0 -1
  162. package/lib/provider-local.js.map +0 -1
  163. package/lib/relative-time.js.map +0 -1
  164. package/lib/release-notes.js.map +0 -1
  165. package/lib/renderer.js.map +0 -1
  166. package/lib/runner.js.map +0 -1
  167. package/lib/session-controller.js.map +0 -1
  168. package/lib/session-runtime.js.map +0 -1
  169. package/lib/settings-list.js.map +0 -1
  170. package/lib/startup-notices.js.map +0 -1
  171. package/lib/status-config.d.ts +0 -32
  172. package/lib/status-config.js +0 -52
  173. package/lib/status-config.js.map +0 -1
  174. package/lib/status-line.js.map +0 -1
  175. package/lib/style.js.map +0 -1
  176. package/lib/theme.js +0 -317
  177. package/lib/theme.js.map +0 -1
  178. package/lib/tool-presentation.js.map +0 -1
  179. package/lib/tool-renderers.js.map +0 -1
  180. package/lib/tools-list.js.map +0 -1
  181. package/lib/transcript-export.js.map +0 -1
  182. package/lib/tui-settings.js +0 -26
  183. package/lib/tui-settings.js.map +0 -1
  184. package/lib/update-check.js.map +0 -1
  185. package/lib/welcome-tips.js.map +0 -1
  186. package/lib/width.js.map +0 -1
  187. /package/lib/{command-output.d.ts → chrome/command-output.d.ts} +0 -0
  188. /package/lib/{command-output.js → chrome/command-output.js} +0 -0
  189. /package/lib/{path-mentions.d.ts → chrome/path-mentions.d.ts} +0 -0
  190. /package/lib/{path-mentions.js → chrome/path-mentions.js} +0 -0
  191. /package/lib/{relative-time.d.ts → chrome/relative-time.d.ts} +0 -0
  192. /package/lib/{relative-time.js → chrome/relative-time.js} +0 -0
  193. /package/lib/{renderer.d.ts → chrome/renderer.d.ts} +0 -0
  194. /package/lib/{renderer.js → chrome/renderer.js} +0 -0
  195. /package/lib/{style.d.ts → chrome/style.d.ts} +0 -0
  196. /package/lib/{style.js → chrome/style.js} +0 -0
  197. /package/lib/{tool-renderers.d.ts → chrome/tool-renderers.d.ts} +0 -0
  198. /package/lib/{tools-list.d.ts → chrome/tools-list.d.ts} +0 -0
  199. /package/lib/{tools-list.js → chrome/tools-list.js} +0 -0
  200. /package/lib/{welcome-tips.d.ts → chrome/welcome-tips.d.ts} +0 -0
  201. /package/lib/{width.d.ts → chrome/width.d.ts} +0 -0
  202. /package/lib/{width.js → chrome/width.js} +0 -0
  203. /package/lib/{command-auth.d.ts → commands/auth.d.ts} +0 -0
  204. /package/lib/{command-export.d.ts → commands/export.d.ts} +0 -0
  205. /package/lib/{command-integrations.d.ts → commands/integrations.d.ts} +0 -0
  206. /package/lib/{command-model.d.ts → commands/model.d.ts} +0 -0
  207. /package/lib/{command-permission.d.ts → commands/permission.d.ts} +0 -0
  208. /package/lib/{command-registration.d.ts → commands/registration.d.ts} +0 -0
  209. /package/lib/{command-session.d.ts → commands/session.d.ts} +0 -0
  210. /package/lib/{command-steer.d.ts → commands/steer.d.ts} +0 -0
  211. /package/lib/{clipboard.d.ts → input/clipboard.d.ts} +0 -0
  212. /package/lib/{clipboard.js → input/clipboard.js} +0 -0
  213. /package/lib/{editor.d.ts → input/editor.d.ts} +0 -0
  214. /package/lib/{editor.js → input/editor.js} +0 -0
  215. /package/lib/{external-editor.d.ts → input/external-editor.d.ts} +0 -0
  216. /package/lib/{external-editor.js → input/external-editor.js} +0 -0
  217. /package/lib/{image-paste.js → input/image-paste.js} +0 -0
  218. /package/lib/{keybindings-config.d.ts → input/keybindings-config.d.ts} +0 -0
  219. /package/lib/{keybindings-config.js → input/keybindings-config.js} +0 -0
  220. /package/lib/{keys.d.ts → input/keys.d.ts} +0 -0
  221. /package/lib/{keys.js → input/keys.js} +0 -0
  222. /package/lib/{human-interaction.d.ts → runtime/human-interaction.d.ts} +0 -0
  223. /package/lib/{runner.d.ts → runtime/runner.d.ts} +0 -0
  224. /package/lib/{runner.js → runtime/runner.js} +0 -0
  225. /package/lib/{startup-notices.d.ts → runtime/startup-notices.d.ts} +0 -0
  226. /package/lib/{tool-presentation.js → runtime/tool-presentation.js} +0 -0
  227. /package/lib/{interaction-adapter.js → session/interaction-adapter.js} +0 -0
  228. /package/lib/{package-metadata.d.ts → session/package-metadata.d.ts} +0 -0
  229. /package/lib/{project-context.d.ts → session/project-context.d.ts} +0 -0
  230. /package/lib/{project-context.js → session/project-context.js} +0 -0
  231. /package/lib/{project-file-search.d.ts → session/project-file-search.d.ts} +0 -0
  232. /package/lib/{project-file-search.js → session/project-file-search.js} +0 -0
  233. /package/lib/{release-notes.d.ts → session/release-notes.d.ts} +0 -0
  234. /package/lib/{release-notes.js → session/release-notes.js} +0 -0
  235. /package/lib/{update-check.d.ts → session/update-check.d.ts} +0 -0
  236. /package/lib/{update-check.js → session/update-check.js} +0 -0
  237. /package/lib/{copy-targets.d.ts → views/copy-targets.d.ts} +0 -0
  238. /package/lib/{copy-targets.js → views/copy-targets.js} +0 -0
  239. /package/lib/{history-store.d.ts → views/history-store.d.ts} +0 -0
  240. /package/lib/{history-store.js → views/history-store.js} +0 -0
  241. /package/lib/{transcript-export.d.ts → views/transcript-export.d.ts} +0 -0
  242. /package/lib/{transcript-export.js → views/transcript-export.js} +0 -0
@@ -4,11 +4,11 @@ import { homedir } from 'node:os';
4
4
  import { join } from 'node:path';
5
5
  import { fileURLToPath } from 'node:url';
6
6
  import { settingsNamespace } from '@deepseek-ai/dsh-settings';
7
- import { registerCommands } from "./command-registration.js";
8
- import { changelogText, resolveStartupChangelog } from "./release-notes.js";
9
- import { APP_VERSION, PACKAGE_NAME } from "./package-metadata.js";
10
- import { TUI_SETTINGS_NAMESPACE } from "./tui-settings.js";
11
- import { checkForUpdate } from "./update-check.js";
7
+ import { registerCommands } from "../commands/registration.js";
8
+ import { changelogText, resolveStartupChangelog } from "../session/release-notes.js";
9
+ import { APP_VERSION, PACKAGE_NAME } from "../session/package-metadata.js";
10
+ import { TUI_SETTINGS_NAMESPACE } from "../session/tui-settings.js";
11
+ import { checkForUpdate } from "../session/update-check.js";
12
12
  export const name = 'omdsh-startup-notices';
13
13
  export const inject = ['commands', 'settings', 'tui'];
14
14
  function errorCode(error) {
@@ -131,7 +131,7 @@ export function apply(ctx, config = {}) {
131
131
  throw new Error('omdsh-startup-notices: the tui provider must be mounted');
132
132
  const resolved = {
133
133
  currentVersion: config.currentVersion ?? APP_VERSION,
134
- changelogPath: config.changelogPath ?? fileURLToPath(new URL('./CHANGELOG.md', import.meta.url)),
134
+ changelogPath: config.changelogPath ?? fileURLToPath(new URL('../CHANGELOG.md', import.meta.url)),
135
135
  dshHome: config.dshHome ?? process.env.OMDSH_HOME ?? process.env.DSH_HOME ?? join(homedir(), '.dsh'),
136
136
  packageName: config.packageName ?? PACKAGE_NAME,
137
137
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startup-notices.js","sourceRoot":"","sources":["../../src/runtime/startup-notices.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  import type { Context } from '@deepseek-ai/cordis';
3
3
  import type { Agent } from '@deepseek-ai/dsh-agent';
4
4
  import type { SessionEvent } from '@deepseek-ai/dsh-session';
5
- import type { TuiToolPresentation } from './tool-renderers.ts';
5
+ import type { TuiToolPresentation } from '../chrome/tool-renderers.ts';
6
6
  export declare const name = "omdsh-tool-presentation";
7
7
  export declare const inject: string[];
8
8
  export interface ToolPresentationBridge {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-presentation.js","sourceRoot":"","sources":["../../src/runtime/tool-presentation.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  import type { Context } from '@deepseek-ai/cordis';
9
9
  import type { Agent } from '@deepseek-ai/dsh-agent';
10
10
  import type { AskUserQuestionItem } from '@deepseek-ai/dsh-user-questions';
11
- import type { TuiService } from './definition.ts';
11
+ import type { TuiService } from '../definition.ts';
12
12
  /** Resolve a label/number list while preserving unmatched input as custom text. */
13
13
  export declare function parsePromptAnswer(input: string, question: Pick<AskUserQuestionItem, 'options' | 'multiSelect'>): {
14
14
  selected: string[];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction-adapter.js","sourceRoot":"","sources":["../../src/session/interaction-adapter.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { fileURLToPath } from 'node:url';
4
4
  export const APP_NAME = 'omdsh';
5
5
  export const PACKAGE_NAME = '@agi-fans/oh-my-dsh';
6
6
  function readPackageVersion() {
7
- const manifest = JSON.parse(readFileSync(fileURLToPath(new URL('../package.json', import.meta.url)), 'utf8'));
7
+ const manifest = JSON.parse(readFileSync(fileURLToPath(new URL('../../package.json', import.meta.url)), 'utf8'));
8
8
  return typeof manifest.version === 'string' ? manifest.version : '0.0.0';
9
9
  }
10
10
  export const APP_VERSION = readPackageVersion();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-metadata.js","sourceRoot":"","sources":["../../src/session/package-metadata.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAE/E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAA;AAC/B,MAAM,CAAC,MAAM,YAAY,GAAG,qBAAqB,CAAA;AAEjD,SAAS,kBAAkB;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CACzB,YAAY,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAC3D,CAAA;IAC1B,OAAO,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;AAC1E,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../src/session/project-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-file-search.js","sourceRoot":"","sources":["../../src/session/project-file-search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-notes.js","sourceRoot":"","sources":["../../src/session/release-notes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /** Durable session configuration spanning Agent preset and tool presentation. */
2
+ import { type Session, type SessionEvent } from '@deepseek-ai/dsh-session';
3
+ import type { ToolPresentationMode } from '@deepseek-ai/dsh-tools';
4
+ declare module '@deepseek-ai/dsh-session/types' {
5
+ interface SessionEventMap {
6
+ /** Tool presentation selected before the session produced model history. */
7
+ 'omdsh/tools-selected': {
8
+ mode: ToolPresentationMode;
9
+ source: 'preset-default' | 'user';
10
+ };
11
+ }
12
+ }
13
+ export interface SessionConfiguration {
14
+ agentPreset: string;
15
+ tools: ToolPresentationMode;
16
+ toolsSource: 'preset-default' | 'user';
17
+ }
18
+ /** PTC starts in Code presentation; the other shipped presets start Native. */
19
+ export declare function defaultToolPresentation(agentPreset: string): ToolPresentationMode;
20
+ /** Reconstruct tool presentation from the log, falling back to the preset default. */
21
+ export declare function resolveToolPresentation(events: readonly SessionEvent[], agentPreset: string): Pick<SessionConfiguration, 'tools' | 'toolsSource'>;
22
+ /** Agent composition may change only before any model-visible history exists. */
23
+ export declare function isBlankSession(session: Session): boolean;
24
+ export declare function formatAgentPreset(id: string): string;
25
+ export declare function formatToolPresentation(mode: ToolPresentationMode): string;
@@ -0,0 +1,56 @@
1
+ /** Durable session configuration spanning Agent preset and tool presentation. */
2
+ import { KNOWN_SESSION_EVENT_TYPES } from '@deepseek-ai/dsh-session';
3
+ /**
4
+ * Persistence refuses an unknown event type that is not marked ignorable.
5
+ * `Session.append` cannot set that marker yet, so this process adds omdsh-owned
6
+ * log-only types to the published vocabulary before any resume or inspect.
7
+ */
8
+ function registerOmdshSessionEvents() {
9
+ KNOWN_SESSION_EVENT_TYPES.add('omdsh/tools-selected');
10
+ }
11
+ registerOmdshSessionEvents();
12
+ /** PTC starts in Code presentation; the other shipped presets start Native. */
13
+ export function defaultToolPresentation(agentPreset) {
14
+ return agentPreset === 'code' ? 'code' : 'native';
15
+ }
16
+ /** Reconstruct tool presentation from the log, falling back to the preset default. */
17
+ export function resolveToolPresentation(events, agentPreset) {
18
+ for (let index = events.length - 1; index >= 0; index -= 1) {
19
+ const event = events[index];
20
+ if (event?.type === 'omdsh/tools-selected') {
21
+ return { tools: event.data.mode, toolsSource: event.data.source };
22
+ }
23
+ }
24
+ return { tools: defaultToolPresentation(agentPreset), toolsSource: 'preset-default' };
25
+ }
26
+ /** Agent composition may change only before any model-visible history exists. */
27
+ export function isBlankSession(session) {
28
+ if (session.deriveMessages().length > 0)
29
+ return false;
30
+ return !session.events.some(event => event.type === 'request/header'
31
+ || event.type === 'request/context'
32
+ || event.type === 'turn/start'
33
+ || event.type === 'step/start'
34
+ || event.type === 'assistant/chunk'
35
+ || event.type === 'tool/call'
36
+ || event.type === 'tool/result');
37
+ }
38
+ export function formatAgentPreset(id) {
39
+ if (id === 'standard')
40
+ return 'Standard';
41
+ if (id === 'code')
42
+ return 'PTC';
43
+ if (id === 'minimal')
44
+ return 'Minimal';
45
+ if (id === 'cordis')
46
+ return 'Cordis';
47
+ return id;
48
+ }
49
+ export function formatToolPresentation(mode) {
50
+ if (mode === 'native')
51
+ return 'Native';
52
+ if (mode === 'code')
53
+ return 'Code';
54
+ return 'Both';
55
+ }
56
+ //# sourceMappingURL=session-configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-configuration.js","sourceRoot":"","sources":["../../src/session/session-configuration.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAEjF,OAAO,EAAE,yBAAyB,EAAmC,MAAM,0BAA0B,CAAA;AAarG;;;;GAIG;AACH,SAAS,0BAA0B;IAChC,yBAAyC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;AACxE,CAAC;AAED,0BAA0B,EAAE,CAAA;AAQ5B,+EAA+E;AAC/E,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,OAAO,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;AACnD,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,uBAAuB,CACrC,MAA+B,EAC/B,WAAmB;IAEnB,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3B,IAAI,KAAK,EAAE,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAC3C,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;QACnE,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,uBAAuB,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAA;AACvF,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IACrD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB;WAC/D,KAAK,CAAC,IAAI,KAAK,iBAAiB;WAChC,KAAK,CAAC,IAAI,KAAK,YAAY;WAC3B,KAAK,CAAC,IAAI,KAAK,YAAY;WAC3B,KAAK,CAAC,IAAI,KAAK,iBAAiB;WAChC,KAAK,CAAC,IAAI,KAAK,WAAW;WAC1B,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,IAAI,EAAE,KAAK,UAAU;QAAE,OAAO,UAAU,CAAA;IACxC,IAAI,EAAE,KAAK,MAAM;QAAE,OAAO,KAAK,CAAA;IAC/B,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACtC,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAA;IACpC,OAAO,EAAE,CAAA;AACX,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAA0B;IAC/D,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAA;IACtC,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,MAAM,CAAA;IAClC,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import type { Context } from '@deepseek-ai/cordis';
10
10
  import { type Agent, type ModelSelection } from '@deepseek-ai/dsh-agent';
11
+ import { type AgentPreset } from '@deepseek-ai/dsh-agent-presets';
11
12
  import { type LlmResolvedModelInfo, type UserMessage } from '@deepseek-ai/dsh-llm';
12
13
  import type { ImageAttachmentRef, SaveImageAttachment, StoredImageAttachment } from '@deepseek-ai/dsh-attachment';
13
14
  import type { PermissionSelect } from '@deepseek-ai/dsh-permission-presets/types';
@@ -16,7 +17,9 @@ import { type SkillSummary } from '@deepseek-ai/dsh-skill';
16
17
  import type { SessionStatsProjection } from '@deepseek-ai/dsh-session-stats/types';
17
18
  import type { ContextPressureProjection, TokenUsageProjection } from '@deepseek-ai/dsh-token-meter/client';
18
19
  import { type SessionEvent } from '@deepseek-ai/dsh-session';
19
- import type { TuiCommand, TuiRecentSession, TuiService, TuiSessionControls, TuiSessionStats, TuiSubmission } from './definition.ts';
20
+ import type { ToolPresentationMode } from '@deepseek-ai/dsh-tools';
21
+ import type { TuiCommand, TuiRecentSession, TuiService, TuiSessionControls, TuiSessionStats, TuiSubmission } from '../definition.ts';
22
+ import { type SessionConfiguration } from './session-configuration.ts';
20
23
  /** Projection values consumed as one consistent snapshot when the units exist. */
21
24
  export interface TuiStatsProjection {
22
25
  sessionStats?: SessionStatsProjection;
@@ -108,8 +111,16 @@ export declare class SessionRuntime {
108
111
  stats(agent?: Agent): TuiSessionStats;
109
112
  /** Effective reasoning effort after applying the selected model's adapter default. */
110
113
  reasoningEffort(agent?: Agent): string | undefined;
111
- /** Harness-owned collaboration and permission controls for the active Agent. */
114
+ /** Harness-owned workflow/access state plus creation-time Agent/tool configuration. */
112
115
  controls(agent?: Agent): TuiSessionControls;
116
+ /** Agent presets available from the live Harness roster. */
117
+ agentPresets(): Promise<readonly AgentPreset[]>;
118
+ /** Recompose one blank session and restore that preset's recommended tool presentation. */
119
+ changeAgentPreset(agent: Agent, id: string): Promise<SessionConfiguration>;
120
+ /** Change how one blank session exposes its real Harness tool registry to the model. */
121
+ changeToolPresentation(agent: Agent, mode: ToolPresentationMode): SessionConfiguration;
122
+ /** Select the Harness Plan Mode controller and immediately refresh terminal state. */
123
+ changeWorkflow(agent: Agent, active: boolean): 'committed' | 'queued' | 'cancelled' | 'noop';
113
124
  refreshRecent(): Promise<void>;
114
125
  dispose(): Promise<void>;
115
126
  }
@@ -8,14 +8,28 @@
8
8
  */
9
9
  import { randomUUID } from 'node:crypto';
10
10
  import { installModelSelection, } from '@deepseek-ai/dsh-agent';
11
+ import { resolveSessionPreset } from '@deepseek-ai/dsh-agent-presets';
11
12
  import { createUserMessage } from '@deepseek-ai/dsh-llm';
12
13
  import { isTokenDelta } from '@deepseek-ai/dsh-llm/message';
13
14
  import { isUserInvocable } from '@deepseek-ai/dsh-skill';
14
15
  import { SessionId } from '@deepseek-ai/dsh-session';
15
- import * as commandPermission from "./command-permission.js";
16
+ import * as commandPermission from "../commands/permission.js";
17
+ import { defaultToolPresentation, isBlankSession, resolveToolPresentation, } from "./session-configuration.js";
16
18
  async function setupAgentContext(agentCtx, selection) {
17
19
  installModelSelection(agentCtx, selection);
20
+ const agent = agentCtx.agent;
21
+ if (agent === undefined)
22
+ throw new Error('agent setup context has no agent');
23
+ const agentPresets = agentCtx.get('agentPresets');
24
+ const tools = agentCtx.get('tools');
25
+ if (agentPresets === undefined || tools === undefined)
26
+ throw new Error('agent configuration services are unavailable');
27
+ const agentPreset = resolveSessionPreset(agent.session) ?? agentPresets.defaultId;
28
+ const mounted = await agentPresets.mount(agentCtx, agentPreset);
29
+ const presentation = resolveToolPresentation(agent.session.events, mounted.id);
30
+ const disposeToolPresentation = tools.presentAs(presentation.tools);
18
31
  await agentCtx.plugin(commandPermission);
32
+ return { agentPreset: mounted.id, ...presentation, disposeToolPresentation };
19
33
  }
20
34
  function parseControl(line) {
21
35
  const match = /^\/([a-z][a-z0-9_-]*(?::[a-z0-9][a-z0-9_-]*)?)(?:\s+(.*))?$/su.exec(line.trim());
@@ -480,13 +494,31 @@ export class SessionRuntime {
480
494
  this.assertActive(agent);
481
495
  const selection = this.selection(agent);
482
496
  const ref = { current: selection, assembled: undefined };
497
+ let configured;
483
498
  const handle = await this.#ctx.agents.resume({
484
499
  resumeSessionId: SessionId(id),
485
500
  agentOptions: { provider: selection.provider, model: selection.model },
486
501
  signal,
487
- setup: agentCtx => setupAgentContext(agentCtx, ref),
502
+ setup: async (agentCtx) => { configured = await setupAgentContext(agentCtx, ref); },
503
+ });
504
+ const configuration = configured;
505
+ if (configuration === undefined) {
506
+ await handle.dispose();
507
+ throw new Error('resumed agent was published without session configuration');
508
+ }
509
+ this.#pinToolPresentation(handle.agent, configuration);
510
+ await this.#activate({
511
+ handle,
512
+ selection: ref,
513
+ contextWindow: undefined,
514
+ reasoningEffort: undefined,
515
+ configuration: {
516
+ agentPreset: configuration.agentPreset,
517
+ tools: configuration.tools,
518
+ toolsSource: configuration.toolsSource,
519
+ },
520
+ disposeToolPresentation: configuration.disposeToolPresentation,
488
521
  });
489
- await this.#activate({ handle, selection: ref, contextWindow: undefined, reasoningEffort: undefined });
490
522
  await this.refreshRecent();
491
523
  }
492
524
  /** Fork before a selected human turn and restore that message as an editable draft. */
@@ -559,6 +591,8 @@ export class SessionRuntime {
559
591
  this.assertActive(agent);
560
592
  const selection = this.selection(agent);
561
593
  const ref = { current: selection, assembled: undefined };
594
+ const active = this.#requiredActive();
595
+ let configured;
562
596
  const handle = await this.#ctx.agents.create({
563
597
  sessionId: SessionId('session-' + randomUUID()),
564
598
  seed: events.slice(0, selected.branchIndex),
@@ -566,10 +600,11 @@ export class SessionRuntime {
566
600
  ...(agent.session.header.cwd === undefined ? {} : { cwd: agent.session.header.cwd }),
567
601
  parentSession: agent.id,
568
602
  seedLength: selected.branchIndex,
603
+ agentPreset: active.configuration.agentPreset,
569
604
  },
570
605
  agentOptions: { provider: selection.provider, model: selection.model },
571
606
  signal,
572
- setup: agentCtx => setupAgentContext(agentCtx, ref),
607
+ setup: async (agentCtx) => { configured = await setupAgentContext(agentCtx, ref); },
573
608
  });
574
609
  try {
575
610
  this.assertActive(agent);
@@ -578,7 +613,24 @@ export class SessionRuntime {
578
613
  await handle.dispose();
579
614
  throw error;
580
615
  }
581
- await this.#activate({ handle, selection: ref, contextWindow: undefined, reasoningEffort: undefined });
616
+ const configuration = configured;
617
+ if (configuration === undefined) {
618
+ await handle.dispose();
619
+ throw new Error('forked agent was published without session configuration');
620
+ }
621
+ this.#pinToolPresentation(handle.agent, configuration);
622
+ await this.#activate({
623
+ handle,
624
+ selection: ref,
625
+ contextWindow: undefined,
626
+ reasoningEffort: undefined,
627
+ configuration: {
628
+ agentPreset: configuration.agentPreset,
629
+ tools: configuration.tools,
630
+ toolsSource: configuration.toolsSource,
631
+ },
632
+ disposeToolPresentation: configuration.disposeToolPresentation,
633
+ });
582
634
  this.#tui.restoreInput({ text, images });
583
635
  this.#tui.notice(`Rewound to before turn ${selected.turn}. The original session remains available in /resume.`);
584
636
  await this.#disposeRetired();
@@ -594,10 +646,68 @@ export class SessionRuntime {
594
646
  this.assertActive(agent);
595
647
  return this.#requiredActive().reasoningEffort;
596
648
  }
597
- /** Harness-owned collaboration and permission controls for the active Agent. */
649
+ /** Harness-owned workflow/access state plus creation-time Agent/tool configuration. */
598
650
  controls(agent = this.#requiredAgent()) {
599
651
  this.assertActive(agent);
600
- return sessionControls(this.#projection(this.#requiredActive()));
652
+ const active = this.#requiredActive();
653
+ return this.#sessionControls(active, this.#projection(active));
654
+ }
655
+ /** Agent presets available from the live Harness roster. */
656
+ async agentPresets() {
657
+ return (await this.#ctx.agentPresets.list()).sort((left, right) => (left.order ?? Number.MAX_SAFE_INTEGER) - (right.order ?? Number.MAX_SAFE_INTEGER)
658
+ || left.id.localeCompare(right.id));
659
+ }
660
+ /** Recompose one blank session and restore that preset's recommended tool presentation. */
661
+ async changeAgentPreset(agent, id) {
662
+ this.assertActive(agent);
663
+ if (!isBlankSession(agent.session)) {
664
+ throw new Error('Agent is locked after the first prompt. Start /new, then choose the Agent before sending a message.');
665
+ }
666
+ const active = this.#requiredActive();
667
+ if (active.configuration.agentPreset === id)
668
+ return { ...active.configuration };
669
+ const previousPreset = active.configuration.agentPreset;
670
+ const preset = await this.#ctx.agentPresets.recompose(agent.ctx, id);
671
+ try {
672
+ this.#replaceToolPresentation(active, defaultToolPresentation(preset.id), 'preset-default');
673
+ }
674
+ catch (error) {
675
+ await this.#ctx.agentPresets.recompose(agent.ctx, previousPreset);
676
+ throw error;
677
+ }
678
+ active.configuration.agentPreset = preset.id;
679
+ agent.session.append('agent-preset/selected', { agentPreset: preset.id });
680
+ this.#pushTools();
681
+ this.#pushCommands();
682
+ await this.#refreshSkills();
683
+ this.#replaceTranscript(agent);
684
+ this.#pushSessionInfo();
685
+ return { ...active.configuration };
686
+ }
687
+ /** Change how one blank session exposes its real Harness tool registry to the model. */
688
+ changeToolPresentation(agent, mode) {
689
+ this.assertActive(agent);
690
+ if (!isBlankSession(agent.session)) {
691
+ throw new Error('Tools are locked after the first prompt. Start /new, then choose the tool presentation before sending a message.');
692
+ }
693
+ const active = this.#requiredActive();
694
+ if (active.configuration.tools !== mode || active.configuration.toolsSource !== 'user') {
695
+ this.#replaceToolPresentation(active, mode, 'user');
696
+ this.#pushTools();
697
+ this.#replaceTranscript(agent);
698
+ this.#pushSessionInfo();
699
+ }
700
+ return { ...active.configuration };
701
+ }
702
+ /** Select the Harness Plan Mode controller and immediately refresh terminal state. */
703
+ changeWorkflow(agent, active) {
704
+ this.assertActive(agent);
705
+ const planMode = this.#ctx.get('planMode');
706
+ if (planMode === undefined)
707
+ throw new Error('Plan workflow is not configured.');
708
+ const outcome = planMode.set(agent, active);
709
+ this.#pushSessionInfo();
710
+ return outcome;
601
711
  }
602
712
  async refreshRecent() {
603
713
  const persistence = this.#ctx.get('sessionPersistence');
@@ -648,13 +758,32 @@ export class SessionRuntime {
648
758
  }
649
759
  async #create(selection) {
650
760
  const ref = { current: selection, assembled: undefined };
761
+ const preset = await this.#ctx.agentPresets.resolve();
762
+ let configured;
651
763
  const handle = await this.#ctx.agents.create({
652
764
  sessionId: SessionId('session-' + randomUUID()),
653
- meta: { cwd: process.cwd() },
765
+ meta: { cwd: process.cwd(), agentPreset: preset.id },
654
766
  agentOptions: { provider: selection.provider, model: selection.model },
655
- setup: agentCtx => setupAgentContext(agentCtx, ref),
767
+ setup: async (agentCtx) => { configured = await setupAgentContext(agentCtx, ref); },
656
768
  });
657
- return { handle, selection: ref, contextWindow: undefined, reasoningEffort: undefined };
769
+ const configuration = configured;
770
+ if (configuration === undefined) {
771
+ await handle.dispose();
772
+ throw new Error('created agent was published without session configuration');
773
+ }
774
+ this.#pinToolPresentation(handle.agent, configuration);
775
+ return {
776
+ handle,
777
+ selection: ref,
778
+ contextWindow: undefined,
779
+ reasoningEffort: undefined,
780
+ configuration: {
781
+ agentPreset: configuration.agentPreset,
782
+ tools: configuration.tools,
783
+ toolsSource: configuration.toolsSource,
784
+ },
785
+ disposeToolPresentation: configuration.disposeToolPresentation,
786
+ };
658
787
  }
659
788
  async #resolveModelInfo(selection) {
660
789
  try {
@@ -739,13 +868,54 @@ export class SessionRuntime {
739
868
  id: agent.id,
740
869
  recent: this.#recent.filter(row => row.id !== agent.id),
741
870
  stats: this.#stats(active, projection),
742
- controls: sessionControls(projection),
871
+ controls: this.#sessionControls(active, projection),
743
872
  });
744
873
  }
874
+ #pinToolPresentation(agent, configuration) {
875
+ const selected = resolveToolPresentation(agent.session.events, configuration.agentPreset);
876
+ if (agent.session.events.some(event => event.type === 'omdsh/tools-selected'))
877
+ return;
878
+ agent.session.append('omdsh/tools-selected', {
879
+ mode: selected.tools,
880
+ source: selected.toolsSource,
881
+ });
882
+ }
883
+ #replaceToolPresentation(active, mode, source) {
884
+ const previousMode = active.configuration.tools;
885
+ active.disposeToolPresentation();
886
+ try {
887
+ const tools = active.handle.agent.ctx.get('tools');
888
+ if (tools === undefined)
889
+ throw new Error('tool registry is unavailable');
890
+ active.disposeToolPresentation = tools.presentAs(mode);
891
+ }
892
+ catch (error) {
893
+ const tools = active.handle.agent.ctx.get('tools');
894
+ if (tools === undefined)
895
+ throw error;
896
+ active.disposeToolPresentation = tools.presentAs(previousMode);
897
+ throw error;
898
+ }
899
+ active.configuration.tools = mode;
900
+ active.configuration.toolsSource = source;
901
+ active.handle.agent.session.append('omdsh/tools-selected', { mode, source });
902
+ }
745
903
  #replaceTranscript(agent) {
746
904
  const events = agent.session.events;
747
905
  this.#tui.replaceSession(events, this.#ctx.get('tuiToolPresentation')?.session(agent, events));
748
906
  }
907
+ #sessionControls(active, projection) {
908
+ const controls = sessionControls(projection);
909
+ const livePlan = this.#ctx.get('planMode')?.get(active.handle.agent);
910
+ return {
911
+ ...controls,
912
+ agentPreset: active.configuration.agentPreset,
913
+ tools: active.configuration.tools,
914
+ ...(livePlan === undefined
915
+ ? {}
916
+ : { plan: { active: livePlan.active, pending: livePlan.pending !== undefined } }),
917
+ };
918
+ }
749
919
  /** Read one consistent projection cut, with the complete-log fold as fallback. */
750
920
  #projection(active) {
751
921
  return this.#ctx.get('sessionProjections')?.snapshot(active.handle.agent.session).values;