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