kward 0.67.1 → 0.69.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 (146) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/pages.yml +48 -0
  3. data/.yardopts +1 -0
  4. data/CHANGELOG.md +54 -0
  5. data/Gemfile.lock +8 -2
  6. data/README.md +37 -30
  7. data/Rakefile +14 -1
  8. data/doc/authentication.md +84 -43
  9. data/doc/code-search.md +55 -28
  10. data/doc/configuration.md +27 -2
  11. data/doc/extensibility.md +90 -129
  12. data/doc/getting-started.md +53 -57
  13. data/doc/memory.md +51 -118
  14. data/doc/personas.md +417 -0
  15. data/doc/plugins.md +55 -99
  16. data/doc/releasing.md +10 -9
  17. data/doc/rpc.md +7 -7
  18. data/doc/usage.md +125 -141
  19. data/doc/web-search.md +80 -14
  20. data/exe/kward +2 -0
  21. data/kward.gemspec +4 -0
  22. data/lib/kward/agent.rb +30 -3
  23. data/lib/kward/ansi.rb +3 -0
  24. data/lib/kward/auth/anthropic_oauth.rb +291 -0
  25. data/lib/kward/auth/file.rb +2 -0
  26. data/lib/kward/auth/github_oauth.rb +3 -0
  27. data/lib/kward/auth/openai_oauth.rb +4 -0
  28. data/lib/kward/auth/openrouter_api_key.rb +2 -0
  29. data/lib/kward/cancellation.rb +3 -0
  30. data/lib/kward/cli/auth_commands.rb +82 -0
  31. data/lib/kward/cli/commands.rb +229 -0
  32. data/lib/kward/cli/compaction.rb +25 -0
  33. data/lib/kward/cli/doctor.rb +121 -0
  34. data/lib/kward/cli/interactive_turn.rb +227 -0
  35. data/lib/kward/cli/memory_commands.rb +133 -0
  36. data/lib/kward/cli/plugins.rb +112 -0
  37. data/lib/kward/cli/prompt_interface.rb +134 -0
  38. data/lib/kward/cli/rendering.rb +378 -0
  39. data/lib/kward/cli/runtime_helpers.rb +170 -0
  40. data/lib/kward/cli/sessions.rb +376 -0
  41. data/lib/kward/cli/settings.rb +669 -0
  42. data/lib/kward/cli/slash_commands.rb +114 -0
  43. data/lib/kward/cli/stats.rb +64 -0
  44. data/lib/kward/cli/sysprompt.rb +57 -0
  45. data/lib/kward/cli/tool_summaries.rb +157 -0
  46. data/lib/kward/cli.rb +52 -2792
  47. data/lib/kward/cli_transcript_formatter.rb +40 -12
  48. data/lib/kward/clipboard.rb +1 -0
  49. data/lib/kward/compaction/file_operation_tracker.rb +3 -0
  50. data/lib/kward/compactor.rb +31 -9
  51. data/lib/kward/config_files.rb +78 -34
  52. data/lib/kward/conversation.rb +110 -13
  53. data/lib/kward/events.rb +2 -0
  54. data/lib/kward/export_path.rb +2 -0
  55. data/lib/kward/image_attachments.rb +2 -0
  56. data/lib/kward/markdown_transcript.rb +2 -0
  57. data/lib/kward/memory/manager.rb +144 -14
  58. data/lib/kward/message_access.rb +29 -2
  59. data/lib/kward/message_text.rb +45 -0
  60. data/lib/kward/model/chat_invocation.rb +2 -0
  61. data/lib/kward/model/client.rb +295 -77
  62. data/lib/kward/model/context_overflow.rb +2 -0
  63. data/lib/kward/model/context_usage.rb +14 -10
  64. data/lib/kward/model/model_info.rb +160 -4
  65. data/lib/kward/model/payloads.rb +254 -22
  66. data/lib/kward/model/retry_message.rb +2 -0
  67. data/lib/kward/model/stream_parser.rb +387 -25
  68. data/lib/kward/pan/server.rb +3 -1
  69. data/lib/kward/plugin_registry.rb +12 -0
  70. data/lib/kward/private_file.rb +2 -0
  71. data/lib/kward/prompt_interface/banner.rb +3 -0
  72. data/lib/kward/prompt_interface/composer_controller.rb +262 -0
  73. data/lib/kward/prompt_interface/composer_renderer.rb +172 -0
  74. data/lib/kward/prompt_interface/composer_state.rb +221 -0
  75. data/lib/kward/prompt_interface/key_handler.rb +365 -0
  76. data/lib/kward/prompt_interface/layout.rb +31 -0
  77. data/lib/kward/prompt_interface/overlay_renderer.rb +111 -0
  78. data/lib/kward/prompt_interface/prompt_renderer.rb +91 -0
  79. data/lib/kward/prompt_interface/question_prompt.rb +328 -0
  80. data/lib/kward/prompt_interface/runtime_state.rb +59 -0
  81. data/lib/kward/prompt_interface/screen.rb +186 -0
  82. data/lib/kward/prompt_interface/selection_prompt.rb +242 -0
  83. data/lib/kward/prompt_interface/slash_overlay.rb +102 -0
  84. data/lib/kward/prompt_interface/stream_state.rb +65 -0
  85. data/lib/kward/prompt_interface/transcript_buffer.rb +85 -0
  86. data/lib/kward/prompt_interface/transcript_renderer.rb +151 -0
  87. data/lib/kward/prompt_interface.rb +69 -1832
  88. data/lib/kward/prompts/commands.rb +2 -0
  89. data/lib/kward/prompts/templates.rb +3 -0
  90. data/lib/kward/prompts.rb +63 -7
  91. data/lib/kward/question_contract.rb +66 -0
  92. data/lib/kward/resources/avatar_kward_logo.rb +2 -0
  93. data/lib/kward/resources/pixel_logo.rb +2 -0
  94. data/lib/kward/rpc/attachment_normalizer.rb +60 -0
  95. data/lib/kward/rpc/auth_manager.rb +65 -11
  96. data/lib/kward/rpc/config_manager.rb +11 -0
  97. data/lib/kward/rpc/prompt_bridge.rb +5 -26
  98. data/lib/kward/rpc/redactor.rb +3 -0
  99. data/lib/kward/rpc/runtime_payloads.rb +4 -1
  100. data/lib/kward/rpc/server.rb +43 -11
  101. data/lib/kward/rpc/session_manager.rb +139 -347
  102. data/lib/kward/rpc/session_metrics.rb +68 -0
  103. data/lib/kward/rpc/session_tree.rb +48 -0
  104. data/lib/kward/rpc/session_tree_rows.rb +208 -0
  105. data/lib/kward/rpc/tool_event_normalizer.rb +3 -0
  106. data/lib/kward/rpc/tool_metadata.rb +3 -0
  107. data/lib/kward/rpc/transcript_normalizer.rb +50 -0
  108. data/lib/kward/rpc/transport.rb +3 -0
  109. data/lib/kward/session_diff.rb +2 -0
  110. data/lib/kward/session_store.rb +154 -25
  111. data/lib/kward/session_trash.rb +1 -0
  112. data/lib/kward/session_tree_renderer.rb +8 -41
  113. data/lib/kward/session_tree_tool_display.rb +56 -0
  114. data/lib/kward/skills/registry.rb +3 -0
  115. data/lib/kward/starter_pack_installer.rb +3 -2
  116. data/lib/kward/steering.rb +2 -0
  117. data/lib/kward/telemetry/logger.rb +3 -0
  118. data/lib/kward/telemetry/stats.rb +3 -0
  119. data/lib/kward/tools/ask_user_question.rb +20 -32
  120. data/lib/kward/tools/base.rb +8 -0
  121. data/lib/kward/tools/code_search.rb +5 -0
  122. data/lib/kward/tools/edit_file.rb +5 -0
  123. data/lib/kward/tools/fetch_content.rb +41 -0
  124. data/lib/kward/tools/fetch_raw.rb +40 -0
  125. data/lib/kward/tools/list_directory.rb +5 -0
  126. data/lib/kward/tools/read_file.rb +5 -0
  127. data/lib/kward/tools/read_skill.rb +5 -0
  128. data/lib/kward/tools/registry.rb +42 -4
  129. data/lib/kward/tools/run_shell_command.rb +5 -0
  130. data/lib/kward/tools/search/code.rb +7 -0
  131. data/lib/kward/tools/search/web.rb +20 -17
  132. data/lib/kward/tools/search/web_fetch.rb +202 -0
  133. data/lib/kward/tools/tool_call.rb +27 -5
  134. data/lib/kward/tools/web_search.rb +7 -1
  135. data/lib/kward/tools/write_file.rb +5 -0
  136. data/lib/kward/transcript_export.rb +2 -0
  137. data/lib/kward/version.rb +2 -1
  138. data/lib/kward/workspace.rb +45 -5
  139. data/templates/default/fulldoc/html/css/kward.css +1501 -0
  140. data/templates/default/fulldoc/html/images/kward_logo.png +0 -0
  141. data/templates/default/fulldoc/html/js/kward.js +296 -0
  142. data/templates/default/fulldoc/html/setup.rb +8 -0
  143. data/templates/default/layout/html/breadcrumb.erb +11 -0
  144. data/templates/default/layout/html/layout.erb +141 -0
  145. data/templates/default/layout/html/setup.rb +139 -0
  146. metadata +56 -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.67.1
