@cometchat/skills-cli 2.4.1 → 3.0.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.
Files changed (111) hide show
  1. package/README.md +45 -37
  2. package/dist/index.js +1821 -13090
  3. package/dist/utils/error-dictionary.js +0 -69
  4. package/package.json +10 -12
  5. package/dist/registry/schemas/config.schema.json +0 -119
  6. package/dist/registry/schemas/template.schema.json +0 -142
  7. package/dist/registry/v6/experiences/1-conversation-list/astro.template.json +0 -89
  8. package/dist/registry/v6/experiences/1-conversation-list/nextjs-pages.template.json +0 -83
  9. package/dist/registry/v6/experiences/1-conversation-list/nextjs.template.json +0 -83
  10. package/dist/registry/v6/experiences/1-conversation-list/react-router.template.json +0 -102
  11. package/dist/registry/v6/experiences/1-conversation-list/reactjs-dedicated-route.template.json +0 -81
  12. package/dist/registry/v6/experiences/1-conversation-list/reactjs.template.json +0 -86
  13. package/dist/registry/v6/experiences/1-conversation-list/templates/astro/ChatApp.css.tpl +0 -43
  14. package/dist/registry/v6/experiences/1-conversation-list/templates/astro/ChatApp.tsx.tpl +0 -86
  15. package/dist/registry/v6/experiences/1-conversation-list/templates/astro/CometChatSelector.tsx.tpl +0 -40
  16. package/dist/registry/v6/experiences/1-conversation-list/templates/astro/chat.astro.tpl +0 -17
  17. package/dist/registry/v6/experiences/1-conversation-list/templates/nextjs/CometChatNoSSR.css.tpl +0 -43
  18. package/dist/registry/v6/experiences/1-conversation-list/templates/nextjs/CometChatNoSSR.tsx.tpl +0 -86
  19. package/dist/registry/v6/experiences/1-conversation-list/templates/nextjs/CometChatSelector.tsx.tpl +0 -41
  20. package/dist/registry/v6/experiences/1-conversation-list/templates/nextjs/chat-page.tsx.tpl +0 -11
  21. package/dist/registry/v6/experiences/1-conversation-list/templates/nextjs-pages/CometChatNoSSR.css.tpl +0 -43
  22. package/dist/registry/v6/experiences/1-conversation-list/templates/nextjs-pages/CometChatNoSSR.tsx.tpl +0 -88
  23. package/dist/registry/v6/experiences/1-conversation-list/templates/nextjs-pages/CometChatSelector.tsx.tpl +0 -41
  24. package/dist/registry/v6/experiences/1-conversation-list/templates/nextjs-pages/chat-page.tsx.tpl +0 -15
  25. package/dist/registry/v6/experiences/1-conversation-list/templates/react-router/CometChat-route.tsx.tpl +0 -22
  26. package/dist/registry/v6/experiences/1-conversation-list/templates/react-router/CometChatNoSSR.css.tpl +0 -43
  27. package/dist/registry/v6/experiences/1-conversation-list/templates/react-router/CometChatNoSSR.tsx.tpl +0 -87
  28. package/dist/registry/v6/experiences/1-conversation-list/templates/react-router/CometChatSelector.tsx.tpl +0 -40
  29. package/dist/registry/v6/experiences/1-conversation-list/templates/reactjs/App.css.tpl +0 -40
  30. package/dist/registry/v6/experiences/1-conversation-list/templates/reactjs/App.tsx.tpl +0 -55
  31. package/dist/registry/v6/experiences/1-conversation-list/templates/reactjs/CometChatSelector.tsx.tpl +0 -40
  32. package/dist/registry/v6/experiences/1-conversation-list/templates/reactjs/main.tsx.tpl +0 -46
  33. package/dist/registry/v6/experiences/1-conversation-list/templates/reactjs-dedicated-route/ChatPage.tsx.tpl +0 -87
  34. package/dist/registry/v6/experiences/1-conversation-list/templates/reactjs-dedicated-route/CometChatMessenger.css.tpl +0 -20
  35. package/dist/registry/v6/experiences/1-conversation-list/templates/reactjs-dedicated-route/CometChatMessenger.tsx.tpl +0 -54
  36. package/dist/registry/v6/experiences/1-conversation-list/templates/reactjs-dedicated-route/CometChatSelector.tsx.tpl +0 -40
  37. package/dist/registry/v6/experiences/2-one-to-one/astro.template.json +0 -81
  38. package/dist/registry/v6/experiences/2-one-to-one/nextjs.template.json +0 -77
  39. package/dist/registry/v6/experiences/2-one-to-one/react-router.template.json +0 -93
  40. package/dist/registry/v6/experiences/2-one-to-one/reactjs-dedicated-route.template.json +0 -75
  41. package/dist/registry/v6/experiences/2-one-to-one/reactjs.template.json +0 -80
  42. package/dist/registry/v6/experiences/2-one-to-one/templates/astro/ChatApp.css.tpl +0 -21
  43. package/dist/registry/v6/experiences/2-one-to-one/templates/astro/ChatApp.tsx.tpl +0 -66
  44. package/dist/registry/v6/experiences/2-one-to-one/templates/astro/chat.astro.tpl +0 -17
  45. package/dist/registry/v6/experiences/2-one-to-one/templates/nextjs/CometChatNoSSR.css.tpl +0 -21
  46. package/dist/registry/v6/experiences/2-one-to-one/templates/nextjs/CometChatNoSSR.tsx.tpl +0 -66
  47. package/dist/registry/v6/experiences/2-one-to-one/templates/nextjs/chat-page.tsx.tpl +0 -11
  48. package/dist/registry/v6/experiences/2-one-to-one/templates/react-router/CometChat-route.tsx.tpl +0 -21
  49. package/dist/registry/v6/experiences/2-one-to-one/templates/react-router/CometChatNoSSR.css.tpl +0 -21
  50. package/dist/registry/v6/experiences/2-one-to-one/templates/react-router/CometChatNoSSR.tsx.tpl +0 -67
  51. package/dist/registry/v6/experiences/2-one-to-one/templates/reactjs/App.css.tpl +0 -4
  52. package/dist/registry/v6/experiences/2-one-to-one/templates/reactjs/App.tsx.tpl +0 -44
  53. package/dist/registry/v6/experiences/2-one-to-one/templates/reactjs/main.tsx.tpl +0 -46
  54. package/dist/registry/v6/experiences/2-one-to-one/templates/reactjs-dedicated-route/ChatPage.tsx.tpl +0 -84
  55. package/dist/registry/v6/experiences/2-one-to-one/templates/reactjs-dedicated-route/CometChatMessenger.css.tpl +0 -9
  56. package/dist/registry/v6/experiences/2-one-to-one/templates/reactjs-dedicated-route/CometChatMessenger.tsx.tpl +0 -43
  57. package/dist/registry/v6/experiences/3-tab-based/astro.template.json +0 -93
  58. package/dist/registry/v6/experiences/3-tab-based/nextjs.template.json +0 -90
  59. package/dist/registry/v6/experiences/3-tab-based/react-router.template.json +0 -105
  60. package/dist/registry/v6/experiences/3-tab-based/reactjs-dedicated-route.template.json +0 -89
  61. package/dist/registry/v6/experiences/3-tab-based/reactjs.template.json +0 -93
  62. package/dist/registry/v6/experiences/3-tab-based/templates/astro/ChatApp.css.tpl +0 -39
  63. package/dist/registry/v6/experiences/3-tab-based/templates/astro/ChatApp.tsx.tpl +0 -93
  64. package/dist/registry/v6/experiences/3-tab-based/templates/astro/CometChatTabs.css.tpl +0 -43
  65. package/dist/registry/v6/experiences/3-tab-based/templates/astro/CometChatTabs.tsx.tpl +0 -72
  66. package/dist/registry/v6/experiences/3-tab-based/templates/astro/chat.astro.tpl +0 -17
  67. package/dist/registry/v6/experiences/3-tab-based/templates/nextjs/CometChatNoSSR.css.tpl +0 -39
  68. package/dist/registry/v6/experiences/3-tab-based/templates/nextjs/CometChatNoSSR.tsx.tpl +0 -93
  69. package/dist/registry/v6/experiences/3-tab-based/templates/nextjs/CometChatTabs.css.tpl +0 -43
  70. package/dist/registry/v6/experiences/3-tab-based/templates/nextjs/CometChatTabs.tsx.tpl +0 -73
  71. package/dist/registry/v6/experiences/3-tab-based/templates/nextjs/chat-page.tsx.tpl +0 -11
  72. package/dist/registry/v6/experiences/3-tab-based/templates/react-router/CometChat-route.tsx.tpl +0 -21
  73. package/dist/registry/v6/experiences/3-tab-based/templates/react-router/CometChatNoSSR.css.tpl +0 -39
  74. package/dist/registry/v6/experiences/3-tab-based/templates/react-router/CometChatNoSSR.tsx.tpl +0 -94
  75. package/dist/registry/v6/experiences/3-tab-based/templates/react-router/CometChatTabs.css.tpl +0 -43
  76. package/dist/registry/v6/experiences/3-tab-based/templates/react-router/CometChatTabs.tsx.tpl +0 -72
  77. package/dist/registry/v6/experiences/3-tab-based/templates/reactjs/App.css.tpl +0 -7
  78. package/dist/registry/v6/experiences/3-tab-based/templates/reactjs/App.tsx.tpl +0 -62
  79. package/dist/registry/v6/experiences/3-tab-based/templates/reactjs/CometChatTabs.css.tpl +0 -43
  80. package/dist/registry/v6/experiences/3-tab-based/templates/reactjs/CometChatTabs.tsx.tpl +0 -72
  81. package/dist/registry/v6/experiences/3-tab-based/templates/reactjs/main.tsx.tpl +0 -46
  82. package/dist/registry/v6/experiences/3-tab-based/templates/reactjs-dedicated-route/ChatPage.tsx.tpl +0 -84
  83. package/dist/registry/v6/experiences/3-tab-based/templates/reactjs-dedicated-route/CometChatMessenger.css.tpl +0 -11
  84. package/dist/registry/v6/experiences/3-tab-based/templates/reactjs-dedicated-route/CometChatMessenger.tsx.tpl +0 -61
  85. package/dist/registry/v6/experiences/3-tab-based/templates/reactjs-dedicated-route/CometChatTabs.css.tpl +0 -43
  86. package/dist/registry/v6/experiences/3-tab-based/templates/reactjs-dedicated-route/CometChatTabs.tsx.tpl +0 -72
  87. package/dist/registry/v6/features/catalog.json +0 -990
  88. package/dist/registry/v6/production/astro/cometchat-token.ts.tpl +0 -86
  89. package/dist/registry/v6/production/astro.template.json +0 -51
  90. package/dist/registry/v6/production/nextjs/route.ts.tpl +0 -79
  91. package/dist/registry/v6/production/nextjs.template.json +0 -50
  92. package/dist/registry/v6/production/react-router/api.cometchat-token.ts.tpl +0 -73
  93. package/dist/registry/v6/production/react-router.template.json +0 -58
  94. package/dist/registry/v6/user-mgmt/astro/cometchat-user.ts.tpl +0 -164
  95. package/dist/registry/v6/user-mgmt/astro.template.json +0 -33
  96. package/dist/registry/v6/user-mgmt/nextjs/route.ts.tpl +0 -212
  97. package/dist/registry/v6/user-mgmt/nextjs.template.json +0 -57
  98. package/dist/registry/v6/user-mgmt/react-router/api.cometchat-user.ts.tpl +0 -176
  99. package/dist/registry/v6/user-mgmt/react-router.template.json +0 -40
  100. package/dist/registry/v6/widget/astro/CometChatWidget.css.tpl +0 -105
  101. package/dist/registry/v6/widget/astro/CometChatWidget.tsx.tpl +0 -88
  102. package/dist/registry/v6/widget/astro.template.json +0 -38
  103. package/dist/registry/v6/widget/nextjs/CometChatWidget.css.tpl +0 -105
  104. package/dist/registry/v6/widget/nextjs/CometChatWidget.tsx.tpl +0 -88
  105. package/dist/registry/v6/widget/nextjs.template.json +0 -40
  106. package/dist/registry/v6/widget/react-router/CometChatWidget.css.tpl +0 -105
  107. package/dist/registry/v6/widget/react-router/CometChatWidget.tsx.tpl +0 -98
  108. package/dist/registry/v6/widget/react-router.template.json +0 -36
  109. package/dist/registry/v6/widget/reactjs/CometChatWidget.css.tpl +0 -105
  110. package/dist/registry/v6/widget/reactjs/CometChatWidget.tsx.tpl +0 -89
  111. package/dist/registry/v6/widget/reactjs.template.json +0 -36
