mistri 0.4.1 → 0.6.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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +596 -3
  3. data/CONTRIBUTING.md +52 -0
  4. data/README.md +291 -306
  5. data/SECURITY.md +40 -0
  6. data/UPGRADING.md +640 -0
  7. data/assets/logo-animated.svg +30 -0
  8. data/assets/logo-dark.svg +14 -0
  9. data/assets/logo-light.svg +14 -0
  10. data/assets/logo.svg +14 -0
  11. data/assets/social-preview.png +0 -0
  12. data/docs/README.md +87 -0
  13. data/docs/context-and-workspaces.md +378 -0
  14. data/docs/mcp.md +366 -0
  15. data/docs/reliability.md +450 -0
  16. data/docs/sessions.md +295 -0
  17. data/docs/sub-agents.md +401 -0
  18. data/docs/tool-contracts.md +324 -0
  19. data/examples/approval.rb +36 -0
  20. data/examples/browser.rb +27 -0
  21. data/examples/page_editor.rb +31 -0
  22. data/examples/quickstart.rb +21 -0
  23. data/lib/generators/mistri/install/install_generator.rb +7 -3
  24. data/lib/generators/mistri/install/templates/migration.rb.tt +2 -2
  25. data/lib/generators/mistri/mcp/templates/migration.rb.tt +1 -1
  26. data/lib/generators/mistri/mcp/templates/model.rb.tt +15 -8
  27. data/lib/mistri/abort_signal.rb +10 -0
  28. data/lib/mistri/agent.rb +635 -108
  29. data/lib/mistri/budget.rb +26 -1
  30. data/lib/mistri/child.rb +186 -0
  31. data/lib/mistri/compaction.rb +26 -10
  32. data/lib/mistri/compactor.rb +35 -12
  33. data/lib/mistri/console.rb +209 -0
  34. data/lib/mistri/content.rb +9 -3
  35. data/lib/mistri/dispatchers.rb +49 -0
  36. data/lib/mistri/errors.rb +83 -4
  37. data/lib/mistri/event.rb +30 -8
  38. data/lib/mistri/event_delivery.rb +60 -0
  39. data/lib/mistri/locks/rails_cache.rb +48 -0
  40. data/lib/mistri/locks.rb +141 -0
  41. data/lib/mistri/mcp/client.rb +74 -19
  42. data/lib/mistri/mcp/egress.rb +216 -0
  43. data/lib/mistri/mcp/oauth.rb +476 -127
  44. data/lib/mistri/mcp/wires.rb +115 -23
  45. data/lib/mistri/mcp.rb +43 -9
  46. data/lib/mistri/message.rb +21 -11
  47. data/lib/mistri/models.rb +160 -22
  48. data/lib/mistri/providers/anthropic/assembler.rb +282 -44
  49. data/lib/mistri/providers/anthropic/serializer.rb +14 -9
  50. data/lib/mistri/providers/anthropic.rb +29 -6
  51. data/lib/mistri/providers/fake.rb +36 -6
  52. data/lib/mistri/providers/gemini/assembler.rb +148 -21
  53. data/lib/mistri/providers/gemini/serializer.rb +78 -9
  54. data/lib/mistri/providers/gemini.rb +31 -5
  55. data/lib/mistri/providers/openai/assembler.rb +337 -60
  56. data/lib/mistri/providers/openai/serializer.rb +13 -12
  57. data/lib/mistri/providers/openai.rb +29 -5
  58. data/lib/mistri/providers/schema_capabilities.rb +214 -0
  59. data/lib/mistri/result.rb +8 -3
  60. data/lib/mistri/retry_policy.rb +2 -2
  61. data/lib/mistri/schema.rb +893 -75
  62. data/lib/mistri/session.rb +649 -47
  63. data/lib/mistri/sinks/coalesced.rb +17 -10
  64. data/lib/mistri/skill.rb +1 -1
  65. data/lib/mistri/skills.rb +1 -1
  66. data/lib/mistri/spawner.rb +316 -0
  67. data/lib/mistri/sse.rb +57 -14
  68. data/lib/mistri/stores/active_record.rb +22 -7
  69. data/lib/mistri/stores/jsonl.rb +3 -1
  70. data/lib/mistri/stores/memory.rb +21 -2
  71. data/lib/mistri/sub_agent/execution.rb +81 -0
  72. data/lib/mistri/sub_agent/runtime.rb +297 -0
  73. data/lib/mistri/sub_agent.rb +238 -103
  74. data/lib/mistri/task_output.rb +58 -0
  75. data/lib/mistri/tool.rb +102 -13
  76. data/lib/mistri/tool_arguments.rb +377 -0
  77. data/lib/mistri/tool_call.rb +43 -9
  78. data/lib/mistri/tool_context.rb +7 -5
  79. data/lib/mistri/tool_executor.rb +117 -26
  80. data/lib/mistri/tool_result.rb +15 -10
  81. data/lib/mistri/tools/edit_file.rb +62 -8
  82. data/lib/mistri/tools.rb +41 -4
  83. data/lib/mistri/transport.rb +149 -44
  84. data/lib/mistri/usage.rb +65 -13
  85. data/lib/mistri/version.rb +1 -1
  86. data/lib/mistri/workspace/active_record.rb +183 -3
  87. data/lib/mistri/workspace/directory.rb +28 -8
  88. data/lib/mistri/workspace/memory.rb +34 -9
  89. data/lib/mistri/workspace/single.rb +62 -5
  90. data/lib/mistri/workspace.rb +39 -0
  91. data/lib/mistri.rb +17 -1
  92. data/mistri.gemspec +34 -0
  93. metadata +38 -3
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mistri
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Muhammad Ahmed Cheema
@@ -10,7 +10,7 @@ cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies: []
12
12
  description: 'Mistri (مستری) is the fixer: an agent harness that lives inside your
