insika 0.3.0 → 0.7.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 (190) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +180 -0
  3. data/README.md +45 -10
  4. data/bin/insika +684 -0
  5. data/bin/insika-router +87 -0
  6. data/docs/AGENTS.md +94 -403
  7. data/docs/API.md +5 -5
  8. data/docs/ARCHITECTURE.md +3 -2
  9. data/docs/ARTIFACTS.md +95 -0
  10. data/docs/BENCHMARK.md +2 -2
  11. data/docs/CHANNELS.md +14 -14
  12. data/docs/CONTEXT.md +9 -7
  13. data/docs/DEMO.md +80 -0
  14. data/docs/DEPLOY.md +71 -3
  15. data/docs/EMBEDDING.md +1 -1
  16. data/docs/EVALS.md +128 -3
  17. data/docs/FACTS.md +3 -3
  18. data/docs/HARVEST.md +5 -6
  19. data/docs/KNOWLEDGE.md +290 -0
  20. data/docs/LOADTEST.md +2 -2
  21. data/docs/MEDIA.md +128 -0
  22. data/docs/OBSERVABILITY.md +15 -10
  23. data/docs/OUTCOMES.md +137 -0
  24. data/docs/PLUGINS.md +51 -6
  25. data/docs/POLICY.md +216 -0
  26. data/docs/REFINEMENT.md +14 -9
  27. data/docs/RELEASING.md +4 -4
  28. data/docs/ROUTER.md +213 -0
  29. data/docs/RUNNING-LOCAL.md +3 -3
  30. data/docs/SCHEDULING.md +121 -0
  31. data/docs/SECURITY.md +22 -6
  32. data/docs/SKILLS.md +11 -2
  33. data/docs/SOAK.md +2 -2
  34. data/docs/TEMPLATES.md +134 -0
  35. data/docs/TOOLS.md +152 -27
  36. data/docs/WHY.md +1 -1
  37. data/docs/WORKFLOWS.md +2 -2
  38. data/docs/_includes/head_custom.html +5 -0
  39. data/docs/_includes/title.html +13 -0
  40. data/docs/_sass/color_schemes/insika.scss +32 -0
  41. data/docs/_sass/custom/custom.scss +199 -0
  42. data/docs/_sass/custom/setup.scss +26 -0
  43. data/docs/assets/img/favicon.svg +7 -0
  44. data/docs/assets/img/insika-mark.svg +7 -0
  45. data/docs/core-concepts.md +21 -0
  46. data/docs/domain.md +4 -4
  47. data/docs/improve.md +20 -0
  48. data/docs/index.md +8 -5
  49. data/docs/integrate.md +20 -0
  50. data/docs/operate.md +13 -6
  51. data/docs/prompts/ADD-TOOL.md +118 -0
  52. data/docs/prompts/DIAGNOSE-TURN.md +65 -0
  53. data/docs/prompts/GO-LIVE.md +138 -0
  54. data/docs/prompts/RUN-EXAMPLES.md +70 -0
  55. data/docs/reference.md +19 -0
  56. data/docs/ship.md +10 -2
  57. data/docs/start-here.md +18 -0
  58. data/lib/insika/agent_profile.rb +73 -16
  59. data/lib/insika/artifact_signing.rb +82 -0
  60. data/lib/insika/artifact_store.rb +160 -0
  61. data/lib/insika/channel_delivery.rb +1 -1
  62. data/lib/insika/chat_builder.rb +22 -2
  63. data/lib/insika/commands/agent_payload.rb +2 -2
  64. data/lib/insika/commands/backfill_knowledge.rb +145 -0
  65. data/lib/insika/commands/delete_artifact.rb +35 -0
  66. data/lib/insika/commands/delete_concept.rb +34 -0
  67. data/lib/insika/commands/delete_mcp.rb +6 -2
  68. data/lib/insika/commands/delete_tenant_data.rb +15 -3
  69. data/lib/insika/commands/gate_refinement.rb +1 -1
  70. data/lib/insika/commands/refresh_mcp_tools.rb +47 -0
  71. data/lib/insika/commands/restore_concept.rb +34 -0
  72. data/lib/insika/commands/seed_demo_data.rb +31 -0
  73. data/lib/insika/commands/upsert_mcp.rb +6 -3
  74. data/lib/insika/commands/write_concept.rb +57 -0
  75. data/lib/insika/context/priority.rb +2 -0
  76. data/lib/insika/context/providers/knowledge.rb +108 -0
  77. data/lib/insika/context/providers/prompt.rb +30 -24
  78. data/lib/insika/cron.rb +189 -0
  79. data/lib/insika/demo/agent_attrs.rb +43 -0
  80. data/lib/insika/demo/golden_cases.rb +81 -0
  81. data/lib/insika/demo/seeder.rb +336 -0
  82. data/lib/insika/doctor.rb +176 -8
  83. data/lib/insika/dsl/definition.rb +3 -2
  84. data/lib/insika/dsl/runtime.rb +60 -79
  85. data/lib/insika/dsl/server_boot.rb +23 -1
  86. data/lib/insika/dsl/system.rb +10 -2
  87. data/lib/insika/dsl.rb +103 -2
  88. data/lib/insika/env_schema.rb +16 -1
  89. data/lib/insika/evals/golden.rb +41 -4
  90. data/lib/insika/evals/judge.rb +47 -2
  91. data/lib/insika/evals/pairwise.rb +11 -0
  92. data/lib/insika/evals/persona.rb +98 -0
  93. data/lib/insika/evals/runner.rb +9 -0
  94. data/lib/insika/evals/simulator.rb +225 -0
  95. data/lib/insika/evals/transport.rb +83 -1
  96. data/lib/insika/event_stream.rb +10 -0
  97. data/lib/insika/executor.rb +231 -55
  98. data/lib/insika/followup_policy.rb +2 -25
  99. data/lib/insika/golden_store.rb +16 -1
  100. data/lib/insika/grounding/matcher.rb +1 -1
  101. data/lib/insika/knowledge.rb +680 -0
  102. data/lib/insika/knowledge_store.rb +140 -0
  103. data/lib/insika/mcp_client.rb +94 -0
  104. data/lib/insika/mcp_json.rb +74 -0
  105. data/lib/insika/mcp_live_tool.rb +43 -0
  106. data/lib/insika/mcp_store.rb +98 -26
  107. data/lib/insika/mcp_tool_ingestor.rb +30 -8
  108. data/lib/insika/mcp_tool_registry.rb +100 -0
  109. data/lib/insika/media.rb +115 -31
  110. data/lib/insika/message_origin.rb +1 -1
  111. data/lib/insika/middleware.rb +9 -0
  112. data/lib/insika/onboarding.rb +17 -1
  113. data/lib/insika/outcome_store.rb +1 -1
  114. data/lib/insika/overlay_tool_registry.rb +37 -17
  115. data/lib/insika/packaging.rb +2 -2
  116. data/lib/insika/profile_source.rb +8 -1
  117. data/lib/insika/prompt_catalog.rb +10 -0
  118. data/lib/insika/retention.rb +36 -1
  119. data/lib/insika/router/app.rb +157 -0
  120. data/lib/insika/router/backend_pool.rb +98 -0
  121. data/lib/insika/router/hash_ring.rb +55 -0
  122. data/lib/insika/router/proxy_body.rb +34 -0
  123. data/lib/insika/router/session_key.rb +54 -0
  124. data/lib/insika/router.rb +18 -0
  125. data/lib/insika/schedule.rb +177 -0
  126. data/lib/insika/schedule_engine.rb +314 -0
  127. data/lib/insika/schedule_store.rb +208 -0
  128. data/lib/insika/server/app.rb +105 -15
  129. data/lib/insika/server/rack_app.rb +5 -1
  130. data/lib/insika/server/responses.rb +1 -1
  131. data/lib/insika/skill_catalog.rb +12 -0
  132. data/lib/insika/steer_injector.rb +21 -10
  133. data/lib/insika/studio/app.rb +567 -45
  134. data/lib/insika/studio/assets/dist/application.css +1 -1
  135. data/lib/insika/studio/assets/dist/application.js +21 -21
  136. data/lib/insika/studio/forms.rb +46 -5
  137. data/lib/insika/studio/nav_icons.rb +14 -1
  138. data/lib/insika/studio/views/_agent_tab_cache.erb +25 -0
  139. data/lib/insika/studio/views/_agent_tab_config.erb +514 -0
  140. data/lib/insika/studio/views/_agent_tab_history.erb +24 -0
  141. data/lib/insika/studio/views/_agent_tab_loops.erb +54 -0
  142. data/lib/insika/studio/views/_agent_tab_memory.erb +51 -0
  143. data/lib/insika/studio/views/_agent_tab_outcomes.erb +31 -0
  144. data/lib/insika/studio/views/_agent_tab_prompts.erb +108 -0
  145. data/lib/insika/studio/views/_agent_tab_skills.erb +38 -0
  146. data/lib/insika/studio/views/_agents_master.erb +44 -0
  147. data/lib/insika/studio/views/_message.erb +49 -32
  148. data/lib/insika/studio/views/agent_detail.erb +61 -820
  149. data/lib/insika/studio/views/agents.erb +70 -57
  150. data/lib/insika/studio/views/artifact.erb +23 -0
  151. data/lib/insika/studio/views/artifacts.erb +59 -0
  152. data/lib/insika/studio/views/evals.erb +2 -2
  153. data/lib/insika/studio/views/facts.erb +1 -1
  154. data/lib/insika/studio/views/funnel.erb +1 -1
  155. data/lib/insika/studio/views/home.erb +106 -67
  156. data/lib/insika/studio/views/knowledge.erb +123 -0
  157. data/lib/insika/studio/views/layout.erb +14 -11
  158. data/lib/insika/studio/views/mcp.erb +174 -80
  159. data/lib/insika/studio/views/session.erb +231 -177
  160. data/lib/insika/studio/views/settings.erb +39 -1
  161. data/lib/insika/studio/views/skills.erb +1 -1
  162. data/lib/insika/studio/views/tools.erb +24 -9
  163. data/lib/insika/templates/browser-agent/README.md +36 -0
  164. data/lib/insika/templates/browser-agent/agent.rb +49 -0
  165. data/lib/insika/templates/daily-digest/README.md +38 -0
  166. data/lib/insika/templates/daily-digest/agent.rb +77 -0
  167. data/lib/insika/templates/repo-explorer/README.md +36 -0
  168. data/lib/insika/templates/repo-explorer/agent.rb +45 -0
  169. data/lib/insika/templates/research-analyst/README.md +26 -0
  170. data/lib/insika/templates/research-analyst/agent.rb +58 -0
  171. data/lib/insika/templates/review-panel/README.md +20 -0
  172. data/lib/insika/templates/review-panel/agent.rb +50 -0
  173. data/lib/insika/templates/travel-planner/README.md +35 -0
  174. data/lib/insika/templates/travel-planner/agent.rb +87 -0
  175. data/lib/insika/templates.rb +112 -0
  176. data/lib/insika/tick.rb +24 -12
  177. data/lib/insika/timezone.rb +45 -0
  178. data/lib/insika/tools/generate_image.rb +52 -7
  179. data/lib/insika/tools/load_knowledge.rb +74 -0
  180. data/lib/insika/tools/run_persona_eval.rb +328 -0
  181. data/lib/insika/tools/save_artifact.rb +95 -0
  182. data/lib/insika/turn_output.rb +1 -1
  183. data/lib/insika/turn_state.rb +15 -4
  184. data/lib/insika/version.rb +1 -1
  185. data/lib/insika/wiring/graph.rb +184 -12
  186. data/lib/insika/wiring/graph_chat.rb +102 -0
  187. data/lib/insika.rb +57 -0
  188. metadata +105 -5
  189. data/docs/build.md +0 -14
  190. data/docs/understand.md +0 -10