@@ -1,84 +0,0 @@
1
- import { lazy, Suspense, useEffect, useState } from "react";
2
- import {
3
- CometChatUIKit,
4
- UIKitSettingsBuilder,
5
- } from "@cometchat/chat-uikit-react";
6
-
7
- const CometChatMessenger = lazy(
8
- () => import("../cometchat/CometChatMessenger")
9
- );
10
-
11
- const COMETCHAT_CONSTANTS = {
12
- APP_ID: import.meta.env.{{ENV_PREFIX}}COMETCHAT_APP_ID as string,
13
- REGION: import.meta.env.{{ENV_PREFIX}}COMETCHAT_REGION as string,
14
- AUTH_KEY: import.meta.env.{{ENV_PREFIX}}COMETCHAT_AUTH_KEY as string,
15
- };
16
-
17
- const settings = new UIKitSettingsBuilder()
18
- .setAppId(COMETCHAT_CONSTANTS.APP_ID)
19
- .setRegion(COMETCHAT_CONSTANTS.REGION)
20
- .setAuthKey(COMETCHAT_CONSTANTS.AUTH_KEY)
21
- .subscribePresenceForAllUsers()
22
- .build();
23
-
24
- let initPromise: Promise<void> | null = null;
25
- function ensureInitialized(): Promise<void> {
26
- if (initPromise) return initPromise;
27
- initPromise = CometChatUIKit.init(settings)
28
- .then(() => CometChatUIKit.getLoggedinUser())
29
- .then((user) => {
30
- if (user) return undefined;
31
- return CometChatUIKit.login("{{LOGIN_UID}}").then(() => undefined);
32
- })
33
- .then(() => undefined);
34
- return initPromise;
35
- }
36
-
37
- export default function ChatPage() {
38
- const [ready, setReady] = useState(false);
39
- const [error, setError] = useState<string | null>(null);
40
-
41
- useEffect(() => {
42
- let cancelled = false;
43
- ensureInitialized()
44
- .then(() => {
45
- if (!cancelled) setReady(true);
46
- })
47
- .catch((e: unknown) => {
48
- if (!cancelled) setError(String(e));
49
- });
50
- return () => {
51
- cancelled = true;
52
- };
53
- }, []);
54
-
55
- if (error) {
56
- return (
57
- <div
58
- className="cometchat-page"
59
- style={{
60
- color: "red",
61
- padding: 16,
62
- fontFamily: "monospace",
63
- }}
64
- >
65
- CometChat failed to load: {error}
66
- </div>
67
- );
68
- }
69
- if (!ready) {
70
- return (
71
- <div className="cometchat-page" style={{ padding: 16 }}>
72
- Loading chat…
73
- </div>
74
- );
75
- }
76
-
77
- return (
78
- <div className="cometchat-page">
79
- <Suspense fallback={<div style={{ padding: 16 }}>Loading chat…</div>}>
80
- <CometChatMessenger />
81
- </Suspense>
82
- </div>
83
- );
84
- }
@@ -1,11 +0,0 @@
1
- /* Scoped to .cometchat-page (root div in ChatPage.tsx). The tabbed messenger
2
- * needs resolved height on every ancestor — see the exp 1 dedicated-route CSS
3
- * for the full rationale.
4
- */
5
- .cometchat-page { width: 100vw; height: 100vh; }
6
- .conversations-with-messages { display: flex; height: 100%; width: 100%; }
7
- .conversations-wrapper { height: 100vh; width: 480px; overflow: hidden; display: flex; flex-direction: column; flex-shrink: 0; }
8
- .conversations-wrapper > .cometchat { overflow: hidden; }
9
- .messages-wrapper { flex: 1; min-width: 0; height: 100%; display: flex; flex-direction: column; }
10
- .empty-conversation { height: 100vh; width: 100%; display: flex; justify-content: center; align-items: center; background: var(--cometchat-background-color-03, #F5F5F5); color: var(--cometchat-text-color-secondary, #727272); font: var(--cometchat-font-body-regular, 400 14px Roboto); }
11
- .cometchat .cometchat-message-composer { border-radius: 0; }
@@ -1,61 +0,0 @@
1
- import { useState } from "react";
2
- import {
3
- CometChatMessageComposer,
4
- CometChatMessageHeader,
5
- CometChatMessageList,
6
- } from "@cometchat/chat-uikit-react";
7
- import { CometChat } from "@cometchat/chat-sdk-javascript";
8
- import { CometChatTabs, type CometChatTab } from "./CometChatTabs";
9
- import "./CometChatMessenger.css";
10
-
11
- export default function CometChatMessenger() {
12
- const [activeTab, setActiveTab] = useState<CometChatTab>("chats");
13
- const [selectedUser, setSelectedUser] = useState<
14
- CometChat.User | undefined
15
- >();
16
- const [selectedGroup, setSelectedGroup] = useState<
17
- CometChat.Group | undefined
18
- >();
19
-
20
- const handleSelectorItemClicked = (
21
- activeItem: CometChat.Conversation | CometChat.User | CometChat.Group,
22
- ) => {
23
- const item =
24
- activeItem instanceof CometChat.Conversation
25
- ? activeItem.getConversationWith()
26
- : activeItem;
27
- if (item instanceof CometChat.User) {
28
- setSelectedUser(item);
29
- setSelectedGroup(undefined);
30
- } else if (item instanceof CometChat.Group) {
31
- setSelectedUser(undefined);
32
- setSelectedGroup(item);
33
- }
34
- };
35
-
36
- return (
37
- <div className="conversations-with-messages">
38
- <div className="conversations-wrapper">
39
- <CometChatTabs
40
- activeTab={activeTab}
41
- onTabChange={setActiveTab}
42
- onItemClick={handleSelectorItemClicked}
43
- />
44
- </div>
45
- {selectedUser || selectedGroup ? (
46
- <div className="messages-wrapper">
47
- {selectedUser && <CometChatMessageHeader user={selectedUser} />}
48
- {selectedGroup && <CometChatMessageHeader group={selectedGroup} />}
49
- {selectedUser && <CometChatMessageList user={selectedUser} />}
50
- {selectedGroup && <CometChatMessageList group={selectedGroup} />}
51
- {selectedUser && <CometChatMessageComposer user={selectedUser} />}
52
- {selectedGroup && <CometChatMessageComposer group={selectedGroup} />}
53
- </div>
54
- ) : (
55
- <div className="empty-conversation">
56
- Select a conversation to start chatting
57
- </div>
58
- )}
59
- </div>
60
- );
61
- }
@@ -1,43 +0,0 @@
1
- .cometchat-tabs {
2
- height: 100%;
3
- width: 100%;
4
- display: flex;
5
- flex-direction: column;
6
- }
7
-
8
- .cometchat-tabs-content {
9
- flex: 1;
10
- overflow: hidden;
11
- display: flex;
12
- flex-direction: column;
13
- }
14
-
15
- .cometchat-tabs-content > .cometchat {
16
- flex: 1;
17
- overflow: hidden;
18
- }
19
-
20
- .cometchat-tabs-bar {
21
- display: flex;
22
- border-top: 1px solid var(--cometchat-border-color-default, #e8e8e8);
23
- background: var(--cometchat-background-color-01, #ffffff);
24
- }
25
-
26
- .cometchat-tabs-bar-tab {
27
- flex: 1;
28
- padding: 12px 8px;
29
- border: none;
30
- background: transparent;
31
- font: var(--cometchat-font-body-regular, 400 14px Roboto);
32
- color: var(--cometchat-text-color-secondary, #727272);
33
- cursor: pointer;
34
- }
35
-
36
- .cometchat-tabs-bar-tab.active {
37
- color: var(--cometchat-primary-color, #6852d6);
38
- font-weight: 600;
39
- }
40
-
41
- .cometchat-tabs-bar-tab:hover {
42
- background: var(--cometchat-background-color-02, #f8f8f8);
43
- }
@@ -1,72 +0,0 @@
1
- import { useEffect, useState } from "react";
2
- import type { CometChat } from "@cometchat/chat-sdk-javascript";
3
- import {
4
- CometChatCallLogs,
5
- CometChatConversations,
6
- CometChatGroups,
7
- CometChatUIKitLoginListener,
8
- CometChatUsers,
9
- } from "@cometchat/chat-uikit-react";
10
- import "./CometChatTabs.css";
11
-
12
- export type CometChatTab = "chats" | "calls" | "users" | "groups";
13
-
14
- interface CometChatTabsProps {
15
- activeTab: CometChatTab;
16
- onTabChange: (tab: CometChatTab) => void;
17
- onItemClick: (
18
- item: CometChat.Conversation | CometChat.User | CometChat.Group,
19
- ) => void;
20
- }
21
-
22
- const TABS: { id: CometChatTab; label: string }[] = [
23
- { id: "chats", label: "Chats" },
24
- { id: "calls", label: "Calls" },
25
- { id: "users", label: "Users" },
26
- { id: "groups", label: "Groups" },
27
- ];
28
-
29
- export const CometChatTabs = ({
30
- activeTab,
31
- onTabChange,
32
- onItemClick,
33
- }: CometChatTabsProps) => {
34
- const [loggedInUser, setLoggedInUser] = useState<CometChat.User | null>(null);
35
-
36
- useEffect(() => {
37
- setLoggedInUser(CometChatUIKitLoginListener.getLoggedInUser());
38
- }, []);
39
-
40
- if (!loggedInUser) return null;
41
-
42
- return (
43
- <div className="cometchat-tabs">
44
- <div className="cometchat-tabs-content">
45
- {activeTab === "chats" && (
46
- <CometChatConversations
47
- onItemClick={(c) => onItemClick(c)}
48
- />
49
- )}
50
- {activeTab === "calls" && <CometChatCallLogs />}
51
- {activeTab === "users" && (
52
- <CometChatUsers onItemClick={(u) => onItemClick(u)} />
53
- )}
54
- {activeTab === "groups" && (
55
- <CometChatGroups onItemClick={(g) => onItemClick(g)} />
56
- )}
57
- </div>
58
- <nav className="cometchat-tabs-bar">
59
- {TABS.map((tab) => (
60
- <button
61
- key={tab.id}
62
- type="button"
63
- className={`cometchat-tabs-bar-tab${activeTab === tab.id ? " active" : ""}`}
64
- onClick={() => onTabChange(tab.id)}
65
- >
66
- {tab.label}
67
- </button>
68
- ))}
69
- </nav>
70
- </div>
71
- );
72
- };