aircana 5.1.0 → 5.1.2
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/.rspec_status +202 -172
- data/CHANGELOG.md +10 -0
- data/lib/aircana/checksum.rb +19 -0
- data/lib/aircana/cli/commands/kb.rb +11 -2
- data/lib/aircana/contexts/confluence.rb +31 -7
- data/lib/aircana/contexts/manifest.rb +16 -6
- data/lib/aircana/contexts/web.rb +36 -11
- data/lib/aircana/generators/agents_generator.rb +3 -3
- data/lib/aircana/version.rb +1 -1
- data/lib/aircana.rb +1 -0
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 22b664c9a24be6cc88bd75f2b36b11de4c957de360444ba972cdf265c6da5f7e
|
|
4
|
+
data.tar.gz: 81bd106b69846fe9ee0fe8a4f085236c0364bf0ab3186e6b1db458384508851a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a0beed64102ac6c7c6eecbda39ef3d4e73db44ea460a5fa11717e8534a10d443c2784fb6a5ef4c59cc943d9b71ffaa7ca8a26a413fa889944ee55cae7e3cea11
|
|
7
|
+
data.tar.gz: b5729fa335f059150ba72774a8b17125e9a0d21f3b4c916f2584a32ad90994d1ac9b9378e9fe571b623daf2a41b331d7767118c54d3f69ca9f260b81750bba99
|
data/.rspec_status
CHANGED
|
@@ -1,218 +1,248 @@
|
|
|
1
1
|
example_id | status | run_time |
|
|
2
2
|
--------------------------------------------------------------- | ------ | --------------- |
|
|
3
|
-
./spec/aircana/
|
|
4
|
-
./spec/aircana/
|
|
5
|
-
./spec/aircana/
|
|
6
|
-
./spec/aircana/
|
|
7
|
-
./spec/aircana/
|
|
8
|
-
./spec/aircana/
|
|
9
|
-
./spec/aircana/
|
|
10
|
-
./spec/aircana/
|
|
11
|
-
./spec/aircana/
|
|
12
|
-
./spec/aircana/
|
|
13
|
-
./spec/aircana/cli/commands/init_spec.rb[1:
|
|
14
|
-
./spec/aircana/cli/commands/init_spec.rb[1:
|
|
15
|
-
./spec/aircana/cli/commands/init_spec.rb[1:
|
|
16
|
-
./spec/aircana/cli/commands/init_spec.rb[1:
|
|
17
|
-
./spec/aircana/cli/commands/init_spec.rb[1:
|
|
18
|
-
./spec/aircana/cli/commands/init_spec.rb[1:
|
|
19
|
-
./spec/aircana/cli/commands/
|
|
20
|
-
./spec/aircana/cli/commands/
|
|
21
|
-
./spec/aircana/cli/commands/
|
|
22
|
-
./spec/aircana/cli/commands/
|
|
3
|
+
./spec/aircana/checksum_spec.rb[1:1:1] | passed | 0.00778 seconds |
|
|
4
|
+
./spec/aircana/checksum_spec.rb[1:1:2] | passed | 0.00004 seconds |
|
|
5
|
+
./spec/aircana/checksum_spec.rb[1:1:3] | passed | 0.00003 seconds |
|
|
6
|
+
./spec/aircana/checksum_spec.rb[1:1:4] | passed | 0.00116 seconds |
|
|
7
|
+
./spec/aircana/checksum_spec.rb[1:1:5] | passed | 0.00003 seconds |
|
|
8
|
+
./spec/aircana/checksum_spec.rb[1:2:1] | passed | 0.00093 seconds |
|
|
9
|
+
./spec/aircana/checksum_spec.rb[1:2:2] | passed | 0.00004 seconds |
|
|
10
|
+
./spec/aircana/checksum_spec.rb[1:2:3] | passed | 0.00003 seconds |
|
|
11
|
+
./spec/aircana/checksum_spec.rb[1:2:4] | passed | 0.00004 seconds |
|
|
12
|
+
./spec/aircana/checksum_spec.rb[1:2:5] | passed | 0.00002 seconds |
|
|
13
|
+
./spec/aircana/cli/commands/init_spec.rb[1:1:1] | passed | 0.01708 seconds |
|
|
14
|
+
./spec/aircana/cli/commands/init_spec.rb[1:1:2] | passed | 0.00274 seconds |
|
|
15
|
+
./spec/aircana/cli/commands/init_spec.rb[1:2:1:1] | passed | 0.00534 seconds |
|
|
16
|
+
./spec/aircana/cli/commands/init_spec.rb[1:3:1] | passed | 0.0038 seconds |
|
|
17
|
+
./spec/aircana/cli/commands/init_spec.rb[1:3:2:1] | passed | 0.00294 seconds |
|
|
18
|
+
./spec/aircana/cli/commands/init_spec.rb[1:3:3:1] | passed | 0.00308 seconds |
|
|
19
|
+
./spec/aircana/cli/commands/init_spec.rb[1:3:4:1] | passed | 0.003 seconds |
|
|
20
|
+
./spec/aircana/cli/commands/init_spec.rb[1:4:1] | passed | 0.0015 seconds |
|
|
21
|
+
./spec/aircana/cli/commands/init_spec.rb[1:4:2] | passed | 0.00148 seconds |
|
|
22
|
+
./spec/aircana/cli/commands/init_spec.rb[1:4:3] | passed | 0.00148 seconds |
|
|
23
|
+
./spec/aircana/cli/commands/init_spec.rb[1:4:4] | passed | 0.00174 seconds |
|
|
24
|
+
./spec/aircana/cli/commands/init_spec.rb[1:4:5] | passed | 0.0014 seconds |
|
|
25
|
+
./spec/aircana/cli/commands/init_spec.rb[1:5:1] | passed | 0.00318 seconds |
|
|
26
|
+
./spec/aircana/cli/commands/init_spec.rb[1:5:2] | passed | 0.0041 seconds |
|
|
27
|
+
./spec/aircana/cli/commands/init_spec.rb[1:5:3] | passed | 0.00631 seconds |
|
|
28
|
+
./spec/aircana/cli/commands/init_spec.rb[1:5:4] | passed | 0.00456 seconds |
|
|
29
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:1:1:1] | passed | 0.0005 seconds |
|
|
30
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:1:2:1] | passed | 0.00176 seconds |
|
|
31
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:2:1] | passed | 0.0019 seconds |
|
|
32
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:3:1] | passed | 0.00259 seconds |
|
|
23
33
|
./spec/aircana/cli/commands/kb_spec.rb[1:3:2] | passed | 0.00164 seconds |
|
|
24
|
-
./spec/aircana/cli/commands/kb_spec.rb[1:4:1:1] | passed | 0.
|
|
25
|
-
./spec/aircana/cli/commands/kb_spec.rb[1:4:2:1] | passed | 0.
|
|
26
|
-
./spec/aircana/cli/commands/kb_spec.rb[1:5:1:1] | passed | 0.
|
|
27
|
-
./spec/aircana/cli/commands/kb_spec.rb[1:5:1:2] | passed | 0.
|
|
28
|
-
./spec/aircana/cli/commands/kb_spec.rb[1:5:2:1] | passed | 0.
|
|
29
|
-
./spec/aircana/cli/commands/kb_spec.rb[1:5:2:2] | passed | 0.
|
|
30
|
-
./spec/aircana/cli/commands/kb_spec.rb[1:5:2:3] | passed | 0.
|
|
31
|
-
./spec/aircana/configuration_spec.rb[1:1:1] | passed | 0.
|
|
32
|
-
./spec/aircana/configuration_spec.rb[1:2:1] | passed | 0.
|
|
33
|
-
./spec/aircana/configuration_spec.rb[1:3:1] | passed | 0.
|
|
34
|
-
./spec/aircana/configuration_spec.rb[1:4:1] | passed | 0.
|
|
35
|
-
./spec/aircana/configuration_spec.rb[1:5:1] | passed | 0.
|
|
34
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:4:1:1] | passed | 0.00033 seconds |
|
|
35
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:4:2:1] | passed | 0.00162 seconds |
|
|
36
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:5:1:1] | passed | 0.00071 seconds |
|
|
37
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:5:1:2] | passed | 0.0002 seconds |
|
|
38
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:5:2:1] | passed | 0.00036 seconds |
|
|
39
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:5:2:2] | passed | 0.0027 seconds |
|
|
40
|
+
./spec/aircana/cli/commands/kb_spec.rb[1:5:2:3] | passed | 0.00113 seconds |
|
|
41
|
+
./spec/aircana/configuration_spec.rb[1:1:1] | passed | 0.0002 seconds |
|
|
42
|
+
./spec/aircana/configuration_spec.rb[1:2:1] | passed | 0.00009 seconds |
|
|
43
|
+
./spec/aircana/configuration_spec.rb[1:3:1] | passed | 0.00008 seconds |
|
|
44
|
+
./spec/aircana/configuration_spec.rb[1:4:1] | passed | 0.00008 seconds |
|
|
45
|
+
./spec/aircana/configuration_spec.rb[1:5:1] | passed | 0.00008 seconds |
|
|
36
46
|
./spec/aircana/configuration_spec.rb[1:6:1] | passed | 0.00007 seconds |
|
|
37
47
|
./spec/aircana/configuration_spec.rb[1:6:2] | passed | 0.00007 seconds |
|
|
38
48
|
./spec/aircana/configuration_spec.rb[1:7:1] | passed | 0.00007 seconds |
|
|
39
49
|
./spec/aircana/configuration_spec.rb[1:7:2] | passed | 0.00007 seconds |
|
|
40
|
-
./spec/aircana/configuration_spec.rb[1:7:3] | passed | 0.
|
|
41
|
-
./spec/aircana/configuration_spec.rb[1:7:4] | passed | 0.
|
|
50
|
+
./spec/aircana/configuration_spec.rb[1:7:3] | passed | 0.00007 seconds |
|
|
51
|
+
./spec/aircana/configuration_spec.rb[1:7:4] | passed | 0.00007 seconds |
|
|
42
52
|
./spec/aircana/configuration_spec.rb[1:7:5] | passed | 0.00007 seconds |
|
|
43
|
-
./spec/aircana/configuration_spec.rb[1:7:6] | passed | 0.
|
|
44
|
-
./spec/aircana/configuration_spec.rb[1:8:1:1] | passed | 0.
|
|
45
|
-
./spec/aircana/configuration_spec.rb[1:8:2:1] | passed | 0.
|
|
46
|
-
./spec/aircana/configuration_spec.rb[1:8:3:1] | passed | 0.
|
|
53
|
+
./spec/aircana/configuration_spec.rb[1:7:6] | passed | 0.00007 seconds |
|
|
54
|
+
./spec/aircana/configuration_spec.rb[1:8:1:1] | passed | 0.00022 seconds |
|
|
55
|
+
./spec/aircana/configuration_spec.rb[1:8:2:1] | passed | 0.00019 seconds |
|
|
56
|
+
./spec/aircana/configuration_spec.rb[1:8:3:1] | passed | 0.00017 seconds |
|
|
47
57
|
./spec/aircana/configuration_spec.rb[1:8:4:1] | passed | 0.00009 seconds |
|
|
48
|
-
./spec/aircana/contexts/confluence_spec.rb[1:1:1:1] | passed | 0.
|
|
49
|
-
./spec/aircana/contexts/confluence_spec.rb[1:1:1:2] | passed | 0.
|
|
50
|
-
./spec/aircana/contexts/confluence_spec.rb[1:1:1:3] | passed | 0.
|
|
51
|
-
./spec/aircana/contexts/confluence_spec.rb[1:1:2:1] | passed | 0.
|
|
52
|
-
./spec/aircana/contexts/confluence_spec.rb[1:1:2:2] | passed | 0.
|
|
53
|
-
./spec/aircana/contexts/confluence_spec.rb[1:1:2:3] | passed | 0.
|
|
58
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:1:1] | passed | 0.00342 seconds |
|
|
59
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:1:2] | passed | 0.00069 seconds |
|
|
60
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:1:3] | passed | 0.00154 seconds |
|
|
61
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:2:1] | passed | 0.00039 seconds |
|
|
62
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:2:2] | passed | 0.00027 seconds |
|
|
63
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:2:3] | passed | 0.0002 seconds |
|
|
54
64
|
./spec/aircana/contexts/confluence_spec.rb[1:1:3:1] | passed | 0.00058 seconds |
|
|
55
|
-
./spec/aircana/contexts/confluence_spec.rb[1:1:3:2] | passed | 0.
|
|
56
|
-
./spec/aircana/contexts/
|
|
57
|
-
./spec/aircana/contexts/
|
|
58
|
-
./spec/aircana/contexts/
|
|
59
|
-
./spec/aircana/contexts/
|
|
60
|
-
./spec/aircana/contexts/
|
|
61
|
-
./spec/aircana/contexts/
|
|
62
|
-
./spec/aircana/contexts/local_spec.rb[1:1:
|
|
63
|
-
./spec/aircana/contexts/local_spec.rb[1:1:
|
|
64
|
-
./spec/aircana/contexts/
|
|
65
|
-
./spec/aircana/contexts/
|
|
66
|
-
./spec/aircana/contexts/
|
|
67
|
-
./spec/aircana/contexts/
|
|
68
|
-
./spec/aircana/contexts/
|
|
69
|
-
./spec/aircana/contexts/
|
|
70
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
|
71
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
|
72
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
|
73
|
-
./spec/aircana/contexts/manifest_spec.rb[1:4
|
|
74
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
|
75
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
|
76
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
|
77
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
|
78
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
|
79
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
|
80
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
|
81
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
|
82
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
|
83
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
|
84
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
|
85
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
|
86
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
|
87
|
-
./spec/aircana/contexts/manifest_spec.rb[1:
|
|
88
|
-
./spec/aircana/contexts/
|
|
89
|
-
./spec/aircana/contexts/
|
|
90
|
-
./spec/aircana/contexts/
|
|
91
|
-
./spec/aircana/contexts/
|
|
65
|
+
./spec/aircana/contexts/confluence_spec.rb[1:1:3:2] | passed | 0.00055 seconds |
|
|
66
|
+
./spec/aircana/contexts/confluence_spec.rb[1:2:1:1] | passed | 0.00041 seconds |
|
|
67
|
+
./spec/aircana/contexts/confluence_spec.rb[1:2:1:2] | passed | 0.00034 seconds |
|
|
68
|
+
./spec/aircana/contexts/confluence_spec.rb[1:2:1:3] | passed | 0.00032 seconds |
|
|
69
|
+
./spec/aircana/contexts/confluence_spec.rb[1:2:1:4] | passed | 0.00031 seconds |
|
|
70
|
+
./spec/aircana/contexts/confluence_spec.rb[1:2:2:1] | passed | 0.00028 seconds |
|
|
71
|
+
./spec/aircana/contexts/confluence_spec.rb[1:2:2:2] | passed | 0.00028 seconds |
|
|
72
|
+
./spec/aircana/contexts/local_spec.rb[1:1:1] | passed | 0.00062 seconds |
|
|
73
|
+
./spec/aircana/contexts/local_spec.rb[1:1:2] | passed | 0.00101 seconds |
|
|
74
|
+
./spec/aircana/contexts/local_spec.rb[1:1:3] | passed | 0.0005 seconds |
|
|
75
|
+
./spec/aircana/contexts/local_spec.rb[1:1:4] | passed | 0.00041 seconds |
|
|
76
|
+
./spec/aircana/contexts/local_spec.rb[1:1:5] | passed | 0.00044 seconds |
|
|
77
|
+
./spec/aircana/contexts/local_spec.rb[1:1:6] | passed | 0.00053 seconds |
|
|
78
|
+
./spec/aircana/contexts/local_spec.rb[1:1:7] | passed | 0.0024 seconds |
|
|
79
|
+
./spec/aircana/contexts/local_spec.rb[1:1:8] | passed | 0.00068 seconds |
|
|
80
|
+
./spec/aircana/contexts/manifest_spec.rb[1:1:1] | passed | 0.0013 seconds |
|
|
81
|
+
./spec/aircana/contexts/manifest_spec.rb[1:1:2] | passed | 0.00149 seconds |
|
|
82
|
+
./spec/aircana/contexts/manifest_spec.rb[1:1:3] | passed | 0.00099 seconds |
|
|
83
|
+
./spec/aircana/contexts/manifest_spec.rb[1:1:4] | passed | 0.00095 seconds |
|
|
84
|
+
./spec/aircana/contexts/manifest_spec.rb[1:2:1] | passed | 0.00123 seconds |
|
|
85
|
+
./spec/aircana/contexts/manifest_spec.rb[1:2:2] | passed | 0.0009 seconds |
|
|
86
|
+
./spec/aircana/contexts/manifest_spec.rb[1:2:3] | passed | 0.00118 seconds |
|
|
87
|
+
./spec/aircana/contexts/manifest_spec.rb[1:2:4] | passed | 0.00346 seconds |
|
|
88
|
+
./spec/aircana/contexts/manifest_spec.rb[1:2:5] | passed | 0.00112 seconds |
|
|
89
|
+
./spec/aircana/contexts/manifest_spec.rb[1:3:1] | passed | 0.00096 seconds |
|
|
90
|
+
./spec/aircana/contexts/manifest_spec.rb[1:3:2] | passed | 0.00023 seconds |
|
|
91
|
+
./spec/aircana/contexts/manifest_spec.rb[1:3:3] | passed | 0.00095 seconds |
|
|
92
|
+
./spec/aircana/contexts/manifest_spec.rb[1:3:4] | passed | 0.00097 seconds |
|
|
93
|
+
./spec/aircana/contexts/manifest_spec.rb[1:4:1] | passed | 0.00157 seconds |
|
|
94
|
+
./spec/aircana/contexts/manifest_spec.rb[1:4:2] | passed | 0.00026 seconds |
|
|
95
|
+
./spec/aircana/contexts/manifest_spec.rb[1:5:1] | passed | 0.00093 seconds |
|
|
96
|
+
./spec/aircana/contexts/manifest_spec.rb[1:5:2] | passed | 0.00129 seconds |
|
|
97
|
+
./spec/aircana/contexts/manifest_spec.rb[1:5:3] | passed | 0.00027 seconds |
|
|
98
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:1] | passed | 0.00102 seconds |
|
|
99
|
+
./spec/aircana/contexts/manifest_spec.rb[1:6:2] | passed | 0.00058 seconds |
|
|
100
|
+
./spec/aircana/contexts/manifest_spec.rb[1:7:1] | passed | 0.00046 seconds |
|
|
101
|
+
./spec/aircana/contexts/manifest_spec.rb[1:7:2] | passed | 0.00026 seconds |
|
|
102
|
+
./spec/aircana/contexts/manifest_spec.rb[1:7:3] | passed | 0.00024 seconds |
|
|
103
|
+
./spec/aircana/contexts/manifest_spec.rb[1:7:4] | passed | 0.00021 seconds |
|
|
104
|
+
./spec/aircana/contexts/manifest_spec.rb[1:7:5] | passed | 0.00021 seconds |
|
|
105
|
+
./spec/aircana/contexts/manifest_spec.rb[1:7:6] | passed | 0.0002 seconds |
|
|
106
|
+
./spec/aircana/contexts/manifest_spec.rb[1:7:7] | passed | 0.00019 seconds |
|
|
107
|
+
./spec/aircana/contexts/manifest_spec.rb[1:7:8] | passed | 0.00021 seconds |
|
|
108
|
+
./spec/aircana/contexts/manifest_spec.rb[1:7:9] | passed | 0.0002 seconds |
|
|
109
|
+
./spec/aircana/contexts/manifest_spec.rb[1:7:10] | passed | 0.00019 seconds |
|
|
110
|
+
./spec/aircana/contexts/manifest_spec.rb[1:7:11] | passed | 0.00127 seconds |
|
|
111
|
+
./spec/aircana/contexts/manifest_spec.rb[1:7:12] | passed | 0.00096 seconds |
|
|
112
|
+
./spec/aircana/contexts/web_spec.rb[1:1:1] | passed | 0.00042 seconds |
|
|
113
|
+
./spec/aircana/contexts/web_spec.rb[1:2:1] | passed | 0.00019 seconds |
|
|
114
|
+
./spec/aircana/contexts/web_spec.rb[1:3:1:1] | passed | 0.00028 seconds |
|
|
115
|
+
./spec/aircana/contexts/web_spec.rb[1:3:1:2] | passed | 0.00011 seconds |
|
|
92
116
|
./spec/aircana/contexts/web_spec.rb[1:3:1:3] | passed | 0.0001 seconds |
|
|
93
117
|
./spec/aircana/contexts/web_spec.rb[1:3:2:1] | passed | 0.00015 seconds |
|
|
94
118
|
./spec/aircana/contexts/web_spec.rb[1:3:2:2] | passed | 0.00011 seconds |
|
|
95
|
-
./spec/aircana/contexts/web_spec.rb[1:3:3:1] | passed | 0.
|
|
96
|
-
./spec/aircana/contexts/web_spec.rb[1:3:3:2] | passed | 0.
|
|
97
|
-
./spec/aircana/contexts/web_spec.rb[1:3:3:3] | passed | 0.
|
|
119
|
+
./spec/aircana/contexts/web_spec.rb[1:3:3:1] | passed | 0.00016 seconds |
|
|
120
|
+
./spec/aircana/contexts/web_spec.rb[1:3:3:2] | passed | 0.00029 seconds |
|
|
121
|
+
./spec/aircana/contexts/web_spec.rb[1:3:3:3] | passed | 0.00033 seconds |
|
|
98
122
|
./spec/aircana/contexts/web_spec.rb[1:3:3:4] | passed | 0.00015 seconds |
|
|
99
|
-
./spec/aircana/contexts/web_spec.rb[1:3:3:5] | passed | 0.
|
|
123
|
+
./spec/aircana/contexts/web_spec.rb[1:3:3:5] | passed | 0.00019 seconds |
|
|
100
124
|
./spec/aircana/contexts/web_spec.rb[1:3:4:1] | passed | 0.00012 seconds |
|
|
101
125
|
./spec/aircana/contexts/web_spec.rb[1:3:4:2] | passed | 0.00011 seconds |
|
|
102
|
-
./spec/aircana/contexts/web_spec.rb[1:3:4:3] | passed | 0.
|
|
103
|
-
./spec/aircana/contexts/web_spec.rb[1:3:5:1] | passed | 0.
|
|
104
|
-
./spec/aircana/contexts/web_spec.rb[1:3:5:2] | passed | 0.
|
|
105
|
-
./spec/aircana/contexts/web_spec.rb[1:3:5:3] | passed | 0.
|
|
106
|
-
./spec/aircana/contexts/web_spec.rb[1:3:6:1] | passed | 0.
|
|
107
|
-
./spec/aircana/contexts/web_spec.rb[1:3:6:2] | passed | 0.
|
|
108
|
-
./spec/aircana/contexts/web_spec.rb[1:3:6:3] | passed | 0.
|
|
109
|
-
./spec/aircana/contexts/web_spec.rb[1:3:7:1] | passed | 0.
|
|
110
|
-
./spec/aircana/contexts/web_spec.rb[1:3:7:2] | passed | 0.
|
|
126
|
+
./spec/aircana/contexts/web_spec.rb[1:3:4:3] | passed | 0.00011 seconds |
|
|
127
|
+
./spec/aircana/contexts/web_spec.rb[1:3:5:1] | passed | 0.00088 seconds |
|
|
128
|
+
./spec/aircana/contexts/web_spec.rb[1:3:5:2] | passed | 0.00016 seconds |
|
|
129
|
+
./spec/aircana/contexts/web_spec.rb[1:3:5:3] | passed | 0.00031 seconds |
|
|
130
|
+
./spec/aircana/contexts/web_spec.rb[1:3:6:1] | passed | 0.00024 seconds |
|
|
131
|
+
./spec/aircana/contexts/web_spec.rb[1:3:6:2] | passed | 0.00024 seconds |
|
|
132
|
+
./spec/aircana/contexts/web_spec.rb[1:3:6:3] | passed | 0.00025 seconds |
|
|
133
|
+
./spec/aircana/contexts/web_spec.rb[1:3:7:1] | passed | 0.00012 seconds |
|
|
134
|
+
./spec/aircana/contexts/web_spec.rb[1:3:7:2] | passed | 0.00019 seconds |
|
|
135
|
+
./spec/aircana/contexts/web_spec.rb[1:4:1:1] | passed | 0.00028 seconds |
|
|
136
|
+
./spec/aircana/contexts/web_spec.rb[1:4:1:2] | passed | 0.00023 seconds |
|
|
137
|
+
./spec/aircana/contexts/web_spec.rb[1:4:1:3] | passed | 0.00021 seconds |
|
|
138
|
+
./spec/aircana/contexts/web_spec.rb[1:4:1:4] | passed | 0.00037 seconds |
|
|
139
|
+
./spec/aircana/contexts/web_spec.rb[1:4:2:1] | passed | 0.00019 seconds |
|
|
140
|
+
./spec/aircana/contexts/web_spec.rb[1:4:2:2] | passed | 0.00017 seconds |
|
|
111
141
|
./spec/aircana/fzf_helper_spec.rb[1:1:1:1] | passed | 0.00017 seconds |
|
|
112
|
-
./spec/aircana/fzf_helper_spec.rb[1:1:1:2] | passed | 0.
|
|
113
|
-
./spec/aircana/fzf_helper_spec.rb[1:1:1:3] | passed | 0.
|
|
114
|
-
./spec/aircana/fzf_helper_spec.rb[1:1:2:1] | passed | 0.
|
|
115
|
-
./spec/aircana/fzf_helper_spec.rb[1:1:3:1] | passed | 0.
|
|
116
|
-
./spec/aircana/fzf_helper_spec.rb[1:2:1:1] | passed | 0.
|
|
142
|
+
./spec/aircana/fzf_helper_spec.rb[1:1:1:2] | passed | 0.00028 seconds |
|
|
143
|
+
./spec/aircana/fzf_helper_spec.rb[1:1:1:3] | passed | 0.00026 seconds |
|
|
144
|
+
./spec/aircana/fzf_helper_spec.rb[1:1:2:1] | passed | 0.0003 seconds |
|
|
145
|
+
./spec/aircana/fzf_helper_spec.rb[1:1:3:1] | passed | 0.00022 seconds |
|
|
146
|
+
./spec/aircana/fzf_helper_spec.rb[1:2:1:1] | passed | 0.00011 seconds |
|
|
117
147
|
./spec/aircana/fzf_helper_spec.rb[1:2:1:2] | passed | 0.0001 seconds |
|
|
118
|
-
./spec/aircana/fzf_helper_spec.rb[1:2:1:3] | passed | 0.
|
|
119
|
-
./spec/aircana/fzf_helper_spec.rb[1:2:2:1] | passed | 0.
|
|
120
|
-
./spec/aircana/fzf_helper_spec.rb[1:2:2:2] | passed | 0.
|
|
148
|
+
./spec/aircana/fzf_helper_spec.rb[1:2:1:3] | passed | 0.0001 seconds |
|
|
149
|
+
./spec/aircana/fzf_helper_spec.rb[1:2:2:1] | passed | 0.0001 seconds |
|
|
150
|
+
./spec/aircana/fzf_helper_spec.rb[1:2:2:2] | passed | 0.00008 seconds |
|
|
121
151
|
./spec/aircana/generators/hooks_generator_spec.rb[1:1:1] | passed | 0.00003 seconds |
|
|
122
152
|
./spec/aircana/generators/hooks_generator_spec.rb[1:2:1] | passed | 0.00003 seconds |
|
|
123
|
-
./spec/aircana/generators/hooks_generator_spec.rb[1:3:1] | passed | 0.
|
|
124
|
-
./spec/aircana/generators/hooks_generator_spec.rb[1:3:2] | passed | 0.
|
|
153
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:3:1] | passed | 0.00039 seconds |
|
|
154
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:3:2] | passed | 0.0002 seconds |
|
|
125
155
|
./spec/aircana/generators/hooks_generator_spec.rb[1:4:1] | passed | 0.00009 seconds |
|
|
126
156
|
./spec/aircana/generators/hooks_generator_spec.rb[1:5:1:1] | passed | 0.00009 seconds |
|
|
127
|
-
./spec/aircana/generators/hooks_generator_spec.rb[1:5:2:1] | passed | 0.
|
|
128
|
-
./spec/aircana/generators/hooks_generator_spec.rb[1:6:1] | passed | 0.
|
|
129
|
-
./spec/aircana/generators/hooks_generator_spec.rb[1:7:1] | passed | 0.
|
|
157
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:5:2:1] | passed | 0.00003 seconds |
|
|
158
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:6:1] | passed | 0.00057 seconds |
|
|
159
|
+
./spec/aircana/generators/hooks_generator_spec.rb[1:7:1] | passed | 0.00014 seconds |
|
|
130
160
|
./spec/aircana/generators/plan_command_generator_spec.rb[1:1:1] | passed | 0.00073 seconds |
|
|
131
|
-
./spec/aircana/generators/plan_command_generator_spec.rb[1:1:2] | passed | 0.
|
|
132
|
-
./spec/aircana/generators/plan_command_generator_spec.rb[1:1:3] | passed | 0.
|
|
133
|
-
./spec/aircana/generators/plan_command_generator_spec.rb[1:2:1] | passed | 0.
|
|
161
|
+
./spec/aircana/generators/plan_command_generator_spec.rb[1:1:2] | passed | 0.00048 seconds |
|
|
162
|
+
./spec/aircana/generators/plan_command_generator_spec.rb[1:1:3] | passed | 0.00048 seconds |
|
|
163
|
+
./spec/aircana/generators/plan_command_generator_spec.rb[1:2:1] | passed | 0.00011 seconds |
|
|
134
164
|
./spec/aircana/generators/plan_command_generator_spec.rb[1:2:2] | passed | 0.00008 seconds |
|
|
135
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:1:1] | passed | 0.
|
|
136
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:1:2] | passed | 0.
|
|
137
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:1:3] | passed | 0.
|
|
138
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:2:1] | passed | 0.
|
|
139
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:2:2] | passed | 0.
|
|
140
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:2:3] | passed | 0.
|
|
141
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:3:1] | passed | 0.
|
|
165
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:1:1] | passed | 0.00036 seconds |
|
|
166
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:1:2] | passed | 0.00021 seconds |
|
|
167
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:1:3] | passed | 0.00019 seconds |
|
|
168
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:2:1] | passed | 0.0003 seconds |
|
|
169
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:2:2] | passed | 0.0003 seconds |
|
|
170
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:2:3] | passed | 0.00031 seconds |
|
|
171
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:3:1] | passed | 0.0002 seconds |
|
|
142
172
|
./spec/aircana/generators/skills_generator_spec.rb[1:3:2] | passed | 0.00024 seconds |
|
|
143
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:3:3] | passed | 0.
|
|
173
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:3:3] | passed | 0.00022 seconds |
|
|
144
174
|
./spec/aircana/generators/skills_generator_spec.rb[1:3:4] | passed | 0.00021 seconds |
|
|
145
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:3:5] | passed | 0.
|
|
175
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:3:5] | passed | 0.00033 seconds |
|
|
146
176
|
./spec/aircana/generators/skills_generator_spec.rb[1:4:1] | passed | 0.00023 seconds |
|
|
147
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:4:2] | passed | 0.
|
|
148
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:4:3] | passed | 0.
|
|
149
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:5:1] | passed | 0.
|
|
150
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:6:1] | passed | 0.
|
|
151
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:6:2] | passed | 0.
|
|
152
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:6:3] | passed | 0.
|
|
153
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:6:4] | passed | 0.
|
|
154
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:6:5] | passed | 0.
|
|
155
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:6:6] | passed | 0.
|
|
156
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:6:7] | passed | 0.
|
|
157
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:7:1] | passed | 0.
|
|
158
|
-
./spec/aircana/generators/skills_generator_spec.rb[1:7:2] | passed | 0.
|
|
177
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:4:2] | passed | 0.00028 seconds |
|
|
178
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:4:3] | passed | 0.00023 seconds |
|
|
179
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:5:1] | passed | 0.00022 seconds |
|
|
180
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:6:1] | passed | 0.00022 seconds |
|
|
181
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:6:2] | passed | 0.00028 seconds |
|
|
182
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:6:3] | passed | 0.00024 seconds |
|
|
183
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:6:4] | passed | 0.00022 seconds |
|
|
184
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:6:5] | passed | 0.00023 seconds |
|
|
185
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:6:6] | passed | 0.0002 seconds |
|
|
186
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:6:7] | passed | 0.00022 seconds |
|
|
187
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:7:1] | passed | 0.00174 seconds |
|
|
188
|
+
./spec/aircana/generators/skills_generator_spec.rb[1:7:2] | passed | 0.00153 seconds |
|
|
159
189
|
./spec/aircana/human_logger_spec.rb[1:1:1] | passed | 0.00008 seconds |
|
|
160
190
|
./spec/aircana/human_logger_spec.rb[1:2:1] | passed | 0.00004 seconds |
|
|
161
191
|
./spec/aircana/human_logger_spec.rb[1:3:1] | passed | 0.00004 seconds |
|
|
162
192
|
./spec/aircana/human_logger_spec.rb[1:4:1] | passed | 0.00004 seconds |
|
|
163
193
|
./spec/aircana/human_logger_spec.rb[1:5:1] | passed | 0.00003 seconds |
|
|
164
|
-
./spec/aircana/human_logger_spec.rb[1:5:2] | passed | 0.
|
|
194
|
+
./spec/aircana/human_logger_spec.rb[1:5:2] | passed | 0.00004 seconds |
|
|
165
195
|
./spec/aircana/human_logger_spec.rb[1:5:3] | passed | 0.00003 seconds |
|
|
166
196
|
./spec/aircana/human_logger_spec.rb[1:5:4] | passed | 0.00003 seconds |
|
|
167
197
|
./spec/aircana/human_logger_spec.rb[1:5:5] | passed | 0.00003 seconds |
|
|
168
198
|
./spec/aircana/human_logger_spec.rb[1:5:6] | passed | 0.00003 seconds |
|
|
169
199
|
./spec/aircana/human_logger_spec.rb[1:5:7] | passed | 0.00003 seconds |
|
|
170
200
|
./spec/aircana/human_logger_spec.rb[1:6:1] | passed | 0.00003 seconds |
|
|
171
|
-
./spec/aircana/llm/base_spec.rb[1:1:1] | passed | 0.
|
|
172
|
-
./spec/aircana/llm/base_spec.rb[1:2:1] | passed | 0.
|
|
173
|
-
./spec/aircana/llm/base_spec.rb[1:2:2] | passed | 0.
|
|
201
|
+
./spec/aircana/llm/base_spec.rb[1:1:1] | passed | 0.00031 seconds |
|
|
202
|
+
./spec/aircana/llm/base_spec.rb[1:2:1] | passed | 0.00017 seconds |
|
|
203
|
+
./spec/aircana/llm/base_spec.rb[1:2:2] | passed | 0.00015 seconds |
|
|
174
204
|
./spec/aircana/llm/base_spec.rb[1:2:3] | passed | 0.00016 seconds |
|
|
175
205
|
./spec/aircana/llm/base_spec.rb[1:3:1:1] | passed | 0.00027 seconds |
|
|
176
206
|
./spec/aircana/llm/base_spec.rb[1:3:2:1] | passed | 0.00023 seconds |
|
|
177
|
-
./spec/aircana/llm/base_spec.rb[1:3:2:2] | passed | 0.
|
|
178
|
-
./spec/aircana/llm/base_spec.rb[1:3:3:1] | passed | 0.
|
|
179
|
-
./spec/aircana/llm/base_spec.rb[1:3:3:2] | passed | 0.
|
|
180
|
-
./spec/aircana/llm/bedrock_client_spec.rb[1:1:1:1] | passed | 0.
|
|
181
|
-
./spec/aircana/llm/bedrock_client_spec.rb[1:1:1:2] | passed | 0.
|
|
182
|
-
./spec/aircana/llm/bedrock_client_spec.rb[1:1:1:3] | passed | 0.
|
|
183
|
-
./spec/aircana/llm/bedrock_client_spec.rb[1:1:1:4] | passed | 0.
|
|
184
|
-
./spec/aircana/llm/bedrock_client_spec.rb[1:1:1:5] | passed | 0.
|
|
185
|
-
./spec/aircana/llm/bedrock_client_spec.rb[1:1:1:6] | passed | 0.
|
|
186
|
-
./spec/aircana/llm/bedrock_client_spec.rb[1:1:1:7] | passed | 0.
|
|
187
|
-
./spec/aircana/llm/bedrock_client_spec.rb[1:1:2:1] | passed | 0.
|
|
188
|
-
./spec/aircana/llm/bedrock_client_spec.rb[1:1:2:2] | passed | 0.
|
|
189
|
-
./spec/aircana/llm/bedrock_client_spec.rb[1:1:3:1] | passed | 0.
|
|
190
|
-
./spec/aircana/llm/bedrock_client_spec.rb[1:2:1] | passed | 0.
|
|
191
|
-
./spec/aircana/llm/claude_client_spec.rb[1:1:1:1] | passed | 0.
|
|
192
|
-
./spec/aircana/llm/claude_client_spec.rb[1:1:1:2] | passed | 0.
|
|
193
|
-
./spec/aircana/llm/claude_client_spec.rb[1:1:1:3] | passed | 0.
|
|
194
|
-
./spec/aircana/llm/claude_client_spec.rb[1:1:1:4] | passed | 0.
|
|
195
|
-
./spec/aircana/llm/claude_client_spec.rb[1:1:2:1] | passed | 0.
|
|
196
|
-
./spec/aircana/llm/claude_client_spec.rb[1:1:2:2] | passed | 0.
|
|
197
|
-
./spec/aircana/llm/claude_client_spec.rb[1:1:3:1] | passed | 0.
|
|
198
|
-
./spec/aircana/llm/claude_client_spec.rb[1:2:1] | passed | 0.
|
|
207
|
+
./spec/aircana/llm/base_spec.rb[1:3:2:2] | passed | 0.00016 seconds |
|
|
208
|
+
./spec/aircana/llm/base_spec.rb[1:3:3:1] | passed | 0.00022 seconds |
|
|
209
|
+
./spec/aircana/llm/base_spec.rb[1:3:3:2] | passed | 0.00017 seconds |
|
|
210
|
+
./spec/aircana/llm/bedrock_client_spec.rb[1:1:1:1] | passed | 0.37544 seconds |
|
|
211
|
+
./spec/aircana/llm/bedrock_client_spec.rb[1:1:1:2] | passed | 0.00047 seconds |
|
|
212
|
+
./spec/aircana/llm/bedrock_client_spec.rb[1:1:1:3] | passed | 0.00036 seconds |
|
|
213
|
+
./spec/aircana/llm/bedrock_client_spec.rb[1:1:1:4] | passed | 0.00038 seconds |
|
|
214
|
+
./spec/aircana/llm/bedrock_client_spec.rb[1:1:1:5] | passed | 0.00037 seconds |
|
|
215
|
+
./spec/aircana/llm/bedrock_client_spec.rb[1:1:1:6] | passed | 0.00037 seconds |
|
|
216
|
+
./spec/aircana/llm/bedrock_client_spec.rb[1:1:1:7] | passed | 0.00036 seconds |
|
|
217
|
+
./spec/aircana/llm/bedrock_client_spec.rb[1:1:2:1] | passed | 0.00034 seconds |
|
|
218
|
+
./spec/aircana/llm/bedrock_client_spec.rb[1:1:2:2] | passed | 0.00029 seconds |
|
|
219
|
+
./spec/aircana/llm/bedrock_client_spec.rb[1:1:3:1] | passed | 0.00152 seconds |
|
|
220
|
+
./spec/aircana/llm/bedrock_client_spec.rb[1:2:1] | passed | 0.00018 seconds |
|
|
221
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:1:1] | passed | 0.00037 seconds |
|
|
222
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:1:2] | passed | 0.00058 seconds |
|
|
223
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:1:3] | passed | 0.00031 seconds |
|
|
224
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:1:4] | passed | 0.00031 seconds |
|
|
225
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:2:1] | passed | 0.00034 seconds |
|
|
226
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:2:2] | passed | 0.0003 seconds |
|
|
227
|
+
./spec/aircana/llm/claude_client_spec.rb[1:1:3:1] | passed | 0.00035 seconds |
|
|
228
|
+
./spec/aircana/llm/claude_client_spec.rb[1:2:1] | passed | 0.00031 seconds |
|
|
199
229
|
./spec/aircana/llm/claude_client_spec.rb[1:2:2] | passed | 0.00031 seconds |
|
|
200
230
|
./spec/aircana/llm/claude_client_spec.rb[1:3:1:1] | passed | 0.00021 seconds |
|
|
201
|
-
./spec/aircana/llm/claude_client_spec.rb[1:3:1:2] | passed | 0.
|
|
231
|
+
./spec/aircana/llm/claude_client_spec.rb[1:3:1:2] | passed | 0.00024 seconds |
|
|
202
232
|
./spec/aircana/llm_spec.rb[1:1:1:1] | passed | 0.00008 seconds |
|
|
203
|
-
./spec/aircana/llm_spec.rb[1:1:1:2] | passed | 0.
|
|
233
|
+
./spec/aircana/llm_spec.rb[1:1:1:2] | passed | 0.00006 seconds |
|
|
204
234
|
./spec/aircana/llm_spec.rb[1:1:2:1] | passed | 0.00007 seconds |
|
|
205
|
-
./spec/aircana/llm_spec.rb[1:1:3:1] | passed | 0.
|
|
206
|
-
./spec/aircana/llm_spec.rb[1:1:3:2] | passed | 0.
|
|
207
|
-
./spec/aircana/system_checker_spec.rb[1:1:1:1] | passed | 0.
|
|
208
|
-
./spec/aircana/system_checker_spec.rb[1:1:2:1] | passed | 0.
|
|
209
|
-
./spec/aircana/system_checker_spec.rb[1:1:3:1] | passed | 0.
|
|
210
|
-
./spec/aircana/system_checker_spec.rb[1:2:1] | passed | 0.
|
|
211
|
-
./spec/aircana/system_checker_spec.rb[1:2:2] | passed | 0.
|
|
212
|
-
./spec/aircana/system_checker_spec.rb[1:3:1] | passed | 0.
|
|
213
|
-
./spec/aircana/system_checker_spec.rb[1:3:2] | passed | 0.
|
|
235
|
+
./spec/aircana/llm_spec.rb[1:1:3:1] | passed | 0.00013 seconds |
|
|
236
|
+
./spec/aircana/llm_spec.rb[1:1:3:2] | passed | 0.00011 seconds |
|
|
237
|
+
./spec/aircana/system_checker_spec.rb[1:1:1:1] | passed | 0.00032 seconds |
|
|
238
|
+
./spec/aircana/system_checker_spec.rb[1:1:2:1] | passed | 0.00039 seconds |
|
|
239
|
+
./spec/aircana/system_checker_spec.rb[1:1:3:1] | passed | 0.00069 seconds |
|
|
240
|
+
./spec/aircana/system_checker_spec.rb[1:2:1] | passed | 0.00021 seconds |
|
|
241
|
+
./spec/aircana/system_checker_spec.rb[1:2:2] | passed | 0.00061 seconds |
|
|
242
|
+
./spec/aircana/system_checker_spec.rb[1:3:1] | passed | 0.00043 seconds |
|
|
243
|
+
./spec/aircana/system_checker_spec.rb[1:3:2] | passed | 0.00064 seconds |
|
|
214
244
|
./spec/aircana/system_checker_spec.rb[1:3:3] | passed | 0.00093 seconds |
|
|
215
|
-
./spec/aircana/system_checker_spec.rb[1:3:4] | passed | 0.
|
|
216
|
-
./spec/aircana/system_checker_spec.rb[1:3:5] | passed | 0.
|
|
217
|
-
./spec/aircana_spec.rb[1:1] | passed | 0.
|
|
218
|
-
./spec/aircana_spec.rb[1:2] | passed | 0.
|
|
245
|
+
./spec/aircana/system_checker_spec.rb[1:3:4] | passed | 0.00127 seconds |
|
|
246
|
+
./spec/aircana/system_checker_spec.rb[1:3:5] | passed | 0.00075 seconds |
|
|
247
|
+
./spec/aircana_spec.rb[1:1] | passed | 0.00057 seconds |
|
|
248
|
+
./spec/aircana_spec.rb[1:2] | passed | 0.00319 seconds |
|
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [5.1.1]
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- Fixed agent color changing randomly on KB refresh
|
|
12
|
+
- Colors are now persisted in manifest.json
|
|
13
|
+
- On first refresh after upgrade, the generated color is stored in the manifest
|
|
14
|
+
- Subsequent refreshes read the color from manifest, ensuring consistency
|
|
15
|
+
- Added `color` field to manifest schema (backward compatible)
|
|
16
|
+
- Added `color_from_manifest()` helper method to Manifest class
|
|
17
|
+
|
|
8
18
|
## [5.1.0]
|
|
9
19
|
|
|
10
20
|
### Added
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "digest"
|
|
4
|
+
|
|
5
|
+
module Aircana
|
|
6
|
+
module Checksum
|
|
7
|
+
def self.compute(content)
|
|
8
|
+
return nil if content.nil? || content.empty?
|
|
9
|
+
|
|
10
|
+
"sha256:#{Digest::SHA256.hexdigest(content)}"
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def self.match?(stored_checksum, content)
|
|
14
|
+
return false if stored_checksum.nil? || content.nil?
|
|
15
|
+
|
|
16
|
+
compute(content) == stored_checksum
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -189,15 +189,24 @@ module Aircana
|
|
|
189
189
|
def regenerate_agent_md(kb_name)
|
|
190
190
|
return unless Aircana::Contexts::Manifest.manifest_exists?(kb_name)
|
|
191
191
|
|
|
192
|
-
# Generate agent from manifest
|
|
193
192
|
generator = Generators::AgentsGenerator.from_manifest(kb_name)
|
|
194
|
-
|
|
195
193
|
generator.generate
|
|
194
|
+
|
|
195
|
+
persist_color_if_needed(kb_name, generator.color)
|
|
196
|
+
|
|
196
197
|
Aircana.human_logger.success "Generated agent for '#{kb_name}'"
|
|
197
198
|
rescue StandardError => e
|
|
198
199
|
Aircana.human_logger.warn "Failed to generate agent: #{e.message}"
|
|
199
200
|
end
|
|
200
201
|
|
|
202
|
+
def persist_color_if_needed(kb_name, color)
|
|
203
|
+
existing_color = Aircana::Contexts::Manifest.color_from_manifest(kb_name)
|
|
204
|
+
return if existing_color
|
|
205
|
+
|
|
206
|
+
sources = Aircana::Contexts::Manifest.sources_from_manifest(kb_name)
|
|
207
|
+
Aircana::Contexts::Manifest.update_manifest(kb_name, sources, color: color)
|
|
208
|
+
end
|
|
209
|
+
|
|
201
210
|
def log_no_pages_found(normalized_kb_name)
|
|
202
211
|
Aircana.human_logger.info "No pages found for KB '#{normalized_kb_name}'. " \
|
|
203
212
|
"Make sure pages are labeled with '#{normalized_kb_name}' in Confluence."
|
|
@@ -81,10 +81,11 @@ module Aircana
|
|
|
81
81
|
|
|
82
82
|
def process_pages_with_manifest(pages, kb_name, label = nil)
|
|
83
83
|
page_metadata = []
|
|
84
|
+
existing_metadata = load_existing_page_metadata(kb_name)
|
|
84
85
|
|
|
85
86
|
ProgressTracker.with_batch_progress(pages, "Processing pages") do |page, _index|
|
|
86
87
|
store_page_as_markdown(page, kb_name)
|
|
87
|
-
page_metadata << extract_page_metadata(page)
|
|
88
|
+
page_metadata << extract_page_metadata(page, existing_metadata: existing_metadata)
|
|
88
89
|
end
|
|
89
90
|
|
|
90
91
|
build_source_metadata(kb_name, page_metadata, label)
|
|
@@ -92,16 +93,40 @@ module Aircana
|
|
|
92
93
|
|
|
93
94
|
private
|
|
94
95
|
|
|
95
|
-
def
|
|
96
|
+
def load_existing_page_metadata(kb_name)
|
|
97
|
+
sources = Manifest.sources_from_manifest(kb_name)
|
|
98
|
+
confluence_sources = sources.select { |s| s["type"] == "confluence" }
|
|
99
|
+
return {} if confluence_sources.empty?
|
|
100
|
+
|
|
101
|
+
metadata = {}
|
|
102
|
+
confluence_sources.each do |source|
|
|
103
|
+
(source["pages"] || []).each do |page|
|
|
104
|
+
metadata[page["id"]] = page
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
metadata
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def extract_page_metadata(page, existing_metadata: nil)
|
|
111
|
+
existing_metadata ||= {}
|
|
96
112
|
content = page&.dig("body", "storage", "value") || ""
|
|
97
113
|
markdown_content = convert_to_markdown(content)
|
|
98
114
|
title = page["title"] || "Confluence page"
|
|
99
|
-
|
|
115
|
+
content_checksum = Aircana::Checksum.compute(markdown_content)
|
|
116
|
+
|
|
117
|
+
existing = existing_metadata[page["id"]]
|
|
118
|
+
summary = if existing && Aircana::Checksum.match?(existing["content_checksum"], markdown_content)
|
|
119
|
+
Aircana.human_logger.info("Content unchanged for '#{title}', reusing summary")
|
|
120
|
+
existing["summary"]
|
|
121
|
+
else
|
|
122
|
+
generate_summary(markdown_content, title)
|
|
123
|
+
end
|
|
100
124
|
|
|
101
125
|
{
|
|
102
126
|
"id" => page["id"],
|
|
103
127
|
"title" => title,
|
|
104
|
-
"summary" => summary
|
|
128
|
+
"summary" => summary,
|
|
129
|
+
"content_checksum" => content_checksum
|
|
105
130
|
}
|
|
106
131
|
end
|
|
107
132
|
|
|
@@ -115,7 +140,7 @@ module Aircana
|
|
|
115
140
|
end
|
|
116
141
|
|
|
117
142
|
def build_summary_prompt(content, title)
|
|
118
|
-
truncated_content = content.length >
|
|
143
|
+
truncated_content = content.length > 10_000 ? "#{content[0..10_000]}..." : content
|
|
119
144
|
|
|
120
145
|
<<~PROMPT
|
|
121
146
|
Generate a concise 8-12 word summary of the following documentation.
|
|
@@ -124,8 +149,7 @@ module Aircana
|
|
|
124
149
|
Content:
|
|
125
150
|
#{truncated_content}
|
|
126
151
|
|
|
127
|
-
|
|
128
|
-
someone understand when they should read it. Focus on the key topics covered.
|
|
152
|
+
Focus your summary on listing each topic or feature covered in the documentation.
|
|
129
153
|
|
|
130
154
|
Respond with only the summary text, no additional explanation or formatting.
|
|
131
155
|
PROMPT
|
|
@@ -7,11 +7,11 @@ module Aircana
|
|
|
7
7
|
module Contexts
|
|
8
8
|
class Manifest
|
|
9
9
|
class << self
|
|
10
|
-
def create_manifest(kb_name, sources)
|
|
10
|
+
def create_manifest(kb_name, sources, color: nil)
|
|
11
11
|
validate_sources(sources)
|
|
12
12
|
|
|
13
13
|
manifest_path = manifest_path_for(kb_name)
|
|
14
|
-
manifest_data = build_manifest_data(kb_name, sources)
|
|
14
|
+
manifest_data = build_manifest_data(kb_name, sources, color)
|
|
15
15
|
|
|
16
16
|
FileUtils.mkdir_p(File.dirname(manifest_path))
|
|
17
17
|
File.write(manifest_path, JSON.pretty_generate(manifest_data))
|
|
@@ -20,7 +20,7 @@ module Aircana
|
|
|
20
20
|
manifest_path
|
|
21
21
|
end
|
|
22
22
|
|
|
23
|
-
def update_manifest(kb_name, sources)
|
|
23
|
+
def update_manifest(kb_name, sources, color: nil)
|
|
24
24
|
validate_sources(sources)
|
|
25
25
|
|
|
26
26
|
manifest_path = manifest_path_for(kb_name)
|
|
@@ -29,8 +29,9 @@ module Aircana
|
|
|
29
29
|
existing_data = JSON.parse(File.read(manifest_path))
|
|
30
30
|
manifest_data = existing_data.merge({ "sources" => sources })
|
|
31
31
|
manifest_data.delete("kb_type")
|
|
32
|
+
manifest_data["color"] = color if color
|
|
32
33
|
else
|
|
33
|
-
manifest_data = build_manifest_data(kb_name, sources)
|
|
34
|
+
manifest_data = build_manifest_data(kb_name, sources, color)
|
|
34
35
|
end
|
|
35
36
|
|
|
36
37
|
FileUtils.mkdir_p(File.dirname(manifest_path))
|
|
@@ -62,6 +63,13 @@ module Aircana
|
|
|
62
63
|
manifest["sources"] || []
|
|
63
64
|
end
|
|
64
65
|
|
|
66
|
+
def color_from_manifest(kb_name)
|
|
67
|
+
manifest = read_manifest(kb_name)
|
|
68
|
+
return nil unless manifest
|
|
69
|
+
|
|
70
|
+
manifest["color"]
|
|
71
|
+
end
|
|
72
|
+
|
|
65
73
|
def manifest_exists?(kb_name)
|
|
66
74
|
File.exist?(manifest_path_for(kb_name))
|
|
67
75
|
end
|
|
@@ -77,12 +85,14 @@ module Aircana
|
|
|
77
85
|
File.join(Aircana.configuration.kb_knowledge_dir, kb_name)
|
|
78
86
|
end
|
|
79
87
|
|
|
80
|
-
def build_manifest_data(kb_name, sources)
|
|
81
|
-
{
|
|
88
|
+
def build_manifest_data(kb_name, sources, color = nil)
|
|
89
|
+
data = {
|
|
82
90
|
"version" => "1.0",
|
|
83
91
|
"name" => kb_name,
|
|
84
92
|
"sources" => sources
|
|
85
93
|
}
|
|
94
|
+
data["color"] = color if color
|
|
95
|
+
data
|
|
86
96
|
end
|
|
87
97
|
|
|
88
98
|
def validate_manifest(manifest_data)
|
data/lib/aircana/contexts/web.rb
CHANGED
|
@@ -21,26 +21,27 @@ module Aircana
|
|
|
21
21
|
@local_storage = Local.new
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
-
def fetch_url_for(kb_name:, url:)
|
|
24
|
+
def fetch_url_for(kb_name:, url:, existing_metadata: nil)
|
|
25
25
|
validate_url!(url)
|
|
26
26
|
|
|
27
27
|
page_data = fetch_and_process_url(url)
|
|
28
28
|
store_page_as_markdown(page_data, kb_name)
|
|
29
29
|
|
|
30
|
-
build_url_metadata(page_data)
|
|
30
|
+
build_url_metadata(page_data, existing_metadata: existing_metadata)
|
|
31
31
|
rescue StandardError => e
|
|
32
32
|
handle_fetch_error(url, e)
|
|
33
33
|
nil
|
|
34
34
|
end
|
|
35
35
|
|
|
36
|
-
def fetch_urls_for(kb_name:, urls:) # rubocop:disable Metrics/MethodLength
|
|
36
|
+
def fetch_urls_for(kb_name:, urls:, existing_metadata: nil) # rubocop:disable Metrics/MethodLength
|
|
37
37
|
return { pages_count: 0, sources: [] } if urls.empty?
|
|
38
38
|
|
|
39
|
+
existing_metadata ||= load_existing_url_metadata(kb_name)
|
|
39
40
|
pages_metadata = []
|
|
40
41
|
successful_urls = []
|
|
41
42
|
|
|
42
43
|
ProgressTracker.with_batch_progress(urls, "Fetching URLs") do |url, _index|
|
|
43
|
-
metadata = fetch_url_for(kb_name: kb_name, url: url)
|
|
44
|
+
metadata = fetch_url_for(kb_name: kb_name, url: url, existing_metadata: existing_metadata)
|
|
44
45
|
if metadata
|
|
45
46
|
pages_metadata << metadata
|
|
46
47
|
successful_urls << url
|
|
@@ -65,7 +66,8 @@ module Aircana
|
|
|
65
66
|
all_urls = web_sources.flat_map { |source| source["urls"]&.map { |u| u["url"] } || [] }
|
|
66
67
|
return { pages_count: 0, sources: [] } if all_urls.empty?
|
|
67
68
|
|
|
68
|
-
|
|
69
|
+
existing_metadata = load_existing_url_metadata(kb_name)
|
|
70
|
+
fetch_urls_for(kb_name: kb_name, urls: all_urls, existing_metadata: existing_metadata)
|
|
69
71
|
end
|
|
70
72
|
|
|
71
73
|
private
|
|
@@ -206,13 +208,36 @@ module Aircana
|
|
|
206
208
|
)
|
|
207
209
|
end
|
|
208
210
|
|
|
209
|
-
def
|
|
210
|
-
|
|
211
|
+
def load_existing_url_metadata(kb_name)
|
|
212
|
+
sources = Manifest.sources_from_manifest(kb_name)
|
|
213
|
+
web_sources = sources.select { |s| s["type"] == "web" }
|
|
214
|
+
return {} if web_sources.empty?
|
|
211
215
|
|
|
212
|
-
{
|
|
213
|
-
|
|
214
|
-
"
|
|
215
|
-
|
|
216
|
+
metadata = {}
|
|
217
|
+
web_sources.each do |source|
|
|
218
|
+
(source["urls"] || []).each do |url_entry|
|
|
219
|
+
metadata[url_entry["url"]] = url_entry
|
|
220
|
+
end
|
|
221
|
+
end
|
|
222
|
+
metadata
|
|
223
|
+
end
|
|
224
|
+
|
|
225
|
+
def build_url_metadata(page_data, existing_metadata: nil)
|
|
226
|
+
existing_metadata ||= {}
|
|
227
|
+
content_checksum = Aircana::Checksum.compute(page_data[:content])
|
|
228
|
+
existing = existing_metadata[page_data[:url]]
|
|
229
|
+
summary = resolve_summary(page_data, existing)
|
|
230
|
+
|
|
231
|
+
{ "url" => page_data[:url], "summary" => summary, "content_checksum" => content_checksum }
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
def resolve_summary(page_data, existing)
|
|
235
|
+
if existing && Aircana::Checksum.match?(existing["content_checksum"], page_data[:content])
|
|
236
|
+
Aircana.human_logger.info("Content unchanged for '#{page_data[:title]}', reusing summary")
|
|
237
|
+
existing["summary"]
|
|
238
|
+
else
|
|
239
|
+
generate_summary(page_data[:content], page_data[:title], page_data[:url])
|
|
240
|
+
end
|
|
216
241
|
end
|
|
217
242
|
|
|
218
243
|
def generate_summary(content, title, url)
|
|
@@ -23,17 +23,17 @@ module Aircana
|
|
|
23
23
|
)
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
-
# Generate agent markdown from manifest data
|
|
27
26
|
def self.from_manifest(kb_name)
|
|
28
27
|
manifest = Contexts::Manifest.read_manifest(kb_name)
|
|
29
28
|
raise Error, "No manifest found for knowledge base '#{kb_name}'" unless manifest
|
|
30
29
|
|
|
31
|
-
# Use the same description generation as skills
|
|
32
30
|
agent_description = generate_agent_description_from_manifest(manifest, kb_name)
|
|
31
|
+
color = manifest["color"]
|
|
33
32
|
|
|
34
33
|
new(
|
|
35
34
|
kb_name: kb_name,
|
|
36
|
-
agent_description: agent_description
|
|
35
|
+
agent_description: agent_description,
|
|
36
|
+
color: color
|
|
37
37
|
)
|
|
38
38
|
end
|
|
39
39
|
|
data/lib/aircana/version.rb
CHANGED
data/lib/aircana.rb
CHANGED
|
@@ -10,6 +10,7 @@ require_relative "aircana/system_checker"
|
|
|
10
10
|
require_relative "aircana/progress_tracker"
|
|
11
11
|
require_relative "aircana/cli"
|
|
12
12
|
require_relative "aircana/generators"
|
|
13
|
+
require_relative "aircana/checksum"
|
|
13
14
|
require_relative "aircana/contexts/confluence"
|
|
14
15
|
require_relative "aircana/contexts/local"
|
|
15
16
|
require_relative "aircana/llm/base"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: aircana
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.1.
|
|
4
|
+
version: 5.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Weston Dransfield
|
|
@@ -132,6 +132,7 @@ files:
|
|
|
132
132
|
- compose.yml
|
|
133
133
|
- exe/aircana
|
|
134
134
|
- lib/aircana.rb
|
|
135
|
+
- lib/aircana/checksum.rb
|
|
135
136
|
- lib/aircana/cli.rb
|
|
136
137
|
- lib/aircana/cli/app.rb
|
|
137
138
|
- lib/aircana/cli/commands/doctor.rb
|