data/lib/insika.rb CHANGED
@@ -1,5 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # Templates under lib/insika/templates/*/agent.rb open with a bare
4
+ # `require "insika"` (the line a standalone `ruby agent.rb` run needs) and
5
+ # Templates.evaluate instance_evals that same source in-process — so this
6
+ # file's own directory must be on $LOAD_PATH, or that require raises
7
+ # LoadError whenever nothing else already activated the "insika" gem
8
+ # (no Bundler.setup, no globally installed gem).
9
+ $LOAD_PATH.unshift(__dir__) unless $LOAD_PATH.include?(__dir__)
10
+
3
11
  require_relative "insika/version"
4
12
  require_relative "insika/errors"
5
13
  # the payload selection + the domain-boundary audit yardstick.
@@ -27,6 +35,20 @@ require_relative "insika/contact_store"
27
35
  require_relative "insika/followup_store"
28
36
  # the tick-driven firer — rides the same tick as retention/funnel.
29
37
  require_relative "insika/followup_engine"
38
+ # IANA zone resolution through the OS tz database — the stdlib-only route
39
+ # to a zone NAME (Follow-up quiet hours, the cron scheduler, the doctor).
40
+ require_relative "insika/timezone"
41
+ # the recurring schedule: the five-field cron subset + next-fire
42
+ # materialization, the declaration parse, the per-agent rows, and the
43
+ # tick-driven firer (the recurring half of the tick).
44
+ require_relative "insika/cron"
45
+ require_relative "insika/schedule"
46
+ require_relative "insika/schedule_store"
47
+ require_relative "insika/schedule_engine"
48
+ # the report destination — one record per run, no
49
+ # versioning; the signing half of the sharing link (HMAC, no secret stored).
50
+ require_relative "insika/artifact_store"
51
+ require_relative "insika/artifact_signing"
30
52
  require_relative "insika/commands/freeze_funnel_baseline"
