@leanandmean/coding-agent 0.74.1-scramjet.6 → 0.74.1-scramjet.60

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 (227) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/LICENSE +202 -0
  3. package/README.md +21 -9
  4. package/dist/cli/args.d.ts.map +1 -1
  5. package/dist/cli/args.js +1 -1
  6. package/dist/cli/args.js.map +1 -1
  7. package/dist/cli/initial-message.d.ts +1 -0
  8. package/dist/cli/initial-message.d.ts.map +1 -1
  9. package/dist/cli/initial-message.js +3 -0
  10. package/dist/cli/initial-message.js.map +1 -1
  11. package/dist/cli/list-models.d.ts +2 -0
  12. package/dist/cli/list-models.d.ts.map +1 -1
  13. package/dist/cli/list-models.js +4 -1
  14. package/dist/cli/list-models.js.map +1 -1
  15. package/dist/config.d.ts +9 -2
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/config.js +33 -22
  18. package/dist/config.js.map +1 -1
  19. package/dist/core/agent-session-runtime.d.ts +12 -3
  20. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  21. package/dist/core/agent-session-runtime.js +64 -38
  22. package/dist/core/agent-session-runtime.js.map +1 -1
  23. package/dist/core/agent-session-services.d.ts +1 -0
  24. package/dist/core/agent-session-services.d.ts.map +1 -1
  25. package/dist/core/agent-session-services.js +2 -0
  26. package/dist/core/agent-session-services.js.map +1 -1
  27. package/dist/core/agent-session.d.ts +86 -16
  28. package/dist/core/agent-session.d.ts.map +1 -1
  29. package/dist/core/agent-session.js +865 -181
  30. package/dist/core/agent-session.js.map +1 -1
  31. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  32. package/dist/core/compaction/branch-summarization.js +21 -17
  33. package/dist/core/compaction/branch-summarization.js.map +1 -1
  34. package/dist/core/compaction/compaction.d.ts +3 -5
  35. package/dist/core/compaction/compaction.d.ts.map +1 -1
  36. package/dist/core/compaction/compaction.js +43 -10
  37. package/dist/core/compaction/compaction.js.map +1 -1
  38. package/dist/core/exec.d.ts +12 -0
  39. package/dist/core/exec.d.ts.map +1 -1
  40. package/dist/core/exec.js +74 -28
  41. package/dist/core/exec.js.map +1 -1
  42. package/dist/core/export-html/template.js +4 -0
  43. package/dist/core/extensions/index.d.ts +1 -1
  44. package/dist/core/extensions/index.d.ts.map +1 -1
  45. package/dist/core/extensions/index.js.map +1 -1
  46. package/dist/core/extensions/loader.d.ts.map +1 -1
  47. package/dist/core/extensions/loader.js +7 -0
  48. package/dist/core/extensions/loader.js.map +1 -1
  49. package/dist/core/extensions/runner.d.ts +9 -5
  50. package/dist/core/extensions/runner.d.ts.map +1 -1
  51. package/dist/core/extensions/runner.js +162 -3
  52. package/dist/core/extensions/runner.js.map +1 -1
  53. package/dist/core/extensions/types.d.ts +110 -6
  54. package/dist/core/extensions/types.d.ts.map +1 -1
  55. package/dist/core/extensions/types.js.map +1 -1
  56. package/dist/core/keybindings.d.ts +8 -0
  57. package/dist/core/keybindings.d.ts.map +1 -1
  58. package/dist/core/model-registry.d.ts +4 -0
  59. package/dist/core/model-registry.d.ts.map +1 -1
  60. package/dist/core/model-registry.js +179 -28
  61. package/dist/core/model-registry.js.map +1 -1
  62. package/dist/core/model-resolver.d.ts.map +1 -1
  63. package/dist/core/model-resolver.js +24 -6
  64. package/dist/core/model-resolver.js.map +1 -1
  65. package/dist/core/output-throughput-history.d.ts +25 -0
  66. package/dist/core/output-throughput-history.d.ts.map +1 -0
  67. package/dist/core/output-throughput-history.js +240 -0
  68. package/dist/core/output-throughput-history.js.map +1 -0
  69. package/dist/core/output-throughput.d.ts +43 -0
  70. package/dist/core/output-throughput.d.ts.map +1 -0
  71. package/dist/core/output-throughput.js +161 -0
  72. package/dist/core/output-throughput.js.map +1 -0
  73. package/dist/core/resource-loader.d.ts +6 -0
  74. package/dist/core/resource-loader.d.ts.map +1 -1
  75. package/dist/core/resource-loader.js +76 -21
  76. package/dist/core/resource-loader.js.map +1 -1
  77. package/dist/core/scramjet-command-parser.d.ts +4 -0
  78. package/dist/core/scramjet-command-parser.d.ts.map +1 -1
  79. package/dist/core/scramjet-command-parser.js +72 -1
  80. package/dist/core/scramjet-command-parser.js.map +1 -1
  81. package/dist/core/sdk.d.ts +2 -0
  82. package/dist/core/sdk.d.ts.map +1 -1
  83. package/dist/core/sdk.js +61 -10
  84. package/dist/core/sdk.js.map +1 -1
  85. package/dist/core/session-manager.d.ts +11 -3
  86. package/dist/core/session-manager.d.ts.map +1 -1
  87. package/dist/core/session-manager.js +46 -11
  88. package/dist/core/session-manager.js.map +1 -1
  89. package/dist/core/settings-manager.d.ts +18 -6
  90. package/dist/core/settings-manager.d.ts.map +1 -1
  91. package/dist/core/settings-manager.js +84 -16
  92. package/dist/core/settings-manager.js.map +1 -1
  93. package/dist/core/skills.d.ts.map +1 -1
  94. package/dist/core/skills.js +6 -2
  95. package/dist/core/skills.js.map +1 -1
  96. package/dist/core/system-prompt.d.ts +2 -0
  97. package/dist/core/system-prompt.d.ts.map +1 -1
  98. package/dist/core/system-prompt.js +5 -2
  99. package/dist/core/system-prompt.js.map +1 -1
  100. package/dist/core/tools/bash.d.ts.map +1 -1
  101. package/dist/core/tools/bash.js +4 -3
  102. package/dist/core/tools/bash.js.map +1 -1
  103. package/dist/index.d.ts +4 -3
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +3 -2
  106. package/dist/index.js.map +1 -1
  107. package/dist/main.d.ts +16 -0
  108. package/dist/main.d.ts.map +1 -1
  109. package/dist/main.js +38 -10
  110. package/dist/main.js.map +1 -1
  111. package/dist/modes/interactive/components/armin.d.ts +4 -2
  112. package/dist/modes/interactive/components/armin.d.ts.map +1 -1
  113. package/dist/modes/interactive/components/armin.js +14 -8
  114. package/dist/modes/interactive/components/armin.js.map +1 -1
  115. package/dist/modes/interactive/components/assistant-message.d.ts +3 -1
  116. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  117. package/dist/modes/interactive/components/assistant-message.js +19 -8
  118. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  119. package/dist/modes/interactive/components/daxnuts.d.ts +4 -1
  120. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
  121. package/dist/modes/interactive/components/daxnuts.js +14 -6
  122. package/dist/modes/interactive/components/daxnuts.js.map +1 -1
  123. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  124. package/dist/modes/interactive/components/extension-editor.js +5 -3
  125. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  126. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  127. package/dist/modes/interactive/components/extension-selector.js +4 -3
  128. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  129. package/dist/modes/interactive/components/footer.d.ts +4 -0
  130. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  131. package/dist/modes/interactive/components/footer.js +22 -18
  132. package/dist/modes/interactive/components/footer.js.map +1 -1
  133. package/dist/modes/interactive/components/model-selector.d.ts +3 -1
  134. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  135. package/dist/modes/interactive/components/model-selector.js +9 -3
  136. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  137. package/dist/modes/interactive/components/scoped-models-selector.d.ts +3 -1
  138. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  139. package/dist/modes/interactive/components/scoped-models-selector.js +8 -2
  140. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  141. package/dist/modes/interactive/components/settings-selector.d.ts +17 -3
  142. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  143. package/dist/modes/interactive/components/settings-selector.js +87 -16
  144. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  145. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  146. package/dist/modes/interactive/components/thinking-selector.js +2 -1
  147. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  148. package/dist/modes/interactive/components/tool-execution.d.ts +19 -1
  149. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  150. package/dist/modes/interactive/components/tool-execution.js +129 -36
  151. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  152. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  153. package/dist/modes/interactive/components/user-message.js +3 -2
  154. package/dist/modes/interactive/components/user-message.js.map +1 -1
  155. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
  156. package/dist/modes/interactive/components/visual-truncate.js +2 -2
  157. package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
  158. package/dist/modes/interactive/interactive-mode.d.ts +37 -1
  159. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  160. package/dist/modes/interactive/interactive-mode.js +876 -175
  161. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  162. package/dist/modes/interactive/spellcheck.d.ts +26 -0
  163. package/dist/modes/interactive/spellcheck.d.ts.map +1 -0
  164. package/dist/modes/interactive/spellcheck.js +144 -0
  165. package/dist/modes/interactive/spellcheck.js.map +1 -0
  166. package/dist/modes/interactive/theme/{dark.json → pi-dark.json} +3 -2
  167. package/dist/modes/interactive/theme/{light.json → pi-light.json} +27 -26
  168. package/dist/modes/interactive/theme/theme-schema.json +6 -1
  169. package/dist/modes/interactive/theme/theme.d.ts +24 -4
  170. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  171. package/dist/modes/interactive/theme/theme.js +123 -22
  172. package/dist/modes/interactive/theme/theme.js.map +1 -1
  173. package/dist/modes/print-mode.d.ts.map +1 -1
  174. package/dist/modes/print-mode.js +5 -0
  175. package/dist/modes/print-mode.js.map +1 -1
  176. package/dist/modes/rpc/rpc-client.d.ts +3 -1
  177. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  178. package/dist/modes/rpc/rpc-client.js.map +1 -1
  179. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  180. package/dist/modes/rpc/rpc-mode.js +6 -1
  181. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  182. package/dist/package-manager-cli.d.ts.map +1 -1
  183. package/dist/package-manager-cli.js +33 -14
  184. package/dist/package-manager-cli.js.map +1 -1
  185. package/dist/utils/clipboard-native.d.ts +1 -0
  186. package/dist/utils/clipboard-native.d.ts.map +1 -1
  187. package/dist/utils/clipboard-native.js.map +1 -1
  188. package/dist/utils/clipboard.d.ts +6 -0
  189. package/dist/utils/clipboard.d.ts.map +1 -1
  190. package/dist/utils/clipboard.js +278 -10
  191. package/dist/utils/clipboard.js.map +1 -1
  192. package/dist/utils/tools-manager.d.ts +1 -1
  193. package/dist/utils/tools-manager.d.ts.map +1 -1
  194. package/dist/utils/tools-manager.js +7 -6
  195. package/dist/utils/tools-manager.js.map +1 -1
  196. package/dist/utils/version-check.d.ts +17 -5
  197. package/dist/utils/version-check.d.ts.map +1 -1
  198. package/dist/utils/version-check.js +88 -21
  199. package/dist/utils/version-check.js.map +1 -1
  200. package/docs/compaction.md +9 -3
  201. package/docs/custom-provider.md +13 -4
  202. package/docs/extensions.md +139 -21
  203. package/docs/keybindings.md +25 -1
  204. package/docs/models.md +34 -2
  205. package/docs/packages.md +2 -0
  206. package/docs/prompt-templates.md +2 -0
  207. package/docs/quickstart.md +1 -4
  208. package/docs/rpc.md +8 -6
  209. package/docs/sdk.md +22 -3
  210. package/docs/session-format.md +2 -1
  211. package/docs/settings.md +13 -3
  212. package/docs/skills.md +7 -5
  213. package/docs/terminal-setup.md +79 -2
  214. package/docs/terminal-verification.md +71 -0
  215. package/docs/themes.md +63 -10
  216. package/docs/tui.md +120 -25
  217. package/docs/usage.md +6 -4
  218. package/examples/extensions/border-status-editor.ts +2 -3
  219. package/examples/extensions/doom-overlay/doom-component.ts +3 -3
  220. package/examples/extensions/mac-system-theme.ts +3 -2
  221. package/examples/extensions/modal-editor.ts +13 -8
  222. package/examples/extensions/overlay-qa-tests.ts +22 -9
  223. package/examples/extensions/overlay-test.ts +5 -3
  224. package/examples/extensions/snake.ts +3 -1
  225. package/examples/extensions/space-invaders.ts +6 -3
  226. package/examples/extensions/subagent/index.ts +20 -17
  227. package/package.json +69 -58
