@lucern/sdk 0.3.0-alpha.14 → 0.3.0-alpha.16

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.
Files changed (117) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +8 -0
  3. package/dist/accessControl.js +19 -1
  4. package/dist/accessControl.js.map +1 -1
  5. package/dist/adminClient.js +19 -1
  6. package/dist/adminClient.js.map +1 -1
  7. package/dist/answersClient.js +19 -1
  8. package/dist/answersClient.js.map +1 -1
  9. package/dist/audiencesClient.js +19 -1
  10. package/dist/audiencesClient.js.map +1 -1
  11. package/dist/auditClient.js +19 -1
  12. package/dist/auditClient.js.map +1 -1
  13. package/dist/beliefs/index.js +29 -15
  14. package/dist/beliefs/index.js.map +1 -1
  15. package/dist/beliefsClient.js +19 -1
  16. package/dist/beliefsClient.js.map +1 -1
  17. package/dist/client.d.ts +15 -10
  18. package/dist/client.js +29 -15
  19. package/dist/client.js.map +1 -1
  20. package/dist/contextClient.js +19 -1
  21. package/dist/contextClient.js.map +1 -1
  22. package/dist/contradictions/index.js +29 -15
  23. package/dist/contradictions/index.js.map +1 -1
  24. package/dist/control-plane.js +19 -1
  25. package/dist/control-plane.js.map +1 -1
  26. package/dist/coreClient.d.ts +17 -1
  27. package/dist/coreClient.js +19 -1
  28. package/dist/coreClient.js.map +1 -1
  29. package/dist/decisions/index.js +29 -15
  30. package/dist/decisions/index.js.map +1 -1
  31. package/dist/decisionsClient.js +19 -1
  32. package/dist/decisionsClient.js.map +1 -1
  33. package/dist/edges/index.js +29 -15
  34. package/dist/edges/index.js.map +1 -1
  35. package/dist/embeddingsClient.js +19 -1
  36. package/dist/embeddingsClient.js.map +1 -1
  37. package/dist/eventingClient.js +19 -1
  38. package/dist/eventingClient.js.map +1 -1
  39. package/dist/eventsCore.js +19 -1
  40. package/dist/eventsCore.js.map +1 -1
  41. package/dist/evidence/index.js +29 -15
  42. package/dist/evidence/index.js.map +1 -1
  43. package/dist/evidenceClient.js +19 -1
  44. package/dist/evidenceClient.js.map +1 -1
  45. package/dist/functionSurface.js +19 -1
  46. package/dist/functionSurface.js.map +1 -1
  47. package/dist/functionSurfaceClient.js +19 -1
  48. package/dist/functionSurfaceClient.js.map +1 -1
  49. package/dist/gatewayFacades.d.ts +2 -0
  50. package/dist/gatewayFacades.js +21 -1
  51. package/dist/gatewayFacades.js.map +1 -1
  52. package/dist/graphAnalysisClient.js +19 -1
  53. package/dist/graphAnalysisClient.js.map +1 -1
  54. package/dist/graphClient.js +19 -1
  55. package/dist/graphClient.js.map +1 -1
  56. package/dist/graphRecommendationsClient.js +19 -1
  57. package/dist/graphRecommendationsClient.js.map +1 -1
  58. package/dist/graphStateClassifierClient.js +19 -1
  59. package/dist/graphStateClassifierClient.js.map +1 -1
  60. package/dist/harnessClient.js +19 -1
  61. package/dist/harnessClient.js.map +1 -1
  62. package/dist/identityClient.js +19 -1
  63. package/dist/identityClient.js.map +1 -1
  64. package/dist/index.d.ts +2 -2
  65. package/dist/index.js +32 -17
  66. package/dist/index.js.map +1 -1
  67. package/dist/jobsClient.js +19 -1
  68. package/dist/jobsClient.js.map +1 -1
  69. package/dist/learningClient.js +19 -1
  70. package/dist/learningClient.js.map +1 -1
  71. package/dist/lenses/index.js +29 -15
  72. package/dist/lenses/index.js.map +1 -1
  73. package/dist/mcpClient.js +19 -1
  74. package/dist/mcpClient.js.map +1 -1
  75. package/dist/modelRuntimeClient.js +19 -1
  76. package/dist/modelRuntimeClient.js.map +1 -1
  77. package/dist/nodes/index.js +29 -15
  78. package/dist/nodes/index.js.map +1 -1
  79. package/dist/ontologies/index.js +29 -15
  80. package/dist/ontologies/index.js.map +1 -1
  81. package/dist/ontologyClient.js +19 -1
  82. package/dist/ontologyClient.js.map +1 -1
  83. package/dist/ontologyLinksClient.js +19 -1
  84. package/dist/ontologyLinksClient.js.map +1 -1
  85. package/dist/orgGraphSearchClient.js +19 -1
  86. package/dist/orgGraphSearchClient.js.map +1 -1
  87. package/dist/packsClient.js +19 -1
  88. package/dist/packsClient.js.map +1 -1
  89. package/dist/policyClient.js +19 -1
  90. package/dist/policyClient.js.map +1 -1
  91. package/dist/questions/index.js +29 -15
  92. package/dist/questions/index.js.map +1 -1
  93. package/dist/reportsClient.js +19 -1
  94. package/dist/reportsClient.js.map +1 -1
  95. package/dist/schemaClient.js +19 -1
  96. package/dist/schemaClient.js.map +1 -1
  97. package/dist/secrets.d.ts +1 -1
  98. package/dist/secrets.js +1 -1
  99. package/dist/sourcesClient.js +19 -1
  100. package/dist/sourcesClient.js.map +1 -1
  101. package/dist/telemetryClient.js +19 -1
  102. package/dist/telemetryClient.js.map +1 -1
  103. package/dist/toolRegistryClient.js +19 -1
  104. package/dist/toolRegistryClient.js.map +1 -1
  105. package/dist/topics/index.js +29 -15
  106. package/dist/topics/index.js.map +1 -1
  107. package/dist/topicsClient.js +19 -1
  108. package/dist/topicsClient.js.map +1 -1
  109. package/dist/version.d.ts +1 -1
  110. package/dist/version.js +1 -1
  111. package/dist/version.js.map +1 -1
  112. package/dist/workflowClient.d.ts +2 -0
  113. package/dist/workflowClient.js +19 -1
  114. package/dist/workflowClient.js.map +1 -1
  115. package/dist/worktrees/index.js +29 -15
  116. package/dist/worktrees/index.js.map +1 -1
  117. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -5,6 +5,11 @@ All notable changes to `@lucern/sdk` will be documented in this file.
