turnkit 0.1.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 (38) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +9 -0
  3. data/LICENSE.md +21 -0
  4. data/README.md +193 -0
  5. data/lib/turnkit/adapters/ruby_llm.rb +104 -0
  6. data/lib/turnkit/agent.rb +73 -0
  7. data/lib/turnkit/budget.rb +48 -0
  8. data/lib/turnkit/client.rb +9 -0
  9. data/lib/turnkit/clock.rb +11 -0
  10. data/lib/turnkit/conversation.rb +77 -0
  11. data/lib/turnkit/error.rb +8 -0
  12. data/lib/turnkit/generators/turnkit/install/templates/conversation.rb +10 -0
  13. data/lib/turnkit/generators/turnkit/install/templates/create_turnkit_tables.rb +82 -0
  14. data/lib/turnkit/generators/turnkit/install/templates/initializer.rb +14 -0
  15. data/lib/turnkit/generators/turnkit/install/templates/message.rb +11 -0
  16. data/lib/turnkit/generators/turnkit/install/templates/tool_execution.rb +10 -0
  17. data/lib/turnkit/generators/turnkit/install/templates/turn.rb +14 -0
  18. data/lib/turnkit/generators/turnkit/install_generator.rb +44 -0
  19. data/lib/turnkit/id.rb +19 -0
  20. data/lib/turnkit/memory_store.rb +130 -0
  21. data/lib/turnkit/message.rb +67 -0
  22. data/lib/turnkit/message_projection.rb +27 -0
  23. data/lib/turnkit/rails/railtie.rb +9 -0
  24. data/lib/turnkit/record.rb +116 -0
  25. data/lib/turnkit/result.rb +19 -0
  26. data/lib/turnkit/skill.rb +23 -0
  27. data/lib/turnkit/store.rb +24 -0
  28. data/lib/turnkit/stores/active_record_store.rb +190 -0
  29. data/lib/turnkit/sub_agent_tool.rb +38 -0
  30. data/lib/turnkit/tool.rb +63 -0
  31. data/lib/turnkit/tool_call.rb +28 -0
  32. data/lib/turnkit/tool_execution.rb +28 -0
  33. data/lib/turnkit/tool_runner.rb +90 -0
  34. data/lib/turnkit/turn.rb +142 -0
  35. data/lib/turnkit/usage.rb +28 -0
  36. data/lib/turnkit/version.rb +5 -0
  37. data/lib/turnkit.rb +56 -0
  38. metadata +100 -0
metadata ADDED
@@ -0,0 +1,100 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: turnkit
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Sam Couch
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2026-06-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ruby_llm
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.14'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.14'
27
+ description: TurnKit provides a small Ruby runtime for AI agents with conversations,
28
+ turns, tool calls, terminal tools, file-based skills, sub-agents, and optional Rails
29
+ persistence.
30
+ email:
31
+ - sam@samcouch.com
32
+ executables: []
33
+ extensions: []
34
+ extra_rdoc_files: []
35
+ files:
36
+ - CHANGELOG.md
37
+ - LICENSE.md
38
+ - README.md
39
+ - lib/turnkit.rb
40
+ - lib/turnkit/adapters/ruby_llm.rb
41
+ - lib/turnkit/agent.rb
42
+ - lib/turnkit/budget.rb
43
+ - lib/turnkit/client.rb
44
+ - lib/turnkit/clock.rb
45
+ - lib/turnkit/conversation.rb
46
+ - lib/turnkit/error.rb
47
+ - lib/turnkit/generators/turnkit/install/templates/conversation.rb
48
+ - lib/turnkit/generators/turnkit/install/templates/create_turnkit_tables.rb
49
+ - lib/turnkit/generators/turnkit/install/templates/initializer.rb
50
+ - lib/turnkit/generators/turnkit/install/templates/message.rb
51
+ - lib/turnkit/generators/turnkit/install/templates/tool_execution.rb
52
+ - lib/turnkit/generators/turnkit/install/templates/turn.rb
53
+ - lib/turnkit/generators/turnkit/install_generator.rb
54
+ - lib/turnkit/id.rb
55
+ - lib/turnkit/memory_store.rb
56
+ - lib/turnkit/message.rb
57
+ - lib/turnkit/message_projection.rb
58
+ - lib/turnkit/rails/railtie.rb
59
+ - lib/turnkit/record.rb
60
+ - lib/turnkit/result.rb
61
+ - lib/turnkit/skill.rb
62
+ - lib/turnkit/store.rb
63
+ - lib/turnkit/stores/active_record_store.rb
64
+ - lib/turnkit/sub_agent_tool.rb
65
+ - lib/turnkit/tool.rb
66
+ - lib/turnkit/tool_call.rb
67
+ - lib/turnkit/tool_execution.rb
68
+ - lib/turnkit/tool_runner.rb
69
+ - lib/turnkit/turn.rb
70
+ - lib/turnkit/usage.rb
71
+ - lib/turnkit/version.rb
72
+ homepage: https://github.com/samuelcouch/turnkit
73
+ licenses:
74
+ - MIT
75
+ metadata:
76
+ homepage_uri: https://github.com/samuelcouch/turnkit#readme
77
+ source_code_uri: https://github.com/samuelcouch/turnkit
78
+ changelog_uri: https://github.com/samuelcouch/turnkit/blob/master/CHANGELOG.md
79
+ allowed_push_host: https://rubygems.org
80
+ rubygems_mfa_required: 'true'
81
+ post_install_message:
82
+ rdoc_options: []
83
+ require_paths:
84
+ - lib
85
+ required_ruby_version: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '3.1'
90
+ required_rubygems_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ requirements: []
96
+ rubygems_version: 3.5.22
97
+ signing_key:
98
+ specification_version: 4
99
+ summary: Durable Ruby AI agent turns, tools, skills, and conversations.
100
+ test_files: []