@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
|
@@ -387,6 +387,30 @@ var HEALTH = `
|
|
|
387
387
|
cosHealth
|
|
388
388
|
}
|
|
389
389
|
`;
|
|
390
|
+
var SEMANTIC_SEARCH = `
|
|
391
|
+
query CosmicintersectionSemanticSearch($input: CosSemanticSearchInput!) {
|
|
392
|
+
cosSemanticSearch(input: $input) {
|
|
393
|
+
query
|
|
394
|
+
interpretedTerms
|
|
395
|
+
expandedTerms
|
|
396
|
+
timeWindow { fromYear toYear }
|
|
397
|
+
total
|
|
398
|
+
hits {
|
|
399
|
+
entityType
|
|
400
|
+
id
|
|
401
|
+
title
|
|
402
|
+
snippet
|
|
403
|
+
score
|
|
404
|
+
dataset { id name accessLevel status format coverage version sourceId collectionId }
|
|
405
|
+
collection { id name slug }
|
|
406
|
+
release { id title version status doi }
|
|
407
|
+
notebook { id title status }
|
|
408
|
+
evidence { kind entityId label text }
|
|
409
|
+
lineage { kind id label relation status detail parentId occurredAt }
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
`;
|
|
390
414
|
var CosSourceTypeEnum = z.enum([
|
|
391
415
|
"API",
|
|
392
416
|
"ARCHIVE",
|
|
@@ -1626,6 +1650,33 @@ function registerHealthTools(server, ctx, track) {
|
|
|
1626
1650
|
}
|
|
1627
1651
|
);
|
|
1628
1652
|
}
|
|
1653
|
+
var CosSearchEntityTypeEnum = z.enum(["DATASET", "COLLECTION", "RELEASE", "NOTEBOOK"]);
|
|
1654
|
+
function registerSearchTools(server, ctx, track) {
|
|
1655
|
+
server.registerTool(
|
|
1656
|
+
track(mcpToolName(ctx.productName, "search")),
|
|
1657
|
+
{
|
|
1658
|
+
title: "Search the Catalog",
|
|
1659
|
+
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.',
|
|
1660
|
+
inputSchema: {
|
|
1661
|
+
query: z.string().min(1).max(500).describe("Plain-language question (instrument, target, epoch, quantity, method, ...)"),
|
|
1662
|
+
entityTypes: z.array(CosSearchEntityTypeEnum).optional().describe("Restrict to these entity types (default: all)"),
|
|
1663
|
+
limit: z.number().int().min(1).max(50).optional().describe("Maximum hits (default 20)"),
|
|
1664
|
+
includeLineage: z.boolean().optional().describe("Attach lineage to dataset hits (default true)")
|
|
1665
|
+
}
|
|
1666
|
+
},
|
|
1667
|
+
async ({ query, entityTypes, limit, includeLineage }) => {
|
|
1668
|
+
try {
|
|
1669
|
+
const data = await ctx.gql.workspace.request(SEMANTIC_SEARCH, { input: { query, entityTypes, limit, includeLineage } });
|
|
1670
|
+
return jsonResult(data.cosSemanticSearch);
|
|
1671
|
+
} catch (error) {
|
|
1672
|
+
ctx.logger.error("cosmicintersection search failed", { error: String(error) });
|
|
1673
|
+
return errorResult(
|
|
1674
|
+
`Failed to search the catalog: ${error instanceof Error ? error.message : String(error)}`
|
|
1675
|
+
);
|
|
1676
|
+
}
|
|
1677
|
+
}
|
|
1678
|
+
);
|
|
1679
|
+
}
|
|
1629
1680
|
|
|
1630
1681
|
// src/modules/cosmicintersection/resources.ts
|
|
1631
1682
|
function registerCosmicintersectionResources(server, ctx, track) {
|
|
@@ -1911,6 +1962,7 @@ var cosmicintersectionModule = {
|
|
|
1911
1962
|
registerReleaseTools(server, ctx, trackTool);
|
|
1912
1963
|
registerGrantTools(server, ctx, trackTool);
|
|
1913
1964
|
registerHealthTools(server, ctx, trackTool);
|
|
1965
|
+
registerSearchTools(server, ctx, trackTool);
|
|
1914
1966
|
registerCosmicintersectionResources(server, ctx, trackResource);
|
|
1915
1967
|
registerCosmicintersectionPrompts(server, ctx, trackPrompt);
|
|
1916
1968
|
return { tools, resources, prompts };
|