4
+ version: 0.69.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kai Wood
@@ -116,6 +116,7 @@ executables:
116
116
  extensions: []
117
117
  extra_rdoc_files: []
118
118
  files:
119
+ - ".github/workflows/pages.yml"
119
120
  - ".yardopts"
120
121
  - CHANGELOG.md
121
122
  - Gemfile
@@ -129,6 +130,7 @@ files:
129
130
  - doc/extensibility.md
130
131
  - doc/getting-started.md
131
132
  - doc/memory.md
133
+ - doc/personas.md
132
134
  - doc/plugins.md
133
135
  - doc/releasing.md
134
136
  - doc/rpc.md
@@ -140,12 +142,29 @@ files:
140
142
  - lib/kward.rb
141
143
  - lib/kward/agent.rb
142
144
  - lib/kward/ansi.rb
145
+ - lib/kward/auth/anthropic_oauth.rb
143
146
  - lib/kward/auth/file.rb
144
147
  - lib/kward/auth/github_oauth.rb
145
148
  - lib/kward/auth/openai_oauth.rb
146
149
  - lib/kward/auth/openrouter_api_key.rb
147
150
  - lib/kward/cancellation.rb
148
151
  - lib/kward/cli.rb
152
+ - lib/kward/cli/auth_commands.rb
153
+ - lib/kward/cli/commands.rb
154
+ - lib/kward/cli/compaction.rb
155
+ - lib/kward/cli/doctor.rb
156
+ - lib/kward/cli/interactive_turn.rb
157
+ - lib/kward/cli/memory_commands.rb
158
+ - lib/kward/cli/plugins.rb
159
+ - lib/kward/cli/prompt_interface.rb
160
+ - lib/kward/cli/rendering.rb
161
+ - lib/kward/cli/runtime_helpers.rb
162
+ - lib/kward/cli/sessions.rb
163
+ - lib/kward/cli/settings.rb
164
+ - lib/kward/cli/slash_commands.rb
165
+ - lib/kward/cli/stats.rb
166
+ - lib/kward/cli/sysprompt.rb
167
+ - lib/kward/cli/tool_summaries.rb
149
168
  - lib/kward/cli_transcript_formatter.rb
