felo-ai 0.2.6 → 0.2.9

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 (39) hide show
  1. package/.github/workflows/publish-npm.yml +39 -0
  2. package/CHANGELOG.md +30 -0
  3. package/CONTRIBUTING.md +346 -346
  4. package/README.en.md +129 -129
  5. package/README.md +435 -408
  6. package/docs/EXAMPLES.md +632 -632
  7. package/docs/FAQ.md +479 -479
  8. package/felo-search/LICENSE +21 -21
  9. package/felo-search/README.md +440 -440
  10. package/felo-search/SKILL.md +291 -291
  11. package/felo-slides/LICENSE +21 -21
  12. package/felo-slides/README.md +87 -87
  13. package/felo-slides/SKILL.md +166 -166
  14. package/felo-slides/scripts/run_ppt_task.mjs +251 -251
  15. package/felo-superAgent/LICENSE +21 -0
  16. package/felo-superAgent/README.md +125 -0
  17. package/felo-superAgent/SKILL.md +165 -0
  18. package/felo-web-fetch/README.md +127 -0
  19. package/felo-web-fetch/SKILL.md +204 -0
  20. package/felo-web-fetch/scripts/run_web_fetch.mjs +316 -0
  21. package/felo-x-search/SKILL.md +204 -0
  22. package/felo-x-search/scripts/run_x_search.mjs +385 -0
  23. package/felo-youtube-subtitling/README.md +59 -59
  24. package/felo-youtube-subtitling/SKILL.md +161 -161
  25. package/felo-youtube-subtitling/scripts/run_youtube_subtitling.mjs +239 -239
  26. package/package.json +37 -35
  27. package/src/cli.js +370 -252
  28. package/src/config.js +66 -66
  29. package/src/search.js +142 -142
  30. package/src/slides.js +332 -332
  31. package/src/superAgent.js +609 -0
  32. package/src/{webExtract.js → webFetch.js} +148 -148
  33. package/src/xSearch.js +366 -0
  34. package/src/youtubeSubtitling.js +179 -179
  35. package/tests/config.test.js +78 -78
  36. package/tests/search.test.js +100 -100
  37. package/felo-web-extract/README.md +0 -78
  38. package/felo-web-extract/SKILL.md +0 -200
  39. package/felo-web-extract/scripts/run_web_extract.mjs +0 -232
