samagotchi 0.131.0 → 0.132.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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +47 -1
  3. data/bin/chi +3 -1
  4. data/docs/architecture.md +32 -1
  5. data/docs/cli.md +29 -8
  6. data/docs/configuration.md +62 -6
  7. data/docs/desktop.md +15 -6
  8. data/docs/guardrails.md +3 -3
  9. data/docs/internals/anthropic.md +3 -2
  10. data/docs/internals/engine.md +4 -4
  11. data/docs/internals/prompt-caching.md +26 -6
  12. data/docs/memory.md +16 -2
  13. data/docs/plugins.md +68 -1
  14. data/lib/samagotchi/bootstrap_command.rb +35 -6
  15. data/lib/samagotchi/bundles/model-notes/manifest.yml +4 -1
  16. data/lib/samagotchi/bundles/model-notes/model_notes_tone.md +3 -0
  17. data/lib/samagotchi/bundles/model-notes/notes/README.md +14 -0
  18. data/lib/samagotchi/bundles/system/manifest.yml +1 -1
  19. data/lib/samagotchi/cache_confirm.rb +18 -0
  20. data/lib/samagotchi/chi_home.rb +311 -0
  21. data/lib/samagotchi/desktop/macos.rb +75 -19
  22. data/lib/samagotchi/engine.rb +35 -4
  23. data/lib/samagotchi/engine_snapshots.rb +5 -0
  24. data/lib/samagotchi/gem_update.rb +19 -10
  25. data/lib/samagotchi/guardrail_wiring.rb +3 -1
  26. data/lib/samagotchi/guardrails/protected_paths.rb +6 -3
  27. data/lib/samagotchi/guardrails/verdict.rb +1 -1
  28. data/lib/samagotchi/home_command.rb +149 -0
  29. data/lib/samagotchi/installed_versions.rb +5 -3
  30. data/lib/samagotchi/llm_context_command.rb +53 -7
  31. data/lib/samagotchi/llm_context_override.rb +3 -2
  32. data/lib/samagotchi/plugin/api.rb +45 -1
  33. data/lib/samagotchi/plugin/context.rb +34 -1
  34. data/lib/samagotchi/plugin/loader.rb +5 -2
  35. data/lib/samagotchi/plugin/prompt_sections.rb +124 -0
  36. data/lib/samagotchi/run_options.rb +1 -0
  37. data/lib/samagotchi/session_access/contract.rb +1 -1
  38. data/lib/samagotchi/session_commands.rb +64 -17
  39. data/lib/samagotchi/session_manager.rb +36 -1
  40. data/lib/samagotchi/session_model_settings.rb +5 -2
  41. data/lib/samagotchi/system_prompt.rb +34 -3
  42. data/lib/samagotchi/terminal_ui/attach_launcher.rb +3 -2
  43. data/lib/samagotchi/terminal_ui/formatting.rb +3 -0
  44. data/lib/samagotchi/testing/bundle.rb +22 -3
  45. data/lib/samagotchi/testing/host.rb +22 -1
  46. data/lib/samagotchi/testing/recorder.rb +6 -1
  47. data/lib/samagotchi/testing/recording_api.rb +1 -1
  48. data/lib/samagotchi/update_command.rb +65 -7
  49. data/lib/samagotchi/version.rb +1 -1
  50. data/lib/samagotchi/web/app.rb +11 -1
  51. data/lib/samagotchi/web/public/index.html +6 -2
  52. data/lib/samagotchi/web/public/llm_context_chip.js +4 -3
  53. data/lib/samagotchi/web/public/model_pick.js +26 -0
  54. data/lib/samagotchi/web/public/model_picker.js +3 -1
  55. data/lib/samagotchi/web/public/start_page.js +14 -2
  56. data/lib/samagotchi/web/server.rb +27 -8
  57. data/lib/samagotchi/web/update_check.rb +3 -2
  58. metadata +5 -1
