@detergent-software/atk 3.0.0-dev.19 → 3.0.0-dev.20
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/build/commands/search.d.ts.map +1 -1
- package/build/commands/search.js +13 -16
- package/build/commands/search.js.map +1 -1
- package/build/components/AssetTable.d.ts +2 -1
- package/build/components/AssetTable.d.ts.map +1 -1
- package/build/components/AssetTable.js +14 -10
- package/build/components/AssetTable.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/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,WAAW,sCAAsC,CAAC;AAE/D,eAAO,MAAM,OAAO;;;;;;iBA8ClB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAAiD,CAAC;AAEnE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAOF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CA8E1G"}
|
package/build/commands/search.js
CHANGED
|
@@ -5,10 +5,12 @@ import { z } from 'zod';
|
|
|
5
5
|
import { AssetTable, Spinner } from '../components/index.js';
|
|
6
6
|
import { useCommand } from '../hooks/useCommand.js';
|
|
7
7
|
import { loadConfig } from '../lib/config.js';
|
|
8
|
+
import { buildReadmeUrl } from '../lib/github.js';
|
|
9
|
+
import { readLockfile } from '../lib/lockfile.js';
|
|
8
10
|
import { resolveActiveOrg } from '../lib/org.js';
|
|
11
|
+
import { findProjectRoot } from '../lib/paths.js';
|
|
9
12
|
import { fetchRegistry } from '../lib/registry.js';
|
|
10
|
-
import {
|
|
11
|
-
import { searchRegistry } from '../lib/search.js';
|
|
13
|
+
import { parseTypeFilter, searchRegistry } from '../lib/search.js';
|
|
12
14
|
export const description = 'Search for assets in the registry';
|
|
13
15
|
export const options = z.object({
|
|
14
16
|
org: z
|
|
@@ -52,24 +54,16 @@ export default function Search({ args: [query], options: { org: cliOrg, refresh,
|
|
|
52
54
|
const state = useCommand(async () => {
|
|
53
55
|
const config = await loadConfig();
|
|
54
56
|
const registry = await fetchRegistry({ force: refresh });
|
|
55
|
-
// Resolve active org
|
|
56
|
-
const
|
|
57
|
+
// Resolve active org from lockfile (matches browse command pattern)
|
|
58
|
+
const projectDir = findProjectRoot();
|
|
59
|
+
const lockfile = await readLockfile(projectDir);
|
|
60
|
+
const org = resolveActiveOrg(cliOrg, lockfile.org, config.org);
|
|
57
61
|
const results = searchRegistry(registry, {
|
|
58
62
|
org,
|
|
59
63
|
query,
|
|
60
64
|
tag,
|
|
61
65
|
tool,
|
|
62
|
-
type: type
|
|
63
|
-
? type === 'bundle'
|
|
64
|
-
? 'bundle'
|
|
65
|
-
: (() => {
|
|
66
|
-
const result = AssetType.safeParse(type);
|
|
67
|
-
if (!result.success) {
|
|
68
|
-
throw new Error(`Invalid type '${type}'. Valid types are: ${AssetType.options.join(', ')}, bundle`);
|
|
69
|
-
}
|
|
70
|
-
return result.data;
|
|
71
|
-
})()
|
|
72
|
-
: undefined,
|
|
66
|
+
type: type ? parseTypeFilter(type) : undefined,
|
|
73
67
|
});
|
|
74
68
|
return { query, results };
|
|
75
69
|
}, [cliOrg, query, refresh, tag, tool, type], 'Searching registry...');
|
|
@@ -88,6 +82,7 @@ export default function Search({ args: [query], options: { org: cliOrg, refresh,
|
|
|
88
82
|
return {
|
|
89
83
|
description: result.item.description,
|
|
90
84
|
name: result.item.name,
|
|
85
|
+
readmeUrl: buildReadmeUrl({ name: result.item.name, type: 'bundle' }, result.item.version),
|
|
91
86
|
type: 'bundle',
|
|
92
87
|
version: result.item.version,
|
|
93
88
|
};
|
|
@@ -96,9 +91,11 @@ export default function Search({ args: [query], options: { org: cliOrg, refresh,
|
|
|
96
91
|
return {
|
|
97
92
|
description: latestData?.description ?? '',
|
|
98
93
|
name: result.item.name,
|
|
94
|
+
org: result.item.org,
|
|
95
|
+
readmeUrl: buildReadmeUrl({ name: result.item.name, org: result.item.org, type: result.item.type }, result.item.latest),
|
|
99
96
|
type: result.item.type,
|
|
100
97
|
version: result.item.latest,
|
|
101
98
|
};
|
|
102
|
-
}) })] }));
|
|
99
|
+
}), columns: ['name', 'org', 'type', 'readme', 'version', 'description'] })] }));
|
|
103
100
|
}
|
|
104
101
|
//# sourceMappingURL=search.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ interface AssetRow {
|
|
|
6
6
|
name: string;
|
|
7
7
|
org?: string;
|
|
8
8
|
pinnedVersion?: string;
|
|
9
|
+
readmeUrl?: string;
|
|
9
10
|
type: string;
|
|
10
11
|
version: string;
|
|
11
12
|
}
|
|
@@ -17,7 +18,7 @@ interface AssetTableProps {
|
|
|
17
18
|
/** Whether to show the column header row. Defaults to true. */
|
|
18
19
|
showHeader?: boolean;
|
|
19
20
|
}
|
|
20
|
-
type ColumnName = 'description' | 'files' | 'installed' | 'name' | 'type' | 'version';
|
|
21
|
+
type ColumnName = 'description' | 'files' | 'installed' | 'name' | 'org' | 'readme' | 'type' | 'version';
|
|
21
22
|
/**
|
|
22
23
|
* Table display for asset lists — used by search, list, and outdated commands.
|
|
23
24
|
* Supports configurable column sets and responsive breakpoints.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetTable.d.ts","sourceRoot":"","sources":["../../src/components/AssetTable.tsx"],"names":[],"mappings":"AAMA,UAAU,QAAQ;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,eAAe;IACvB,qCAAqC;IACrC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,iEAAiE;IACjE,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,KAAK,UAAU,GAAG,aAAa,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"AssetTable.d.ts","sourceRoot":"","sources":["../../src/components/AssetTable.tsx"],"names":[],"mappings":"AAMA,UAAU,QAAQ;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,eAAe;IACvB,qCAAqC;IACrC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,iEAAiE;IACjE,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,KAAK,UAAU,GAAG,aAAa,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AA4BzG;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAiB,EAAE,EAAE,eAAe,2CA8EtG"}
|
|
@@ -2,25 +2,25 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Box, Text, useStdout } from 'ink';
|
|
3
3
|
import { getBreakpoint } from '../lib/breakpoints.js';
|
|
4
4
|
import { formatDate } from '../lib/format.js';
|
|
5
|
-
import
|
|
6
|
-
const DEFAULT_COLUMNS = ['name', 'type', 'version', 'description'];
|
|
5
|
+
import Link from './Link.js';
|
|
6
|
+
const DEFAULT_COLUMNS = ['name', 'org', 'type', 'version', 'description'];
|
|
7
7
|
/** Per-breakpoint fixed widths for columns. Columns absent from a breakpoint's map are hidden. */
|
|
8
8
|
const RESPONSIVE_WIDTHS = {
|
|
9
|
-
medium: { files: 8, installed: 14, type: 14, version: 10 },
|
|
10
|
-
narrow: { files: 8, installed: 14, version: 10 },
|
|
11
|
-
wide: { files: 8, installed: 14, type: 18, version: 10 },
|
|
9
|
+
medium: { files: 8, installed: 14, name: 30, org: 16, readme: 18, type: 14, version: 10 },
|
|
10
|
+
narrow: { files: 8, installed: 14, name: 30, readme: 18, version: 10 },
|
|
11
|
+
wide: { files: 8, installed: 14, name: 40, org: 20, readme: 18, type: 18, version: 10 },
|
|
12
12
|
};
|
|
13
13
|
/** Columns that flex to fill remaining space — never hidden by breakpoint. */
|
|
14
|
-
const FLEX_COLUMNS = new Set(['description'
|
|
14
|
+
const FLEX_COLUMNS = new Set(['description']);
|
|
15
15
|
/** Maximum widths for flex columns. When set, the column is capped at this width instead of growing unbounded. */
|
|
16
|
-
const MAX_FLEX_WIDTHS = {
|
|
17
|
-
name: 75,
|
|
18
|
-
};
|
|
16
|
+
const MAX_FLEX_WIDTHS = {};
|
|
19
17
|
const COLUMN_LABELS = {
|
|
20
18
|
description: 'Description',
|
|
21
19
|
files: 'Files',
|
|
22
20
|
installed: 'Installed',
|
|
23
21
|
name: 'Name',
|
|
22
|
+
org: 'Org',
|
|
23
|
+
readme: 'README',
|
|
24
24
|
type: 'Type',
|
|
25
25
|
version: 'Version',
|
|
26
26
|
};
|
|
@@ -74,7 +74,11 @@ function renderCell(column, asset) {
|
|
|
74
74
|
case 'installed':
|
|
75
75
|
return (_jsx(Text, { dimColor: true, wrap: 'truncate', children: formatDate(asset.installedAt ?? '') }));
|
|
76
76
|
case 'name':
|
|
77
|
-
return (_jsx(Text, { color: 'cyan', wrap: 'truncate', children:
|
|
77
|
+
return (_jsx(Text, { color: 'cyan', wrap: 'truncate', children: asset.name }));
|
|
78
|
+
case 'org':
|
|
79
|
+
return (_jsx(Text, { dimColor: true, wrap: 'truncate', children: asset.org ? `@${asset.org}` : '' }));
|
|
80
|
+
case 'readme':
|
|
81
|
+
return asset.readmeUrl ? _jsx(Link, { url: asset.readmeUrl, children: "view on GitHub" }) : _jsx(Text, {});
|
|
78
82
|
case 'type':
|
|
79
83
|
return _jsx(Text, { wrap: 'truncate', children: asset.type });
|
|
80
84
|
case 'version':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetTable.js","sourceRoot":"","sources":["../../src/components/AssetTable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAE3C,OAAO,EAAmB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"AssetTable.js","sourceRoot":"","sources":["../../src/components/AssetTable.tsx"],"names":[],"mappings":"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"}
|
package/build/lib/search.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { AssetType } from './schemas/manifest.js';
|
|
2
1
|
import type { Registry, RegistryAsset, RegistryBundle } from './schemas/registry.js';
|
|
2
|
+
import { AssetType } from './schemas/manifest.js';
|
|
3
3
|
export interface SearchOptions {
|
|
4
4
|
org?: string;
|
|
5
5
|
query: string;
|
|
@@ -16,6 +16,20 @@ export type SearchResult = {
|
|
|
16
16
|
kind: 'bundle';
|
|
17
17
|
score: number;
|
|
18
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* Parse and validate a type filter string.
|
|
21
|
+
* Returns 'bundle' for the bundle type, or a validated AssetType.
|
|
22
|
+
* Throws an Error if the type string is not recognized.
|
|
23
|
+
*/
|
|
24
|
+
export declare function parseTypeFilter(type: string): 'bundle' | AssetType;
|
|
25
|
+
/**
|
|
26
|
+
* Score an item (asset or bundle) against search terms.
|
|
27
|
+
* Higher score = better match.
|
|
28
|
+
*
|
|
29
|
+
* Accepts pre-lowercased name, description, and author strings,
|
|
30
|
+
* the raw tags array, the search terms, and the full query string.
|
|
31
|
+
*/
|
|
32
|
+
export declare function scoreItem(name: string, description: string, author: string, tags: string[], terms: string[], fullQuery: string): number;
|
|
19
33
|
/**
|
|
20
34
|
* Search the registry for assets and bundles matching a query.
|
|
21
35
|
* Returns results sorted by relevance score (highest first).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/lib/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/lib/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGrF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CASlE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,MAAM,GAChB,MAAM,CAsCR;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,GAAG,YAAY,EAAE,CAqDzF"}
|
package/build/lib/search.js
CHANGED
|
@@ -1,4 +1,62 @@
|
|
|
1
1
|
import { filterVisibleAssets } from './registry.js';
|
|
2
|
+
import { AssetType } from './schemas/manifest.js';
|
|
3
|
+
/**
|
|
4
|
+
* Parse and validate a type filter string.
|
|
5
|
+
* Returns 'bundle' for the bundle type, or a validated AssetType.
|
|
6
|
+
* Throws an Error if the type string is not recognized.
|
|
7
|
+
*/
|
|
8
|
+
export function parseTypeFilter(type) {
|
|
9
|
+
if (type === 'bundle') {
|
|
10
|
+
return 'bundle';
|
|
11
|
+
}
|
|
12
|
+
const result = AssetType.safeParse(type);
|
|
13
|
+
if (!result.success) {
|
|
14
|
+
throw new Error(`Invalid type '${type}'. Valid types are: ${AssetType.options.join(', ')}, bundle`);
|
|
15
|
+
}
|
|
16
|
+
return result.data;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Score an item (asset or bundle) against search terms.
|
|
20
|
+
* Higher score = better match.
|
|
21
|
+
*
|
|
22
|
+
* Accepts pre-lowercased name, description, and author strings,
|
|
23
|
+
* the raw tags array, the search terms, and the full query string.
|
|
24
|
+
*/
|
|
25
|
+
export function scoreItem(name, description, author, tags, terms, fullQuery) {
|
|
26
|
+
let score = 0;
|
|
27
|
+
// Exact name match — highest weight
|
|
28
|
+
if (name === fullQuery) {
|
|
29
|
+
score += 100;
|
|
30
|
+
}
|
|
31
|
+
// Name contains the full query
|
|
32
|
+
else if (name.includes(fullQuery)) {
|
|
33
|
+
score += 50;
|
|
34
|
+
}
|
|
35
|
+
// Description contains the full query
|
|
36
|
+
if (description.includes(fullQuery)) {
|
|
37
|
+
score += 20;
|
|
38
|
+
}
|
|
39
|
+
// Per-term matching
|
|
40
|
+
for (const term of terms) {
|
|
41
|
+
// Name contains term
|
|
42
|
+
if (name.includes(term)) {
|
|
43
|
+
score += 10;
|
|
44
|
+
}
|
|
45
|
+
// Description contains term
|
|
46
|
+
if (description.includes(term)) {
|
|
47
|
+
score += 5;
|
|
48
|
+
}
|
|
49
|
+
// Tag exact match
|
|
50
|
+
if (tags.some((t) => t.toLowerCase() === term)) {
|
|
51
|
+
score += 8;
|
|
52
|
+
}
|
|
53
|
+
// Author matches
|
|
54
|
+
if (author.includes(term)) {
|
|
55
|
+
score += 3;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return score;
|
|
59
|
+
}
|
|
2
60
|
/**
|
|
3
61
|
* Search the registry for assets and bundles matching a query.
|
|
4
62
|
* Returns results sorted by relevance score (highest first).
|
|
@@ -18,7 +76,9 @@ export function searchRegistry(registry, options) {
|
|
|
18
76
|
if (tag && !asset.tags.some((t) => t.toLowerCase() === tag.toLowerCase()))
|
|
19
77
|
continue;
|
|
20
78
|
const latestVersion = asset.versions[asset.latest];
|
|
21
|
-
if (
|
|
79
|
+
if (!latestVersion)
|
|
80
|
+
continue;
|
|
81
|
+
if (tool && !latestVersion.tools.includes(tool))
|
|
22
82
|
continue;
|
|
23
83
|
let score = scoreAsset(asset, queryTerms, queryLower);
|
|
24
84
|
// Org-scoped assets get a small scoring bonus when org is active
|
|
@@ -53,83 +113,23 @@ export function searchRegistry(registry, options) {
|
|
|
53
113
|
}
|
|
54
114
|
/**
|
|
55
115
|
* Score an asset against search terms.
|
|
56
|
-
*
|
|
116
|
+
* Thin wrapper that extracts fields from the asset and delegates to scoreItem.
|
|
57
117
|
*/
|
|
58
118
|
function scoreAsset(asset, terms, fullQuery) {
|
|
59
|
-
let score = 0;
|
|
60
119
|
const nameLower = asset.name.toLowerCase();
|
|
61
120
|
const latestVersion = asset.versions[asset.latest];
|
|
62
121
|
const descLower = (latestVersion?.description ?? '').toLowerCase();
|
|
63
122
|
const authorLower = (latestVersion?.author ?? '').toLowerCase();
|
|
64
|
-
|
|
65
|
-
if (nameLower === fullQuery) {
|
|
66
|
-
score += 100;
|
|
67
|
-
}
|
|
68
|
-
// Name contains the full query
|
|
69
|
-
else if (nameLower.includes(fullQuery)) {
|
|
70
|
-
score += 50;
|
|
71
|
-
}
|
|
72
|
-
// Description contains the full query
|
|
73
|
-
if (descLower.includes(fullQuery)) {
|
|
74
|
-
score += 20;
|
|
75
|
-
}
|
|
76
|
-
// Per-term matching
|
|
77
|
-
for (const term of terms) {
|
|
78
|
-
// Name contains term
|
|
79
|
-
if (nameLower.includes(term)) {
|
|
80
|
-
score += 10;
|
|
81
|
-
}
|
|
82
|
-
// Description contains term
|
|
83
|
-
if (descLower.includes(term)) {
|
|
84
|
-
score += 5;
|
|
85
|
-
}
|
|
86
|
-
// Tag exact match
|
|
87
|
-
if (asset.tags.some((t) => t.toLowerCase() === term)) {
|
|
88
|
-
score += 8;
|
|
89
|
-
}
|
|
90
|
-
// Author matches
|
|
91
|
-
if (authorLower.includes(term)) {
|
|
92
|
-
score += 3;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return score;
|
|
123
|
+
return scoreItem(nameLower, descLower, authorLower, asset.tags, terms, fullQuery);
|
|
96
124
|
}
|
|
97
125
|
/**
|
|
98
126
|
* Score a bundle against search terms.
|
|
99
|
-
*
|
|
127
|
+
* Thin wrapper that extracts fields from the bundle and delegates to scoreItem.
|
|
100
128
|
*/
|
|
101
129
|
function scoreBundle(bundle, terms, fullQuery) {
|
|
102
|
-
let score = 0;
|
|
103
130
|
const nameLower = bundle.name.toLowerCase();
|
|
104
131
|
const descLower = bundle.description.toLowerCase();
|
|
105
132
|
const authorLower = bundle.author.toLowerCase();
|
|
106
|
-
|
|
107
|
-
if (nameLower === fullQuery) {
|
|
108
|
-
score += 100;
|
|
109
|
-
}
|
|
110
|
-
// Name contains the full query
|
|
111
|
-
else if (nameLower.includes(fullQuery)) {
|
|
112
|
-
score += 50;
|
|
113
|
-
}
|
|
114
|
-
// Description contains the full query
|
|
115
|
-
if (descLower.includes(fullQuery)) {
|
|
116
|
-
score += 20;
|
|
117
|
-
}
|
|
118
|
-
// Per-term matching
|
|
119
|
-
for (const term of terms) {
|
|
120
|
-
if (nameLower.includes(term)) {
|
|
121
|
-
score += 10;
|
|
122
|
-
}
|
|
123
|
-
if (descLower.includes(term)) {
|
|
124
|
-
score += 5;
|
|
125
|
-
}
|
|
126
|
-
if (bundle.tags.some((t) => t.toLowerCase() === term)) {
|
|
127
|
-
score += 8;
|
|
128
|
-
}
|
|
129
|
-
if (authorLower.includes(term)) {
|
|
130
|
-
score += 3;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
return score;
|
|
133
|
+
return scoreItem(nameLower, descLower, authorLower, bundle.tags, terms, fullQuery);
|
|
134
134
|
}
|
|
135
135
|
//# sourceMappingURL=search.js.map
|
package/build/lib/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/lib/search.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/lib/search.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@detergent-software/atk",
|
|
3
|
-
"version": "3.0.0-dev.
|
|
3
|
+
"version": "3.0.0-dev.20",
|
|
4
4
|
"description": "Agentic Tool Kit — CLI for managing AI coding tool assets.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
"eslint-plugin-react": "^7.37.0",
|
|
71
71
|
"eslint-plugin-react-hooks": "^7.0.0",
|
|
72
72
|
"ink-testing-library": "^4.0.0",
|
|
73
|
+
"jsdom": "^28.1.0",
|
|
73
74
|
"prettier": "^3.4.0",
|
|
74
75
|
"semantic-release": "^25.0.3",
|
|
75
76
|
"tsx": "^4.21.0",
|