@lucern/sdk 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.
Files changed (168) hide show
  1. package/dist/adminClient.d.ts +2 -0
  2. package/dist/adminClient.js +195 -3
  3. package/dist/adminClient.js.map +1 -1
  4. package/dist/answersClient.d.ts +2 -0
  5. package/dist/answersClient.js +195 -3
  6. package/dist/answersClient.js.map +1 -1
  7. package/dist/audiencesClient.d.ts +2 -0
  8. package/dist/audiencesClient.js +195 -3
  9. package/dist/audiencesClient.js.map +1 -1
  10. package/dist/auditClient.d.ts +2 -0
  11. package/dist/auditClient.js +197 -5
  12. package/dist/auditClient.js.map +1 -1
  13. package/dist/authContext.d.ts +56 -0
  14. package/dist/authContext.js +170 -0
  15. package/dist/authContext.js.map +1 -0
  16. package/dist/authDeviceClient.d.ts +49 -0
  17. package/dist/authDeviceClient.js +108 -0
  18. package/dist/authDeviceClient.js.map +1 -0
  19. package/dist/beliefs/index.d.ts +19 -2
  20. package/dist/beliefs/index.js +2648 -327
  21. package/dist/beliefs/index.js.map +1 -1
  22. package/dist/beliefsClient.d.ts +2 -0
  23. package/dist/beliefsClient.js +199 -7
  24. package/dist/beliefsClient.js.map +1 -1
  25. package/dist/boundaryClientSurface.d.ts +20 -0
  26. package/dist/boundaryClientSurface.js +66 -0
  27. package/dist/boundaryClientSurface.js.map +1 -0
  28. package/dist/{client-B6aWUUwp.d.ts → client-DOLqClbU.d.ts} +548 -9
  29. package/dist/client.d.ts +20 -3
  30. package/dist/client.js +2648 -327
  31. package/dist/client.js.map +1 -1
  32. package/dist/contextClient.d.ts +2 -0
  33. package/dist/contextClient.js +201 -9
  34. package/dist/contextClient.js.map +1 -1
  35. package/dist/contracts/api-enums.contract.d.ts +1 -1
  36. package/dist/contracts/api-enums.contract.js.map +1 -1
  37. package/dist/contracts/index.d.ts +1 -0
  38. package/dist/contracts/index.js +104 -1
  39. package/dist/contracts/index.js.map +1 -1
  40. package/dist/contracts/mcpTools.d.ts +46 -1
  41. package/dist/contracts/mcpTools.js +102 -0
  42. package/dist/contracts/mcpTools.js.map +1 -1
  43. package/dist/contradictions/index.d.ts +19 -2
  44. package/dist/contradictions/index.js +2648 -327
  45. package/dist/contradictions/index.js.map +1 -1
  46. package/dist/coreClient.d.ts +9 -0
  47. package/dist/coreClient.js +195 -3
  48. package/dist/coreClient.js.map +1 -1
  49. package/dist/decisions/index.d.ts +19 -2
  50. package/dist/decisions/index.js +2648 -327
  51. package/dist/decisions/index.js.map +1 -1
  52. package/dist/decisionsClient.d.ts +2 -0
  53. package/dist/decisionsClient.js +198 -6
  54. package/dist/decisionsClient.js.map +1 -1
  55. package/dist/edges/index.d.ts +19 -2
  56. package/dist/edges/index.js +2648 -327
  57. package/dist/edges/index.js.map +1 -1
  58. package/dist/embeddingsClient.d.ts +106 -0
  59. package/dist/embeddingsClient.js +708 -0
  60. package/dist/embeddingsClient.js.map +1 -0
  61. package/dist/eventingClient.d.ts +96 -0
  62. package/dist/eventingClient.js +705 -0
  63. package/dist/eventingClient.js.map +1 -0
  64. package/dist/eventsCore.d.ts +2 -0
  65. package/dist/eventsCore.js +195 -3
  66. package/dist/eventsCore.js.map +1 -1
  67. package/dist/evidence/index.d.ts +19 -2
  68. package/dist/evidence/index.js +2648 -327
  69. package/dist/evidence/index.js.map +1 -1
  70. package/dist/evidenceClient.d.ts +2 -0
  71. package/dist/evidenceClient.js +195 -3
  72. package/dist/evidenceClient.js.map +1 -1
  73. package/dist/gatewayFacades.d.ts +38 -3
  74. package/dist/gatewayFacades.js +371 -12
  75. package/dist/gatewayFacades.js.map +1 -1
  76. package/dist/graphAnalysisClient.d.ts +147 -0
  77. package/dist/graphAnalysisClient.js +756 -0
  78. package/dist/graphAnalysisClient.js.map +1 -0
  79. package/dist/graphClient.d.ts +2 -0
  80. package/dist/graphClient.js +202 -10
  81. package/dist/graphClient.js.map +1 -1
  82. package/dist/graphRecommendationsClient.d.ts +56 -0
  83. package/dist/graphRecommendationsClient.js +646 -0
  84. package/dist/graphRecommendationsClient.js.map +1 -0
  85. package/dist/graphStateClassifierClient.d.ts +73 -0
  86. package/dist/graphStateClassifierClient.js +694 -0
  87. package/dist/graphStateClassifierClient.js.map +1 -0
  88. package/dist/harnessClient.d.ts +2 -0
  89. package/dist/harnessClient.js +197 -5
  90. package/dist/harnessClient.js.map +1 -1
  91. package/dist/identityClient.d.ts +89 -3
  92. package/dist/identityClient.js +363 -4
  93. package/dist/identityClient.js.map +1 -1
  94. package/dist/index.d.ts +23 -4
  95. package/dist/index.js +3098 -353
  96. package/dist/index.js.map +1 -1
  97. package/dist/infisicalRuntime.d.ts +42 -0
  98. package/dist/infisicalRuntime.js +291 -0
  99. package/dist/infisicalRuntime.js.map +1 -0
  100. package/dist/jobsClient.d.ts +98 -0
  101. package/dist/jobsClient.js +704 -0
  102. package/dist/jobsClient.js.map +1 -0
  103. package/dist/learningClient.d.ts +2 -0
  104. package/dist/learningClient.js +197 -5
  105. package/dist/learningClient.js.map +1 -1
  106. package/dist/lenses/index.d.ts +43 -2
  107. package/dist/lenses/index.js +2648 -327
  108. package/dist/lenses/index.js.map +1 -1
  109. package/dist/mcpClient.d.ts +28 -0
  110. package/dist/mcpClient.js +650 -0
  111. package/dist/mcpClient.js.map +1 -0
  112. package/dist/modelRuntimeClient.d.ts +72 -0
  113. package/dist/modelRuntimeClient.js +681 -0
  114. package/dist/modelRuntimeClient.js.map +1 -0
  115. package/dist/nodes/index.d.ts +37 -2
  116. package/dist/nodes/index.js +2648 -327
  117. package/dist/nodes/index.js.map +1 -1
  118. package/dist/ontologies/index.d.ts +19 -2
  119. package/dist/ontologies/index.js +2648 -327
  120. package/dist/ontologies/index.js.map +1 -1
  121. package/dist/ontologyClient.d.ts +2 -0
  122. package/dist/ontologyClient.js +195 -3
  123. package/dist/ontologyClient.js.map +1 -1
  124. package/dist/ontologyLinksClient.d.ts +71 -0
  125. package/dist/ontologyLinksClient.js +675 -0
  126. package/dist/ontologyLinksClient.js.map +1 -0
  127. package/dist/orgGraphSearchClient.d.ts +85 -0
  128. package/dist/orgGraphSearchClient.js +652 -0
  129. package/dist/orgGraphSearchClient.js.map +1 -0
  130. package/dist/packRuntime.d.ts +1 -2
  131. package/dist/packsClient.d.ts +2 -0
  132. package/dist/packsClient.js +195 -3
  133. package/dist/packsClient.js.map +1 -1
  134. package/dist/policyClient.d.ts +2 -0
  135. package/dist/policyClient.js +195 -3
  136. package/dist/policyClient.js.map +1 -1
  137. package/dist/questions/index.d.ts +19 -2
  138. package/dist/questions/index.js +2648 -327
  139. package/dist/questions/index.js.map +1 -1
  140. package/dist/reportsClient.d.ts +2 -0
  141. package/dist/reportsClient.js +197 -5
  142. package/dist/reportsClient.js.map +1 -1
  143. package/dist/schemaClient.d.ts +2 -0
  144. package/dist/schemaClient.js +195 -3
  145. package/dist/schemaClient.js.map +1 -1
  146. package/dist/sdkSurface.d.ts +2 -0
  147. package/dist/sourcesClient.d.ts +2 -0
  148. package/dist/sourcesClient.js +195 -3
  149. package/dist/sourcesClient.js.map +1 -1
  150. package/dist/telemetryClient.d.ts +94 -0
  151. package/dist/telemetryClient.js +719 -0
  152. package/dist/telemetryClient.js.map +1 -0
  153. package/dist/toolRegistryClient.d.ts +107 -0
  154. package/dist/toolRegistryClient.js +733 -0
  155. package/dist/toolRegistryClient.js.map +1 -0
  156. package/dist/topics/index.d.ts +19 -2
  157. package/dist/topics/index.js +2648 -327
  158. package/dist/topics/index.js.map +1 -1
  159. package/dist/topicsClient.d.ts +2 -0
  160. package/dist/topicsClient.js +200 -8
  161. package/dist/topicsClient.js.map +1 -1
  162. package/dist/workflowClient.d.ts +43 -7
  163. package/dist/workflowClient.js +200 -8
  164. package/dist/workflowClient.js.map +1 -1
  165. package/dist/worktrees/index.d.ts +43 -2
  166. package/dist/worktrees/index.js +2648 -327
  167. package/dist/worktrees/index.js.map +1 -1
  168. package/package.json +3 -3