13
- app. Durable sessions in your own database, streaming, tools, fire-and-forget human
13
+ app. Durable sessions in your own store, streaming, tools, fire-and-forget human
14
14
  approval, steering, compaction, structured output, skills, and sub-agents, across
15
15
  Anthropic, OpenAI, and Gemini, with zero runtime dependencies.'
16
16
  executables: []
@@ -18,9 +18,28 @@ extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
20
  - CHANGELOG.md
21
+ - CONTRIBUTING.md
21
22
  - LICENSE
22
23
  - NOTICE
23
24
  - README.md
25
+ - SECURITY.md
26
+ - UPGRADING.md
27
+ - assets/logo-animated.svg
28
+ - assets/logo-dark.svg
29
+ - assets/logo-light.svg
30
+ - assets/logo.svg
31
+ - assets/social-preview.png
32
+ - docs/README.md
33
+ - docs/context-and-workspaces.md
34
+ - docs/mcp.md
35
+ - docs/reliability.md
36
+ - docs/sessions.md
37
+ - docs/sub-agents.md
38
+ - docs/tool-contracts.md
39
+ - examples/approval.rb
40
+ - examples/browser.rb
41
+ - examples/page_editor.rb
42
+ - examples/quickstart.rb
24
43
  - lib/generators/mistri/install/install_generator.rb
25
44
  - lib/generators/mistri/install/templates/migration.rb.tt
26
45
  - lib/generators/mistri/install/templates/model.rb.tt
@@ -31,15 +50,22 @@ files:
31
50
  - lib/mistri/abort_signal.rb
32
51
  - lib/mistri/agent.rb
33
52
  - lib/mistri/budget.rb
53
+ - lib/mistri/child.rb
34
54
  - lib/mistri/compaction.rb
35
55
  - lib/mistri/compactor.rb
56
+ - lib/mistri/console.rb
36
57
  - lib/mistri/content.rb
37
58
  - lib/mistri/definition.rb
59
+ - lib/mistri/dispatchers.rb
38
60
  - lib/mistri/edit.rb
39
61
  - lib/mistri/errors.rb
40
62
  - lib/mistri/event.rb
63
+ - lib/mistri/event_delivery.rb
64
+ - lib/mistri/locks.rb
65
+ - lib/mistri/locks/rails_cache.rb
41
66
  - lib/mistri/mcp.rb
42
67
  - lib/mistri/mcp/client.rb
68
+ - lib/mistri/mcp/egress.rb
43
69
  - lib/mistri/mcp/oauth.rb
44
70
  - lib/mistri/mcp/wires.rb
45
71
  - lib/mistri/memory.rb
@@ -56,6 +82,7 @@ files:
56
82
  - lib/mistri/providers/openai.rb
57
83
  - lib/mistri/providers/openai/assembler.rb
58
84
  - lib/mistri/providers/openai/serializer.rb
85
+ - lib/mistri/providers/schema_capabilities.rb
59
86
  - lib/mistri/reminder.rb
60
87
  - lib/mistri/result.rb
61
88
  - lib/mistri/retry_policy.rb
@@ -66,13 +93,18 @@ files:
66
93
  - lib/mistri/sinks/sse.rb
67
94
  - lib/mistri/skill.rb
68
95
  - lib/mistri/skills.rb
96
+ - lib/mistri/spawner.rb
69
97
  - lib/mistri/sse.rb
70
98
  - lib/mistri/stop_reason.rb
71
99
  - lib/mistri/stores/active_record.rb
72
100
  - lib/mistri/stores/jsonl.rb
73
101
  - lib/mistri/stores/memory.rb
74
102
  - lib/mistri/sub_agent.rb
103
+ - lib/mistri/sub_agent/execution.rb
104
+ - lib/mistri/sub_agent/runtime.rb
105
+ - lib/mistri/task_output.rb
75
106
  - lib/mistri/tool.rb
107
+ - lib/mistri/tool_arguments.rb
76
108
  - lib/mistri/tool_call.rb
77
109
  - lib/mistri/tool_context.rb
78
110
  - lib/mistri/tool_executor.rb
@@ -88,18 +120,21 @@ files:
88
120
  - lib/mistri/transport.rb
89
121
  - lib/mistri/usage.rb
90
122
  - lib/mistri/version.rb
123
+ - lib/mistri/workspace.rb
91
124
  - lib/mistri/workspace/active_record.rb
92
125
  - lib/mistri/workspace/directory.rb
93
126
  - lib/mistri/workspace/memory.rb
94
127
  - lib/mistri/workspace/single.rb
128
+ - mistri.gemspec
95
129
  homepage: https://mistri.sh
96
130
  licenses:
97
131
  - MIT
98
132
  metadata:
99
133
  source_code_uri: https://github.com/mcheemaa/mistri
100
134
  changelog_uri: https://github.com/mcheemaa/mistri/blob/main/CHANGELOG.md
135
+ allowed_push_host: https://rubygems.org
101
136
  rubygems_mfa_required: 'true'
102
- documentation_uri: https://mistri.sh/docs/getting-started/
137
+ documentation_uri: https://github.com/mcheemaa/mistri/blob/v0.6.0/docs/README.md
103
138
  bug_tracker_uri: https://github.com/mcheemaa/mistri/issues
104
139
  rdoc_options: []
105
140
  require_paths: