kward 0.71.0 → 0.72.0

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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +41 -1
  3. data/Gemfile.lock +2 -2
  4. data/README.md +4 -0
  5. data/doc/agent-tools.md +15 -6
  6. data/doc/authentication.md +22 -1
  7. data/doc/code-search.md +42 -2
  8. data/doc/configuration.md +106 -3
  9. data/doc/context-budgeting.md +136 -0
  10. data/doc/context-tools.md +16 -3
  11. data/doc/editor.md +394 -0
  12. data/doc/extensibility.md +16 -7
  13. data/doc/files.md +100 -0
  14. data/doc/getting-started.md +25 -18
  15. data/doc/git.md +122 -0
  16. data/doc/memory.md +24 -4
  17. data/doc/personas.md +34 -5
  18. data/doc/plugins.md +72 -1
  19. data/doc/releasing.md +37 -9
  20. data/doc/rpc.md +74 -4
  21. data/doc/session-management.md +35 -1
  22. data/doc/shell.md +286 -0
  23. data/doc/tabs.md +122 -0
  24. data/doc/troubleshooting.md +77 -1
  25. data/doc/usage.md +53 -7
  26. data/doc/web-search.md +12 -4
  27. data/doc/workspace-tools.md +51 -12
  28. data/examples/plugins/space_invaders.rb +377 -0
  29. data/lib/kward/agent.rb +1 -1
  30. data/lib/kward/cli/commands.rb +33 -2
  31. data/lib/kward/cli/git.rb +150 -0
  32. data/lib/kward/cli/interactive_turn.rb +73 -9
  33. data/lib/kward/cli/plugins.rb +54 -4
  34. data/lib/kward/cli/prompt_interface.rb +32 -1
  35. data/lib/kward/cli/runtime_helpers.rb +133 -3
  36. data/lib/kward/cli/sessions.rb +2 -2
  37. data/lib/kward/cli/settings.rb +218 -9
  38. data/lib/kward/cli/slash_commands.rb +415 -2
  39. data/lib/kward/cli/tabs.rb +695 -0
  40. data/lib/kward/cli.rb +158 -26
  41. data/lib/kward/config_files.rb +123 -1
  42. data/lib/kward/context_budget_meter.rb +44 -0
  43. data/lib/kward/conversation.rb +12 -4
  44. data/lib/kward/editor_mode.rb +25 -0
  45. data/lib/kward/ekwsh.rb +362 -0
  46. data/lib/kward/plugin_registry.rb +61 -0
  47. data/lib/kward/project_files.rb +52 -0
  48. data/lib/kward/prompt_history.rb +82 -0
  49. data/lib/kward/prompt_interface/composer_controller.rb +69 -1
  50. data/lib/kward/prompt_interface/composer_renderer.rb +109 -13
  51. data/lib/kward/prompt_interface/composer_state.rb +96 -27
  52. data/lib/kward/prompt_interface/editor/auto_close_pairs.rb +123 -0
  53. data/lib/kward/prompt_interface/editor/auto_indent.rb +509 -0
  54. data/lib/kward/prompt_interface/editor/buffer.rb +109 -0
  55. data/lib/kward/prompt_interface/editor/controller.rb +1018 -0
  56. data/lib/kward/prompt_interface/editor/endwise.rb +321 -0
  57. data/lib/kward/prompt_interface/editor/file_marker.rb +40 -0
  58. data/lib/kward/prompt_interface/editor/indent_navigation.rb +61 -0
  59. data/lib/kward/prompt_interface/editor/kill_ring.rb +78 -0
  60. data/lib/kward/prompt_interface/editor/modes/emacs.rb +259 -0
  61. data/lib/kward/prompt_interface/editor/modes/modern.rb +353 -0
  62. data/lib/kward/prompt_interface/editor/modes/vibe.rb +1962 -0
  63. data/lib/kward/prompt_interface/editor/renderer.rb +243 -0
  64. data/lib/kward/prompt_interface/editor/search.rb +76 -0
  65. data/lib/kward/prompt_interface/editor/selections.rb +120 -0
  66. data/lib/kward/prompt_interface/editor/state.rb +1249 -0
  67. data/lib/kward/prompt_interface/editor/status_text.rb +23 -0
  68. data/lib/kward/prompt_interface/editor/syntax_highlighter.rb +420 -0
  69. data/lib/kward/prompt_interface/editor/undo_history.rb +46 -0
  70. data/lib/kward/prompt_interface/editor/vibe_state.rb +44 -0
  71. data/lib/kward/prompt_interface/file_overlay.rb +211 -0
  72. data/lib/kward/prompt_interface/git_prompt.rb +299 -0
  73. data/lib/kward/prompt_interface/interactive/controller.rb +186 -0
  74. data/lib/kward/prompt_interface/interactive/renderer.rb +71 -0
  75. data/lib/kward/prompt_interface/interactive/state.rb +62 -0
  76. data/lib/kward/prompt_interface/key_handler.rb +387 -35
  77. data/lib/kward/prompt_interface/overlay_renderer.rb +21 -2
  78. data/lib/kward/prompt_interface/project_browser.rb +524 -0
  79. data/lib/kward/prompt_interface/question_prompt.rb +98 -50
  80. data/lib/kward/prompt_interface/runtime_state.rb +43 -0
  81. data/lib/kward/prompt_interface/screen.rb +16 -0
  82. data/lib/kward/prompt_interface/selection_prompt.rb +7 -13
  83. data/lib/kward/prompt_interface/stream_state.rb +7 -0
  84. data/lib/kward/prompt_interface/transcript_buffer.rb +6 -0
  85. data/lib/kward/prompt_interface.rb +286 -8
  86. data/lib/kward/prompts/commands.rb +5 -0
  87. data/lib/kward/prompts.rb +2 -0
  88. data/lib/kward/rpc/server.rb +42 -3
  89. data/lib/kward/rpc/session_manager.rb +35 -47
  90. data/lib/kward/rpc/session_tree_rows.rb +9 -115
  91. data/lib/kward/rpc/tool_event_normalizer.rb +1 -1
  92. data/lib/kward/session_store.rb +44 -0
  93. data/lib/kward/session_tree_nodes.rb +136 -0
  94. data/lib/kward/session_tree_renderer.rb +9 -131
  95. data/lib/kward/tab_store.rb +47 -0
  96. data/lib/kward/text_boundary.rb +25 -0
  97. data/lib/kward/tools/context_budget_stats.rb +54 -0
  98. data/lib/kward/tools/context_for_task.rb +202 -0
  99. data/lib/kward/tools/read_file.rb +8 -4
  100. data/lib/kward/tools/registry.rb +62 -16
  101. data/lib/kward/tools/tool_call.rb +10 -0
  102. data/lib/kward/version.rb +1 -1
  103. data/lib/kward/workers/git_guard.rb +68 -0
  104. data/lib/kward/workers/live_view.rb +49 -0
  105. data/lib/kward/workers/manager.rb +288 -0
  106. data/lib/kward/workers/store.rb +72 -0
  107. data/lib/kward/workers/tool_policy.rb +23 -0
  108. data/lib/kward/workers/worker.rb +82 -0
  109. data/lib/kward/workers/write_lock.rb +38 -0
  110. data/lib/kward/workers.rb +7 -0
  111. data/lib/kward/workspace.rb +110 -24
  112. data/templates/default/fulldoc/html/css/kward.css +107 -36
  113. data/templates/default/kward_navigation.rb +12 -1
  114. data/templates/default/layout/html/layout.erb +4 -2
  115. data/templates/default/layout/html/setup.rb +6 -0
  116. metadata +53 -1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kward
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.71.0
4
+ version: 0.72.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kai Wood
@@ -129,19 +129,26 @@ files:
129
129
  - doc/authentication.md