31
53
  require_relative "insika/channels/webhook"
32
54
  require_relative "insika/coercion"
@@ -81,6 +103,7 @@ require_relative "insika/context/providers/skill"
81
103
  require_relative "insika/context/providers/skill_trigger"
82
104
  require_relative "insika/context/providers/tool_search"
83
105
  require_relative "insika/context/providers/memory"
106
+ require_relative "insika/context/providers/knowledge"
84
107
  require_relative "insika/context/providers/session"
85
108
  require_relative "insika/context/providers/briefing"
86
109
  # the cache-prefix hash chain + the per-agent cache-hit series.
@@ -112,6 +135,7 @@ require_relative "insika/outbox_store"
112
135
  require_relative "insika/shadow_pair_store"
113
136
  require_relative "insika/inbound_log"
114
137
  require_relative "insika/memory_store"
138
+ require_relative "insika/knowledge_store"
115
139
  # the operator-mutation audit trail. After memory_store (no
116
140
  # mutual deps). Pure stdlib — `load_guard_spec` stays green.
117
141
  require_relative "insika/memory_audit_store"
@@ -172,6 +196,10 @@ require_relative "insika/evals/runner"
172
196
  require_relative "insika/evals/report"
173
197
  require_relative "insika/evals/baseline"
174
198
  require_relative "insika/evals/transport"
