@cometchat/skills-cli 2.1.0 → 2.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.
@@ -5,7 +5,9 @@
5
5
  "description": "Catalog of CometChat features available in the React UI Kit. Categorized by what work is needed to enable each one. NOTE: this catalog stores OUR taxonomy (default vs dashboard-toggle vs package-install vs component-swap) plus a `dashboard_path` HINT for navigation. The hint is short and intentionally fragile — the canonical source is always the docs URL constructed from `docs_topic`. Agents must query the cometchat-docs MCP at runtime for current dashboard navigation, prop signatures, builder methods, and SDK reference. This catalog is for routing, not for SDK reference.",
6
6
  "feature_types": {
7
7
  "default": "Already enabled by default in the UI Kit components your integration uses. Zero code changes needed — the skill just shows you which component renders it.",
8
- "dashboard-toggle": "Requires flipping a toggle in the CometChat Dashboard at https://app.cometchat.com. Some have their UI decorator auto-attached by the UI Kit (auto_wired_in_uikit: true) — the dashboard flip is the only thing needed. Others additionally require passing the extension to UIKitSettingsBuilder.setExtensions([...]) before init.",
8
+ "extension": "Pure boolean toggle on a backend extension. The CLI's `apply-feature` command calls POST /apps/{appId}/extensions to enable, no further config needed. Some have their UI decorator auto-attached by the UI Kit (auto_wired_in_uikit: true). Others additionally require passing the extension to UIKitSettingsBuilder.setExtensions([...]) before init.",
9
+ "ai-feature": "Backend AI feature toggle. Requires an OpenAI API key (PUT /apps/{appId}/ai/settings) before the feature can be enabled (POST /apps/{appId}/features/ai.{ai_key}/enabled). The CLI prompts for the key once, stores it on the app's settings, then enables the feature. The `ai_key` field is the API suffix.",
10
+ "dashboard-only": "Requires entering third-party config the user has to fetch themselves (Giphy/Stipop/Tenor API key, Chatwoot webhook URL, Intercom token, etc.) or making a multi-field configuration choice (Disappearing Messages interval, Message Shortcuts list). The CLI cannot automate these — falls back to opening the dashboard. `dashboard_path` is load-bearing for these entries.",
9
11
  "package-install": "Requires installing an additional npm package. The UI Kit's initiateAfterLogin() auto-calls enableCalling() which detects the calls SDK and wires up call buttons. Currently calls only.",
10
12
  "component-swap": "Requires replacing one UI Kit component with a drop-in variant. One-line change. The SDK currently ships exactly one such variant (CometChatCompactMessageComposer for rich text formatting); more variants will become catalog entries here as the SDK adds them."
11
13
  },
