gsd-pi 2.34.0 → 2.35.0-dev.34ce717

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 (510) hide show
  1. package/README.md +3 -1
  2. package/dist/cli.js +7 -2
  3. package/dist/resource-loader.d.ts +1 -1
  4. package/dist/resource-loader.js +13 -1
  5. package/dist/resources/extensions/async-jobs/await-tool.js +0 -2
  6. package/dist/resources/extensions/async-jobs/job-manager.js +0 -6
  7. package/dist/resources/extensions/bg-shell/output-formatter.js +1 -19
  8. package/dist/resources/extensions/bg-shell/process-manager.js +0 -4
  9. package/dist/resources/extensions/bg-shell/types.js +0 -2
  10. package/dist/resources/extensions/context7/index.js +5 -0
  11. package/dist/resources/extensions/get-secrets-from-user.js +2 -30
  12. package/dist/resources/extensions/google-search/index.js +5 -0
  13. package/dist/resources/extensions/gsd/auto-dispatch.js +43 -1
  14. package/dist/resources/extensions/gsd/auto-loop.js +17 -3
  15. package/dist/resources/extensions/gsd/auto-model-selection.js +15 -3
  16. package/dist/resources/extensions/gsd/auto-recovery.js +35 -0
  17. package/dist/resources/extensions/gsd/auto-start.js +35 -2
  18. package/dist/resources/extensions/gsd/auto.js +59 -4
  19. package/dist/resources/extensions/gsd/changelog.js +162 -0
  20. package/dist/resources/extensions/gsd/commands-bootstrap.js +1 -0
  21. package/dist/resources/extensions/gsd/commands-handlers.js +2 -2
  22. package/dist/resources/extensions/gsd/commands-inspect.js +10 -3
  23. package/dist/resources/extensions/gsd/commands-prefs-wizard.js +5 -1
  24. package/dist/resources/extensions/gsd/commands-rate.js +31 -0
  25. package/dist/resources/extensions/gsd/commands.js +51 -2
  26. package/dist/resources/extensions/gsd/docs/preferences-reference.md +10 -0
  27. package/dist/resources/extensions/gsd/doctor-checks.js +113 -5
  28. package/dist/resources/extensions/gsd/doctor-environment.js +26 -17
  29. package/dist/resources/extensions/gsd/doctor-proactive.js +22 -0
  30. package/dist/resources/extensions/gsd/doctor.js +36 -0
  31. package/dist/resources/extensions/gsd/files.js +11 -2
  32. package/dist/resources/extensions/gsd/gitignore.js +54 -7
  33. package/dist/resources/extensions/gsd/guided-flow.js +12 -4
  34. package/dist/resources/extensions/gsd/health-widget-core.js +96 -0
  35. package/dist/resources/extensions/gsd/health-widget.js +97 -46
  36. package/dist/resources/extensions/gsd/index.js +26 -33
  37. package/dist/resources/extensions/gsd/migrate-external.js +55 -2
  38. package/dist/resources/extensions/gsd/milestone-ids.js +3 -2
  39. package/dist/resources/extensions/gsd/paths.js +74 -7
  40. package/dist/resources/extensions/gsd/post-unit-hooks.js +4 -1
  41. package/dist/resources/extensions/gsd/preferences-validation.js +54 -1
  42. package/dist/resources/extensions/gsd/preferences.js +14 -0
  43. package/dist/resources/extensions/gsd/prompts/complete-milestone.md +2 -0
  44. package/dist/resources/extensions/gsd/prompts/validate-milestone.md +2 -0
  45. package/dist/resources/extensions/gsd/roadmap-mutations.js +55 -0
  46. package/dist/resources/extensions/gsd/session-lock.js +53 -2
  47. package/dist/resources/extensions/gsd/state.js +2 -1
  48. package/dist/resources/extensions/gsd/templates/plan.md +8 -0
  49. package/dist/resources/extensions/gsd/worktree-resolver.js +12 -0
  50. package/dist/resources/extensions/mcp-client/index.js +2 -1
  51. package/dist/resources/extensions/remote-questions/remote-command.js +2 -22
  52. package/dist/resources/extensions/shared/mod.js +1 -1
  53. package/dist/resources/extensions/shared/sanitize.js +30 -0
  54. package/dist/resources/extensions/subagent/index.js +6 -14
  55. package/dist/resources/skills/create-gsd-extension/references/events-reference.md +4 -4
  56. package/package.json +2 -1
  57. package/packages/native/dist/native.d.ts +0 -2
  58. package/packages/native/dist/native.js +0 -2
  59. package/packages/native/src/native.ts +0 -3
  60. package/packages/pi-agent-core/dist/agent-loop.d.ts +14 -0
  61. package/packages/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  62. package/packages/pi-agent-core/dist/agent-loop.js +24 -27
  63. package/packages/pi-agent-core/dist/agent-loop.js.map +1 -1
  64. package/packages/pi-agent-core/dist/agent.d.ts +1 -0
  65. package/packages/pi-agent-core/dist/agent.d.ts.map +1 -1
  66. package/packages/pi-agent-core/dist/agent.js +11 -22
  67. package/packages/pi-agent-core/dist/agent.js.map +1 -1
  68. package/packages/pi-agent-core/dist/proxy.d.ts +1 -25
  69. package/packages/pi-agent-core/dist/proxy.d.ts.map +1 -1
  70. package/packages/pi-agent-core/dist/proxy.js +3 -9
  71. package/packages/pi-agent-core/dist/proxy.js.map +1 -1
  72. package/packages/pi-agent-core/src/agent-loop.ts +30 -27
  73. package/packages/pi-agent-core/src/agent.ts +12 -23
  74. package/packages/pi-agent-core/src/proxy.ts +3 -9
  75. package/packages/pi-ai/dist/api-registry.d.ts +0 -2
  76. package/packages/pi-ai/dist/api-registry.d.ts.map +1 -1
  77. package/packages/pi-ai/dist/api-registry.js +0 -10
  78. package/packages/pi-ai/dist/api-registry.js.map +1 -1
  79. package/packages/pi-ai/dist/providers/anthropic.d.ts +0 -8
  80. package/packages/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
  81. package/packages/pi-ai/dist/providers/anthropic.js +1 -1
  82. package/packages/pi-ai/dist/providers/anthropic.js.map +1 -1
  83. package/packages/pi-ai/dist/providers/azure-openai-responses.d.ts.map +1 -1
  84. package/packages/pi-ai/dist/providers/azure-openai-responses.js +5 -41
  85. package/packages/pi-ai/dist/providers/azure-openai-responses.js.map +1 -1
  86. package/packages/pi-ai/dist/providers/github-copilot-headers.d.ts +0 -1
  87. package/packages/pi-ai/dist/providers/github-copilot-headers.d.ts.map +1 -1
  88. package/packages/pi-ai/dist/providers/github-copilot-headers.js +1 -1
  89. package/packages/pi-ai/dist/providers/github-copilot-headers.js.map +1 -1
  90. package/packages/pi-ai/dist/providers/google-gemini-cli.d.ts +1 -43
  91. package/packages/pi-ai/dist/providers/google-gemini-cli.d.ts.map +1 -1
  92. package/packages/pi-ai/dist/providers/google-gemini-cli.js +2 -2
  93. package/packages/pi-ai/dist/providers/google-gemini-cli.js.map +1 -1
  94. package/packages/pi-ai/dist/providers/google-shared.d.ts +0 -4
  95. package/packages/pi-ai/dist/providers/google-shared.d.ts.map +1 -1
  96. package/packages/pi-ai/dist/providers/google-shared.js +1 -1
  97. package/packages/pi-ai/dist/providers/google-shared.js.map +1 -1
  98. package/packages/pi-ai/dist/providers/openai-completions.d.ts.map +1 -1
  99. package/packages/pi-ai/dist/providers/openai-completions.js +10 -73
  100. package/packages/pi-ai/dist/providers/openai-completions.js.map +1 -1
  101. package/packages/pi-ai/dist/providers/openai-responses.d.ts.map +1 -1
  102. package/packages/pi-ai/dist/providers/openai-responses.js +9 -80
  103. package/packages/pi-ai/dist/providers/openai-responses.js.map +1 -1
  104. package/packages/pi-ai/dist/providers/openai-shared.d.ts +65 -0
  105. package/packages/pi-ai/dist/providers/openai-shared.d.ts.map +1 -0
  106. package/packages/pi-ai/dist/providers/openai-shared.js +146 -0
  107. package/packages/pi-ai/dist/providers/openai-shared.js.map +1 -0
  108. package/packages/pi-ai/dist/providers/register-builtins.d.ts +0 -1
  109. package/packages/pi-ai/dist/providers/register-builtins.d.ts.map +1 -1
  110. package/packages/pi-ai/dist/providers/register-builtins.js +1 -1
  111. package/packages/pi-ai/dist/providers/register-builtins.js.map +1 -1
  112. package/packages/pi-ai/dist/utils/event-stream.d.ts +0 -2
  113. package/packages/pi-ai/dist/utils/event-stream.d.ts.map +1 -1
  114. package/packages/pi-ai/dist/utils/event-stream.js +0 -4
  115. package/packages/pi-ai/dist/utils/event-stream.js.map +1 -1
  116. package/packages/pi-ai/dist/utils/oauth/google-antigravity.d.ts.map +1 -1
  117. package/packages/pi-ai/dist/utils/oauth/google-antigravity.js +7 -135
  118. package/packages/pi-ai/dist/utils/oauth/google-antigravity.js.map +1 -1
  119. package/packages/pi-ai/dist/utils/oauth/google-gemini-cli.d.ts.map +1 -1
  120. package/packages/pi-ai/dist/utils/oauth/google-gemini-cli.js +7 -135
  121. package/packages/pi-ai/dist/utils/oauth/google-gemini-cli.js.map +1 -1
  122. package/packages/pi-ai/dist/utils/oauth/google-oauth-utils.d.ts +46 -0
  123. package/packages/pi-ai/dist/utils/oauth/google-oauth-utils.d.ts.map +1 -0
  124. package/packages/pi-ai/dist/utils/oauth/google-oauth-utils.js +160 -0
  125. package/packages/pi-ai/dist/utils/oauth/google-oauth-utils.js.map +1 -0
  126. package/packages/pi-ai/dist/utils/overflow.d.ts +0 -4
  127. package/packages/pi-ai/dist/utils/overflow.d.ts.map +1 -1
  128. package/packages/pi-ai/dist/utils/overflow.js +0 -6
  129. package/packages/pi-ai/dist/utils/overflow.js.map +1 -1
  130. package/packages/pi-ai/dist/utils/validation.d.ts +0 -8
  131. package/packages/pi-ai/dist/utils/validation.d.ts.map +1 -1
  132. package/packages/pi-ai/dist/utils/validation.js +0 -14
  133. package/packages/pi-ai/dist/utils/validation.js.map +1 -1
  134. package/packages/pi-ai/src/api-registry.ts +0 -12
  135. package/packages/pi-ai/src/providers/anthropic.ts +1 -1
  136. package/packages/pi-ai/src/providers/azure-openai-responses.ts +11 -45
  137. package/packages/pi-ai/src/providers/github-copilot-headers.ts +1 -1
  138. package/packages/pi-ai/src/providers/google-gemini-cli.ts +2 -2
  139. package/packages/pi-ai/src/providers/google-shared.ts +1 -1
  140. package/packages/pi-ai/src/providers/openai-completions.ts +16 -86
  141. package/packages/pi-ai/src/providers/openai-responses.ts +16 -96
  142. package/packages/pi-ai/src/providers/openai-shared.ts +193 -0
  143. package/packages/pi-ai/src/providers/register-builtins.ts +1 -1
  144. package/packages/pi-ai/src/utils/event-stream.ts +0 -5
  145. package/packages/pi-ai/src/utils/oauth/google-antigravity.ts +14 -162
  146. package/packages/pi-ai/src/utils/oauth/google-gemini-cli.ts +13 -161
  147. package/packages/pi-ai/src/utils/oauth/google-oauth-utils.ts +201 -0
  148. package/packages/pi-ai/src/utils/overflow.ts +1 -8
  149. package/packages/pi-ai/src/utils/validation.ts +0 -15
  150. package/packages/pi-coding-agent/dist/config.d.ts +0 -9
  151. package/packages/pi-coding-agent/dist/config.d.ts.map +1 -1
  152. package/packages/pi-coding-agent/dist/config.js +4 -8
  153. package/packages/pi-coding-agent/dist/config.js.map +1 -1
  154. package/packages/pi-coding-agent/dist/core/agent-session.d.ts +16 -63
  155. package/packages/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  156. package/packages/pi-coding-agent/dist/core/agent-session.js +104 -641
  157. package/packages/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  158. package/packages/pi-coding-agent/dist/core/auth-storage.d.ts +0 -1
  159. package/packages/pi-coding-agent/dist/core/auth-storage.d.ts.map +1 -1
  160. package/packages/pi-coding-agent/dist/core/auth-storage.js +4 -35
  161. package/packages/pi-coding-agent/dist/core/auth-storage.js.map +1 -1
  162. package/packages/pi-coding-agent/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  163. package/packages/pi-coding-agent/dist/core/compaction/branch-summarization.js +5 -43
  164. package/packages/pi-coding-agent/dist/core/compaction/branch-summarization.js.map +1 -1
  165. package/packages/pi-coding-agent/dist/core/compaction/compaction.d.ts.map +1 -1
  166. package/packages/pi-coding-agent/dist/core/compaction/compaction.js +11 -69
  167. package/packages/pi-coding-agent/dist/core/compaction/compaction.js.map +1 -1
  168. package/packages/pi-coding-agent/dist/core/compaction/utils.d.ts +40 -0
  169. package/packages/pi-coding-agent/dist/core/compaction/utils.d.ts.map +1 -1
  170. package/packages/pi-coding-agent/dist/core/compaction/utils.js +78 -0
  171. package/packages/pi-coding-agent/dist/core/compaction/utils.js.map +1 -1
  172. package/packages/pi-coding-agent/dist/core/compaction-orchestrator.d.ts +77 -0
  173. package/packages/pi-coding-agent/dist/core/compaction-orchestrator.d.ts.map +1 -0
  174. package/packages/pi-coding-agent/dist/core/compaction-orchestrator.js +331 -0
  175. package/packages/pi-coding-agent/dist/core/compaction-orchestrator.js.map +1 -0
  176. package/packages/pi-coding-agent/dist/core/export-html/ansi-to-html.d.ts +0 -4
  177. package/packages/pi-coding-agent/dist/core/export-html/ansi-to-html.d.ts.map +1 -1
  178. package/packages/pi-coding-agent/dist/core/export-html/ansi-to-html.js +1 -1
  179. package/packages/pi-coding-agent/dist/core/export-html/ansi-to-html.js.map +1 -1
  180. package/packages/pi-coding-agent/dist/core/extensions/index.d.ts +2 -2
  181. package/packages/pi-coding-agent/dist/core/extensions/index.d.ts.map +1 -1
  182. package/packages/pi-coding-agent/dist/core/extensions/index.js +1 -1
  183. package/packages/pi-coding-agent/dist/core/extensions/index.js.map +1 -1
  184. package/packages/pi-coding-agent/dist/core/extensions/runner.d.ts +15 -5
  185. package/packages/pi-coding-agent/dist/core/extensions/runner.d.ts.map +1 -1
  186. package/packages/pi-coding-agent/dist/core/extensions/runner.js +129 -256
  187. package/packages/pi-coding-agent/dist/core/extensions/runner.js.map +1 -1
  188. package/packages/pi-coding-agent/dist/core/extensions/types.d.ts +49 -42
  189. package/packages/pi-coding-agent/dist/core/extensions/types.d.ts.map +1 -1
  190. package/packages/pi-coding-agent/dist/core/extensions/types.js +2 -21
  191. package/packages/pi-coding-agent/dist/core/extensions/types.js.map +1 -1
  192. package/packages/pi-coding-agent/dist/core/keybindings.d.ts +0 -8
  193. package/packages/pi-coding-agent/dist/core/keybindings.d.ts.map +1 -1
  194. package/packages/pi-coding-agent/dist/core/keybindings.js +2 -2
  195. package/packages/pi-coding-agent/dist/core/keybindings.js.map +1 -1
  196. package/packages/pi-coding-agent/dist/core/lock-utils.d.ts +39 -0
  197. package/packages/pi-coding-agent/dist/core/lock-utils.d.ts.map +1 -0
  198. package/packages/pi-coding-agent/dist/core/lock-utils.js +89 -0
  199. package/packages/pi-coding-agent/dist/core/lock-utils.js.map +1 -0
  200. package/packages/pi-coding-agent/dist/core/lsp/client.d.ts +0 -17
  201. package/packages/pi-coding-agent/dist/core/lsp/client.d.ts.map +1 -1
  202. package/packages/pi-coding-agent/dist/core/lsp/client.js +3 -62
  203. package/packages/pi-coding-agent/dist/core/lsp/client.js.map +1 -1
  204. package/packages/pi-coding-agent/dist/core/lsp/config.d.ts +1 -1
  205. package/packages/pi-coding-agent/dist/core/lsp/config.d.ts.map +1 -1
  206. package/packages/pi-coding-agent/dist/core/lsp/config.js +2 -6
  207. package/packages/pi-coding-agent/dist/core/lsp/config.js.map +1 -1
  208. package/packages/pi-coding-agent/dist/core/lsp/edits.d.ts +0 -5
  209. package/packages/pi-coding-agent/dist/core/lsp/edits.d.ts.map +1 -1
  210. package/packages/pi-coding-agent/dist/core/lsp/edits.js +1 -1
  211. package/packages/pi-coding-agent/dist/core/lsp/edits.js.map +1 -1
  212. package/packages/pi-coding-agent/dist/core/lsp/index.d.ts.map +1 -1
  213. package/packages/pi-coding-agent/dist/core/lsp/index.js +52 -107
  214. package/packages/pi-coding-agent/dist/core/lsp/index.js.map +1 -1
  215. package/packages/pi-coding-agent/dist/core/lsp/lspmux.d.ts +0 -1
  216. package/packages/pi-coding-agent/dist/core/lsp/lspmux.d.ts.map +1 -1
  217. package/packages/pi-coding-agent/dist/core/lsp/lspmux.js +3 -22
  218. package/packages/pi-coding-agent/dist/core/lsp/lspmux.js.map +1 -1
  219. package/packages/pi-coding-agent/dist/core/lsp/types.d.ts +0 -1
  220. package/packages/pi-coding-agent/dist/core/lsp/types.d.ts.map +1 -1
  221. package/packages/pi-coding-agent/dist/core/lsp/types.js +0 -28
  222. package/packages/pi-coding-agent/dist/core/lsp/types.js.map +1 -1
  223. package/packages/pi-coding-agent/dist/core/lsp/utils.d.ts +1 -6
  224. package/packages/pi-coding-agent/dist/core/lsp/utils.d.ts.map +1 -1
  225. package/packages/pi-coding-agent/dist/core/lsp/utils.js +1 -28
  226. package/packages/pi-coding-agent/dist/core/lsp/utils.js.map +1 -1
  227. package/packages/pi-coding-agent/dist/core/messages.d.ts +0 -8
  228. package/packages/pi-coding-agent/dist/core/messages.d.ts.map +1 -1
  229. package/packages/pi-coding-agent/dist/core/messages.js +5 -5
  230. package/packages/pi-coding-agent/dist/core/messages.js.map +1 -1
  231. package/packages/pi-coding-agent/dist/core/model-registry.d.ts +0 -3
  232. package/packages/pi-coding-agent/dist/core/model-registry.d.ts.map +1 -1
  233. package/packages/pi-coding-agent/dist/core/model-registry.js +1 -3
  234. package/packages/pi-coding-agent/dist/core/model-registry.js.map +1 -1
  235. package/packages/pi-coding-agent/dist/core/model-resolver.d.ts +1 -26
  236. package/packages/pi-coding-agent/dist/core/model-resolver.d.ts.map +1 -1
  237. package/packages/pi-coding-agent/dist/core/model-resolver.js +3 -59
  238. package/packages/pi-coding-agent/dist/core/model-resolver.js.map +1 -1
  239. package/packages/pi-coding-agent/dist/core/package-manager.d.ts.map +1 -1
  240. package/packages/pi-coding-agent/dist/core/package-manager.js +2 -4
  241. package/packages/pi-coding-agent/dist/core/package-manager.js.map +1 -1
  242. package/packages/pi-coding-agent/dist/core/prompt-templates.d.ts +0 -17
  243. package/packages/pi-coding-agent/dist/core/prompt-templates.d.ts.map +1 -1
  244. package/packages/pi-coding-agent/dist/core/prompt-templates.js +2 -2
  245. package/packages/pi-coding-agent/dist/core/prompt-templates.js.map +1 -1
  246. package/packages/pi-coding-agent/dist/core/resource-loader.d.ts +2 -4
  247. package/packages/pi-coding-agent/dist/core/resource-loader.d.ts.map +1 -1
  248. package/packages/pi-coding-agent/dist/core/resource-loader.js +46 -60
  249. package/packages/pi-coding-agent/dist/core/resource-loader.js.map +1 -1
  250. package/packages/pi-coding-agent/dist/core/retry-handler.d.ts +87 -0
  251. package/packages/pi-coding-agent/dist/core/retry-handler.d.ts.map +1 -0
  252. package/packages/pi-coding-agent/dist/core/retry-handler.js +295 -0
  253. package/packages/pi-coding-agent/dist/core/retry-handler.js.map +1 -0
  254. package/packages/pi-coding-agent/dist/core/session-manager.d.ts +0 -5
  255. package/packages/pi-coding-agent/dist/core/session-manager.d.ts.map +1 -1
  256. package/packages/pi-coding-agent/dist/core/session-manager.js +5 -32
  257. package/packages/pi-coding-agent/dist/core/session-manager.js.map +1 -1
  258. package/packages/pi-coding-agent/dist/core/settings-manager.d.ts +8 -12
  259. package/packages/pi-coding-agent/dist/core/settings-manager.d.ts.map +1 -1
  260. package/packages/pi-coding-agent/dist/core/settings-manager.js +78 -168
  261. package/packages/pi-coding-agent/dist/core/settings-manager.js.map +1 -1
  262. package/packages/pi-coding-agent/dist/core/skills.d.ts.map +1 -1
  263. package/packages/pi-coding-agent/dist/core/skills.js +1 -3
  264. package/packages/pi-coding-agent/dist/core/skills.js.map +1 -1
  265. package/packages/pi-coding-agent/dist/index.d.ts +1 -1
  266. package/packages/pi-coding-agent/dist/index.d.ts.map +1 -1
  267. package/packages/pi-coding-agent/dist/index.js +1 -1
  268. package/packages/pi-coding-agent/dist/index.js.map +1 -1
  269. package/packages/pi-coding-agent/dist/migrations.d.ts +0 -16
  270. package/packages/pi-coding-agent/dist/migrations.d.ts.map +1 -1
  271. package/packages/pi-coding-agent/dist/migrations.js +2 -2
  272. package/packages/pi-coding-agent/dist/migrations.js.map +1 -1
  273. package/packages/pi-coding-agent/dist/modes/interactive/components/session-selector-search.d.ts +0 -2
  274. package/packages/pi-coding-agent/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
  275. package/packages/pi-coding-agent/dist/modes/interactive/components/session-selector-search.js +2 -2
  276. package/packages/pi-coding-agent/dist/modes/interactive/components/session-selector-search.js.map +1 -1
  277. package/packages/pi-coding-agent/dist/modes/interactive/components/session-selector.d.ts +1 -1
  278. package/packages/pi-coding-agent/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  279. package/packages/pi-coding-agent/dist/modes/interactive/components/session-selector.js +9 -26
  280. package/packages/pi-coding-agent/dist/modes/interactive/components/session-selector.js.map +1 -1
  281. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  282. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js +1 -13
  283. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
  284. package/packages/pi-coding-agent/dist/modes/interactive/components/tree-render-utils.d.ts +44 -0
  285. package/packages/pi-coding-agent/dist/modes/interactive/components/tree-render-utils.d.ts.map +1 -0
  286. package/packages/pi-coding-agent/dist/modes/interactive/components/tree-render-utils.js +61 -0
  287. package/packages/pi-coding-agent/dist/modes/interactive/components/tree-render-utils.js.map +1 -0
  288. package/packages/pi-coding-agent/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  289. package/packages/pi-coding-agent/dist/modes/interactive/components/tree-selector.js +6 -9
  290. package/packages/pi-coding-agent/dist/modes/interactive/components/tree-selector.js.map +1 -1
  291. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +1 -24
  292. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  293. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js +50 -512
  294. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  295. package/packages/pi-coding-agent/dist/modes/interactive/slash-command-handlers.d.ts +71 -0
  296. package/packages/pi-coding-agent/dist/modes/interactive/slash-command-handlers.d.ts.map +1 -0
  297. package/packages/pi-coding-agent/dist/modes/interactive/slash-command-handlers.js +514 -0
  298. package/packages/pi-coding-agent/dist/modes/interactive/slash-command-handlers.js.map +1 -0
  299. package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts +65 -4
  300. package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  301. package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.js +6 -23
  302. package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.js.map +1 -1
  303. package/packages/pi-coding-agent/dist/modes/interactive/theme/themes.d.ts +12 -0
  304. package/packages/pi-coding-agent/dist/modes/interactive/theme/themes.d.ts.map +1 -0
  305. package/packages/pi-coding-agent/dist/modes/interactive/theme/themes.js +175 -0
  306. package/packages/pi-coding-agent/dist/modes/interactive/theme/themes.js.map +1 -0
  307. package/packages/pi-coding-agent/dist/modes/interactive/utils/shorten-path.d.ts +6 -0
  308. package/packages/pi-coding-agent/dist/modes/interactive/utils/shorten-path.d.ts.map +1 -0
  309. package/packages/pi-coding-agent/dist/modes/interactive/utils/shorten-path.js +15 -0
  310. package/packages/pi-coding-agent/dist/modes/interactive/utils/shorten-path.js.map +1 -0
  311. package/packages/pi-coding-agent/dist/modes/print-mode.d.ts.map +1 -1
  312. package/packages/pi-coding-agent/dist/modes/print-mode.js +2 -30
  313. package/packages/pi-coding-agent/dist/modes/print-mode.js.map +1 -1
  314. package/packages/pi-coding-agent/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  315. package/packages/pi-coding-agent/dist/modes/rpc/rpc-mode.js +2 -28
  316. package/packages/pi-coding-agent/dist/modes/rpc/rpc-mode.js.map +1 -1
  317. package/packages/pi-coding-agent/dist/modes/shared/command-context-actions.d.ts +19 -0
  318. package/packages/pi-coding-agent/dist/modes/shared/command-context-actions.d.ts.map +1 -0
  319. package/packages/pi-coding-agent/dist/modes/shared/command-context-actions.js +45 -0
  320. package/packages/pi-coding-agent/dist/modes/shared/command-context-actions.js.map +1 -0
  321. package/packages/pi-coding-agent/dist/utils/changelog.d.ts +0 -4
  322. package/packages/pi-coding-agent/dist/utils/changelog.d.ts.map +1 -1
  323. package/packages/pi-coding-agent/dist/utils/changelog.js +1 -1
  324. package/packages/pi-coding-agent/dist/utils/changelog.js.map +1 -1
  325. package/packages/pi-coding-agent/dist/utils/clipboard-image.d.ts +0 -1
  326. package/packages/pi-coding-agent/dist/utils/clipboard-image.d.ts.map +1 -1
  327. package/packages/pi-coding-agent/dist/utils/clipboard-image.js +1 -1
  328. package/packages/pi-coding-agent/dist/utils/clipboard-image.js.map +1 -1
  329. package/packages/pi-coding-agent/dist/utils/error.d.ts +5 -0
  330. package/packages/pi-coding-agent/dist/utils/error.d.ts.map +1 -0
  331. package/packages/pi-coding-agent/dist/utils/error.js +7 -0
  332. package/packages/pi-coding-agent/dist/utils/error.js.map +1 -0
  333. package/packages/pi-coding-agent/dist/utils/photon.d.ts +0 -19
  334. package/packages/pi-coding-agent/dist/utils/photon.d.ts.map +1 -1
  335. package/packages/pi-coding-agent/dist/utils/photon.js +1 -120
  336. package/packages/pi-coding-agent/dist/utils/photon.js.map +1 -1
  337. package/packages/pi-coding-agent/dist/utils/tools-manager.d.ts +0 -1
  338. package/packages/pi-coding-agent/dist/utils/tools-manager.d.ts.map +1 -1
  339. package/packages/pi-coding-agent/dist/utils/tools-manager.js +1 -1
  340. package/packages/pi-coding-agent/dist/utils/tools-manager.js.map +1 -1
  341. package/packages/pi-coding-agent/package.json +1 -1
  342. package/packages/pi-coding-agent/src/config.ts +5 -10
  343. package/packages/pi-coding-agent/src/core/agent-session.ts +117 -745
  344. package/packages/pi-coding-agent/src/core/auth-storage.ts +4 -38
  345. package/packages/pi-coding-agent/src/core/compaction/branch-summarization.ts +7 -53
  346. package/packages/pi-coding-agent/src/core/compaction/compaction.ts +14 -74
  347. package/packages/pi-coding-agent/src/core/compaction/utils.ts +100 -0
  348. package/packages/pi-coding-agent/src/core/compaction-orchestrator.ts +424 -0
  349. package/packages/pi-coding-agent/src/core/export-html/ansi-to-html.ts +1 -1
  350. package/packages/pi-coding-agent/src/core/extensions/index.ts +1 -21
  351. package/packages/pi-coding-agent/src/core/extensions/runner.ts +119 -256
  352. package/packages/pi-coding-agent/src/core/extensions/types.ts +50 -69
  353. package/packages/pi-coding-agent/src/core/keybindings.ts +2 -2
  354. package/packages/pi-coding-agent/src/core/lock-utils.ts +113 -0
  355. package/packages/pi-coding-agent/src/core/lsp/client.ts +3 -73
  356. package/packages/pi-coding-agent/src/core/lsp/config.ts +2 -10
  357. package/packages/pi-coding-agent/src/core/lsp/edits.ts +1 -1
  358. package/packages/pi-coding-agent/src/core/lsp/index.ts +83 -152
  359. package/packages/pi-coding-agent/src/core/lsp/lspmux.ts +3 -23
  360. package/packages/pi-coding-agent/src/core/lsp/types.ts +0 -29
  361. package/packages/pi-coding-agent/src/core/lsp/utils.ts +1 -33
  362. package/packages/pi-coding-agent/src/core/messages.ts +5 -5
  363. package/packages/pi-coding-agent/src/core/model-registry.ts +0 -2
  364. package/packages/pi-coding-agent/src/core/model-resolver.ts +3 -77
  365. package/packages/pi-coding-agent/src/core/package-manager.ts +1 -4
  366. package/packages/pi-coding-agent/src/core/prompt-templates.ts +2 -2
  367. package/packages/pi-coding-agent/src/core/resource-loader.ts +56 -69
  368. package/packages/pi-coding-agent/src/core/retry-handler.ts +359 -0
  369. package/packages/pi-coding-agent/src/core/session-manager.ts +5 -34
  370. package/packages/pi-coding-agent/src/core/settings-manager.ts +87 -166
  371. package/packages/pi-coding-agent/src/core/skills.ts +1 -4
  372. package/packages/pi-coding-agent/src/index.ts +1 -7
  373. package/packages/pi-coding-agent/src/migrations.ts +2 -2
  374. package/packages/pi-coding-agent/src/modes/interactive/components/session-selector-search.ts +2 -2
  375. package/packages/pi-coding-agent/src/modes/interactive/components/session-selector.ts +17 -29
  376. package/packages/pi-coding-agent/src/modes/interactive/components/tool-execution.ts +1 -13
  377. package/packages/pi-coding-agent/src/modes/interactive/components/tree-render-utils.ts +81 -0
  378. package/packages/pi-coding-agent/src/modes/interactive/components/tree-selector.ts +14 -19
  379. package/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts +50 -561
  380. package/packages/pi-coding-agent/src/modes/interactive/slash-command-handlers.ts +653 -0
  381. package/packages/pi-coding-agent/src/modes/interactive/theme/theme.ts +7 -26
  382. package/packages/pi-coding-agent/src/modes/interactive/theme/themes.ts +196 -0
  383. package/packages/pi-coding-agent/src/modes/interactive/utils/shorten-path.ts +14 -0
  384. package/packages/pi-coding-agent/src/modes/print-mode.ts +2 -30
  385. package/packages/pi-coding-agent/src/modes/rpc/rpc-mode.ts +2 -28
  386. package/packages/pi-coding-agent/src/modes/shared/command-context-actions.ts +53 -0
  387. package/packages/pi-coding-agent/src/utils/changelog.ts +1 -1
  388. package/packages/pi-coding-agent/src/utils/clipboard-image.ts +1 -1
  389. package/packages/pi-coding-agent/src/utils/error.ts +6 -0
  390. package/packages/pi-coding-agent/src/utils/photon.ts +0 -137
  391. package/packages/pi-coding-agent/src/utils/tools-manager.ts +1 -1
  392. package/packages/pi-tui/dist/components/editor.d.ts +0 -10
  393. package/packages/pi-tui/dist/components/editor.d.ts.map +1 -1
  394. package/packages/pi-tui/dist/components/editor.js +1 -1
  395. package/packages/pi-tui/dist/components/editor.js.map +1 -1
  396. package/packages/pi-tui/dist/components/markdown.d.ts +5 -0
  397. package/packages/pi-tui/dist/components/markdown.d.ts.map +1 -1
  398. package/packages/pi-tui/dist/components/markdown.js +25 -31
  399. package/packages/pi-tui/dist/components/markdown.js.map +1 -1
  400. package/packages/pi-tui/dist/keys.d.ts +0 -4
  401. package/packages/pi-tui/dist/keys.d.ts.map +1 -1
  402. package/packages/pi-tui/dist/keys.js +94 -162
  403. package/packages/pi-tui/dist/keys.js.map +1 -1
  404. package/packages/pi-tui/dist/overlay-layout.d.ts +55 -0
  405. package/packages/pi-tui/dist/overlay-layout.d.ts.map +1 -0
  406. package/packages/pi-tui/dist/overlay-layout.js +288 -0
  407. package/packages/pi-tui/dist/overlay-layout.js.map +1 -0
  408. package/packages/pi-tui/dist/tui.d.ts +0 -22
  409. package/packages/pi-tui/dist/tui.d.ts.map +1 -1
  410. package/packages/pi-tui/dist/tui.js +6 -272
  411. package/packages/pi-tui/dist/tui.js.map +1 -1
  412. package/packages/pi-tui/dist/utils.d.ts +0 -7
  413. package/packages/pi-tui/dist/utils.d.ts.map +1 -1
  414. package/packages/pi-tui/dist/utils.js +0 -44
  415. package/packages/pi-tui/dist/utils.js.map +1 -1
  416. package/packages/pi-tui/src/components/editor.ts +1 -1
  417. package/packages/pi-tui/src/components/markdown.ts +25 -29
  418. package/packages/pi-tui/src/keys.ts +94 -173
  419. package/packages/pi-tui/src/overlay-layout.ts +372 -0
  420. package/packages/pi-tui/src/tui.ts +11 -312
  421. package/packages/pi-tui/src/utils.ts +0 -43
  422. package/pkg/dist/core/export-html/ansi-to-html.d.ts +0 -4
  423. package/pkg/dist/core/export-html/ansi-to-html.d.ts.map +1 -1
  424. package/pkg/dist/core/export-html/ansi-to-html.js +1 -1
  425. package/pkg/dist/core/export-html/ansi-to-html.js.map +1 -1
  426. package/pkg/dist/modes/interactive/theme/theme.d.ts +65 -4
  427. package/pkg/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  428. package/pkg/dist/modes/interactive/theme/theme.js +6 -23
  429. package/pkg/dist/modes/interactive/theme/theme.js.map +1 -1
  430. package/pkg/dist/modes/interactive/theme/themes.d.ts +12 -0
  431. package/pkg/dist/modes/interactive/theme/themes.d.ts.map +1 -0
  432. package/pkg/dist/modes/interactive/theme/themes.js +175 -0
  433. package/pkg/dist/modes/interactive/theme/themes.js.map +1 -0
  434. package/pkg/package.json +1 -1
  435. package/src/resources/extensions/async-jobs/await-tool.ts +0 -2
  436. package/src/resources/extensions/async-jobs/job-manager.ts +0 -7
  437. package/src/resources/extensions/bg-shell/output-formatter.ts +0 -17
  438. package/src/resources/extensions/bg-shell/process-manager.ts +0 -4
  439. package/src/resources/extensions/bg-shell/types.ts +0 -12
  440. package/src/resources/extensions/context7/index.ts +7 -0
  441. package/src/resources/extensions/get-secrets-from-user.ts +2 -35
  442. package/src/resources/extensions/google-search/index.ts +7 -0
  443. package/src/resources/extensions/gsd/auto-dispatch.ts +49 -1
  444. package/src/resources/extensions/gsd/auto-loop.ts +22 -2
  445. package/src/resources/extensions/gsd/auto-model-selection.ts +23 -2
  446. package/src/resources/extensions/gsd/auto-recovery.ts +39 -0
  447. package/src/resources/extensions/gsd/auto-start.ts +42 -2
  448. package/src/resources/extensions/gsd/auto.ts +61 -3
  449. package/src/resources/extensions/gsd/changelog.ts +213 -0
  450. package/src/resources/extensions/gsd/commands-bootstrap.ts +1 -0
  451. package/src/resources/extensions/gsd/commands-handlers.ts +2 -2
  452. package/src/resources/extensions/gsd/commands-inspect.ts +10 -3
  453. package/src/resources/extensions/gsd/commands-prefs-wizard.ts +5 -1
  454. package/src/resources/extensions/gsd/commands-rate.ts +55 -0
  455. package/src/resources/extensions/gsd/commands.ts +52 -2
  456. package/src/resources/extensions/gsd/docs/preferences-reference.md +10 -0
  457. package/src/resources/extensions/gsd/doctor-checks.ts +107 -5
  458. package/src/resources/extensions/gsd/doctor-environment.ts +26 -16
  459. package/src/resources/extensions/gsd/doctor-proactive.ts +24 -0
  460. package/src/resources/extensions/gsd/doctor-types.ts +9 -1
  461. package/src/resources/extensions/gsd/doctor.ts +35 -0
  462. package/src/resources/extensions/gsd/files.ts +12 -2
  463. package/src/resources/extensions/gsd/gitignore.ts +54 -7
  464. package/src/resources/extensions/gsd/guided-flow.ts +12 -4
  465. package/src/resources/extensions/gsd/health-widget-core.ts +129 -0
  466. package/src/resources/extensions/gsd/health-widget.ts +103 -59
  467. package/src/resources/extensions/gsd/index.ts +30 -33
  468. package/src/resources/extensions/gsd/migrate-external.ts +47 -2
  469. package/src/resources/extensions/gsd/milestone-ids.ts +3 -2
  470. package/src/resources/extensions/gsd/paths.ts +73 -7
  471. package/src/resources/extensions/gsd/post-unit-hooks.ts +5 -1
  472. package/src/resources/extensions/gsd/preferences-validation.ts +54 -1
  473. package/src/resources/extensions/gsd/preferences.ts +16 -1
  474. package/src/resources/extensions/gsd/prompts/complete-milestone.md +2 -0
  475. package/src/resources/extensions/gsd/prompts/validate-milestone.md +2 -0
  476. package/src/resources/extensions/gsd/roadmap-mutations.ts +66 -0
  477. package/src/resources/extensions/gsd/session-lock.ts +59 -2
  478. package/src/resources/extensions/gsd/state.ts +2 -1
  479. package/src/resources/extensions/gsd/templates/plan.md +8 -0
  480. package/src/resources/extensions/gsd/tests/commands-inspect-open-db.test.ts +46 -0
  481. package/src/resources/extensions/gsd/tests/doctor-git.test.ts +98 -2
  482. package/src/resources/extensions/gsd/tests/doctor-runtime.test.ts +59 -3
  483. package/src/resources/extensions/gsd/tests/files-loadfile-eisdir.test.ts +20 -0
  484. package/src/resources/extensions/gsd/tests/gitignore-tracked-gsd.test.ts +214 -0
  485. package/src/resources/extensions/gsd/tests/health-widget.test.ts +158 -0
  486. package/src/resources/extensions/gsd/tests/paths.test.ts +113 -0
  487. package/src/resources/extensions/gsd/tests/preferences.test.ts +40 -2
  488. package/src/resources/extensions/gsd/tests/queue-reorder-e2e.test.ts +26 -0
  489. package/src/resources/extensions/gsd/tests/test-utils.ts +165 -0
  490. package/src/resources/extensions/gsd/tests/validate-directory.test.ts +15 -0
  491. package/src/resources/extensions/gsd/tests/validate-milestone.test.ts +7 -0
  492. package/src/resources/extensions/gsd/tests/worktree-sync-milestones.test.ts +32 -0
  493. package/src/resources/extensions/gsd/worktree-resolver.ts +11 -0
  494. package/src/resources/extensions/mcp-client/index.ts +2 -1
  495. package/src/resources/extensions/remote-questions/remote-command.ts +2 -23
  496. package/src/resources/extensions/shared/mod.ts +1 -1
  497. package/src/resources/extensions/shared/sanitize.ts +36 -0
  498. package/src/resources/extensions/subagent/index.ts +6 -12
  499. package/src/resources/skills/create-gsd-extension/references/events-reference.md +4 -4
  500. package/dist/resources/extensions/shared/wizard-ui.js +0 -478
  501. package/packages/pi-coding-agent/dist/modes/interactive/theme/dark.json +0 -85
  502. package/packages/pi-coding-agent/dist/modes/interactive/theme/light.json +0 -84
  503. package/packages/pi-coding-agent/dist/modes/interactive/theme/theme-schema.json +0 -335
  504. package/packages/pi-coding-agent/src/modes/interactive/theme/dark.json +0 -85
  505. package/packages/pi-coding-agent/src/modes/interactive/theme/light.json +0 -84
  506. package/packages/pi-coding-agent/src/modes/interactive/theme/theme-schema.json +0 -335
  507. package/pkg/dist/modes/interactive/theme/dark.json +0 -85
  508. package/pkg/dist/modes/interactive/theme/light.json +0 -84
  509. package/pkg/dist/modes/interactive/theme/theme-schema.json +0 -335
  510. package/src/resources/extensions/shared/wizard-ui.ts +0 -551
