apex-code 0.0.1-alpha.8 → 0.0.1-alpha.9

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 (230) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/dist/cli/args.d.ts +1 -0
  3. package/dist/cli/args.d.ts.map +1 -1
  4. package/dist/cli/args.js +29 -9
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/cli/file-processor.d.ts.map +1 -1
  7. package/dist/cli/file-processor.js +2 -1
  8. package/dist/cli/file-processor.js.map +1 -1
  9. package/dist/config.d.ts +3 -2
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +21 -13
  12. package/dist/config.js.map +1 -1
  13. package/dist/core/agent-session.d.ts +26 -7
  14. package/dist/core/agent-session.d.ts.map +1 -1
  15. package/dist/core/agent-session.js +163 -95
  16. package/dist/core/agent-session.js.map +1 -1
  17. package/dist/core/auth-storage.d.ts.map +1 -1
  18. package/dist/core/auth-storage.js +6 -7
  19. package/dist/core/auth-storage.js.map +1 -1
  20. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  21. package/dist/core/compaction/branch-summarization.js +3 -0
  22. package/dist/core/compaction/branch-summarization.js.map +1 -1
  23. package/dist/core/compaction/compaction.d.ts +4 -3
  24. package/dist/core/compaction/compaction.d.ts.map +1 -1
  25. package/dist/core/compaction/compaction.js +41 -32
  26. package/dist/core/compaction/compaction.js.map +1 -1
  27. package/dist/core/defaults.d.ts +1 -0
  28. package/dist/core/defaults.d.ts.map +1 -1
  29. package/dist/core/defaults.js +9 -0
  30. package/dist/core/defaults.js.map +1 -1
  31. package/dist/core/durable-state/sqlite.d.ts.map +1 -1
  32. package/dist/core/durable-state/sqlite.js +26 -2
  33. package/dist/core/durable-state/sqlite.js.map +1 -1
  34. package/dist/core/extensions/index.d.ts +2 -2
  35. package/dist/core/extensions/index.d.ts.map +1 -1
  36. package/dist/core/extensions/index.js +1 -1
  37. package/dist/core/extensions/index.js.map +1 -1
  38. package/dist/core/extensions/loader.d.ts.map +1 -1
  39. package/dist/core/extensions/loader.js +115 -48
  40. package/dist/core/extensions/loader.js.map +1 -1
  41. package/dist/core/extensions/types.d.ts +38 -9
  42. package/dist/core/extensions/types.d.ts.map +1 -1
  43. package/dist/core/extensions/types.js +3 -0
  44. package/dist/core/extensions/types.js.map +1 -1
  45. package/dist/core/footer-data-provider.d.ts +1 -1
  46. package/dist/core/footer-data-provider.d.ts.map +1 -1
  47. package/dist/core/footer-data-provider.js +1 -1
  48. package/dist/core/footer-data-provider.js.map +1 -1
  49. package/dist/core/keybindings.d.ts +20 -19
  50. package/dist/core/keybindings.d.ts.map +1 -1
  51. package/dist/core/keybindings.js +26 -5
  52. package/dist/core/keybindings.js.map +1 -1
  53. package/dist/core/model-config.d.ts +5 -0
  54. package/dist/core/model-config.d.ts.map +1 -1
  55. package/dist/core/model-config.js +3 -1
  56. package/dist/core/model-config.js.map +1 -1
  57. package/dist/core/model-resolver.d.ts +1 -0
  58. package/dist/core/model-resolver.d.ts.map +1 -1
  59. package/dist/core/model-resolver.js +14 -8
  60. package/dist/core/model-resolver.js.map +1 -1
  61. package/dist/core/models-store.d.ts.map +1 -1
  62. package/dist/core/models-store.js +2 -1
  63. package/dist/core/models-store.js.map +1 -1
  64. package/dist/core/package-manager.d.ts.map +1 -1
  65. package/dist/core/package-manager.js +22 -14
  66. package/dist/core/package-manager.js.map +1 -1
  67. package/dist/core/pi-manifest.d.ts.map +1 -1
  68. package/dist/core/pi-manifest.js +2 -1
  69. package/dist/core/pi-manifest.js.map +1 -1
  70. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  71. package/dist/core/remote-catalog-provider.js +2 -1
  72. package/dist/core/remote-catalog-provider.js.map +1 -1
  73. package/dist/core/resource-loader.d.ts.map +1 -1
  74. package/dist/core/resource-loader.js +3 -2
  75. package/dist/core/resource-loader.js.map +1 -1
  76. package/dist/core/sdk.d.ts +2 -2
  77. package/dist/core/sdk.d.ts.map +1 -1
  78. package/dist/core/sdk.js +10 -3
  79. package/dist/core/sdk.js.map +1 -1
  80. package/dist/core/session-export.d.ts +4 -0
  81. package/dist/core/session-export.d.ts.map +1 -0
  82. package/dist/core/session-export.js +32 -0
  83. package/dist/core/session-export.js.map +1 -0
  84. package/dist/core/session-manager.d.ts.map +1 -1
  85. package/dist/core/session-manager.js +2 -1
  86. package/dist/core/session-manager.js.map +1 -1
  87. package/dist/core/settings-diagnostics.d.ts +9 -0
  88. package/dist/core/settings-diagnostics.d.ts.map +1 -0
  89. package/dist/core/settings-diagnostics.js +21 -0
  90. package/dist/core/settings-diagnostics.js.map +1 -0
  91. package/dist/core/settings-manager.d.ts +9 -0
  92. package/dist/core/settings-manager.d.ts.map +1 -1
  93. package/dist/core/settings-manager.js +53 -11
  94. package/dist/core/settings-manager.js.map +1 -1
  95. package/dist/core/skills.d.ts.map +1 -1
  96. package/dist/core/skills.js +51 -33
  97. package/dist/core/skills.js.map +1 -1
  98. package/dist/core/slash-commands.d.ts.map +1 -1
  99. package/dist/core/slash-commands.js +2 -1
  100. package/dist/core/slash-commands.js.map +1 -1
  101. package/dist/core/system-prompt.d.ts.map +1 -1
  102. package/dist/core/system-prompt.js +8 -2
  103. package/dist/core/system-prompt.js.map +1 -1
  104. package/dist/core/tools/bash.d.ts +14 -1
  105. package/dist/core/tools/bash.d.ts.map +1 -1
  106. package/dist/core/tools/bash.js +36 -20
  107. package/dist/core/tools/bash.js.map +1 -1
  108. package/dist/core/tools/edit-diff.d.ts +0 -5
  109. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  110. package/dist/core/tools/edit-diff.js +2 -5
  111. package/dist/core/tools/edit-diff.js.map +1 -1
  112. package/dist/core/tools/edit.d.ts.map +1 -1
  113. package/dist/core/tools/edit.js +20 -4
  114. package/dist/core/tools/edit.js.map +1 -1
  115. package/dist/core/tools/index.d.ts +4 -1
  116. package/dist/core/tools/index.d.ts.map +1 -1
  117. package/dist/core/tools/index.js +9 -0
  118. package/dist/core/tools/index.js.map +1 -1
  119. package/dist/core/tools/powershell.d.ts +16 -0
  120. package/dist/core/tools/powershell.d.ts.map +1 -0
  121. package/dist/core/tools/powershell.js +39 -0
  122. package/dist/core/tools/powershell.js.map +1 -0
  123. package/dist/core/trust-manager.d.ts.map +1 -1
  124. package/dist/core/trust-manager.js +2 -1
  125. package/dist/core/trust-manager.js.map +1 -1
  126. package/dist/extensions/llama/index.d.ts.map +1 -1
  127. package/dist/extensions/llama/index.js +2 -0
  128. package/dist/extensions/llama/index.js.map +1 -1
  129. package/dist/extensions/llama/provider.d.ts.map +1 -1
  130. package/dist/extensions/llama/provider.js +6 -2
  131. package/dist/extensions/llama/provider.js.map +1 -1
  132. package/dist/index.d.ts +5 -5
  133. package/dist/index.d.ts.map +1 -1
  134. package/dist/index.js +4 -4
  135. package/dist/index.js.map +1 -1
  136. package/dist/main.d.ts +4 -0
  137. package/dist/main.d.ts.map +1 -1
  138. package/dist/main.js +18 -15
  139. package/dist/main.js.map +1 -1
  140. package/dist/migrations.d.ts.map +1 -1
  141. package/dist/migrations.js +4 -3
  142. package/dist/migrations.js.map +1 -1
  143. package/dist/modes/interactive/components/model-selector.d.ts +10 -3
  144. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  145. package/dist/modes/interactive/components/model-selector.js +51 -9
  146. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  147. package/dist/modes/interactive/components/settings-selector.d.ts +7 -2
  148. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  149. package/dist/modes/interactive/components/settings-selector.js +118 -56
  150. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  151. package/dist/modes/interactive/components/settings-submenu.d.ts +72 -0
  152. package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -0
  153. package/dist/modes/interactive/components/settings-submenu.js +165 -0
  154. package/dist/modes/interactive/components/settings-submenu.js.map +1 -0
  155. package/dist/modes/interactive/components/thinking-selector.d.ts +15 -3
  156. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  157. package/dist/modes/interactive/components/thinking-selector.js +74 -17
  158. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  159. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  160. package/dist/modes/interactive/external-editor.js +2 -1
  161. package/dist/modes/interactive/external-editor.js.map +1 -1
  162. package/dist/modes/interactive/interactive-mode.d.ts +11 -0
  163. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  164. package/dist/modes/interactive/interactive-mode.js +164 -17
  165. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  166. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  167. package/dist/modes/interactive/theme/theme.js +5 -4
  168. package/dist/modes/interactive/theme/theme.js.map +1 -1
  169. package/dist/modes/json-event.d.ts +16 -13
  170. package/dist/modes/json-event.d.ts.map +1 -1
  171. package/dist/modes/json-event.js +20 -6
  172. package/dist/modes/json-event.js.map +1 -1
  173. package/dist/package-manager-cli.d.ts +1 -0
  174. package/dist/package-manager-cli.d.ts.map +1 -1
  175. package/dist/package-manager-cli.js +197 -5
  176. package/dist/package-manager-cli.js.map +1 -1
  177. package/dist/utils/frontmatter.d.ts.map +1 -1
  178. package/dist/utils/frontmatter.js +2 -1
  179. package/dist/utils/frontmatter.js.map +1 -1
  180. package/dist/utils/management-http.d.ts +5 -3
  181. package/dist/utils/management-http.d.ts.map +1 -1
  182. package/dist/utils/management-http.js +14 -10
  183. package/dist/utils/management-http.js.map +1 -1
  184. package/dist/utils/shell.d.ts +3 -0
  185. package/dist/utils/shell.d.ts.map +1 -1
  186. package/dist/utils/shell.js +17 -5
  187. package/dist/utils/shell.js.map +1 -1
  188. package/dist/utils/syntax-highlight.d.ts +1 -0
  189. package/dist/utils/syntax-highlight.d.ts.map +1 -1
  190. package/dist/utils/syntax-highlight.js +60 -1
  191. package/dist/utils/syntax-highlight.js.map +1 -1
  192. package/dist/utils/text.d.ts +8 -0
  193. package/dist/utils/text.d.ts.map +1 -0
  194. package/dist/utils/text.js +9 -0
  195. package/dist/utils/text.js.map +1 -0
  196. package/docs/compaction.md +15 -0
  197. package/docs/custom-provider.md +5 -2
  198. package/docs/extensions.md +17 -7
  199. package/docs/json.md +7 -2
  200. package/docs/keybindings.md +8 -8
  201. package/docs/llama-cpp.md +2 -0
  202. package/docs/models.md +8 -2
  203. package/docs/packages.md +2 -2
  204. package/docs/rpc.md +9 -3
  205. package/docs/sdk.md +7 -2
  206. package/docs/settings.md +11 -3
  207. package/docs/skills.md +4 -3
  208. package/docs/terminal-setup.md +11 -7
  209. package/docs/usage.md +6 -2
  210. package/docs/windows.md +24 -2
  211. package/examples/extensions/border-status-editor.ts +1 -1
  212. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  213. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  214. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  215. package/examples/extensions/git-checkpoint.ts +2 -2
  216. package/examples/extensions/gondolin/package-lock.json +2 -2
  217. package/examples/extensions/gondolin/package.json +1 -1
  218. package/examples/extensions/notify.ts +3 -1
  219. package/examples/extensions/sandbox/package-lock.json +2 -2
  220. package/examples/extensions/sandbox/package.json +1 -1
  221. package/examples/extensions/subagent/README.md +1 -1
  222. package/examples/extensions/subagent/index.ts +6 -1
  223. package/examples/extensions/titlebar-spinner.ts +1 -1
  224. package/examples/extensions/with-deps/package-lock.json +2 -2
  225. package/examples/extensions/with-deps/package.json +1 -1
  226. package/examples/rpc-extension-ui.ts +1 -1
  227. package/examples/sdk/06-extensions.ts +1 -1
  228. package/examples/sdk/README.md +1 -1
  229. package/npm-shrinkwrap.json +276 -390
  230. package/package.json +9 -11
