luciq-cli 0.1.0 → 0.3.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.
@@ -0,0 +1,189 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'thor'
4
+ require 'luciq/commands/upload'
5
+ require 'luciq/query_cli'
6
+
7
+ module Luciq
8
+ class UploadCLI < Thor
9
+ ARCHITECTURES = Commands::Upload::ALLOWED_ARCHITECTURES
10
+
11
+ desc 'ios-dsym FILE', 'Upload iOS dSYM file'
12
+ long_desc <<~DESC
13
+ Upload iOS dSYM files to Luciq for crash symbolication.
14
+ File format: .zip containing dSYM files
15
+ Example:
16
+ luciq upload ios-dsym MyApp.dSYM.zip --slug my-app --mode production
17
+ DESC
18
+ QueryOptions.app(self)
19
+ def ios_dsym(file)
20
+ Commands::Upload.new(options).ios_dsym(file)
21
+ end
22
+
23
+ desc 'android-mapping FILE', 'Upload Android mapping file'
24
+ long_desc <<~DESC
25
+ Upload Android Proguard/R8 mapping files to Luciq for crash deobfuscation.
26
+ File format: mapping.txt
27
+ Example:
28
+ luciq upload android-mapping mapping.txt --slug my-app --mode production --version-name 1.0.0 --version-code 1
29
+ DESC
30
+ QueryOptions.app(self)
31
+ option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
32
+ option :version_code, type: :string, required: true, desc: 'App version code (e.g., 1)'
33
+ def android_mapping(file)
34
+ Commands::Upload.new(options).android_mapping(file)
35
+ end
36
+
37
+ desc 'android-ndk FILE', 'Upload Android NDK .so files'
38
+ long_desc <<~DESC
39
+ Upload Android NDK shared object (.so) files to Luciq for native crash symbolication.
40
+ File format: .zip containing the .so files
41
+ Example:
42
+ luciq upload android-ndk so-files.zip --slug my-app --mode production --version-name 1.0.0 --arch arm64-v8a
43
+ DESC
44
+ QueryOptions.app(self)
45
+ option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
46
+ option :arch, type: :string, required: true, enum: ARCHITECTURES, desc: 'CPU architecture'
47
+ def android_ndk(file)
48
+ Commands::Upload.new(options).android_ndk(file)
49
+ end
50
+
51
+ desc 'react-native-ios-dsym FILE', 'Upload React Native iOS dSYM file'
52
+ long_desc <<~DESC
53
+ Upload React Native iOS dSYM files to Luciq for native crash symbolication.
54
+ File format: .zip containing dSYM files
55
+ Example:
56
+ luciq upload react-native-ios-dsym dsyms.zip --slug my-app --mode production
57
+ DESC
58
+ QueryOptions.app(self)
59
+ def react_native_ios_dsym(file)
60
+ Commands::Upload.new(options).react_native_ios_dsym(file)
61
+ end
62
+
63
+ desc 'react-native-ios-sourcemap FILE', 'Upload React Native iOS JavaScript source map'
64
+ long_desc <<~DESC
65
+ Upload React Native iOS JavaScript source maps to Luciq for crash symbolication.
66
+ File format: .json or .txt source map
67
+ Example:
68
+ luciq upload react-native-ios-sourcemap ios-sourcemap.json --slug my-app --mode production --version-code 1 --version-name 1.0.0
69
+ DESC
70
+ QueryOptions.app(self)
71
+ option :version_code, type: :string, required: true, desc: 'App version code (e.g., 1)'
72
+ option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
73
+ option :codepush, type: :string, desc: 'CodePush version label (e.g., v42)'
74
+ def react_native_ios_sourcemap(file)
75
+ Commands::Upload.new(options).react_native_ios_sourcemap(file)
76
+ end
77
+
78
+ desc 'react-native-android-mapping FILE', 'Upload React Native Android mapping file'
79
+ long_desc <<~DESC
80
+ Upload React Native Android Proguard/R8 mapping files to Luciq for native crash deobfuscation.
81
+ File format: mapping.txt
82
+ Example:
83
+ luciq upload react-native-android-mapping mapping.txt --slug my-app --mode production --version-code 1 --version-name 1.0.0
84
+ DESC
85
+ QueryOptions.app(self)
86
+ option :version_code, type: :string, required: true, desc: 'App version code (e.g., 1)'
87
+ option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
88
+ def react_native_android_mapping(file)
89
+ Commands::Upload.new(options).react_native_android_mapping(file)
90
+ end
91
+
92
+ desc 'react-native-android-sourcemap FILE', 'Upload React Native Android JavaScript source map'
93
+ long_desc <<~DESC
94
+ Upload React Native Android JavaScript source maps to Luciq for crash deobfuscation.
95
+ File format: .json or .txt source map
96
+ Example:
97
+ luciq upload react-native-android-sourcemap android-sourcemap.json --slug my-app --mode production --version-code 1 --version-name 1.0.0
98
+ DESC
99
+ QueryOptions.app(self)
100
+ option :version_code, type: :string, required: true, desc: 'App version code (e.g., 1)'
101
+ option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
102
+ option :codepush, type: :string, desc: 'CodePush version label (e.g., v42)'
103
+ def react_native_android_sourcemap(file)
104
+ Commands::Upload.new(options).react_native_android_sourcemap(file)
105
+ end
106
+
107
+ desc 'react-native-ndk FILE', 'Upload React Native NDK .so files'
108
+ long_desc <<~DESC
109
+ Upload React Native NDK shared object (.so) files to Luciq for native crash symbolication.
110
+ File format: .zip containing the .so files
111
+ Example:
112
+ luciq upload react-native-ndk so-files.zip --slug my-app --mode production --version-name 1.0.0 --arch arm64-v8a
113
+ DESC
114
+ QueryOptions.app(self)
115
+ option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
116
+ option :arch, type: :string, required: true, enum: ARCHITECTURES, desc: 'CPU architecture'
117
+ def react_native_ndk(file)
118
+ Commands::Upload.new(options).react_native_ndk(file)
119
+ end
120
+
121
+ desc 'flutter-ios-dsym FILE', 'Upload Flutter iOS dSYM file'
122
+ long_desc <<~DESC
123
+ Upload Flutter iOS dSYM files to Luciq for native crash symbolication.
124
+ File format: .zip containing dSYM files
125
+ Example:
126
+ luciq upload flutter-ios-dsym MyApp.dSYM.zip --slug my-app --mode production
127
+ DESC
128
+ QueryOptions.app(self)
129
+ def flutter_ios_dsym(file)
130
+ Commands::Upload.new(options).flutter_ios_dsym(file)
131
+ end
132
+
133
+ desc 'flutter-ios-sourcemap FILE', 'Upload Flutter iOS Dart sourcemap file'
134
+ long_desc <<~DESC
135
+ Upload Flutter iOS Dart sourcemap files to Luciq for crash symbolication.
136
+ File format: .zip containing Flutter debug symbols
137
+ Example:
138
+ luciq upload flutter-ios-sourcemap app.ios-arm64.symbols.zip --slug my-app --mode production --version-name 1.0.0 --version-code 1
139
+ DESC
140
+ QueryOptions.app(self)
141
+ option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
142
+ option :version_code, type: :string, required: true, desc: 'App version code (e.g., 1)'
143
+ def flutter_ios_sourcemap(file)
144
+ Commands::Upload.new(options).flutter_ios_sourcemap(file)
145
+ end
146
+
147
+ desc 'flutter-android-mapping FILE', 'Upload Flutter Android mapping file'
148
+ long_desc <<~DESC
149
+ Upload Flutter Android Proguard/R8 mapping files to Luciq for native crash deobfuscation.
150
+ File format: mapping.txt
151
+ Example:
152
+ luciq upload flutter-android-mapping mapping.txt --slug my-app --mode production --version-code 1 --version-name 1.0.0
153
+ DESC
154
+ QueryOptions.app(self)
155
+ option :version_code, type: :string, required: true, desc: 'App version code (e.g., 1)'
156
+ option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
157
+ def flutter_android_mapping(file)
158
+ Commands::Upload.new(options).flutter_android_mapping(file)
159
+ end
160
+
161
+ desc 'flutter-android-sourcemap FILE', 'Upload Flutter Android Dart sourcemap file'
162
+ long_desc <<~DESC
163
+ Upload Flutter Android Dart sourcemap files to Luciq for crash symbolication.
164
+ File format: .zip containing Flutter debug symbols
165
+ Example:
166
+ luciq upload flutter-android-sourcemap app.android-arm64.symbols.zip --slug my-app --mode production --version-name 1.0.0 --version-code 1
167
+ DESC
168
+ QueryOptions.app(self)
169
+ option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
170
+ option :version_code, type: :string, required: true, desc: 'App version code (e.g., 1)'
171
+ def flutter_android_sourcemap(file)
172
+ Commands::Upload.new(options).flutter_android_sourcemap(file)
173
+ end
174
+
175
+ desc 'flutter-ndk FILE', 'Upload Flutter NDK .so files'
176
+ long_desc <<~DESC
177
+ Upload Flutter NDK shared object (.so) files to Luciq for native crash symbolication.
178
+ File format: .zip containing the .so files
179
+ Example:
180
+ luciq upload flutter-ndk so-files.zip --slug my-app --mode production --version-name 1.0.0 --arch arm64-v8a
181
+ DESC
182
+ QueryOptions.app(self)
183
+ option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
184
+ option :arch, type: :string, required: true, enum: ARCHITECTURES, desc: 'CPU architecture'
185
+ def flutter_ndk(file)
186
+ Commands::Upload.new(options).flutter_ndk(file)
187
+ end
188
+ end
189
+ end
data/lib/luciq/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Luciq
4
- VERSION = '0.1.0'
4
+ VERSION = '0.3.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: luciq-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ahmed Hany
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-24 00:00:00.000000000 Z
11
+ date: 2026-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multipart-post
@@ -47,22 +47,27 @@ extensions: []
47
47
  extra_rdoc_files: []
