@lucern/sdk 0.3.0-alpha.1 → 0.3.0-alpha.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 +3 -0
- package/README.md +51 -4
- package/dist/accessControl.d.ts +78 -0
- package/dist/accessControl.js +1118 -0
- package/dist/accessControl.js.map +1 -0
- package/dist/adminClient.d.ts +10 -8
- package/dist/adminClient.js +242 -39
- package/dist/adminClient.js.map +1 -1
- package/dist/answersClient.d.ts +2 -0
- package/dist/answersClient.js +221 -11
- package/dist/answersClient.js.map +1 -1
- package/dist/audience/index.d.ts +2 -1
- package/dist/audience/index.js +1 -3
- package/dist/audience/index.js.map +1 -1
- package/dist/audiencesClient.d.ts +18 -16
- package/dist/audiencesClient.js +297 -90
- package/dist/audiencesClient.js.map +1 -1
- package/dist/auditClient.d.ts +2 -0
- package/dist/auditClient.js +227 -15
- package/dist/auditClient.js.map +1 -1
- package/dist/authContext.d.ts +56 -0
- package/dist/authContext.js +170 -0
- package/dist/authContext.js.map +1 -0
- package/dist/authDeviceClient.d.ts +49 -0
- package/dist/authDeviceClient.js +121 -0
- package/dist/authDeviceClient.js.map +1 -0
- package/dist/beliefs/index.d.ts +26 -5
- package/dist/beliefs/index.js +3625 -1140
- package/dist/beliefs/index.js.map +1 -1
- package/dist/beliefsClient.d.ts +4 -2
- package/dist/beliefsClient.js +230 -26
- package/dist/beliefsClient.js.map +1 -1
- package/dist/boundaryClientSurface.d.ts +20 -0
- package/dist/boundaryClientSurface.js +73 -0
- package/dist/boundaryClientSurface.js.map +1 -0
- package/dist/client.d.ts +2988 -27
- package/dist/client.js +3625 -1140
- package/dist/client.js.map +1 -1
- package/dist/clientHelpers.d.ts +48 -0
- package/dist/clientHelpers.js +137 -0
- package/dist/clientHelpers.js.map +1 -0
- package/dist/contextClient.d.ts +6 -3
- package/dist/contextClient.js +252 -30
- package/dist/contextClient.js.map +1 -1
- package/dist/contextFacade.js +25 -16
- package/dist/contextFacade.js.map +1 -1
- package/dist/contextPackCompiler.js +19 -30
- package/dist/contextPackCompiler.js.map +1 -1
- package/dist/contextPackPolicy.js +7 -17
- package/dist/contextPackPolicy.js.map +1 -1
- package/dist/contextTypes.d.ts +2 -0
- package/dist/contracts/api-enums.contract.d.ts +2 -2
- package/dist/contracts/api-enums.contract.js +6 -1
- package/dist/contracts/api-enums.contract.js.map +1 -1
- package/dist/contracts/index.d.ts +1 -0
- package/dist/contracts/index.js +120 -5
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/lens-filter.contract.js +4 -3
- package/dist/contracts/lens-filter.contract.js.map +1 -1
- package/dist/contracts/lens-workflow.contract.js +4 -3
- package/dist/contracts/lens-workflow.contract.js.map +1 -1
- package/dist/contracts/lensFilter.js +4 -3
- package/dist/contracts/lensFilter.js.map +1 -1
- package/dist/contracts/lensWorkflow.js +4 -3
- package/dist/contracts/lensWorkflow.js.map +1 -1
- package/dist/contracts/mcpTools.d.ts +46 -1
- package/dist/contracts/mcpTools.js +108 -0
- package/dist/contracts/mcpTools.js.map +1 -1
- package/dist/contradictions/index.d.ts +25 -4
- package/dist/contradictions/index.js +3625 -1140
- package/dist/contradictions/index.js.map +1 -1
- package/dist/coreClient.d.ts +11 -1
- package/dist/coreClient.js +222 -14
- package/dist/coreClient.js.map +1 -1
- package/dist/decisions/index.d.ts +35 -14
- package/dist/decisions/index.js +3625 -1140
- package/dist/decisions/index.js.map +1 -1
- package/dist/decisionsClient.d.ts +6 -12
- package/dist/decisionsClient.js +235 -37
- package/dist/decisionsClient.js.map +1 -1
- package/dist/edges/index.d.ts +48 -87
- package/dist/edges/index.js +3625 -1140
- package/dist/edges/index.js.map +1 -1
- package/dist/embeddingsClient.d.ts +106 -0
- package/dist/embeddingsClient.js +731 -0
- package/dist/embeddingsClient.js.map +1 -0
- package/dist/eventingClient.d.ts +96 -0
- package/dist/eventingClient.js +728 -0
- package/dist/eventingClient.js.map +1 -0
- package/dist/events.js +6 -3
- package/dist/events.js.map +1 -1
- package/dist/eventsCore.d.ts +3 -1
- package/dist/eventsCore.js +222 -14
- package/dist/eventsCore.js.map +1 -1
- package/dist/evidence/index.d.ts +25 -4
- package/dist/evidence/index.js +3625 -1140
- package/dist/evidence/index.js.map +1 -1
- package/dist/evidenceClient.d.ts +2 -0
- package/dist/evidenceClient.js +222 -14
- package/dist/evidenceClient.js.map +1 -1
- package/dist/facade/context.d.ts +2 -1
- package/dist/facade/context.js +25 -16
- package/dist/facade/context.js.map +1 -1
- package/dist/functionSurface.d.ts +143 -0
- package/dist/functionSurface.js +1204 -0
- package/dist/functionSurface.js.map +1 -0
- package/dist/functionSurfaceClient.d.ts +8 -0
- package/dist/functionSurfaceClient.js +1204 -0
- package/dist/functionSurfaceClient.js.map +1 -0
- package/dist/gatewayFacades.d.ts +64 -46
- package/dist/gatewayFacades.js +461 -128
- package/dist/gatewayFacades.js.map +1 -1
- package/dist/graphAnalysisClient.d.ts +192 -0
- package/dist/graphAnalysisClient.js +799 -0
- package/dist/graphAnalysisClient.js.map +1 -0
- package/dist/graphClient.d.ts +8 -13
- package/dist/graphClient.js +244 -45
- package/dist/graphClient.js.map +1 -1
- package/dist/graphIntel.d.ts +4 -0
- package/dist/graphIntel.js +3 -0
- package/dist/graphIntel.js.map +1 -0
- package/dist/graphIntelligence.d.ts +2 -0
- package/dist/graphIntelligence.js +47 -0
- package/dist/graphIntelligence.js.map +1 -0
- package/dist/graphRecommendationsClient.d.ts +56 -0
- package/dist/graphRecommendationsClient.js +664 -0
- package/dist/graphRecommendationsClient.js.map +1 -0
- package/dist/graphStateClassifierClient.d.ts +73 -0
- package/dist/graphStateClassifierClient.js +716 -0
- package/dist/graphStateClassifierClient.js.map +1 -0
- package/dist/harnessClient.d.ts +15 -24
- package/dist/harnessClient.js +235 -42
- package/dist/harnessClient.js.map +1 -1
- package/dist/identityClient.d.ts +97 -11
- package/dist/identityClient.js +409 -33
- package/dist/identityClient.js.map +1 -1
- package/dist/index.d.ts +30 -5
- package/dist/index.js +4272 -1225
- package/dist/index.js.map +1 -1
- package/dist/infisicalRuntime.d.ts +43 -0
- package/dist/infisicalRuntime.js +346 -0
- package/dist/infisicalRuntime.js.map +1 -0
- package/dist/jobsClient.d.ts +98 -0
- package/dist/jobsClient.js +726 -0
- package/dist/jobsClient.js.map +1 -0
- package/dist/learningClient.d.ts +8 -6
- package/dist/learningClient.js +252 -44
- package/dist/learningClient.js.map +1 -1
- package/dist/lenses/index.d.ts +77 -38
- package/dist/lenses/index.js +3625 -1140
- package/dist/lenses/index.js.map +1 -1
- package/dist/mcpClient.d.ts +28 -0
- package/dist/mcpClient.js +669 -0
- package/dist/mcpClient.js.map +1 -0
- package/dist/modelRuntimeClient.d.ts +72 -0
- package/dist/modelRuntimeClient.js +704 -0
- package/dist/modelRuntimeClient.js.map +1 -0
- package/dist/nodes/index.d.ts +64 -21
- package/dist/nodes/index.js +3625 -1140
- package/dist/nodes/index.js.map +1 -1
- package/dist/ontologies/index.d.ts +54 -32
- package/dist/ontologies/index.js +3625 -1140
- package/dist/ontologies/index.js.map +1 -1
- package/dist/ontologyClient.d.ts +19 -25
- package/dist/ontologyClient.js +258 -40
- package/dist/ontologyClient.js.map +1 -1
- package/dist/ontologyLinksClient.d.ts +71 -0
- package/dist/ontologyLinksClient.js +697 -0
- package/dist/ontologyLinksClient.js.map +1 -0
- package/dist/orgGraphSearchClient.d.ts +85 -0
- package/dist/orgGraphSearchClient.js +672 -0
- package/dist/orgGraphSearchClient.js.map +1 -0
- package/dist/packsClient.d.ts +11 -23
- package/dist/packsClient.js +234 -46
- package/dist/packsClient.js.map +1 -1
- package/dist/policyClient.d.ts +13 -10
- package/dist/policyClient.js +243 -25
- package/dist/policyClient.js.map +1 -1
- package/dist/questions/index.d.ts +25 -4
- package/dist/questions/index.js +3625 -1140
- package/dist/questions/index.js.map +1 -1
- package/dist/realtime/index.d.ts +1 -1
- package/dist/reportsClient.d.ts +9 -7
- package/dist/reportsClient.js +281 -53
- package/dist/reportsClient.js.map +1 -1
- package/dist/schemaClient.d.ts +5 -3
- package/dist/schemaClient.js +235 -29
- package/dist/schemaClient.js.map +1 -1
- package/dist/sdkSurface.d.ts +8 -3
- package/dist/sdkSurface.js +10 -6
- package/dist/sdkSurface.js.map +1 -1
- package/dist/secrets.d.ts +1 -0
- package/dist/secrets.js +3 -0
- package/dist/secrets.js.map +1 -0
- package/dist/sourcesClient.d.ts +2 -0
- package/dist/sourcesClient.js +222 -14
- package/dist/sourcesClient.js.map +1 -1
- package/dist/telemetryClient.d.ts +94 -0
- package/dist/telemetryClient.js +741 -0
- package/dist/telemetryClient.js.map +1 -0
- package/dist/toolRegistryClient.d.ts +115 -0
- package/dist/toolRegistryClient.js +767 -0
- package/dist/toolRegistryClient.js.map +1 -0
- package/dist/topics/index.d.ts +36 -9
- package/dist/topics/index.js +3627 -1140
- package/dist/topics/index.js.map +1 -1
- package/dist/topicsClient.d.ts +4 -0
- package/dist/topicsClient.js +237 -24
- package/dist/topicsClient.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/dist/workflowClient.d.ts +58 -40
- package/dist/workflowClient.js +243 -58
- package/dist/workflowClient.js.map +1 -1
- package/dist/worktrees/index.d.ts +70 -33
- package/dist/worktrees/index.js +3625 -1140
- package/dist/worktrees/index.js.map +1 -1
- package/package.json +13 -3
- package/dist/client-B6aWUUwp.d.ts +0 -2552
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,9 @@ 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.7] - 2026-05-03
|
|
9
|
+
- Rebuild the coherent Lucern package line after Campaign 1 SDK hardening fixes.
|
|
10
|
+
|
|
8
11
|
## [0.2.0-alpha.5] - 2026-04-18
|
|
9
12
|
- Refresh publish from current stackos source under EK-16 T4.
|
|
10
13
|
- Version-numbering note: 0.2.0-alpha.2 through 0.2.0-alpha.5 were published from earlier stackos source on 2026-04-12 by pete_c. This release (alpha.5) is the first to ship the current April 18 source — 56 commits of accumulated changes from the code-separation track.
|
package/README.md
CHANGED
|
@@ -10,6 +10,31 @@ Lucern gives your agents a reasoning graph that accumulates understanding across
|
|
|
10
10
|
npm install @lucern/sdk
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
## Install Model
|
|
14
|
+
|
|
15
|
+
`@lucern/sdk` is the primary TypeScript app dependency. Installing it also
|
|
16
|
+
installs its internal runtime dependencies, including Lucern contracts and
|
|
17
|
+
reasoning-kernel helpers, but a tenant should still list any `@lucern/*`
|
|
18
|
+
package that its own code or scripts import or execute.
|
|
19
|
+
|
|
20
|
+
Common direct installs:
|
|
21
|
+
|
|
22
|
+
| Need | Install |
|
|
23
|
+
| --- | --- |
|
|
24
|
+
| Programmatic Lucern API calls | `@lucern/sdk` |
|
|
25
|
+
| Tool access checks | `@lucern/access-control` |
|
|
26
|
+
| React hooks/components | `@lucern/react @lucern/sdk` |
|
|
27
|
+
| Convex component binding | `@lucern/control-plane @lucern/reasoning-kernel` |
|
|
28
|
+
| Bootstrap, auth, doctor, and operator commands | `@lucern/cli` |
|
|
29
|
+
| Agent-facing MCP server/runtime | `@lucern/mcp` |
|
|
30
|
+
| Full design-partner/package-suite pin | all packages from `TENANT_CLIENT_INSTALLABLE_PACKAGES` in `@lucern/contracts` |
|
|
31
|
+
|
|
32
|
+
The difference matters: `@lucern/cli` is a direct install because it provides
|
|
33
|
+
the `lucern` binary, but tenant app source should not import it. The Convex
|
|
34
|
+
component packages are direct installs for `convex.config.ts`, while application
|
|
35
|
+
code should stay on `@lucern/sdk`, `@lucern/react`, `@lucern/mcp`,
|
|
36
|
+
`@lucern/access-control`, `@lucern/contracts`, and `@lucern/types`.
|
|
37
|
+
|
|
13
38
|
## Canonical Interface
|
|
14
39
|
|
|
15
40
|
`@lucern/sdk` is the canonical public interface for Lucern.
|
|
@@ -301,7 +326,7 @@ await lucern.graph.createEdge({
|
|
|
301
326
|
Before your agent starts its next session, it reads the graph:
|
|
302
327
|
|
|
303
328
|
```typescript
|
|
304
|
-
const context = await lucern.context.compile(
|
|
329
|
+
const context = await lucern.context.compile({
|
|
305
330
|
query: "code review strategy and static analysis coverage",
|
|
306
331
|
ranking: "weighted_v1",
|
|
307
332
|
tokenBudget: 2000,
|
|
@@ -363,6 +388,28 @@ lucern.identity // API keys and sessions
|
|
|
363
388
|
|
|
364
389
|
The graph doesn't just store knowledge — it analyzes itself.
|
|
365
390
|
|
|
391
|
+
### Query Suite
|
|
392
|
+
|
|
393
|
+
```typescript
|
|
394
|
+
// Discover the prompt-backed Graph Intelligence recipes tenants can expose in
|
|
395
|
+
// their own UI or model workflows.
|
|
396
|
+
const catalog = await lucern.graphAnalysis.listGraphIntelligenceQueries();
|
|
397
|
+
|
|
398
|
+
// Run a named recipe. Lucern returns the resolved prompt, deterministic graph
|
|
399
|
+
// analysis bundle, sampled graph context, and public tool plan for LLM synthesis.
|
|
400
|
+
const preMortem = await lucern.graphAnalysis.runGraphIntelligenceQuery({
|
|
401
|
+
topicId,
|
|
402
|
+
queryId: "pre-mortem",
|
|
403
|
+
limit: 25,
|
|
404
|
+
});
|
|
405
|
+
|
|
406
|
+
await modelMachine.run({
|
|
407
|
+
prompt: preMortem.data.prompt,
|
|
408
|
+
context: preMortem.data.analysis,
|
|
409
|
+
tools: preMortem.data.toolPlan,
|
|
410
|
+
});
|
|
411
|
+
```
|
|
412
|
+
|
|
366
413
|
### Structural Analysis
|
|
367
414
|
|
|
368
415
|
```typescript
|
|
@@ -445,7 +492,7 @@ traversal.data.nodes.forEach(node => {
|
|
|
445
492
|
### Inject Reasoning Context Into Any LLM Call
|
|
446
493
|
|
|
447
494
|
```typescript
|
|
448
|
-
const context = await lucern.context.compile(
|
|
495
|
+
const context = await lucern.context.compile({
|
|
449
496
|
query: "security review priorities",
|
|
450
497
|
ranking: "weighted_v1",
|
|
451
498
|
tokenBudget: 3000,
|
|
@@ -556,7 +603,7 @@ architectural decisions, check the reasoning graph:
|
|
|
556
603
|
|
|
557
604
|
- Read current beliefs: `lucern.beliefs.list({ topicId: "..." })`
|
|
558
605
|
- Check for contradictions: `lucern.contradictions.list({ topicId: "..." })`
|
|
559
|
-
- Compile context before analysis: `lucern.context.compile(
|
|
606
|
+
- Compile context before analysis: `lucern.context.compile({ query: "..." })`
|
|
560
607
|
|
|
561
608
|
After making decisions, write them back:
|
|
562
609
|
- Create beliefs for architectural decisions
|
|
@@ -587,7 +634,7 @@ contradictions, or knowledge state.
|
|
|
587
634
|
Compile the current context to understand what the graph knows:
|
|
588
635
|
|
|
589
636
|
\`\`\`typescript
|
|
590
|
-
const context = await lucern.context.compile(
|
|
637
|
+
const context = await lucern.context.compile({
|
|
591
638
|
query: "<what you're working on>",
|
|
592
639
|
tokenBudget: 2000,
|
|
593
640
|
});
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { LucernSdkAuthContextError, LucernSdkAuthFailureReason, LucernSdkAuthContextInput } from './authContext.js';
|
|
2
|
+
import { GatewayClientConfig } from './coreClient.js';
|
|
3
|
+
import { PolicyEvaluationInput, PolicyDecisionRecord } from './identityClient.js';
|
|
4
|
+
import { SessionPrincipalType } from './contracts/auth-session.contract.js';
|
|
5
|
+
import { JsonObject } from './types.js';
|
|
6
|
+
import './contracts/workflow-runtime.contract.js';
|
|
7
|
+
import './contracts/lens-workflow.contract.js';
|
|
8
|
+
import './contracts/lens-filter.contract.js';
|
|
9
|
+
|
|
10
|
+
type ClerkIdentityAliasInput = {
|
|
11
|
+
provider?: "clerk" | string;
|
|
12
|
+
providerProjectId?: string | null;
|
|
13
|
+
externalSubjectId: string;
|
|
14
|
+
status?: "active" | "pending" | "revoked" | string;
|
|
15
|
+
};
|
|
16
|
+
type CanonicalPrincipalIdentityInput = {
|
|
17
|
+
principalId?: string | null;
|
|
18
|
+
principalType?: SessionPrincipalType | "user" | "external_viewer" | null;
|
|
19
|
+
canonicalClerkUserId?: string | null;
|
|
20
|
+
clerkId?: string | null;
|
|
21
|
+
clerkIdentityAliases?: readonly ClerkIdentityAliasInput[];
|
|
22
|
+
tenantId?: string | null;
|
|
23
|
+
workspaceId?: string | null;
|
|
24
|
+
roles?: readonly string[];
|
|
25
|
+
scopes?: readonly string[];
|
|
26
|
+
};
|
|
27
|
+
type CanonicalPrincipalIdentityAlias = {
|
|
28
|
+
provider: string;
|
|
29
|
+
providerProjectId?: string;
|
|
30
|
+
externalSubjectId: string;
|
|
31
|
+
status?: string;
|
|
32
|
+
};
|
|
33
|
+
type CanonicalPrincipalIdentity = {
|
|
34
|
+
principalId: string;
|
|
35
|
+
principalType: SessionPrincipalType;
|
|
36
|
+
canonicalClerkUserId?: string;
|
|
37
|
+
clerkIdentityAliases: CanonicalPrincipalIdentityAlias[];
|
|
38
|
+
tenantId?: string;
|
|
39
|
+
workspaceId?: string;
|
|
40
|
+
roles: string[];
|
|
41
|
+
scopes: string[];
|
|
42
|
+
};
|
|
43
|
+
type AccessResourceType = "tenant" | "workspace" | "deployment" | "convex_table" | "secret_scope" | "agent_session" | (string & {});
|
|
44
|
+
type AccessResourceDescriptor = {
|
|
45
|
+
type: AccessResourceType;
|
|
46
|
+
key: string;
|
|
47
|
+
};
|
|
48
|
+
type RequireAccessInput = {
|
|
49
|
+
identity?: CanonicalPrincipalIdentityInput | LucernSdkAuthContextInput;
|
|
50
|
+
observedClerkId?: string;
|
|
51
|
+
tenantId?: string;
|
|
52
|
+
workspaceId?: string;
|
|
53
|
+
action: string;
|
|
54
|
+
resource: AccessResourceDescriptor | string;
|
|
55
|
+
context?: JsonObject;
|
|
56
|
+
};
|
|
57
|
+
type AccessCheckResult = {
|
|
58
|
+
identity: CanonicalPrincipalIdentity;
|
|
59
|
+
policyInput: PolicyEvaluationInput;
|
|
60
|
+
decision: PolicyDecisionRecord;
|
|
61
|
+
};
|
|
62
|
+
declare class LucernAccessControlError extends LucernSdkAuthContextError {
|
|
63
|
+
readonly policyDecision?: PolicyDecisionRecord;
|
|
64
|
+
constructor(reason: LucernSdkAuthFailureReason, message: string, policyDecision?: PolicyDecisionRecord);
|
|
65
|
+
}
|
|
66
|
+
declare function normalizeCanonicalPrincipalIdentity(input: CanonicalPrincipalIdentityInput | LucernSdkAuthContextInput, options?: {
|
|
67
|
+
observedClerkId?: string;
|
|
68
|
+
}): CanonicalPrincipalIdentity;
|
|
69
|
+
declare function formatPermitResource(resource: AccessResourceDescriptor | string): string;
|
|
70
|
+
declare function assertPermitAllowed(decision: PolicyDecisionRecord): void;
|
|
71
|
+
declare function createAccessControlClient(config?: GatewayClientConfig): {
|
|
72
|
+
normalizePrincipal: typeof normalizeCanonicalPrincipalIdentity;
|
|
73
|
+
checkAccess: (input: RequireAccessInput, idempotencyKey?: string) => Promise<AccessCheckResult>;
|
|
74
|
+
requireAccess: (input: RequireAccessInput, idempotencyKey?: string) => Promise<AccessCheckResult>;
|
|
75
|
+
canAccess: (input: RequireAccessInput, idempotencyKey?: string) => Promise<boolean>;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export { type AccessCheckResult, type AccessResourceDescriptor, type AccessResourceType, type CanonicalPrincipalIdentity, type CanonicalPrincipalIdentityAlias, type CanonicalPrincipalIdentityInput, type ClerkIdentityAliasInput, LucernAccessControlError, type RequireAccessInput, assertPermitAllowed, createAccessControlClient, formatPermitResource, normalizeCanonicalPrincipalIdentity };
|