@burdenoff/mcp-libs 2026.1028.1 → 2026.1030.2
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/modules/cosmicintersection/index.cjs +52 -0
- package/dist/modules/cosmicintersection/index.cjs.map +1 -1
- package/dist/modules/cosmicintersection/index.js +52 -0
- package/dist/modules/cosmicintersection/index.js.map +1 -1
- package/dist/modules/cosmicintersection/operations.d.ts +1 -0
- package/dist/modules/{timecampus/tools/config.d.ts → cosmicintersection/tools/search.d.ts} +1 -1
- package/dist/modules/timecampus/index.cjs +38 -680
- package/dist/modules/timecampus/index.cjs.map +1 -1
- package/dist/modules/timecampus/index.js +38 -680
- package/dist/modules/timecampus/index.js.map +1 -1
- package/dist/modules/timecampus/operations.d.ts +0 -25
- package/package.json +1 -1
- package/dist/modules/timecampus/tools/channels.d.ts +0 -3
|
@@ -449,6 +449,30 @@ var HEALTH = `
|
|
|
449
449
|
cosHealth
|
|
450
450
|
}
|
|
451
451
|
`;
|
|
452
|
+
var SEMANTIC_SEARCH = `
|
|
453
|
+
query CosmicintersectionSemanticSearch($input: CosSemanticSearchInput!) {
|
|
454
|
+
cosSemanticSearch(input: $input) {
|
|
455
|
+
query
|
|
456
|
+
interpretedTerms
|
|
457
|
+
expandedTerms
|
|
458
|
+
timeWindow { fromYear toYear }
|
|
459
|
+
total
|
|
460
|
+
hits {
|
|
461
|
+
entityType
|
|
462
|
+
id
|
|
463
|
+
title
|
|
464
|
+
snippet
|
|
465
|
+
score
|
|
466
|
+
dataset { id name accessLevel status format coverage version sourceId collectionId }
|
|
467
|
+
collection { id name slug }
|
|
468
|
+
release { id title version status doi }
|
|
469
|
+
notebook { id title status }
|
|
470
|
+
evidence { kind entityId label text }
|
|
471
|
+
lineage { kind id label relation status detail parentId occurredAt }
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
`;
|
|
452
476
|
var CosSourceTypeEnum = zod.z.enum([
|
|
453
477
|
"API",
|
|
454
478
|
"ARCHIVE",
|
|
@@ -1688,6 +1712,33 @@ function registerHealthTools(server, ctx, track) {
|
|
|
1688
1712
|
}
|
|
1689
1713
|
);
|
|
1690
1714
|
}
|
|
1715
|
+
var CosSearchEntityTypeEnum = zod.z.enum(["DATASET", "COLLECTION", "RELEASE", "NOTEBOOK"]);
|
|
1716
|
+
function registerSearchTools(server, ctx, track) {
|
|
1717
|
+
server.registerTool(
|
|
1718
|
+
track(mcpToolName(ctx.productName, "search")),
|
|
1719
|
+
{
|
|
1720
|
+
title: "Search the Catalog",
|
|
1721
|
+
description: 'Natural-language search across the CosmicIntersection catalog: datasets (name, description, coverage, instrument metadata), schema fields (name, unit, provenance note), sources, collections, analyses, releases and notebooks. Returns ranked hits with matched evidence and, for datasets, lineage (source -> pipeline runs/steps -> analyses -> releases). Example query: "calibrated flux columns covering M31 between 2019 and 2021". Use this first to locate data instead of paging through datasets_list.',
|
|
1722
|
+
inputSchema: {
|
|
1723
|
+
query: zod.z.string().min(1).max(500).describe("Plain-language question (instrument, target, epoch, quantity, method, ...)"),
|
|
1724
|
+
entityTypes: zod.z.array(CosSearchEntityTypeEnum).optional().describe("Restrict to these entity types (default: all)"),
|
|
1725
|
+
limit: zod.z.number().int().min(1).max(50).optional().describe("Maximum hits (default 20)"),
|
|
1726
|
+
includeLineage: zod.z.boolean().optional().describe("Attach lineage to dataset hits (default true)")
|
|
1727
|
+
}
|
|
1728
|
+
},
|
|
1729
|
+
async ({ query, entityTypes, limit, includeLineage }) => {
|
|
1730
|
+
try {
|
|
1731
|
+
const data = await ctx.gql.workspace.request(SEMANTIC_SEARCH, { input: { query, entityTypes, limit, includeLineage } });
|
|
1732
|
+
return jsonResult(data.cosSemanticSearch);
|
|
1733
|
+
} catch (error) {
|
|
1734
|
+
ctx.logger.error("cosmicintersection search failed", { error: String(error) });
|
|
1735
|
+
return errorResult(
|
|
1736
|
+
`Failed to search the catalog: ${error instanceof Error ? error.message : String(error)}`
|
|
1737
|
+
);
|
|
1738
|
+
}
|
|
1739
|
+
}
|
|
1740
|
+
);
|
|
1741
|
+
}
|
|
1691
1742
|
|
|
1692
1743
|
// src/modules/cosmicintersection/resources.ts
|
|
1693
1744
|
function registerCosmicintersectionResources(server, ctx, track) {
|
|
@@ -1973,6 +2024,7 @@ var cosmicintersectionModule = {
|
|
|
1973
2024
|
registerReleaseTools(server, ctx, trackTool);
|
|
1974
2025
|
registerGrantTools(server, ctx, trackTool);
|
|
1975
2026
|
registerHealthTools(server, ctx, trackTool);
|
|
2027
|
+
registerSearchTools(server, ctx, trackTool);
|
|
1976
2028
|
registerCosmicintersectionResources(server, ctx, trackResource);
|
|
1977
2029
|
registerCosmicintersectionPrompts(server, ctx, trackPrompt);
|
|
1978
2030
|
return { tools, resources, prompts };
|