smart_rag 0.1.0 → 0.2.1
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/.env.example +252 -0
- data/.rspec +2 -0
- data/AGENTS.md +33 -0
- data/API_DOCUMENTATION.md +828 -0
- data/CHANGELOG.md +16 -1
- data/ER-diagram.mmd +144 -0
- data/Gemfile +50 -0
- data/Gemfile.lock +398 -0
- data/Hybrid_Reranking.md +171 -0
- data/README.en.md +420 -28
- data/README.md +534 -63
- data/Rakefile +268 -0
- data/SETUP_GUIDE.md +650 -0
- data/SmartChunking.md +180 -0
- data/USAGE_EXAMPLES.md +1002 -0
- data/config/llm_config.yml +4 -2
- data/config/smart_rag.yml +45 -1
- data/config.ru +15 -0
- data/db/migrations/006_create_text_search_configs.rb +3 -2
- data/db/migrations/008_create_embeddings.rb +5 -4
- data/db/migrations/012_add_metadata_to_source_sections.rb +11 -0
- data/db/migrations/013_create_media_jobs.rb +25 -0
- data/db/migrations/014_add_media_job_operations_indexes.rb +11 -0
- data/db/migrations/015_add_media_leases_and_objects.rb +80 -0
- data/db/migrations/016_add_document_principals_and_staging_references.rb +38 -0
- data/db/migrations/017_add_media_job_request_fingerprint.rb +48 -0
- data/db/seeds/text_search_configs.sql +3 -3
- data/design.md +1057 -0
- data/docs/API_DOCUMENTATION.md +838 -0
- data/docs/DOCUMENTATION_INDEX.en.md +60 -0
- data/docs/DOCUMENTATION_INDEX.md +65 -0
- data/docs/FIX_SUMMARY.md +256 -0
- data/docs/FIX_SUMMARY_COMPLETE.md +273 -0
- data/docs/Hybrid_Reranking.md +171 -0
- data/docs/MIGRATION_GUIDE.md +151 -0
- data/docs/PERFORMANCE_GUIDE.md +58 -0
- data/docs/SETUP_GUIDE.md +659 -0
- data/docs/SmartChunking.md +180 -0
- data/docs/USAGE_EXAMPLES.md +1008 -0
- data/docs/design.md +1057 -0
- data/docs/evidence_pack.md +211 -0
- data/docs/requirements.md +376 -0
- data/docs/retrieval_plan.md +251 -0
- data/docs/smartrag_improvement_plan.md +201 -0
- data/docs/smartrag_refactor.md +216 -0
- data/docs/todo.md +931 -0
- data/examples/common.rb +1 -1
- data/exe/smart-rag-db +163 -0
- data/exe/smart-rag-media-worker +34 -0
- data/lib/smart_rag/config.rb +12 -0
- data/lib/smart_rag/core/document_processor.rb +80 -16
- data/lib/smart_rag/core/local_content_store.rb +51 -0
- data/lib/smart_rag/core/media_extractors.rb +140 -0
- data/lib/smart_rag/core/media_job_queue.rb +353 -0
- data/lib/smart_rag/core/media_metadata_extractor.rb +188 -0
- data/lib/smart_rag/core/media_object_registry.rb +79 -0
- data/lib/smart_rag/core/media_processor.rb +228 -0
- data/lib/smart_rag/core/media_safety_policy.rb +61 -0
- data/lib/smart_rag/core/s3_content_store.rb +78 -0
- data/lib/smart_rag/core/transcript_normalizer.rb +44 -0
- data/lib/smart_rag/core/video_semantic_extractor.rb +130 -0
- data/lib/smart_rag/http_access_policy.rb +86 -0
- data/lib/smart_rag/http_app.rb +188 -0
- data/lib/smart_rag/models/embedding.rb +1 -1
- data/lib/smart_rag/models/research_topic.rb +1 -1
- data/lib/smart_rag/models/research_topic_section.rb +5 -0
- data/lib/smart_rag/models/research_topic_tag.rb +5 -0
- data/lib/smart_rag/models/search_log.rb +1 -1
- data/lib/smart_rag/models/section_fts.rb +5 -0
- data/lib/smart_rag/models/section_tag.rb +5 -0
- data/lib/smart_rag/models/source_document.rb +1 -1
- data/lib/smart_rag/models/source_section.rb +1 -1
- data/lib/smart_rag/models/tag.rb +1 -1
- data/lib/smart_rag/models/text_search_config.rb +5 -0
- data/lib/smart_rag/retrieve.rb +72 -1
- data/lib/smart_rag/services/embedding_service.rb +1 -1
- data/lib/smart_rag/services/fulltext_search_service.rb +11 -13
- data/lib/smart_rag/services/hybrid_search_service.rb +15 -11
- data/lib/smart_rag/services/summarization_service.rb +1 -1
- data/lib/smart_rag/services/tag_service.rb +1 -1
- data/lib/smart_rag/version.rb +1 -1
- data/lib/smart_rag.rb +264 -30
- data/patch_language.rb +27 -0
- data/requirements.md +376 -0
- data/source_documents_export.json +11072 -0
- data/todo.md +931 -0
- data/workers/analyze_content.rb +6 -2
- data/workers/get_embedding.rb +1 -1
- metadata +151 -38
data/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 0.2.1 - 2026-09-15
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
- 升级 `smart_prompt` 依赖至 `~> 0.5.4`。
|
|
7
|
+
|
|
8
|
+
## 0.2.0 - 2026-08-14
|
|
4
9
|
|
|
5
10
|
### Added
|
|
11
|
+
- 新增图片、音频、视频和通用媒体导入 API,以及可降级为 `partial` 的媒体元数据与语义提取。
|
|
12
|
+
- 新增 Rack HTTP 服务、Bearer 认证、principal 隔离和 PostgreSQL 配额控制。
|
|
13
|
+
- 新增 PostgreSQL 持久化媒体任务队列、取消/重试、heartbeat lease、卡死任务恢复和保留期清理。
|
|
14
|
+
- 新增本地与 S3/MinIO 内容寻址存储、对象引用计数和垃圾回收。
|
|
15
|
+
- 新增按 principal 隔离的幂等键与规范化请求指纹;冲突请求返回 `idempotency_conflict`。
|
|
16
|
+
- 新增数据库迁移 012-017,覆盖 section metadata、媒体任务、租约、对象引用、文档所有权和请求指纹。
|
|
17
|
+
- 新增 `smart-rag-media-worker` 可执行文件和 Rack `config.ru` 启动入口。
|
|
6
18
|
- 新增 `retrieve(plan:)` 结构化检索入口(`RetrievalPlan -> EvidencePack`)。
|
|
7
19
|
- 新增 `SmartRAG::Retrieve` 执行器:支持多 query、mode 映射、signals、provenance、stats、explain。
|
|
8
20
|
- 新增索引治理接口:
|
|
@@ -22,6 +34,9 @@
|
|
|
22
34
|
- `prepare_release_indexes(document_id: nil, dry_run: false)`
|
|
23
35
|
|
|
24
36
|
### Changed
|
|
37
|
+
- 文档、检索、统计和媒体任务 API 支持 principal 所有权过滤。
|
|
38
|
+
- 文档与 section metadata 在全文、混合和结构化检索结果中统一合并。
|
|
39
|
+
- URL 下载新增私网地址限制、主机白名单、重定向上限、超时和流式大小限制。
|
|
25
40
|
- `retrieve` 现支持 `global_filters.source_type` 与 `global_filters.source_uri_prefix` 的执行过滤。
|
|
26
41
|
- `retrieve` 新增 `global_filters.topic_ids` 的执行过滤(按 section-topic 关系过滤)。
|
|
27
42
|
- `retrieve` 新增 `budget.diversity.by_source` 执行约束。
|
data/ER-diagram.mmd
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
erDiagram
|
|
2
|
+
%% Main tables - Core domain
|
|
3
|
+
source_documents {
|
|
4
|
+
integer id PK
|
|
5
|
+
varchar title "NOT NULL"
|
|
6
|
+
text url
|
|
7
|
+
varchar author
|
|
8
|
+
date publication_date
|
|
9
|
+
varchar language "DEFAULT 'en'"
|
|
10
|
+
text description
|
|
11
|
+
integer download_state "DEFAULT 0, NOT NULL"
|
|
12
|
+
timestamp created_at "DEFAULT CURRENT_TIMESTAMP"
|
|
13
|
+
timestamp updated_at "DEFAULT CURRENT_TIMESTAMP"
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
source_sections {
|
|
17
|
+
integer id PK
|
|
18
|
+
integer document_id FK "NOT NULL"
|
|
19
|
+
text content "NOT NULL"
|
|
20
|
+
varchar section_title
|
|
21
|
+
integer section_number "DEFAULT 0"
|
|
22
|
+
timestamp created_at "DEFAULT CURRENT_TIMESTAMP"
|
|
23
|
+
timestamp updated_at "DEFAULT CURRENT_TIMESTAMP"
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
tags {
|
|
27
|
+
integer id PK
|
|
28
|
+
varchar name "NOT NULL, UNIQUE"
|
|
29
|
+
integer parent_id FK
|
|
30
|
+
timestamp created_at "DEFAULT CURRENT_TIMESTAMP"
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
research_topics {
|
|
34
|
+
integer id PK
|
|
35
|
+
varchar name "NOT NULL"
|
|
36
|
+
text description
|
|
37
|
+
timestamp created_at "DEFAULT CURRENT_TIMESTAMP"
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
%% Many-to-many relationship tables
|
|
41
|
+
section_tags {
|
|
42
|
+
integer section_id PK,FK "NOT NULL"
|
|
43
|
+
integer tag_id PK,FK "NOT NULL"
|
|
44
|
+
timestamp created_at "DEFAULT CURRENT_TIMESTAMP"
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
research_topic_sections {
|
|
48
|
+
integer research_topic_id PK,FK "NOT NULL"
|
|
49
|
+
integer section_id PK,FK "NOT NULL"
|
|
50
|
+
timestamp created_at "DEFAULT CURRENT_TIMESTAMP"
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
research_topic_tags {
|
|
54
|
+
integer research_topic_id PK,FK "NOT NULL"
|
|
55
|
+
integer tag_id PK,FK "NOT NULL"
|
|
56
|
+
timestamp created_at "DEFAULT CURRENT_TIMESTAMP"
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
%% Full-text search optimized table
|
|
60
|
+
section_fts {
|
|
61
|
+
integer section_id PK,FK "NOT NULL"
|
|
62
|
+
integer document_id FK
|
|
63
|
+
text language "DEFAULT 'en'"
|
|
64
|
+
tsvector fts_title
|
|
65
|
+
tsvector fts_content
|
|
66
|
+
tsvector fts_combined
|
|
67
|
+
timestamp created_at "DEFAULT CURRENT_TIMESTAMP"
|
|
68
|
+
timestamp updated_at "DEFAULT CURRENT_TIMESTAMP"
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
%% Embeddings for vector search
|
|
72
|
+
embeddings {
|
|
73
|
+
integer id PK
|
|
74
|
+
integer source_id FK "NOT NULL"
|
|
75
|
+
vector(1024) vector "NOT NULL"
|
|
76
|
+
timestamp created_at "DEFAULT CURRENT_TIMESTAMP"
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
%% Search analytics and logs
|
|
80
|
+
search_logs {
|
|
81
|
+
integer id PK
|
|
82
|
+
text query "NOT NULL"
|
|
83
|
+
varchar search_type
|
|
84
|
+
integer execution_time_ms
|
|
85
|
+
integer results_count
|
|
86
|
+
vector(1024) query_vector
|
|
87
|
+
integer[] result_ids
|
|
88
|
+
jsonb filters
|
|
89
|
+
timestamp created_at "DEFAULT CURRENT_TIMESTAMP"
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
%% Configuration tables
|
|
93
|
+
text_search_configs {
|
|
94
|
+
text language_code PK "NOT NULL"
|
|
95
|
+
text config_name "NOT NULL"
|
|
96
|
+
boolean is_installed "DEFAULT true"
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
%% Database schema version tracking
|
|
100
|
+
schema_info {
|
|
101
|
+
integer version PK "NOT NULL"
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
%% Relationships
|
|
105
|
+
source_documents ||--o{ source_sections : "has many"
|
|
106
|
+
source_documents ||--o{ section_fts : "has many"
|
|
107
|
+
source_documents ||--o{ section_tags : "has many"
|
|
108
|
+
source_documents ||--o{ embeddings : "has many (via sections)"
|
|
109
|
+
|
|
110
|
+
source_sections }o--|| source_documents : "belongs to"
|
|
111
|
+
source_sections ||--o{ section_tags : "has many"
|
|
112
|
+
source_sections ||--o{ research_topic_sections : "has many"
|
|
113
|
+
source_sections ||--o{ embeddings : "has one"
|
|
114
|
+
source_sections ||--|| section_fts : "has one"
|
|
115
|
+
|
|
116
|
+
tags ||--o{ section_tags : "tags many sections"
|
|
117
|
+
tags ||--o{ research_topic_tags : "tags many topics"
|
|
118
|
+
tags }o--o{ tags : "self-referencing parent"
|
|
119
|
+
|
|
120
|
+
research_topics ||--o{ research_topic_sections : "has many sections"
|
|
121
|
+
research_topics ||--o{ research_topic_tags : "has many tags"
|
|
122
|
+
|
|
123
|
+
section_tags }o--|| source_sections : "section belongs to"
|
|
124
|
+
section_tags }o--|| tags : "tag belongs to"
|
|
125
|
+
|
|
126
|
+
research_topic_sections }o--|| research_topics : "topic belongs to"
|
|
127
|
+
research_topic_sections }o--|| source_sections : "section belongs to"
|
|
128
|
+
|
|
129
|
+
research_topic_tags }o--|| research_topics : "topic belongs to"
|
|
130
|
+
research_topic_tags }o--|| tags : "tag belongs to"
|
|
131
|
+
|
|
132
|
+
section_fts }o--|| source_sections : "section has FTS"
|
|
133
|
+
section_fts }o--|| source_documents : "document has FTS"
|
|
134
|
+
|
|
135
|
+
embeddings }o--|| source_sections : "embedding belongs to"
|
|
136
|
+
|
|
137
|
+
%% Indexes (not in Mermaid standard, but important for understanding)
|
|
138
|
+
%% All tables have appropriate indexes on PKs and FKs
|
|
139
|
+
%% source_documents: indexes on download_state, created_at, language
|
|
140
|
+
%% source_sections: indexes on document_id, section_number
|
|
141
|
+
%% section_tags: unique index on (section_id, tag_id)
|
|
142
|
+
%% section_fts: GIN indexes on tsvector columns
|
|
143
|
+
%% embeddings: index on source_id
|
|
144
|
+
%% search_logs: indexes on created_at, search_type, execution_time_ms
|
data/Gemfile
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
source "https://rubygems.org"
|
|
2
|
+
|
|
3
|
+
# Specify your gem's dependencies in smart_rag.gemspec
|
|
4
|
+
gemspec
|
|
5
|
+
|
|
6
|
+
gem "rake", "~> 13.0"
|
|
7
|
+
gem "rspec", "~> 3.0"
|
|
8
|
+
gem "minitest", "~> 5.0"
|
|
9
|
+
|
|
10
|
+
# Database dependencies
|
|
11
|
+
gem "sequel", "~> 5.0"
|
|
12
|
+
gem "pg", "~> 1.0"
|
|
13
|
+
gem "pgvector"
|
|
14
|
+
|
|
15
|
+
# HTTP client for API calls
|
|
16
|
+
gem "httparty", "~> 0.20"
|
|
17
|
+
|
|
18
|
+
# XML/HTML parsing
|
|
19
|
+
gem "nokogiri", "~> 1.0"
|
|
20
|
+
|
|
21
|
+
# Document conversion
|
|
22
|
+
gem "markitdown", "~> 0.1"
|
|
23
|
+
|
|
24
|
+
# Configuration
|
|
25
|
+
gem "yaml", "~> 0.2"
|
|
26
|
+
|
|
27
|
+
# LLM integration
|
|
28
|
+
gem "smart_prompt", "~> 0.5.4"
|
|
29
|
+
gem "numo-narray", github: "ruby-numo/numo-narray"
|
|
30
|
+
|
|
31
|
+
# Concurrent programming
|
|
32
|
+
gem "concurrent-ruby", "~> 1.0"
|
|
33
|
+
|
|
34
|
+
gem "dotenv", "~> 2.8"
|
|
35
|
+
|
|
36
|
+
# Development dependencies
|
|
37
|
+
group :development, :test do
|
|
38
|
+
gem "simplecov", "~> 0.21"
|
|
39
|
+
gem "rubocop", "~> 1.0"
|
|
40
|
+
gem "factory_bot", "~> 6.0"
|
|
41
|
+
gem "database_cleaner-sequel", "~> 2.0"
|
|
42
|
+
gem "faker", "~> 3.0"
|
|
43
|
+
gem "pry", "~> 0.14"
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
gem "rdbg", "~> 0.1.0"
|
|
47
|
+
|
|
48
|
+
gem "ostruct", "~> 0.6.3"
|
|
49
|
+
|
|
50
|
+
gem "benchmark", "~> 0.5.0"
|
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
GIT
|
|
2
|
+
remote: https://github.com/ruby-numo/numo-narray.git
|
|
3
|
+
revision: 95c05257349b954c027c2284834408736244662a
|
|
4
|
+
specs:
|
|
5
|
+
numo-narray (0.9.2.1)
|
|
6
|
+
|
|
7
|
+
PATH
|
|
8
|
+
remote: .
|
|
9
|
+
specs:
|
|
10
|
+
smart_rag (0.2.1)
|
|
11
|
+
aws-sdk-s3 (~> 1.0)
|
|
12
|
+
concurrent-ruby (~> 1.0)
|
|
13
|
+
dotenv (~> 2.8)
|
|
14
|
+
ostruct (~> 0.6)
|
|
15
|
+
pg (~> 1.0)
|
|
16
|
+
puma (>= 6.0, < 8)
|
|
17
|
+
rack (>= 2.2, < 4)
|
|
18
|
+
sequel (~> 5.0)
|
|
19
|
+
smart_prompt (~> 0.5.4)
|
|
20
|
+
|
|
21
|
+
GEM
|
|
22
|
+
remote: https://rubygems.org/
|
|
23
|
+
specs:
|
|
24
|
+
activemodel (8.1.2)
|
|
25
|
+
activesupport (= 8.1.2)
|
|
26
|
+
activerecord (8.1.2)
|
|
27
|
+
activemodel (= 8.1.2)
|
|
28
|
+
activesupport (= 8.1.2)
|
|
29
|
+
timeout (>= 0.4.0)
|
|
30
|
+
activesupport (8.1.2)
|
|
31
|
+
base64
|
|
32
|
+
bigdecimal
|
|
33
|
+
concurrent-ruby (~> 1.0, >= 1.3.1)
|
|
34
|
+
connection_pool (>= 2.2.5)
|
|
35
|
+
drb
|
|
36
|
+
i18n (>= 1.6, < 2)
|
|
37
|
+
json
|
|
38
|
+
logger (>= 1.4.2)
|
|
39
|
+
minitest (>= 5.1)
|
|
40
|
+
securerandom (>= 0.3)
|
|
41
|
+
tzinfo (~> 2.0, >= 2.0.5)
|
|
42
|
+
uri (>= 0.13.1)
|
|
43
|
+
addressable (2.8.9)
|
|
44
|
+
public_suffix (>= 2.0.2, < 8.0)
|
|
45
|
+
anthropic (1.70.0)
|
|
46
|
+
base64 (~> 0.1)
|
|
47
|
+
cgi (~> 0.1)
|
|
48
|
+
connection_pool (>= 2, < 4)
|
|
49
|
+
standardwebhooks (~> 1.0)
|
|
50
|
+
ast (2.4.3)
|
|
51
|
+
aws-eventstream (1.4.0)
|
|
52
|
+
aws-partitions (1.1280.0)
|
|
53
|
+
aws-sdk-core (3.254.1)
|
|
54
|
+
aws-eventstream (~> 1, >= 1.3.0)
|
|
55
|
+
aws-partitions (~> 1, >= 1.992.0)
|
|
56
|
+
aws-sigv4 (~> 1.9)
|
|
57
|
+
base64
|
|
58
|
+
bigdecimal
|
|
59
|
+
jmespath (~> 1, >= 1.6.1)
|
|
60
|
+
logger
|
|
61
|
+
aws-sdk-kms (1.130.0)
|
|
62
|
+
aws-sdk-core (~> 3, >= 3.254.0)
|
|
63
|
+
aws-sigv4 (~> 1.5)
|
|
64
|
+
aws-sdk-s3 (1.229.0)
|
|
65
|
+
aws-sdk-core (~> 3, >= 3.254.1)
|
|
66
|
+
aws-sdk-kms (~> 1)
|
|
67
|
+
aws-sigv4 (~> 1.5)
|
|
68
|
+
aws-sigv4 (1.12.1)
|
|
69
|
+
aws-eventstream (~> 1, >= 1.0.2)
|
|
70
|
+
base64 (0.3.0)
|
|
71
|
+
benchmark (0.5.0)
|
|
72
|
+
bigdecimal (4.0.1)
|
|
73
|
+
cgi (0.5.2)
|
|
74
|
+
childprocess (5.1.0)
|
|
75
|
+
logger (~> 1.5)
|
|
76
|
+
coderay (1.1.3)
|
|
77
|
+
concurrent-ruby (1.3.6)
|
|
78
|
+
connection_pool (3.0.2)
|
|
79
|
+
csv (3.3.5)
|
|
80
|
+
database_cleaner (2.1.0)
|
|
81
|
+
database_cleaner-active_record (>= 2, < 3)
|
|
82
|
+
database_cleaner-active_record (2.2.2)
|
|
83
|
+
activerecord (>= 5.a)
|
|
84
|
+
database_cleaner-core (~> 2.0)
|
|
85
|
+
database_cleaner-core (2.0.1)
|
|
86
|
+
database_cleaner-sequel (2.0.2)
|
|
87
|
+
database_cleaner-core (~> 2.0.0)
|
|
88
|
+
sequel
|
|
89
|
+
date (3.5.1)
|
|
90
|
+
debug (1.11.1)
|
|
91
|
+
irb (~> 1.10)
|
|
92
|
+
reline (>= 0.3.8)
|
|
93
|
+
diff-lcs (1.6.2)
|
|
94
|
+
docile (1.4.1)
|
|
95
|
+
dotenv (2.8.1)
|
|
96
|
+
drb (2.2.3)
|
|
97
|
+
erb (6.0.2)
|
|
98
|
+
event_stream_parser (1.0.0)
|
|
99
|
+
factory_bot (6.5.6)
|
|
100
|
+
activesupport (>= 6.1.0)
|
|
101
|
+
faker (3.6.1)
|
|
102
|
+
i18n (>= 1.8.11, < 2)
|
|
103
|
+
faraday (2.14.3)
|
|
104
|
+
faraday-net_http (>= 2.0, < 3.5)
|
|
105
|
+
json
|
|
106
|
+
logger
|
|
107
|
+
faraday-multipart (1.2.0)
|
|
108
|
+
multipart-post (~> 2.0)
|
|
109
|
+
faraday-net_http (3.4.4)
|
|
110
|
+
net-http (~> 0.5)
|
|
111
|
+
httparty (0.24.2)
|
|
112
|
+
csv
|
|
113
|
+
mini_mime (>= 1.0.0)
|
|
114
|
+
multi_xml (>= 0.5.2)
|
|
115
|
+
i18n (1.14.8)
|
|
116
|
+
concurrent-ruby (~> 1.0)
|
|
117
|
+
io-console (0.8.2)
|
|
118
|
+
irb (1.17.0)
|
|
119
|
+
pp (>= 0.6.0)
|
|
120
|
+
prism (>= 1.3.0)
|
|
121
|
+
rdoc (>= 4.0.0)
|
|
122
|
+
reline (>= 0.4.2)
|
|
123
|
+
jmespath (1.6.2)
|
|
124
|
+
json (2.19.9)
|
|
125
|
+
json-schema (6.2.0)
|
|
126
|
+
addressable (~> 2.8)
|
|
127
|
+
bigdecimal (>= 3.1, < 5)
|
|
128
|
+
language_server-protocol (3.17.0.5)
|
|
129
|
+
lint_roller (1.1.0)
|
|
130
|
+
logger (1.7.0)
|
|
131
|
+
markitdown (0.3.3)
|
|
132
|
+
nokogiri
|
|
133
|
+
mcp (0.8.0)
|
|
134
|
+
json-schema (>= 4.1)
|
|
135
|
+
method_source (1.1.0)
|
|
136
|
+
mini_mime (1.1.5)
|
|
137
|
+
minitest (5.27.0)
|
|
138
|
+
multi_xml (0.8.1)
|
|
139
|
+
bigdecimal (>= 3.1, < 5)
|
|
140
|
+
multipart-post (2.4.1)
|
|
141
|
+
net-http (0.9.1)
|
|
142
|
+
uri (>= 0.11.1)
|
|
143
|
+
nio4r (2.7.5)
|
|
144
|
+
nokogiri (1.19.1-x64-mingw-ucrt)
|
|
145
|
+
racc (~> 1.4)
|
|
146
|
+
nokogiri (1.19.1-x86_64-linux-gnu)
|
|
147
|
+
racc (~> 1.4)
|
|
148
|
+
ostruct (0.6.3)
|
|
149
|
+
parallel (1.27.0)
|
|
150
|
+
parser (3.3.10.2)
|
|
151
|
+
ast (~> 2.4.1)
|
|
152
|
+
racc
|
|
153
|
+
pg (1.6.3-x64-mingw-ucrt)
|
|
154
|
+
pg (1.6.3-x86_64-linux)
|
|
155
|
+
pgvector (0.3.2)
|
|
156
|
+
pp (0.6.3)
|
|
157
|
+
prettyprint
|
|
158
|
+
prettyprint (0.2.0)
|
|
159
|
+
prism (1.9.0)
|
|
160
|
+
pry (0.16.0)
|
|
161
|
+
coderay (~> 1.1)
|
|
162
|
+
method_source (~> 1.0)
|
|
163
|
+
reline (>= 0.6.0)
|
|
164
|
+
psych (5.3.1)
|
|
165
|
+
date
|
|
166
|
+
stringio
|
|
167
|
+
public_suffix (7.0.5)
|
|
168
|
+
puma (7.2.1)
|
|
169
|
+
nio4r (~> 2.0)
|
|
170
|
+
racc (1.8.1)
|
|
171
|
+
rack (3.2.7)
|
|
172
|
+
rainbow (3.1.1)
|
|
173
|
+
rake (13.3.1)
|
|
174
|
+
rdbg (0.1.0)
|
|
175
|
+
debug (>= 1.2.2)
|
|
176
|
+
rdoc (7.2.0)
|
|
177
|
+
erb
|
|
178
|
+
psych (>= 4.0.0)
|
|
179
|
+
tsort
|
|
180
|
+
regexp_parser (2.11.3)
|
|
181
|
+
reline (0.6.3)
|
|
182
|
+
io-console (~> 0.5)
|
|
183
|
+
retriable (3.1.2)
|
|
184
|
+
rspec (3.13.2)
|
|
185
|
+
rspec-core (~> 3.13.0)
|
|
186
|
+
rspec-expectations (~> 3.13.0)
|
|
187
|
+
rspec-mocks (~> 3.13.0)
|
|
188
|
+
rspec-core (3.13.6)
|
|
189
|
+
rspec-support (~> 3.13.0)
|
|
190
|
+
rspec-expectations (3.13.5)
|
|
191
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
192
|
+
rspec-support (~> 3.13.0)
|
|
193
|
+
rspec-mocks (3.13.8)
|
|
194
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
195
|
+
rspec-support (~> 3.13.0)
|
|
196
|
+
rspec-support (3.13.7)
|
|
197
|
+
rubocop (1.85.1)
|
|
198
|
+
json (~> 2.3)
|
|
199
|
+
language_server-protocol (~> 3.17.0.2)
|
|
200
|
+
lint_roller (~> 1.1.0)
|
|
201
|
+
mcp (~> 0.6)
|
|
202
|
+
parallel (~> 1.10)
|
|
203
|
+
parser (>= 3.3.0.2)
|
|
204
|
+
rainbow (>= 2.2.2, < 4.0)
|
|
205
|
+
regexp_parser (>= 2.9.3, < 3.0)
|
|
206
|
+
rubocop-ast (>= 1.49.0, < 2.0)
|
|
207
|
+
ruby-progressbar (~> 1.7)
|
|
208
|
+
unicode-display_width (>= 2.4.0, < 4.0)
|
|
209
|
+
rubocop-ast (1.49.0)
|
|
210
|
+
parser (>= 3.3.7.2)
|
|
211
|
+
prism (~> 1.7)
|
|
212
|
+
ruby-openai (8.3.0)
|
|
213
|
+
event_stream_parser (>= 0.3.0, < 2.0.0)
|
|
214
|
+
faraday (>= 1)
|
|
215
|
+
faraday-multipart (>= 1)
|
|
216
|
+
ruby-progressbar (1.13.0)
|
|
217
|
+
safe_ruby (1.0.5)
|
|
218
|
+
childprocess (~> 5)
|
|
219
|
+
securerandom (0.4.1)
|
|
220
|
+
sequel (5.102.0)
|
|
221
|
+
bigdecimal
|
|
222
|
+
simplecov (0.22.0)
|
|
223
|
+
docile (~> 1.1)
|
|
224
|
+
simplecov-html (~> 0.11)
|
|
225
|
+
simplecov_json_formatter (~> 0.1)
|
|
226
|
+
simplecov-html (0.13.2)
|
|
227
|
+
simplecov_json_formatter (0.1.4)
|
|
228
|
+
smart_prompt (0.5.4)
|
|
229
|
+
anthropic (~> 1.14)
|
|
230
|
+
base64 (~> 0.3.0)
|
|
231
|
+
json (~> 2.19.4)
|
|
232
|
+
numo-narray (~> 0.9.2.1)
|
|
233
|
+
retriable (~> 3.1.2)
|
|
234
|
+
ruby-openai (~> 8.3.0)
|
|
235
|
+
safe_ruby (~> 1.0.5)
|
|
236
|
+
tiktoken_ruby (~> 0.0.6)
|
|
237
|
+
yaml (~> 0.4.0)
|
|
238
|
+
standardwebhooks (1.1.0)
|
|
239
|
+
stringio (3.2.0)
|
|
240
|
+
tiktoken_ruby (0.0.17-x64-mingw-ucrt)
|
|
241
|
+
tiktoken_ruby (0.0.17-x86_64-linux)
|
|
242
|
+
timeout (0.6.0)
|
|
243
|
+
tsort (0.2.0)
|
|
244
|
+
tzinfo (2.0.6)
|
|
245
|
+
concurrent-ruby (~> 1.0)
|
|
246
|
+
unicode-display_width (3.2.0)
|
|
247
|
+
unicode-emoji (~> 4.1)
|
|
248
|
+
unicode-emoji (4.2.0)
|
|
249
|
+
uri (1.1.1)
|
|
250
|
+
yaml (0.4.0)
|
|
251
|
+
|
|
252
|
+
PLATFORMS
|
|
253
|
+
x64-mingw-ucrt
|
|
254
|
+
x86_64-linux
|
|
255
|
+
|
|
256
|
+
DEPENDENCIES
|
|
257
|
+
benchmark (~> 0.5.0)
|
|
258
|
+
bundler (~> 4.0)
|
|
259
|
+
concurrent-ruby (~> 1.0)
|
|
260
|
+
database_cleaner (~> 2.0)
|
|
261
|
+
database_cleaner-sequel (~> 2.0)
|
|
262
|
+
dotenv (~> 2.8)
|
|
263
|
+
factory_bot (~> 6.0)
|
|
264
|
+
faker (~> 3.0)
|
|
265
|
+
httparty (~> 0.20)
|
|
266
|
+
markitdown (~> 0.1)
|
|
267
|
+
minitest (~> 5.0)
|
|
268
|
+
nokogiri (~> 1.0)
|
|
269
|
+
numo-narray!
|
|
270
|
+
ostruct (~> 0.6.3)
|
|
271
|
+
pg (~> 1.0)
|
|
272
|
+
pgvector
|
|
273
|
+
pry (~> 0.14)
|
|
274
|
+
rake (~> 13.0)
|
|
275
|
+
rdbg (~> 0.1.0)
|
|
276
|
+
rspec (~> 3.0)
|
|
277
|
+
rubocop (~> 1.0)
|
|
278
|
+
sequel (~> 5.0)
|
|
279
|
+
simplecov (~> 0.21)
|
|
280
|
+
smart_prompt (~> 0.5.4)
|
|
281
|
+
smart_rag!
|
|
282
|
+
yaml (~> 0.2)
|
|
283
|
+
|
|
284
|
+
CHECKSUMS
|
|
285
|
+
activemodel (8.1.2) sha256=e21358c11ce68aed3f9838b7e464977bc007b4446c6e4059781e1d5c03bcf33e
|
|
286
|
+
activerecord (8.1.2) sha256=acfbe0cadfcc50fa208011fe6f4eb01cae682ebae0ef57145ba45380c74bcc44
|
|
287
|
+
activesupport (8.1.2) sha256=88842578ccd0d40f658289b0e8c842acfe9af751afee2e0744a7873f50b6fdae
|
|
288
|
+
addressable (2.8.9) sha256=cc154fcbe689711808a43601dee7b980238ce54368d23e127421753e46895485
|
|
289
|
+
anthropic (1.70.0) sha256=9ce99591e5037c2c65f5e0a9b322d496b9791a9751cd82f8dd639958a02d5703
|
|
290
|
+
ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
|
|
291
|
+
aws-eventstream (1.4.0) sha256=116bf85c436200d1060811e6f5d2d40c88f65448f2125bc77ffce5121e6e183b
|
|
292
|
+
aws-partitions (1.1280.0) sha256=4c5f5f0765603a738d6e212ae228ae6e5129696e907e4a2854c03d55ff9524bc
|
|
293
|
+
aws-sdk-core (3.254.1) sha256=518089e32134c3478cd4ec63d07fb966546a45e9e4cbf5f80d2cf16d5699d29b
|
|
294
|
+
aws-sdk-kms (1.130.0) sha256=a2e83662ca31b77a2a19c9aa2f40a98165a67270c18c718fe1c70d0cbd7cd749
|
|
295
|
+
aws-sdk-s3 (1.229.0) sha256=7dd11a111875b3505d2ec0a0a383a6aab6c1badb3d4e94e7fbb958a24451f596
|
|
296
|
+
aws-sigv4 (1.12.1) sha256=6973ff95cb0fd0dc58ba26e90e9510a2219525d07620c8babeb70ef831826c00
|
|
297
|
+
base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
|
|
298
|
+
benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
|
|
299
|
+
bigdecimal (4.0.1) sha256=8b07d3d065a9f921c80ceaea7c9d4ae596697295b584c296fe599dd0ad01c4a7
|
|
300
|
+
bundler (4.0.14) sha256=d09a0a965cf772266a7e49e83610be7c2f4e49e61134c42a56804bb383cc24b8
|
|
301
|
+
cgi (0.5.2) sha256=61ca30298171190fd4fa0d8018e57ada456eae9b7a2b78526debf7f0a0e6f8bb
|
|
302
|
+
childprocess (5.1.0) sha256=9a8d484be2fd4096a0e90a0cd3e449a05bc3aa33f8ac9e4d6dcef6ac1455b6ec
|
|
303
|
+
coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b
|
|
304
|
+
concurrent-ruby (1.3.6) sha256=6b56837e1e7e5292f9864f34b69c5a2cbc75c0cf5338f1ce9903d10fa762d5ab
|
|
305
|
+
connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
|
|
306
|
+
csv (3.3.5) sha256=6e5134ac3383ef728b7f02725d9872934f523cb40b961479f69cf3afa6c8e73f
|
|
307
|
+
database_cleaner (2.1.0) sha256=1dcba26e3b1576da692fc6bac10136a4744da5bcc293d248aae19640c65d89cd
|
|
308
|
+
database_cleaner-active_record (2.2.2) sha256=88296b9f3088c31f7c0d4fcec10f68e4b71c96698043916de59b04debec10388
|
|
309
|
+
database_cleaner-core (2.0.1) sha256=8646574c32162e59ed7b5258a97a208d3c44551b854e510994f24683865d846c
|
|
310
|
+
database_cleaner-sequel (2.0.2) sha256=f1e6566a1a34d7425ff94b447e2c16181bc215555aff3dfe463b7977b621d4bf
|
|
311
|
+
date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
|
|
312
|
+
debug (1.11.1) sha256=2e0b0ac6119f2207a6f8ac7d4a73ca8eb4e440f64da0a3136c30343146e952b6
|
|
313
|
+
diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
|
|
314
|
+
docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
|
|
315
|
+
dotenv (2.8.1) sha256=c5944793349ae03c432e1780a2ca929d60b88c7d14d52d630db0508c3a8a17d8
|
|
316
|
+
drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
|
|
317
|
+
erb (6.0.2) sha256=9fe6264d44f79422c87490a1558479bd0e7dad4dd0e317656e67ea3077b5242b
|
|
318
|
+
event_stream_parser (1.0.0) sha256=a2683bab70126286f8184dc88f7968ffc4028f813161fb073ec90d171f7de3c8
|
|
319
|
+
factory_bot (6.5.6) sha256=12beb373214dccc086a7a63763d6718c49769d5606f0501e0a4442676917e077
|
|
320
|
+
faker (3.6.1) sha256=c513d23c1d26b426283e913b25e0b714576011d7c1ad368a9ac6ea2113a1ccde
|
|
321
|
+
faraday (2.14.3) sha256=1882247e6766615c8220b4392bf1d27f6ebb63d8e28267587cef1fb0bf37f278
|
|
322
|
+
faraday-multipart (1.2.0) sha256=7d89a949693714176f612323ca13746a2ded204031a6ba528adee788694ef757
|
|
323
|
+
faraday-net_http (3.4.4) sha256=0e78af151747ed1b00f33e25973b4bc220d7f16c00c39676817c8b12331eb588
|
|
324
|
+
httparty (0.24.2) sha256=8fca6a54aa0c4aa4303a0fd33e5e2156175d6a5334f714263b458abd7fda9c38
|
|
325
|
+
i18n (1.14.8) sha256=285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5
|
|
326
|
+
io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
|
|
327
|
+
irb (1.17.0) sha256=168c4ddb93d8a361a045c41d92b2952c7a118fa73f23fe14e55609eb7a863aae
|
|
328
|
+
jmespath (1.6.2) sha256=238d774a58723d6c090494c8879b5e9918c19485f7e840f2c1c7532cf84ebcb1
|
|
329
|
+
json (2.19.9) sha256=9b9025b7cdddafa38d316eca0b2358488e42d417045c1b90d216a9fefe46b79a
|
|
330
|
+
json-schema (6.2.0) sha256=e8bff46ed845a22c1ab2bd0d7eccf831c01fe23bb3920caa4c74db4306813666
|
|
331
|
+
language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
|
|
332
|
+
lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
|
|
333
|
+
logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
|
|
334
|
+
markitdown (0.3.3) sha256=7f51293e19704a57ac1b15c4d5ad6b9780e73cc6af4a3f8b59fd6a14e43e8d26
|
|
335
|
+
mcp (0.8.0) sha256=ae8bd146bb8e168852866fd26f805f52744f6326afb3211e073f78a95e0c34fb
|
|
336
|
+
method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
|
|
337
|
+
mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
|
|
338
|
+
minitest (5.27.0) sha256=2d3b17f8a36fe7801c1adcffdbc38233b938eb0b4966e97a6739055a45fa77d5
|
|
339
|
+
multi_xml (0.8.1) sha256=addba0290bac34e9088bfe73dc4878530297a82a7bbd66cb44dcd0a4b86edf5a
|
|
340
|
+
multipart-post (2.4.1) sha256=9872d03a8e552020ca096adadbf5e3cb1cd1cdd6acd3c161136b8a5737cdb4a8
|
|
341
|
+
net-http (0.9.1) sha256=25ba0b67c63e89df626ed8fac771d0ad24ad151a858af2cc8e6a716ca4336996
|
|
342
|
+
nio4r (2.7.5) sha256=6c90168e48fb5f8e768419c93abb94ba2b892a1d0602cb06eef16d8b7df1dca1
|
|
343
|
+
nokogiri (1.19.1-x64-mingw-ucrt) sha256=110d92ae57694ae7866670d298a5d04cd150fae5a6a7849957d66f171e6aec9b
|
|
344
|
+
nokogiri (1.19.1-x86_64-linux-gnu) sha256=1a4902842a186b4f901078e692d12257678e6133858d0566152fe29cdb98456a
|
|
345
|
+
numo-narray (0.9.2.1)
|
|
346
|
+
ostruct (0.6.3) sha256=95a2ed4a4bd1d190784e666b47b2d3f078e4a9efda2fccf18f84ddc6538ed912
|
|
347
|
+
parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130
|
|
348
|
+
parser (3.3.10.2) sha256=6f60c84aa4bdcedb6d1a2434b738fe8a8136807b6adc8f7f53b97da9bc4e9357
|
|
349
|
+
pg (1.6.3-x64-mingw-ucrt) sha256=cdff974cbde6935e07b8f5cc3c2af7d320bc5263bde06acaae08302194ebf5e1
|
|
350
|
+
pg (1.6.3-x86_64-linux) sha256=5d9e188c8f7a0295d162b7b88a768d8452a899977d44f3274d1946d67920ae8d
|
|
351
|
+
pgvector (0.3.2) sha256=b47cbfb8dcc1aa7adcecc4d6583bd2a6bfff358dad56467488daf4f6efdef3b5
|
|
352
|
+
pp (0.6.3) sha256=2951d514450b93ccfeb1df7d021cae0da16e0a7f95ee1e2273719669d0ab9df6
|
|
353
|
+
prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
|
|
354
|
+
prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
|
|
355
|
+
pry (0.16.0) sha256=d76c69065698ed1f85e717bd33d7942c38a50868f6b0673c636192b3d1b6054e
|
|
356
|
+
psych (5.3.1) sha256=eb7a57cef10c9d70173ff74e739d843ac3b2c019a003de48447b2963d81b1974
|
|
357
|
+
public_suffix (7.0.5) sha256=1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623
|
|
358
|
+
puma (7.2.1) sha256=d7bf0e9cabd532e0d401e142cd94e3ac531e993610e2d80e6fbf9c26961414b0
|
|
359
|
+
racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
|
|
360
|
+
rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
|
|
361
|
+
rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
|
|
362
|
+
rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c
|
|
363
|
+
rdbg (0.1.0) sha256=2111bd41521929e4f469e8b7c1d00b1b7f4d6ab421dd3158cd160a8dcab3ad86
|
|
364
|
+
rdoc (7.2.0) sha256=8650f76cd4009c3b54955eb5d7e3a075c60a57276766ebf36f9085e8c9f23192
|
|
365
|
+
regexp_parser (2.11.3) sha256=ca13f381a173b7a93450e53459075c9b76a10433caadcb2f1180f2c741fc55a4
|
|
366
|
+
reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
|
|
367
|
+
retriable (3.1.2) sha256=0a5a5d0ca4ba61a76fb31a17ab8f7f80281beb040c329d34dfc137a1398688e0
|
|
368
|
+
rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
|
|
369
|
+
rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
|
|
370
|
+
rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
|
|
371
|
+
rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47
|
|
372
|
+
rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
|
|
373
|
+
rubocop (1.85.1) sha256=3dbcf9e961baa4c376eeeb2a03913dca5e3987033b04d38fa538aa1e7406cc77
|
|
374
|
+
rubocop-ast (1.49.0) sha256=49c3676d3123a0923d333e20c6c2dbaaae2d2287b475273fddee0c61da9f71fd
|
|
375
|
+
ruby-openai (8.3.0) sha256=566dc279c42f4afed68a7a363dce2e594078abfc36b4e043102020b9a387ca69
|
|
376
|
+
ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
|
|
377
|
+
safe_ruby (1.0.5) sha256=ec43cd08da87b754c5ae741883f45d44e5d867deca9c46e01a70b6ff20c0bb20
|
|
378
|
+
securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
|
|
379
|
+
sequel (5.102.0) sha256=c25bb85a44ae59b3ed41ca7c32c33316cf81a6fcaeabedb4036ba141dde70919
|
|
380
|
+
simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
|
|
381
|
+
simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246
|
|
382
|
+
simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
|
|
383
|
+
smart_prompt (0.5.4) sha256=81d5e052cf05d63051a68e946e0ba25bcd280dca5e43ce96664551a33656e5bc
|
|
384
|
+
smart_rag (0.2.1)
|
|
385
|
+
standardwebhooks (1.1.0) sha256=356ba711c14def4fb27310e4163b26bd5cccf325212c3440cabadd825e4be11f
|
|
386
|
+
stringio (3.2.0) sha256=c37cb2e58b4ffbd33fe5cd948c05934af997b36e0b6ca6fdf43afa234cf222e1
|
|
387
|
+
tiktoken_ruby (0.0.17-x64-mingw-ucrt) sha256=8bd2f8e2c38ee9052a8cd4fc83fcb41362beb476d8885ac121125cd4dd065596
|
|
388
|
+
tiktoken_ruby (0.0.17-x86_64-linux) sha256=c5bfe3067b0d0776028be2112a18f9031d69ed250427a575a4a0b51a0507906b
|
|
389
|
+
timeout (0.6.0) sha256=6d722ad619f96ee383a0c557ec6eb8c4ecb08af3af62098a0be5057bf00de1af
|
|
390
|
+
tsort (0.2.0) sha256=9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f
|
|
391
|
+
tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
|
|
392
|
+
unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
|
|
393
|
+
unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
|
|
394
|
+
uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6
|
|
395
|
+
yaml (0.4.0) sha256=240e69d1e6ce3584d6085978719a0faa6218ae426e034d8f9b02fb54d3471942
|
|
396
|
+
|
|
397
|
+
BUNDLED WITH
|
|
398
|
+
4.0.14
|