@@ -27,7 +27,7 @@ import type { SourceInfo } from "../source-info.ts";
27
27
  import type { BuildSystemPromptOptions } from "../system-prompt.ts";
28
28
  import type { BashOperations } from "../tools/bash.ts";
29
29
  import type { EditToolDetails } from "../tools/edit.ts";
30
- import type { BashToolDetails, BashToolInput, EditToolInput, FindToolDetails, FindToolInput, GrepToolDetails, GrepToolInput, LsToolDetails, LsToolInput, ReadToolDetails, ReadToolInput, WriteToolInput } from "../tools/index.ts";
30
+ import type { BashToolDetails, BashToolInput, EditToolInput, FindToolDetails, FindToolInput, GrepToolDetails, GrepToolInput, LsToolDetails, LsToolInput, PowerShellToolDetails, PowerShellToolInput, ReadToolDetails, ReadToolInput, WriteToolInput } from "../tools/index.ts";
31
31
  export type { ExecOptions, ExecResult } from "../exec.ts";
32
32
  export type { BuildSystemPromptOptions } from "../system-prompt.ts";
33
33
  export type { AgentToolResult, AgentToolUpdateCallback, ToolExecutionMode };
@@ -101,8 +101,8 @@ export interface ExtensionUIContext {
101
101
  /** Set a custom footer component, or undefined to restore the built-in footer.
102
102
  *
103
103
  * The factory receives a FooterDataProvider for data not otherwise accessible:
104
- * git branch and extension statuses from setStatus(). Token stats, model info,
105
- * etc. are available via ctx.sessionManager and ctx.model.
104
+ * git branch and extension statuses from setStatus(). Context usage is on
105
+ * ctx.getContextUsage(), token stats on ctx.sessionManager.getEntries(), model info on ctx.model.
106
106
  */
107
107
  setFooter(factory: ((tui: TUI, theme: Theme, footerData: ReadonlyFooterDataProvider) => Component & {
108
108
  dispose?(): void;
@@ -450,7 +450,7 @@ export interface SessionBeforeCompactEvent {
450
450
  willRetry: boolean;
451
451
  signal: AbortSignal;
452
452
  }
453
- /** Fired after context compaction */
453
+ /** Fired after context compaction succeeds */
454
454
  export interface SessionCompactEvent {
455
455
  type: "session_compact";
456
456
  compactionEntry: CompactionEntry;
@@ -460,6 +460,20 @@ export interface SessionCompactEvent {
460
460
  /** True when the aborted turn is retried after this compaction (overflow recovery) */
461
461
  willRetry: boolean;
462
462
  }
463
+ /** Fired after context compaction fails or is aborted */
464
+ export interface SessionCompactFailedEvent {
465
+ type: "session_compact_failed";
466
+ /** What triggered the compaction: manual /compact, the context threshold, or context overflow recovery */
467
+ reason: "manual" | "threshold" | "overflow";
468
+ /** Error text when compaction failed for a non-abort reason. */
469
+ errorMessage?: string;
470
+ /** True when compaction was cancelled or aborted. */
471
+ aborted: boolean;
472
+ /** True when the aborted turn would have been retried after this compaction (overflow recovery) */
473
+ willRetry: boolean;
474
+ /** True when the failing compaction content came from a session_before_compact handler. */
475
+ fromExtension: boolean;
476
+ }
463
477
  /** Fired before an extension runtime is torn down due to quit, reload, or session replacement. */
464
478
  export interface SessionShutdownEvent {
465
479
  type: "session_shutdown";
@@ -495,7 +509,7 @@ export interface SessionTreeEvent {
495
509
  summaryEntry?: BranchSummaryEntry;
496
510
  fromExtension?: boolean;
497
511
  }
498
- export type SessionEvent = SessionStartEvent | SessionInfoChangedEvent | SessionBeforeSwitchEvent | SessionBeforeForkEvent | SessionBeforeCompactEvent | SessionCompactEvent | SessionShutdownEvent | SessionBeforeTreeEvent | SessionTreeEvent;
512
+ export type SessionEvent = SessionStartEvent | SessionInfoChangedEvent | SessionBeforeSwitchEvent | SessionBeforeForkEvent | SessionBeforeCompactEvent | SessionCompactEvent | SessionCompactFailedEvent | SessionShutdownEvent | SessionBeforeTreeEvent | SessionTreeEvent;
499
513
  /** Fired before each LLM call. Can modify messages. */
500
514
  export interface ContextEvent {
501
515
  type: "context";
@@ -654,6 +668,10 @@ export interface BashToolCallEvent extends ToolCallEventBase {
654
668
  toolName: "bash";
655
669
  input: BashToolInput;
656
670
  }
671
+ export interface PowerShellToolCallEvent extends ToolCallEventBase {
672
+ toolName: "powershell";
673
+ input: PowerShellToolInput;
674
+ }
657
675
  export interface ReadToolCallEvent extends ToolCallEventBase {
658
676
  toolName: "read";
659
677
  input: ReadToolInput;
@@ -688,7 +706,7 @@ export interface CustomToolCallEvent extends ToolCallEventBase {
688
706
  * `event.input` is mutable. Mutate it in place to patch tool arguments before execution.
689
707
  * Later `tool_call` handlers see earlier mutations. No re-validation is performed after mutation.
690
708
  */
691
- export type ToolCallEvent = BashToolCallEvent | ReadToolCallEvent | EditToolCallEvent | WriteToolCallEvent | GrepToolCallEvent | FindToolCallEvent | LsToolCallEvent | CustomToolCallEvent;
709
+ export type ToolCallEvent = BashToolCallEvent | PowerShellToolCallEvent | ReadToolCallEvent | EditToolCallEvent | WriteToolCallEvent | GrepToolCallEvent | FindToolCallEvent | LsToolCallEvent | CustomToolCallEvent;
692
710
  interface ToolResultEventBase {
693
711
  type: "tool_result";
694
712
  toolCallId: string;
@@ -702,6 +720,10 @@ export interface BashToolResultEvent extends ToolResultEventBase {
702
720
  toolName: "bash";
703
721
  details: BashToolDetails | undefined;
704
722
  }
723
+ export interface PowerShellToolResultEvent extends ToolResultEventBase {
724
+ toolName: "powershell";
725
+ details: PowerShellToolDetails | undefined;
726
+ }
705
727
  export interface ReadToolResultEvent extends ToolResultEventBase {
706
728
  toolName: "read";
707
729
  details: ReadToolDetails | undefined;
@@ -731,8 +753,9 @@ export interface CustomToolResultEvent extends ToolResultEventBase {
731
753
  details: unknown;
732
754
  }
733
755
  /** Fired after a tool executes. Can modify result. */
734
- export type ToolResultEvent = BashToolResultEvent | ReadToolResultEvent | EditToolResultEvent | WriteToolResultEvent | GrepToolResultEvent | FindToolResultEvent | LsToolResultEvent | CustomToolResultEvent;
756
+ export type ToolResultEvent = BashToolResultEvent | PowerShellToolResultEvent | ReadToolResultEvent | EditToolResultEvent | WriteToolResultEvent | GrepToolResultEvent | FindToolResultEvent | LsToolResultEvent | CustomToolResultEvent;
735
757
  export declare function isBashToolResult(e: ToolResultEvent): e is BashToolResultEvent;
758
+ export declare function isPowerShellToolResult(e: ToolResultEvent): e is PowerShellToolResultEvent;
736
759
  export declare function isReadToolResult(e: ToolResultEvent): e is ReadToolResultEvent;
737
760
  export declare function isEditToolResult(e: ToolResultEvent): e is EditToolResultEvent;
738
761
  export declare function isWriteToolResult(e: ToolResultEvent): e is WriteToolResultEvent;
@@ -760,6 +783,7 @@ export declare function isLsToolResult(e: ToolResultEvent): e is LsToolResultEve
760
783
  * CustomToolCallEvent.toolName is `string` which overlaps with all literals.
761
784
  */
762
785
  export declare function isToolCallEventType(toolName: "bash", event: ToolCallEvent): event is BashToolCallEvent;
786
+ export declare function isToolCallEventType(toolName: "powershell", event: ToolCallEvent): event is PowerShellToolCallEvent;
763
787
  export declare function isToolCallEventType(toolName: "read", event: ToolCallEvent): event is ReadToolCallEvent;
764
788
  export declare function isToolCallEventType(toolName: "edit", event: ToolCallEvent): event is EditToolCallEvent;
765
789
  export declare function isToolCallEventType(toolName: "write", event: ToolCallEvent): event is WriteToolCallEvent;
@@ -873,6 +897,7 @@ export interface ExtensionAPI {
873
897
  on(event: "session_before_fork", handler: ExtensionHandler<SessionBeforeForkEvent, SessionBeforeForkResult>): void;
874
898
  on(event: "session_before_compact", handler: ExtensionHandler<SessionBeforeCompactEvent, SessionBeforeCompactResult>): void;
875
899
  on(event: "session_compact", handler: ExtensionHandler<SessionCompactEvent>): void;
900
+ on(event: "session_compact_failed", handler: ExtensionHandler<SessionCompactFailedEvent>): void;
876
901
  on(event: "session_shutdown", handler: ExtensionHandler<SessionShutdownEvent>): void;
877
902
  on(event: "session_before_tree", handler: ExtensionHandler<SessionBeforeTreeEvent, SessionBeforeTreeResult>): void;
878
903
  on(event: "session_tree", handler: ExtensionHandler<SessionTreeEvent>): void;
@@ -910,8 +935,12 @@ export interface ExtensionAPI {
910
935
  /** Register a CLI flag. */
911
936
  registerFlag(name: string, options: {
912
937
  description?: string;
913
- type: "boolean" | "string";
914
- default?: boolean | string;
938
+ type: "boolean";
939
+ default?: boolean;
940
+ } | {
941
+ description?: string;
942
+ type: "string";
943
+ default?: string;
915
944
  }): void;
916
945
  /** Get the value of a registered CLI flag. */
917
946
  getFlag(name: string): boolean | string | undefined;