autotype 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.
- checksums.yaml +7 -0
- data/Gemfile +8 -0
- data/LICENSE +21 -0
- data/README.md +93 -0
- data/Rakefile +21 -0
- data/autotype.example.yml +19 -0
- data/autotype.gemspec +38 -0
- data/exe/autotype +6 -0
- data/ext/autotype/Makefile +273 -0
- data/ext/autotype/autotype.bundle.dSYM/Contents/Info.plist +20 -0
- data/ext/autotype/autotype.bundle.dSYM/Contents/Resources/Relocations/aarch64/autotype.bundle.yml +5 -0
- data/ext/autotype/autotype.c +277 -0
- data/ext/autotype/extconf.rb +15 -0
- data/lib/autotype/discovery_profile.rb +527 -0
- data/lib/autotype/engine.rb +4613 -0
- data/lib/autotype/native.rb +34 -0
- data/lib/autotype/native_bridge.rb +121 -0
- data/lib/autotype/profile.rb +46 -0
- data/lib/autotype/type_string.rb +48 -0
- data/lib/autotype/version.rb +5 -0
- data/lib/autotype.rb +15 -0
- data/native/autotype/Makefile +23 -0
- data/native/autotype/include/stc.h +107 -0
- data/native/autotype/src/main.c +50 -0
- data/native/autotype/src/solver.c +296 -0
- data/native/autotype/src/type.c +223 -0
- data/spec/autotype_config_spec.rb +91 -0
- data/spec/autotype_native_spec.rb +71 -0
- data/spec/autotype_spec.rb +1028 -0
- data/spec/examples.txt +72 -0
- data/spec/fixtures/autotype.yml +9 -0
- data/spec/fixtures/entities/tool_call.rb +7 -0
- data/spec/fixtures/entities/tool_result.rb +7 -0
- data/spec/fixtures/pipeline/actors/demo_actor.rb +8 -0
- data/spec/spec_helper.rb +25 -0
- metadata +149 -0
data/spec/examples.txt
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
example_id | status | run_time |
|
|
2
|
+
----------------------------------- | ------ | --------------- |
|
|
3
|
+
./spec/autotype_config_spec.rb[1:1] | passed | 0.00003 seconds |
|
|
4
|
+
./spec/autotype_config_spec.rb[1:2] | passed | 0.00005 seconds |
|
|
5
|
+
./spec/autotype_config_spec.rb[1:3] | passed | 0.00004 seconds |
|
|
6
|
+
./spec/autotype_config_spec.rb[1:4] | passed | 0.0002 seconds |
|
|
7
|
+
./spec/autotype_config_spec.rb[2:1] | passed | 0.00042 seconds |
|
|
8
|
+
./spec/autotype_config_spec.rb[2:2] | passed | 0.00047 seconds |
|
|
9
|
+
./spec/autotype_config_spec.rb[2:3] | passed | 0.00188 seconds |
|
|
10
|
+
./spec/autotype_config_spec.rb[2:4] | passed | 0.00091 seconds |
|
|
11
|
+
./spec/autotype_native_spec.rb[1:1] | passed | 0.00179 seconds |
|
|
12
|
+
./spec/autotype_native_spec.rb[1:2] | passed | 0.00007 seconds |
|
|
13
|
+
./spec/autotype_native_spec.rb[1:3] | passed | 0.00022 seconds |
|
|
14
|
+
./spec/autotype_spec.rb[1:1] | passed | 0.00025 seconds |
|
|
15
|
+
./spec/autotype_spec.rb[1:2] | passed | 0.00018 seconds |
|
|
16
|
+
./spec/autotype_spec.rb[1:3] | passed | 0.00018 seconds |
|
|
17
|
+
./spec/autotype_spec.rb[1:4] | passed | 0.00031 seconds |
|
|
18
|
+
./spec/autotype_spec.rb[1:5] | passed | 0.00075 seconds |
|
|
19
|
+
./spec/autotype_spec.rb[1:6] | passed | 0.00063 seconds |
|
|
20
|
+
./spec/autotype_spec.rb[1:7] | passed | 0.00051 seconds |
|
|
21
|
+
./spec/autotype_spec.rb[1:8] | passed | 0.0003 seconds |
|
|
22
|
+
./spec/autotype_spec.rb[1:9] | passed | 0.00024 seconds |
|
|
23
|
+
./spec/autotype_spec.rb[1:10] | passed | 0.00052 seconds |
|
|
24
|
+
./spec/autotype_spec.rb[1:11] | passed | 0.0003 seconds |
|
|
25
|
+
./spec/autotype_spec.rb[1:12] | passed | 0.00028 seconds |
|
|
26
|
+
./spec/autotype_spec.rb[1:13] | passed | 0.00022 seconds |
|
|
27
|
+
./spec/autotype_spec.rb[1:14] | passed | 0.00017 seconds |
|
|
28
|
+
./spec/autotype_spec.rb[1:15] | passed | 0.00032 seconds |
|
|
29
|
+
./spec/autotype_spec.rb[1:16] | passed | 0.00029 seconds |
|
|
30
|
+
./spec/autotype_spec.rb[1:17] | passed | 0.00025 seconds |
|
|
31
|
+
./spec/autotype_spec.rb[1:18] | passed | 0.00069 seconds |
|
|
32
|
+
./spec/autotype_spec.rb[1:19] | passed | 0.00033 seconds |
|
|
33
|
+
./spec/autotype_spec.rb[1:20] | passed | 0.00608 seconds |
|
|
34
|
+
./spec/autotype_spec.rb[1:21] | passed | 0.0007 seconds |
|
|
35
|
+
./spec/autotype_spec.rb[1:22] | passed | 0.00014 seconds |
|
|
36
|
+
./spec/autotype_spec.rb[1:23] | passed | 0.00039 seconds |
|
|
37
|
+
./spec/autotype_spec.rb[1:24] | passed | 0.00016 seconds |
|
|
38
|
+
./spec/autotype_spec.rb[1:25] | passed | 0.00031 seconds |
|
|
39
|
+
./spec/autotype_spec.rb[1:26] | passed | 0.00063 seconds |
|
|
40
|
+
./spec/autotype_spec.rb[1:27] | passed | 0.00031 seconds |
|
|
41
|
+
./spec/autotype_spec.rb[1:28] | passed | 0.00048 seconds |
|
|
42
|
+
./spec/autotype_spec.rb[1:29] | passed | 0.00059 seconds |
|
|
43
|
+
./spec/autotype_spec.rb[1:30] | passed | 0.00086 seconds |
|
|
44
|
+
./spec/autotype_spec.rb[1:31] | passed | 0.00101 seconds |
|
|
45
|
+
./spec/autotype_spec.rb[1:32] | passed | 0.00307 seconds |
|
|
46
|
+
./spec/autotype_spec.rb[1:33] | passed | 0.00052 seconds |
|
|
47
|
+
./spec/autotype_spec.rb[1:34] | passed | 0.00033 seconds |
|
|
48
|
+
./spec/autotype_spec.rb[1:35] | passed | 0.00037 seconds |
|
|
49
|
+
./spec/autotype_spec.rb[1:36] | passed | 0.00038 seconds |
|
|
50
|
+
./spec/autotype_spec.rb[1:37] | passed | 0.00045 seconds |
|
|
51
|
+
./spec/autotype_spec.rb[1:38] | passed | 0.00046 seconds |
|
|
52
|
+
./spec/autotype_spec.rb[1:39] | passed | 0.00157 seconds |
|
|
53
|
+
./spec/autotype_spec.rb[1:40] | passed | 0.00218 seconds |
|
|
54
|
+
./spec/autotype_spec.rb[1:41] | passed | 0.00081 seconds |
|
|
55
|
+
./spec/autotype_spec.rb[1:42] | passed | 0.00028 seconds |
|
|
56
|
+
./spec/autotype_spec.rb[1:43] | passed | 0.00129 seconds |
|
|
57
|
+
./spec/autotype_spec.rb[1:44] | passed | 0.00034 seconds |
|
|
58
|
+
./spec/autotype_spec.rb[1:45] | passed | 0.00041 seconds |
|
|
59
|
+
./spec/autotype_spec.rb[1:46] | passed | 0.00057 seconds |
|
|
60
|
+
./spec/autotype_spec.rb[1:47] | passed | 0.00067 seconds |
|
|
61
|
+
./spec/autotype_spec.rb[1:48] | passed | 0.00036 seconds |
|
|
62
|
+
./spec/autotype_spec.rb[1:49] | passed | 0.00075 seconds |
|
|
63
|
+
./spec/autotype_spec.rb[1:50] | passed | 0.00033 seconds |
|
|
64
|
+
./spec/autotype_spec.rb[1:51] | passed | 0.00025 seconds |
|
|
65
|
+
./spec/autotype_spec.rb[1:52] | passed | 0.00026 seconds |
|
|
66
|
+
./spec/autotype_spec.rb[1:53] | passed | 0.00015 seconds |
|
|
67
|
+
./spec/autotype_spec.rb[1:54] | passed | 0.0003 seconds |
|
|
68
|
+
./spec/autotype_spec.rb[1:55] | passed | 0.00028 seconds |
|
|
69
|
+
./spec/autotype_spec.rb[1:56] | passed | 0.00024 seconds |
|
|
70
|
+
./spec/autotype_spec.rb[1:57] | passed | 0.0019 seconds |
|
|
71
|
+
./spec/autotype_spec.rb[1:58] | passed | 0.00108 seconds |
|
|
72
|
+
./spec/autotype_spec.rb[1:59] | passed | 0.00016 seconds |
|
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "autotype"
|
|
4
|
+
require "tempfile"
|
|
5
|
+
|
|
6
|
+
RSpec.configure do |config|
|
|
7
|
+
config.expect_with :rspec do |expectations|
|
|
8
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
config.mock_with :rspec do |mocks|
|
|
12
|
+
mocks.verify_partial_doubles = true
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
config.shared_context_metadata_behavior = :apply_to_host_groups
|
|
16
|
+
config.filter_run_when_matching :focus
|
|
17
|
+
config.example_status_persistence_file_path = "spec/examples.txt"
|
|
18
|
+
config.disable_monkey_patching!
|
|
19
|
+
config.warnings = true
|
|
20
|
+
config.order = :random
|
|
21
|
+
Kernel.srand config.seed
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
require_relative "../lib/autotype/native"
|
|
25
|
+
require_relative "../lib/autotype/native_bridge"
|
metadata
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: autotype
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Louis Mullie
|
|
8
|
+
bindir: exe
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: async
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - "~>"
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '2.0'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - "~>"
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '2.0'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: faraday
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - "~>"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '2.0'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '2.0'
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: prism
|
|
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'
|
|
54
|
+
- !ruby/object:Gem::Dependency
|
|
55
|
+
name: dotenv
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - "~>"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '3.0'
|
|
61
|
+
type: :development
|
|
62
|
+
prerelease: false
|
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - "~>"
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '3.0'
|
|
68
|
+
- !ruby/object:Gem::Dependency
|
|
69
|
+
name: rspec
|
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - "~>"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '3.13'
|
|
75
|
+
type: :development
|
|
76
|
+
prerelease: false
|
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - "~>"
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '3.13'
|
|
82
|
+
description: Infers Ruby method signatures from Prism AST analysis and fixed-point
|
|
83
|
+
constraint solving.
|
|
84
|
+
email:
|
|
85
|
+
- louis.mullie@gmail.com
|
|
86
|
+
executables:
|
|
87
|
+
- autotype
|
|
88
|
+
extensions:
|
|
89
|
+
- ext/autotype/extconf.rb
|
|
90
|
+
extra_rdoc_files: []
|
|
91
|
+
files:
|
|
92
|
+
- Gemfile
|
|
93
|
+
- LICENSE
|
|
94
|
+
- README.md
|
|
95
|
+
- Rakefile
|
|
96
|
+
- autotype.example.yml
|
|
97
|
+
- autotype.gemspec
|
|
98
|
+
- exe/autotype
|
|
99
|
+
- ext/autotype/Makefile
|
|
100
|
+
- ext/autotype/autotype.bundle.dSYM/Contents/Info.plist
|
|
101
|
+
- ext/autotype/autotype.bundle.dSYM/Contents/Resources/Relocations/aarch64/autotype.bundle.yml
|
|
102
|
+
- ext/autotype/autotype.c
|
|
103
|
+
- ext/autotype/extconf.rb
|
|
104
|
+
- lib/autotype.rb
|
|
105
|
+
- lib/autotype/discovery_profile.rb
|
|
106
|
+
- lib/autotype/engine.rb
|
|
107
|
+
- lib/autotype/native.rb
|
|
108
|
+
- lib/autotype/native_bridge.rb
|
|
109
|
+
- lib/autotype/profile.rb
|
|
110
|
+
- lib/autotype/type_string.rb
|
|
111
|
+
- lib/autotype/version.rb
|
|
112
|
+
- native/autotype/Makefile
|
|
113
|
+
- native/autotype/include/stc.h
|
|
114
|
+
- native/autotype/src/main.c
|
|
115
|
+
- native/autotype/src/solver.c
|
|
116
|
+
- native/autotype/src/type.c
|
|
117
|
+
- spec/autotype_config_spec.rb
|
|
118
|
+
- spec/autotype_native_spec.rb
|
|
119
|
+
- spec/autotype_spec.rb
|
|
120
|
+
- spec/examples.txt
|
|
121
|
+
- spec/fixtures/autotype.yml
|
|
122
|
+
- spec/fixtures/entities/tool_call.rb
|
|
123
|
+
- spec/fixtures/entities/tool_result.rb
|
|
124
|
+
- spec/fixtures/pipeline/actors/demo_actor.rb
|
|
125
|
+
- spec/spec_helper.rb
|
|
126
|
+
homepage: https://github.com/louismullie/autotype
|
|
127
|
+
licenses:
|
|
128
|
+
- MIT
|
|
129
|
+
metadata:
|
|
130
|
+
homepage_uri: https://github.com/louismullie/autotype
|
|
131
|
+
source_code_uri: https://github.com/louismullie/autotype
|
|
132
|
+
rdoc_options: []
|
|
133
|
+
require_paths:
|
|
134
|
+
- lib
|
|
135
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
136
|
+
requirements:
|
|
137
|
+
- - ">="
|
|
138
|
+
- !ruby/object:Gem::Version
|
|
139
|
+
version: 3.2.0
|
|
140
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
141
|
+
requirements:
|
|
142
|
+
- - ">="
|
|
143
|
+
- !ruby/object:Gem::Version
|
|
144
|
+
version: '0'
|
|
145
|
+
requirements: []
|
|
146
|
+
rubygems_version: 3.6.9
|
|
147
|
+
specification_version: 4
|
|
148
|
+
summary: Syntax-less Ruby type inference from method usage
|
|
149
|
+
test_files: []
|