@lucern/sdk 1.0.9 → 1.0.11

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/CHANGELOG.md CHANGED
@@ -5,6 +5,12 @@ All notable changes to `@lucern/sdk` will be documented in this file.
5
5
  ## [Unreleased]
6
6
  - No unreleased changes yet.
7
7
 
8
+ ## [1.0.11] - 2026-05-29
9
+ - Release notes pending.
10
+
11
+ ## [1.0.10] - 2026-05-29
12
+ - Release notes pending.
13
+
8
14
  ## [1.0.9] - 2026-05-29
9
15
  - Release notes pending.
10
16
 
package/README.md CHANGED
@@ -46,6 +46,41 @@ code should stay on `@lucern/sdk`, `@lucern/react`, `@lucern/mcp`,
46
46
  control-plane operations must be added to the manifest first, then exposed
47
47
  through the generated surfaces.
48
48
 
49
+ ### Headless hybrid discovery
50
+
51
+ The SDK exposes the same advanced discovery tools as CLI, MCP, and REST. Use
52
+ the first-class namespaces from product code; use `raw.functionSurface` when
53
+ you are building a generic manifest-driven runner.
54
+
55
+ ```typescript
56
+ const discovered = await lucern.hybrid.discover({
57
+ query: "what have we built around graph-native discovery?",
58
+ include: ["topics", "nodes", "worktrees", "evidence"],
59
+ via: ["bm25", "embeddings", "topic-tree", "edges"],
60
+ depth: 2,
61
+ limit: 10,
62
+ });
63
+
64
+ const topic = await lucern.hybrid.resolveTopicSemantic({
65
+ query: "headless substrate surfaces",
66
+ via: ["bm25", "embeddings", "topic-tree"],
67
+ limit: 8,
68
+ });
69
+
70
+ const vectorMatches = await lucern.embeddings.vectorSearchByTopic({
71
+ workspaceId: "wks_...",
72
+ topicId: "top_...",
73
+ queryText: "semantic search for stale reasoning claims",
74
+ limit: 10,
75
+ });
76
+ ```
77
+
78
+ Surface parity is intentional: `lucern.hybrid.discover()` maps to the
79
+ `hybrid_discover` manifest operation, `lucern discover`, the `hybrid_discover`
80
+ MCP tool, and `POST /hybrid/discover`. The same pattern holds for
81
+ `resolve_topic_semantic`, `expand_graph_neighborhood`, `find_related_nodes`,
82
+ `analyze_graph_impact`, `detect_graph_drift`, and the embedding operations.
83
+
49
84
  IA-7 closes the remaining SDK surface gaps needed for SDK-first clients:
50
85
 
51
86
  - Kernel mutations that previously only existed behind route or MCP adapters now have SDK wrappers across beliefs, evidence, questions, edges, topics, worktrees, and nodes.
@@ -4276,6 +4276,15 @@ function createClientPlatformNamespaces(ctx) {
4276
4276
  bootstrap: {
4277
4277
  generateSessionHandoff: functionSurfaceClient.generateSessionHandoff
4278
4278
  },
4279
+ hybrid: {
4280
+ discover: functionSurfaceClient.hybridDiscover,
4281
+ hybridDiscover: functionSurfaceClient.hybridDiscover,
4282
+ resolveTopicSemantic: functionSurfaceClient.resolveTopicSemantic,
4283
+ expandGraphNeighborhood: functionSurfaceClient.expandGraphNeighborhood,
4284
+ findRelatedNodes: functionSurfaceClient.findRelatedNodes,
4285
+ analyzeGraphImpact: functionSurfaceClient.analyzeGraphImpact,
4286
+ detectGraphDrift: functionSurfaceClient.detectGraphDrift
4287
+ },
4279
4288
  embeddings: embeddingsClient,
4280
4289
  graphAnalysis: graphAnalysisClient,
4281
4290
  graphRecommendations: graphRecommendationsClient,
@@ -9567,7 +9576,7 @@ function createToolRegistryClient(config = {}) {
9567
9576
  }
9568
9577
 
9569
9578
  // src/version.ts
9570
- var LUCERN_SDK_VERSION = "1.0.9";
9579
+ var LUCERN_SDK_VERSION = "1.0.11";
9571
9580
 
9572
9581
  // src/workflowClient.ts
9573
9582
  function normalizeLensQuery(value) {