48
48
  files:
49
49
  - CHANGELOG.md
50
+ - LICENSE
50
51
  - README.md
51
52
  - bin/luciq
52
53
  - lib/luciq/api/client.rb
53
54
  - lib/luciq/cli.rb
54
55
  - lib/luciq/commands/auth.rb
56
+ - lib/luciq/commands/query.rb
57
+ - lib/luciq/commands/query_arguments.rb
55
58
  - lib/luciq/commands/upload.rb
56
59
  - lib/luciq/config.rb
60
+ - lib/luciq/query_cli.rb
61
+ - lib/luciq/upload_cli.rb
57
62
  - lib/luciq/version.rb
58
- homepage: https://github.com/Instabug/luciq-cli
63
+ homepage: https://github.com/luciqai/luciq-cli
59
64
  licenses:
60
65
  - MIT
61
66
  metadata:
62
- homepage_uri: https://github.com/Instabug/luciq-cli
63
- source_code_uri: https://github.com/Instabug/luciq-cli
64
- changelog_uri: https://github.com/Instabug/luciq-cli/blob/main/CHANGELOG.md
65
- rubygems_mfa_required: 'false'
67
+ homepage_uri: https://github.com/luciqai/luciq-cli
68
+ source_code_uri: https://github.com/luciqai/luciq-cli
69
+ changelog_uri: https://github.com/luciqai/luciq-cli/blob/main/CHANGELOG.md
70
+ rubygems_mfa_required: 'true'
66
71
  post_install_message:
67
72
  rdoc_options: []
68
73
  require_paths:
@@ -78,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
83
  - !ruby/object:Gem::Version
79
84
  version: '0'
80
85
  requirements: []
81
- rubygems_version: 3.5.11
86
+ rubygems_version: 3.4.10
82
87
  signing_key:
83
88
  specification_version: 4
84
89
  summary: Luciq CLI for developers