199
+ # simulated users: the persona data + the conversation driver.
200
+ # Pure — the persona model is an injected ask, the target rides the Transport.
201
+ require_relative "insika/evals/persona"
202
+ require_relative "insika/evals/simulator"
175
203
  # shadow parity: the frozen criterion and the mechanical
176
204
  # fold over the pair store (C6). Pure — no store, no provider gem.
177
205
  require_relative "insika/parity/criterion"
@@ -189,6 +217,14 @@ require_relative "insika/refinement/panel"
189
217
  require_relative "insika/mcp_store"
190
218
  require_relative "insika/mcp_http_client"
191
219
  require_relative "insika/mcp_tool_ingestor"
220
+ # require "ruby_llm/mcp" itself is LAZY, inside .for — this require_relative only
221
+ # loads the thin factory (see spec/insika/load_guard_spec.rb).
222
+ require_relative "insika/mcp_client"
223
+ # insika/mcp_live_tool (< RubyLLM::Tool) is NOT required here — McpToolRegistry
224
+ # require_relative's it lazily on the 1st instance (turn time), same as
225
+ # OverlayToolRegistry does for tools/data_defined_tool.
226
+ require_relative "insika/mcp_tool_registry"
227
+ require_relative "insika/mcp_json"
192
228
  require_relative "insika/system_file_store"
193
229
  require_relative "insika/recovery"
194
230
  require_relative "insika/command_bus"
@@ -236,6 +272,9 @@ require_relative "insika/commands/export_customer_memory"
236
272
  # record; revoke a contact + fall its pending records atomically).
237
273
  require_relative "insika/commands/cancel_followup"
238
274
  require_relative "insika/commands/revoke_contact"
275
+ # the report destination's Studio mutation — delete one artifact
276
+ # (a bus command, like every Studio mutation).
277
+ require_relative "insika/commands/delete_artifact"
239
278
  # session distillation — the distiller (pure, injected ask)
240
279
  # and the proposal store (proposals + the latched dedup ledger + the
241
280
  # per-session distilled marker).
@@ -259,6 +298,15 @@ require_relative "insika/commands/promote_harvest"
259
298
  require_relative "insika/commands/rollback_harvest"
260
299
  require_relative "insika/commands/reject_harvest"
261
300
  require_relative "insika/harvest_engine"
301
+ # post-turn learning — the extractor (pure, injected ask) and the
302
+ # concept format itself (markdown + YAML frontmatter, the SkillCatalog
303
+ # split). The provider touch stays inside ExtractorFactory's lazy ask
304
+ # (load_guard stays green).
305
+ require_relative "insika/knowledge"
306
+ require_relative "insika/commands/backfill_knowledge"
307
+ require_relative "insika/commands/write_concept"
308
+ require_relative "insika/commands/delete_concept"
309
+ require_relative "insika/commands/restore_concept"
262
310
  require_relative "insika/commands/upsert_mcp"
