@detergent-software/atk 3.0.0 → 5.0.0-dev.1
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 +361 -0
- package/build/commands/_app.d.ts.map +1 -1
- package/build/commands/_app.js +23 -3
- package/build/commands/_app.js.map +1 -1
- package/build/commands/audit.d.ts.map +1 -1
- package/build/commands/audit.js +76 -37
- package/build/commands/audit.js.map +1 -1
- package/build/commands/browse.d.ts.map +1 -1
- package/build/commands/browse.js +126 -154
- package/build/commands/browse.js.map +1 -1
- package/build/commands/cache.d.ts.map +1 -1
- package/build/commands/cache.js +13 -15
- package/build/commands/cache.js.map +1 -1
- package/build/commands/config.d.ts +1 -1
- package/build/commands/config.d.ts.map +1 -1
- package/build/commands/config.js +7 -3
- package/build/commands/config.js.map +1 -1
- package/build/commands/diff.d.ts.map +1 -1
- package/build/commands/diff.js +4 -117
- package/build/commands/diff.js.map +1 -1
- package/build/commands/freeze.d.ts +1 -2
- package/build/commands/freeze.d.ts.map +1 -1
- package/build/commands/freeze.js +17 -37
- package/build/commands/freeze.js.map +1 -1
- package/build/commands/info.d.ts +1 -2
- package/build/commands/info.d.ts.map +1 -1
- package/build/commands/info.js +43 -38
- package/build/commands/info.js.map +1 -1
- package/build/commands/init.d.ts.map +1 -1
- package/build/commands/init.js +41 -414
- package/build/commands/init.js.map +1 -1
- package/build/commands/install.d.ts.map +1 -1
- package/build/commands/install.js +79 -72
- package/build/commands/install.js.map +1 -1
- package/build/commands/list.d.ts +2 -2
- package/build/commands/list.d.ts.map +1 -1
- package/build/commands/list.js +138 -27
- package/build/commands/list.js.map +1 -1
- package/build/commands/outdated.d.ts.map +1 -1
- package/build/commands/outdated.js +20 -10
- package/build/commands/outdated.js.map +1 -1
- package/build/commands/pin.d.ts +1 -2
- package/build/commands/pin.d.ts.map +1 -1
- package/build/commands/pin.js +44 -47
- package/build/commands/pin.js.map +1 -1
- package/build/commands/prune.d.ts.map +1 -1
- package/build/commands/prune.js +76 -151
- package/build/commands/prune.js.map +1 -1
- package/build/commands/publish.d.ts +4 -1
- package/build/commands/publish.d.ts.map +1 -1
- package/build/commands/publish.js +139 -388
- package/build/commands/publish.js.map +1 -1
- package/build/commands/search.d.ts.map +1 -1
- package/build/commands/search.js +14 -19
- package/build/commands/search.js.map +1 -1
- package/build/commands/setup.d.ts +1 -1
- package/build/commands/setup.d.ts.map +1 -1
- package/build/commands/setup.js +48 -253
- package/build/commands/setup.js.map +1 -1
- package/build/commands/sync.d.ts.map +1 -1
- package/build/commands/sync.js +43 -169
- package/build/commands/sync.js.map +1 -1
- package/build/commands/thaw.d.ts +1 -2
- package/build/commands/thaw.d.ts.map +1 -1
- package/build/commands/thaw.js +19 -37
- package/build/commands/thaw.js.map +1 -1
- package/build/commands/uninstall.d.ts.map +1 -1
- package/build/commands/uninstall.js +106 -221
- package/build/commands/uninstall.js.map +1 -1
- package/build/commands/unpin.d.ts +1 -2
- package/build/commands/unpin.d.ts.map +1 -1
- package/build/commands/unpin.js +23 -38
- package/build/commands/unpin.js.map +1 -1
- package/build/commands/update.d.ts.map +1 -1
- package/build/commands/update.js +57 -54
- package/build/commands/update.js.map +1 -1
- package/build/commands/why.d.ts +1 -1
- package/build/commands/why.d.ts.map +1 -1
- package/build/commands/why.js +14 -6
- package/build/commands/why.js.map +1 -1
- package/build/components/AssetDetail.d.ts +1 -3
- package/build/components/AssetDetail.d.ts.map +1 -1
- package/build/components/AssetDetail.js +22 -21
- package/build/components/AssetDetail.js.map +1 -1
- package/build/components/AssetTable.d.ts +5 -2
- package/build/components/AssetTable.d.ts.map +1 -1
- package/build/components/AssetTable.js +37 -40
- package/build/components/AssetTable.js.map +1 -1
- package/build/components/AssetVersionLine.d.ts +27 -0
- package/build/components/AssetVersionLine.d.ts.map +1 -0
- package/build/components/AssetVersionLine.js +10 -0
- package/build/components/AssetVersionLine.js.map +1 -0
- package/build/components/BrowseExpandedBundle.d.ts +10 -1
- package/build/components/BrowseExpandedBundle.d.ts.map +1 -1
- package/build/components/BrowseExpandedBundle.js +28 -3
- package/build/components/BrowseExpandedBundle.js.map +1 -1
- package/build/components/BrowseExpandedRow.d.ts +9 -1
- package/build/components/BrowseExpandedRow.d.ts.map +1 -1
- package/build/components/BrowseExpandedRow.js +35 -3
- package/build/components/BrowseExpandedRow.js.map +1 -1
- package/build/components/BrowseList.d.ts +5 -1
- package/build/components/BrowseList.d.ts.map +1 -1
- package/build/components/BrowseList.js +57 -47
- package/build/components/BrowseList.js.map +1 -1
- package/build/components/BundleDetail.d.ts +2 -1
- package/build/components/BundleDetail.d.ts.map +1 -1
- package/build/components/BundleDetail.js +3 -2
- package/build/components/BundleDetail.js.map +1 -1
- package/build/components/DiffView.d.ts +0 -2
- package/build/components/DiffView.d.ts.map +1 -1
- package/build/components/DiffView.js +11 -5
- package/build/components/DiffView.js.map +1 -1
- package/build/components/DryRunBanner.d.ts +3 -3
- package/build/components/DryRunBanner.d.ts.map +1 -1
- package/build/components/DryRunBanner.js +2 -2
- package/build/components/DryRunBanner.js.map +1 -1
- package/build/components/FilterBar.d.ts +10 -3
- package/build/components/FilterBar.d.ts.map +1 -1
- package/build/components/FilterBar.js +4 -4
- package/build/components/FilterBar.js.map +1 -1
- package/build/components/FrozenSkippedHint.d.ts +11 -0
- package/build/components/FrozenSkippedHint.d.ts.map +1 -0
- package/build/components/FrozenSkippedHint.js +12 -0
- package/build/components/FrozenSkippedHint.js.map +1 -0
- package/build/components/HelpBar.d.ts.map +1 -1
- package/build/components/HelpBar.js +3 -3
- package/build/components/HelpBar.js.map +1 -1
- package/build/components/InitSuccess.d.ts +5 -0
- package/build/components/InitSuccess.d.ts.map +1 -0
- package/build/components/InitSuccess.js +20 -0
- package/build/components/InitSuccess.js.map +1 -0
- package/build/components/InstallSummary.d.ts +3 -3
- package/build/components/InstallSummary.d.ts.map +1 -1
- package/build/components/InstallSummary.js +2 -2
- package/build/components/InstallSummary.js.map +1 -1
- package/build/components/Link.d.ts +7 -0
- package/build/components/Link.d.ts.map +1 -0
- package/build/components/Link.js +6 -0
- package/build/components/Link.js.map +1 -0
- package/build/components/ListActionBar.d.ts +11 -0
- package/build/components/ListActionBar.d.ts.map +1 -0
- package/build/components/ListActionBar.js +30 -0
- package/build/components/ListActionBar.js.map +1 -0
- package/build/components/ListBrowseList.d.ts +27 -0
- package/build/components/ListBrowseList.d.ts.map +1 -0
- package/build/components/ListBrowseList.js +57 -0
- package/build/components/ListBrowseList.js.map +1 -0
- package/build/components/ListExpandedRow.d.ts +38 -0
- package/build/components/ListExpandedRow.d.ts.map +1 -0
- package/build/components/ListExpandedRow.js +49 -0
- package/build/components/ListExpandedRow.js.map +1 -0
- package/build/components/ListHelpBar.d.ts +19 -0
- package/build/components/ListHelpBar.d.ts.map +1 -0
- package/build/components/ListHelpBar.js +11 -0
- package/build/components/ListHelpBar.js.map +1 -0
- package/build/components/OrphanListItem.d.ts +15 -0
- package/build/components/OrphanListItem.d.ts.map +1 -0
- package/build/components/OrphanListItem.js +6 -0
- package/build/components/OrphanListItem.js.map +1 -0
- package/build/components/PromptField.d.ts +19 -0
- package/build/components/PromptField.d.ts.map +1 -0
- package/build/components/PromptField.js +7 -0
- package/build/components/PromptField.js.map +1 -0
- package/build/components/SkippedAssetSection.d.ts +35 -0
- package/build/components/SkippedAssetSection.d.ts.map +1 -0
- package/build/components/SkippedAssetSection.js +15 -0
- package/build/components/SkippedAssetSection.js.map +1 -0
- package/build/components/StatusBadge.d.ts +1 -1
- package/build/components/StatusBadge.d.ts.map +1 -1
- package/build/components/StatusBadge.js +4 -0
- package/build/components/StatusBadge.js.map +1 -1
- package/build/components/SyncAllInSync.d.ts +14 -0
- package/build/components/SyncAllInSync.d.ts.map +1 -0
- package/build/components/SyncAllInSync.js +10 -0
- package/build/components/SyncAllInSync.js.map +1 -0
- package/build/components/SyncDriftedList.d.ts +24 -0
- package/build/components/SyncDriftedList.d.ts.map +1 -0
- package/build/components/SyncDriftedList.js +17 -0
- package/build/components/SyncDriftedList.js.map +1 -0
- package/build/components/SyncNoAssets.d.ts +12 -0
- package/build/components/SyncNoAssets.d.ts.map +1 -0
- package/build/components/SyncNoAssets.js +9 -0
- package/build/components/SyncNoAssets.js.map +1 -0
- package/build/components/index.d.ts +16 -2
- package/build/components/index.d.ts.map +1 -1
- package/build/components/index.js +16 -2
- package/build/components/index.js.map +1 -1
- package/build/hooks/useBrowseState.d.ts +44 -1
- package/build/hooks/useBrowseState.d.ts.map +1 -1
- package/build/hooks/useBrowseState.js +148 -13
- package/build/hooks/useBrowseState.js.map +1 -1
- package/build/hooks/useConfirmation.d.ts +18 -0
- package/build/hooks/useConfirmation.d.ts.map +1 -0
- package/build/hooks/useConfirmation.js +56 -0
- package/build/hooks/useConfirmation.js.map +1 -0
- package/build/hooks/useInitState.d.ts +109 -0
- package/build/hooks/useInitState.d.ts.map +1 -0
- package/build/hooks/useInitState.js +474 -0
- package/build/hooks/useInitState.js.map +1 -0
- package/build/hooks/useListActions.d.ts +15 -0
- package/build/hooks/useListActions.d.ts.map +1 -0
- package/build/hooks/useListActions.js +155 -0
- package/build/hooks/useListActions.js.map +1 -0
- package/build/hooks/useListState.d.ts +151 -0
- package/build/hooks/useListState.d.ts.map +1 -0
- package/build/hooks/useListState.js +448 -0
- package/build/hooks/useListState.js.map +1 -0
- package/build/hooks/usePruneState.d.ts +76 -0
- package/build/hooks/usePruneState.d.ts.map +1 -0
- package/build/hooks/usePruneState.js +252 -0
- package/build/hooks/usePruneState.js.map +1 -0
- package/build/hooks/usePublishState.d.ts +147 -0
- package/build/hooks/usePublishState.d.ts.map +1 -0
- package/build/hooks/usePublishState.js +916 -0
- package/build/hooks/usePublishState.js.map +1 -0
- package/build/hooks/useSetupState.d.ts +57 -0
- package/build/hooks/useSetupState.d.ts.map +1 -0
- package/build/hooks/useSetupState.js +236 -0
- package/build/hooks/useSetupState.js.map +1 -0
- package/build/hooks/useUninstallState.d.ts +102 -0
- package/build/hooks/useUninstallState.d.ts.map +1 -0
- package/build/hooks/useUninstallState.js +342 -0
- package/build/hooks/useUninstallState.js.map +1 -0
- package/build/lib/adapter.d.ts +21 -0
- package/build/lib/adapter.d.ts.map +1 -1
- package/build/lib/adapter.js +59 -1
- package/build/lib/adapter.js.map +1 -1
- package/build/lib/checksum.d.ts +39 -0
- package/build/lib/checksum.d.ts.map +1 -1
- package/build/lib/checksum.js +98 -13
- package/build/lib/checksum.js.map +1 -1
- package/build/lib/config.d.ts +38 -18
- package/build/lib/config.d.ts.map +1 -1
- package/build/lib/config.js +103 -55
- package/build/lib/config.js.map +1 -1
- package/build/lib/detector.d.ts +2 -11
- package/build/lib/detector.d.ts.map +1 -1
- package/build/lib/detector.js +2 -64
- package/build/lib/detector.js.map +1 -1
- package/build/lib/diagnostics.d.ts +7 -0
- package/build/lib/diagnostics.d.ts.map +1 -1
- package/build/lib/diagnostics.js +54 -34
- package/build/lib/diagnostics.js.map +1 -1
- package/build/lib/diff-command.d.ts +40 -0
- package/build/lib/diff-command.d.ts.map +1 -0
- package/build/lib/diff-command.js +145 -0
- package/build/lib/diff-command.js.map +1 -0
- package/build/lib/diff.d.ts +7 -0
- package/build/lib/diff.d.ts.map +1 -1
- package/build/lib/diff.js +15 -10
- package/build/lib/diff.js.map +1 -1
- package/build/lib/format.d.ts +6 -0
- package/build/lib/format.d.ts.map +1 -0
- package/build/lib/format.js +18 -0
- package/build/lib/format.js.map +1 -0
- package/build/lib/github.d.ts +35 -0
- package/build/lib/github.d.ts.map +1 -1
- package/build/lib/github.js +44 -0
- package/build/lib/github.js.map +1 -1
- package/build/lib/gitignore.d.ts +17 -0
- package/build/lib/gitignore.d.ts.map +1 -1
- package/build/lib/gitignore.js +17 -1
- package/build/lib/gitignore.js.map +1 -1
- package/build/lib/init.d.ts +22 -0
- package/build/lib/init.d.ts.map +1 -1
- package/build/lib/init.js +163 -18
- package/build/lib/init.js.map +1 -1
- package/build/lib/installer.d.ts +1 -0
- package/build/lib/installer.d.ts.map +1 -1
- package/build/lib/installer.js +7 -7
- package/build/lib/installer.js.map +1 -1
- package/build/lib/lockfile.d.ts +19 -17
- package/build/lib/lockfile.d.ts.map +1 -1
- package/build/lib/lockfile.js +45 -68
- package/build/lib/lockfile.js.map +1 -1
- package/build/lib/publisher.d.ts +41 -12
- package/build/lib/publisher.d.ts.map +1 -1
- package/build/lib/publisher.js +226 -64
- package/build/lib/publisher.js.map +1 -1
- package/build/lib/registry.d.ts +20 -5
- package/build/lib/registry.d.ts.map +1 -1
- package/build/lib/registry.js +45 -33
- package/build/lib/registry.js.map +1 -1
- package/build/lib/sanitize.d.ts +25 -0
- package/build/lib/sanitize.d.ts.map +1 -0
- package/build/lib/sanitize.js +61 -0
- package/build/lib/sanitize.js.map +1 -0
- package/build/lib/schemas/config.d.ts +31 -3
- package/build/lib/schemas/config.d.ts.map +1 -1
- package/build/lib/schemas/config.js +21 -2
- package/build/lib/schemas/config.js.map +1 -1
- package/build/lib/schemas/index.d.ts +1 -1
- package/build/lib/schemas/index.d.ts.map +1 -1
- package/build/lib/schemas/index.js +1 -1
- package/build/lib/schemas/index.js.map +1 -1
- package/build/lib/schemas/lockfile.d.ts +20 -4
- package/build/lib/schemas/lockfile.d.ts.map +1 -1
- package/build/lib/schemas/lockfile.js +7 -1
- package/build/lib/schemas/lockfile.js.map +1 -1
- package/build/lib/schemas/manifest.d.ts +1 -1
- package/build/lib/schemas/manifest.d.ts.map +1 -1
- package/build/lib/schemas/manifest.js +7 -2
- package/build/lib/schemas/manifest.js.map +1 -1
- package/build/lib/schemas/registry.d.ts +2 -4
- package/build/lib/schemas/registry.d.ts.map +1 -1
- package/build/lib/schemas/registry.js +1 -1
- package/build/lib/schemas/registry.js.map +1 -1
- package/build/lib/search.d.ts +15 -1
- package/build/lib/search.d.ts.map +1 -1
- package/build/lib/search.js +65 -65
- package/build/lib/search.js.map +1 -1
- package/build/lib/setup.d.ts +28 -0
- package/build/lib/setup.d.ts.map +1 -0
- package/build/lib/setup.js +98 -0
- package/build/lib/setup.js.map +1 -0
- package/build/lib/sync.d.ts +109 -0
- package/build/lib/sync.d.ts.map +1 -0
- package/build/lib/sync.js +217 -0
- package/build/lib/sync.js.map +1 -0
- package/build/lib/tool-resolver.d.ts +29 -6
- package/build/lib/tool-resolver.d.ts.map +1 -1
- package/build/lib/tool-resolver.js +54 -15
- package/build/lib/tool-resolver.js.map +1 -1
- package/build/lib/updater.d.ts +7 -4
- package/build/lib/updater.d.ts.map +1 -1
- package/build/lib/updater.js +10 -6
- package/build/lib/updater.js.map +1 -1
- package/build/lib/version.js +1 -1
- package/build/lib/version.js.map +1 -1
- package/package.json +79 -65
- package/tool-adapters/claude-code.json +1 -1
- package/tool-adapters/copilot-cli.json +1 -1
package/build/lib/registry.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
|
-
import { mkdir, readFile, stat, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { mkdir, readFile, stat, unlink, writeFile } from 'node:fs/promises';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { maxSatisfying, compare as semverCompare, valid as semverValid, validRange } from 'semver';
|
|
5
5
|
import { getGitHubToken } from './auth.js';
|
|
@@ -7,6 +7,7 @@ import { getCacheDir, loadConfig } from './config.js';
|
|
|
7
7
|
import { fetchWithRetry } from './fetch-retry.js';
|
|
8
8
|
import { buildGitHubContentsUrl, buildGitHubHeaders, getEffectiveBranch, GITHUB_ACCEPT_RAW } from './github.js';
|
|
9
9
|
import { parseAndValidate, safeParseJson } from './parse-json.js';
|
|
10
|
+
import { sanitizeRegistryData } from './sanitize.js';
|
|
10
11
|
import { RegistrySchema, } from './schemas/registry.js';
|
|
11
12
|
const REGISTRY_CACHE_FILE = 'registry.json';
|
|
12
13
|
const DEFAULT_REGISTRY_PATH = 'registry.json';
|
|
@@ -18,15 +19,23 @@ export class RegistryError extends Error {
|
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
20
21
|
* Clear the registry cache.
|
|
22
|
+
* @returns `true` if a cache file was deleted, `false` if none existed.
|
|
21
23
|
*/
|
|
22
24
|
export async function clearCache() {
|
|
23
|
-
|
|
25
|
+
let config;
|
|
26
|
+
try {
|
|
27
|
+
config = await loadConfig();
|
|
28
|
+
}
|
|
29
|
+
catch (cause) {
|
|
30
|
+
throw new RegistryError(`Failed to resolve cache path: ${cause instanceof Error ? cause.message : String(cause)}`);
|
|
31
|
+
}
|
|
24
32
|
const cacheDir = getCacheDir(config);
|
|
25
33
|
const cachePath = join(cacheDir, REGISTRY_CACHE_FILE);
|
|
26
34
|
if (existsSync(cachePath)) {
|
|
27
|
-
const { unlink } = await import('node:fs/promises');
|
|
28
35
|
await unlink(cachePath);
|
|
36
|
+
return true;
|
|
29
37
|
}
|
|
38
|
+
return false;
|
|
30
39
|
}
|
|
31
40
|
/**
|
|
32
41
|
* Fetch the registry, using cache when available and not expired.
|
|
@@ -68,23 +77,8 @@ export function filterVisibleAssets(registry, org) {
|
|
|
68
77
|
// Wildcard — return all assets (global + all orgs) with no shadowing
|
|
69
78
|
return registry.assets;
|
|
70
79
|
}
|
|
71
|
-
//
|
|
72
|
-
|
|
73
|
-
for (const a of registry.assets) {
|
|
74
|
-
if (a.org === org) {
|
|
75
|
-
orgScopedKeys.add(`${a.type}::${a.name}`);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
// Include org-scoped assets and global assets not shadowed by org-scoped ones
|
|
79
|
-
return registry.assets.filter((a) => {
|
|
80
|
-
if (a.org === org) {
|
|
81
|
-
return true;
|
|
82
|
-
}
|
|
83
|
-
if (a.org === undefined) {
|
|
84
|
-
return !orgScopedKeys.has(`${a.type}::${a.name}`);
|
|
85
|
-
}
|
|
86
|
-
return false;
|
|
87
|
-
});
|
|
80
|
+
// Include org-scoped assets and all global assets (exclude other orgs' assets)
|
|
81
|
+
return registry.assets.filter((a) => a.org === org || a.org === undefined);
|
|
88
82
|
}
|
|
89
83
|
/**
|
|
90
84
|
* Find an asset in the registry by name and resolve a specific version.
|
|
@@ -114,13 +108,31 @@ export function findAsset(registry, name, type, version, org) {
|
|
|
114
108
|
}
|
|
115
109
|
}
|
|
116
110
|
else {
|
|
117
|
-
|
|
111
|
+
// Global-first: prefer unscoped asset, don't fall back to org-scoped
|
|
112
|
+
asset = registry.assets.find((a) => a.name === name && a.org === undefined && (!type || a.type === type));
|
|
118
113
|
}
|
|
119
114
|
if (!asset) {
|
|
120
115
|
return undefined;
|
|
121
116
|
}
|
|
122
117
|
return resolveAssetVersion(asset, version);
|
|
123
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Find all org-scoped assets in the registry whose unqualified name matches a given name.
|
|
121
|
+
*
|
|
122
|
+
* This is useful for suggesting org-scoped alternatives when a global lookup fails.
|
|
123
|
+
* Only returns assets that have an `org` defined (i.e., org-scoped assets).
|
|
124
|
+
*
|
|
125
|
+
* @param registry - The registry to search.
|
|
126
|
+
* @param name - The unqualified asset name to match.
|
|
127
|
+
* @param type - Optional asset type filter.
|
|
128
|
+
* @returns Array of matching assets with org, name, and type, sorted alphabetically by org.
|
|
129
|
+
*/
|
|
130
|
+
export function findAssetsByName(registry, name, type) {
|
|
131
|
+
return registry.assets
|
|
132
|
+
.filter((a) => a.name === name && a.org !== undefined && (!type || a.type === type))
|
|
133
|
+
.map((a) => ({ name: a.name, org: a.org, type: a.type }))
|
|
134
|
+
.sort((a, b) => a.org.localeCompare(b.org));
|
|
135
|
+
}
|
|
124
136
|
/**
|
|
125
137
|
* Find a bundle in the registry by name.
|
|
126
138
|
*/
|
|
@@ -130,8 +142,7 @@ export function findBundle(registry, name) {
|
|
|
130
142
|
/**
|
|
131
143
|
* Get all assets of a given type from the registry.
|
|
132
144
|
*
|
|
133
|
-
* When `org` is provided, returns both org-scoped and global assets of the given type
|
|
134
|
-
* with org-scoped assets shadowing global assets on name collision.
|
|
145
|
+
* When `org` is provided, returns both org-scoped and global assets of the given type.
|
|
135
146
|
*
|
|
136
147
|
* @param registry - The registry to search.
|
|
137
148
|
* @param type - Asset type to filter by.
|
|
@@ -144,7 +155,13 @@ export function getAssetsByType(registry, type, org) {
|
|
|
144
155
|
* Get metadata about the registry cache file.
|
|
145
156
|
*/
|
|
146
157
|
export async function getCacheStatus() {
|
|
147
|
-
|
|
158
|
+
let config;
|
|
159
|
+
try {
|
|
160
|
+
config = await loadConfig();
|
|
161
|
+
}
|
|
162
|
+
catch (cause) {
|
|
163
|
+
throw new RegistryError(`Failed to resolve cache path: ${cause instanceof Error ? cause.message : String(cause)}`);
|
|
164
|
+
}
|
|
148
165
|
const cacheDir = getCacheDir(config);
|
|
149
166
|
const cachePath = join(cacheDir, REGISTRY_CACHE_FILE);
|
|
150
167
|
const ttlMinutes = config.cacheTtlMinutes ?? 60;
|
|
@@ -180,13 +197,8 @@ export function getSortedVersions(asset) {
|
|
|
180
197
|
* @param registry - The registry to search.
|
|
181
198
|
* @param name - Asset name to check.
|
|
182
199
|
* @param type - Optional asset type filter.
|
|
183
|
-
* @param org - Optional organization scope. When set, checks org-scoped deprecation first.
|
|
184
200
|
*/
|
|
185
|
-
export function isDeprecated(registry, name, type
|
|
186
|
-
// When org is provided, first check for an org-scoped deprecation entry
|
|
187
|
-
// Note: DeprecatedEntry doesn't have an org field currently, so we match by name.
|
|
188
|
-
// If org-scoped assets use the same name as global assets, the deprecation applies
|
|
189
|
-
// to whichever asset is visible in the current org context (handled by callers).
|
|
201
|
+
export function isDeprecated(registry, name, type) {
|
|
190
202
|
const entry = (registry.deprecated ?? []).find((d) => d.name === name && (!type || !d.type || d.type === type));
|
|
191
203
|
if (!entry) {
|
|
192
204
|
return { deprecated: false };
|
|
@@ -260,7 +272,7 @@ async function fetchRegistryFromGitHub(registryUrl, registryBranch) {
|
|
|
260
272
|
}
|
|
261
273
|
const raw = await response.text();
|
|
262
274
|
try {
|
|
263
|
-
return parseAndValidate(raw, RegistrySchema, 'Invalid registry data');
|
|
275
|
+
return sanitizeRegistryData(parseAndValidate(raw, RegistrySchema, 'Invalid registry data'));
|
|
264
276
|
}
|
|
265
277
|
catch (err) {
|
|
266
278
|
throw new RegistryError(err.message);
|
|
@@ -276,7 +288,7 @@ async function fetchRegistryFromUrl(url) {
|
|
|
276
288
|
}
|
|
277
289
|
const raw = await response.text();
|
|
278
290
|
try {
|
|
279
|
-
return parseAndValidate(raw, RegistrySchema, `Invalid registry data from ${url}`);
|
|
291
|
+
return sanitizeRegistryData(parseAndValidate(raw, RegistrySchema, `Invalid registry data from ${url}`));
|
|
280
292
|
}
|
|
281
293
|
catch (err) {
|
|
282
294
|
throw new RegistryError(err.message);
|
|
@@ -298,7 +310,7 @@ async function readCachedRegistry(cachePath, ttlMinutes) {
|
|
|
298
310
|
if (!result.success) {
|
|
299
311
|
return null; // Invalid cache — re-fetch
|
|
300
312
|
}
|
|
301
|
-
return result.data;
|
|
313
|
+
return sanitizeRegistryData(result.data);
|
|
302
314
|
}
|
|
303
315
|
catch {
|
|
304
316
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/lib/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/lib/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Lockfile } from './schemas/lockfile.js';
|
|
2
|
+
import type { Registry } from './schemas/registry.js';
|
|
3
|
+
/**
|
|
4
|
+
* Sanitize all string values in a lockfile object.
|
|
5
|
+
* Returns a new lockfile with all strings cleaned of control characters and ANSI sequences.
|
|
6
|
+
*/
|
|
7
|
+
export declare function sanitizeLockfileData(lockfile: Lockfile): Lockfile;
|
|
8
|
+
/**
|
|
9
|
+
* Sanitize all string values in a registry object.
|
|
10
|
+
* Returns a new registry with all strings cleaned of control characters and ANSI sequences.
|
|
11
|
+
*/
|
|
12
|
+
export declare function sanitizeRegistryData(registry: Registry): Registry;
|
|
13
|
+
/**
|
|
14
|
+
* Sanitize a string by removing ANSI escape sequences, ASCII control characters,
|
|
15
|
+
* and normalizing whitespace.
|
|
16
|
+
*
|
|
17
|
+
* Order of operations:
|
|
18
|
+
* 1. Strip ANSI/VT control sequences (e.g. color codes)
|
|
19
|
+
* 2. Remove ASCII control characters (0x00-0x08, 0x0B, 0x0C, 0x0E-0x1F, 0x7F)
|
|
20
|
+
* 3. Replace carriage returns and newlines with spaces
|
|
21
|
+
* 4. Collapse consecutive whitespace into single spaces
|
|
22
|
+
* 5. Trim leading/trailing whitespace
|
|
23
|
+
*/
|
|
24
|
+
export declare function sanitizeString(input: string): string;
|
|
25
|
+
//# sourceMappingURL=sanitize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/lib/sanitize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAEjE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAEjE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWpD"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { stripVTControlCharacters } from 'node:util';
|
|
2
|
+
/**
|
|
3
|
+
* Sanitize all string values in a lockfile object.
|
|
4
|
+
* Returns a new lockfile with all strings cleaned of control characters and ANSI sequences.
|
|
5
|
+
*/
|
|
6
|
+
export function sanitizeLockfileData(lockfile) {
|
|
7
|
+
return deepSanitize(lockfile);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Sanitize all string values in a registry object.
|
|
11
|
+
* Returns a new registry with all strings cleaned of control characters and ANSI sequences.
|
|
12
|
+
*/
|
|
13
|
+
export function sanitizeRegistryData(registry) {
|
|
14
|
+
return deepSanitize(registry);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Sanitize a string by removing ANSI escape sequences, ASCII control characters,
|
|
18
|
+
* and normalizing whitespace.
|
|
19
|
+
*
|
|
20
|
+
* Order of operations:
|
|
21
|
+
* 1. Strip ANSI/VT control sequences (e.g. color codes)
|
|
22
|
+
* 2. Remove ASCII control characters (0x00-0x08, 0x0B, 0x0C, 0x0E-0x1F, 0x7F)
|
|
23
|
+
* 3. Replace carriage returns and newlines with spaces
|
|
24
|
+
* 4. Collapse consecutive whitespace into single spaces
|
|
25
|
+
* 5. Trim leading/trailing whitespace
|
|
26
|
+
*/
|
|
27
|
+
export function sanitizeString(input) {
|
|
28
|
+
let result = stripVTControlCharacters(input);
|
|
29
|
+
// eslint-disable-next-line no-control-regex
|
|
30
|
+
result = result.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g, '');
|
|
31
|
+
result = result.replace(/[\r\n]/g, ' ');
|
|
32
|
+
result = result.replace(/\s{2,}/g, ' ');
|
|
33
|
+
return result.trim();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Recursively walk an object/array structure and apply `sanitizeString`
|
|
37
|
+
* to every string value. Returns a new structure without mutating the original.
|
|
38
|
+
*/
|
|
39
|
+
function deepSanitize(value) {
|
|
40
|
+
if (typeof value === 'string') {
|
|
41
|
+
return sanitizeString(value);
|
|
42
|
+
}
|
|
43
|
+
if (value === null || value === undefined) {
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
if (typeof value === 'number' || typeof value === 'boolean') {
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
if (Array.isArray(value)) {
|
|
50
|
+
return value.map((element) => deepSanitize(element));
|
|
51
|
+
}
|
|
52
|
+
if (typeof value === 'object') {
|
|
53
|
+
const result = {};
|
|
54
|
+
for (const key of Object.keys(value)) {
|
|
55
|
+
result[key] = deepSanitize(value[key]);
|
|
56
|
+
}
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
59
|
+
return value;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=sanitize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../src/lib/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAKrD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAkB;IACrD,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAkB;IACrD,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAE7C,4CAA4C;IAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;IAEjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAExC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAExC,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAI,KAAQ;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,cAAc,CAAC,KAAK,CAAiB,CAAC;IAC/C,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAiB,CAAC;IACvE,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAE,KAAiC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,MAAW,CAAC;IACrB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -9,8 +9,36 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
9
9
|
}, z.core.$strip>;
|
|
10
10
|
export type Config = z.infer<typeof ConfigSchema>;
|
|
11
11
|
export declare const DEFAULT_CONFIG: Config;
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
declare const ProjectConfigBase: z.ZodObject<{
|
|
13
|
+
frozenAssets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
14
|
+
name: z.ZodString;
|
|
15
|
+
org: z.ZodOptional<z.ZodString>;
|
|
16
|
+
type: z.ZodEnum<{
|
|
17
|
+
skill: "skill";
|
|
18
|
+
agent: "agent";
|
|
19
|
+
rule: "rule";
|
|
20
|
+
hook: "hook";
|
|
21
|
+
"memory-template": "memory-template";
|
|
22
|
+
"mcp-config": "mcp-config";
|
|
23
|
+
}>;
|
|
24
|
+
}, z.core.$strip>>>;
|
|
25
|
+
tools: z.ZodArray<z.ZodString>;
|
|
14
26
|
}, z.core.$strip>;
|
|
15
|
-
export
|
|
27
|
+
export declare const ProjectConfigSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
|
|
28
|
+
frozenAssets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
29
|
+
name: z.ZodString;
|
|
30
|
+
org: z.ZodOptional<z.ZodString>;
|
|
31
|
+
type: z.ZodEnum<{
|
|
32
|
+
skill: "skill";
|
|
33
|
+
agent: "agent";
|
|
34
|
+
rule: "rule";
|
|
35
|
+
hook: "hook";
|
|
36
|
+
"memory-template": "memory-template";
|
|
37
|
+
"mcp-config": "mcp-config";
|
|
38
|
+
}>;
|
|
39
|
+
}, z.core.$strip>>>;
|
|
40
|
+
tools: z.ZodArray<z.ZodString>;
|
|
41
|
+
}, z.core.$strip>>;
|
|
42
|
+
export type ProjectConfig = z.infer<typeof ProjectConfigBase>;
|
|
43
|
+
export {};
|
|
16
44
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;iBAOvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,cAAc,EAAE,MAE5B,CAAC;AAEF,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;iBAYrB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;kBAYX,CAAC;AACtB,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { AssetType } from './manifest.js';
|
|
2
3
|
export const ConfigSchema = z.object({
|
|
3
4
|
cacheDir: z.string().optional().describe('Override cache directory (defaults to ~/.atk/cache/)'),
|
|
4
5
|
cacheTtlMinutes: z.number().optional().describe('Cache TTL in minutes for registry data'),
|
|
@@ -10,7 +11,25 @@ export const ConfigSchema = z.object({
|
|
|
10
11
|
export const DEFAULT_CONFIG = {
|
|
11
12
|
cacheTtlMinutes: 5,
|
|
12
13
|
};
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
const ProjectConfigBase = z.object({
|
|
15
|
+
frozenAssets: z
|
|
16
|
+
.array(z.object({
|
|
17
|
+
name: z.string().describe('Asset name'),
|
|
18
|
+
org: z.string().optional().describe('Organization scope for the asset'),
|
|
19
|
+
type: AssetType.describe('Asset type'),
|
|
20
|
+
}))
|
|
21
|
+
.optional()
|
|
22
|
+
.describe('Assets frozen to prevent sync and update from overwriting local modifications'),
|
|
23
|
+
tools: z.array(z.string()).min(1).describe('Tools this project is configured for'),
|
|
15
24
|
});
|
|
25
|
+
export const ProjectConfigSchema = z.preprocess((val) => {
|
|
26
|
+
if (val && typeof val === 'object' && 'tool' in val) {
|
|
27
|
+
const obj = val;
|
|
28
|
+
if (typeof obj.tool === 'string') {
|
|
29
|
+
const { tool, ...rest } = obj;
|
|
30
|
+
return { ...rest, tools: [tool] };
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return val;
|
|
34
|
+
}, ProjectConfigBase);
|
|
16
35
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/schemas/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAChG,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACzF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAChG,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACtF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;IAClH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;CAC/F,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC,eAAe,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/schemas/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAChG,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACzF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAChG,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACtF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;IAClH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;CAC/F,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC,eAAe,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,YAAY,EAAE,CAAC;SACZ,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACvC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACvE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;KACvC,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,+EAA+E,CAAC;IAC5F,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CACnF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;IACtD,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,GAA8B,CAAC;QAE3C,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;YAE9B,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,iBAAiB,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { type Adapter, AdapterSchema, PlacementConfig } from './adapter.js';
|
|
2
2
|
export { type Bundle, BundleAssetRef, BundleSchema } from './bundle.js';
|
|
3
3
|
export { type Config, ConfigSchema, DEFAULT_CONFIG, type ProjectConfig, ProjectConfigSchema } from './config.js';
|
|
4
|
-
export { InstalledAsset, InstalledFile, type Lockfile, LockfileSchema } from './lockfile.js';
|
|
4
|
+
export { ConfigEntry, InstalledAsset, InstalledFile, type Lockfile, LockfileSchema } from './lockfile.js';
|
|
5
5
|
export { AssetDependency, AssetType, type Manifest, ManifestSchema, SecurityBlock, ToolCompatibility, } from './manifest.js';
|
|
6
6
|
export { DeprecatedEntry, type Registry, RegistryAsset, type RegistryAssetVersion, RegistryAssetVersionSchema, RegistryAssetVersionsMapSchema, RegistryBundle, RegistrySchema, } from './registry.js';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EAAE,KAAK,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,KAAK,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEjH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EAAE,KAAK,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,KAAK,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEjH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE1G,OAAO,EACL,eAAe,EACf,SAAS,EACT,KAAK,QAAQ,EACb,cAAc,EACd,aAAa,EACb,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,eAAe,EACf,KAAK,QAAQ,EACb,aAAa,EACb,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { AdapterSchema, PlacementConfig } from './adapter.js';
|
|
2
2
|
export { BundleAssetRef, BundleSchema } from './bundle.js';
|
|
3
3
|
export { ConfigSchema, DEFAULT_CONFIG, ProjectConfigSchema } from './config.js';
|
|
4
|
-
export { InstalledAsset, InstalledFile, LockfileSchema } from './lockfile.js';
|
|
4
|
+
export { ConfigEntry, InstalledAsset, InstalledFile, LockfileSchema } from './lockfile.js';
|
|
5
5
|
export { AssetDependency, AssetType, ManifestSchema, SecurityBlock, ToolCompatibility, } from './manifest.js';
|
|
6
6
|
export { DeprecatedEntry, RegistryAsset, RegistryAssetVersionSchema, RegistryAssetVersionsMapSchema, RegistryBundle, RegistrySchema, } from './registry.js';
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EAAe,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAe,YAAY,EAAE,cAAc,EAAsB,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEjH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAiB,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EAAe,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAe,YAAY,EAAE,cAAc,EAAsB,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEjH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAiB,cAAc,EAAE,MAAM,eAAe,CAAC;AAE1G,OAAO,EACL,eAAe,EACf,SAAS,EAET,cAAc,EACd,aAAa,EACb,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,eAAe,EAEf,aAAa,EAEb,0BAA0B,EAC1B,8BAA8B,EAC9B,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC"}
|
|
@@ -4,11 +4,22 @@ export declare const InstalledFile: z.ZodObject<{
|
|
|
4
4
|
sourcePath: z.ZodString;
|
|
5
5
|
}, z.core.$strip>;
|
|
6
6
|
export type InstalledFile = z.infer<typeof InstalledFile>;
|
|
7
|
+
export declare const ConfigEntry: z.ZodObject<{
|
|
8
|
+
checksum: z.ZodString;
|
|
9
|
+
file: z.ZodString;
|
|
10
|
+
key: z.ZodString;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
export type ConfigEntry = z.infer<typeof ConfigEntry>;
|
|
7
13
|
export declare const InstalledAsset: z.ZodObject<{
|
|
8
14
|
bundleOrigin: z.ZodOptional<z.ZodObject<{
|
|
9
15
|
name: z.ZodString;
|
|
10
16
|
version: z.ZodString;
|
|
11
17
|
}, z.core.$strip>>;
|
|
18
|
+
configEntries: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
19
|
+
checksum: z.ZodString;
|
|
20
|
+
file: z.ZodString;
|
|
21
|
+
key: z.ZodString;
|
|
22
|
+
}, z.core.$strip>>>;
|
|
12
23
|
dependencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13
24
|
name: z.ZodString;
|
|
14
25
|
org: z.ZodOptional<z.ZodString>;
|
|
@@ -22,15 +33,15 @@ export declare const InstalledAsset: z.ZodObject<{
|
|
|
22
33
|
}>;
|
|
23
34
|
version: z.ZodOptional<z.ZodString>;
|
|
24
35
|
}, z.core.$strip>>>;
|
|
36
|
+
description: z.ZodOptional<z.ZodString>;
|
|
25
37
|
files: z.ZodArray<z.ZodObject<{
|
|
26
38
|
checksum: z.ZodString;
|
|
27
39
|
sourcePath: z.ZodString;
|
|
28
40
|
}, z.core.$strip>>;
|
|
29
|
-
frozen: z.ZodOptional<z.ZodBoolean>;
|
|
30
41
|
installedAt: z.ZodString;
|
|
31
42
|
installReason: z.ZodOptional<z.ZodEnum<{
|
|
32
|
-
dependency: "dependency";
|
|
33
43
|
direct: "direct";
|
|
44
|
+
dependency: "dependency";
|
|
34
45
|
}>>;
|
|
35
46
|
name: z.ZodString;
|
|
36
47
|
org: z.ZodOptional<z.ZodString>;
|
|
@@ -53,6 +64,11 @@ export declare const LockfileSchema: z.ZodObject<{
|
|
|
53
64
|
name: z.ZodString;
|
|
54
65
|
version: z.ZodString;
|
|
55
66
|
}, z.core.$strip>>;
|
|
67
|
+
configEntries: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
68
|
+
checksum: z.ZodString;
|
|
69
|
+
file: z.ZodString;
|
|
70
|
+
key: z.ZodString;
|
|
71
|
+
}, z.core.$strip>>>;
|
|
56
72
|
dependencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
57
73
|
name: z.ZodString;
|
|
58
74
|
org: z.ZodOptional<z.ZodString>;
|
|
@@ -66,15 +82,15 @@ export declare const LockfileSchema: z.ZodObject<{
|
|
|
66
82
|
}>;
|
|
67
83
|
version: z.ZodOptional<z.ZodString>;
|
|
68
84
|
}, z.core.$strip>>>;
|
|
85
|
+
description: z.ZodOptional<z.ZodString>;
|
|
69
86
|
files: z.ZodArray<z.ZodObject<{
|
|
70
87
|
checksum: z.ZodString;
|
|
71
88
|
sourcePath: z.ZodString;
|
|
72
89
|
}, z.core.$strip>>;
|
|
73
|
-
frozen: z.ZodOptional<z.ZodBoolean>;
|
|
74
90
|
installedAt: z.ZodString;
|
|
75
91
|
installReason: z.ZodOptional<z.ZodEnum<{
|
|
76
|
-
dependency: "dependency";
|
|
77
92
|
direct: "direct";
|
|
93
|
+
dependency: "dependency";
|
|
78
94
|
}>>;
|
|
79
95
|
name: z.ZodString;
|
|
80
96
|
org: z.ZodOptional<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lockfile.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas/lockfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa;;;iBAGxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"lockfile.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas/lockfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa;;;iBAGxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,eAAO,MAAM,WAAW;;;;iBAItB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiCzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -4,6 +4,11 @@ export const InstalledFile = z.object({
|
|
|
4
4
|
checksum: z.string().describe('SHA-256 checksum of the file contents'),
|
|
5
5
|
sourcePath: z.string().describe('Original path within the asset directory'),
|
|
6
6
|
});
|
|
7
|
+
export const ConfigEntry = z.object({
|
|
8
|
+
checksum: z.string().describe('SHA-256 hex digest of the config entry value'),
|
|
9
|
+
file: z.string().describe('Project-relative POSIX path to the config file'),
|
|
10
|
+
key: z.string().describe('Dot-path key within the config file (e.g. hooks.my-hook)'),
|
|
11
|
+
});
|
|
7
12
|
export const InstalledAsset = z.object({
|
|
8
13
|
bundleOrigin: z
|
|
9
14
|
.object({
|
|
@@ -12,6 +17,7 @@ export const InstalledAsset = z.object({
|
|
|
12
17
|
})
|
|
13
18
|
.optional()
|
|
14
19
|
.describe('Bundle that triggered this asset installation'),
|
|
20
|
+
configEntries: z.array(ConfigEntry).optional().describe('Config file entries registered by this asset'),
|
|
15
21
|
dependencies: z
|
|
16
22
|
.array(z.object({
|
|
17
23
|
name: z.string().describe('Dependency asset name'),
|
|
@@ -21,8 +27,8 @@ export const InstalledAsset = z.object({
|
|
|
21
27
|
}))
|
|
22
28
|
.optional()
|
|
23
29
|
.describe('Assets this asset depends on'),
|
|
30
|
+
description: z.string().optional().describe('Short description of the asset'),
|
|
24
31
|
files: z.array(InstalledFile).describe('Files placed by this asset'),
|
|
25
|
-
frozen: z.boolean().optional().describe('If true, sync and update will not overwrite this asset'),
|
|
26
32
|
installedAt: z.string().describe('ISO timestamp of installation'),
|
|
27
33
|
installReason: z
|
|
28
34
|
.enum(['direct', 'dependency'])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../../../src/lib/schemas/lockfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACtE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CAC5E,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,YAAY,EAAE,CAAC;SACZ,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAChE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KAC/D,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,YAAY,EAAE,CAAC;SACZ,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAClD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QAC3E,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;KACzF,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,8BAA8B,CAAC;IAC3C,
|
|
1
|
+
{"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../../../src/lib/schemas/lockfile.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,7 +50,7 @@ export declare const ManifestSchema: z.ZodObject<{
|
|
|
50
50
|
version: z.ZodOptional<z.ZodString>;
|
|
51
51
|
}, z.core.$strip>>>;
|
|
52
52
|
description: z.ZodString;
|
|
53
|
-
entrypoint: z.ZodString
|
|
53
|
+
entrypoint: z.ZodOptional<z.ZodString>;
|
|
54
54
|
files: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
55
55
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
56
56
|
name: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas/manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,SAAS;;;;;;;EAA8E,CAAC;AACrG,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,eAAO,MAAM,iBAAiB;;;;;iBAK5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,eAAe;;;;;;;;;;;iBAI1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,aAAa;;;;iBAIxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas/manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,SAAS;;;;;;;EAA8E,CAAC;AACrG,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,eAAO,MAAM,iBAAiB;;;;;iBAK5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,eAAe;;;;;;;;;;;iBAI1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,aAAa;;;;iBAIxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6BvB,CAAC;AACL,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -17,12 +17,13 @@ export const SecurityBlock = z.object({
|
|
|
17
17
|
reviewedAt: z.string().optional().describe('ISO date when the security review occurred'),
|
|
18
18
|
reviewedBy: z.string().optional().describe('Who reviewed this asset for security'),
|
|
19
19
|
});
|
|
20
|
-
export const ManifestSchema = z
|
|
20
|
+
export const ManifestSchema = z
|
|
21
|
+
.object({
|
|
21
22
|
$schema: z.string().optional().describe('JSON Schema reference for editor validation and autocomplete'),
|
|
22
23
|
author: z.string().describe('Author name or identifier'),
|
|
23
24
|
dependencies: z.array(AssetDependency).optional().describe('Other assets this asset depends on'),
|
|
24
25
|
description: z.string().describe('Short description of what this asset does'),
|
|
25
|
-
entrypoint: z.string().describe('Primary file for this asset (relative to asset directory)'),
|
|
26
|
+
entrypoint: z.string().optional().describe('Primary file for this asset (relative to asset directory)'),
|
|
26
27
|
files: z.array(z.string()).optional().describe('Additional files included with this asset (relative paths)'),
|
|
27
28
|
metadata: z.record(z.string(), z.unknown()).optional().describe('Arbitrary additional metadata'),
|
|
28
29
|
name: z.string().describe('Unique asset name (kebab-case)'),
|
|
@@ -41,5 +42,9 @@ export const ManifestSchema = z.object({
|
|
|
41
42
|
.refine((v) => semverValid(v) !== null && !v.startsWith('v'), {
|
|
42
43
|
message: 'version must be valid semver (e.g., 1.0.0) without a "v" prefix',
|
|
43
44
|
}),
|
|
45
|
+
})
|
|
46
|
+
.refine((data) => data.type === 'mcp-config' || typeof data.entrypoint === 'string', {
|
|
47
|
+
message: 'entrypoint is required for all asset types except mcp-config',
|
|
48
|
+
path: ['entrypoint'],
|
|
44
49
|
});
|
|
45
50
|
//# sourceMappingURL=manifest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/lib/schemas/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC;AAGrG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC7E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC7E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC5D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;CACjE,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAClD,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CAC3E,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;IACnH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACxF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CACnF,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/lib/schemas/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC;AAGrG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC7E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC7E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC5D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;CACjE,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAClD,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CAC3E,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;IACnH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACxF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CACnF,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;IACvG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACxD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAChG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAC7E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IACvG,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;IAC5G,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAChG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC3D,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,KAAK,CAAC,yBAAyB,CAAC;SAChC,QAAQ,EAAE;SACV,QAAQ,CAAC,mCAAmC,CAAC;IAChD,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1E,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAChE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACvF,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;IACtC,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,CAAC,uBAAuB,CAAC;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC5D,OAAO,EAAE,iEAAiE;KAC3E,CAAC;CACL,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE;IACnF,OAAO,EAAE,8DAA8D;IACvE,IAAI,EAAE,CAAC,YAAY,CAAC;CACrB,CAAC,CAAC"}
|