htm 0.0.15 → 0.0.18
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.
- checksums.yaml +4 -4
- data/.architecture/decisions/adrs/001-use-postgresql-timescaledb-storage.md +1 -1
- data/.architecture/decisions/adrs/011-database-side-embedding-generation-with-pgai.md +4 -4
- data/.architecture/decisions/adrs/012-llm-driven-ontology-topic-extraction.md +1 -1
- data/.envrc +12 -24
- data/.irbrc +7 -7
- data/.tbls.yml +2 -2
- data/CHANGELOG.md +138 -0
- data/README.md +97 -1592
- data/Rakefile +8 -3
- data/SETUP.md +12 -12
- data/bin/htm_mcp +27 -0
- data/db/seed_data/README.md +2 -2
- data/db/seeds.rb +2 -2
- data/docs/api/database.md +37 -37
- data/docs/api/htm.md +1 -1
- data/docs/api/yard/HTM/ActiveRecordConfig.md +2 -2
- data/docs/api/yard/HTM/Configuration.md +26 -15
- data/docs/api/yard/HTM/Database.md +7 -8
- data/docs/api/yard/HTM/JobAdapter.md +1 -1
- data/docs/api/yard/HTM/Railtie.md +2 -2
- data/docs/architecture/adrs/001-postgresql-timescaledb.md +1 -1
- data/docs/architecture/adrs/011-pgai-integration.md +4 -4
- data/docs/database_rake_tasks.md +5 -5
- data/docs/development/rake-tasks.md +11 -11
- data/docs/development/setup.md +21 -21
- data/docs/development/testing.md +1 -1
- data/docs/getting-started/installation.md +51 -31
- data/docs/getting-started/quick-start.md +12 -12
- data/docs/guides/getting-started.md +2 -2
- data/docs/guides/long-term-memory.md +1 -1
- data/docs/guides/mcp-server.md +464 -29
- data/docs/guides/robot-groups.md +8 -8
- data/docs/index.md +4 -4
- data/docs/multi_framework_support.md +10 -10
- data/docs/setup_local_database.md +19 -19
- data/docs/using_rake_tasks_in_your_app.md +14 -14
- data/examples/README.md +50 -6
- data/examples/basic_usage.rb +31 -21
- data/examples/cli_app/README.md +8 -8
- data/examples/cli_app/htm_cli.rb +5 -5
- data/examples/config_file_example/README.md +256 -0
- data/examples/config_file_example/config/htm.local.yml +34 -0
- data/examples/config_file_example/custom_config.yml +22 -0
- data/examples/config_file_example/show_config.rb +125 -0
- data/examples/custom_llm_configuration.rb +7 -7
- data/examples/example_app/Rakefile +2 -2
- data/examples/example_app/app.rb +8 -8
- data/examples/file_loader_usage.rb +9 -9
- data/examples/mcp_client.rb +7 -7
- data/examples/rails_app/.gitignore +2 -0
- data/examples/rails_app/Gemfile +22 -0
- data/examples/rails_app/Gemfile.lock +430 -0
- data/examples/rails_app/Procfile.dev +1 -0
- data/examples/rails_app/README.md +98 -0
- data/examples/rails_app/Rakefile +5 -0
- data/examples/rails_app/app/assets/stylesheets/application.css +83 -0
- data/examples/rails_app/app/assets/stylesheets/inter-font.css +6 -0
- data/examples/rails_app/app/controllers/application_controller.rb +19 -0
- data/examples/rails_app/app/controllers/dashboard_controller.rb +27 -0
- data/examples/rails_app/app/controllers/files_controller.rb +205 -0
- data/examples/rails_app/app/controllers/memories_controller.rb +102 -0
- data/examples/rails_app/app/controllers/robots_controller.rb +44 -0
- data/examples/rails_app/app/controllers/search_controller.rb +46 -0
- data/examples/rails_app/app/controllers/tags_controller.rb +30 -0
- data/examples/rails_app/app/javascript/application.js +4 -0
- data/examples/rails_app/app/javascript/controllers/application.js +9 -0
- data/examples/rails_app/app/javascript/controllers/index.js +6 -0
- data/examples/rails_app/app/views/dashboard/index.html.erb +123 -0
- data/examples/rails_app/app/views/files/index.html.erb +108 -0
- data/examples/rails_app/app/views/files/new.html.erb +321 -0
- data/examples/rails_app/app/views/files/show.html.erb +130 -0
- data/examples/rails_app/app/views/layouts/application.html.erb +124 -0
- data/examples/rails_app/app/views/memories/_memory_card.html.erb +51 -0
- data/examples/rails_app/app/views/memories/deleted.html.erb +62 -0
- data/examples/rails_app/app/views/memories/edit.html.erb +35 -0
- data/examples/rails_app/app/views/memories/index.html.erb +81 -0
- data/examples/rails_app/app/views/memories/new.html.erb +71 -0
- data/examples/rails_app/app/views/memories/show.html.erb +126 -0
- data/examples/rails_app/app/views/robots/index.html.erb +106 -0
- data/examples/rails_app/app/views/robots/new.html.erb +36 -0
- data/examples/rails_app/app/views/robots/show.html.erb +79 -0
- data/examples/rails_app/app/views/search/index.html.erb +184 -0
- data/examples/rails_app/app/views/shared/_navbar.html.erb +52 -0
- data/examples/rails_app/app/views/shared/_stat_card.html.erb +52 -0
- data/examples/rails_app/app/views/tags/index.html.erb +131 -0
- data/examples/rails_app/app/views/tags/show.html.erb +67 -0
- data/examples/rails_app/bin/dev +8 -0
- data/examples/rails_app/bin/rails +4 -0
- data/examples/rails_app/bin/rake +4 -0
- data/examples/rails_app/config/application.rb +33 -0
- data/examples/rails_app/config/boot.rb +5 -0
- data/examples/rails_app/config/database.yml +15 -0
- data/examples/rails_app/config/environment.rb +5 -0
- data/examples/rails_app/config/importmap.rb +7 -0
- data/examples/rails_app/config/routes.rb +38 -0
- data/examples/rails_app/config/tailwind.config.js +35 -0
- data/examples/rails_app/config.ru +5 -0
- data/examples/rails_app/log/.keep +0 -0
- data/examples/rails_app/tmp/local_secret.txt +1 -0
- data/examples/robot_groups/multi_process.rb +5 -5
- data/examples/robot_groups/robot_worker.rb +5 -5
- data/examples/robot_groups/same_process.rb +9 -9
- data/examples/sinatra_app/app.rb +1 -1
- data/examples/timeframe_demo.rb +1 -1
- data/lib/htm/active_record_config.rb +12 -28
- data/lib/htm/circuit_breaker.rb +0 -2
- data/lib/htm/config/defaults.yml +246 -0
- data/lib/htm/config.rb +888 -0
- data/lib/htm/database.rb +26 -33
- data/lib/htm/embedding_service.rb +0 -4
- data/lib/htm/integrations/sinatra.rb +3 -7
- data/lib/htm/job_adapter.rb +1 -15
- data/lib/htm/jobs/generate_embedding_job.rb +1 -7
- data/lib/htm/jobs/generate_propositions_job.rb +2 -12
- data/lib/htm/jobs/generate_tags_job.rb +1 -8
- data/lib/htm/loaders/defaults_loader.rb +143 -0
- data/lib/htm/loaders/xdg_config_loader.rb +116 -0
- data/lib/htm/mcp/cli.rb +475 -0
- data/lib/htm/mcp/group_tools.rb +476 -0
- data/lib/htm/mcp/resources.rb +89 -0
- data/lib/htm/mcp/server.rb +98 -0
- data/lib/htm/mcp/tools.rb +488 -0
- data/lib/htm/models/file_source.rb +5 -3
- data/lib/htm/proposition_service.rb +2 -12
- data/lib/htm/railtie.rb +3 -8
- data/lib/htm/tag_service.rb +1 -8
- data/lib/htm/tasks.rb +7 -4
- data/lib/htm/version.rb +1 -1
- data/lib/htm.rb +124 -5
- data/lib/tasks/htm.rake +6 -9
- metadata +81 -6
- data/bin/htm_mcp.rb +0 -621
- data/config/database.yml +0 -74
- data/lib/htm/configuration.rb +0 -766
data/lib/htm.rb
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require_relative "htm/version"
|
|
4
4
|
require_relative "htm/errors"
|
|
5
|
-
require_relative "htm/
|
|
5
|
+
require_relative "htm/config"
|
|
6
6
|
require_relative "htm/circuit_breaker"
|
|
7
7
|
require_relative "htm/active_record_config"
|
|
8
8
|
require_relative "htm/database"
|
|
@@ -70,7 +70,7 @@ class HTM
|
|
|
70
70
|
#
|
|
71
71
|
# @param working_memory_size [Integer] Maximum tokens for working memory (default: 128,000)
|
|
72
72
|
# @param robot_name [String] Human-readable name for this robot (auto-generated if not provided)
|
|
73
|
-
# @param db_config [Hash] Database configuration (uses ENV['
|
|
73
|
+
# @param db_config [Hash] Database configuration (uses ENV['HTM_DATABASE__URL'] if not provided)
|
|
74
74
|
# @param db_pool_size [Integer] Database connection pool size (default: 5)
|
|
75
75
|
# @param db_query_timeout [Integer] Database query timeout in milliseconds (default: 30000)
|
|
76
76
|
# @param db_cache_size [Integer] Number of database query results to cache (default: 1000, use 0 to disable)
|
|
@@ -170,7 +170,7 @@ class HTM
|
|
|
170
170
|
enqueue_tags_job(node_id, manual_tags: tags)
|
|
171
171
|
|
|
172
172
|
# Enqueue proposition extraction if enabled and not already a proposition
|
|
173
|
-
if HTM.
|
|
173
|
+
if HTM.config.extract_propositions && !metadata[:is_proposition]
|
|
174
174
|
enqueue_propositions_job(node_id)
|
|
175
175
|
end
|
|
176
176
|
else
|
|
@@ -251,7 +251,6 @@ class HTM
|
|
|
251
251
|
normalized_timeframe = if timeframe == :auto
|
|
252
252
|
result = HTM::Timeframe.normalize(:auto, query: topic)
|
|
253
253
|
search_query = result.query # Use cleaned query for search
|
|
254
|
-
HTM.logger.debug "Auto-extracted timeframe: #{result.extracted.inspect}" if result.extracted
|
|
255
254
|
result.timeframe
|
|
256
255
|
else
|
|
257
256
|
HTM::Timeframe.normalize(timeframe)
|
|
@@ -595,7 +594,6 @@ class HTM
|
|
|
595
594
|
tag = HTM::Models::Tag.find_or_create_by!(name: tag_name)
|
|
596
595
|
HTM::Models::NodeTag.find_or_create_by!(node_id: node_id, tag_id: tag.id)
|
|
597
596
|
end
|
|
598
|
-
HTM.logger.debug "Added #{manual_tags.length} manual tags to node #{node_id}"
|
|
599
597
|
end
|
|
600
598
|
|
|
601
599
|
# Enqueue tag generation using configured job backend
|
|
@@ -679,4 +677,125 @@ class HTM
|
|
|
679
677
|
end
|
|
680
678
|
end
|
|
681
679
|
|
|
680
|
+
# ===========================================================================
|
|
681
|
+
# Class Methods
|
|
682
|
+
# ===========================================================================
|
|
683
|
+
|
|
684
|
+
class << self
|
|
685
|
+
# Get current configuration (singleton)
|
|
686
|
+
#
|
|
687
|
+
# @return [HTM::Config]
|
|
688
|
+
#
|
|
689
|
+
def config
|
|
690
|
+
@config ||= Config.new
|
|
691
|
+
end
|
|
692
|
+
|
|
693
|
+
# Alias for backward compatibility
|
|
694
|
+
alias configuration config
|
|
695
|
+
|
|
696
|
+
# Configure HTM
|
|
697
|
+
#
|
|
698
|
+
# @yield [config] Configuration object
|
|
699
|
+
# @yieldparam config [HTM::Config]
|
|
700
|
+
#
|
|
701
|
+
# @example Custom configuration
|
|
702
|
+
# HTM.configure do |config|
|
|
703
|
+
# config.embedding_generator = ->(text) { MyEmbedder.embed(text) }
|
|
704
|
+
# config.tag_extractor = ->(text, ontology) { MyTagger.extract(text, ontology) }
|
|
705
|
+
# end
|
|
706
|
+
#
|
|
707
|
+
# @example Default configuration
|
|
708
|
+
# HTM.configure # Uses RubyLLM defaults
|
|
709
|
+
#
|
|
710
|
+
def configure
|
|
711
|
+
yield(config) if block_given?
|
|
712
|
+
config.validate!
|
|
713
|
+
config
|
|
714
|
+
end
|
|
715
|
+
|
|
716
|
+
# Reset configuration to defaults
|
|
717
|
+
def reset_configuration!
|
|
718
|
+
@config = nil
|
|
719
|
+
end
|
|
720
|
+
|
|
721
|
+
# Get current environment
|
|
722
|
+
#
|
|
723
|
+
# @return [String] Current environment name
|
|
724
|
+
#
|
|
725
|
+
def env
|
|
726
|
+
Config.env
|
|
727
|
+
end
|
|
728
|
+
|
|
729
|
+
# Check if running in test environment
|
|
730
|
+
#
|
|
731
|
+
# @return [Boolean]
|
|
732
|
+
#
|
|
733
|
+
def test?
|
|
734
|
+
env == 'test'
|
|
735
|
+
end
|
|
736
|
+
|
|
737
|
+
# Check if running in development environment
|
|
738
|
+
#
|
|
739
|
+
# @return [Boolean]
|
|
740
|
+
#
|
|
741
|
+
def development?
|
|
742
|
+
env == 'development'
|
|
743
|
+
end
|
|
744
|
+
|
|
745
|
+
# Check if running in production environment
|
|
746
|
+
#
|
|
747
|
+
# @return [Boolean]
|
|
748
|
+
#
|
|
749
|
+
def production?
|
|
750
|
+
env == 'production'
|
|
751
|
+
end
|
|
752
|
+
|
|
753
|
+
# Generate embedding using EmbeddingService
|
|
754
|
+
#
|
|
755
|
+
# @param text [String] Text to embed
|
|
756
|
+
# @return [Array<Float>] Embedding vector (original, not padded)
|
|
757
|
+
#
|
|
758
|
+
def embed(text)
|
|
759
|
+
result = HTM::EmbeddingService.generate(text)
|
|
760
|
+
result[:embedding]
|
|
761
|
+
end
|
|
762
|
+
|
|
763
|
+
# Extract tags using TagService
|
|
764
|
+
#
|
|
765
|
+
# @param text [String] Text to analyze
|
|
766
|
+
# @param existing_ontology [Array<String>] Sample of existing tags for context
|
|
767
|
+
# @return [Array<String>] Extracted and validated tag names
|
|
768
|
+
#
|
|
769
|
+
def extract_tags(text, existing_ontology: [])
|
|
770
|
+
HTM::TagService.extract(text, existing_ontology: existing_ontology)
|
|
771
|
+
end
|
|
772
|
+
|
|
773
|
+
# Extract propositions using PropositionService
|
|
774
|
+
#
|
|
775
|
+
# @param text [String] Text to analyze
|
|
776
|
+
# @return [Array<String>] Extracted atomic propositions
|
|
777
|
+
#
|
|
778
|
+
def extract_propositions(text)
|
|
779
|
+
HTM::PropositionService.extract(text)
|
|
780
|
+
end
|
|
781
|
+
|
|
782
|
+
# Count tokens using configured counter
|
|
783
|
+
#
|
|
784
|
+
# @param text [String] Text to count tokens for
|
|
785
|
+
# @return [Integer] Token count
|
|
786
|
+
#
|
|
787
|
+
def count_tokens(text)
|
|
788
|
+
config.token_counter.call(text)
|
|
789
|
+
rescue StandardError => e
|
|
790
|
+
raise HTM::ValidationError, "Token counting failed: #{e.message}"
|
|
791
|
+
end
|
|
792
|
+
|
|
793
|
+
# Get configured logger
|
|
794
|
+
#
|
|
795
|
+
# @return [Logger] Configured logger instance
|
|
796
|
+
#
|
|
797
|
+
def logger
|
|
798
|
+
config.logger
|
|
799
|
+
end
|
|
800
|
+
end
|
|
682
801
|
end
|
data/lib/tasks/htm.rake
CHANGED
|
@@ -68,14 +68,13 @@ namespace :htm do
|
|
|
68
68
|
end
|
|
69
69
|
end
|
|
70
70
|
|
|
71
|
-
desc "Verify database connection (respects RAILS_ENV)"
|
|
71
|
+
desc "Verify database connection (respects HTM_ENV/RAILS_ENV)"
|
|
72
72
|
task :verify do
|
|
73
73
|
require 'htm'
|
|
74
74
|
|
|
75
|
-
env = ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development'
|
|
76
75
|
config = HTM::ActiveRecordConfig.load_database_config
|
|
77
76
|
|
|
78
|
-
puts "Verifying HTM database connection (#{env})..."
|
|
77
|
+
puts "Verifying HTM database connection (#{HTM.env})..."
|
|
79
78
|
puts " Host: #{config[:host]}"
|
|
80
79
|
puts " Port: #{config[:port]}"
|
|
81
80
|
puts " Database: #{config[:database]}"
|
|
@@ -107,14 +106,13 @@ namespace :htm do
|
|
|
107
106
|
end
|
|
108
107
|
end
|
|
109
108
|
|
|
110
|
-
desc "Open PostgreSQL console (respects RAILS_ENV)"
|
|
109
|
+
desc "Open PostgreSQL console (respects HTM_ENV/RAILS_ENV)"
|
|
111
110
|
task :console do
|
|
112
111
|
require 'htm'
|
|
113
112
|
|
|
114
|
-
env = ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development'
|
|
115
113
|
config = HTM::ActiveRecordConfig.load_database_config
|
|
116
114
|
|
|
117
|
-
puts "Connecting to #{config[:database]} (#{env})..."
|
|
115
|
+
puts "Connecting to #{config[:database]} (#{HTM.env})..."
|
|
118
116
|
exec "psql", "-h", config[:host],
|
|
119
117
|
"-p", config[:port].to_s,
|
|
120
118
|
"-U", config[:username],
|
|
@@ -416,15 +414,14 @@ namespace :htm do
|
|
|
416
414
|
end
|
|
417
415
|
end
|
|
418
416
|
|
|
419
|
-
desc "Create database if it doesn't exist (respects RAILS_ENV)"
|
|
417
|
+
desc "Create database if it doesn't exist (respects HTM_ENV/RAILS_ENV)"
|
|
420
418
|
task :create do
|
|
421
419
|
require 'htm'
|
|
422
420
|
|
|
423
|
-
env = ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development'
|
|
424
421
|
config = HTM::ActiveRecordConfig.load_database_config
|
|
425
422
|
db_name = config[:database]
|
|
426
423
|
|
|
427
|
-
puts "Creating database: #{db_name} (#{env})"
|
|
424
|
+
puts "Creating database: #{db_name} (#{HTM.env})"
|
|
428
425
|
|
|
429
426
|
admin_config = config.dup
|
|
430
427
|
admin_config[:database] = 'postgres'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: htm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.18
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dewayne VanHoozer
|
|
@@ -149,6 +149,20 @@ dependencies:
|
|
|
149
149
|
- - ">="
|
|
150
150
|
- !ruby/object:Gem::Version
|
|
151
151
|
version: '0'
|
|
152
|
+
- !ruby/object:Gem::Dependency
|
|
153
|
+
name: anyway_config
|
|
154
|
+
requirement: !ruby/object:Gem::Requirement
|
|
155
|
+
requirements:
|
|
156
|
+
- - ">="
|
|
157
|
+
- !ruby/object:Gem::Version
|
|
158
|
+
version: '2.6'
|
|
159
|
+
type: :runtime
|
|
160
|
+
prerelease: false
|
|
161
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
162
|
+
requirements:
|
|
163
|
+
- - ">="
|
|
164
|
+
- !ruby/object:Gem::Version
|
|
165
|
+
version: '2.6'
|
|
152
166
|
- !ruby/object:Gem::Dependency
|
|
153
167
|
name: rake
|
|
154
168
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -256,7 +270,7 @@ description: |
|
|
|
256
270
|
email:
|
|
257
271
|
- dvanhoozer@gmail.com
|
|
258
272
|
executables:
|
|
259
|
-
- htm_mcp
|
|
273
|
+
- htm_mcp
|
|
260
274
|
extensions: []
|
|
261
275
|
extra_rdoc_files: []
|
|
262
276
|
files:
|
|
@@ -290,8 +304,7 @@ files:
|
|
|
290
304
|
- README.md
|
|
291
305
|
- Rakefile
|
|
292
306
|
- SETUP.md
|
|
293
|
-
- bin/htm_mcp
|
|
294
|
-
- config/database.yml
|
|
307
|
+
- bin/htm_mcp
|
|
295
308
|
- db/migrate/00001_enable_extensions.rb
|
|
296
309
|
- db/migrate/00002_create_robots.rb
|
|
297
310
|
- db/migrate/00003_create_file_sources.rb
|
|
@@ -454,11 +467,65 @@ files:
|
|
|
454
467
|
- examples/basic_usage.rb
|
|
455
468
|
- examples/cli_app/README.md
|
|
456
469
|
- examples/cli_app/htm_cli.rb
|
|
470
|
+
- examples/config_file_example/README.md
|
|
471
|
+
- examples/config_file_example/config/htm.local.yml
|
|
472
|
+
- examples/config_file_example/custom_config.yml
|
|
473
|
+
- examples/config_file_example/show_config.rb
|
|
457
474
|
- examples/custom_llm_configuration.rb
|
|
458
475
|
- examples/example_app/Rakefile
|
|
459
476
|
- examples/example_app/app.rb
|
|
460
477
|
- examples/file_loader_usage.rb
|
|
461
478
|
- examples/mcp_client.rb
|
|
479
|
+
- examples/rails_app/.gitignore
|
|
480
|
+
- examples/rails_app/Gemfile
|
|
481
|
+
- examples/rails_app/Gemfile.lock
|
|
482
|
+
- examples/rails_app/Procfile.dev
|
|
483
|
+
- examples/rails_app/README.md
|
|
484
|
+
- examples/rails_app/Rakefile
|
|
485
|
+
- examples/rails_app/app/assets/stylesheets/application.css
|
|
486
|
+
- examples/rails_app/app/assets/stylesheets/inter-font.css
|
|
487
|
+
- examples/rails_app/app/controllers/application_controller.rb
|
|
488
|
+
- examples/rails_app/app/controllers/dashboard_controller.rb
|
|
489
|
+
- examples/rails_app/app/controllers/files_controller.rb
|
|
490
|
+
- examples/rails_app/app/controllers/memories_controller.rb
|
|
491
|
+
- examples/rails_app/app/controllers/robots_controller.rb
|
|
492
|
+
- examples/rails_app/app/controllers/search_controller.rb
|
|
493
|
+
- examples/rails_app/app/controllers/tags_controller.rb
|
|
494
|
+
- examples/rails_app/app/javascript/application.js
|
|
495
|
+
- examples/rails_app/app/javascript/controllers/application.js
|
|
496
|
+
- examples/rails_app/app/javascript/controllers/index.js
|
|
497
|
+
- examples/rails_app/app/views/dashboard/index.html.erb
|
|
498
|
+
- examples/rails_app/app/views/files/index.html.erb
|
|
499
|
+
- examples/rails_app/app/views/files/new.html.erb
|
|
500
|
+
- examples/rails_app/app/views/files/show.html.erb
|
|
501
|
+
- examples/rails_app/app/views/layouts/application.html.erb
|
|
502
|
+
- examples/rails_app/app/views/memories/_memory_card.html.erb
|
|
503
|
+
- examples/rails_app/app/views/memories/deleted.html.erb
|
|
504
|
+
- examples/rails_app/app/views/memories/edit.html.erb
|
|
505
|
+
- examples/rails_app/app/views/memories/index.html.erb
|
|
506
|
+
- examples/rails_app/app/views/memories/new.html.erb
|
|
507
|
+
- examples/rails_app/app/views/memories/show.html.erb
|
|
508
|
+
- examples/rails_app/app/views/robots/index.html.erb
|
|
509
|
+
- examples/rails_app/app/views/robots/new.html.erb
|
|
510
|
+
- examples/rails_app/app/views/robots/show.html.erb
|
|
511
|
+
- examples/rails_app/app/views/search/index.html.erb
|
|
512
|
+
- examples/rails_app/app/views/shared/_navbar.html.erb
|
|
513
|
+
- examples/rails_app/app/views/shared/_stat_card.html.erb
|
|
514
|
+
- examples/rails_app/app/views/tags/index.html.erb
|
|
515
|
+
- examples/rails_app/app/views/tags/show.html.erb
|
|
516
|
+
- examples/rails_app/bin/dev
|
|
517
|
+
- examples/rails_app/bin/rails
|
|
518
|
+
- examples/rails_app/bin/rake
|
|
519
|
+
- examples/rails_app/config.ru
|
|
520
|
+
- examples/rails_app/config/application.rb
|
|
521
|
+
- examples/rails_app/config/boot.rb
|
|
522
|
+
- examples/rails_app/config/database.yml
|
|
523
|
+
- examples/rails_app/config/environment.rb
|
|
524
|
+
- examples/rails_app/config/importmap.rb
|
|
525
|
+
- examples/rails_app/config/routes.rb
|
|
526
|
+
- examples/rails_app/config/tailwind.config.js
|
|
527
|
+
- examples/rails_app/log/.keep
|
|
528
|
+
- examples/rails_app/tmp/local_secret.txt
|
|
462
529
|
- examples/robot_groups/multi_process.rb
|
|
463
530
|
- examples/robot_groups/robot_worker.rb
|
|
464
531
|
- examples/robot_groups/same_process.rb
|
|
@@ -473,7 +540,8 @@ files:
|
|
|
473
540
|
- lib/htm.rb
|
|
474
541
|
- lib/htm/active_record_config.rb
|
|
475
542
|
- lib/htm/circuit_breaker.rb
|
|
476
|
-
- lib/htm/
|
|
543
|
+
- lib/htm/config.rb
|
|
544
|
+
- lib/htm/config/defaults.yml
|
|
477
545
|
- lib/htm/database.rb
|
|
478
546
|
- lib/htm/embedding_service.rb
|
|
479
547
|
- lib/htm/errors.rb
|
|
@@ -482,8 +550,10 @@ files:
|
|
|
482
550
|
- lib/htm/jobs/generate_embedding_job.rb
|
|
483
551
|
- lib/htm/jobs/generate_propositions_job.rb
|
|
484
552
|
- lib/htm/jobs/generate_tags_job.rb
|
|
553
|
+
- lib/htm/loaders/defaults_loader.rb
|
|
485
554
|
- lib/htm/loaders/markdown_chunker.rb
|
|
486
555
|
- lib/htm/loaders/markdown_loader.rb
|
|
556
|
+
- lib/htm/loaders/xdg_config_loader.rb
|
|
487
557
|
- lib/htm/long_term_memory.rb
|
|
488
558
|
- lib/htm/long_term_memory/fulltext_search.rb
|
|
489
559
|
- lib/htm/long_term_memory/hybrid_search.rb
|
|
@@ -492,6 +562,11 @@ files:
|
|
|
492
562
|
- lib/htm/long_term_memory/robot_operations.rb
|
|
493
563
|
- lib/htm/long_term_memory/tag_operations.rb
|
|
494
564
|
- lib/htm/long_term_memory/vector_search.rb
|
|
565
|
+
- lib/htm/mcp/cli.rb
|
|
566
|
+
- lib/htm/mcp/group_tools.rb
|
|
567
|
+
- lib/htm/mcp/resources.rb
|
|
568
|
+
- lib/htm/mcp/server.rb
|
|
569
|
+
- lib/htm/mcp/tools.rb
|
|
495
570
|
- lib/htm/models/file_source.rb
|
|
496
571
|
- lib/htm/models/node.rb
|
|
497
572
|
- lib/htm/models/node_tag.rb
|
|
@@ -541,7 +616,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
541
616
|
- !ruby/object:Gem::Version
|
|
542
617
|
version: '0'
|
|
543
618
|
requirements: []
|
|
544
|
-
rubygems_version: 4.0.
|
|
619
|
+
rubygems_version: 4.0.2
|
|
545
620
|
specification_version: 4
|
|
546
621
|
summary: Hierarchical Temporal Memory for LLM robots
|
|
547
622
|
test_files: []
|