@hyperspaceng/neural-coding-agent 0.63.2 → 0.64.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 (66) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +1 -1
  3. package/dist/core/agent-session.d.ts +5 -0
  4. package/dist/core/agent-session.d.ts.map +1 -1
  5. package/dist/core/agent-session.js +13 -0
  6. package/dist/core/agent-session.js.map +1 -1
  7. package/dist/core/extensions/runner.d.ts +1 -0
  8. package/dist/core/extensions/runner.d.ts.map +1 -1
  9. package/dist/core/extensions/runner.js +4 -0
  10. package/dist/core/extensions/runner.js.map +1 -1
  11. package/dist/core/extensions/types.d.ts +7 -0
  12. package/dist/core/extensions/types.d.ts.map +1 -1
  13. package/dist/core/extensions/types.js.map +1 -1
  14. package/dist/core/model-registry.d.ts +3 -1
  15. package/dist/core/model-registry.d.ts.map +1 -1
  16. package/dist/core/model-registry.js +7 -1
  17. package/dist/core/model-registry.js.map +1 -1
  18. package/dist/core/sdk.d.ts +1 -1
  19. package/dist/core/sdk.d.ts.map +1 -1
  20. package/dist/core/sdk.js +1 -1
  21. package/dist/core/sdk.js.map +1 -1
  22. package/dist/core/tools/edit-diff.d.ts +3 -3
  23. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  24. package/dist/core/tools/edit-diff.js.map +1 -1
  25. package/dist/core/tools/edit.d.ts +7 -17
  26. package/dist/core/tools/edit.d.ts.map +1 -1
  27. package/dist/core/tools/edit.js +32 -103
  28. package/dist/core/tools/edit.js.map +1 -1
  29. package/dist/core/tools/index.d.ts +5 -10
  30. package/dist/core/tools/index.d.ts.map +1 -1
  31. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  32. package/dist/core/tools/tool-definition-wrapper.js +2 -0
  33. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  34. package/dist/main.d.ts.map +1 -1
  35. package/dist/main.js +1 -1
  36. package/dist/main.js.map +1 -1
  37. package/dist/modes/interactive/components/assistant-message.d.ts +3 -1
  38. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  39. package/dist/modes/interactive/components/assistant-message.js +14 -3
  40. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  41. package/dist/modes/interactive/interactive-mode.d.ts +3 -0
  42. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  43. package/dist/modes/interactive/interactive-mode.js +23 -2
  44. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  45. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  46. package/dist/modes/rpc/rpc-mode.js +3 -0
  47. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  48. package/docs/compaction.md +4 -2
  49. package/docs/extensions.md +94 -0
  50. package/docs/json.md +5 -2
  51. package/docs/rpc.md +21 -7
  52. package/docs/sdk.md +12 -9
  53. package/examples/extensions/README.md +1 -0
  54. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  55. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  56. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  57. package/examples/extensions/custom-provider-qwen-cli/package.json +1 -1
  58. package/examples/extensions/hidden-thinking-label.ts +57 -0
  59. package/examples/extensions/sandbox/index.ts +4 -0
  60. package/examples/extensions/with-deps/package-lock.json +2 -2
  61. package/examples/extensions/with-deps/package.json +1 -1
  62. package/examples/sdk/02-custom-model.ts +1 -1
  63. package/examples/sdk/09-api-keys-and-oauth.ts +3 -3
  64. package/examples/sdk/12-full-control.ts +1 -1
  65. package/examples/sdk/README.md +3 -3
  66. package/package.json +4 -4
