hokipoki 0.1.2 → 0.1.3
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/LICENSE +26 -0
- data/lib/generators/hive_mind/install_generator.rb +828 -0
- data/lib/hokipoki/claude/auto_loader.rb +162 -0
- data/lib/hokipoki/claude/connection_manager.rb +382 -0
- data/lib/hokipoki/claude/parasite.rb +333 -0
- data/lib/hokipoki/configuration.rb +187 -0
- data/lib/hokipoki/engine.rb +122 -0
- data/lib/hokipoki/feedback/ascii_banners.rb +108 -0
- data/lib/hokipoki/feedback/display_manager.rb +436 -0
- data/lib/hokipoki/intelligence/smart_retrieval_engine.rb +401 -0
- data/lib/hokipoki/intelligence/unified_orchestrator.rb +395 -0
- data/lib/hokipoki/license_validator.rb +296 -0
- data/lib/hokipoki/parasites/universal_generator.rb +662 -0
- data/lib/hokipoki/railtie.rb +34 -0
- data/lib/hokipoki/version.rb +1 -1
- data/lib/hokipoki.rb +177 -0
- metadata +77 -18
data/lib/hokipoki.rb
ADDED
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "hokipoki/version"
|
|
4
|
+
|
|
5
|
+
module Hokipoki
|
|
6
|
+
class Error < StandardError; end
|
|
7
|
+
class ConfigurationError < Error; end
|
|
8
|
+
class IntelligenceError < Error; end
|
|
9
|
+
class ParasiteError < Error; end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
require_relative "hokipoki/configuration"
|
|
13
|
+
require_relative "hokipoki/license_validator"
|
|
14
|
+
require_relative "hokipoki/engine"
|
|
15
|
+
|
|
16
|
+
# Feedback system (load first)
|
|
17
|
+
require_relative "hokipoki/feedback/display_manager"
|
|
18
|
+
|
|
19
|
+
# Core modules
|
|
20
|
+
require_relative "hokipoki/core/vector_intelligence"
|
|
21
|
+
require_relative "hokipoki/core/brain_manager"
|
|
22
|
+
require_relative "hokipoki/core/embedding_patterns"
|
|
23
|
+
require_relative "hokipoki/core/token_budget_manager"
|
|
24
|
+
|
|
25
|
+
# Intelligence modules
|
|
26
|
+
require_relative "hokipoki/intelligence/unified_orchestrator"
|
|
27
|
+
require_relative "hokipoki/intelligence/smart_retrieval_engine"
|
|
28
|
+
require_relative "hokipoki/intelligence/template_registry"
|
|
29
|
+
require_relative "hokipoki/intelligence/template_seeding_service"
|
|
30
|
+
require_relative "hokipoki/intelligence/pattern_compliance"
|
|
31
|
+
|
|
32
|
+
# Parasite modules
|
|
33
|
+
require_relative "hokipoki/parasites/universal_generator"
|
|
34
|
+
require_relative "hokipoki/parasites/parasite_registry"
|
|
35
|
+
require_relative "hokipoki/parasites/behavioral_analyzer"
|
|
36
|
+
require_relative "hokipoki/parasites/optimizer"
|
|
37
|
+
require_relative "hokipoki/parasites/intelligence_network"
|
|
38
|
+
|
|
39
|
+
# Forge modules (optional)
|
|
40
|
+
begin
|
|
41
|
+
require_relative "hokipoki/forge/generator_forge"
|
|
42
|
+
require_relative "hokipoki/forge/workshop_interface"
|
|
43
|
+
require_relative "hokipoki/forge/document_processor"
|
|
44
|
+
require_relative "hokipoki/forge/pipeline_orchestrator"
|
|
45
|
+
rescue LoadError => e
|
|
46
|
+
# Forge components are optional
|
|
47
|
+
Rails.logger&.debug "Forge components not loaded: #{e.message}"
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Security modules
|
|
51
|
+
require_relative "hokipoki/security/audit_service"
|
|
52
|
+
require_relative "hokipoki/security/offline_optimizer"
|
|
53
|
+
require_relative "hokipoki/security/api_authentication"
|
|
54
|
+
|
|
55
|
+
# Claude integration modules (lazy loaded)
|
|
56
|
+
begin
|
|
57
|
+
require_relative "hokipoki/claude/auto_loader"
|
|
58
|
+
require_relative "hokipoki/claude/connection_manager"
|
|
59
|
+
require_relative "hokipoki/claude/parasite"
|
|
60
|
+
rescue LoadError => e
|
|
61
|
+
# Claude modules are optional
|
|
62
|
+
Rails.logger&.debug "Claude integration not loaded: #{e.message}"
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
module Hokipoki
|
|
66
|
+
# Validate license on gem load (before anything else)
|
|
67
|
+
begin
|
|
68
|
+
LicenseValidator.validate! if defined?(Rails)
|
|
69
|
+
rescue LicenseValidator::LicenseError => e
|
|
70
|
+
Rails.logger&.error "🔒 HokiPoki License Error: #{e.message}"
|
|
71
|
+
raise e if Rails.env.production?
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
class << self
|
|
75
|
+
attr_accessor :configuration
|
|
76
|
+
|
|
77
|
+
# Configure Hokipoki
|
|
78
|
+
def configure
|
|
79
|
+
self.configuration ||= Configuration.new
|
|
80
|
+
yield(configuration) if block_given?
|
|
81
|
+
configuration
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# Get current configuration
|
|
85
|
+
def config
|
|
86
|
+
configuration || configure
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# Check if component is enabled
|
|
90
|
+
def parasites_enabled?
|
|
91
|
+
config.enable_parasites
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def forge_enabled?
|
|
95
|
+
config.enable_forge
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def behavioral_analysis_enabled?
|
|
99
|
+
config.enable_behavioral_analysis
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def template_optimization_enabled?
|
|
103
|
+
config.enable_template_optimization
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
# Main API methods - shortcuts to core services
|
|
107
|
+
|
|
108
|
+
# Retrieve targeted facts with vector intelligence
|
|
109
|
+
def retrieve_facts(query, token_budget: 1500, intent: 'auto')
|
|
110
|
+
Intelligence::UnifiedOrchestrator.instance.retrieve_targeted_facts(
|
|
111
|
+
query,
|
|
112
|
+
token_budget: token_budget,
|
|
113
|
+
intent: intent
|
|
114
|
+
)
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# Generate universal parasite
|
|
118
|
+
def generate_parasite(requirements)
|
|
119
|
+
raise ParasiteError, "Parasites not enabled" unless parasites_enabled?
|
|
120
|
+
|
|
121
|
+
Parasites::UniversalGenerator.instance.generate_parasite(requirements)
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# Process intelligence request
|
|
125
|
+
def process_intelligence(request_type, input_data, options = {})
|
|
126
|
+
Intelligence::UnifiedOrchestrator.instance.process_intelligence_request(
|
|
127
|
+
request_type,
|
|
128
|
+
input_data,
|
|
129
|
+
options
|
|
130
|
+
)
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
# Switch brain context
|
|
134
|
+
def switch_brain(brain_name, context = {})
|
|
135
|
+
Core::BrainManager.instance.switch_brain(brain_name, context)
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
# Get system status
|
|
139
|
+
def system_status
|
|
140
|
+
{
|
|
141
|
+
version: VERSION,
|
|
142
|
+
components: {
|
|
143
|
+
parasites: parasites_enabled?,
|
|
144
|
+
forge: forge_enabled?,
|
|
145
|
+
behavioral_analysis: behavioral_analysis_enabled?,
|
|
146
|
+
template_optimization: template_optimization_enabled?
|
|
147
|
+
},
|
|
148
|
+
orchestrator: Intelligence::UnifiedOrchestrator.instance.get_system_status,
|
|
149
|
+
timestamp: Time.current.iso8601
|
|
150
|
+
}
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
# Health check
|
|
154
|
+
def healthy?
|
|
155
|
+
begin
|
|
156
|
+
config.present? &&
|
|
157
|
+
Intelligence::UnifiedOrchestrator.instance.get_system_status[:unified_orchestrator] == 'operational'
|
|
158
|
+
rescue => e
|
|
159
|
+
Rails.logger&.error "Hokipoki health check failed: #{e.message}"
|
|
160
|
+
false
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
# Reset configuration (useful for testing)
|
|
165
|
+
def reset!
|
|
166
|
+
self.configuration = nil
|
|
167
|
+
# Clear any singleton instances
|
|
168
|
+
Intelligence::UnifiedOrchestrator.instance.instance_variable_set(:@initialized, false) rescue nil
|
|
169
|
+
Parasites::UniversalGenerator.instance.instance_variable_set(:@initialized, false) rescue nil
|
|
170
|
+
end
|
|
171
|
+
end
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
# Auto-configure if Rails is present
|
|
175
|
+
if defined?(Rails)
|
|
176
|
+
require_relative "hokipoki/railtie"
|
|
177
|
+
end
|
metadata
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hokipoki
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
-
|
|
7
|
+
- Rails Utilities
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
10
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
@@ -108,7 +108,21 @@ dependencies:
|
|
|
108
108
|
- !ruby/object:Gem::Version
|
|
109
109
|
version: '0.23'
|
|
110
110
|
- !ruby/object:Gem::Dependency
|
|
111
|
-
name:
|
|
111
|
+
name: tty-spinner
|
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
|
113
|
+
requirements:
|
|
114
|
+
- - ">="
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: '0.9'
|
|
117
|
+
type: :runtime
|
|
118
|
+
prerelease: false
|
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
120
|
+
requirements:
|
|
121
|
+
- - ">="
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
version: '0.9'
|
|
124
|
+
- !ruby/object:Gem::Dependency
|
|
125
|
+
name: pastel
|
|
112
126
|
requirement: !ruby/object:Gem::Requirement
|
|
113
127
|
requirements:
|
|
114
128
|
- - ">="
|
|
@@ -141,57 +155,102 @@ dependencies:
|
|
|
141
155
|
requirements:
|
|
142
156
|
- - ">="
|
|
143
157
|
- !ruby/object:Gem::Version
|
|
144
|
-
version: '0'
|
|
158
|
+
version: '6.0'
|
|
145
159
|
type: :development
|
|
146
160
|
prerelease: false
|
|
147
161
|
version_requirements: !ruby/object:Gem::Requirement
|
|
148
162
|
requirements:
|
|
149
163
|
- - ">="
|
|
150
164
|
- !ruby/object:Gem::Version
|
|
151
|
-
version: '0'
|
|
165
|
+
version: '6.0'
|
|
152
166
|
- !ruby/object:Gem::Dependency
|
|
153
167
|
name: capybara
|
|
154
168
|
requirement: !ruby/object:Gem::Requirement
|
|
155
169
|
requirements:
|
|
156
170
|
- - ">="
|
|
157
171
|
- !ruby/object:Gem::Version
|
|
158
|
-
version: '0'
|
|
172
|
+
version: '3.0'
|
|
159
173
|
type: :development
|
|
160
174
|
prerelease: false
|
|
161
175
|
version_requirements: !ruby/object:Gem::Requirement
|
|
162
176
|
requirements:
|
|
163
177
|
- - ">="
|
|
164
178
|
- !ruby/object:Gem::Version
|
|
165
|
-
version: '0'
|
|
179
|
+
version: '3.0'
|
|
166
180
|
- !ruby/object:Gem::Dependency
|
|
167
181
|
name: webmock
|
|
168
182
|
requirement: !ruby/object:Gem::Requirement
|
|
169
183
|
requirements:
|
|
170
184
|
- - ">="
|
|
171
185
|
- !ruby/object:Gem::Version
|
|
172
|
-
version: '0'
|
|
186
|
+
version: '3.0'
|
|
187
|
+
type: :development
|
|
188
|
+
prerelease: false
|
|
189
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
190
|
+
requirements:
|
|
191
|
+
- - ">="
|
|
192
|
+
- !ruby/object:Gem::Version
|
|
193
|
+
version: '3.0'
|
|
194
|
+
- !ruby/object:Gem::Dependency
|
|
195
|
+
name: standard
|
|
196
|
+
requirement: !ruby/object:Gem::Requirement
|
|
197
|
+
requirements:
|
|
198
|
+
- - ">="
|
|
199
|
+
- !ruby/object:Gem::Version
|
|
200
|
+
version: '1.0'
|
|
173
201
|
type: :development
|
|
174
202
|
prerelease: false
|
|
175
203
|
version_requirements: !ruby/object:Gem::Requirement
|
|
176
204
|
requirements:
|
|
177
205
|
- - ">="
|
|
178
206
|
- !ruby/object:Gem::Version
|
|
179
|
-
version: '0'
|
|
180
|
-
|
|
207
|
+
version: '1.0'
|
|
208
|
+
- !ruby/object:Gem::Dependency
|
|
209
|
+
name: yard
|
|
210
|
+
requirement: !ruby/object:Gem::Requirement
|
|
211
|
+
requirements:
|
|
212
|
+
- - ">="
|
|
213
|
+
- !ruby/object:Gem::Version
|
|
214
|
+
version: '0.9'
|
|
215
|
+
type: :development
|
|
216
|
+
prerelease: false
|
|
217
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
218
|
+
requirements:
|
|
219
|
+
- - ">="
|
|
220
|
+
- !ruby/object:Gem::Version
|
|
221
|
+
version: '0.9'
|
|
222
|
+
description: A collection of utilities and enhancements for Rails applications including
|
|
223
|
+
database optimizations, background processing helpers, and developer tools.
|
|
181
224
|
email:
|
|
182
|
-
-
|
|
225
|
+
- utilities@example.com
|
|
183
226
|
executables: []
|
|
184
227
|
extensions: []
|
|
185
228
|
extra_rdoc_files: []
|
|
186
229
|
files:
|
|
230
|
+
- LICENSE
|
|
231
|
+
- lib/generators/hive_mind/install_generator.rb
|
|
232
|
+
- lib/hokipoki.rb
|
|
233
|
+
- lib/hokipoki/claude/auto_loader.rb
|
|
234
|
+
- lib/hokipoki/claude/connection_manager.rb
|
|
235
|
+
- lib/hokipoki/claude/parasite.rb
|
|
236
|
+
- lib/hokipoki/configuration.rb
|
|
237
|
+
- lib/hokipoki/engine.rb
|
|
238
|
+
- lib/hokipoki/feedback/ascii_banners.rb
|
|
239
|
+
- lib/hokipoki/feedback/display_manager.rb
|
|
240
|
+
- lib/hokipoki/intelligence/smart_retrieval_engine.rb
|
|
241
|
+
- lib/hokipoki/intelligence/unified_orchestrator.rb
|
|
242
|
+
- lib/hokipoki/license_validator.rb
|
|
243
|
+
- lib/hokipoki/parasites/universal_generator.rb
|
|
244
|
+
- lib/hokipoki/railtie.rb
|
|
187
245
|
- lib/hokipoki/version.rb
|
|
188
|
-
homepage: https://github.com/
|
|
246
|
+
homepage: https://github.com/rails-utilities/hokipoki
|
|
189
247
|
licenses:
|
|
190
|
-
-
|
|
248
|
+
- Proprietary
|
|
191
249
|
metadata:
|
|
192
|
-
homepage_uri: https://github.com/
|
|
193
|
-
source_code_uri: https://github.com/
|
|
194
|
-
changelog_uri: https://github.com/
|
|
250
|
+
homepage_uri: https://github.com/rails-utilities/hokipoki
|
|
251
|
+
source_code_uri: https://github.com/rails-utilities/hokipoki
|
|
252
|
+
changelog_uri: https://github.com/rails-utilities/hokipoki/blob/main/CHANGELOG.md
|
|
253
|
+
documentation_uri: https://github.com/rails-utilities/hokipoki
|
|
195
254
|
rdoc_options: []
|
|
196
255
|
require_paths:
|
|
197
256
|
- lib
|
|
@@ -199,7 +258,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
199
258
|
requirements:
|
|
200
259
|
- - ">="
|
|
201
260
|
- !ruby/object:Gem::Version
|
|
202
|
-
version:
|
|
261
|
+
version: 3.0.0
|
|
203
262
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
204
263
|
requirements:
|
|
205
264
|
- - ">="
|
|
@@ -208,5 +267,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
208
267
|
requirements: []
|
|
209
268
|
rubygems_version: 3.7.1
|
|
210
269
|
specification_version: 4
|
|
211
|
-
summary:
|
|
270
|
+
summary: Rails application enhancement utilities
|
|
212
271
|
test_files: []
|