@@ -185,176 +185,108 @@ const FUNCTIONAL_CODEPOINTS = {
185
185
  home: -14,
186
186
  end: -15,
187
187
  };
188
- const LEGACY_KEY_SEQUENCES = {
189
- up: ["\x1b[A", "\x1bOA"],
190
- down: ["\x1b[B", "\x1bOB"],
191
- right: ["\x1b[C", "\x1bOC"],
192
- left: ["\x1b[D", "\x1bOD"],
193
- home: ["\x1b[H", "\x1bOH", "\x1b[1~", "\x1b[7~"],
194
- end: ["\x1b[F", "\x1bOF", "\x1b[4~", "\x1b[8~"],
195
- insert: ["\x1b[2~"],
196
- delete: ["\x1b[3~"],
197
- pageUp: ["\x1b[5~", "\x1b[[5~"],
198
- pageDown: ["\x1b[6~", "\x1b[[6~"],
199
- clear: ["\x1b[E", "\x1bOE"],
200
- f1: ["\x1bOP", "\x1b[11~", "\x1b[[A"],
201
- f2: ["\x1bOQ", "\x1b[12~", "\x1b[[B"],
202
- f3: ["\x1bOR", "\x1b[13~", "\x1b[[C"],
203
- f4: ["\x1bOS", "\x1b[14~", "\x1b[[D"],
204
- f5: ["\x1b[15~", "\x1b[[E"],
205
- f6: ["\x1b[17~"],
206
- f7: ["\x1b[18~"],
207
- f8: ["\x1b[19~"],
208
- f9: ["\x1b[20~"],
209
- f10: ["\x1b[21~"],
210
- f11: ["\x1b[23~"],
211
- f12: ["\x1b[24~"],
212
- };
213
- const LEGACY_SHIFT_SEQUENCES = {
214
- up: ["\x1b[a"],
215
- down: ["\x1b[b"],
216
- right: ["\x1b[c"],
217
- left: ["\x1b[d"],
218
- clear: ["\x1b[e"],
219
- insert: ["\x1b[2$"],
220
- delete: ["\x1b[3$"],
221
- pageUp: ["\x1b[5$"],
222
- pageDown: ["\x1b[6$"],
223
- home: ["\x1b[7$"],
224
- end: ["\x1b[8$"],
225
- };
226
- const LEGACY_CTRL_SEQUENCES = {
227
- up: ["\x1bOa"],
228
- down: ["\x1bOb"],
229
- right: ["\x1bOc"],
230
- left: ["\x1bOd"],
231
- clear: ["\x1bOe"],
232
- insert: ["\x1b[2^"],
233
- delete: ["\x1b[3^"],
234
- pageUp: ["\x1b[5^"],
235
- pageDown: ["\x1b[6^"],
236
- home: ["\x1b[7^"],
237
- end: ["\x1b[8^"],
238
- };
239
- const LEGACY_SEQUENCE_KEY_IDS = {
240
- "\x1bOA": "up",
241
- "\x1bOB": "down",
242
- "\x1bOC": "right",
243
- "\x1bOD": "left",
244
- "\x1bOH": "home",
245
- "\x1bOF": "end",
246
- "\x1b[E": "clear",
247
- "\x1bOE": "clear",
248
- "\x1bOe": "ctrl+clear",
249
- "\x1b[e": "shift+clear",
250
- "\x1b[2~": "insert",
251
- "\x1b[2$": "shift+insert",
252
- "\x1b[2^": "ctrl+insert",
253
- "\x1b[3$": "shift+delete",
254
- "\x1b[3^": "ctrl+delete",
255
- "\x1b[[5~": "pageUp",
256
- "\x1b[[6~": "pageDown",
257
- "\x1b[a": "shift+up",
258
- "\x1b[b": "shift+down",
259
- "\x1b[c": "shift+right",
260
- "\x1b[d": "shift+left",
261
- "\x1bOa": "ctrl+up",
262
- "\x1bOb": "ctrl+down",
263
- "\x1bOc": "ctrl+right",
264
- "\x1bOd": "ctrl+left",
265
- "\x1b[5$": "shift+pageUp",
266
- "\x1b[6$": "shift+pageDown",
267
- "\x1b[7$": "shift+home",
268
- "\x1b[8$": "shift+end",
269
- "\x1b[5^": "ctrl+pageUp",
270
- "\x1b[6^": "ctrl+pageDown",
271
- "\x1b[7^": "ctrl+home",
272
- "\x1b[8^": "ctrl+end",
273
- "\x1bOP": "f1",
274
- "\x1bOQ": "f2",
275
- "\x1bOR": "f3",
276
- "\x1bOS": "f4",
277
- "\x1b[11~": "f1",
278
- "\x1b[12~": "f2",
279
- "\x1b[13~": "f3",
280
- "\x1b[14~": "f4",
281
- "\x1b[[A": "f1",
282
- "\x1b[[B": "f2",
283
- "\x1b[[C": "f3",
284
- "\x1b[[D": "f4",
285
- "\x1b[[E": "f5",
286
- "\x1b[15~": "f5",
287
- "\x1b[17~": "f6",
288
- "\x1b[18~": "f7",
289
- "\x1b[19~": "f8",
290
- "\x1b[20~": "f9",
291
- "\x1b[21~": "f10",
292
- "\x1b[23~": "f11",
293
- "\x1b[24~": "f12",
294
- "\x1bb": "alt+left",
295
- "\x1bf": "alt+right",
296
- "\x1bp": "alt+up",
297
- "\x1bn": "alt+down",
188
+ /**
189
+ * Consolidated legacy terminal key sequences.
190
+ * Each key maps to its sequences for unmodified, shift-modified, and ctrl-modified variants.
191
+ * This single structure replaces three separate maps (LEGACY_KEY_SEQUENCES,
192
+ * LEGACY_SHIFT_SEQUENCES, LEGACY_CTRL_SEQUENCES) that shared the same key sets.
193
+ */
194
+ const LEGACY_SEQUENCES = {
195
+ up: { plain: ["\x1b[A", "\x1bOA"], shift: ["\x1b[a"], ctrl: ["\x1bOa"] },
196
+ down: { plain: ["\x1b[B", "\x1bOB"], shift: ["\x1b[b"], ctrl: ["\x1bOb"] },
197
+ right: { plain: ["\x1b[C", "\x1bOC"], shift: ["\x1b[c"], ctrl: ["\x1bOc"] },
198
+ left: { plain: ["\x1b[D", "\x1bOD"], shift: ["\x1b[d"], ctrl: ["\x1bOd"] },
199
+ home: { plain: ["\x1b[H", "\x1bOH", "\x1b[1~", "\x1b[7~"], shift: ["\x1b[7$"], ctrl: ["\x1b[7^"] },
200
+ end: { plain: ["\x1b[F", "\x1bOF", "\x1b[4~", "\x1b[8~"], shift: ["\x1b[8$"], ctrl: ["\x1b[8^"] },
201
+ insert: { plain: ["\x1b[2~"], shift: ["\x1b[2$"], ctrl: ["\x1b[2^"] },
202
+ delete: { plain: ["\x1b[3~"], shift: ["\x1b[3$"], ctrl: ["\x1b[3^"] },
203
+ pageUp: { plain: ["\x1b[5~", "\x1b[[5~"], shift: ["\x1b[5$"], ctrl: ["\x1b[5^"] },
204
+ pageDown: { plain: ["\x1b[6~", "\x1b[[6~"], shift: ["\x1b[6$"], ctrl: ["\x1b[6^"] },
205
+ clear: { plain: ["\x1b[E", "\x1bOE"], shift: ["\x1b[e"], ctrl: ["\x1bOe"] },
206
+ f1: { plain: ["\x1bOP", "\x1b[11~", "\x1b[[A"] },
207
+ f2: { plain: ["\x1bOQ", "\x1b[12~", "\x1b[[B"] },
208
+ f3: { plain: ["\x1bOR", "\x1b[13~", "\x1b[[C"] },
209
+ f4: { plain: ["\x1bOS", "\x1b[14~", "\x1b[[D"] },
210
+ f5: { plain: ["\x1b[15~", "\x1b[[E"] },
211
+ f6: { plain: ["\x1b[17~"] },
212
+ f7: { plain: ["\x1b[18~"] },
213
+ f8: { plain: ["\x1b[19~"] },
214
+ f9: { plain: ["\x1b[20~"] },
215
+ f10: { plain: ["\x1b[21~"] },
216
+ f11: { plain: ["\x1b[23~"] },
217
+ f12: { plain: ["\x1b[24~"] },
298
218
  };
219
+ /**
220
+ * Reverse lookup from escape sequence to key identifier, auto-generated from LEGACY_SEQUENCES.
221
+ * Additional non-standard sequences (alt+arrow aliases) are appended after generation.
222
+ */
223
+ const LEGACY_SEQUENCE_KEY_IDS = (() => {
224
+ const map = {};
225
+ for (const [key, entry] of Object.entries(LEGACY_SEQUENCES)) {
226
+ const keyId = key;
227
+ if (entry.plain) {
228
+ for (const seq of entry.plain)
229
+ map[seq] = keyId;
230
+ }
231
+ if (entry.shift) {
232
+ for (const seq of entry.shift)
233
+ map[seq] = `shift+${keyId}`;
234
+ }
235
+ if (entry.ctrl) {
236
+ for (const seq of entry.ctrl)
237
+ map[seq] = `ctrl+${keyId}`;
238
+ }
239
+ }
240
+ // Non-standard alt+arrow aliases not derivable from the table
241
+ map["\x1bb"] = "alt+left";
242
+ map["\x1bf"] = "alt+right";
243
+ map["\x1bp"] = "alt+up";
244
+ map["\x1bn"] = "alt+down";
245
+ return map;
246
+ })();
299
247
  const matchesLegacySequence = (data, sequences) => sequences.includes(data);
300
248
  const matchesLegacyModifierSequence = (data, key, modifier) => {
301
- if (modifier === MODIFIERS.shift) {
302
- return matchesLegacySequence(data, LEGACY_SHIFT_SEQUENCES[key]);
249
+ const entry = LEGACY_SEQUENCES[key];
250
+ if (!entry)
251
+ return false;
252
+ if (modifier === MODIFIERS.shift && entry.shift) {
253
+ return matchesLegacySequence(data, entry.shift);
303
254
  }
304
- if (modifier === MODIFIERS.ctrl) {
305
- return matchesLegacySequence(data, LEGACY_CTRL_SEQUENCES[key]);
255
+ if (modifier === MODIFIERS.ctrl && entry.ctrl) {
256
+ return matchesLegacySequence(data, entry.ctrl);
306
257
  }
307
258
  return false;
308
259
  };
309
260
  // Store the last parsed event type for isKeyRelease() to query
310
261
  let _lastEventType = "press";
311
262
  /**
312
- * Check if the last parsed key event was a key release.
313
- * Only meaningful when Kitty keyboard protocol with flag 2 is active.
263
+ * Check if input data contains a Kitty event type marker.
264
+ * Event type markers appear as ":<eventType>" followed by a sequence terminator (u, ~, A-D, H, F).
265
+ * Ignores bracketed paste content which may contain similar patterns.
314
266
  */
315
- export function isKeyRelease(data) {
316
- // Don't treat bracketed paste content as key release, even if it contains
317
- // patterns like ":3F" (e.g., bluetooth MAC addresses like "90:62:3F:A5").
318
- // Terminal.ts re-wraps paste content with bracketed paste markers before
319
- // passing to TUI, so pasted data will always contain \x1b[200~.
267
+ function hasKittyEventType(data, eventType) {
320
268
  if (data.includes("\x1b[200~")) {
321
269
  return false;
322
270
  }
323
- // Quick check: release events with flag 2 contain ":3"
324
- // Format: \x1b[<codepoint>;<modifier>:3u
325
- if (data.includes(":3u") ||
326
- data.includes(":3~") ||
327
- data.includes(":3A") ||
328
- data.includes(":3B") ||
329
- data.includes(":3C") ||
330
- data.includes(":3D") ||
331
- data.includes(":3H") ||
332
- data.includes(":3F")) {
333
- return true;
334
- }
335
- return false;
271
+ const marker = `:${eventType}`;
272
+ return (data.includes(`${marker}u`) ||
273
+ data.includes(`${marker}~`) ||
274
+ data.includes(`${marker}A`) ||
275
+ data.includes(`${marker}B`) ||
276
+ data.includes(`${marker}C`) ||
277
+ data.includes(`${marker}D`) ||
278
+ data.includes(`${marker}H`) ||
279
+ data.includes(`${marker}F`));
280
+ }
281
+ export function isKeyRelease(data) {
282
+ return hasKittyEventType(data, 3);
336
283
  }
337
284
  /**
338
285
  * Check if the last parsed key event was a key repeat.
339
286
  * Only meaningful when Kitty keyboard protocol with flag 2 is active.
340
287
  */
341
288
  export function isKeyRepeat(data) {
342
- // Don't treat bracketed paste content as key repeat, even if it contains
343
- // patterns like ":2F". See isKeyRelease() for details.
344
- if (data.includes("\x1b[200~")) {
345
- return false;
346
- }
347
- if (data.includes(":2u") ||
348
- data.includes(":2~") ||
349
- data.includes(":2A") ||
350
- data.includes(":2B") ||
351
- data.includes(":2C") ||
352
- data.includes(":2D") ||
353
- data.includes(":2H") ||
354
- data.includes(":2F")) {
355
- return true;
356
- }
357
- return false;
289
+ return hasKittyEventType(data, 2);
358
290
  }
359
291
  function parseEventType(eventTypeStr) {
360
292
  if (!eventTypeStr)
@@ -652,7 +584,7 @@ export function matchesKey(data, keyId) {
652
584
  return matchesKittySequence(data, CODEPOINTS.backspace, modifier);
653
585
  case "insert":
654
586
  if (modifier === 0) {
655
- return (matchesLegacySequence(data, LEGACY_KEY_SEQUENCES.insert) ||
587
+ return (matchesLegacySequence(data, LEGACY_SEQUENCES.insert.plain) ||
656
588
  matchesKittySequence(data, FUNCTIONAL_CODEPOINTS.insert, 0));
657
589
  }
658
590
  if (matchesLegacyModifierSequence(data, "insert", modifier)) {
@@ -661,7 +593,7 @@ export function matchesKey(data, keyId) {
661
593
  return matchesKittySequence(data, FUNCTIONAL_CODEPOINTS.insert, modifier);
662
594
  case "delete":
663
595
  if (modifier === 0) {
664
- return (matchesLegacySequence(data, LEGACY_KEY_SEQUENCES.delete) ||
596
+ return (matchesLegacySequence(data, LEGACY_SEQUENCES.delete.plain) ||
665
597
  matchesKittySequence(data, FUNCTIONAL_CODEPOINTS.delete, 0));
666
598
  }
667
599
  if (matchesLegacyModifierSequence(data, "delete", modifier)) {
@@ -670,12 +602,12 @@ export function matchesKey(data, keyId) {
670
602
  return matchesKittySequence(data, FUNCTIONAL_CODEPOINTS.delete, modifier);
671
603
  case "clear":
672
604
  if (modifier === 0) {
673
- return matchesLegacySequence(data, LEGACY_KEY_SEQUENCES.clear);
605
+ return matchesLegacySequence(data, LEGACY_SEQUENCES.clear.plain);
674
606
  }
675
607
  return matchesLegacyModifierSequence(data, "clear", modifier);
676
608
  case "home":
677
609
  if (modifier === 0) {
678
- return (matchesLegacySequence(data, LEGACY_KEY_SEQUENCES.home) ||
610
+ return (matchesLegacySequence(data, LEGACY_SEQUENCES.home.plain) ||
679
611
  matchesKittySequence(data, FUNCTIONAL_CODEPOINTS.home, 0));
680
612
  }
681
613
  if (matchesLegacyModifierSequence(data, "home", modifier)) {
@@ -684,7 +616,7 @@ export function matchesKey(data, keyId) {
684
616
  return matchesKittySequence(data, FUNCTIONAL_CODEPOINTS.home, modifier);
685
617
  case "end":
686
618
  if (modifier === 0) {
687
- return (matchesLegacySequence(data, LEGACY_KEY_SEQUENCES.end) ||
619
+ return (matchesLegacySequence(data, LEGACY_SEQUENCES.end.plain) ||
688
620
  matchesKittySequence(data, FUNCTIONAL_CODEPOINTS.end, 0));
689
621
  }
690
622
  if (matchesLegacyModifierSequence(data, "end", modifier)) {
@@ -693,7 +625,7 @@ export function matchesKey(data, keyId) {
693
625
  return matchesKittySequence(data, FUNCTIONAL_CODEPOINTS.end, modifier);
694
626
  case "pageup":
695
627
  if (modifier === 0) {
696
- return (matchesLegacySequence(data, LEGACY_KEY_SEQUENCES.pageUp) ||
628
+ return (matchesLegacySequence(data, LEGACY_SEQUENCES.pageUp.plain) ||
697
629
  matchesKittySequence(data, FUNCTIONAL_CODEPOINTS.pageUp, 0));
698
630
  }
699
631
  if (matchesLegacyModifierSequence(data, "pageUp", modifier)) {
@@ -702,7 +634,7 @@ export function matchesKey(data, keyId) {
702
634
  return matchesKittySequence(data, FUNCTIONAL_CODEPOINTS.pageUp, modifier);
703
635
  case "pagedown":
704
636
  if (modifier === 0) {
705
- return (matchesLegacySequence(data, LEGACY_KEY_SEQUENCES.pageDown) ||
637
+ return (matchesLegacySequence(data, LEGACY_SEQUENCES.pageDown.plain) ||
706
638
  matchesKittySequence(data, FUNCTIONAL_CODEPOINTS.pageDown, 0));
707
639
  }
708
640
  if (matchesLegacyModifierSequence(data, "pageDown", modifier)) {
@@ -714,7 +646,7 @@ export function matchesKey(data, keyId) {
714
646
  return data === "\x1bp" || matchesKittySequence(data, ARROW_CODEPOINTS.up, MODIFIERS.alt);
715
647
  }
716
648
  if (modifier === 0) {
717
- return (matchesLegacySequence(data, LEGACY_KEY_SEQUENCES.up) ||
649
+ return (matchesLegacySequence(data, LEGACY_SEQUENCES.up.plain) ||
718
650
  matchesKittySequence(data, ARROW_CODEPOINTS.up, 0));
719
651
  }
720
652
  if (matchesLegacyModifierSequence(data, "up", modifier)) {
@@ -726,7 +658,7 @@ export function matchesKey(data, keyId) {
726
658
  return data === "\x1bn" || matchesKittySequence(data, ARROW_CODEPOINTS.down, MODIFIERS.alt);
727
659
  }
728
660
  if (modifier === 0) {
729
- return (matchesLegacySequence(data, LEGACY_KEY_SEQUENCES.down) ||
661
+ return (matchesLegacySequence(data, LEGACY_SEQUENCES.down.plain) ||
730
662
  matchesKittySequence(data, ARROW_CODEPOINTS.down, 0));
731
663
  }
732
664
  if (matchesLegacyModifierSequence(data, "down", modifier)) {
@@ -746,7 +678,7 @@ export function matchesKey(data, keyId) {
746
678
  matchesKittySequence(data, ARROW_CODEPOINTS.left, MODIFIERS.ctrl));
747
679
  }
748
680
  if (modifier === 0) {
749
- return (matchesLegacySequence(data, LEGACY_KEY_SEQUENCES.left) ||
681
+ return (matchesLegacySequence(data, LEGACY_SEQUENCES.left.plain) ||
750
682
  matchesKittySequence(data, ARROW_CODEPOINTS.left, 0));
751
683
  }
752
684
  if (matchesLegacyModifierSequence(data, "left", modifier)) {
@@ -766,7 +698,7 @@ export function matchesKey(data, keyId) {
766
698
  matchesKittySequence(data, ARROW_CODEPOINTS.right, MODIFIERS.ctrl));
767
699
  }
768
700
  if (modifier === 0) {
769
- return (matchesLegacySequence(data, LEGACY_KEY_SEQUENCES.right) ||
701
+ return (matchesLegacySequence(data, LEGACY_SEQUENCES.right.plain) ||
770
702
  matchesKittySequence(data, ARROW_CODEPOINTS.right, 0));
771
703
  }
772
704
  if (matchesLegacyModifierSequence(data, "right", modifier)) {
@@ -789,7 +721,7 @@ export function matchesKey(data, keyId) {
789
721
  return false;
790
722
  }
791
723
  const functionKey = key;
792
- return matchesLegacySequence(data, LEGACY_KEY_SEQUENCES[functionKey]);
724
+ return matchesLegacySequence(data, LEGACY_SEQUENCES[functionKey].plain);
793
725
  }
794
726
  }
795
727
  // Handle single letter/digit keys and symbols