@oh-my-pi/pi-coding-agent 15.7.3 → 15.7.5

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 (55) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/types/config/settings-schema.d.ts +3 -22
  3. package/dist/types/extensibility/custom-tools/types.d.ts +2 -2
  4. package/dist/types/extensibility/shared-events.d.ts +2 -2
  5. package/dist/types/internal-urls/local-protocol.d.ts +19 -9
  6. package/dist/types/internal-urls/types.d.ts +14 -0
  7. package/dist/types/lsp/client.d.ts +3 -0
  8. package/dist/types/mcp/manager.d.ts +14 -5
  9. package/dist/types/modes/controllers/command-controller.d.ts +2 -3
  10. package/dist/types/session/agent-session.d.ts +2 -6
  11. package/dist/types/session/shake-types.d.ts +3 -3
  12. package/dist/types/task/repair-args.d.ts +52 -0
  13. package/dist/types/tiny/models.d.ts +0 -14
  14. package/dist/types/tiny/title-client.d.ts +28 -2
  15. package/dist/types/tiny/title-protocol.d.ts +8 -9
  16. package/dist/types/tools/find.d.ts +1 -1
  17. package/dist/types/tools/path-utils.d.ts +7 -0
  18. package/dist/types/tui/output-block.d.ts +7 -7
  19. package/package.json +9 -9
  20. package/scripts/build-binary.ts +0 -1
  21. package/src/cli.ts +59 -0
  22. package/src/config/settings-schema.ts +3 -24
  23. package/src/config/settings.ts +10 -0
  24. package/src/extensibility/custom-tools/types.ts +2 -2
  25. package/src/extensibility/shared-events.ts +2 -2
  26. package/src/internal-urls/docs-index.generated.ts +2 -2
  27. package/src/internal-urls/local-protocol.ts +23 -11
  28. package/src/internal-urls/types.ts +15 -0
  29. package/src/lsp/client.ts +28 -5
  30. package/src/mcp/manager.ts +87 -4
  31. package/src/modes/controllers/command-controller.ts +7 -39
  32. package/src/modes/controllers/event-controller.ts +33 -26
  33. package/src/modes/controllers/mcp-command-controller.ts +1 -1
  34. package/src/prompts/system/project-prompt.md +3 -2
  35. package/src/prompts/system/subagent-system-prompt.md +12 -8
  36. package/src/prompts/system/system-prompt.md +8 -6
  37. package/src/session/agent-session.ts +11 -93
  38. package/src/session/shake-types.ts +4 -5
  39. package/src/slash-commands/builtin-registry.ts +2 -4
  40. package/src/task/executor.ts +14 -4
  41. package/src/task/index.ts +3 -2
  42. package/src/task/repair-args.ts +117 -0
  43. package/src/tiny/models.ts +0 -28
  44. package/src/tiny/title-client.ts +133 -43
  45. package/src/tiny/title-protocol.ts +11 -16
  46. package/src/tiny/worker.ts +6 -61
  47. package/src/tools/ast-edit.ts +3 -0
  48. package/src/tools/ast-grep.ts +3 -0
  49. package/src/tools/find.ts +20 -6
  50. package/src/tools/gh.ts +1 -0
  51. package/src/tools/path-utils.ts +13 -2
  52. package/src/tools/read.ts +1 -0
  53. package/src/tools/search.ts +12 -1
  54. package/src/tui/output-block.ts +37 -75
  55. package/src/utils/git.ts +9 -3
