@lucern/contracts 0.3.0-alpha.2 → 0.3.0-alpha.4
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/component-boundary.contract.d.ts +14 -0
- package/dist/component-boundary.contract.js +155 -0
- package/dist/component-boundary.contract.js.map +1 -0
- package/dist/component-host-boundary.contract.d.ts +41 -0
- package/dist/component-host-boundary.contract.js +54 -0
- package/dist/component-host-boundary.contract.js.map +1 -0
- package/dist/function-registry/beliefs.d.ts +41 -41
- package/dist/function-registry/beliefs.js +202 -8
- package/dist/function-registry/beliefs.js.map +1 -1
- package/dist/function-registry/coding.js +187 -8
- package/dist/function-registry/coding.js.map +1 -1
- package/dist/function-registry/context.d.ts +13 -13
- package/dist/function-registry/context.js +187 -9
- package/dist/function-registry/context.js.map +1 -1
- package/dist/function-registry/contracts.js +158 -5
- package/dist/function-registry/contracts.js.map +1 -1
- package/dist/function-registry/coordination.js +158 -5
- package/dist/function-registry/coordination.js.map +1 -1
- package/dist/function-registry/edges.js +169 -6
- package/dist/function-registry/edges.js.map +1 -1
- package/dist/function-registry/evidence.d.ts +33 -33
- package/dist/function-registry/evidence.js +202 -9
- package/dist/function-registry/evidence.js.map +1 -1
- package/dist/function-registry/graph.d.ts +53 -53
- package/dist/function-registry/graph.js +217 -12
- package/dist/function-registry/graph.js.map +1 -1
- package/dist/function-registry/helpers.d.ts +1 -1
- package/dist/function-registry/helpers.js +158 -5
- package/dist/function-registry/helpers.js.map +1 -1
- package/dist/function-registry/identity.js +158 -5
- package/dist/function-registry/identity.js.map +1 -1
- package/dist/function-registry/index.d.ts +1 -1
- package/dist/function-registry/index.js +158 -5
- package/dist/function-registry/index.js.map +1 -1
- package/dist/function-registry/judgments.d.ts +9 -9
- package/dist/function-registry/judgments.js +170 -8
- package/dist/function-registry/judgments.js.map +1 -1
- package/dist/function-registry/legacy.js +158 -5
- package/dist/function-registry/legacy.js.map +1 -1
- package/dist/function-registry/lenses.d.ts +17 -17
- package/dist/function-registry/lenses.js +181 -8
- package/dist/function-registry/lenses.js.map +1 -1
- package/dist/function-registry/manifest.d.ts +3 -3
- package/dist/function-registry/manifest.js +1 -1
- package/dist/function-registry/manifest.js.map +1 -1
- package/dist/function-registry/ontologies.d.ts +45 -45
- package/dist/function-registry/ontologies.js +176 -11
- package/dist/function-registry/ontologies.js.map +1 -1
- package/dist/function-registry/pipeline.d.ts +13 -13
- package/dist/function-registry/pipeline.js +167 -8
- package/dist/function-registry/pipeline.js.map +1 -1
- package/dist/function-registry/questions.d.ts +49 -49
- package/dist/function-registry/questions.js +255 -13
- package/dist/function-registry/questions.js.map +1 -1
- package/dist/function-registry/tasks.js +158 -5
- package/dist/function-registry/tasks.js.map +1 -1
- package/dist/function-registry/topics.d.ts +21 -21
- package/dist/function-registry/topics.js +172 -8
- package/dist/function-registry/topics.js.map +1 -1
- package/dist/function-registry/types.d.ts +1 -1
- package/dist/function-registry/worktrees.d.ts +80 -41
- package/dist/function-registry/worktrees.js +292 -17
- package/dist/function-registry/worktrees.js.map +1 -1
- package/dist/function-registry-input-audit.d.ts +13 -0
- package/dist/function-registry-input-audit.js +164 -0
- package/dist/function-registry-input-audit.js.map +1 -0
- package/dist/gateway.contract.d.ts +2 -0
- package/dist/gateway.contract.js.map +1 -1
- package/dist/generated/convexSchemas.js +2 -1
- package/dist/generated/convexSchemas.js.map +1 -1
- package/dist/generated/schema-manifest.json +42 -3
- package/dist/generated/tableOwnership.d.ts +2 -1
- package/dist/generated/tableOwnership.js +2 -0
- package/dist/generated/tableOwnership.js.map +1 -1
- package/dist/generated/tier-expectations.json +4 -2
- package/dist/index.d.ts +445 -35
- package/dist/index.js +1987 -17
- package/dist/index.js.map +1 -1
- package/dist/infisical-runtime.contract.d.ts +174 -0
- package/dist/infisical-runtime.contract.js +192 -0
- package/dist/infisical-runtime.contract.js.map +1 -0
- package/dist/mcp-gateway-boundary.contract.d.ts +181 -0
- package/dist/mcp-gateway-boundary.contract.js +43 -0
- package/dist/mcp-gateway-boundary.contract.js.map +1 -0
- package/dist/schemas/component-table-manifest.d.ts +2 -2
- package/dist/schemas/index.js +38 -1
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/manifest.d.ts +1050 -910
- package/dist/schemas/manifest.js +38 -1
- package/dist/schemas/manifest.js.map +1 -1
- package/dist/schemas/sl-opinion.d.ts +4 -4
- package/dist/schemas/tables/identity/platform.d.ts +10 -10
- package/dist/schemas/tables/kernel/epistemic.d.ts +6 -6
- package/dist/schemas/tables/kernel/infra.d.ts +4 -4
- package/dist/schemas/tables/kernel/intelligence.d.ts +10 -10
- package/dist/schemas/tables/kernel/lens.d.ts +4 -4
- package/dist/schemas/tables/kernel/platform.d.ts +12 -12
- package/dist/schemas/tables/kernel/spine.d.ts +2 -2
- package/dist/schemas/tables/kernel/task.d.ts +42 -42
- package/dist/schemas/tables/kernel/worktree.d.ts +62 -62
- package/dist/schemas/tables/mc/identity.d.ts +26 -3
- package/dist/schemas/tables/mc/identity.js +35 -1
- package/dist/schemas/tables/mc/identity.js.map +1 -1
- package/dist/schemas/tables/mc/pack.d.ts +20 -20
- package/dist/schemas/tables/mc/registry.d.ts +4 -4
- package/dist/schemas/tables/mc/workspace.d.ts +9 -3
- package/dist/schemas/tables/mc/workspace.js +3 -1
- package/dist/schemas/tables/mc/workspace.js.map +1 -1
- package/dist/sdk-methods.contract.d.ts +1 -1
- package/dist/{sdk-tools.contract-S4ia0TTo.d.ts → sdk-tools.contract-CD-N1Jf7.d.ts} +1 -1
- package/dist/sdk-tools.contract.d.ts +2 -2
- package/dist/sdk-tools.contract.js +157 -4
- package/dist/sdk-tools.contract.js.map +1 -1
- package/dist/tenant-bootstrap-seed.contract.d.ts +1097 -0
- package/dist/tenant-bootstrap-seed.contract.js +651 -0
- package/dist/tenant-bootstrap-seed.contract.js.map +1 -0
- package/dist/tenant-bootstrap-seed.defaults.d.ts +16 -0
- package/dist/tenant-bootstrap-seed.defaults.js +303 -0
- package/dist/tenant-bootstrap-seed.defaults.js.map +1 -0
- package/dist/tenant-client.contract.d.ts +266 -0
- package/dist/tenant-client.contract.js +404 -0
- package/dist/tenant-client.contract.js.map +1 -0
- package/dist/{tool-contracts-C92-9ueT.d.ts → tool-contracts-BcKz-VGj.d.ts} +4 -2
- package/dist/tool-contracts.d.ts +1 -1
- package/dist/tool-contracts.js +158 -5
- package/dist/tool-contracts.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mcp-gateway-boundary.contract.ts"],"names":[],"mappings":";AAcO,IAAM,qCAAA,GAAwC;AAE9C,IAAM,8BAAA,GACX;AAEK,IAAM,uCAAA,GACX;AAEK,IAAM,wCAAA,GACX;AAEK,IAAM,kDAAA,GACX;AAEK,IAAM,+CAAA,GACX;AAEK,IAAM,8BAAA,GAAiC;AAAA,EAC5C,gBAAA;AAAA,EACA,qBAAA;AAAA,EACA,oBAAA;AAAA,EACA;AACF;AAIO,IAAM,gCAAA,GAAmC;AAAA,EAC9C,eAAA;AAAA,EACA,eAAA;AAAA,EACA,mBAAA;AAAA,EACA,mBAAA;AAAA,EACA,mBAAA;AAAA,EACA;AACF;AAIO,IAAM,qCAAA,GAAwC;AAAA,EACnD,QAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF;AAoLO,IAAM,sCAAA,GAAyC;AAAA,EACpD,sBAAA;AAAA,EACA,kBAAA;AAAA,EACA,2BAAA;AAAA,EACA,sBAAA;AAAA,EACA,qBAAA;AAAA,EACA;AACF;AAIO,IAAM,gCAAA,GAAmC;AAAA,EAC9C,aAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF","file":"mcp-gateway-boundary.contract.js","sourcesContent":["/**\n * MCP gateway boundary contract\n *\n * Defines the target thin-client boundary for the Lucern MCP server. MCP is a\n * client of the Lucern gateway, not a privileged Convex or Master Control\n * process. The gateway owns tenant resolution, deploy-key access, policy, and\n * session persistence.\n */\n\nimport type {\n SessionAuthMode,\n SessionPrincipalType,\n} from \"./auth.contract\";\n\nexport const MCP_GATEWAY_BOUNDARY_CONTRACT_VERSION = \"2026-04-27\" as const;\n\nexport const MCP_GATEWAY_BOOTSTRAP_ENDPOINT =\n \"/api/platform/v1/mcp/session\" as const;\n\nexport const MCP_GATEWAY_WRITE_POLICY_CHECK_ENDPOINT =\n \"/api/platform/v1/mcp/write-policy/check\" as const;\n\nexport const MCP_GATEWAY_BEGIN_BUILD_SESSION_ENDPOINT =\n \"/api/platform/v1/mcp/build-session/begin\" as const;\n\nexport const MCP_GATEWAY_EVALUATE_ENGINEERING_CONTRACT_ENDPOINT =\n \"/api/platform/v1/mcp/contracts/evaluate-engineering\" as const;\n\nexport const MCP_GATEWAY_EVALUATE_RESEARCH_CONTRACT_ENDPOINT =\n \"/api/platform/v1/mcp/contracts/evaluate-research\" as const;\n\nexport const MCP_GATEWAY_ALLOWED_CLIENT_ENV = [\n \"LUCERN_API_KEY\",\n \"LUCERN_API_BASE_URL\",\n \"LUCERN_ENVIRONMENT\",\n \"LUCERN_USER_TOKEN\",\n] as const;\nexport type McpGatewayAllowedClientEnv =\n (typeof MCP_GATEWAY_ALLOWED_CLIENT_ENV)[number];\n\nexport const MCP_GATEWAY_FORBIDDEN_CLIENT_ENV = [\n \"MC_CONVEX_URL\",\n \"MC_DEPLOY_KEY\",\n \"LUCERN_CONVEX_URL\",\n \"LUCERN_DEPLOY_KEY\",\n \"TENANT_CONVEX_URL\",\n \"TENANT_DEPLOY_KEY\",\n] as const;\nexport type McpGatewayForbiddenClientEnv =\n (typeof MCP_GATEWAY_FORBIDDEN_CLIENT_ENV)[number];\n\nexport const MCP_GATEWAY_BOOTSTRAP_REQUIRED_FIELDS = [\n \"tenant\",\n \"session\",\n \"permissions\",\n] as const;\nexport type McpGatewayBootstrapRequiredField =\n (typeof MCP_GATEWAY_BOOTSTRAP_REQUIRED_FIELDS)[number];\n\nexport type McpGatewayTenantContext = {\n tenantId: string;\n slug: string;\n name: string;\n tier: string;\n methodologyPackIds: string[];\n apiKeyId?: string;\n};\n\nexport type McpGatewaySessionContext = {\n sessionType: \"agent\" | \"user\";\n userId: string;\n principalId: string;\n principalType: SessionPrincipalType;\n workspaceId?: string;\n authMode: SessionAuthMode;\n roles: string[];\n scopes: string[];\n sessionId?: string;\n userEmail?: string;\n expiresAt?: number;\n};\n\nexport type McpGatewayPermissionContext = {\n allowedTools: string[] | null;\n allowedTopics: string[] | null;\n groupIds: string[];\n permittedPackKeys: string[];\n permittedToolNames: string[];\n permittedTools: Array<{\n toolName: string;\n requiredRole?: string;\n approvalGateId?: string;\n isCore?: boolean;\n category?: string;\n }>;\n};\n\nexport type McpGatewayBootstrapRequest = {\n transportKind?: \"stdio\" | \"hosted\";\n sessionId?: string;\n agentIdentity?: string;\n workspaceId?: string;\n};\n\nexport type McpGatewayWritePolicyCheckRequest = {\n topicId?: string;\n role: string;\n toolName: string;\n};\n\nexport type McpGatewayBeginBuildSessionRequest = {\n worktreeId: string;\n branch?: string;\n branchBase?: string;\n prBase?: string;\n sessionMode?: string;\n activateIfPlanning?: boolean;\n};\n\nexport type McpGatewayJsonObject = {\n [key: string]: McpGatewayJsonValue | undefined;\n};\n\nexport type McpGatewayJsonArray = McpGatewayJsonValue[];\n\nexport type McpGatewayJsonValue =\n | null\n | boolean\n | number\n | string\n | McpGatewayJsonArray\n | McpGatewayJsonObject;\n\nexport type McpGatewayEvaluateEngineeringContractRequest = {\n beliefNodeId?: McpGatewayJsonValue;\n trigger?: McpGatewayJsonValue;\n testOutput?: McpGatewayJsonValue;\n tscOutput?: McpGatewayJsonValue;\n lintOutput?: McpGatewayJsonValue;\n sentryData?: McpGatewayJsonValue;\n};\n\nexport type McpGatewayEvaluateResearchContractRequest = {\n beliefNodeId?: McpGatewayJsonValue;\n trigger?: McpGatewayJsonValue;\n metricData?: McpGatewayJsonValue;\n referenceCheckData?: McpGatewayJsonValue;\n marketIndexData?: McpGatewayJsonValue;\n temporalData?: McpGatewayJsonValue;\n};\n\nexport type McpGatewayContractEvaluationResponse = McpGatewayJsonObject;\n\nexport type McpGatewayWritePolicyCheckResponse = {\n allowed: boolean;\n permission: string;\n rationale?: string;\n maxWritesPerSession?: number;\n toolCategory?: string | null;\n policy?: McpGatewayJsonObject | null;\n explanation?: McpGatewayJsonObject;\n reason: string;\n};\n\nexport type McpGatewayBootstrapResponse = {\n tenant: McpGatewayTenantContext;\n session: McpGatewaySessionContext;\n permissions: McpGatewayPermissionContext;\n};\n\nexport type McpGatewayBuildSessionBelief = {\n nodeId: string;\n text: string;\n confidence: number | null;\n};\n\nexport type McpGatewayBuildSessionQuestion = {\n nodeId: string;\n text: string;\n priority: string;\n};\n\nexport type McpGatewayBuildSessionDecision = {\n question: string;\n decision: string;\n};\n\nexport type McpGatewayBuildSessionWorktreeSummary = {\n worktreeId: string;\n title: string;\n status?: string;\n};\n\nexport type McpGatewayBeginBuildSessionResponse = {\n topicId: string;\n topicName: string;\n worktreeId: string;\n worktreeName: string;\n branch: string;\n branchBase: string;\n prBase: string;\n campaign: number | null;\n lane: string;\n laneOrderInCampaign: number | null;\n orderInLane: number | null;\n gate: string;\n hypothesis: string;\n focus: string;\n status: string;\n sessionMode: string;\n targetBeliefIds: string[];\n targetQuestionIds: string[];\n topBeliefs: McpGatewayBuildSessionBelief[];\n openQuestions: McpGatewayBuildSessionQuestion[];\n resolvedDecisions: McpGatewayBuildSessionDecision[];\n exitCriteria: string[];\n requiredDocs: string[];\n keyFiles: string[];\n pillarBeliefs: Array<{\n pillar: string;\n text: string;\n nodeId: string;\n }>;\n visionDocs: Array<{\n path: string;\n description: string;\n }>;\n dependencies: McpGatewayBuildSessionWorktreeSummary[];\n unblocks: Array<{\n worktreeId: string;\n title: string;\n }>;\n mergeOrderNotes: string;\n};\n\nexport const MCP_GATEWAY_OWNED_BOOTSTRAP_OPERATIONS = [\n \"validate_mcp_session\",\n \"record_key_usage\",\n \"resolve_default_workspace\",\n \"resolve_user_context\",\n \"create_user_session\",\n \"upsert_agent_principal\",\n] as const;\nexport type McpGatewayOwnedBootstrapOperation =\n (typeof MCP_GATEWAY_OWNED_BOOTSTRAP_OPERATIONS)[number];\n\nexport const MCP_GATEWAY_CLIENT_ONLY_PACKAGES = [\n \"@lucern/sdk\",\n \"@lucern/mcp\",\n \"@lucern/contracts\",\n] as const;\nexport type McpGatewayClientOnlyPackage =\n (typeof MCP_GATEWAY_CLIENT_ONLY_PACKAGES)[number];\n"]}
|
|
@@ -41,7 +41,7 @@ declare const ComponentTableManifestSchema: z.ZodObject<{
|
|
|
41
41
|
}[];
|
|
42
42
|
}>, "many">;
|
|
43
43
|
}, "strip", z.ZodTypeAny, {
|
|
44
|
-
tier: "
|
|
44
|
+
tier: "I" | "K";
|
|
45
45
|
manifestVersion: string;
|
|
46
46
|
componentName: "kernel" | "identity";
|
|
47
47
|
packageVersion: string;
|
|
@@ -55,7 +55,7 @@ declare const ComponentTableManifestSchema: z.ZodObject<{
|
|
|
55
55
|
}[];
|
|
56
56
|
}[];
|
|
57
57
|
}, {
|
|
58
|
-
tier: "
|
|
58
|
+
tier: "I" | "K";
|
|
59
59
|
manifestVersion: string;
|
|
60
60
|
componentName: "kernel" | "identity";
|
|
61
61
|
packageVersion: string;
|
package/dist/schemas/index.js
CHANGED
|
@@ -1848,6 +1848,40 @@ var rateLimitWindows = defineTable({
|
|
|
1848
1848
|
{ kind: "index", name: "by_tier_window_end", columns: ["tier", "windowEndMs"] }
|
|
1849
1849
|
]
|
|
1850
1850
|
});
|
|
1851
|
+
var oauthDeviceCodes = defineTable({
|
|
1852
|
+
name: "oauthDeviceCodes",
|
|
1853
|
+
component: "mc",
|
|
1854
|
+
category: "identity",
|
|
1855
|
+
shape: z.object({
|
|
1856
|
+
"deviceCodeHash": z.string(),
|
|
1857
|
+
"userCode": z.string(),
|
|
1858
|
+
"clientId": z.string(),
|
|
1859
|
+
"scope": z.string(),
|
|
1860
|
+
"status": z.enum(["pending", "approved", "denied", "expired", "consumed"]),
|
|
1861
|
+
"expiresAt": z.number(),
|
|
1862
|
+
"intervalSeconds": z.number(),
|
|
1863
|
+
"lastPolledAt": z.number().optional(),
|
|
1864
|
+
"slowDownCount": z.number().optional(),
|
|
1865
|
+
"clerkUserId": z.string().optional(),
|
|
1866
|
+
"tenantId": idOf("tenants").optional(),
|
|
1867
|
+
"workspaceId": z.string().optional(),
|
|
1868
|
+
"principalId": z.string().optional(),
|
|
1869
|
+
"role": z.string().optional(),
|
|
1870
|
+
"scopes": z.array(z.string()).optional(),
|
|
1871
|
+
"sessionId": z.string().optional(),
|
|
1872
|
+
"approvedAt": z.number().optional(),
|
|
1873
|
+
"deniedAt": z.number().optional(),
|
|
1874
|
+
"consumedAt": z.number().optional(),
|
|
1875
|
+
"createdAt": z.number(),
|
|
1876
|
+
"updatedAt": z.number()
|
|
1877
|
+
}),
|
|
1878
|
+
indices: [
|
|
1879
|
+
{ kind: "index", name: "by_deviceCodeHash", columns: ["deviceCodeHash"] },
|
|
1880
|
+
{ kind: "index", name: "by_userCode", columns: ["userCode"] },
|
|
1881
|
+
{ kind: "index", name: "by_status_expiresAt", columns: ["status", "expiresAt"] },
|
|
1882
|
+
{ kind: "index", name: "by_sessionId", columns: ["sessionId"] }
|
|
1883
|
+
]
|
|
1884
|
+
});
|
|
1851
1885
|
var servicePrincipalKeys = defineTable({
|
|
1852
1886
|
name: "servicePrincipalKeys",
|
|
1853
1887
|
component: "mc",
|
|
@@ -3804,7 +3838,9 @@ var workspaces = defineTable({
|
|
|
3804
3838
|
"defaultProjectVisibility": z.enum(["private", "team", "firm", "external", "public"]).optional(),
|
|
3805
3839
|
"deployments": z.record(z.object({
|
|
3806
3840
|
"url": z.string(),
|
|
3807
|
-
"
|
|
3841
|
+
"target": z.enum(["kernelDeployment", "appDeployment"]).optional(),
|
|
3842
|
+
"encryptedDeployKey": z.string().optional(),
|
|
3843
|
+
"credentialRef": z.string().optional()
|
|
3808
3844
|
})).optional(),
|
|
3809
3845
|
"metadata": z.record(z.any()).optional(),
|
|
3810
3846
|
"createdBy": z.string().optional(),
|
|
@@ -4212,6 +4248,7 @@ var MC_TABLE_CONTRACTS = [
|
|
|
4212
4248
|
groupMemberships,
|
|
4213
4249
|
groups,
|
|
4214
4250
|
memberships,
|
|
4251
|
+
oauthDeviceCodes,
|
|
4215
4252
|
principals,
|
|
4216
4253
|
rateLimitWindows,
|
|
4217
4254
|
servicePrincipalKeys,
|