transskill 0.4.1 โ 0.4.3
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.
- package/README.md +15 -0
- package/README.zh.md +15 -0
- package/dist/index.js +0 -0
- package/dist/marketplace/registry-client.d.ts.map +1 -1
- package/dist/marketplace/registry-client.js +29 -6
- package/dist/marketplace/registry-client.js.map +1 -1
- package/dist/marketplace/search.d.ts.map +1 -1
- package/dist/marketplace/search.js +82 -3
- package/dist/marketplace/search.js.map +1 -1
- package/dist/utils/format-detector.d.ts.map +1 -1
- package/dist/utils/format-detector.js +11 -1
- package/dist/utils/format-detector.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -70,6 +70,21 @@ npm install -g transskill
|
|
|
70
70
|
npx transskill --help
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
+
> **๐ Mirror for restricted regions:** Set environment variables to bypass GitHub raw access limits:
|
|
74
|
+
> ```bash
|
|
75
|
+
> # Use ghproxy mirror (Chinese mainland) โ use `set` instead of `export` on Windows CMD
|
|
76
|
+
> export TRANSKILL_GITHUB_MIRROR=https://ghproxy.net/
|
|
77
|
+
> npx transskill search
|
|
78
|
+
>
|
|
79
|
+
> # Or use your own HTTP proxy
|
|
80
|
+
> export HTTPS_PROXY=http://127.0.0.1:7890
|
|
81
|
+
>
|
|
82
|
+
> # Or override the registry URL entirely
|
|
83
|
+
> export TRANSKILL_REGISTRY_URL=https://your-mirror/registry.json
|
|
84
|
+
> ```
|
|
85
|
+
>
|
|
86
|
+
> After setting, the first load uses the mirror. Subsequent runs use local cache for 24h.
|
|
87
|
+
|
|
73
88
|
## Commands
|
|
74
89
|
|
|
75
90
|
### ๐ Search & Install (Marketplace)
|
package/README.zh.md
CHANGED
|
@@ -70,6 +70,21 @@ npm install -g transskill
|
|
|
70
70
|
npx transskill --help
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
+
> **๐ ๅฝๅ
็จๆทๅ ้๏ผ** ๅฆๆ `raw.githubusercontent.com` ่ฎฟ้ฎๆ
ข๏ผ่ฎพ็ฝฎ้ๅ็ฏๅขๅ้๏ผ
|
|
74
|
+
> ```bash
|
|
75
|
+
> # ไฝฟ็จ ghproxy ้ๅ๏ผWindows CMD ็จ set ่้ export๏ผ
|
|
76
|
+
> export TRANSKILL_GITHUB_MIRROR=https://ghproxy.net/
|
|
77
|
+
> npx transskill search
|
|
78
|
+
>
|
|
79
|
+
> # ๆไฝฟ็จ่ชๅทฑ็ไปฃ็
|
|
80
|
+
> export HTTPS_PROXY=http://127.0.0.1:7890
|
|
81
|
+
>
|
|
82
|
+
> # ไนๅฏไปฅ่ชๅฎไน registry ๅฐๅ
|
|
83
|
+
> export TRANSKILL_REGISTRY_URL=https://your-mirror/registry.json
|
|
84
|
+
> ```
|
|
85
|
+
>
|
|
86
|
+
> ่ฎพ็ฝฎๅ้ฆๆฌกๅ ่ฝฝ registry ไผๅฟซๅพๅค๏ผไนๅ 24h ๅ
่ตฐๆฌๅฐ็ผๅญๆ ้้ๅคไธ่ฝฝใ
|
|
87
|
+
|
|
73
88
|
## ๅฝไปค
|
|
74
89
|
|
|
75
90
|
### ๐ ๆ็ดขไธๅฎ่ฃ
๏ผๅธๅบ๏ผ
|
package/dist/index.js
CHANGED
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-client.d.ts","sourceRoot":"","sources":["../../src/marketplace/registry-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"registry-client.d.ts","sourceRoot":"","sources":["../../src/marketplace/registry-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAoK5E;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,YAAY,UAAQ,EACpB,eAAe,UAAO,GACrB,OAAO,CAAC,aAAa,CAAC,CAsCxB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CASpF;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,GACX,aAAa,GAAG,SAAS,CAW3B;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAkBlF"}
|
|
@@ -11,7 +11,13 @@ import { homedir } from 'node:os';
|
|
|
11
11
|
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
12
12
|
// Constants
|
|
13
13
|
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
14
|
-
|
|
14
|
+
// Allow users to override the registry URL via env var (e.g. mirror/proxy)
|
|
15
|
+
const REGISTRY_URL = process.env.TRANSKILL_REGISTRY_URL ||
|
|
16
|
+
'https://raw.githubusercontent.com/ljk-777/transskill-registry/main/registry.json';
|
|
17
|
+
// GitHub raw content mirror for users in regions with restricted access.
|
|
18
|
+
// Set TRANSKILL_GITHUB_MIRROR=https://ghproxy.net/ for a common China mirror.
|
|
19
|
+
// The mirror prefix is prepended to all raw.githubusercontent.com URLs.
|
|
20
|
+
const GITHUB_RAW_MIRROR = process.env.TRANSKILL_GITHUB_MIRROR || '';
|
|
15
21
|
const CACHE_DIR = join(homedir(), '.transskill', 'cache');
|
|
16
22
|
const CACHE_FILE = join(CACHE_DIR, 'registry.json');
|
|
17
23
|
const CACHE_TTL_MS = 24 * 60 * 60 * 1000; // 24 hours
|
|
@@ -51,8 +57,25 @@ function writeCache(index) {
|
|
|
51
57
|
ensureCacheDir();
|
|
52
58
|
writeFileSync(CACHE_FILE, `${new Date().toISOString()}\n${JSON.stringify(index)}`, 'utf-8');
|
|
53
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Prepend GitHub raw mirror if set.
|
|
62
|
+
*
|
|
63
|
+
* ghproxy.net format: https://ghproxy.net/https://raw.githubusercontent.com/...
|
|
64
|
+
* So we prepend the mirror prefix to the original URL.
|
|
65
|
+
*/
|
|
66
|
+
function mirrorUrl(rawUrl) {
|
|
67
|
+
if (!GITHUB_RAW_MIRROR)
|
|
68
|
+
return rawUrl;
|
|
69
|
+
if (rawUrl.startsWith('https://raw.githubusercontent.com/')) {
|
|
70
|
+
// Strip trailing slash from mirror, join with raw URL
|
|
71
|
+
const mirror = GITHUB_RAW_MIRROR.replace(/\/+$/, '');
|
|
72
|
+
return `${mirror}/${rawUrl}`;
|
|
73
|
+
}
|
|
74
|
+
return rawUrl;
|
|
75
|
+
}
|
|
54
76
|
async function fetchRemote() {
|
|
55
|
-
const
|
|
77
|
+
const url = mirrorUrl(REGISTRY_URL);
|
|
78
|
+
const res = await fetch(url);
|
|
56
79
|
if (!res.ok)
|
|
57
80
|
throw new Error(`Failed to fetch registry: ${res.status} ${res.statusText}`);
|
|
58
81
|
return (await res.json());
|
|
@@ -65,7 +88,7 @@ async function fetchRemote() {
|
|
|
65
88
|
* Each section has a table of skills with links to officialskills.sh.
|
|
66
89
|
*/
|
|
67
90
|
async function fetchAwesomeAgentSkills() {
|
|
68
|
-
const readmeUrl = 'https://raw.githubusercontent.com/VoltAgent/awesome-agent-skills/main/README.md';
|
|
91
|
+
const readmeUrl = mirrorUrl('https://raw.githubusercontent.com/VoltAgent/awesome-agent-skills/main/README.md');
|
|
69
92
|
const res = await fetch(readmeUrl);
|
|
70
93
|
if (!res.ok) {
|
|
71
94
|
console.warn(` โ awesome-agent-skills: HTTP ${res.status}`);
|
|
@@ -88,7 +111,7 @@ async function fetchAwesomeAgentSkills() {
|
|
|
88
111
|
const author = parts[0];
|
|
89
112
|
const name = parts[1] || fullName;
|
|
90
113
|
// Derive download URL from the officialskills.sh page or GitHub
|
|
91
|
-
const downloadUrl = deriveDownloadUrl(url, name, author);
|
|
114
|
+
const downloadUrl = mirrorUrl(deriveDownloadUrl(url, name, author));
|
|
92
115
|
skills.push({
|
|
93
116
|
name,
|
|
94
117
|
version: '1.0.0',
|
|
@@ -202,11 +225,11 @@ export function findSkill(registry, name) {
|
|
|
202
225
|
* Fetches directly from the original source URL.
|
|
203
226
|
*/
|
|
204
227
|
export async function getSkillDetail(manifest) {
|
|
205
|
-
const res = await fetch(manifest.downloadUrl);
|
|
228
|
+
const res = await fetch(mirrorUrl(manifest.downloadUrl));
|
|
206
229
|
if (!res.ok) {
|
|
207
230
|
// Fallback: try common URL patterns
|
|
208
231
|
const fallbackUrl = `https://raw.githubusercontent.com/${manifest.author}/skills/main/skills/${manifest.name}/SKILL.md`;
|
|
209
|
-
const fallbackRes = await fetch(fallbackUrl);
|
|
232
|
+
const fallbackRes = await fetch(mirrorUrl(fallbackUrl));
|
|
210
233
|
if (!fallbackRes.ok) {
|
|
211
234
|
throw new Error(`Failed to fetch skill "${manifest.name}" from ${manifest.downloadUrl} ` +
|
|
212
235
|
`(HTTP ${res.status}) and fallback ${fallbackUrl} (HTTP ${fallbackRes.status})`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-client.js","sourceRoot":"","sources":["../../src/marketplace/registry-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,iDAAiD;AACjD,YAAY;AACZ,iDAAiD;AAEjD,MAAM,YAAY,GAAG,kFAAkF,CAAC;
|
|
1
|
+
{"version":3,"file":"registry-client.js","sourceRoot":"","sources":["../../src/marketplace/registry-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/marketplace/search.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/marketplace/search.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiIH;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDhB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhB"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Interactive search TUI โ search and browse skills from the registry.
|
|
3
3
|
*/
|
|
4
|
-
import { intro, outro, autocomplete, isCancel, log, spinner } from '@clack/prompts';
|
|
4
|
+
import { intro, outro, autocomplete, select, isCancel, log, spinner } from '@clack/prompts';
|
|
5
|
+
import { createInterface } from 'node:readline';
|
|
5
6
|
import chalk from 'chalk';
|
|
6
7
|
import { getRegistry, searchSkills } from './registry-client.js';
|
|
7
8
|
import { showSkillInfo } from './info.js';
|
|
9
|
+
import { installSkill } from './install.js';
|
|
8
10
|
const BRAND = chalk.cyan('โ TransSkill Marketplace');
|
|
9
11
|
/**
|
|
10
12
|
* Format a skill manifest as an autocomplete option label.
|
|
@@ -31,10 +33,87 @@ function skillFilter(search, option) {
|
|
|
31
33
|
s.tags.some((t) => t.toLowerCase().includes(q)));
|
|
32
34
|
}
|
|
33
35
|
/**
|
|
34
|
-
*
|
|
36
|
+
* Ask a simple question via readline (for Windows CMD where TUI is broken).
|
|
37
|
+
*/
|
|
38
|
+
function askQuestion(prompt, validOptions) {
|
|
39
|
+
return new Promise((resolve) => {
|
|
40
|
+
const rl = createInterface({
|
|
41
|
+
input: process.stdin,
|
|
42
|
+
output: process.stdout,
|
|
43
|
+
});
|
|
44
|
+
const ask = () => {
|
|
45
|
+
rl.question(`${prompt} `, (answer) => {
|
|
46
|
+
const trimmed = answer.trim();
|
|
47
|
+
if (validOptions.includes(trimmed)) {
|
|
48
|
+
rl.close();
|
|
49
|
+
resolve(trimmed);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
console.log(` (enter one of: ${validOptions.join(', ')})`);
|
|
53
|
+
ask();
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
ask();
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Show action menu after selecting a skill: preview, install, or back.
|
|
62
|
+
* Uses select when terminal supports it, falls back to simple Q&A.
|
|
35
63
|
*/
|
|
36
64
|
async function showAndOfferInstall(manifest) {
|
|
37
|
-
|
|
65
|
+
const needsFallback = process.platform === 'win32' && !process.env.WT_SESSION;
|
|
66
|
+
let action;
|
|
67
|
+
if (needsFallback) {
|
|
68
|
+
console.log(`\n [${manifest.name} v${manifest.version}]`);
|
|
69
|
+
const answer = await askQuestion(' Action (1=Preview, 2=Install, 3=Back):', ['1', '2', '3']);
|
|
70
|
+
const map = { '1': 'preview', '2': 'install', '3': 'back' };
|
|
71
|
+
action = map[answer];
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
action = await select({
|
|
75
|
+
message: `Selected ${chalk.bold(manifest.name)} v${manifest.version}`,
|
|
76
|
+
options: [
|
|
77
|
+
{ value: 'preview', label: 'Preview Show full description and README' },
|
|
78
|
+
{ value: 'install', label: 'Install Download and convert to local format' },
|
|
79
|
+
{ value: 'back', label: 'Back Return to search' },
|
|
80
|
+
],
|
|
81
|
+
});
|
|
82
|
+
if (isCancel(action))
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (action === 'preview') {
|
|
86
|
+
await showSkillInfo(manifest.name);
|
|
87
|
+
await showAndOfferInstall(manifest);
|
|
88
|
+
}
|
|
89
|
+
else if (action === 'install') {
|
|
90
|
+
let targetFormat;
|
|
91
|
+
if (needsFallback) {
|
|
92
|
+
const answer = await askQuestion(' Format (1=.mdc, 2=.cursorrules, 3=skill.md, 4=claude.md, 5=mcp.json):', ['1', '2', '3', '4', '5']);
|
|
93
|
+
const formatMap = {
|
|
94
|
+
'1': '.mdc', '2': '.cursorrules', '3': 'skill.md',
|
|
95
|
+
'4': 'claude.md', '5': 'mcp.json',
|
|
96
|
+
};
|
|
97
|
+
targetFormat = formatMap[answer];
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
const fmt = await select({
|
|
101
|
+
message: 'Select target format:',
|
|
102
|
+
options: [
|
|
103
|
+
{ value: '.mdc', label: '.mdc (Cursor IDE)', hint: 'Supports globs + alwaysApply' },
|
|
104
|
+
{ value: '.cursorrules', label: '.cursorrules (Cursor IDE)', hint: 'Classic Cursor format' },
|
|
105
|
+
{ value: 'skill.md', label: 'skill.md (Universal)', hint: 'Canonical format' },
|
|
106
|
+
{ value: 'claude.md', label: 'claude.md (Claude Code)', hint: 'Claude Code agent skill' },
|
|
107
|
+
{ value: 'mcp.json', label: 'mcp.json (MCP Server)', hint: 'MCP server definition' },
|
|
108
|
+
],
|
|
109
|
+
});
|
|
110
|
+
if (isCancel(fmt))
|
|
111
|
+
return;
|
|
112
|
+
targetFormat = fmt;
|
|
113
|
+
}
|
|
114
|
+
await installSkill(manifest.name, { to: targetFormat, force: false, noTui: true });
|
|
115
|
+
}
|
|
116
|
+
// back โ exit
|
|
38
117
|
}
|
|
39
118
|
/**
|
|
40
119
|
* Launch interactive search TUI.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/marketplace/search.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAQ,OAAO,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/marketplace/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-detector.d.ts","sourceRoot":"","sources":["../../src/utils/format-detector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB;AAiBD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,qBAAqB,
|
|
1
|
+
{"version":3,"file":"format-detector.d.ts","sourceRoot":"","sources":["../../src/utils/format-detector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB;AAiBD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,qBAAqB,CAyF7E"}
|
|
@@ -50,7 +50,10 @@ export function detectFormatFromPath(localPath) {
|
|
|
50
50
|
}
|
|
51
51
|
// File mode - detect by extension and content
|
|
52
52
|
const ext = extname(localPath).toLowerCase();
|
|
53
|
+
const baseName = basename(localPath);
|
|
53
54
|
// Quick extension-based detection
|
|
55
|
+
// Note: extname('.cursorrules') returns '' because Node treats
|
|
56
|
+
// leading-dot files as extension-less. Check basename.
|
|
54
57
|
const extMap = {
|
|
55
58
|
'.cursorrules': '.cursorrules',
|
|
56
59
|
'.mdc': '.mdc',
|
|
@@ -58,11 +61,18 @@ export function detectFormatFromPath(localPath) {
|
|
|
58
61
|
if (ext in extMap) {
|
|
59
62
|
return { format: extMap[ext], isDirectory: false };
|
|
60
63
|
}
|
|
64
|
+
// Check basename for hidden files (start with dot)
|
|
65
|
+
if (baseName.startsWith('.')) {
|
|
66
|
+
for (const [extKey, fmt] of Object.entries(extMap)) {
|
|
67
|
+
if (baseName.endsWith(extKey)) {
|
|
68
|
+
return { format: fmt, isDirectory: false };
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
61
72
|
if (ext === '.json') {
|
|
62
73
|
return { format: 'mcp.json', isDirectory: false };
|
|
63
74
|
}
|
|
64
75
|
if (ext === '.md') {
|
|
65
|
-
const baseName = localPath.split('/').pop() || localPath.split('\\').pop() || '';
|
|
66
76
|
// Check by filename
|
|
67
77
|
if (baseName === 'SOUL.md')
|
|
68
78
|
return { format: 'soul.md', isDirectory: false };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-detector.js","sourceRoot":"","sources":["../../src/utils/format-detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAc,WAAW,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAQ,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOpD;;;GAGG;AACH,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC1E,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACxE,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACpG,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC5E,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACxF,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACxE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEjC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACvB,iEAAiE;QACjE,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QACrF,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QAE1C,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;YAC/B,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5B,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;QAC1E,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACvD,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1D,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAC/C,CAAC;QAED,qBAAqB;QACrB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACnD,CAAC;IAED,8CAA8C;IAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"format-detector.js","sourceRoot":"","sources":["../../src/utils/format-detector.ts"],"names":[],"mappings":"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"}
|