@@ -74,6 +74,8 @@ export class InteractiveMode {
74
74
  loadingAnimation = undefined;
75
75
  pendingWorkingMessage = undefined;
76
76
  defaultWorkingMessage = "Working...";
77
+ defaultHiddenThinkingLabel = "Thinking...";
78
+ hiddenThinkingLabel = this.defaultHiddenThinkingLabel;
77
79
  lastSigintTime = 0;
78
80
  lastEscapeTime = 0;
79
81
  changelogMarkdown = undefined;
@@ -991,6 +993,7 @@ export class InteractiveMode {
991
993
  modelRegistry: this.session.modelRegistry,
992
994
  model: this.session.model,
993
995
  isIdle: () => !this.session.isStreaming,
996
+ signal: this.session.agent.signal,
994
997
  abort: () => this.session.abort(),
995
998
  hasPendingMessages: () => this.session.pendingMessageCount > 0,
996
999
  shutdown: () => {
@@ -1033,6 +1036,18 @@ export class InteractiveMode {
1033
1036
  this.footerDataProvider.setExtensionStatus(key, text);
1034
1037
  this.ui.requestRender();
1035
1038
  }
1039
+ setHiddenThinkingLabel(label) {
1040
+ this.hiddenThinkingLabel = label ?? this.defaultHiddenThinkingLabel;
1041
+ for (const child of this.chatContainer.children) {
1042
+ if (child instanceof AssistantMessageComponent) {
1043
+ child.setHiddenThinkingLabel(this.hiddenThinkingLabel);
1044
+ }
1045
+ }
1046
+ if (this.streamingComponent) {
1047
+ this.streamingComponent.setHiddenThinkingLabel(this.hiddenThinkingLabel);
1048
+ }
1049
+ this.ui.requestRender();
1050
+ }
1036
1051
  /**
1037
1052
  * Set an extension widget (string array or custom component).
1038
1053
  */
@@ -1104,6 +1119,7 @@ export class InteractiveMode {
1104
1119
  if (this.loadingAnimation) {
1105
1120
  this.loadingAnimation.setMessage(`${this.defaultWorkingMessage} (${keyText("app.interrupt")} to interrupt)`);
1106
1121
  }
1122
+ this.setHiddenThinkingLabel();
1107
1123
  }
1108
1124
  // Maximum total widget lines to prevent viewport overflow
1109
1125
  static MAX_WIDGET_LINES = 10;
@@ -1233,6 +1249,7 @@ export class InteractiveMode {
1233
1249
  this.pendingWorkingMessage = message;
1234
1250
  }
1235
1251
  },
1252
+ setHiddenThinkingLabel: (label) => this.setHiddenThinkingLabel(label),
1236
1253
  setWidget: (key, content, options) => this.setExtensionWidget(key, content, options),
1237
1254
  setFooter: (factory) => this.setExtensionFooter(factory),
1238
1255
  setHeader: (factory) => this.setExtensionHeader(factory),
@@ -1836,6 +1853,10 @@ export class InteractiveMode {
1836
1853
  }
1837
1854
  this.ui.requestRender();
1838
1855
  break;
1856
+ case "queue_update":
1857
+ this.updatePendingMessagesDisplay();
1858
+ this.ui.requestRender();
1859
+ break;
1839
1860
  case "message_start":
1840
1861
  if (event.message.role === "custom") {
1841
1862
  this.addMessageToChat(event.message);
@@ -1847,7 +1868,7 @@ export class InteractiveMode {
1847
1868
  this.ui.requestRender();
1848
1869
  }
1849
1870
  else if (event.message.role === "assistant") {
1850
- this.streamingComponent = new AssistantMessageComponent(undefined, this.hideThinkingBlock, this.getMarkdownThemeWithSettings());
1871
+ this.streamingComponent = new AssistantMessageComponent(undefined, this.hideThinkingBlock, this.getMarkdownThemeWithSettings(), this.hiddenThinkingLabel);
1851
1872
  this.streamingMessage = event.message;
1852
1873
  this.chatContainer.addChild(this.streamingComponent);
1853
1874
  this.streamingComponent.updateContent(this.streamingMessage);
@@ -2145,7 +2166,7 @@ export class InteractiveMode {
2145
2166
  break;
2146
2167
  }
2147
2168
  case "assistant": {
2148
- const assistantComponent = new AssistantMessageComponent(message, this.hideThinkingBlock, this.getMarkdownThemeWithSettings());
2169
+ const assistantComponent = new AssistantMessageComponent(message, this.hideThinkingBlock, this.getMarkdownThemeWithSettings(), this.hiddenThinkingLabel);
2149
2170
  this.chatContainer.addChild(assistantComponent);
2150
2171
  break;
2151
2172
  }