@@ -126,7 +128,7 @@
126
128
  {
127
129
  "id": "bitly",
128
130
  "name": "Bitly URL Shortening",
129
- "type": "dashboard-toggle",
131
+ "type": "extension",
130
132
  "description": "Automatically shorten long URLs in messages using Bitly.",
131
133
  "dashboard_path": "Extensions → Bitly → Toggle on",
132
134
  "docs_topic": "extensions#bitly"
@@ -134,7 +136,7 @@
134
136
  {
135
137
  "id": "link-preview",
136
138
  "name": "Link Preview",
137
- "type": "dashboard-toggle",
139
+ "type": "extension",
138
140
  "auto_wired_in_uikit": true,
139
141
  "description": "Show URL previews with title, description, and thumbnail. UI decorator auto-attached by the UI Kit (in defaultExtensions[]).",
140
142
  "dashboard_path": "Extensions → Link Preview → Toggle on",
@@ -143,7 +145,7 @@
143
145
  {
144
146
  "id": "message-shortcuts",
145
147
  "name": "Message Shortcuts",
146
- "type": "dashboard-toggle",
148
+ "type": "dashboard-only",
147
149
  "description": "Expand predefined short codes into full messages.",
148
150
  "dashboard_path": "Extensions → Message Shortcuts → Configure shortcuts",
149
151
  "docs_topic": "extensions#message-shortcuts"
@@ -151,7 +153,7 @@
151
153
  {
152
154
  "id": "pin-message",
153
155
  "name": "Pin Message",
154
- "type": "dashboard-toggle",
156
+ "type": "extension",
155
157
  "description": "Pin important messages for easy access.",
156
158
  "dashboard_path": "Extensions → Pin Message → Toggle on",
157
159
  "docs_topic": "extensions#pin-message"
@@ -159,7 +161,7 @@
159
161
  {
160
162
  "id": "rich-media-preview",
161
163
  "name": "Rich Media Preview",
162
- "type": "dashboard-toggle",
164
+ "type": "extension",
163
165
  "description": "Generate rich preview panels for URLs via iFramely.",
164
166
  "dashboard_path": "Extensions → Rich Media Preview → Toggle on",
165
167
  "docs_topic": "extensions#rich-media-preview"
@@ -167,7 +169,7 @@
167
169
  {
168
170
  "id": "save-message",
169
171
  "name": "Save Message",
170
- "type": "dashboard-toggle",
172
+ "type": "extension",
171
173
  "description": "Bookmark messages privately for later.",
172
174
  "dashboard_path": "Extensions → Save Message → Toggle on",
173
175
  "docs_topic": "extensions#save-message"
@@ -175,7 +177,7 @@
175
177
  {
176
178
  "id": "thumbnail-generation",
177
179
  "name": "Thumbnail Generation",
178
- "type": "dashboard-toggle",
180
+ "type": "extension",
179
181
  "auto_wired_in_uikit": true,
180
182
  "description": "Auto-generate thumbnails for shared media to reduce bandwidth. UI decorator auto-attached by the UI Kit (in defaultExtensions[]).",
181
183
  "dashboard_path": "Extensions → Thumbnail Generation → Toggle on",
@@ -184,7 +186,7 @@
184
186
  {
185
187
  "id": "tinyurl",
186
188
  "name": "TinyURL Shortening",
187
- "type": "dashboard-toggle",
189
+ "type": "extension",
188
190
  "description": "Shorten URLs using TinyURL service.",
189
191
  "dashboard_path": "Extensions → TinyURL → Toggle on",
190
192
  "docs_topic": "extensions#tinyurl"
@@ -192,7 +194,7 @@
192
194
  {
193
195
  "id": "voice-transcription",
194
196
  "name": "Voice Transcription",
195
- "type": "dashboard-toggle",
197
+ "type": "extension",
196
198
  "description": "Convert audio messages to text automatically.",
197
199
  "dashboard_path": "Extensions → Voice Transcription → Toggle on",
198
200
  "docs_topic": "extensions#voice-transcription"
@@ -200,7 +202,7 @@
200
202
  {
201
203
  "id": "giphy",
202
204
  "name": "Giphy GIFs",
203
- "type": "dashboard-toggle",
205
+ "type": "dashboard-only",
204
206
  "description": "Search and share GIFs from Giphy.",
205
207
  "dashboard_path": "Extensions → Giphy → Configure API key",
206
208
  "docs_topic": "extensions#giphy"
@@ -208,7 +210,7 @@
208
210
  {
209
211
  "id": "message-translation",
210
212
  "name": "Message Translation",
211
- "type": "dashboard-toggle",
213
+ "type": "extension",
212
214
  "auto_wired_in_uikit": true,
213
215
  "description": "Translate messages into the user's locale. UI decorator auto-attached by the UI Kit (in defaultExtensions[]).",
214
216
  "dashboard_path": "Extensions → Message Translation → Toggle on",
@@ -217,7 +219,7 @@
217
219
  {
218
220
  "id": "polls",
219
221
  "name": "Polls",
220
- "type": "dashboard-toggle",
222
+ "type": "extension",
221
223
  "auto_wired_in_uikit": true,
222
224
  "description": "Create polls in group discussions with preset answers. UI decorator auto-attached by the UI Kit (in defaultExtensions[]).",
223
225
  "dashboard_path": "Extensions → Polls → Toggle on",
@@ -226,7 +228,7 @@
226
228
  {
227
229
  "id": "reminders",
228
230
  "name": "Reminders",
229
- "type": "dashboard-toggle",
231
+ "type": "extension",
230
232
  "description": "Set message reminders or personal notifications via bot.",
231
233
  "dashboard_path": "Extensions → Reminders → Toggle on",
232
234
  "docs_topic": "extensions#reminders"
@@ -234,7 +236,7 @@
234
236
  {
235
237
  "id": "stickers",
236
238
  "name": "Stickers",
237
- "type": "dashboard-toggle",
239
+ "type": "extension",
238
240
  "auto_wired_in_uikit": true,
239
241
  "description": "Send pre-designed stickers in conversations. UI decorator auto-attached by the UI Kit (in defaultExtensions[]).",
240
242
  "dashboard_path": "Extensions → Stickers → Toggle on",
@@ -243,7 +245,7 @@
243
245
  {
244
246
  "id": "stipop",
245
247
  "name": "Stipop Sticker Library",
246
- "type": "dashboard-toggle",
248
+ "type": "dashboard-only",
247
249
  "description": "Integrates the Stipop sticker library.",
248
250
  "dashboard_path": "Extensions → Stipop → Configure API key",
249
251
  "docs_topic": "extensions#stipop"
@@ -251,7 +253,7 @@
251
253
  {
252
254
  "id": "tenor",
253
255
  "name": "Tenor GIFs",
254
- "type": "dashboard-toggle",
256
+ "type": "dashboard-only",
255
257
  "description": "Search and share GIFs from Tenor.",
256
258
  "dashboard_path": "Extensions → Tenor → Configure API key",
257
259
  "docs_topic": "extensions#tenor"
@@ -259,7 +261,7 @@
259
261
  {
260
262
  "id": "collaborative-document",
261
263
  "name": "Collaborative Document",
262
- "type": "dashboard-toggle",
264
+ "type": "extension",
263
265
  "auto_wired_in_uikit": true,
264
266
  "description": "Real-time shared document editing. UI decorator auto-attached by the UI Kit (in defaultExtensions[]).",
265
267
  "dashboard_path": "Extensions → Collaborative Document → Toggle on",
@@ -268,7 +270,7 @@
268
270
  {
269
271
  "id": "collaborative-whiteboard",
270
272
  "name": "Collaborative Whiteboard",
271
- "type": "dashboard-toggle",
273
+ "type": "extension",
272
274
  "auto_wired_in_uikit": true,
273
275
  "description": "Shared whiteboard for drawing and brainstorming. UI decorator auto-attached by the UI Kit (in defaultExtensions[]).",
274
276
  "dashboard_path": "Extensions → Collaborative Whiteboard → Toggle on",
@@ -277,7 +279,7 @@
277
279
  {
278
280
  "id": "disappearing-messages",
279
281
  "name": "Disappearing Messages",
280
- "type": "dashboard-toggle",
282
+ "type": "dashboard-only",
281
283
  "description": "Messages auto-delete after a specified interval.",
282
284
  "dashboard_path": "Extensions → Disappearing Messages → Configure interval",
283
285
  "docs_topic": "extensions#disappearing-messages"
@@ -285,7 +287,7 @@
285
287
  {
286
288
  "id": "chatwoot",
287
289
  "name": "Chatwoot Integration",
288
- "type": "dashboard-toggle",
290
+ "type": "dashboard-only",
289
291
  "description": "Route messages to Chatwoot for customer support.",
290
292
  "dashboard_path": "Extensions → Chatwoot → Configure webhook",
291
293
  "docs_topic": "extensions#chatwoot"
@@ -293,7 +295,7 @@
293
295
  {
294
296
  "id": "intercom",
295
297
  "name": "Intercom Integration",
296
- "type": "dashboard-toggle",
298
+ "type": "dashboard-only",
297
299
  "description": "Integrate Intercom for in-app customer support.",
298
300
  "dashboard_path": "Extensions → Intercom → Configure API key",
299
301
  "docs_topic": "extensions#intercom"
@@ -301,7 +303,9 @@
301
303
  {
302
304
  "id": "conversation-starter",
303
305
  "name": "AI Conversation Starter",
304
- "type": "dashboard-toggle",
306
+ "type": "ai-feature",
307
+ "ai_key": "conversation-starter",
308
+ "requires": "openai-key",
305
309
  "description": "AI-generated opening messages for new chats.",
306
310
  "dashboard_path": "AI Features → Conversation Starter → Toggle on",
307
311
  "docs_topic": "ai-features#conversation-starter"
@@ -309,7 +313,9 @@
309
313
  {
310
314
  "id": "smart-replies",
311
315
  "name": "AI Smart Replies",
312
- "type": "dashboard-toggle",
316
+ "type": "ai-feature",
317
+ "ai_key": "smart-replies",
318
+ "requires": "openai-key",
313
319
  "description": "AI-generated contextual response suggestions.",
314
320
  "dashboard_path": "AI Features → Smart Replies → Toggle on",
315
321
  "docs_topic": "ai-features#smart-replies"
@@ -317,7 +323,9 @@
317
323
  {
318
324
  "id": "conversation-summary",
319
325
  "name": "AI Conversation Summary",
320
- "type": "dashboard-toggle",
326
+ "type": "ai-feature",
327
+ "ai_key": "conversation-summary",
328
+ "requires": "openai-key",
321
329
  "description": "AI-generated recaps of extended conversations.",
322
330
  "dashboard_path": "AI Features → Conversation Summary → Toggle on",
323
331
  "docs_topic": "ai-features#conversation-summary"
@@ -326,8 +334,16 @@
326
334
  "id": "calls",
327
335
  "name": "Audio/Video Calls",
328
336
  "type": "package-install",
329
- "description": "1:1 and group audio/video calling. Includes call buttons in headers, incoming/outgoing call UI, and call logs. Requires installing @cometchat/calls-sdk-javascript.",
337
+ "description": "1:1 and group audio/video calling. Includes call buttons in headers, incoming/outgoing call UI, and call logs. Requires installing the calls SDK for your platform.",
330
338
  "package": "@cometchat/calls-sdk-javascript",
339
+ "package_native": "@cometchat/calls-sdk-react-native",
340
+ "package_native_peers": [
341
+ "react-native-webrtc",
342
+ "react-native-incall-manager",
343
+ "react-native-background-timer",
344
+ "react-native-callstats",
345
+ "@react-native-community/netinfo"
346
+ ],
331
347
  "components": ["CometChatIncomingCall", "CometChatOutgoingCall", "CometChatCallLogs"],
332
348
  "docs_topic": "call-features"
333
349
  },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cometchat/skills-cli",
3
- "version": "2.1.0",
4
- "description": "CLI for the CometChat skills v3 architecture — auth, provision, detect, apply, verify CometChat integrations in React/Next.js/React-Router/Astro projects.",
3
+ "version": "2.3.0",
4
+ "description": "CLI for the CometChat skills v3 architecture — auth, provision, detect, apply, verify CometChat integrations in React/Next.js/React-Router/Astro/Expo/React-Native/Angular/Android/iOS/Flutter projects.",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "bin": {
@@ -31,8 +31,8 @@
31
31
  "node": ">=18.0.0"
32
32
  },
33
33
  "devDependencies": {
34
- "@types/node": "^20.0.0",
35
- "esbuild": "^0.25.0",
34
+ "@types/node": "^25.6.0",
35
+ "esbuild": "^0.28.0",
36
36
  "tsx": "^4.19.0",
37
37
  "typescript": "^5.6.0"
38
38
  },