130
130
  - doc/code-search.md
131
131
  - doc/configuration.md
132
+ - doc/context-budgeting.md
132
133
  - doc/context-tools.md
134
+ - doc/editor.md
133
135
  - doc/extensibility.md
136
+ - doc/files.md
134
137
  - doc/getting-started.md
138
+ - doc/git.md
135
139
  - doc/memory.md
136
140
  - doc/personas.md
137
141
  - doc/plugins.md
138
142
  - doc/releasing.md
139
143
  - doc/rpc.md
140
144
  - doc/session-management.md
145
+ - doc/shell.md
146
+ - doc/tabs.md
141
147
  - doc/troubleshooting.md
142
148
  - doc/usage.md
143
149
  - doc/web-search.md
144
150
  - doc/workspace-tools.md
151
+ - examples/plugins/space_invaders.rb
145
152
  - exe/kward
146
153
  - kward.gemspec
147
154
  - lib/kward.rb
@@ -158,6 +165,7 @@ files:
158
165
  - lib/kward/cli/commands.rb
159
166
  - lib/kward/cli/compaction.rb
160
167
  - lib/kward/cli/doctor.rb
168
+ - lib/kward/cli/git.rb
161
169
  - lib/kward/cli/interactive_turn.rb
162
170
  - lib/kward/cli/memory_commands.rb
163
171
  - lib/kward/cli/openrouter_commands.rb
@@ -170,13 +178,17 @@ files:
170
178
  - lib/kward/cli/slash_commands.rb
171
179
  - lib/kward/cli/stats.rb
172
180
  - lib/kward/cli/sysprompt.rb
181
+ - lib/kward/cli/tabs.rb
173
182
  - lib/kward/cli/tool_summaries.rb
174
183
  - lib/kward/cli_transcript_formatter.rb
175
184
  - lib/kward/clipboard.rb
176
185
  - lib/kward/compaction/file_operation_tracker.rb
177
186
  - lib/kward/compactor.rb
178
187
  - lib/kward/config_files.rb
188
+ - lib/kward/context_budget_meter.rb
179
189
  - lib/kward/conversation.rb
190
+ - lib/kward/editor_mode.rb
191
+ - lib/kward/ekwsh.rb
180
192
  - lib/kward/events.rb