263
311
  require_relative "insika/commands/delete_mcp"
264
312
  require_relative "insika/commands/write_system_file"
@@ -269,6 +317,14 @@ require_relative "insika/commands/delete_data_tool"
269
317
  require_relative "insika/commands/restore_data_tool"
270
318
  require_relative "insika/commands/import_tools"
271
319
  require_relative "insika/commands/import_mcp_tools"
320
+ require_relative "insika/commands/refresh_mcp_tools"
321
+ # the demo seed (OSS onboarding): one bundled agent + golden
322
+ # set + the Seeder that populates every loop's stores at once, and its bus
323
+ # adapter for `insika demo:seed` and the Studio's "Seed demo data" button.
324
+ require_relative "insika/demo/agent_attrs"
325
+ require_relative "insika/demo/golden_cases"
326
+ require_relative "insika/demo/seeder"
327
+ require_relative "insika/commands/seed_demo_data"
272
328
  require_relative "insika/event_stream"
273
329
  require_relative "insika/task_actor"
274
330
  require_relative "insika/queue_policy"
@@ -290,6 +346,7 @@ require_relative "insika/shutdown"
290
346
  require_relative "insika/tick"
291
347
  require_relative "insika/pack"
292
348
  require_relative "insika/pack_importer"
349
+ require_relative "insika/templates"
293
350
  require_relative "insika/telemetry"
294
351
  # Strict config + diagnosis. Doctor reads the config stores above;
295
352
  # EnvSchema (required at the top) is its env layer.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: insika
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guilherme Lages Santos
@@ -37,6 +37,20 @@ dependencies:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  version: '1.15'
40
+ - !ruby/object:Gem::Dependency
41
+ name: ruby_llm-mcp
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1.0'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.0'
40
54
  - !ruby/object:Gem::Dependency
41
55
  name: falcon
42
56
  requirement: !ruby/object:Gem::Requirement
@@ -143,6 +157,7 @@ email:
143
157
  - guilherme@devconnit.com
144
158
  executables:
145
159
  - insika
160
+ - insika-router
146
161
  extensions: []
147
162
  extra_rdoc_files: []
148
163
  files:
@@ -150,42 +165,68 @@ files:
150
165
  - LICENSE
151
166
  - README.md
152
167
  - bin/insika
168
+ - bin/insika-router
153
169
  - docs/AGENTS.md
154
170
  - docs/API.md
155
171
  - docs/ARCHITECTURE.md
172
+ - docs/ARTIFACTS.md
156
173
  - docs/BENCHMARK.md
157
174
  - docs/CHANNELS.md
158
175
  - docs/CONTEXT.md
176
+ - docs/DEMO.md
159
177
  - docs/DEPLOY.md
160
178
  - docs/EMBEDDING.md
161
179
  - docs/EVALS.md
162
180
  - docs/FACTS.md
163
181
  - docs/HARVEST.md
182
+ - docs/KNOWLEDGE.md
164
183
  - docs/LOADTEST.md
184
+ - docs/MEDIA.md
165
185
  - docs/OBSERVABILITY.md
186
+ - docs/OUTCOMES.md
166
187
  - docs/PLUGINS.md
188
+ - docs/POLICY.md
167
189
  - docs/REFINEMENT.md
168
190
  - docs/RELEASING.md
191
+ - docs/ROUTER.md
169
192
  - docs/RUNNING-LOCAL.md
170
193
  - docs/SANDBOX.md
194
+ - docs/SCHEDULING.md
171
195
  - docs/SECURITY.md
172
196
  - docs/SKILLS.md
173
197
  - docs/SOAK.md
198
+ - docs/TEMPLATES.md
174
199
  - docs/TOOLS.md
175
200
  - docs/WHY.md
176
201
  - docs/WORKFLOWS.md
177
- - docs/build.md
202
+ - docs/_includes/head_custom.html
203
+ - docs/_includes/title.html
204
+ - docs/_sass/color_schemes/insika.scss
205
+ - docs/_sass/custom/custom.scss
206
+ - docs/_sass/custom/setup.scss
207
+ - docs/assets/img/favicon.svg
208
+ - docs/assets/img/insika-mark.svg
209
+ - docs/core-concepts.md
178
210
  - docs/domain.md
211
+ - docs/improve.md
179
212
  - docs/index.md