5
5
  ## [Unreleased]
6
6
  - No unreleased changes yet.
7
7
 
8
+ ## [0.3.0-alpha.16] - 2026-05-14
9
+ - Adds the exact-row reasoning-kernel migration surface required for tenant identity/scope repairs.
10
+ - Keeps the coherent Lucern package line aligned for StackOS and reasoning-environment adoption.
11
+
12
+
8
13
  ## [0.3.0-alpha.7] - 2026-05-03
9
14
  - Rebuild the coherent Lucern package line after Campaign 1 SDK hardening fixes.
10
15
 
package/README.md CHANGED
@@ -42,6 +42,9 @@ code should stay on `@lucern/sdk`, `@lucern/react`, `@lucern/mcp`,
42
42
  - Build applications, automations, and backend integrations against the SDK first.
43
43
  - Treat `/api/platform/v1/*` as the transport mirror of the SDK surface.
44
44
  - Treat MCP as an agent-facing client of the same surface, not as a privileged bypass around SDK or HTTP semantics.
45
+ - Treat REST, SDK, CLI, and MCP as projections of the same manifest. New
46
+ control-plane operations must be added to the manifest first, then exposed
47
+ through the generated surfaces.
45
48
 
46
49
  IA-7 closes the remaining SDK surface gaps needed for SDK-first clients:
47
50
 
@@ -118,6 +121,11 @@ they must not call `components.controlPlane.migration` from application code.
118
121
  Provisioning and backfills can use migration APIs; runtime bootstrapping uses
119
122
  `controlPlane.identity.resolveInteractivePrincipal(...)`.
120
123
 
124
+ StackOS, Lucern Graph, and Stack Engineering should use this bootstrap path
125
+ before calling morning brief, graph session, MCP, or CLI-backed runtime flows.
126
+ `/api/platform/v1/users/:clerkId` may be a profile facade, but it is not an
127
+ authorization source.
128
+
121
129
  ## The Full Developer Journey
122
130
 
123
131
  This walkthrough mirrors what a developer building an AI-powered code review system would experience in a real coding session. Every API call is something you would actually use.
@@ -342,13 +342,31 @@ function mergeHeaderRecord(base, addition) {
342
342
  }
343
343
  return Object.fromEntries(headers.entries());
344
344
  }
345
+ function cleanHeaderValue(value) {
346
+ const normalized = value?.trim();
347
+ return normalized ? normalized : void 0;
348
+ }
345
349
  function createGatewayRequestClient(config = {}) {
346
350
  const fetchImpl = config.fetchImpl ?? fetch;
347
351
  const baseUrl = config.baseUrl?.replace(/\/+$/, "") ?? "";
348
352
  const maxRetries = config.maxRetries ?? 2;
349
353
  const requestIdFactory = config.requestIdFactory ?? (() => generatePortableRequestId());
350
354
  async function resolveAuthHeaders() {
351
- const base = config.getAuthHeaders ? await config.getAuthHeaders() : {};
355
+ const provided = config.getAuthHeaders ? await config.getAuthHeaders() : {};
356
+ const headers = new Headers(provided);
357
+ const setIfAbsent = (name, value) => {
358
+ const normalized = cleanHeaderValue(value);
359
+ if (normalized && !headers.has(name)) {
360
+ headers.set(name, normalized);
361
+ }
362
+ };
363
+ setIfAbsent("x-lucern-key", config.apiKey);
364
+ setIfAbsent("x-lucern-session-token", config.userToken);
365
+ setIfAbsent("x-lucern-environment", config.environment);
366
+ setIfAbsent("x-lucern-clerk-id", config.clerkId);
367
+ setIfAbsent("x-lucern-user-id", config.userId ?? config.clerkId);
368
+ setIfAbsent("x-lucern-deployment-host", config.deploymentHost);
369
+ const base = Object.fromEntries(headers.entries());
352
370
  const authContextInput = await resolveConfiguredAuthContext(
353
371
  config.authContext
354
372
  );