@@ -4,6 +4,7 @@ require "fileutils"
4
4
  require "json"
5
5
  require "time"
6
6
  require_relative "../atomic_file"
7
+ require_relative "../chi_home"
7
8
  require_relative "../config"
8
9
  require_relative "../gem_update"
9
10
  require_relative "../installed_gem"
@@ -27,7 +28,7 @@ module Samagotchi
27
28
  min_age_hours: Config.get("update.min_age_hours"),
28
29
  fetcher: -> { GemUpdate.new.releases }, clock: -> { Time.now },
29
30
  state_file: File.join(Paths.state_dir, "update_check.json"),
30
- gem_spec: InstalledGem.spec, bundler: nil, gem_dir: Gem.dir,
31
+ gem_spec: InstalledGem.spec, bundler: nil, gem_dir: ChiHome.gem_dir(gem_spec: gem_spec),
31
32
  installed_versions: InstalledVersions.new)
32
33
  @hub = hub
33
34
  @enabled = enabled
@@ -97,7 +98,7 @@ module Samagotchi
97
98
  # one answer), or nil: a source checkout, a Bundler run, a gem dir it
98
99
  # can't write.
99
100
  # @return [String, nil]
100
- def self.blocked_reason(gem_spec: InstalledGem.spec, bundler: nil, gem_dir: Gem.dir)
101
+ def self.blocked_reason(gem_spec: InstalledGem.spec, bundler: nil, gem_dir: ChiHome.gem_dir(gem_spec: gem_spec))
101
102
  bundler = defined?(::Bundler) || !ENV["BUNDLE_GEMFILE"].to_s.empty? if bundler.nil?
102
103
  return "checkout" unless gem_spec
103
104
  return "bundler" if bundler
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: samagotchi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.131.0
4
+ version: 0.132.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Dedov
@@ -256,6 +256,7 @@ files:
256
256
  - lib/samagotchi/bundles/mcp/plugin.rb
257
257
  - lib/samagotchi/bundles/model-notes/manifest.yml
258
258
  - lib/samagotchi/bundles/model-notes/model_notes_deepseek.md
259
+ - lib/samagotchi/bundles/model-notes/model_notes_tone.md
259
260
  - lib/samagotchi/bundles/model-notes/notes/README.md
260
261
  - lib/samagotchi/bundles/ruby/manifest.yml
261
262
  - lib/samagotchi/bundles/ruby/plugin.rb
@@ -276,6 +277,7 @@ files:
276
277
  - lib/samagotchi/bundles/work-cap/plugin.rb
277
278
  - lib/samagotchi/cache_confirm.rb
278
279
  - lib/samagotchi/cancellation_controller.rb
280
+ - lib/samagotchi/chi_home.rb
279
281
  - lib/samagotchi/chi_invocation.rb
280
282
  - lib/samagotchi/child_env.rb
281
283
  - lib/samagotchi/child_move.rb
@@ -371,6 +373,7 @@ files:
371
373
  - lib/samagotchi/guardrails/verdict.rb
372
374
  - lib/samagotchi/guardrails_command.rb
373
375
  - lib/samagotchi/hold_stop.rb
376
+ - lib/samagotchi/home_command.rb
374
377
  - lib/samagotchi/hook_question.rb
375
378
  - lib/samagotchi/hook_routes.rb
376
379
  - lib/samagotchi/hooks.rb
@@ -497,6 +500,7 @@ files:
497
500
  - lib/samagotchi/plugin/http_transport.rb
498
501
  - lib/samagotchi/plugin/loader.rb
499
502
  - lib/samagotchi/plugin/peer.rb
503
+ - lib/samagotchi/plugin/prompt_sections.rb
500
504
  - lib/samagotchi/plugin/service.rb
501
505
  - lib/samagotchi/plugin/sessions.rb
502
506
  - lib/samagotchi/plugin/side_question.rb