213
+ - docs/integrate.md
180
214
  - docs/onboarding/start.md
181
215
  - docs/operate.md
216
+ - docs/prompts/ADD-TOOL.md
217
+ - docs/prompts/DIAGNOSE-TURN.md
218
+ - docs/prompts/GO-LIVE.md
219
+ - docs/prompts/RUN-EXAMPLES.md
220
+ - docs/reference.md
182
221
  - docs/ship.md
183
- - docs/understand.md
222
+ - docs/start-here.md
184
223
  - lib/insika.rb
185
224
  - lib/insika/agent_file_store.rb
186
225
  - lib/insika/agent_profile.rb
187
226
  - lib/insika/alert_dispatcher.rb
188
227
  - lib/insika/allowlist.rb
228
+ - lib/insika/artifact_signing.rb
229
+ - lib/insika/artifact_store.rb
189
230
  - lib/insika/balloon_splitter.rb
190
231
  - lib/insika/baseline_store.rb
191
232
  - lib/insika/budget_ledger.rb
@@ -207,12 +248,15 @@ files:
207
248
  - lib/insika/command_bus.rb
208
249
  - lib/insika/commands/agent_payload.rb
209
250
  - lib/insika/commands/approve_action.rb
251
+ - lib/insika/commands/backfill_knowledge.rb
210
252
  - lib/insika/commands/cancel_followup.rb
211
253
  - lib/insika/commands/cancel_task.rb
212
254
  - lib/insika/commands/create_agent.rb
213
255
  - lib/insika/commands/create_session.rb
214
256
  - lib/insika/commands/delete_agent.rb
215
257
  - lib/insika/commands/delete_agent_file.rb
258
+ - lib/insika/commands/delete_artifact.rb
259
+ - lib/insika/commands/delete_concept.rb
216
260
  - lib/insika/commands/delete_data_tool.rb
217
261
  - lib/insika/commands/delete_llm_provider.rb
218
262
  - lib/insika/commands/delete_mcp.rb
@@ -235,10 +279,12 @@ files:
235
279
  - lib/insika/commands/promote_harvest.rb
236
280
  - lib/insika/commands/record_outcome.rb
237
281
  - lib/insika/commands/record_shadow_reply.rb
282
+ - lib/insika/commands/refresh_mcp_tools.rb
238
283
  - lib/insika/commands/reject_harvest.rb
239
284
  - lib/insika/commands/resolve_proposal.rb
240
285
  - lib/insika/commands/resolve_refinement.rb
241
286
  - lib/insika/commands/restore_agent_file.rb
287
+ - lib/insika/commands/restore_concept.rb
242
288
  - lib/insika/commands/restore_data_tool.rb
243
289
  - lib/insika/commands/restore_system_file.rb
244
290
  - lib/insika/commands/resume_task.rb
@@ -249,6 +295,7 @@ files:
249
295
  - lib/insika/commands/run_distillation.rb
250
296
  - lib/insika/commands/run_harvest.rb
251
297
  - lib/insika/commands/run_refinement.rb
298
+ - lib/insika/commands/seed_demo_data.rb
252
299
  - lib/insika/commands/send_message.rb
253
300
  - lib/insika/commands/session_purge.rb
254
301
  - lib/insika/commands/set_agent_tools.rb
@@ -259,6 +306,7 @@ files:
259
306
  - lib/insika/commands/upsert_llm_provider.rb
260
307
  - lib/insika/commands/upsert_mcp.rb
261
308
  - lib/insika/commands/write_agent_file.rb
309
+ - lib/insika/commands/write_concept.rb
262
310
  - lib/insika/commands/write_data_tool.rb
263
311
  - lib/insika/commands/write_golden.rb
264
312
  - lib/insika/commands/write_skill.rb
@@ -271,6 +319,7 @@ files:
271
319
  - lib/insika/context/priority.rb
272
320
  - lib/insika/context/provider.rb
273
321
  - lib/insika/context/providers/briefing.rb
322
+ - lib/insika/context/providers/knowledge.rb
274
323
  - lib/insika/context/providers/memory.rb
275
324
  - lib/insika/context/providers/prompt.rb
276
325
  - lib/insika/context/providers/request.rb
@@ -279,7 +328,11 @@ files:
279
328
  - lib/insika/context/providers/skill_trigger.rb
280
329
  - lib/insika/context/providers/tool_search.rb
281
330
  - lib/insika/context_trace_store.rb
331
+ - lib/insika/cron.rb
282
332
  - lib/insika/delegation_store.rb