181
193
  - lib/kward/export_path.rb
182
194
  - lib/kward/image_attachments.rb
@@ -197,14 +209,41 @@ files:
197
209
  - lib/kward/pan/server.rb
198
210
  - lib/kward/plugin_registry.rb
199
211
  - lib/kward/private_file.rb
212
+ - lib/kward/project_files.rb
213
+ - lib/kward/prompt_history.rb
200
214
  - lib/kward/prompt_interface.rb
201
215
  - lib/kward/prompt_interface/banner.rb
202
216
  - lib/kward/prompt_interface/composer_controller.rb
203
217
  - lib/kward/prompt_interface/composer_renderer.rb
204
218
  - lib/kward/prompt_interface/composer_state.rb
219
+ - lib/kward/prompt_interface/editor/auto_close_pairs.rb
220
+ - lib/kward/prompt_interface/editor/auto_indent.rb
221
+ - lib/kward/prompt_interface/editor/buffer.rb
222
+ - lib/kward/prompt_interface/editor/controller.rb
223
+ - lib/kward/prompt_interface/editor/endwise.rb
224
+ - lib/kward/prompt_interface/editor/file_marker.rb
225
+ - lib/kward/prompt_interface/editor/indent_navigation.rb
226
+ - lib/kward/prompt_interface/editor/kill_ring.rb
227
+ - lib/kward/prompt_interface/editor/modes/emacs.rb
228
+ - lib/kward/prompt_interface/editor/modes/modern.rb
229
+ - lib/kward/prompt_interface/editor/modes/vibe.rb
230
+ - lib/kward/prompt_interface/editor/renderer.rb
231
+ - lib/kward/prompt_interface/editor/search.rb
232
+ - lib/kward/prompt_interface/editor/selections.rb
233
+ - lib/kward/prompt_interface/editor/state.rb
234
+ - lib/kward/prompt_interface/editor/status_text.rb
235
+ - lib/kward/prompt_interface/editor/syntax_highlighter.rb
236
+ - lib/kward/prompt_interface/editor/undo_history.rb
237
+ - lib/kward/prompt_interface/editor/vibe_state.rb
238
+ - lib/kward/prompt_interface/file_overlay.rb
239
+ - lib/kward/prompt_interface/git_prompt.rb
240
+ - lib/kward/prompt_interface/interactive/controller.rb
241
+ - lib/kward/prompt_interface/interactive/renderer.rb
242
+ - lib/kward/prompt_interface/interactive/state.rb
205
243
  - lib/kward/prompt_interface/key_handler.rb
206
244
  - lib/kward/prompt_interface/layout.rb
207
245
  - lib/kward/prompt_interface/overlay_renderer.rb
246
+ - lib/kward/prompt_interface/project_browser.rb
208
247
  - lib/kward/prompt_interface/prompt_renderer.rb
209
248
  - lib/kward/prompt_interface/question_prompt.rb
210
249
  - lib/kward/prompt_interface/runtime_state.rb
@@ -236,17 +275,22 @@ files:
236
275
  - lib/kward/session_diff.rb
237
276
  - lib/kward/session_store.rb
238
277
  - lib/kward/session_trash.rb
278
+ - lib/kward/session_tree_nodes.rb
239
279
  - lib/kward/session_tree_renderer.rb
240
280
  - lib/kward/session_tree_tool_display.rb
241
281
  - lib/kward/skills/registry.rb
242
282
  - lib/kward/starter_pack_installer.rb
243
283
  - lib/kward/steering.rb
284
+ - lib/kward/tab_store.rb
244
285
  - lib/kward/telemetry/logger.rb
245
286
  - lib/kward/telemetry/stats.rb
287
+ - lib/kward/text_boundary.rb
246
288
  - lib/kward/tool_output_compactor.rb
247
289
  - lib/kward/tools/ask_user_question.rb
248
290
  - lib/kward/tools/base.rb
249
291
  - lib/kward/tools/code_search.rb
292
+ - lib/kward/tools/context_budget_stats.rb
293
+ - lib/kward/tools/context_for_task.rb
250
294
  - lib/kward/tools/edit_file.rb
251
295
  - lib/kward/tools/fetch_content.rb
252
296
  - lib/kward/tools/fetch_raw.rb
@@ -265,6 +309,14 @@ files:
265
309
  - lib/kward/tools/write_file.rb
266
310
  - lib/kward/transcript_export.rb
267
311
  - lib/kward/version.rb
312
+ - lib/kward/workers.rb
313
+ - lib/kward/workers/git_guard.rb
314
+ - lib/kward/workers/live_view.rb
315
+ - lib/kward/workers/manager.rb
316
+ - lib/kward/workers/store.rb
317
+ - lib/kward/workers/tool_policy.rb
318
+ - lib/kward/workers/worker.rb
319
+ - lib/kward/workers/write_lock.rb
268
320
  - lib/kward/workspace.rb
269
321
  - lib/main.rb
270
322
  - templates/default/fulldoc/html/css/kward.css