@@ -675,19 +675,16 @@ export default function (pi: ExtensionAPI) {
675
675
  theme.fg("toolTitle", theme.bold("subagent ")) +
676
676
  theme.fg("accent", `chain (${args.chain.length} steps)`) +
677
677
  theme.fg("muted", ` [${scope}]`);
678
- for (let i = 0; i < Math.min(args.chain.length, 3); i++) {
678
+ for (let i = 0; i < args.chain.length; i++) {
679
679
  const step = args.chain[i];
680
- // Clean up {previous} placeholder for display
681
680
  const cleanTask = step.task.replace(/\{previous\}/g, "").trim();
682
- const preview = cleanTask.length > 40 ? `${cleanTask.slice(0, 40)}...` : cleanTask;
683
681
  text +=
684
682
  "\n " +
685
683
  theme.fg("muted", `${i + 1}.`) +
686
684
  " " +
687
685
  theme.fg("accent", step.agent) +
688
- theme.fg("dim", ` ${preview}`);
686
+ theme.fg("dim", ` ${cleanTask}`);
689
687
  }
690
- if (args.chain.length > 3) text += `\n ${theme.fg("muted", `... +${args.chain.length - 3} more`)}`;
691
688
  return new Text(text, 0, 0);
692
689
  }
693
690
  if (args.tasks && args.tasks.length > 0) {
@@ -695,20 +692,18 @@ export default function (pi: ExtensionAPI) {
695
692
  theme.fg("toolTitle", theme.bold("subagent ")) +
696
693
  theme.fg("accent", `parallel (${args.tasks.length} tasks)`) +
697
694
  theme.fg("muted", ` [${scope}]`);
698
- for (const t of args.tasks.slice(0, 3)) {
699
- const preview = t.task.length > 40 ? `${t.task.slice(0, 40)}...` : t.task;
700
- text += `\n ${theme.fg("accent", t.agent)}${theme.fg("dim", ` ${preview}`)}`;
695
+ for (const t of args.tasks) {
696
+ text += `\n ${theme.fg("accent", t.agent)}${theme.fg("dim", ` ${t.task}`)}`;
701
697
  }
702
- if (args.tasks.length > 3) text += `\n ${theme.fg("muted", `... +${args.tasks.length - 3} more`)}`;
703
698
  return new Text(text, 0, 0);
704
699
  }
705
700
  const agentName = args.agent || "...";
706
- const preview = args.task ? (args.task.length > 60 ? `${args.task.slice(0, 60)}...` : args.task) : "...";
701
+ const taskText = args.task || "...";
707
702
  let text =
708
703
  theme.fg("toolTitle", theme.bold("subagent ")) +
709
704
  theme.fg("accent", agentName) +
710
705
  theme.fg("muted", ` [${scope}]`);
711
- text += `\n ${theme.fg("dim", preview)}`;
706
+ text += `\n ${theme.fg("dim", taskText)}`;
712
707
  return new Text(text, 0, 0);
713
708
  },
714
709
 
@@ -719,6 +714,10 @@ export default function (pi: ExtensionAPI) {
719
714
  return new Text(text?.type === "text" ? text.text : "(no output)", 0, 0);
720
715
  }
721
716
 
717
+ const modelTag = (model: string | undefined): string => {
718
+ return model ? ` ${theme.fg("dim", model)}` : "";
719
+ };
720
+
722
721
  const mdTheme = getMarkdownTheme();
723
722
 
724
723
  const renderDisplayItems = (items: DisplayItem[], limit?: number) => {
@@ -746,7 +745,7 @@ export default function (pi: ExtensionAPI) {
746
745
 
747
746
  if (expanded) {
748
747
  const container = new Container();
749
- let header = `${icon} ${theme.fg("toolTitle", theme.bold(r.agent))}${theme.fg("muted", ` (${r.agentSource})`)}`;
748
+ let header = `${icon} ${theme.fg("toolTitle", theme.bold(r.agent))}${theme.fg("muted", ` (${r.agentSource})`)}${modelTag(r.model)}`;
750
749
  if (isError && r.stopReason) header += ` ${theme.fg("error", `[${r.stopReason}]`)}`;
751
750
  container.addChild(new Text(header, 0, 0));
752
751
  if (isError && r.errorMessage)
@@ -782,7 +781,7 @@ export default function (pi: ExtensionAPI) {
782
781
  return container;
783
782
  }
784
783
 
785
- let text = `${icon} ${theme.fg("toolTitle", theme.bold(r.agent))}${theme.fg("muted", ` (${r.agentSource})`)}`;
784
+ let text = `${icon} ${theme.fg("toolTitle", theme.bold(r.agent))}${theme.fg("muted", ` (${r.agentSource})`)}${modelTag(r.model)}`;
786
785
  if (isError && r.stopReason) text += ` ${theme.fg("error", `[${r.stopReason}]`)}`;
787
786
  if (isError && r.errorMessage) text += `\n${theme.fg("error", `Error: ${r.errorMessage}`)}`;
788
787
  else if (displayItems.length === 0) text += `\n${theme.fg("muted", "(no output)")}`;
@@ -833,7 +832,7 @@ export default function (pi: ExtensionAPI) {
833
832
  container.addChild(new Spacer(1));
834
833
  container.addChild(
835
834
  new Text(
836
- `${theme.fg("muted", `─── Step ${r.step}: `) + theme.fg("accent", r.agent)} ${rIcon}`,
835
+ `${theme.fg("muted", `─── Step ${r.step}: `) + theme.fg("accent", r.agent)} ${rIcon}${modelTag(r.model)}`,
837
836
  0,
838
837
  0,
839
838
  ),
@@ -880,7 +879,7 @@ export default function (pi: ExtensionAPI) {
880
879
  for (const r of details.results) {
881
880
  const rIcon = r.exitCode === 0 ? theme.fg("success", "✓") : theme.fg("error", "✗");
882
881
  const displayItems = getDisplayItems(r.messages);
883
- text += `\n\n${theme.fg("muted", `─── Step ${r.step}: `)}${theme.fg("accent", r.agent)} ${rIcon}`;
882
+ text += `\n\n${theme.fg("muted", `─── Step ${r.step}: `)}${theme.fg("accent", r.agent)} ${rIcon}${modelTag(r.model)}`;
884
883
  if (displayItems.length === 0) text += `\n${theme.fg("muted", "(no output)")}`;
885
884
  else text += `\n${renderDisplayItems(displayItems, 5)}`;
886
885
  }
@@ -921,7 +920,11 @@ export default function (pi: ExtensionAPI) {
921
920
 
922
921
  container.addChild(new Spacer(1));
923
922
  container.addChild(
924
- new Text(`${theme.fg("muted", "─── ") + theme.fg("accent", r.agent)} ${rIcon}`, 0, 0),
923
+ new Text(
924
+ `${theme.fg("muted", "─── ") + theme.fg("accent", r.agent)} ${rIcon}${modelTag(r.model)}`,
925
+ 0,
926
+ 0,
927
+ ),
925
928
  );
926
929
  container.addChild(new Text(theme.fg("muted", "Task: ") + theme.fg("dim", r.task), 0, 0));
927
930
 
@@ -966,7 +969,7 @@ export default function (pi: ExtensionAPI) {
966
969
  ? theme.fg("success", "✓")
967
970
  : theme.fg("error", "✗");
968
971
  const displayItems = getDisplayItems(r.messages);
969
- text += `\n\n${theme.fg("muted", "─── ")}${theme.fg("accent", r.agent)} ${rIcon}`;
972
+ text += `\n\n${theme.fg("muted", "─── ")}${theme.fg("accent", r.agent)} ${rIcon}${modelTag(r.model)}`;
970
973
  if (displayItems.length === 0)
971
974
  text += `\n${theme.fg("muted", r.exitCode === -1 ? "(running...)" : "(no output)")}`;
972
975
  else text += `\n${renderDisplayItems(displayItems, 5)}`;
package/package.json CHANGED
@@ -1,60 +1,71 @@
1
1
  {
2
- "name": "@leanandmean/coding-agent",
3
- "version": "0.74.1-scramjet.6",
4
- "publishConfig": {
5
- "access": "public"
6
- },
7
- "description": "Coding agent CLI with read, bash, edit, write tools and session management",
8
- "license": "MIT",
9
- "type": "module",
10
- "piConfig": {
11
- "name": "scramjet",
12
- "configDir": ".scramjet"
13
- },
14
- "main": "./dist/index.js",
15
- "types": "./dist/index.d.ts",
16
- "exports": {
17
- ".": {
18
- "types": "./dist/index.d.ts",
19
- "import": "./dist/index.js"
20
- }
21
- },
22
- "files": ["dist", "docs", "examples", "CHANGELOG.md"],
23
- "scripts": {
24
- "clean": "shx rm -rf dist",
25
- "dev": "tsgo -p tsconfig.build.json --watch --preserveWatchOutput",
26
- "build": "tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && npm run copy-assets",
27
- "copy-assets": "shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/",
28
- "test": "vitest --run --passWithNoTests"
29
- },
30
- "dependencies": {
31
- "@leanandmean/agent": "0.74.1-scramjet.5",
32
- "@leanandmean/ai": "0.74.1-scramjet.4",
33
- "@leanandmean/tui": "0.74.1-scramjet.4",
34
- "@silvia-odwyer/photon-node": "^0.3.4",
35
- "chalk": "^5.5.0",
36
- "diff": "^8.0.2",
37
- "glob": "^13.0.1",
38
- "highlight.js": "^10.7.3",
39
- "hosted-git-info": "^9.0.2",
40
- "ignore": "^7.0.5",
41
- "jiti": "^2.7.0",
42
- "minimatch": "^10.2.3",
43
- "proper-lockfile": "^4.1.2",
44
- "typebox": "^1.1.24",
45
- "undici": "^7.19.1",
46
- "yaml": "^2.8.2"
47
- },
48
- "optionalDependencies": {
49
- "@mariozechner/clipboard": "^0.3.6"
50
- },
51
- "devDependencies": {
52
- "@types/diff": "^7.0.2",
53
- "@types/hosted-git-info": "^3.0.5",
54
- "@types/ms": "^2.1.0",
55
- "@types/proper-lockfile": "^4.1.4"
56
- },
57
- "engines": {
58
- "node": ">=20.6.0"
59
- }
2
+ "name": "@leanandmean/coding-agent",
3
+ "version": "0.74.1-scramjet.60",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "description": "Coding agent CLI with read, bash, edit, write tools and session management",
8
+ "license": "Apache-2.0",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/LeanAndMean/scramjet.git"
12
+ },
13
+ "type": "module",
14
+ "piConfig": {
15
+ "name": "scramjet",
16
+ "configDir": ".scramjet"
17
+ },
18
+ "main": "./dist/index.js",
19
+ "types": "./dist/index.d.ts",
20
+ "exports": {
21
+ ".": {
22
+ "types": "./dist/index.d.ts",
23
+ "import": "./dist/index.js"
24
+ }
25
+ },
26
+ "files": [
27
+ "dist",
28
+ "docs",
29
+ "examples",
30
+ "CHANGELOG.md"
31
+ ],
32
+ "scripts": {
33
+ "clean": "shx rm -rf dist",
34
+ "dev": "tsgo -p tsconfig.build.json --watch --preserveWatchOutput",
35
+ "build": "tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && npm run copy-assets",
36
+ "copy-assets": "shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/",
37
+ "test": "vitest --run --passWithNoTests"
38
+ },
39
+ "dependencies": {
40
+ "@leanandmean/agent": "0.74.1-scramjet.39",
41
+ "@leanandmean/ai": "0.74.1-scramjet.35",
42
+ "@leanandmean/tui": "0.74.1-scramjet.32",
43
+ "@silvia-odwyer/photon-node": "^0.3.4",
44
+ "chalk": "^5.5.0",
45
+ "dictionary-en": "^4.0.0",
46
+ "diff": "^8.0.2",
47
+ "glob": "^13.0.1",
48
+ "highlight.js": "^10.7.3",
49
+ "hosted-git-info": "^9.0.2",
50
+ "ignore": "^7.0.5",
51
+ "jiti": "^2.7.0",
52
+ "minimatch": "^10.2.3",
53
+ "nspell": "^2.1.5",
54
+ "proper-lockfile": "^4.1.2",
55
+ "typebox": "^1.1.24",
56
+ "undici": "^7.19.1",
57
+ "yaml": "^2.8.2"
58
+ },
59
+ "optionalDependencies": {
60
+ "@mariozechner/clipboard": "^0.3.6"
61
+ },
62
+ "devDependencies": {
63
+ "@types/diff": "^7.0.2",
64
+ "@types/hosted-git-info": "^3.0.5",
65
+ "@types/ms": "^2.1.0",
66
+ "@types/proper-lockfile": "^4.1.4"
67
+ },
68
+ "engines": {
69
+ "node": ">=20.6.0"
70
+ }
60
71
  }