150
169
  - lib/kward/clipboard.rb
151
170
  - lib/kward/compaction/file_operation_tracker.rb
@@ -158,6 +177,7 @@ files:
158
177
  - lib/kward/markdown_transcript.rb
159
178
  - lib/kward/memory/manager.rb
160
179
  - lib/kward/message_access.rb
180
+ - lib/kward/message_text.rb
161
181
  - lib/kward/model/chat_invocation.rb
162
182
  - lib/kward/model/client.rb
163
183
  - lib/kward/model/context_overflow.rb
@@ -172,11 +192,28 @@ files:
172
192
  - lib/kward/private_file.rb
173
193
  - lib/kward/prompt_interface.rb
174
194
  - lib/kward/prompt_interface/banner.rb
195
+ - lib/kward/prompt_interface/composer_controller.rb
196
+ - lib/kward/prompt_interface/composer_renderer.rb
197
+ - lib/kward/prompt_interface/composer_state.rb
198
+ - lib/kward/prompt_interface/key_handler.rb
199
+ - lib/kward/prompt_interface/layout.rb
200
+ - lib/kward/prompt_interface/overlay_renderer.rb
201
+ - lib/kward/prompt_interface/prompt_renderer.rb
202
+ - lib/kward/prompt_interface/question_prompt.rb
203
+ - lib/kward/prompt_interface/runtime_state.rb
204
+ - lib/kward/prompt_interface/screen.rb
205
+ - lib/kward/prompt_interface/selection_prompt.rb
206
+ - lib/kward/prompt_interface/slash_overlay.rb
207
+ - lib/kward/prompt_interface/stream_state.rb
208
+ - lib/kward/prompt_interface/transcript_buffer.rb
209
+ - lib/kward/prompt_interface/transcript_renderer.rb
175
210
  - lib/kward/prompts.rb
