mistri 0.5.0 → 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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +469 -4
- data/CONTRIBUTING.md +52 -0
- data/README.md +289 -385
- data/SECURITY.md +40 -0
- data/UPGRADING.md +640 -0
- data/assets/logo-animated.svg +30 -0
- data/assets/logo-dark.svg +14 -0
- data/assets/logo-light.svg +14 -0
- data/assets/logo.svg +14 -0
- data/assets/social-preview.png +0 -0
- data/docs/README.md +87 -0
- data/docs/context-and-workspaces.md +378 -0
- data/docs/mcp.md +366 -0
- data/docs/reliability.md +450 -0
- data/docs/sessions.md +295 -0
- data/docs/sub-agents.md +401 -0
- data/docs/tool-contracts.md +324 -0
- data/examples/approval.rb +36 -0
- data/examples/browser.rb +27 -0
- data/examples/page_editor.rb +31 -0
- data/examples/quickstart.rb +21 -0
- data/lib/generators/mistri/install/install_generator.rb +7 -3
- data/lib/generators/mistri/install/templates/migration.rb.tt +2 -2
- data/lib/generators/mistri/mcp/templates/migration.rb.tt +1 -1
- data/lib/generators/mistri/mcp/templates/model.rb.tt +15 -8
- data/lib/mistri/agent.rb +575 -55
- data/lib/mistri/budget.rb +26 -1
- data/lib/mistri/child.rb +72 -16
- data/lib/mistri/compaction.rb +26 -10
- data/lib/mistri/compactor.rb +34 -11
- data/lib/mistri/console.rb +28 -7
- data/lib/mistri/content.rb +9 -3
- data/lib/mistri/dispatchers.rb +14 -12
- data/lib/mistri/errors.rb +83 -4
- data/lib/mistri/event.rb +24 -8
- data/lib/mistri/event_delivery.rb +60 -0
- data/lib/mistri/locks.rb +3 -3
- data/lib/mistri/mcp/client.rb +74 -19
- data/lib/mistri/mcp/egress.rb +216 -0
- data/lib/mistri/mcp/oauth.rb +476 -127
- data/lib/mistri/mcp/wires.rb +115 -23
- data/lib/mistri/mcp.rb +42 -8
- data/lib/mistri/message.rb +21 -11
- data/lib/mistri/models.rb +160 -22
- data/lib/mistri/providers/anthropic/assembler.rb +282 -44
- data/lib/mistri/providers/anthropic/serializer.rb +14 -9
- data/lib/mistri/providers/anthropic.rb +29 -6
- data/lib/mistri/providers/fake.rb +26 -10
- data/lib/mistri/providers/gemini/assembler.rb +148 -21
- data/lib/mistri/providers/gemini/serializer.rb +78 -9
- data/lib/mistri/providers/gemini.rb +31 -5
- data/lib/mistri/providers/openai/assembler.rb +337 -60
- data/lib/mistri/providers/openai/serializer.rb +13 -12
- data/lib/mistri/providers/openai.rb +29 -5
- data/lib/mistri/providers/schema_capabilities.rb +214 -0
- data/lib/mistri/result.rb +1 -1
- data/lib/mistri/schema.rb +893 -75
- data/lib/mistri/session.rb +560 -48
- data/lib/mistri/sinks/coalesced.rb +17 -10
- data/lib/mistri/spawner.rb +111 -61
- data/lib/mistri/sse.rb +57 -14
- data/lib/mistri/stores/active_record.rb +1 -1
- data/lib/mistri/stores/memory.rb +21 -2
- data/lib/mistri/sub_agent/execution.rb +81 -0
- data/lib/mistri/sub_agent/runtime.rb +297 -0
- data/lib/mistri/sub_agent.rb +124 -87
- data/lib/mistri/task_output.rb +24 -6
- data/lib/mistri/tool.rb +93 -13
- data/lib/mistri/tool_arguments.rb +377 -0
- data/lib/mistri/tool_call.rb +43 -9
- data/lib/mistri/tool_context.rb +4 -2
- data/lib/mistri/tool_executor.rb +117 -26
- data/lib/mistri/tool_result.rb +15 -10
- data/lib/mistri/tools/edit_file.rb +62 -8
- data/lib/mistri/tools.rb +41 -4
- data/lib/mistri/transport.rb +149 -44
- data/lib/mistri/usage.rb +65 -13
- data/lib/mistri/version.rb +1 -1
- data/lib/mistri/workspace/active_record.rb +183 -3
- data/lib/mistri/workspace/directory.rb +28 -8
- data/lib/mistri/workspace/memory.rb +34 -9
- data/lib/mistri/workspace/single.rb +62 -5
- data/lib/mistri/workspace.rb +39 -0
- data/lib/mistri.rb +6 -1
- data/mistri.gemspec +34 -0
- metadata +31 -3
data/mistri.gemspec
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "lib/mistri/version"
|
|
4
|
+
|
|
5
|
+
Gem::Specification.new do |spec|
|
|
6
|
+
spec.name = "mistri"
|
|
7
|
+
spec.version = Mistri::VERSION
|
|
8
|
+
spec.authors = ["Muhammad Ahmed Cheema"]
|
|
9
|
+
spec.summary = "The agent harness for Ruby applications."
|
|
10
|
+
spec.description = "Mistri (مستری) is the fixer: an agent harness that lives inside your " \
|
|
11
|
+
"app. Durable sessions in your own store, streaming, tools, " \
|
|
12
|
+
"fire-and-forget human approval, steering, compaction, structured " \
|
|
13
|
+
"output, skills, and sub-agents, across Anthropic, OpenAI, and " \
|
|
14
|
+
"Gemini, with zero runtime dependencies."
|
|
15
|
+
spec.homepage = "https://mistri.sh"
|
|
16
|
+
spec.license = "MIT"
|
|
17
|
+
spec.required_ruby_version = ">= 3.2"
|
|
18
|
+
|
|
19
|
+
spec.metadata["source_code_uri"] = "https://github.com/mcheemaa/mistri"
|
|
20
|
+
spec.metadata["changelog_uri"] = "https://github.com/mcheemaa/mistri/blob/main/CHANGELOG.md"
|
|
21
|
+
spec.metadata["allowed_push_host"] = "https://rubygems.org"
|
|
22
|
+
spec.metadata["rubygems_mfa_required"] = "true"
|
|
23
|
+
spec.metadata["documentation_uri"] =
|
|
24
|
+
"https://github.com/mcheemaa/mistri/blob/v#{spec.version}/docs/README.md"
|
|
25
|
+
spec.metadata["bug_tracker_uri"] = "https://github.com/mcheemaa/mistri/issues"
|
|
26
|
+
|
|
27
|
+
# The .tt generator templates must ship, or rails g mistri:install breaks.
|
|
28
|
+
public_files = Dir["lib/**/*.{rb,tt}", "docs/**/*.md", "assets/**/*", "examples/*.rb"]
|
|
29
|
+
.select { |path| File.file?(path) }
|
|
30
|
+
root_files = %w[CHANGELOG.md CONTRIBUTING.md LICENSE NOTICE README.md SECURITY.md
|
|
31
|
+
UPGRADING.md mistri.gemspec]
|
|
32
|
+
spec.files = (public_files + root_files).sort
|
|
33
|
+
spec.require_paths = ["lib"]
|
|
34
|
+
end
|
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
|
+
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
|
|
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
|
|
@@ -41,10 +60,12 @@ files:
|
|
|
41
60
|
- lib/mistri/edit.rb
|
|
42
61
|
- lib/mistri/errors.rb
|
|
43
62
|
- lib/mistri/event.rb
|
|
63
|
+
- lib/mistri/event_delivery.rb
|
|
44
64
|
- lib/mistri/locks.rb
|
|
45
65
|
- lib/mistri/locks/rails_cache.rb
|
|
46
66
|
- lib/mistri/mcp.rb
|
|
47
67
|
- lib/mistri/mcp/client.rb
|
|
68
|
+
- lib/mistri/mcp/egress.rb
|
|
48
69
|
- lib/mistri/mcp/oauth.rb
|
|
49
70
|
- lib/mistri/mcp/wires.rb
|
|
50
71
|
- lib/mistri/memory.rb
|
|
@@ -61,6 +82,7 @@ files:
|
|
|
61
82
|
- lib/mistri/providers/openai.rb
|
|
62
83
|
- lib/mistri/providers/openai/assembler.rb
|
|
63
84
|
- lib/mistri/providers/openai/serializer.rb
|
|
85
|
+
- lib/mistri/providers/schema_capabilities.rb
|
|
64
86
|
- lib/mistri/reminder.rb
|
|
65
87
|
- lib/mistri/result.rb
|
|
66
88
|
- lib/mistri/retry_policy.rb
|
|
@@ -78,8 +100,11 @@ files:
|
|
|
78
100
|
- lib/mistri/stores/jsonl.rb
|
|
79
101
|
- lib/mistri/stores/memory.rb
|
|
80
102
|
- lib/mistri/sub_agent.rb
|
|
103
|
+
- lib/mistri/sub_agent/execution.rb
|
|
104
|
+
- lib/mistri/sub_agent/runtime.rb
|
|
81
105
|
- lib/mistri/task_output.rb
|
|
82
106
|
- lib/mistri/tool.rb
|
|
107
|
+
- lib/mistri/tool_arguments.rb
|
|
83
108
|
- lib/mistri/tool_call.rb
|
|
84
109
|
- lib/mistri/tool_context.rb
|
|
85
110
|
- lib/mistri/tool_executor.rb
|
|
@@ -95,18 +120,21 @@ files:
|
|
|
95
120
|
- lib/mistri/transport.rb
|
|
96
121
|
- lib/mistri/usage.rb
|
|
97
122
|
- lib/mistri/version.rb
|
|
123
|
+
- lib/mistri/workspace.rb
|
|
98
124
|
- lib/mistri/workspace/active_record.rb
|
|
99
125
|
- lib/mistri/workspace/directory.rb
|
|
100
126
|
- lib/mistri/workspace/memory.rb
|
|
101
127
|
- lib/mistri/workspace/single.rb
|
|
128
|
+
- mistri.gemspec
|
|
102
129
|
homepage: https://mistri.sh
|
|
103
130
|
licenses:
|
|
104
131
|
- MIT
|
|
105
132
|
metadata:
|
|
106
133
|
source_code_uri: https://github.com/mcheemaa/mistri
|
|
107
134
|
changelog_uri: https://github.com/mcheemaa/mistri/blob/main/CHANGELOG.md
|
|
135
|
+
allowed_push_host: https://rubygems.org
|
|
108
136
|
rubygems_mfa_required: 'true'
|
|
109
|
-
documentation_uri: https://mistri.
|
|
137
|
+
documentation_uri: https://github.com/mcheemaa/mistri/blob/v0.6.0/docs/README.md
|
|
110
138
|
bug_tracker_uri: https://github.com/mcheemaa/mistri/issues
|
|
111
139
|
rdoc_options: []
|
|
112
140
|
require_paths:
|