333
+ - lib/insika/demo/agent_attrs.rb
334
+ - lib/insika/demo/golden_cases.rb
335
+ - lib/insika/demo/seeder.rb
283
336
  - lib/insika/distill.rb
284
337
  - lib/insika/distill_engine.rb
285
338
  - lib/insika/doctor.rb
@@ -298,8 +351,10 @@ files:
298
351
  - lib/insika/evals/golden.rb
299
352
  - lib/insika/evals/judge.rb
300
353
  - lib/insika/evals/pairwise.rb
354
+ - lib/insika/evals/persona.rb
301
355
  - lib/insika/evals/report.rb
302
356
  - lib/insika/evals/runner.rb
357
+ - lib/insika/evals/simulator.rb
303
358
  - lib/insika/evals/transport.rb
304
359
  - lib/insika/event.rb
305
360
  - lib/insika/event_stream.rb
@@ -325,12 +380,18 @@ files:
325
380
  - lib/insika/hooks.rb
326
381
  - lib/insika/http_client.rb
327
382
  - lib/insika/inbound_log.rb
383
+ - lib/insika/knowledge.rb
384
+ - lib/insika/knowledge_store.rb
328
385
  - lib/insika/llm_configurator.rb
329
386
  - lib/insika/llm_provider_store.rb
330
387
  - lib/insika/loop_detector.rb
388
+ - lib/insika/mcp_client.rb
331
389
  - lib/insika/mcp_http_client.rb
390
+ - lib/insika/mcp_json.rb
391
+ - lib/insika/mcp_live_tool.rb
332
392
  - lib/insika/mcp_store.rb
333
393
  - lib/insika/mcp_tool_ingestor.rb
394
+ - lib/insika/mcp_tool_registry.rb
334
395
  - lib/insika/media.rb
335
396
  - lib/insika/memory_audit_store.rb
336
397
  - lib/insika/memory_store.rb
@@ -372,6 +433,12 @@ files:
372
433
  - lib/insika/registry.rb
373
434
  - lib/insika/reliability.rb
374
435
  - lib/insika/retention.rb
436
+ - lib/insika/router.rb
437
+ - lib/insika/router/app.rb
438
+ - lib/insika/router/backend_pool.rb
439
+ - lib/insika/router/hash_ring.rb
440
+ - lib/insika/router/proxy_body.rb
441
+ - lib/insika/router/session_key.rb
375
442
  - lib/insika/routing.rb
376
443
  - lib/insika/safety/config.rb
377
444
  - lib/insika/safety/corpus.rb
@@ -389,6 +456,9 @@ files:
389
456
  - lib/insika/sandbox/docker.rb
390
457
  - lib/insika/sandbox/local.rb
391
458
  - lib/insika/sandbox/runner.rb
459
+ - lib/insika/schedule.rb
460
+ - lib/insika/schedule_engine.rb
461
+ - lib/insika/schedule_store.rb
392
462
  - lib/insika/schema_guard.rb
393
463
  - lib/insika/secret_masking.rb
394
464
  - lib/insika/server/a2a/agent_card.rb
@@ -426,10 +496,21 @@ files:
426
496
  - lib/insika/studio/assets/dist/favicon.svg
427
497
  - lib/insika/studio/forms.rb
428
498
  - lib/insika/studio/nav_icons.rb
499
+ - lib/insika/studio/views/_agent_tab_cache.erb
500
+ - lib/insika/studio/views/_agent_tab_config.erb
501
+ - lib/insika/studio/views/_agent_tab_history.erb
502
+ - lib/insika/studio/views/_agent_tab_loops.erb
503
+ - lib/insika/studio/views/_agent_tab_memory.erb
504
+ - lib/insika/studio/views/_agent_tab_outcomes.erb
505
+ - lib/insika/studio/views/_agent_tab_prompts.erb
506
+ - lib/insika/studio/views/_agent_tab_skills.erb
507
+ - lib/insika/studio/views/_agents_master.erb
429
508
  - lib/insika/studio/views/_message.erb
430
509
  - lib/insika/studio/views/agent_detail.erb
431
510
  - lib/insika/studio/views/agents.erb
432
511
  - lib/insika/studio/views/approvals.erb
512
+ - lib/insika/studio/views/artifact.erb
513
+ - lib/insika/studio/views/artifacts.erb
433
514
  - lib/insika/studio/views/chats.erb
434
515
  - lib/insika/studio/views/customer.erb
435
516
  - lib/insika/studio/views/customers.erb