176
211
  - lib/kward/prompts/commands.rb
177
212
  - lib/kward/prompts/templates.rb
213
+ - lib/kward/question_contract.rb
178
214
  - lib/kward/resources/avatar_kward_logo.rb
179
215
  - lib/kward/resources/pixel_logo.rb
216
+ - lib/kward/rpc/attachment_normalizer.rb
180
217
  - lib/kward/rpc/auth_manager.rb
181
218
  - lib/kward/rpc/config_manager.rb
182
219
  - lib/kward/rpc/prompt_bridge.rb
@@ -184,6 +221,9 @@ files:
184
221
  - lib/kward/rpc/runtime_payloads.rb
185
222
  - lib/kward/rpc/server.rb
186
223
  - lib/kward/rpc/session_manager.rb
224
+ - lib/kward/rpc/session_metrics.rb
225
+ - lib/kward/rpc/session_tree.rb
226
+ - lib/kward/rpc/session_tree_rows.rb
187
227
  - lib/kward/rpc/tool_event_normalizer.rb
188
228
  - lib/kward/rpc/tool_metadata.rb
189
229
  - lib/kward/rpc/transcript_normalizer.rb
@@ -192,6 +232,7 @@ files:
192
232
  - lib/kward/session_store.rb
193
233
  - lib/kward/session_trash.rb
194
234
  - lib/kward/session_tree_renderer.rb
235
+ - lib/kward/session_tree_tool_display.rb
195
236
  - lib/kward/skills/registry.rb
196
237
  - lib/kward/starter_pack_installer.rb
197
238
  - lib/kward/steering.rb
@@ -201,6 +242,8 @@ files:
201
242
  - lib/kward/tools/base.rb
202
243
  - lib/kward/tools/code_search.rb
203
244
  - lib/kward/tools/edit_file.rb
245
+ - lib/kward/tools/fetch_content.rb
246
+ - lib/kward/tools/fetch_raw.rb
204
247
  - lib/kward/tools/list_directory.rb
205
248
  - lib/kward/tools/read_file.rb
206
249
  - lib/kward/tools/read_skill.rb
@@ -208,6 +251,7 @@ files:
208
251
  - lib/kward/tools/run_shell_command.rb
209
252
  - lib/kward/tools/search/code.rb
210
253
  - lib/kward/tools/search/web.rb
254
+ - lib/kward/tools/search/web_fetch.rb
211
255
  - lib/kward/tools/tool_call.rb
212
256
  - lib/kward/tools/web_search.rb
213
257
  - lib/kward/tools/write_file.rb
@@ -215,11 +259,22 @@ files:
215
259
  - lib/kward/version.rb
216
260
  - lib/kward/workspace.rb
217
261
  - lib/main.rb
262
+ - templates/default/fulldoc/html/css/kward.css
263
+ - templates/default/fulldoc/html/images/kward_logo.png
264
+ - templates/default/fulldoc/html/js/kward.js
265
+ - templates/default/fulldoc/html/setup.rb
266
+ - templates/default/layout/html/breadcrumb.erb
267
+ - templates/default/layout/html/layout.erb
268
+ - templates/default/layout/html/setup.rb
218
269
  homepage: https://github.com/kaiwood/kward
219
270
  licenses:
220
271
  - MIT
221
272
  metadata:
222
273
  rubygems_mfa_required: 'true'
274
+ source_code_uri: https://github.com/kaiwood/kward
275
+ changelog_uri: https://github.com/kaiwood/kward/blob/main/CHANGELOG.md
276
+ documentation_uri: https://github.com/kaiwood/kward#readme
277
+ bug_tracker_uri: https://github.com/kaiwood/kward/issues
223
278
  rdoc_options: []
224
279
  require_paths:
225
280
  - lib