@@ -14,12 +14,9 @@ import {
14
14
  import {
15
15
  AUTO_THINKING_MODEL_OPTIONS,
16
16
  AUTO_THINKING_MODEL_VALUES,
17
- DEFAULT_SHAKE_SUMMARY_MODEL_KEY,
18
17
  ONLINE_AUTO_THINKING_MODEL_KEY,
19
18
  ONLINE_MEMORY_MODEL_KEY,
20
19
  ONLINE_TINY_TITLE_MODEL_KEY,
21
- SHAKE_SUMMARY_MODEL_OPTIONS,
22
- SHAKE_SUMMARY_MODEL_VALUES,
23
20
  TINY_MEMORY_MODEL_OPTIONS,
24
21
  TINY_MEMORY_MODEL_VALUES,
25
22
  TINY_TITLE_MODEL_OPTIONS,
@@ -1139,13 +1136,13 @@ export const SETTINGS_SCHEMA = {
1139
1136
 
1140
1137
  "compaction.strategy": {
1141
1138
  type: "enum",
1142
- values: ["context-full", "handoff", "shake", "shake-summary", "off"] as const,
1139
+ values: ["context-full", "handoff", "shake", "off"] as const,
1143
1140
  default: "context-full",
1144
1141
  ui: {
1145
1142
  tab: "context",
1146
1143
  label: "Compaction Strategy",
1147
1144
  description:
1148
- "Choose in-place context-full maintenance, auto-handoff, surgical shake (drop heavy content), shake with local-model summaries, or disable auto maintenance (off)",
1145
+ "Choose in-place context-full maintenance, auto-handoff, surgical shake (drop heavy content), or disable auto maintenance (off)",
1149
1146
  options: [
1150
1147
  {
1151
1148
  value: "context-full",
@@ -1158,11 +1155,6 @@ export const SETTINGS_SCHEMA = {
1158
1155
  label: "Shake",
1159
1156
  description: "Drop heavy content (tool results + large blocks) in place; recover via artifact",
1160
1157
  },
1161
- {
1162
- value: "shake-summary",
1163
- label: "Shake (summary)",
1164
- description: "Shake, but compress heavy regions with a local on-device model instead of dropping",
1165
- },
1166
1158
  {
1167
1159
  value: "off",
1168
1160
  label: "Off",
@@ -3018,19 +3010,6 @@ export const SETTINGS_SCHEMA = {
3018
3010
  },
3019
3011
  },
3020
3012
 
3021
- "providers.shakeSummaryModel": {
3022
- type: "enum",
3023
- values: SHAKE_SUMMARY_MODEL_VALUES,
3024
- default: DEFAULT_SHAKE_SUMMARY_MODEL_KEY,
3025
- ui: {
3026
- tab: "context",
3027
- label: "Shake Summary Model",
3028
- description:
3029
- "Local on-device model used by /shake summary and the shake-summary compaction strategy to compress heavy regions. Runs entirely on-device; downloads on first use. Falls back to plain elide when unavailable.",
3030
- options: SHAKE_SUMMARY_MODEL_OPTIONS,
3031
- },
3032
- },
3033
-
3034
3013
  "providers.kimiApiFormat": {
3035
3014
  type: "enum",
3036
3015
  values: ["openai", "anthropic"] as const,
@@ -3319,7 +3298,7 @@ export type TreeFilterMode = SettingValue<"treeFilterMode">;
3319
3298
 
3320
3299
  export interface CompactionSettings {
3321
3300
  enabled: boolean;
3322
- strategy: "context-full" | "handoff" | "shake" | "shake-summary" | "off";
3301
+ strategy: "context-full" | "handoff" | "shake" | "off";
3323
3302
  thresholdPercent: number;
3324
3303
  thresholdTokens: number;
3325
3304
  reserveTokens: number;
@@ -663,6 +663,16 @@ export class Settings {
663
663
  raw["edit.mode"] = "hashline";
664
664
  }
665
665
 
666
+ // compaction.strategy: removed local-model shake-summary mode; plain shake
667
+ // keeps the same mechanical artifact-backed reduction without background CPU.
668
+ const compactionObj = raw.compaction as Record<string, unknown> | undefined;
669
+ if (compactionObj?.strategy === "shake-summary") {
670
+ compactionObj.strategy = "shake";
671
+ }
672
+ if (raw["compaction.strategy"] === "shake-summary") {
673
+ raw["compaction.strategy"] = "shake";
674
+ }
675
+
666
676
  // statusLine: rename "plan_mode" segment to "mode"
667
677
  const statusLineObj = raw.statusLine as Record<string, unknown> | undefined;
668
678
  if (statusLineObj) {
@@ -101,11 +101,11 @@ export type CustomToolSessionEvent =
101
101
  | {
102
102
  reason: "auto_compaction_start";
103
103
  trigger: "threshold" | "overflow" | "idle" | "incomplete";
104
- action: "context-full" | "handoff" | "shake" | "shake-summary";
104
+ action: "context-full" | "handoff" | "shake";
105
105
  }
106
106
  | {
107
107
  reason: "auto_compaction_end";
108
- action: "context-full" | "handoff" | "shake" | "shake-summary";
108
+ action: "context-full" | "handoff" | "shake";
109
109
  result: CompactionResult | undefined;
110
110
  aborted: boolean;
111
111
  willRetry: boolean;
@@ -204,13 +204,13 @@ export interface TurnEndEvent {
204
204
  export interface AutoCompactionStartEvent {
205
205
  type: "auto_compaction_start";
206
206
  reason: "threshold" | "overflow" | "idle" | "incomplete";
207
- action: "context-full" | "handoff" | "shake" | "shake-summary";
207
+ action: "context-full" | "handoff" | "shake";
208
208
  }
209
209
 
210
210
  /** Fired when auto-compaction ends */
211
211
  export interface AutoCompactionEndEvent {
212
212
  type: "auto_compaction_end";
213
- action: "context-full" | "handoff" | "shake" | "shake-summary";
213
+ action: "context-full" | "handoff" | "shake";
214
214
  result: CompactionResult | undefined;
215
215
  aborted: boolean;
216
216
  willRetry: boolean;