@@ -1,9 +1,14 @@
1
1
  import * as tool_contracts_star from '@lucern/contracts/tool-contracts';
2
+ import { LUCERN_OPERATION_MANIFEST } from '@lucern/contracts/function-registry/manifest';
2
3
 
3
4
  var __defProp = Object.defineProperty;
4
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
7
12
  var __copyProps = (to, from, except, desc) => {
8
13
  if (from && typeof from === "object" || typeof from === "function") {
9
14
  for (let key of __getOwnPropNames(from))
@@ -16,6 +21,15 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
16
21
 
17
22
  // src/contracts/mcpTools.ts
18
23
  var mcpTools_exports = {};
24
+ __export(mcpTools_exports, {
25
+ MCP_ALWAYS_ALLOWED_TOOL_NAMES: () => MCP_ALWAYS_ALLOWED_TOOL_NAMES,
26
+ buildMcpToolContracts: () => buildMcpToolContracts,
27
+ buildMcpToolManifest: () => buildMcpToolManifest,
28
+ getMcpToolExposure: () => getMcpToolExposure,
29
+ isMcpToolAllowed: () => isMcpToolAllowed,
30
+ mcpContractToInputSchema: () => mcpContractToInputSchema,
31
+ mcpContractToManifestEntry: () => mcpContractToManifestEntry
32
+ });
19
33
 
20
34
  // src/contracts/tool-contracts.ts
21
35
  var tool_contracts_exports = {};
@@ -23,5 +37,93 @@ __reExport(tool_contracts_exports, tool_contracts_star);
23
37
 
24
38
  // src/contracts/mcpTools.ts
25
39
  __reExport(mcpTools_exports, tool_contracts_exports);
40
+ var OPERATION_MANIFEST = LUCERN_OPERATION_MANIFEST;
41
+ var MCP_ALWAYS_ALLOWED_TOOL_NAMES = ["identity_whoami"];
42
+ function getMcpToolExposure(toolName) {
43
+ return OPERATION_MANIFEST[toolName]?.surfaces.mcp ?? "none";
44
+ }
45
+ function decorateMcpToolContract(toolName, contract) {
46
+ const exposure = getMcpToolExposure(toolName);
47
+ if (exposure === "none") {
48
+ return null;
49
+ }
50
+ return exposure === "internal" || contract.internal ? { ...contract, internal: true } : contract;
51
+ }
52
+ function buildMcpToolContracts(options = {}) {
53
+ const merged = {
54
+ ...tool_contracts_exports.MCP_TOOL_CONTRACTS,
55
+ ...options.extensions ?? {}
56
+ };
57
+ return Object.fromEntries(
58
+ Object.entries(merged).flatMap(([toolName, contract]) => {
59
+ const decorated = decorateMcpToolContract(toolName, contract);
60
+ return decorated ? [[toolName, decorated]] : [];
61
+ })
62
+ );
63
+ }
64
+ function mcpContractToInputSchema(contract) {
65
+ const properties = {};
66
+ for (const [paramName, paramDef] of Object.entries(contract.parameters)) {
67
+ const prop = {
68
+ type: paramDef.type,
69
+ description: paramDef.description
70
+ };
71
+ if (paramDef.enum) {
72
+ prop.enum = paramDef.enum;
73
+ }
74
+ properties[paramName] = prop;
75
+ }
76
+ return {
77
+ type: "object",
78
+ properties,
79
+ required: contract.required
80
+ };
81
+ }
82
+ function mcpContractToManifestEntry(name, contract) {
83
+ return {
84
+ name,
85
+ description: contract.description,
86
+ inputSchema: mcpContractToInputSchema(contract),
87
+ internal: Boolean(contract.internal),
88
+ ownerModule: contract.ownerModule,
89
+ ontologyPrimitive: contract.ontologyPrimitive,
90
+ tier: contract.tier
91
+ };
92
+ }
93
+ function isMcpToolAllowed(toolName, options = {}) {
94
+ const contracts = options.contracts ?? buildMcpToolContracts();
95
+ const contract = contracts[toolName];
96
+ const alwaysAllowed = /* @__PURE__ */ new Set([
97
+ ...MCP_ALWAYS_ALLOWED_TOOL_NAMES,
98
+ ...options.alwaysAllowedTools ?? []
99
+ ]);
100
+ if (alwaysAllowed.has(toolName)) {
101
+ return true;
102
+ }
103
+ if (options.sessionType === "user" && contract?.internal) {
104
+ return false;
105
+ }
106
+ if (options.permittedTools !== void 0 && options.permittedTools !== null) {
107
+ return options.permittedTools.some((tool) => tool.toolName === toolName);
108
+ }
109
+ if (options.allowedTools === null || options.allowedTools === void 0) {
110
+ return true;
111
+ }
112
+ return options.allowedTools.includes(toolName);
113
+ }
114
+ function buildMcpToolManifest(args = {}) {
115
+ const contracts = args.contracts ?? buildMcpToolContracts();
116
+ return Object.entries(contracts).filter(([name, contract]) => {
117
+ if (args.visibility?.sessionType === "user" && contract.internal) {
118
+ return false;
119
+ }
120
+ return isMcpToolAllowed(name, {
121
+ ...args.visibility,
122
+ contracts
123
+ });
124
+ }).map(([name, contract]) => mcpContractToManifestEntry(name, contract));
125
+ }
126
+
127
+ export { MCP_ALWAYS_ALLOWED_TOOL_NAMES, buildMcpToolContracts, buildMcpToolManifest, getMcpToolExposure, isMcpToolAllowed, mcpContractToInputSchema, mcpContractToManifestEntry };
26
128
  //# sourceMappingURL=mcpTools.js.map
27
129
  //# sourceMappingURL=mcpTools.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/contracts/mcpTools.ts","../../src/contracts/tool-contracts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAA,gBAAA,GAAA,EAAA;;;ACAA,IAAA,sBAAA,GAAA,EAAA;AAAA,UAAA,CAAA,sBAAA,EAAA,mBAAA,CAAA;;;ADAA,UAAA,CAAA,gBAAA,EAAc,sBAAA,CAAA","file":"mcpTools.js","sourcesContent":["export * from \"./tool-contracts\";\n","export * from \"@lucern/contracts/tool-contracts\";\n\n"]}
1
+ {"version":3,"sources":["../../src/contracts/mcpTools.ts","../../src/contracts/tool-contracts.ts"],"names":[],"mappings":"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","file":"mcpTools.js","sourcesContent":["export * from \"./tool-contracts\";\n\nimport { LUCERN_OPERATION_MANIFEST } from \"@lucern/contracts/function-registry/manifest\";\nimport {\n MCP_TOOL_CONTRACTS,\n type McpToolContract,\n} from \"./tool-contracts\";\n\ntype OperationManifestEntry =\n (typeof LUCERN_OPERATION_MANIFEST)[keyof typeof LUCERN_OPERATION_MANIFEST];\n\nconst OPERATION_MANIFEST = LUCERN_OPERATION_MANIFEST as Record<\n string,\n OperationManifestEntry | undefined\n>;\n\nexport const MCP_ALWAYS_ALLOWED_TOOL_NAMES = [\"identity_whoami\"] as const;\n\nexport type McpToolInputSchema = {\n type: \"object\";\n properties: Record<string, unknown>;\n required: string[];\n};\n\nexport type McpPermittedTool = {\n toolName: string;\n requiredRole?: string;\n approvalGateId?: string;\n isCore?: boolean;\n category?: string;\n};\n\nexport type McpToolManifestEntry = {\n name: string;\n description: string;\n inputSchema: McpToolInputSchema;\n internal: boolean;\n ownerModule: string;\n ontologyPrimitive: McpToolContract[\"ontologyPrimitive\"];\n tier: McpToolContract[\"tier\"];\n};\n\nexport type McpToolContractMap = Record<string, McpToolContract>;\n\nexport type BuildMcpToolContractsOptions = {\n extensions?: McpToolContractMap;\n};\n\nexport type McpToolVisibilityOptions = {\n contracts?: McpToolContractMap;\n sessionType?: \"agent\" | \"user\";\n permittedTools?: readonly McpPermittedTool[] | null;\n allowedTools?: readonly string[] | null;\n alwaysAllowedTools?: readonly string[];\n};\n\nexport function getMcpToolExposure(\n toolName: string\n): \"public\" | \"internal\" | \"none\" {\n return OPERATION_MANIFEST[toolName]?.surfaces.mcp ?? \"none\";\n}\n\nfunction decorateMcpToolContract(\n toolName: string,\n contract: McpToolContract\n): McpToolContract | null {\n const exposure = getMcpToolExposure(toolName);\n if (exposure === \"none\") {\n return null;\n }\n return exposure === \"internal\" || contract.internal\n ? { ...contract, internal: true }\n : contract;\n}\n\nexport function buildMcpToolContracts(\n options: BuildMcpToolContractsOptions = {}\n): McpToolContractMap {\n const merged = {\n ...MCP_TOOL_CONTRACTS,\n ...(options.extensions ?? {}),\n };\n\n return Object.fromEntries(\n Object.entries(merged).flatMap(([toolName, contract]) => {\n const decorated = decorateMcpToolContract(toolName, contract);\n return decorated ? [[toolName, decorated]] : [];\n })\n );\n}\n\nexport function mcpContractToInputSchema(\n contract: McpToolContract\n): McpToolInputSchema {\n const properties: Record<string, unknown> = {};\n\n for (const [paramName, paramDef] of Object.entries(contract.parameters)) {\n const prop: Record<string, unknown> = {\n type: paramDef.type,\n description: paramDef.description,\n };\n if (paramDef.enum) {\n prop.enum = paramDef.enum;\n }\n properties[paramName] = prop;\n }\n\n return {\n type: \"object\",\n properties,\n required: contract.required,\n };\n}\n\nexport function mcpContractToManifestEntry(\n name: string,\n contract: McpToolContract\n): McpToolManifestEntry {\n return {\n name,\n description: contract.description,\n inputSchema: mcpContractToInputSchema(contract),\n internal: Boolean(contract.internal),\n ownerModule: contract.ownerModule,\n ontologyPrimitive: contract.ontologyPrimitive,\n tier: contract.tier,\n };\n}\n\nexport function isMcpToolAllowed(\n toolName: string,\n options: McpToolVisibilityOptions = {}\n): boolean {\n const contracts = options.contracts ?? buildMcpToolContracts();\n const contract = contracts[toolName];\n const alwaysAllowed = new Set([\n ...MCP_ALWAYS_ALLOWED_TOOL_NAMES,\n ...(options.alwaysAllowedTools ?? []),\n ]);\n\n if (alwaysAllowed.has(toolName)) {\n return true;\n }\n if (options.sessionType === \"user\" && contract?.internal) {\n return false;\n }\n\n if (options.permittedTools !== undefined && options.permittedTools !== null) {\n return options.permittedTools.some((tool) => tool.toolName === toolName);\n }\n\n if (options.allowedTools === null || options.allowedTools === undefined) {\n return true;\n }\n return options.allowedTools.includes(toolName);\n}\n\nexport function buildMcpToolManifest(args: {\n contracts?: McpToolContractMap;\n visibility?: McpToolVisibilityOptions;\n} = {}): McpToolManifestEntry[] {\n const contracts = args.contracts ?? buildMcpToolContracts();\n return Object.entries(contracts)\n .filter(([name, contract]) => {\n if (args.visibility?.sessionType === \"user\" && contract.internal) {\n return false;\n }\n return isMcpToolAllowed(name, {\n ...args.visibility,\n contracts,\n });\n })\n .map(([name, contract]) => mcpContractToManifestEntry(name, contract));\n}\n","export * from \"@lucern/contracts/tool-contracts\";\n\n"]}
@@ -1,11 +1,13 @@
1
1
  import { PlatformGatewaySuccess } from '../coreClient.js';
2
- import { L as LucernClientConfig } from '../client-B6aWUUwp.js';
2
+ import { L as LucernClientConfig } from '../client-DOLqClbU.js';
3
3
  import * as v1 from '@lucern/contracts/graph/v1';
4
4
  export { v1 as graphContracts };
5
5
  import * as sdkMethods_contract from '@lucern/contracts/sdk-methods.contract';
6
6
  export { sdkMethods_contract as methodSchemas };
7
7
  import * as toolContracts from '@lucern/contracts/tool-contracts';
8
8
  export { toolContracts as toolSchemas };
9
+ import '../authContext.js';
10
+ import '../contracts/auth-session.contract.js';
9
11
  import '../types.js';
10
12
  import '../contracts/workflow-runtime.contract.js';
11
13
  import '../contracts/lens-workflow.contract.js';
@@ -13,14 +15,28 @@ import '../contracts/lens-filter.contract.js';
13
15
  import '../audiencesClient.js';
14
16
  import '../schemaClient.js';
15
17
  import '../harnessClient.js';
16
- import '../identityClient.js';
17
18
  import '../adminClient.js';
18
19
  import '../controlObjectOwnership.js';
19
20
  import '../beliefsClient.js';
20
21
  import '../opinion.js';
22
+ import '../authDeviceClient.js';
23
+ import '../mcpClient.js';
24
+ import '@lucern/contracts/mcp-gateway-boundary.contract';
25
+ import '../identityClient.js';
21
26
  import '../packsClient.js';
22
27
  import '../customTools.js';
23
28
  import 'zod';
29
+ import '../toolRegistryClient.js';
30
+ import '../telemetryClient.js';
31
+ import '../jobsClient.js';
32
+ import '../modelRuntimeClient.js';
33
+ import '../graphStateClassifierClient.js';
34
+ import '../boundaryClientSurface.js';
35
+ import '../ontologyLinksClient.js';
36
+ import '../orgGraphSearchClient.js';
37
+ import '../graphRecommendationsClient.js';
38
+ import '../graphAnalysisClient.js';
39
+ import '../embeddingsClient.js';
24
40
  import '../policyClient.js';
25
41
  import '../ontologyClient.js';
26
42
  import '../contextTypes.js';
@@ -30,6 +46,7 @@ import '../auditClient.js';
30
46
  import '../contextClient.js';
31
47
  import '../decisionsClient.js';
32
48
  import '../evidenceClient.js';
49
+ import '../eventingClient.js';
33
50
  import '../graphClient.js';
34
51
  import '../learningClient.js';
35
52
  import '../reportsClient.js';