@@ -439,6 +520,7 @@ files:
439
520
  - lib/insika/studio/views/funnel.erb
440
521
  - lib/insika/studio/views/harvest.erb
441
522
  - lib/insika/studio/views/home.erb
523
+ - lib/insika/studio/views/knowledge.erb
442
524
  - lib/insika/studio/views/layout.erb
443
525
  - lib/insika/studio/views/login.erb
444
526
  - lib/insika/studio/views/mcp.erb
@@ -461,8 +543,22 @@ files:
461
543
  - lib/insika/telemetry.rb
462
544
  - lib/insika/telemetry/pricing.rb
463
545
  - lib/insika/telemetry/recorder.rb
546
+ - lib/insika/templates.rb
547
+ - lib/insika/templates/browser-agent/README.md
548
+ - lib/insika/templates/browser-agent/agent.rb
549
+ - lib/insika/templates/daily-digest/README.md
550
+ - lib/insika/templates/daily-digest/agent.rb
551
+ - lib/insika/templates/repo-explorer/README.md
552
+ - lib/insika/templates/repo-explorer/agent.rb
553
+ - lib/insika/templates/research-analyst/README.md
554
+ - lib/insika/templates/research-analyst/agent.rb
555
+ - lib/insika/templates/review-panel/README.md
556
+ - lib/insika/templates/review-panel/agent.rb
557
+ - lib/insika/templates/travel-planner/README.md
558
+ - lib/insika/templates/travel-planner/agent.rb
464
559
  - lib/insika/testing/store_contract.rb
465
560
  - lib/insika/tick.rb
561
+ - lib/insika/timezone.rb
466
562
  - lib/insika/token_estimator.rb
467
563
  - lib/insika/token_store.rb
468
564
  - lib/insika/tool_assembly.rb
@@ -479,8 +575,11 @@ files:
479
575
  - lib/insika/tools/concurrency.rb
480
576
  - lib/insika/tools/data_defined_tool.rb
481
577
  - lib/insika/tools/generate_image.rb
578
+ - lib/insika/tools/load_knowledge.rb
482
579
  - lib/insika/tools/load_skill.rb
483
580
  - lib/insika/tools/remember.rb
581
+ - lib/insika/tools/run_persona_eval.rb
582
+ - lib/insika/tools/save_artifact.rb
484
583
  - lib/insika/tools/schedule_followup.rb
485
584
  - lib/insika/tools/stuck_signal.rb
486
585
  - lib/insika/tools/subagent.rb
@@ -495,16 +594,17 @@ files:
495
594
  - lib/insika/version.rb
496
595
  - lib/insika/vitals.rb
497
596
  - lib/insika/wiring/graph.rb
597
+ - lib/insika/wiring/graph_chat.rb
498
598
  - lib/insika/workflow.rb
499
599
  - lib/insika/workflow_registry.rb
500
600
  homepage: https://github.com/guizaols/insika
501
601
  licenses:
502
602
  - MIT
503
603
  metadata:
504
- homepage_uri: https://github.com/guizaols/insika
604
+ homepage_uri: https://guizaols.github.io/insika/
505
605
  source_code_uri: https://github.com/guizaols/insika
506
606
  changelog_uri: https://github.com/guizaols/insika/blob/main/CHANGELOG.md
507
- documentation_uri: https://guizaols.github.io/insika/
607
+ documentation_uri: https://guizaols.github.io/insika/start-here/
508
608
  rubygems_mfa_required: 'true'
509
609
  rdoc_options: []
510
610
  require_paths:
data/docs/build.md DELETED
@@ -1,14 +0,0 @@
1
- ---
2
- title: Build an agent
3
- nav_order: 3
4
- has_children: true
5
- permalink: /build/
6
- ---
7
-
8
- # Build an agent
9
-
10
- An agent is data: a profile, its tools, its skills, and what fills its prompt. Start
11
- with [Agents](AGENTS.md), then add capability one doc at a time — and when config is not
12
- enough, [Plugins](PLUGINS.md) covers the two ways to extend the engine itself. Every one of these has a
13
- runnable counterpart under
14
- [`examples/`](https://github.com/guizaols/insika/tree/main/examples/).
data/docs/understand.md DELETED
@@ -1,10 +0,0 @@
1
- ---
2
- title: Understand the idea
3
- nav_order: 2
4
- has_children: true
5
- permalink: /understand/
6
- ---
7
-
8
- # Understand the idea
9
-
10
- What Insika is for, what it replaces, and how a turn actually runs end to end.