@@ -1,291 +1,291 @@
1
- ---
2
- name: felo-search
3
- description: "Felo AI real-time web search for questions requiring current/live information. Triggers on current events, news, trends, real-time data, information queries, location queries, how-to guides, shopping, or when Claude's knowledge may be outdated."
4
- ---
5
-
6
- # Felo Search Skill
7
-
8
- ## When to Use
9
-
10
- Trigger this skill for questions requiring current or real-time information:
11
-
12
- - **Current events & news:** Recent developments, trending topics, breaking news
13
- - **Real-time data:** Weather, stock prices, exchange rates, sports scores
14
- - **Information queries:** "What is...", "Tell me about...", product reviews, comparisons, recommendations
15
- - **Location-based:** Restaurants, travel destinations, local attractions, things to do
16
- - **How-to guides:** Tutorials, step-by-step instructions, best practices
17
- - **Shopping & prices:** Product prices, deals, "where to buy"
18
- - **Trends & statistics:** Market trends, rankings, data analysis
19
- - **Any question where Claude's knowledge may be outdated**
20
-
21
- **Trigger words:**
22
- - 简体中文: 最近、什么、哪里、怎么样、如何、查、搜、找、推荐、比较、新闻、天气
23
- - 繁體中文: 最近、什麼、哪裡、怎麼樣、如何、查、搜、找、推薦、比較、新聞、天氣
24
- - 日本語: 最近、何、どこ、どう、検索、探す、おすすめ、比較、ニュース、天気
25
- - English: latest, recent, what, where, how, best, search, find, compare, news, weather
26
-
27
- **Explicit commands:** `/felo-search`, "search with felo", "felo search"
28
-
29
- **Do NOT use for:**
30
- - Code questions about the user's codebase (unless asking about external libraries/docs)
31
- - Pure mathematical calculations or logical reasoning
32
- - Questions about files in the current project
33
-
34
- ## Setup
35
-
36
- ### 1. Get Your API Key
37
-
38
- 1. Visit [felo.ai](https://felo.ai) and log in (or register)
39
- 2. Click your avatar in the top right corner → Settings
40
- 3. Navigate to the "API Keys" tab
41
- 4. Click "Create New Key" to generate a new API Key
42
- 5. Copy and save your API Key securely
43
-
44
- ### 2. Configure API Key
45
-
46
- Set the `FELO_API_KEY` environment variable:
47
-
48
- **Linux/macOS:**
49
- ```bash
50
- export FELO_API_KEY="your-api-key-here"
51
- ```
52
-
53
- **Windows (PowerShell):**
54
- ```powershell
55
- $env:FELO_API_KEY="your-api-key-here"
56
- ```
57
-
58
- **Windows (CMD):**
59
- ```cmd
60
- set FELO_API_KEY=your-api-key-here
61
- ```
62
-
63
- For permanent configuration, add it to your shell profile (~/.bashrc, ~/.zshrc) or system environment variables.
64
-
65
- ## How to Execute
66
-
67
- When this skill is triggered, execute the following steps using the Bash tool:
68
-
69
- ### Step 1: Check API Key
70
-
71
- Use the Bash tool to verify the API key is set:
72
-
73
- ```bash
74
- if [ -z "$FELO_API_KEY" ]; then
75
- echo "ERROR: FELO_API_KEY not set"
76
- exit 1
77
- fi
78
- echo "API key configured"
79
- ```
80
-
81
- If the API key is not set, inform the user with setup instructions and STOP.
82
-
83
- ### Step 2: Make API Request
84
-
85
- Extract the user's query and call the Felo API using a temporary JSON file to handle special characters:
86
-
87
- ```bash
88
- # Create query JSON (replace USER_QUERY with actual query)
89
- cat > /tmp/felo_query.json << 'EOF'
90
- {"query": "USER_QUERY_HERE"}
91
- EOF
92
-
93
- # Call Felo API
94
- curl -s -X POST https://openapi.felo.ai/v2/chat \
95
- -H "Authorization: Bearer $FELO_API_KEY" \
96
- -H "Content-Type: application/json" \
97
- -d @/tmp/felo_query.json
98
-
99
- # Clean up
100
- rm -f /tmp/felo_query.json
101
- ```
102
-
103
- **Notes:**
104
- - Replace `USER_QUERY_HERE` with the actual user query
105
- - Use heredoc (`cat > file << 'EOF'`) to properly handle Chinese, Japanese, and special characters
106
- - Use `-s` flag with curl for clean output
107
-
108
- ### Step 3: Parse and Format Response
109
-
110
- The API returns JSON with this structure:
111
- ```json
112
- {
113
- "answer": "AI-generated answer text",
114
- "query_analysis": ["optimized query 1", "optimized query 2"]
115
- }
116
- ```
117
-
118
- Parse the JSON response and present it to the user in this format:
119
-
120
- ```
121
- ## Answer
122
- [Display the answer field]
123
-
124
- ## Query Analysis
125
- Optimized search terms: [list query_analysis items]
126
- ```
127
-
128
- ## Complete Examples
129
-
130
- ### Example 1: Weather query
131
-
132
- **User asks:** "What's the weather in Tokyo today?"
133
-
134
- **Expected response format:**
135
- ```
136
- ## Answer
137
- Tokyo weather today: Sunny, 22°C (72°F). High of 25°C, low of 18°C.
138
- Light winds from the east at 10 km/h. UV index: 6 (high).
139
- Good day for outdoor activities!
140
-
141
- ## Query Analysis
142
- Optimized search terms: Tokyo weather today, 東京 天気 今日
143
- ```
144
-
145
- **Bash command:**
146
- ```bash
147
- cat > /tmp/felo_query.json << 'EOF'
148
- {"query": "What's the weather in Tokyo today?"}
149
- EOF
150
-
151
- curl -s -X POST https://openapi.felo.ai/v2/chat \
152
- -H "Authorization: Bearer $FELO_API_KEY" \
153
- -H "Content-Type: application/json" \
154
- -d @/tmp/felo_query.json
155
-
156
- rm -f /tmp/felo_query.json
157
- ```
158
-
159
- ### Example 2: Local news / events
160
-
161
- **User asks:** "What's new in Hangzhou recently?"
162
-
163
- **Expected response format:**
164
- ```
165
- ## Answer
166
- Recent news in Hangzhou: Asian Games venue upgrades completed, West Lake night tours launched, new metro lines opened. Details...
167
-
168
- ## Query Analysis
169
- Optimized search terms: Hangzhou recent news, Hangzhou events, 杭州 最近 新闻
170
- ```
171
-
172
- **Bash command:**
173
- ```bash
174
- cat > /tmp/felo_query.json << 'EOF'
175
- {"query": "What's new in Hangzhou recently"}
176
- EOF
177
-
178
- curl -s -X POST https://openapi.felo.ai/v2/chat \
179
- -H "Authorization: Bearer $FELO_API_KEY" \
180
- -H "Content-Type: application/json" \
181
- -d @/tmp/felo_query.json
182
-
183
- rm -f /tmp/felo_query.json
184
- ```
185
-
186
- ### Example 3: Travel / things to do
187
-
188
- **User asks:** "What are the best things to do in Taipei?"
189
-
190
- **Bash command:**
191
- ```bash
192
- cat > /tmp/felo_query.json << 'EOF'
193
- {"query": "What are the best things to do in Taipei"}
194
- EOF
195
-
196
- curl -s -X POST https://openapi.felo.ai/v2/chat \
197
- -H "Authorization: Bearer $FELO_API_KEY" \
198
- -H "Content-Type: application/json" \
199
- -d @/tmp/felo_query.json
200
-
201
- rm -f /tmp/felo_query.json
202
- ```
203
-
204
- ### Example 4: Restaurants / recommendations
205
-
206
- **User asks:** "Popular restaurants in Tokyo?"
207
-
208
- **Bash command:**
209
- ```bash
210
- cat > /tmp/felo_query.json << 'EOF'
211
- {"query": "Popular restaurants in Tokyo"}
212
- EOF
213
-
214
- curl -s -X POST https://openapi.felo.ai/v2/chat \
215
- -H "Authorization: Bearer $FELO_API_KEY" \
216
- -H "Content-Type: application/json" \
217
- -d @/tmp/felo_query.json
218
-
219
- rm -f /tmp/felo_query.json
220
- ```
221
-
222
- ## Error Handling
223
-
224
- ### Common Error Codes
225
-
226
- - `INVALID_API_KEY` - API Key is invalid or revoked
227
- - Solution: Check if your API key is correct and hasn't been revoked
228
- - `MISSING_PARAMETER` - Required parameter is missing
229
- - Solution: Ensure the query parameter is provided
230
- - `INVALID_PARAMETER` - Parameter value is invalid
231
- - Solution: Check the query format
232
- - `CHAT_FAILED` - Internal service error
233
- - Solution: Retry the request or contact Felo support
234
-
235
- ### Missing API Key
236
-
237
- If `FELO_API_KEY` is not set, display this message:
238
-
239
- ```
240
- ❌ Felo API Key not configured
241
-
242
- To use this skill, you need to set up your Felo API Key:
243
-
244
- 1. Get your API key from https://felo.ai (Settings → API Keys)
245
- 2. Set the environment variable:
246
-
247
- Linux/macOS:
248
- export FELO_API_KEY="your-api-key-here"
249
-
250
- Windows (PowerShell):
251
- $env:FELO_API_KEY="your-api-key-here"
252
-
253
- 3. Restart Claude Code or reload the environment
254
- ```
255
-
256
- ## API Configuration
257
-
258
- **Endpoint:** `https://openapi.felo.ai/v2/chat`
259
-
260
- **Authentication:** Bearer token in Authorization header (from `FELO_API_KEY` environment variable)
261
-
262
- **Request format:**
263
- ```json
264
- {
265
- "query": "user's search query"
266
- }
267
- ```
268
-
269
- **Response format:**
270
- ```json
271
- {
272
- "answer": "AI-generated comprehensive answer",
273
- "query_analysis": ["optimized query 1", "optimized query 2"]
274
- }
275
- ```
276
-
277
- ## Important Notes
278
-
279
- - This skill should be used for any question requiring current information
280
- - Execute immediately using the Bash tool - don't just describe what you would do
281
- - Multi-language support: Fully supports Simplified Chinese, Traditional Chinese (Taiwan), Japanese, and English
282
- - Handle special characters properly: Use heredoc for JSON files to avoid encoding issues
283
- - Parse JSON response: Extract answer and query_analysis fields
284
- - Format nicely: Present results in a clean, readable format with proper markdown
285
- - The API returns results in the same language as the query when possible
286
-
287
- ## Additional Resources
288
-
289
- - [Felo Open Platform Documentation](https://openapi.felo.ai)
290
- - [Get API Key](https://felo.ai) (Settings → API Keys)
291
- - [API Reference](https://openapi.felo.ai/docs)
1
+ ---
2
+ name: felo-search
3
+ description: "Felo AI real-time web search for questions requiring current/live information. Triggers on current events, news, trends, real-time data, information queries, location queries, how-to guides, shopping, or when Claude's knowledge may be outdated."
4
+ ---
5
+
6
+ # Felo Search Skill
7
+
8
+ ## When to Use
9
+
10
+ Trigger this skill for questions requiring current or real-time information:
11
+
12
+ - **Current events & news:** Recent developments, trending topics, breaking news
13
+ - **Real-time data:** Weather, stock prices, exchange rates, sports scores
14
+ - **Information queries:** "What is...", "Tell me about...", product reviews, comparisons, recommendations
15
+ - **Location-based:** Restaurants, travel destinations, local attractions, things to do
16
+ - **How-to guides:** Tutorials, step-by-step instructions, best practices
17
+ - **Shopping & prices:** Product prices, deals, "where to buy"
18
+ - **Trends & statistics:** Market trends, rankings, data analysis
19
+ - **Any question where Claude's knowledge may be outdated**
20
+
21
+ **Trigger words:**
22
+ - 简体中文: 最近、什么、哪里、怎么样、如何、查、搜、找、推荐、比较、新闻、天气
23
+ - 繁體中文: 最近、什麼、哪裡、怎麼樣、如何、查、搜、找、推薦、比較、新聞、天氣
24
+ - 日本語: 最近、何、どこ、どう、検索、探す、おすすめ、比較、ニュース、天気
25
+ - English: latest, recent, what, where, how, best, search, find, compare, news, weather
26
+
27
+ **Explicit commands:** `/felo-search`, "search with felo", "felo search"
28
+
29
+ **Do NOT use for:**
30
+ - Code questions about the user's codebase (unless asking about external libraries/docs)
31
+ - Pure mathematical calculations or logical reasoning
32
+ - Questions about files in the current project
33
+
34
+ ## Setup
35
+
36
+ ### 1. Get Your API Key
37
+
38
+ 1. Visit [felo.ai](https://felo.ai) and log in (or register)
39
+ 2. Click your avatar in the top right corner → Settings
40
+ 3. Navigate to the "API Keys" tab
41
+ 4. Click "Create New Key" to generate a new API Key
42
+ 5. Copy and save your API Key securely
43
+
44
+ ### 2. Configure API Key
45
+
46
+ Set the `FELO_API_KEY` environment variable:
47
+
48
+ **Linux/macOS:**
49
+ ```bash
50
+ export FELO_API_KEY="your-api-key-here"
51
+ ```
52
+
53
+ **Windows (PowerShell):**
54
+ ```powershell
55
+ $env:FELO_API_KEY="your-api-key-here"
56
+ ```
57
+
58
+ **Windows (CMD):**
59
+ ```cmd
60
+ set FELO_API_KEY=your-api-key-here
61
+ ```
62
+
63
+ For permanent configuration, add it to your shell profile (~/.bashrc, ~/.zshrc) or system environment variables.
64
+
65
+ ## How to Execute
66
+
67
+ When this skill is triggered, execute the following steps using the Bash tool:
68
+
69
+ ### Step 1: Check API Key
70
+
71
+ Use the Bash tool to verify the API key is set:
72
+
73
+ ```bash
74
+ if [ -z "$FELO_API_KEY" ]; then
75
+ echo "ERROR: FELO_API_KEY not set"
76
+ exit 1
77
+ fi
78
+ echo "API key configured"
79
+ ```
80
+
81
+ If the API key is not set, inform the user with setup instructions and STOP.
82
+
83
+ ### Step 2: Make API Request
84
+
85
+ Extract the user's query and call the Felo API using a temporary JSON file to handle special characters:
86
+
87
+ ```bash
88
+ # Create query JSON (replace USER_QUERY with actual query)
89
+ cat > /tmp/felo_query.json << 'EOF'
90
+ {"query": "USER_QUERY_HERE"}
91
+ EOF
92
+
93
+ # Call Felo API
94
+ curl -s -X POST https://openapi.felo.ai/v2/chat \
95
+ -H "Authorization: Bearer $FELO_API_KEY" \
96
+ -H "Content-Type: application/json" \
97
+ -d @/tmp/felo_query.json
98
+
99
+ # Clean up
100
+ rm -f /tmp/felo_query.json
101
+ ```
102
+
103
+ **Notes:**
104
+ - Replace `USER_QUERY_HERE` with the actual user query
105
+ - Use heredoc (`cat > file << 'EOF'`) to properly handle Chinese, Japanese, and special characters
106
+ - Use `-s` flag with curl for clean output
107
+
108
+ ### Step 3: Parse and Format Response
109
+
110
+ The API returns JSON with this structure:
111
+ ```json
112
+ {
113
+ "answer": "AI-generated answer text",
114
+ "query_analysis": ["optimized query 1", "optimized query 2"]
115
+ }
116
+ ```
117
+
118
+ Parse the JSON response and present it to the user in this format:
119
+
120
+ ```
121
+ ## Answer
122
+ [Display the answer field]
123
+
124
+ ## Query Analysis
125
+ Optimized search terms: [list query_analysis items]
126
+ ```
127
+
128
+ ## Complete Examples
129
+
130
+ ### Example 1: Weather query
131
+
132
+ **User asks:** "What's the weather in Tokyo today?"
133
+
134
+ **Expected response format:**
135
+ ```
136
+ ## Answer
137
+ Tokyo weather today: Sunny, 22°C (72°F). High of 25°C, low of 18°C.
138
+ Light winds from the east at 10 km/h. UV index: 6 (high).
139
+ Good day for outdoor activities!
140
+
141
+ ## Query Analysis
142
+ Optimized search terms: Tokyo weather today, 東京 天気 今日
143
+ ```
144
+
145
+ **Bash command:**
146
+ ```bash
147
+ cat > /tmp/felo_query.json << 'EOF'
148
+ {"query": "What's the weather in Tokyo today?"}
149
+ EOF
150
+
151
+ curl -s -X POST https://openapi.felo.ai/v2/chat \
152
+ -H "Authorization: Bearer $FELO_API_KEY" \
153
+ -H "Content-Type: application/json" \
154
+ -d @/tmp/felo_query.json
155
+
156
+ rm -f /tmp/felo_query.json
157
+ ```
158
+
159
+ ### Example 2: Local news / events
160
+
161
+ **User asks:** "What's new in Hangzhou recently?"
162
+
163
+ **Expected response format:**
164
+ ```
165
+ ## Answer
166
+ Recent news in Hangzhou: Asian Games venue upgrades completed, West Lake night tours launched, new metro lines opened. Details...
167
+
168
+ ## Query Analysis
169
+ Optimized search terms: Hangzhou recent news, Hangzhou events, 杭州 最近 新闻
170
+ ```
171
+
172
+ **Bash command:**
173
+ ```bash
174
+ cat > /tmp/felo_query.json << 'EOF'
175
+ {"query": "What's new in Hangzhou recently"}
176
+ EOF
177
+
178
+ curl -s -X POST https://openapi.felo.ai/v2/chat \
179
+ -H "Authorization: Bearer $FELO_API_KEY" \
180
+ -H "Content-Type: application/json" \
181
+ -d @/tmp/felo_query.json
182
+
183
+ rm -f /tmp/felo_query.json
184
+ ```
185
+
186
+ ### Example 3: Travel / things to do
187
+
188
+ **User asks:** "What are the best things to do in Taipei?"
189
+
190
+ **Bash command:**
191
+ ```bash
192
+ cat > /tmp/felo_query.json << 'EOF'
193
+ {"query": "What are the best things to do in Taipei"}
194
+ EOF
195
+
196
+ curl -s -X POST https://openapi.felo.ai/v2/chat \
197
+ -H "Authorization: Bearer $FELO_API_KEY" \
198
+ -H "Content-Type: application/json" \
199
+ -d @/tmp/felo_query.json
200
+
201
+ rm -f /tmp/felo_query.json
202
+ ```
203
+
204
+ ### Example 4: Restaurants / recommendations
205
+
206
+ **User asks:** "Popular restaurants in Tokyo?"
207
+
208
+ **Bash command:**
209
+ ```bash
210
+ cat > /tmp/felo_query.json << 'EOF'
211
+ {"query": "Popular restaurants in Tokyo"}
212
+ EOF
213
+
214
+ curl -s -X POST https://openapi.felo.ai/v2/chat \
215
+ -H "Authorization: Bearer $FELO_API_KEY" \
216
+ -H "Content-Type: application/json" \
217
+ -d @/tmp/felo_query.json
218
+
219
+ rm -f /tmp/felo_query.json
220
+ ```
221
+
222
+ ## Error Handling
223
+
224
+ ### Common Error Codes
225
+
226
+ - `INVALID_API_KEY` - API Key is invalid or revoked
227
+ - Solution: Check if your API key is correct and hasn't been revoked
228
+ - `MISSING_PARAMETER` - Required parameter is missing
229
+ - Solution: Ensure the query parameter is provided
230
+ - `INVALID_PARAMETER` - Parameter value is invalid
231
+ - Solution: Check the query format
232
+ - `CHAT_FAILED` - Internal service error
233
+ - Solution: Retry the request or contact Felo support
234
+
235
+ ### Missing API Key
236
+
237
+ If `FELO_API_KEY` is not set, display this message:
238
+
239
+ ```
240
+ ❌ Felo API Key not configured
241
+
242
+ To use this skill, you need to set up your Felo API Key:
243
+
244
+ 1. Get your API key from https://felo.ai (Settings → API Keys)
245
+ 2. Set the environment variable:
246
+
247
+ Linux/macOS:
248
+ export FELO_API_KEY="your-api-key-here"
249
+
250
+ Windows (PowerShell):
251
+ $env:FELO_API_KEY="your-api-key-here"
252
+
253
+ 3. Restart Claude Code or reload the environment
254
+ ```
255
+
256
+ ## API Configuration
257
+
258
+ **Endpoint:** `https://openapi.felo.ai/v2/chat`
259
+
260
+ **Authentication:** Bearer token in Authorization header (from `FELO_API_KEY` environment variable)
261
+
262
+ **Request format:**
263
+ ```json
264
+ {
265
+ "query": "user's search query"
266
+ }
267
+ ```
268
+
269
+ **Response format:**
270
+ ```json
271
+ {
272
+ "answer": "AI-generated comprehensive answer",
273
+ "query_analysis": ["optimized query 1", "optimized query 2"]
274
+ }
275
+ ```
276
+
277
+ ## Important Notes
278
+
279
+ - This skill should be used for any question requiring current information
280
+ - Execute immediately using the Bash tool - don't just describe what you would do
281
+ - Multi-language support: Fully supports Simplified Chinese, Traditional Chinese (Taiwan), Japanese, and English
282
+ - Handle special characters properly: Use heredoc for JSON files to avoid encoding issues
283
+ - Parse JSON response: Extract answer and query_analysis fields
284
+ - Format nicely: Present results in a clean, readable format with proper markdown
285
+ - The API returns results in the same language as the query when possible
286
+
287
+ ## Additional Resources
288
+
289
+ - [Felo Open Platform Documentation](https://openapi.felo.ai)
290
+ - [Get API Key](https://felo.ai) (Settings → API Keys)
291
+ - [API Reference](https://openapi.felo.ai/docs)
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 Felo Slides Skill Contributors
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Felo Slides Skill Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.