@a1st/aix-core 0.0.4 → 0.0.6
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/dist/cache/index.d.ts +1 -1
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +1 -1
- package/dist/cache/index.js.map +1 -1
- package/dist/cache/paths.d.ts +9 -0
- package/dist/cache/paths.d.ts.map +1 -1
- package/dist/cache/paths.js +13 -0
- package/dist/cache/paths.js.map +1 -1
- package/dist/editors/adapters/base.d.ts +5 -0
- package/dist/editors/adapters/base.d.ts.map +1 -1
- package/dist/editors/adapters/base.js +1 -1
- package/dist/editors/adapters/base.js.map +1 -1
- package/dist/editors/adapters/claude-code.d.ts +2 -1
- package/dist/editors/adapters/claude-code.d.ts.map +1 -1
- package/dist/editors/adapters/claude-code.js +11 -4
- package/dist/editors/adapters/claude-code.js.map +1 -1
- package/dist/editors/adapters/codex.d.ts +1 -0
- package/dist/editors/adapters/codex.d.ts.map +1 -1
- package/dist/editors/adapters/codex.js +7 -0
- package/dist/editors/adapters/codex.js.map +1 -1
- package/dist/editors/adapters/cursor.d.ts +1 -0
- package/dist/editors/adapters/cursor.d.ts.map +1 -1
- package/dist/editors/adapters/cursor.js +7 -0
- package/dist/editors/adapters/cursor.js.map +1 -1
- package/dist/editors/adapters/vscode.d.ts +1 -0
- package/dist/editors/adapters/vscode.d.ts.map +1 -1
- package/dist/editors/adapters/vscode.js +7 -0
- package/dist/editors/adapters/vscode.js.map +1 -1
- package/dist/editors/adapters/windsurf.d.ts +1 -0
- package/dist/editors/adapters/windsurf.d.ts.map +1 -1
- package/dist/editors/adapters/windsurf.js +7 -0
- package/dist/editors/adapters/windsurf.js.map +1 -1
- package/dist/editors/adapters/zed.d.ts +1 -0
- package/dist/editors/adapters/zed.d.ts.map +1 -1
- package/dist/editors/adapters/zed.js +7 -0
- package/dist/editors/adapters/zed.js.map +1 -1
- package/dist/editors/import.d.ts +2 -1
- package/dist/editors/import.d.ts.map +1 -1
- package/dist/editors/import.js +12 -9
- package/dist/editors/import.js.map +1 -1
- package/dist/editors/install.d.ts.map +1 -1
- package/dist/editors/install.js +1 -36
- package/dist/editors/install.js.map +1 -1
- package/dist/editors/strategies/claude-code/mcp.d.ts +6 -2
- package/dist/editors/strategies/claude-code/mcp.d.ts.map +1 -1
- package/dist/editors/strategies/claude-code/mcp.js +40 -2
- package/dist/editors/strategies/claude-code/mcp.js.map +1 -1
- package/dist/editors/strategies/claude-code/prompts.d.ts +11 -1
- package/dist/editors/strategies/claude-code/prompts.d.ts.map +1 -1
- package/dist/editors/strategies/claude-code/prompts.js +29 -0
- package/dist/editors/strategies/claude-code/prompts.js.map +1 -1
- package/dist/editors/strategies/claude-code/rules.d.ts +12 -1
- package/dist/editors/strategies/claude-code/rules.d.ts.map +1 -1
- package/dist/editors/strategies/claude-code/rules.js +49 -5
- package/dist/editors/strategies/claude-code/rules.js.map +1 -1
- package/dist/editors/strategies/codex/prompts.d.ts +11 -1
- package/dist/editors/strategies/codex/prompts.d.ts.map +1 -1
- package/dist/editors/strategies/codex/prompts.js +34 -0
- package/dist/editors/strategies/codex/prompts.js.map +1 -1
- package/dist/editors/strategies/cursor/rules.d.ts +14 -1
- package/dist/editors/strategies/cursor/rules.d.ts.map +1 -1
- package/dist/editors/strategies/cursor/rules.js +51 -5
- package/dist/editors/strategies/cursor/rules.js.map +1 -1
- package/dist/editors/strategies/shared/standard-mcp.d.ts +3 -1
- package/dist/editors/strategies/shared/standard-mcp.d.ts.map +1 -1
- package/dist/editors/strategies/shared/standard-mcp.js +5 -1
- package/dist/editors/strategies/shared/standard-mcp.js.map +1 -1
- package/dist/editors/strategies/types.d.ts +48 -2
- package/dist/editors/strategies/types.d.ts.map +1 -1
- package/dist/editors/strategies/vscode/prompts.d.ts +11 -1
- package/dist/editors/strategies/vscode/prompts.d.ts.map +1 -1
- package/dist/editors/strategies/vscode/prompts.js +29 -0
- package/dist/editors/strategies/vscode/prompts.js.map +1 -1
- package/dist/editors/strategies/windsurf/prompts.d.ts +11 -1
- package/dist/editors/strategies/windsurf/prompts.d.ts.map +1 -1
- package/dist/editors/strategies/windsurf/prompts.js +29 -0
- package/dist/editors/strategies/windsurf/prompts.js.map +1 -1
- package/dist/editors/strategies/windsurf/rules.d.ts +14 -1
- package/dist/editors/strategies/windsurf/rules.d.ts.map +1 -1
- package/dist/editors/strategies/windsurf/rules.js +43 -5
- package/dist/editors/strategies/windsurf/rules.js.map +1 -1
- package/dist/editors/types.d.ts +5 -0
- package/dist/editors/types.d.ts.map +1 -1
- package/dist/frontmatter-parser.d.ts +24 -0
- package/dist/frontmatter-parser.d.ts.map +1 -0
- package/dist/frontmatter-parser.js +137 -0
- package/dist/frontmatter-parser.js.map +1 -0
- package/dist/frontmatter-utils.d.ts +36 -0
- package/dist/frontmatter-utils.d.ts.map +1 -0
- package/dist/frontmatter-utils.js +109 -0
- package/dist/frontmatter-utils.js.map +1 -0
- package/dist/git-download.d.ts +18 -0
- package/dist/git-download.d.ts.map +1 -0
- package/dist/git-download.js +49 -0
- package/dist/git-download.js.map +1 -0
- package/dist/import-writer.d.ts +6 -1
- package/dist/import-writer.d.ts.map +1 -1
- package/dist/import-writer.js +8 -5
- package/dist/import-writer.js.map +1 -1
- package/dist/inheritance.d.ts +2 -0
- package/dist/inheritance.d.ts.map +1 -1
- package/dist/inheritance.js +172 -41
- package/dist/inheritance.js.map +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +2 -1
- package/dist/loader.js.map +1 -1
- package/dist/prompts/loader.d.ts.map +1 -1
- package/dist/prompts/loader.js +11 -39
- package/dist/prompts/loader.js.map +1 -1
- package/dist/remote-loader.d.ts.map +1 -1
- package/dist/remote-loader.js +19 -44
- package/dist/remote-loader.js.map +1 -1
- package/dist/rules/loader.d.ts.map +1 -1
- package/dist/rules/loader.js +23 -13
- package/dist/rules/loader.js.map +1 -1
- package/dist/skills/parser.d.ts +3 -1
- package/dist/skills/parser.d.ts.map +1 -1
- package/dist/skills/parser.js +22 -10
- package/dist/skills/parser.js.map +1 -1
- package/dist/skills/validate.js +1 -1
- package/dist/skills/validate.js.map +1 -1
- package/dist/updater.d.ts.map +1 -1
- package/dist/updater.js +5 -12
- package/dist/updater.js.map +1 -1
- package/dist/url-parsing.d.ts +1 -7
- package/dist/url-parsing.d.ts.map +1 -1
- package/dist/url-parsing.js +2 -19
- package/dist/url-parsing.js.map +1 -1
- package/package.json +8 -1
package/dist/inheritance.js
CHANGED
|
@@ -1,17 +1,27 @@
|
|
|
1
|
-
import { resolve, dirname } from 'pathe';
|
|
1
|
+
import { resolve, dirname, join, isAbsolute } from 'pathe';
|
|
2
2
|
import { existsSync, readFileSync } from 'node:fs';
|
|
3
|
+
import { cp, mkdir, rm } from 'node:fs/promises';
|
|
3
4
|
import { fileURLToPath } from 'node:url';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
5
|
+
import { parseJsonc, detectSourceType, isLocalPath } from '@a1st/aix-schema';
|
|
6
|
+
import { withGitDownload, createDownloadKey } from './git-download.js';
|
|
7
|
+
import { getExtendsDir } from './cache/paths.js';
|
|
6
8
|
import { parseConfigContent } from './discovery.js';
|
|
7
9
|
import { CircularDependencyError, ConfigParseError, RemoteFetchError } from './errors.js';
|
|
8
|
-
import { convertBlobToRawUrl
|
|
10
|
+
import { convertBlobToRawUrl } from './url-parsing.js';
|
|
9
11
|
import { deepMergeJson } from './json.js';
|
|
10
12
|
export async function resolveExtends(config, options) {
|
|
11
|
-
const { baseDir, visited = new Set(), isRemote = false } = options;
|
|
13
|
+
const { baseDir, projectRoot, visited = new Set(), isRemote = false } = options, isTopLevel = !options.visited;
|
|
12
14
|
if (!config.extends) {
|
|
13
15
|
return config;
|
|
14
16
|
}
|
|
17
|
+
// On the top-level call, wipe the extends directory so it exactly reflects the current config.
|
|
18
|
+
// This prevents orphaned directories from accumulating when the extends URL changes.
|
|
19
|
+
if (isTopLevel) {
|
|
20
|
+
const extendsDir = getExtendsDir(projectRoot);
|
|
21
|
+
if (existsSync(extendsDir)) {
|
|
22
|
+
await rm(extendsDir, { recursive: true, force: true });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
15
25
|
const extendsValue = config.extends, extendsList = Array.isArray(extendsValue) ? extendsValue : [extendsValue];
|
|
16
26
|
let merged = {};
|
|
17
27
|
// Process extends sequentially - order matters for proper inheritance chain
|
|
@@ -20,39 +30,46 @@ export async function resolveExtends(config, options) {
|
|
|
20
30
|
continue;
|
|
21
31
|
}
|
|
22
32
|
// eslint-disable-next-line no-await-in-loop -- Sequential: inheritance chain order matters
|
|
23
|
-
const resolvedConfig = await resolveExtendsPath(extendPath,
|
|
33
|
+
const resolvedConfig = await resolveExtendsPath(extendPath, {
|
|
34
|
+
baseDir,
|
|
35
|
+
projectRoot,
|
|
36
|
+
visited,
|
|
37
|
+
isRemote,
|
|
38
|
+
});
|
|
24
39
|
merged = deepMergeJson(merged, resolvedConfig, { resolver: aiJsonMergeResolver });
|
|
25
40
|
}
|
|
26
41
|
const { extends: _, ...currentConfig } = config;
|
|
27
42
|
merged = deepMergeJson(merged, currentConfig, { resolver: aiJsonMergeResolver });
|
|
28
43
|
return merged;
|
|
29
44
|
}
|
|
30
|
-
async function resolveExtendsPath(extendPath,
|
|
45
|
+
async function resolveExtendsPath(extendPath, options) {
|
|
46
|
+
const { baseDir, projectRoot, visited, isRemote } = options;
|
|
31
47
|
// If base is a remote URL and extend is a relative path, resolve as remote URL
|
|
32
48
|
if (isRemote && isRelativePath(extendPath)) {
|
|
33
|
-
return resolveRemoteExtends(new URL(extendPath, baseDir).href, visited);
|
|
34
|
-
}
|
|
35
|
-
if (isLocalPath(extendPath)) {
|
|
36
|
-
return resolveLocalExtends(extendPath, baseDir, visited);
|
|
49
|
+
return resolveRemoteExtends(new URL(extendPath, baseDir).href, projectRoot, visited);
|
|
37
50
|
}
|
|
38
|
-
|
|
39
|
-
|
|
51
|
+
const sourceType = detectSourceType(extendPath);
|
|
52
|
+
switch (sourceType) {
|
|
53
|
+
case 'local':
|
|
54
|
+
return resolveLocalExtends(extendPath, baseDir, projectRoot, visited);
|
|
55
|
+
case 'https-file':
|
|
56
|
+
return resolveRemoteExtends(extendPath, projectRoot, visited);
|
|
57
|
+
case 'git-shorthand':
|
|
58
|
+
case 'https-repo':
|
|
59
|
+
return resolveGitExtends(extendPath, projectRoot, visited);
|
|
60
|
+
case 'npm':
|
|
61
|
+
return resolveNpmExtends(extendPath, projectRoot, visited);
|
|
62
|
+
case 'http-unsupported':
|
|
63
|
+
throw new ConfigParseError('HTTP URLs are not supported (use HTTPS)', extendPath);
|
|
40
64
|
}
|
|
41
|
-
return resolveNpmExtends(extendPath, visited);
|
|
42
65
|
}
|
|
43
66
|
function isRelativePath(path) {
|
|
44
67
|
return path.startsWith('./') || path.startsWith('../');
|
|
45
68
|
}
|
|
46
|
-
function isGitPath(path) {
|
|
47
|
-
return (path.startsWith('github:') ||
|
|
48
|
-
path.startsWith('gitlab:') ||
|
|
49
|
-
path.startsWith('bitbucket:') ||
|
|
50
|
-
path.startsWith('https://'));
|
|
51
|
-
}
|
|
52
69
|
/**
|
|
53
70
|
* Resolve extends from a remote URL (fetch the file directly).
|
|
54
71
|
*/
|
|
55
|
-
async function resolveRemoteExtends(url, visited) {
|
|
72
|
+
async function resolveRemoteExtends(url, projectRoot, visited) {
|
|
56
73
|
if (visited.has(url)) {
|
|
57
74
|
throw new CircularDependencyError([...visited, url]);
|
|
58
75
|
}
|
|
@@ -75,9 +92,9 @@ async function resolveRemoteExtends(url, visited) {
|
|
|
75
92
|
throw new ConfigParseError(`Parse error: ${result.errors[0]?.message}`, url);
|
|
76
93
|
}
|
|
77
94
|
const parsed = result.data, newBaseUrl = rawUrl.substring(0, rawUrl.lastIndexOf('/') + 1);
|
|
78
|
-
return resolveExtends(parsed, { baseDir: newBaseUrl, visited, isRemote: true });
|
|
95
|
+
return resolveExtends(parsed, { baseDir: newBaseUrl, projectRoot, visited, isRemote: true });
|
|
79
96
|
}
|
|
80
|
-
async function resolveLocalExtends(extendPath, baseDir, visited) {
|
|
97
|
+
async function resolveLocalExtends(extendPath, baseDir, projectRoot, visited) {
|
|
81
98
|
const absolutePath = resolve(baseDir, extendPath);
|
|
82
99
|
if (visited.has(absolutePath)) {
|
|
83
100
|
throw new CircularDependencyError([...visited, absolutePath]);
|
|
@@ -86,38 +103,46 @@ async function resolveLocalExtends(extendPath, baseDir, visited) {
|
|
|
86
103
|
throw new ConfigParseError(`Extended config not found: ${extendPath}`, absolutePath);
|
|
87
104
|
}
|
|
88
105
|
visited.add(absolutePath);
|
|
89
|
-
const content = readFileSync(absolutePath, 'utf-8'), parsed = parseConfigContent(content), newBaseDir = dirname(absolutePath);
|
|
90
|
-
|
|
106
|
+
const content = readFileSync(absolutePath, 'utf-8'), parsed = parseConfigContent(content), newBaseDir = dirname(absolutePath), resolved = await resolveExtends(parsed, { baseDir: newBaseDir, projectRoot, visited });
|
|
107
|
+
// Normalize local paths to absolute so they remain valid after merging into the parent config,
|
|
108
|
+
// which may be in a different directory.
|
|
109
|
+
return normalizeLocalPaths(resolved, newBaseDir);
|
|
91
110
|
}
|
|
92
|
-
async function resolveGitExtends(extendPath, visited) {
|
|
111
|
+
async function resolveGitExtends(extendPath, projectRoot, visited) {
|
|
93
112
|
if (visited.has(extendPath)) {
|
|
94
113
|
throw new CircularDependencyError([...visited, extendPath]);
|
|
95
114
|
}
|
|
96
115
|
visited.add(extendPath);
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
116
|
+
return withGitDownload(extendPath, projectRoot, async (dir) => {
|
|
117
|
+
const configPath = resolve(dir, 'ai.json');
|
|
118
|
+
if (!existsSync(configPath)) {
|
|
119
|
+
throw new ConfigParseError(`No ai.json found in git repository: ${extendPath}`, configPath);
|
|
120
|
+
}
|
|
121
|
+
const content = readFileSync(configPath, 'utf-8'), parsed = parseConfigContent(content), resolved = await resolveExtends(parsed, { baseDir: dir, projectRoot, visited });
|
|
122
|
+
// Copy the downloaded content to a permanent location under .aix/extends/ so that skill,
|
|
123
|
+
// rule, and prompt paths remain resolvable after the ephemeral temp dir is cleaned up.
|
|
124
|
+
const extendsKey = createDownloadKey(extendPath), permanentDir = join(getExtendsDir(projectRoot), extendsKey);
|
|
125
|
+
await mkdir(dirname(permanentDir), { recursive: true });
|
|
126
|
+
await cp(dir, permanentDir, { recursive: true, force: true });
|
|
127
|
+
// Normalize local paths to point at the permanent copy
|
|
128
|
+
return normalizeLocalPaths(resolved, permanentDir);
|
|
100
129
|
});
|
|
101
|
-
const configPath = resolve(dir, 'ai.json');
|
|
102
|
-
if (!existsSync(configPath)) {
|
|
103
|
-
throw new ConfigParseError(`No ai.json found in git repository: ${extendPath}`, configPath);
|
|
104
|
-
}
|
|
105
|
-
const content = readFileSync(configPath, 'utf-8'), parsed = parseConfigContent(content);
|
|
106
|
-
return resolveExtends(parsed, { baseDir: dir, visited });
|
|
107
130
|
}
|
|
108
|
-
async function resolveNpmExtends(packageName, visited) {
|
|
131
|
+
async function resolveNpmExtends(packageName, projectRoot, visited) {
|
|
109
132
|
if (visited.has(packageName)) {
|
|
110
133
|
throw new CircularDependencyError([...visited, packageName]);
|
|
111
134
|
}
|
|
112
135
|
visited.add(packageName);
|
|
113
136
|
try {
|
|
114
137
|
// Use ESM-compatible import.meta.resolve to find the package
|
|
115
|
-
const resolvedUrl = import.meta.resolve(`${packageName}/ai.json`, `file://${process.cwd()}/`);
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
return resolveExtends(parsed, { baseDir, visited });
|
|
138
|
+
const resolvedUrl = import.meta.resolve(`${packageName}/ai.json`, `file://${process.cwd()}/`), packagePath = fileURLToPath(resolvedUrl), content = readFileSync(packagePath, 'utf-8'), parsed = parseConfigContent(content), baseDir = dirname(packagePath), resolved = await resolveExtends(parsed, { baseDir, projectRoot, visited });
|
|
139
|
+
// Normalize local paths to absolute so they remain valid after merging into the parent config
|
|
140
|
+
return normalizeLocalPaths(resolved, baseDir);
|
|
119
141
|
}
|
|
120
|
-
catch (
|
|
142
|
+
catch (error) {
|
|
143
|
+
if (error instanceof ConfigParseError || error instanceof CircularDependencyError) {
|
|
144
|
+
throw error;
|
|
145
|
+
}
|
|
121
146
|
throw new ConfigParseError(`Failed to resolve npm package: ${packageName}. Make sure it's installed.`, packageName);
|
|
122
147
|
}
|
|
123
148
|
}
|
|
@@ -130,4 +155,110 @@ function aiJsonMergeResolver({ key }) {
|
|
|
130
155
|
}
|
|
131
156
|
return undefined;
|
|
132
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Normalize local paths in a config to absolute paths. This ensures that skills, rules, and prompts
|
|
160
|
+
* from extended configs (git, npm) remain resolvable after merging into the parent config.
|
|
161
|
+
*/
|
|
162
|
+
function normalizeLocalPaths(config, baseDir) {
|
|
163
|
+
const result = { ...config };
|
|
164
|
+
// Normalize skills
|
|
165
|
+
if (result.skills && typeof result.skills === 'object') {
|
|
166
|
+
result.skills = normalizeSkillPaths(result.skills, baseDir);
|
|
167
|
+
}
|
|
168
|
+
// Normalize rules
|
|
169
|
+
if (result.rules && typeof result.rules === 'object') {
|
|
170
|
+
result.rules = normalizeRulePaths(result.rules, baseDir);
|
|
171
|
+
}
|
|
172
|
+
// Normalize prompts
|
|
173
|
+
if (result.prompts && typeof result.prompts === 'object') {
|
|
174
|
+
result.prompts = normalizePromptPaths(result.prompts, baseDir);
|
|
175
|
+
}
|
|
176
|
+
return result;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Normalize skill reference paths to absolute paths.
|
|
180
|
+
*/
|
|
181
|
+
function normalizeSkillPaths(skills, baseDir) {
|
|
182
|
+
const result = {};
|
|
183
|
+
for (const [name, ref] of Object.entries(skills)) {
|
|
184
|
+
result[name] = normalizeSourceRef(ref, baseDir);
|
|
185
|
+
}
|
|
186
|
+
return result;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Normalize a source reference (skill, rule, prompt) to use absolute paths for local refs.
|
|
190
|
+
*/
|
|
191
|
+
function normalizeSourceRef(ref, baseDir) {
|
|
192
|
+
if (ref === false || ref === null || ref === undefined) {
|
|
193
|
+
return ref;
|
|
194
|
+
}
|
|
195
|
+
// String shorthand (version range, local path, or git shorthand)
|
|
196
|
+
if (typeof ref === 'string') {
|
|
197
|
+
return normalizePathString(ref, baseDir);
|
|
198
|
+
}
|
|
199
|
+
// Object with path property (local ref)
|
|
200
|
+
if (typeof ref === 'object' && ref !== null) {
|
|
201
|
+
const obj = ref;
|
|
202
|
+
// { path: "./skills/foo" } → { path: "/abs/path/skills/foo" }
|
|
203
|
+
if ('path' in obj && typeof obj.path === 'string') {
|
|
204
|
+
return { ...obj, path: normalizePathString(obj.path, baseDir) };
|
|
205
|
+
}
|
|
206
|
+
// { source: "./skills/foo" } or { source: { path: "..." } }
|
|
207
|
+
if ('source' in obj) {
|
|
208
|
+
return { ...obj, source: normalizeSourceRef(obj.source, baseDir) };
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
return ref;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Normalize a path string to absolute if it's a local path.
|
|
215
|
+
*/
|
|
216
|
+
function normalizePathString(value, baseDir) {
|
|
217
|
+
// Skip if already absolute
|
|
218
|
+
if (isAbsolute(value)) {
|
|
219
|
+
return value;
|
|
220
|
+
}
|
|
221
|
+
// Only normalize local paths (not git refs, npm packages, URLs, etc.)
|
|
222
|
+
if (!isLocalPath(value)) {
|
|
223
|
+
return value;
|
|
224
|
+
}
|
|
225
|
+
return resolve(baseDir, value);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Normalize rule paths to absolute paths.
|
|
229
|
+
*/
|
|
230
|
+
function normalizeRulePaths(rules, baseDir) {
|
|
231
|
+
const result = {};
|
|
232
|
+
for (const [key, value] of Object.entries(rules)) {
|
|
233
|
+
if (Array.isArray(value)) {
|
|
234
|
+
// Array of rule strings or paths
|
|
235
|
+
result[key] = value.map((item) => typeof item === 'string' ? normalizePathString(item, baseDir) : item);
|
|
236
|
+
}
|
|
237
|
+
else if (typeof value === 'string') {
|
|
238
|
+
result[key] = normalizePathString(value, baseDir);
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
result[key] = value;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return result;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Normalize prompt paths to absolute paths.
|
|
248
|
+
*/
|
|
249
|
+
function normalizePromptPaths(prompts, baseDir) {
|
|
250
|
+
const result = {};
|
|
251
|
+
for (const [key, value] of Object.entries(prompts)) {
|
|
252
|
+
if (Array.isArray(value)) {
|
|
253
|
+
result[key] = value.map((item) => typeof item === 'string' ? normalizePathString(item, baseDir) : item);
|
|
254
|
+
}
|
|
255
|
+
else if (typeof value === 'string') {
|
|
256
|
+
result[key] = normalizePathString(value, baseDir);
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
result[key] = value;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
return result;
|
|
263
|
+
}
|
|
133
264
|
//# sourceMappingURL=inheritance.js.map
|
package/dist/inheritance.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inheritance.js","sourceRoot":"","sources":["../src/inheritance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inheritance.js","sourceRoot":"","sources":["../src/inheritance.ts"],"names":[],"mappings":"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"}
|
package/dist/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMpF,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxE,MAAM,WAAW,YAAY;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC3C,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAC/B,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC7B,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,EACpC,QAAQ,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CA4BnC;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMpF,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxE,MAAM,WAAW,YAAY;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC3C,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAC/B,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC7B,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,EACpC,QAAQ,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CA4BnC;AAsID;;;;;GAKG;AACH,wBAAsB,aAAa,CAChC,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,EACpC,QAAQ,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,CAAC,CAWvB"}
|
package/dist/loader.js
CHANGED
|
@@ -42,6 +42,7 @@ export async function loadConfig(options, startDir) {
|
|
|
42
42
|
async function loadFromRemoteSource(source, cwd) {
|
|
43
43
|
const remote = await loadFromSource(source, cwd), resolved = await resolveExtends(remote.content, {
|
|
44
44
|
baseDir: remote.baseUrl,
|
|
45
|
+
projectRoot: cwd,
|
|
45
46
|
isRemote: remote.isRemote,
|
|
46
47
|
});
|
|
47
48
|
let validated;
|
|
@@ -94,7 +95,7 @@ function mergeLocalOverrides(baseConfig, localContent, localPath) {
|
|
|
94
95
|
*/
|
|
95
96
|
async function loadFromDiscovered(discovered) {
|
|
96
97
|
try {
|
|
97
|
-
const parsed = parseConfigContent(discovered.content), baseDir = dirname(discovered.path), resolved = await resolveExtends(parsed, { baseDir });
|
|
98
|
+
const parsed = parseConfigContent(discovered.content), baseDir = dirname(discovered.path), resolved = await resolveExtends(parsed, { baseDir, projectRoot: baseDir });
|
|
98
99
|
let validated = parseConfig(resolved);
|
|
99
100
|
const warnings = [];
|
|
100
101
|
if (discovered.packageJsonAlsoHasAi) {
|
package/dist/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/prompts/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/prompts/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOjF,MAAM,WAAW,YAAY;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,CAqEvB;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC9B,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAavC"}
|
package/dist/prompts/loader.js
CHANGED
|
@@ -5,27 +5,7 @@ import { normalizeSourceRef } from '@a1st/aix-schema';
|
|
|
5
5
|
import { getPromptsCacheDir } from '../cache/paths.js';
|
|
6
6
|
import { loadFromGit } from '../git-loader.js';
|
|
7
7
|
import { resolveNpmPath } from '../npm/resolve.js';
|
|
8
|
-
|
|
9
|
-
* Strip YAML frontmatter from markdown content and optionally extract metadata.
|
|
10
|
-
* Returns the content without frontmatter and any extracted metadata.
|
|
11
|
-
*/
|
|
12
|
-
function stripFrontmatter(content) {
|
|
13
|
-
const frontmatterMatch = content.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n/);
|
|
14
|
-
if (!frontmatterMatch) {
|
|
15
|
-
return { content };
|
|
16
|
-
}
|
|
17
|
-
const frontmatterContent = frontmatterMatch[1];
|
|
18
|
-
const contentWithoutFrontmatter = content.slice(frontmatterMatch[0].length);
|
|
19
|
-
// Parse simple key: value pairs from frontmatter
|
|
20
|
-
const metadata = {};
|
|
21
|
-
for (const line of frontmatterContent.split('\n')) {
|
|
22
|
-
const match = line.match(/^([\w-]+):\s*["']?([^"']*)["']?\s*$/);
|
|
23
|
-
if (match) {
|
|
24
|
-
metadata[match[1]] = match[2];
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return { content: contentWithoutFrontmatter.trim(), metadata };
|
|
28
|
-
}
|
|
8
|
+
import { parsePromptFrontmatter } from '../frontmatter-parser.js';
|
|
29
9
|
/**
|
|
30
10
|
* Load a single prompt from any source.
|
|
31
11
|
* @param name - The prompt name (key from the prompts object)
|
|
@@ -49,31 +29,25 @@ export async function loadPrompt(name, value, basePath) {
|
|
|
49
29
|
}
|
|
50
30
|
// Local file
|
|
51
31
|
if (promptObj.path) {
|
|
52
|
-
const fullPath = resolve(dirname(basePath), promptObj.path);
|
|
53
|
-
const rawContent = await readFile(fullPath, 'utf-8');
|
|
54
|
-
const { content, metadata } = stripFrontmatter(rawContent.trim());
|
|
32
|
+
const fullPath = resolve(dirname(basePath), promptObj.path), rawContent = await readFile(fullPath, 'utf-8'), parsed = parsePromptFrontmatter(rawContent.trim());
|
|
55
33
|
return {
|
|
56
34
|
...base,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
content,
|
|
35
|
+
description: base.description ?? parsed.description,
|
|
36
|
+
content: parsed.content,
|
|
60
37
|
sourcePath: fullPath,
|
|
61
38
|
};
|
|
62
39
|
}
|
|
63
40
|
// Git repository
|
|
64
41
|
if (promptObj.git) {
|
|
65
|
-
const baseDir = dirname(basePath) || tmpdir()
|
|
66
|
-
const result = await loadFromGit({
|
|
42
|
+
const baseDir = dirname(basePath) || tmpdir(), result = await loadFromGit({
|
|
67
43
|
git: promptObj.git,
|
|
68
44
|
cacheDir: getPromptsCacheDir(baseDir),
|
|
69
45
|
defaultFilePath: 'prompt.md',
|
|
70
|
-
});
|
|
71
|
-
const { content, metadata } = stripFrontmatter(result.content);
|
|
46
|
+
}), parsed = parsePromptFrontmatter(result.content);
|
|
72
47
|
return {
|
|
73
48
|
...base,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
content,
|
|
49
|
+
description: base.description ?? parsed.description,
|
|
50
|
+
content: parsed.content,
|
|
77
51
|
sourcePath: result.sourcePath,
|
|
78
52
|
};
|
|
79
53
|
}
|
|
@@ -84,13 +58,11 @@ export async function loadPrompt(name, value, basePath) {
|
|
|
84
58
|
subpath: promptObj.npm.path,
|
|
85
59
|
version: promptObj.npm.version,
|
|
86
60
|
projectRoot: dirname(basePath),
|
|
87
|
-
});
|
|
88
|
-
const rawContent = await readFile(filePath, 'utf-8');
|
|
89
|
-
const { content, metadata } = stripFrontmatter(rawContent.trim());
|
|
61
|
+
}), rawContent = await readFile(filePath, 'utf-8'), parsed = parsePromptFrontmatter(rawContent.trim());
|
|
90
62
|
return {
|
|
91
63
|
...base,
|
|
92
|
-
description: base.description ??
|
|
93
|
-
content,
|
|
64
|
+
description: base.description ?? parsed.description,
|
|
65
|
+
content: parsed.content,
|
|
94
66
|
sourcePath: filePath,
|
|
95
67
|
};
|
|
96
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/prompts/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/prompts/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-loader.d.ts","sourceRoot":"","sources":["../src/remote-loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"remote-loader.d.ts","sourceRoot":"","sources":["../src/remote-loader.ts"],"names":[],"mappings":"AAqBA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AAEvD,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC3B,mBAAmB;IACnB,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC5C,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC9B,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,SAAS,CAAC,EAAE,aAAa,CAAC;CAC5B;AAqFD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoCxE;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkEnF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,gBAAgB,CAoB7F;AAiDD;;GAEG;AACH,wBAAsB,cAAc,CACjC,MAAM,EAAE,MAAM,EACd,GAAG,GAAE,MAAsB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAuB3B"}
|
package/dist/remote-loader.js
CHANGED
|
@@ -5,8 +5,8 @@ import { existsSync, readFileSync } from 'node:fs';
|
|
|
5
5
|
import { tmpdir } from 'node:os';
|
|
6
6
|
import { resolve, dirname } from 'pathe';
|
|
7
7
|
import { downloadTemplate } from 'giget';
|
|
8
|
-
import { parseJsonc } from '@a1st/aix-schema';
|
|
9
|
-
import { convertBlobToRawUrl, parseGitShorthand, parseGitHubRepoUrl, parseGitHubBlobUrl,
|
|
8
|
+
import { parseJsonc, detectSourceType } from '@a1st/aix-schema';
|
|
9
|
+
import { convertBlobToRawUrl, parseGitShorthand, parseGitHubRepoUrl, parseGitHubBlobUrl, } from './url-parsing.js';
|
|
10
10
|
import { ConfigNotFoundError, ConfigParseError, RemoteFetchError, UnsupportedUrlError, } from './errors.js';
|
|
11
11
|
const FETCH_TIMEOUT_MS = 30000;
|
|
12
12
|
/**
|
|
@@ -40,7 +40,7 @@ async function loadFromGitHubBlobUrl(parsed) {
|
|
|
40
40
|
const template = `github:${parsed.owner}/${parsed.repo}#${parsed.ref}`;
|
|
41
41
|
let dir;
|
|
42
42
|
try {
|
|
43
|
-
const result = await downloadTemplate(template, {
|
|
43
|
+
const result = await downloadTemplate(template, { forceClean: true, cwd: tmpdir() });
|
|
44
44
|
dir = result.dir;
|
|
45
45
|
}
|
|
46
46
|
catch (error) {
|
|
@@ -122,7 +122,7 @@ export async function loadFromGitShorthand(input) {
|
|
|
122
122
|
}
|
|
123
123
|
let dir;
|
|
124
124
|
try {
|
|
125
|
-
const result = await downloadTemplate(template, {
|
|
125
|
+
const result = await downloadTemplate(template, { forceClean: true, cwd: tmpdir() });
|
|
126
126
|
dir = result.dir;
|
|
127
127
|
}
|
|
128
128
|
catch (error) {
|
|
@@ -181,20 +181,6 @@ export function loadFromLocalPath(path, cwd = process.cwd()) {
|
|
|
181
181
|
isRemote: false,
|
|
182
182
|
};
|
|
183
183
|
}
|
|
184
|
-
/**
|
|
185
|
-
* Check if a URL points directly to a file (blob URL or direct file URL).
|
|
186
|
-
*/
|
|
187
|
-
function isDirectFileUrl(url) {
|
|
188
|
-
// Check for blob URLs
|
|
189
|
-
if (parseGitHubBlobUrl(url) || parseGitLabBlobUrl(url) || parseBitbucketBlobUrl(url)) {
|
|
190
|
-
return true;
|
|
191
|
-
}
|
|
192
|
-
// Check for direct file URLs (ending in .json)
|
|
193
|
-
if (url.endsWith('.json')) {
|
|
194
|
-
return true;
|
|
195
|
-
}
|
|
196
|
-
return false;
|
|
197
|
-
}
|
|
198
184
|
/**
|
|
199
185
|
* Load config from a GitHub/GitLab/Bitbucket repo URL (not a blob URL).
|
|
200
186
|
* Downloads the repo and looks for ai.json at the root.
|
|
@@ -208,7 +194,7 @@ async function loadFromRepoUrl(url) {
|
|
|
208
194
|
// For other repo URLs, try using giget directly
|
|
209
195
|
let dir;
|
|
210
196
|
try {
|
|
211
|
-
const result = await downloadTemplate(url, {
|
|
197
|
+
const result = await downloadTemplate(url, { forceClean: true, cwd: tmpdir() });
|
|
212
198
|
dir = result.dir;
|
|
213
199
|
}
|
|
214
200
|
catch (error) {
|
|
@@ -234,32 +220,21 @@ async function loadFromRepoUrl(url) {
|
|
|
234
220
|
* Classify and load config from any source type.
|
|
235
221
|
*/
|
|
236
222
|
export async function loadFromSource(source, cwd = process.cwd()) {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
if (source.startsWith('https://')) {
|
|
243
|
-
// If it's a direct file URL (blob or .json), fetch it
|
|
244
|
-
if (isDirectFileUrl(source)) {
|
|
223
|
+
const sourceType = detectSourceType(source);
|
|
224
|
+
switch (sourceType) {
|
|
225
|
+
case 'git-shorthand':
|
|
226
|
+
return loadFromGitShorthand(source);
|
|
227
|
+
case 'https-file':
|
|
245
228
|
return loadFromUrl(source);
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
if (isLocalPath(source)) {
|
|
256
|
-
return loadFromLocalPath(source, cwd);
|
|
257
|
-
}
|
|
258
|
-
// If it looks like a file path without ./ prefix, try it as local
|
|
259
|
-
if (source.includes('/') || source.endsWith('.json')) {
|
|
260
|
-
return loadFromLocalPath(source, cwd);
|
|
229
|
+
case 'https-repo':
|
|
230
|
+
return loadFromRepoUrl(source);
|
|
231
|
+
case 'http-unsupported':
|
|
232
|
+
throw new UnsupportedUrlError(source);
|
|
233
|
+
case 'local':
|
|
234
|
+
return loadFromLocalPath(source, cwd);
|
|
235
|
+
case 'npm':
|
|
236
|
+
// npm packages are not supported as config sources (only for skills/rules)
|
|
237
|
+
throw new UnsupportedUrlError(source);
|
|
261
238
|
}
|
|
262
|
-
// Unknown format
|
|
263
|
-
throw new UnsupportedUrlError(source);
|
|
264
239
|
}
|
|
265
240
|
//# sourceMappingURL=remote-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-loader.js","sourceRoot":"","sources":["../src/remote-loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"remote-loader.js","sourceRoot":"","sources":["../src/remote-loader.ts"],"names":[],"mappings":"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"}
|