@lucern/sdk 0.3.0-alpha.17 → 0.3.0-alpha.3

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 (210) hide show
  1. package/CHANGELOG.md +0 -12
  2. package/README.md +4 -110
  3. package/dist/adminClient.d.ts +8 -8
  4. package/dist/adminClient.js +40 -70
  5. package/dist/adminClient.js.map +1 -1
  6. package/dist/answersClient.js +12 -49
  7. package/dist/answersClient.js.map +1 -1
  8. package/dist/audience/index.d.ts +1 -2
  9. package/dist/audience/index.js +3 -1
  10. package/dist/audience/index.js.map +1 -1
  11. package/dist/audiencesClient.d.ts +16 -16
  12. package/dist/audiencesClient.js +91 -125
  13. package/dist/audiencesClient.js.map +1 -1
  14. package/dist/auditClient.js +14 -53
  15. package/dist/auditClient.js.map +1 -1
  16. package/dist/authContext.d.ts +2 -2
  17. package/dist/authContext.js +3 -4
  18. package/dist/authContext.js.map +1 -1
  19. package/dist/authDeviceClient.js +3 -16
  20. package/dist/authDeviceClient.js.map +1 -1
  21. package/dist/beliefs/index.d.ts +4 -9
  22. package/dist/beliefs/index.js +1305 -1943
  23. package/dist/beliefs/index.js.map +1 -1
  24. package/dist/beliefsClient.d.ts +2 -2
  25. package/dist/beliefsClient.js +23 -54
  26. package/dist/beliefsClient.js.map +1 -1
  27. package/dist/boundaryClientSurface.js +3 -10
  28. package/dist/boundaryClientSurface.js.map +1 -1
  29. package/dist/client-EiG9nJOY.d.ts +2911 -0
  30. package/dist/client.d.ts +41 -3038
  31. package/dist/client.js +1305 -1943
  32. package/dist/client.js.map +1 -1
  33. package/dist/contextClient.d.ts +3 -4
  34. package/dist/contextClient.js +30 -79
  35. package/dist/contextClient.js.map +1 -1
  36. package/dist/contextFacade.js +16 -25
  37. package/dist/contextFacade.js.map +1 -1
  38. package/dist/contextPackCompiler.js +30 -19
  39. package/dist/contextPackCompiler.js.map +1 -1
  40. package/dist/contextPackPolicy.js +17 -7
  41. package/dist/contextPackPolicy.js.map +1 -1
  42. package/dist/contextTypes.d.ts +0 -2
  43. package/dist/contracts/api-enums.contract.d.ts +2 -2
  44. package/dist/contracts/api-enums.contract.js +1 -6
  45. package/dist/contracts/api-enums.contract.js.map +1 -1
  46. package/dist/contracts/auth-session.contract.d.ts +1 -1
  47. package/dist/contracts/auth-session.contract.js +2 -14
  48. package/dist/contracts/auth-session.contract.js.map +1 -1
  49. package/dist/contracts/index.js +6 -30
  50. package/dist/contracts/index.js.map +1 -1
  51. package/dist/contracts/lens-filter.contract.js +3 -4
  52. package/dist/contracts/lens-filter.contract.js.map +1 -1
  53. package/dist/contracts/lens-workflow.contract.js +3 -4
  54. package/dist/contracts/lens-workflow.contract.js.map +1 -1
  55. package/dist/contracts/lensFilter.js +3 -4
  56. package/dist/contracts/lensFilter.js.map +1 -1
  57. package/dist/contracts/lensWorkflow.js +3 -4
  58. package/dist/contracts/lensWorkflow.js.map +1 -1
  59. package/dist/contracts/mcpTools.js +0 -6
  60. package/dist/contracts/mcpTools.js.map +1 -1
  61. package/dist/contradictions/index.d.ts +3 -8
  62. package/dist/contradictions/index.js +1305 -1943
  63. package/dist/contradictions/index.js.map +1 -1
  64. package/dist/coreClient.d.ts +2 -19
  65. package/dist/coreClient.js +15 -50
  66. package/dist/coreClient.js.map +1 -1
  67. package/dist/decisions/index.d.ts +13 -18
  68. package/dist/decisions/index.js +1305 -1943
  69. package/dist/decisions/index.js.map +1 -1
  70. package/dist/decisionsClient.d.ts +12 -4
  71. package/dist/decisionsClient.js +35 -60
  72. package/dist/decisionsClient.js.map +1 -1
  73. package/dist/edges/index.d.ts +86 -31
  74. package/dist/edges/index.js +1305 -1943
  75. package/dist/edges/index.js.map +1 -1
  76. package/dist/embeddingsClient.js +18 -60
  77. package/dist/embeddingsClient.js.map +1 -1
  78. package/dist/eventingClient.js +18 -60
  79. package/dist/eventingClient.js.map +1 -1
  80. package/dist/events.js +3 -6
  81. package/dist/events.js.map +1 -1
  82. package/dist/eventsCore.d.ts +1 -1
  83. package/dist/eventsCore.js +15 -50
  84. package/dist/eventsCore.js.map +1 -1
  85. package/dist/evidence/index.d.ts +3 -8
  86. package/dist/evidence/index.js +1305 -1943
  87. package/dist/evidence/index.js.map +1 -1
  88. package/dist/evidenceClient.js +15 -50
  89. package/dist/evidenceClient.js.map +1 -1
  90. package/dist/facade/context.d.ts +1 -2
  91. package/dist/facade/context.js +16 -25
  92. package/dist/facade/context.js.map +1 -1
  93. package/dist/gatewayFacades.d.ts +48 -90
  94. package/dist/gatewayFacades.js +128 -251
  95. package/dist/gatewayFacades.js.map +1 -1
  96. package/dist/graphAnalysisClient.d.ts +1 -53
  97. package/dist/graphAnalysisClient.js +17 -81
  98. package/dist/graphAnalysisClient.js.map +1 -1
  99. package/dist/graphClient.d.ts +13 -6
  100. package/dist/graphClient.js +39 -65
  101. package/dist/graphClient.js.map +1 -1
  102. package/dist/graphRecommendationsClient.js +17 -54
  103. package/dist/graphRecommendationsClient.js.map +1 -1
  104. package/dist/graphStateClassifierClient.js +19 -60
  105. package/dist/graphStateClassifierClient.js.map +1 -1
  106. package/dist/harnessClient.d.ts +24 -13
  107. package/dist/harnessClient.js +41 -61
  108. package/dist/harnessClient.js.map +1 -1
  109. package/dist/identityClient.d.ts +9 -27
  110. package/dist/identityClient.js +39 -203
  111. package/dist/identityClient.js.map +1 -1
  112. package/dist/index.d.ts +6 -15
  113. package/dist/index.js +1171 -2256
  114. package/dist/index.js.map +1 -1
  115. package/dist/jobsClient.js +19 -60
  116. package/dist/jobsClient.js.map +1 -1
  117. package/dist/learningClient.d.ts +6 -6
  118. package/dist/learningClient.js +43 -78
  119. package/dist/learningClient.js.map +1 -1
  120. package/dist/lenses/index.d.ts +37 -60
  121. package/dist/lenses/index.js +1305 -1943
  122. package/dist/lenses/index.js.map +1 -1
  123. package/dist/mcpClient.js +13 -51
  124. package/dist/mcpClient.js.map +1 -1
  125. package/dist/modelRuntimeClient.js +18 -60
  126. package/dist/modelRuntimeClient.js.map +1 -1
  127. package/dist/nodes/index.d.ts +22 -49
  128. package/dist/nodes/index.js +1305 -1943
  129. package/dist/nodes/index.js.map +1 -1
  130. package/dist/ontologies/index.d.ts +31 -37
  131. package/dist/ontologies/index.js +1305 -1943
  132. package/dist/ontologies/index.js.map +1 -1
  133. package/dist/ontologyClient.d.ts +25 -17
  134. package/dist/ontologyClient.js +41 -86
  135. package/dist/ontologyClient.js.map +1 -1
  136. package/dist/ontologyLinksClient.js +19 -60
  137. package/dist/ontologyLinksClient.js.map +1 -1
  138. package/dist/orgGraphSearchClient.js +14 -53
  139. package/dist/orgGraphSearchClient.js.map +1 -1
  140. package/dist/packRuntime.d.ts +1 -2
  141. package/dist/packsClient.d.ts +23 -9
  142. package/dist/packsClient.js +47 -62
  143. package/dist/packsClient.js.map +1 -1
  144. package/dist/policyClient.d.ts +10 -11
  145. package/dist/policyClient.js +26 -71
  146. package/dist/policyClient.js.map +1 -1
  147. package/dist/questions/index.d.ts +3 -8
  148. package/dist/questions/index.js +1305 -1943
  149. package/dist/questions/index.js.map +1 -1
  150. package/dist/realtime/index.d.ts +1 -1
  151. package/dist/reportsClient.d.ts +7 -7
  152. package/dist/reportsClient.js +52 -107
  153. package/dist/reportsClient.js.map +1 -1
  154. package/dist/schemaClient.d.ts +3 -3
  155. package/dist/schemaClient.js +30 -63
  156. package/dist/schemaClient.js.map +1 -1
  157. package/dist/sdkSurface.d.ts +3 -6
  158. package/dist/sdkSurface.js +6 -10
  159. package/dist/sdkSurface.js.map +1 -1
  160. package/dist/sourcesClient.js +15 -50
  161. package/dist/sourcesClient.js.map +1 -1
  162. package/dist/telemetryClient.js +19 -60
  163. package/dist/telemetryClient.js.map +1 -1
  164. package/dist/toolRegistryClient.d.ts +2 -10
  165. package/dist/toolRegistryClient.js +20 -73
  166. package/dist/toolRegistryClient.js.map +1 -1
  167. package/dist/topics/index.d.ts +8 -19
  168. package/dist/topics/index.js +1305 -1945
  169. package/dist/topics/index.js.map +1 -1
  170. package/dist/topicsClient.d.ts +0 -2
  171. package/dist/topicsClient.js +20 -60
  172. package/dist/topicsClient.js.map +1 -1
  173. package/dist/types.d.ts +0 -17
  174. package/dist/version.d.ts +1 -1
  175. package/dist/version.js +1 -1
  176. package/dist/version.js.map +1 -1
  177. package/dist/workflowClient.d.ts +40 -58
  178. package/dist/workflowClient.js +54 -66
  179. package/dist/workflowClient.js.map +1 -1
  180. package/dist/worktrees/index.d.ts +33 -54
  181. package/dist/worktrees/index.js +1305 -1943
  182. package/dist/worktrees/index.js.map +1 -1
  183. package/package.json +3 -17
  184. package/dist/accessControl.d.ts +0 -79
  185. package/dist/accessControl.js +0 -1270
  186. package/dist/accessControl.js.map +0 -1
  187. package/dist/clientHelpers.d.ts +0 -48
  188. package/dist/clientHelpers.js +0 -137
  189. package/dist/clientHelpers.js.map +0 -1
  190. package/dist/control-plane.d.ts +0 -69
  191. package/dist/control-plane.js +0 -674
  192. package/dist/control-plane.js.map +0 -1
  193. package/dist/functionSurface.d.ts +0 -144
  194. package/dist/functionSurface.js +0 -1227
  195. package/dist/functionSurface.js.map +0 -1
  196. package/dist/functionSurfaceClient.d.ts +0 -8
  197. package/dist/functionSurfaceClient.js +0 -1227
  198. package/dist/functionSurfaceClient.js.map +0 -1
  199. package/dist/graphIntel.d.ts +0 -4
  200. package/dist/graphIntel.js +0 -3
  201. package/dist/graphIntel.js.map +0 -1
  202. package/dist/graphIntelligence.d.ts +0 -2
  203. package/dist/graphIntelligence.js +0 -47
  204. package/dist/graphIntelligence.js.map +0 -1
  205. package/dist/infisicalRuntime.d.ts +0 -43
  206. package/dist/infisicalRuntime.js +0 -346
  207. package/dist/infisicalRuntime.js.map +0 -1
  208. package/dist/secrets.d.ts +0 -1
  209. package/dist/secrets.js +0 -3
  210. package/dist/secrets.js.map +0 -1
@@ -1,346 +0,0 @@
1
- import { INFISICAL_RUNTIME_MANIFEST, INFISICAL_RUNTIME_DEFAULT_PROJECT_ID, INFISICAL_RUNTIME_DEFAULT_API_URL, findInfisicalRuntimeSurface, findInfisicalRuntimePath, GENERATED_INFISICAL_RUNTIME_ENV } from '@lucern/contracts';
2
-
3
- // src/infisicalRuntime.ts
4
- var InfisicalRuntimeError = class extends Error {
5
- code;
6
- status;
7
- constructor(args) {
8
- super(args.message);
9
- this.name = "InfisicalRuntimeError";
10
- this.code = args.code;
11
- this.status = args.status;
12
- }
13
- };
14
- function readInfisicalRuntimeBootstrap(env = {}, overrides = {}) {
15
- if (isInfisicalRuntimeDisabled(env)) {
16
- return null;
17
- }
18
- const bootstrapEnv = INFISICAL_RUNTIME_MANIFEST.bootstrapEnv;
19
- const clientId = overrides.clientId ?? readFirst(env, bootstrapEnv.clientId);
20
- const clientSecret = overrides.clientSecret ?? readFirst(env, bootstrapEnv.clientSecret);
21
- const hasAuthSignal = Boolean(clientId || clientSecret);
22
- if (!hasAuthSignal) {
23
- return null;
24
- }
25
- if (!clientId || !clientSecret) {
26
- throw new InfisicalRuntimeError({
27
- code: "INFISICAL_BOOTSTRAP_INCOMPLETE",
28
- message: "Infisical runtime bootstrap requires both INFISICAL_CLIENT_ID and INFISICAL_CLIENT_SECRET."
29
- });
30
- }
31
- return {
32
- apiUrl: overrides.apiUrl ?? readFirst(env, bootstrapEnv.apiUrl) ?? INFISICAL_RUNTIME_DEFAULT_API_URL,
33
- projectId: overrides.projectId ?? readFirst(env, bootstrapEnv.projectId) ?? INFISICAL_RUNTIME_DEFAULT_PROJECT_ID,
34
- clientId,
35
- clientSecret,
36
- environment: normalizeInfisicalEnvironment(
37
- overrides.environment ?? readFirst(env, bootstrapEnv.environment)
38
- ),
39
- organizationSlug: overrides.organizationSlug ?? readFirst(env, bootstrapEnv.organizationSlug)
40
- };
41
- }
42
- function isInfisicalRuntimeDisabled(env = {}) {
43
- return INFISICAL_RUNTIME_MANIFEST.bootstrapEnv.disabled.some(
44
- (name) => isTruthyEnv(env[name])
45
- );
46
- }
47
- async function hydrateInfisicalRuntimeEnv(options) {
48
- const env = options.env ?? {};
49
- const baseBootstrap = readInfisicalRuntimeBootstrap(env, options.bootstrap);
50
- const bootstrap = baseBootstrap ? {
51
- ...baseBootstrap,
52
- ...Object.fromEntries(
53
- Object.entries(options.bootstrap ?? {}).filter(
54
- ([, value]) => value !== void 0
55
- )
56
- ),
57
- apiUrl: trimTrailingSlash(
58
- options.bootstrap?.apiUrl ?? baseBootstrap.apiUrl
59
- )
60
- } : null;
61
- if (!bootstrap) {
62
- return {
63
- status: "disabled",
64
- surfaceId: options.surfaceId,
65
- values: {},
66
- sourcePaths: []
67
- };
68
- }
69
- const surface = findInfisicalRuntimeSurface(options.surfaceId);
70
- if (!surface) {
71
- throw new InfisicalRuntimeError({
72
- code: "INFISICAL_UNKNOWN_SURFACE",
73
- message: `Unknown Lucern Infisical runtime surface: ${options.surfaceId}.`
74
- });
75
- }
76
- const fallbackDelivery = surface.fallback;
77
- if (surface.delivery !== "runtime_fetch" && fallbackDelivery !== "runtime_fetch") {
78
- throw new InfisicalRuntimeError({
79
- code: "INFISICAL_UNSUPPORTED_SURFACE_DELIVERY",
80
- message: `${surface.id} uses ${surface.delivery}; runtime fetch is only valid for runtime_fetch surfaces or surfaces with a runtime_fetch fallback.`
81
- });
82
- }
83
- const fetchImpl = options.fetchImpl ?? globalThis.fetch;
84
- if (typeof fetchImpl !== "function") {
85
- throw new InfisicalRuntimeError({
86
- code: "INFISICAL_FETCH_UNAVAILABLE",
87
- message: "No fetch implementation is available for Infisical runtime hydration."
88
- });
89
- }
90
- const token = await loginWithUniversalAuth(bootstrap, fetchImpl);
91
- const values = {};
92
- const missingRequired = [];
93
- const sourcePaths = /* @__PURE__ */ new Set();
94
- const variables = options.includeGeneratedSurfaceVariables ? generatedSurfaceVariables(options.surfaceId) : contractSurfaceVariables(surface.sourcePathIds);
95
- for (const runtimeVariable of variables) {
96
- sourcePaths.add(runtimeVariable.secretPath);
97
- const secretValue = await readVariableSecret({
98
- bootstrap,
99
- fetchImpl,
100
- token,
101
- secretPath: runtimeVariable.secretPath,
102
- variable: runtimeVariable
103
- });
104
- if (!secretValue) {
105
- if (runtimeVariable.required) {
106
- missingRequired.push(runtimeVariable.name);
107
- }
108
- continue;
109
- }
110
- values[runtimeVariable.name] = secretValue.value;
111
- for (const alias of runtimeVariable.aliases ?? []) {
112
- values[alias] = secretValue.value;
113
- }
114
- }
115
- if (missingRequired.length > 0) {
116
- throw new InfisicalRuntimeError({
117
- code: "INFISICAL_REQUIRED_SECRETS_MISSING",
118
- message: `Missing required Infisical runtime secrets: ${missingRequired.join(", ")}.`
119
- });
120
- }
121
- return {
122
- status: "hydrated",
123
- surfaceId: options.surfaceId,
124
- environment: bootstrap.environment,
125
- values,
126
- sourcePaths: [...sourcePaths]
127
- };
128
- }
129
- function applyInfisicalRuntimeEnv(result, targetEnv, options = {}) {
130
- for (const [key, value] of Object.entries(result.values)) {
131
- if (options.overrideExisting || !targetEnv[key]) {
132
- targetEnv[key] = value;
133
- }
134
- }
135
- }
136
- function normalizeInfisicalEnvironment(value) {
137
- if (value === "dev" || value === "staging" || value === "prod") {
138
- return value;
139
- }
140
- if (value === "development") {
141
- return "dev";
142
- }
143
- if (value === "production") {
144
- return "prod";
145
- }
146
- return "prod";
147
- }
148
- async function loginWithUniversalAuth(bootstrap, fetchImpl) {
149
- const response = await fetchImpl(
150
- `${trimTrailingSlash(bootstrap.apiUrl)}/api/v1/auth/universal-auth/login`,
151
- {
152
- method: "POST",
153
- headers: {
154
- "Content-Type": "application/json"
155
- },
156
- body: JSON.stringify({
157
- clientId: bootstrap.clientId,
158
- clientSecret: bootstrap.clientSecret,
159
- ...bootstrap.organizationSlug ? { organizationSlug: bootstrap.organizationSlug } : {}
160
- })
161
- }
162
- );
163
- const body = await readJson(response);
164
- if (!response.ok) {
165
- throw new InfisicalRuntimeError({
166
- code: "INFISICAL_UNIVERSAL_AUTH_FAILED",
167
- status: response.status,
168
- message: `Infisical Universal Auth failed with HTTP ${response.status}: ${messageFromBody(body)}`
169
- });
170
- }
171
- const accessToken = readNestedString(body, ["accessToken"]);
172
- if (!accessToken) {
173
- throw new InfisicalRuntimeError({
174
- code: "INFISICAL_UNIVERSAL_AUTH_INVALID_RESPONSE",
175
- message: "Infisical Universal Auth response did not include accessToken."
176
- });
177
- }
178
- return accessToken;
179
- }
180
- async function readVariableSecret(args) {
181
- const names = [args.variable.name, ...args.variable.aliases ?? []];
182
- for (const name of names) {
183
- const value = await readSecretValue({
184
- bootstrap: args.bootstrap,
185
- fetchImpl: args.fetchImpl,
186
- token: args.token,
187
- secretPath: args.secretPath,
188
- name,
189
- optional: true
190
- });
191
- if (value) {
192
- return { name, value };
193
- }
194
- }
195
- return null;
196
- }
197
- function contractSurfaceVariables(sourcePathIds) {
198
- return sourcePathIds.flatMap((pathId) => {
199
- const path = findInfisicalRuntimePath(pathId);
200
- if (!path) {
201
- throw new InfisicalRuntimeError({
202
- code: "INFISICAL_UNKNOWN_PATH",
203
- message: `Unknown Lucern Infisical runtime path: ${pathId}.`
204
- });
205
- }
206
- return path.variables.map((variable) => ({
207
- ...variable,
208
- secretPath: path.secretPath
209
- }));
210
- });
211
- }
212
- function generatedSurfaceVariables(surfaceId) {
213
- const surface = GENERATED_INFISICAL_RUNTIME_ENV.surfaces[surfaceId];
214
- if (!surface) {
215
- throw new InfisicalRuntimeError({
216
- code: "INFISICAL_UNKNOWN_SURFACE",
217
- message: `Unknown generated Lucern Infisical runtime surface: ${surfaceId}.`
218
- });
219
- }
220
- return surface.variables.map(generatedVariableToRuntimeVariable);
221
- }
222
- function generatedVariableToRuntimeVariable(variable) {
223
- const aliases = /* @__PURE__ */ new Set([
224
- ...variable.envNames.filter((name) => name !== variable.canonicalName),
225
- ...variable.aliases
226
- ]);
227
- return {
228
- name: variable.canonicalName,
229
- required: variable.required,
230
- secret: variable.secret,
231
- public: variable.public,
232
- aliases: [...aliases],
233
- description: variable.description,
234
- secretPath: variable.sourcePath
235
- };
236
- }
237
- async function readSecretValue(args) {
238
- const params = new URLSearchParams({
239
- projectId: args.bootstrap.projectId,
240
- environment: args.bootstrap.environment,
241
- secretPath: args.secretPath,
242
- type: "shared",
243
- viewSecretValue: "true",
244
- expandSecretReferences: "true",
245
- includeImports: "true"
246
- });
247
- const response = await args.fetchImpl(
248
- `${trimTrailingSlash(args.bootstrap.apiUrl)}/api/v4/secrets/${encodeURIComponent(args.name)}?${params.toString()}`,
249
- {
250
- method: "GET",
251
- headers: {
252
- Authorization: `Bearer ${args.token}`
253
- }
254
- }
255
- );
256
- const body = await readJson(response);
257
- if (response.status === 404 && args.optional) {
258
- return null;
259
- }
260
- if (!response.ok) {
261
- throw new InfisicalRuntimeError({
262
- code: "INFISICAL_SECRET_READ_FAILED",
263
- status: response.status,
264
- message: `Infisical secret ${args.name} read failed with HTTP ${response.status}: ${messageFromBody(body)}`
265
- });
266
- }
267
- return readNestedString(body, ["secret", "secretValue"]);
268
- }
269
- async function readJson(response) {
270
- try {
271
- return await response.json();
272
- } catch (error) {
273
- debugInfisicalRuntimeFallback("response.json", error);
274
- return void 0;
275
- }
276
- }
277
- function isRecord(value) {
278
- return value !== null && typeof value === "object" && !Array.isArray(value);
279
- }
280
- function readNestedString(value, path) {
281
- let current = value;
282
- for (const key of path) {
283
- if (!isRecord(current) || !(key in current)) {
284
- return null;
285
- }
286
- current = current[key];
287
- }
288
- return typeof current === "string" && current.length > 0 ? current : null;
289
- }
290
- function messageFromBody(body) {
291
- if (!isRecord(body)) {
292
- return "no response body";
293
- }
294
- for (const key of ["message", "error", "errorMessage"]) {
295
- if (typeof body[key] === "string") {
296
- return body[key];
297
- }
298
- }
299
- return JSON.stringify(body);
300
- }
301
- function readFirst(env, names) {
302
- for (const name of names) {
303
- const value = env[name]?.trim();
304
- if (value) {
305
- return value;
306
- }
307
- }
308
- return void 0;
309
- }
310
- function isTruthyEnv(value) {
311
- return ["1", "true", "yes", "on"].includes(value?.toLowerCase() ?? "");
312
- }
313
- function trimTrailingSlash(value) {
314
- return value.replace(/\/+$/u, "");
315
- }
316
- function debugInfisicalRuntimeFallback(message, error) {
317
- const env = globalThis.process?.env;
318
- if (env?.LUCERN_COMPAT_FALLBACK_DEBUG !== "1" && env?.LUCERN_INFISICAL_RUNTIME_DEBUG !== "1") {
319
- return;
320
- }
321
- console.debug(`[infisical-runtime] ${message}`, {
322
- error: formatInfisicalRuntimeError(error)
323
- });
324
- }
325
- function formatInfisicalRuntimeError(error) {
326
- if (error instanceof Error) {
327
- return `${error.name}: ${error.message}`;
328
- }
329
- if (typeof error === "string") {
330
- return error;
331
- }
332
- if (typeof error === "number" || typeof error === "boolean") {
333
- return String(error);
334
- }
335
- if (error && typeof error === "object") {
336
- const keys = Object.keys(error).slice(0, 5);
337
- if (keys.length > 0) {
338
- return `Unknown Infisical runtime error object with keys: ${keys.join(", ")}`;
339
- }
340
- }
341
- return "Unknown Infisical runtime error shape";
342
- }
343
-
344
- export { InfisicalRuntimeError, applyInfisicalRuntimeEnv, hydrateInfisicalRuntimeEnv, isInfisicalRuntimeDisabled, readInfisicalRuntimeBootstrap };
345
- //# sourceMappingURL=infisicalRuntime.js.map
346
- //# sourceMappingURL=infisicalRuntime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/infisicalRuntime.ts"],"names":[],"mappings":"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","file":"infisicalRuntime.js","sourcesContent":["import {\n INFISICAL_RUNTIME_DEFAULT_API_URL,\n INFISICAL_RUNTIME_DEFAULT_PROJECT_ID,\n INFISICAL_RUNTIME_MANIFEST,\n findInfisicalRuntimePath,\n findInfisicalRuntimeSurface,\n GENERATED_INFISICAL_RUNTIME_ENV,\n type GeneratedInfisicalEnvVariable,\n type InfisicalRuntimeEnvironment,\n type InfisicalRuntimePathId,\n type InfisicalRuntimeSurfaceId,\n type InfisicalRuntimeVariable,\n} from \"@lucern/contracts\";\n\nexport type InfisicalRuntimeEnv = Record<string, string | undefined>;\n\nexport type InfisicalRuntimeFetch = (\n input: string | URL,\n init?: RequestInit\n) => Promise<Response>;\n\nexport type InfisicalRuntimeBootstrapConfig = {\n apiUrl: string;\n projectId: string;\n clientId: string;\n clientSecret: string;\n environment: InfisicalRuntimeEnvironment;\n organizationSlug?: string;\n};\n\nexport type InfisicalRuntimeHydrateOptions = {\n surfaceId: InfisicalRuntimeSurfaceId;\n env?: InfisicalRuntimeEnv;\n fetchImpl?: InfisicalRuntimeFetch;\n bootstrap?: Partial<InfisicalRuntimeBootstrapConfig>;\n includeGeneratedSurfaceVariables?: boolean;\n};\n\nexport type InfisicalRuntimeHydrationResult = {\n status: \"disabled\" | \"hydrated\";\n surfaceId: InfisicalRuntimeSurfaceId;\n environment?: InfisicalRuntimeEnvironment;\n values: Record<string, string>;\n sourcePaths: string[];\n};\n\nexport class InfisicalRuntimeError extends Error {\n readonly code: string;\n readonly status?: number;\n\n constructor(args: { code: string; message: string; status?: number }) {\n super(args.message);\n this.name = \"InfisicalRuntimeError\";\n this.code = args.code;\n this.status = args.status;\n }\n}\n\ntype RuntimeHydrationVariable = {\n readonly name: string;\n readonly required: boolean;\n readonly secret: boolean;\n readonly public: boolean;\n readonly aliases?: readonly string[];\n readonly description: string;\n readonly secretPath: string;\n};\n\nexport function readInfisicalRuntimeBootstrap(\n env: InfisicalRuntimeEnv = {},\n overrides: Partial<InfisicalRuntimeBootstrapConfig> = {}\n): InfisicalRuntimeBootstrapConfig | null {\n if (isInfisicalRuntimeDisabled(env)) {\n return null;\n }\n\n const bootstrapEnv = INFISICAL_RUNTIME_MANIFEST.bootstrapEnv;\n const clientId = overrides.clientId ?? readFirst(env, bootstrapEnv.clientId);\n const clientSecret =\n overrides.clientSecret ?? readFirst(env, bootstrapEnv.clientSecret);\n const hasAuthSignal = Boolean(clientId || clientSecret);\n\n if (!hasAuthSignal) {\n return null;\n }\n\n if (!clientId || !clientSecret) {\n throw new InfisicalRuntimeError({\n code: \"INFISICAL_BOOTSTRAP_INCOMPLETE\",\n message:\n \"Infisical runtime bootstrap requires both INFISICAL_CLIENT_ID and INFISICAL_CLIENT_SECRET.\",\n });\n }\n\n return {\n apiUrl:\n overrides.apiUrl ??\n readFirst(env, bootstrapEnv.apiUrl) ??\n INFISICAL_RUNTIME_DEFAULT_API_URL,\n projectId:\n overrides.projectId ??\n readFirst(env, bootstrapEnv.projectId) ??\n INFISICAL_RUNTIME_DEFAULT_PROJECT_ID,\n clientId,\n clientSecret,\n environment: normalizeInfisicalEnvironment(\n overrides.environment ?? readFirst(env, bootstrapEnv.environment)\n ),\n organizationSlug:\n overrides.organizationSlug ??\n readFirst(env, bootstrapEnv.organizationSlug),\n };\n}\n\nexport function isInfisicalRuntimeDisabled(\n env: InfisicalRuntimeEnv = {}\n): boolean {\n return INFISICAL_RUNTIME_MANIFEST.bootstrapEnv.disabled.some((name) =>\n isTruthyEnv(env[name])\n );\n}\n\nexport async function hydrateInfisicalRuntimeEnv(\n options: InfisicalRuntimeHydrateOptions\n): Promise<InfisicalRuntimeHydrationResult> {\n const env = options.env ?? {};\n const baseBootstrap = readInfisicalRuntimeBootstrap(env, options.bootstrap);\n const bootstrap = baseBootstrap\n ? {\n ...baseBootstrap,\n ...Object.fromEntries(\n Object.entries(options.bootstrap ?? {}).filter(\n ([, value]) => value !== undefined\n )\n ),\n apiUrl: trimTrailingSlash(\n options.bootstrap?.apiUrl ?? baseBootstrap.apiUrl\n ),\n }\n : null;\n if (!bootstrap) {\n return {\n status: \"disabled\",\n surfaceId: options.surfaceId,\n values: {},\n sourcePaths: [],\n };\n }\n\n const surface = findInfisicalRuntimeSurface(options.surfaceId);\n if (!surface) {\n throw new InfisicalRuntimeError({\n code: \"INFISICAL_UNKNOWN_SURFACE\",\n message: `Unknown Lucern Infisical runtime surface: ${options.surfaceId}.`,\n });\n }\n const fallbackDelivery = (surface as { fallback?: string }).fallback;\n if (\n surface.delivery !== \"runtime_fetch\" &&\n fallbackDelivery !== \"runtime_fetch\"\n ) {\n throw new InfisicalRuntimeError({\n code: \"INFISICAL_UNSUPPORTED_SURFACE_DELIVERY\",\n message: `${surface.id} uses ${surface.delivery}; runtime fetch is only valid for runtime_fetch surfaces or surfaces with a runtime_fetch fallback.`,\n });\n }\n\n const fetchImpl = options.fetchImpl ?? globalThis.fetch;\n if (typeof fetchImpl !== \"function\") {\n throw new InfisicalRuntimeError({\n code: \"INFISICAL_FETCH_UNAVAILABLE\",\n message:\n \"No fetch implementation is available for Infisical runtime hydration.\",\n });\n }\n\n const token = await loginWithUniversalAuth(bootstrap, fetchImpl);\n const values: Record<string, string> = {};\n const missingRequired: string[] = [];\n const sourcePaths = new Set<string>();\n\n const variables = options.includeGeneratedSurfaceVariables\n ? generatedSurfaceVariables(options.surfaceId)\n : contractSurfaceVariables(surface.sourcePathIds);\n\n for (const runtimeVariable of variables) {\n sourcePaths.add(runtimeVariable.secretPath);\n const secretValue = await readVariableSecret({\n bootstrap,\n fetchImpl,\n token,\n secretPath: runtimeVariable.secretPath,\n variable: runtimeVariable,\n });\n\n if (!secretValue) {\n if (runtimeVariable.required) {\n missingRequired.push(runtimeVariable.name);\n }\n continue;\n }\n\n values[runtimeVariable.name] = secretValue.value;\n for (const alias of runtimeVariable.aliases ?? []) {\n values[alias] = secretValue.value;\n }\n }\n\n if (missingRequired.length > 0) {\n throw new InfisicalRuntimeError({\n code: \"INFISICAL_REQUIRED_SECRETS_MISSING\",\n message: `Missing required Infisical runtime secrets: ${missingRequired.join(\", \")}.`,\n });\n }\n\n return {\n status: \"hydrated\",\n surfaceId: options.surfaceId,\n environment: bootstrap.environment,\n values,\n sourcePaths: [...sourcePaths],\n };\n}\n\nexport function applyInfisicalRuntimeEnv(\n result: Pick<InfisicalRuntimeHydrationResult, \"values\">,\n targetEnv: InfisicalRuntimeEnv,\n options: { overrideExisting?: boolean } = {}\n): void {\n for (const [key, value] of Object.entries(result.values)) {\n if (options.overrideExisting || !targetEnv[key]) {\n targetEnv[key] = value;\n }\n }\n}\n\nfunction normalizeInfisicalEnvironment(\n value: string | undefined\n): InfisicalRuntimeEnvironment {\n if (value === \"dev\" || value === \"staging\" || value === \"prod\") {\n return value;\n }\n if (value === \"development\") {\n return \"dev\";\n }\n if (value === \"production\") {\n return \"prod\";\n }\n return \"prod\";\n}\n\nasync function loginWithUniversalAuth(\n bootstrap: InfisicalRuntimeBootstrapConfig,\n fetchImpl: InfisicalRuntimeFetch\n): Promise<string> {\n const response = await fetchImpl(\n `${trimTrailingSlash(bootstrap.apiUrl)}/api/v1/auth/universal-auth/login`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n clientId: bootstrap.clientId,\n clientSecret: bootstrap.clientSecret,\n ...(bootstrap.organizationSlug\n ? { organizationSlug: bootstrap.organizationSlug }\n : {}),\n }),\n }\n );\n\n const body = await readJson(response);\n if (!response.ok) {\n throw new InfisicalRuntimeError({\n code: \"INFISICAL_UNIVERSAL_AUTH_FAILED\",\n status: response.status,\n message: `Infisical Universal Auth failed with HTTP ${response.status}: ${messageFromBody(body)}`,\n });\n }\n\n const accessToken = readNestedString(body, [\"accessToken\"]);\n if (!accessToken) {\n throw new InfisicalRuntimeError({\n code: \"INFISICAL_UNIVERSAL_AUTH_INVALID_RESPONSE\",\n message: \"Infisical Universal Auth response did not include accessToken.\",\n });\n }\n return accessToken;\n}\n\nasync function readVariableSecret(args: {\n bootstrap: InfisicalRuntimeBootstrapConfig;\n fetchImpl: InfisicalRuntimeFetch;\n token: string;\n secretPath: string;\n variable: Pick<InfisicalRuntimeVariable, \"name\" | \"aliases\">;\n}): Promise<{ name: string; value: string } | null> {\n const names = [args.variable.name, ...(args.variable.aliases ?? [])];\n for (const name of names) {\n const value = await readSecretValue({\n bootstrap: args.bootstrap,\n fetchImpl: args.fetchImpl,\n token: args.token,\n secretPath: args.secretPath,\n name,\n optional: true,\n });\n if (value) {\n return { name, value };\n }\n }\n return null;\n}\n\nfunction contractSurfaceVariables(\n sourcePathIds: readonly InfisicalRuntimePathId[]\n): RuntimeHydrationVariable[] {\n return sourcePathIds.flatMap((pathId) => {\n const path = findInfisicalRuntimePath(pathId);\n if (!path) {\n throw new InfisicalRuntimeError({\n code: \"INFISICAL_UNKNOWN_PATH\",\n message: `Unknown Lucern Infisical runtime path: ${pathId}.`,\n });\n }\n return path.variables.map((variable) => ({\n ...variable,\n secretPath: path.secretPath,\n }));\n });\n}\n\nfunction generatedSurfaceVariables(\n surfaceId: InfisicalRuntimeSurfaceId\n): RuntimeHydrationVariable[] {\n const surface = GENERATED_INFISICAL_RUNTIME_ENV.surfaces[surfaceId];\n if (!surface) {\n throw new InfisicalRuntimeError({\n code: \"INFISICAL_UNKNOWN_SURFACE\",\n message: `Unknown generated Lucern Infisical runtime surface: ${surfaceId}.`,\n });\n }\n return surface.variables.map(generatedVariableToRuntimeVariable);\n}\n\nfunction generatedVariableToRuntimeVariable(\n variable: GeneratedInfisicalEnvVariable\n): RuntimeHydrationVariable {\n const aliases = new Set<string>([\n ...variable.envNames.filter((name) => name !== variable.canonicalName),\n ...variable.aliases,\n ]);\n return {\n name: variable.canonicalName,\n required: variable.required,\n secret: variable.secret,\n public: variable.public,\n aliases: [...aliases],\n description: variable.description,\n secretPath: variable.sourcePath,\n };\n}\n\nasync function readSecretValue(args: {\n bootstrap: InfisicalRuntimeBootstrapConfig;\n fetchImpl: InfisicalRuntimeFetch;\n token: string;\n secretPath: string;\n name: string;\n optional: boolean;\n}): Promise<string | null> {\n const params = new URLSearchParams({\n projectId: args.bootstrap.projectId,\n environment: args.bootstrap.environment,\n secretPath: args.secretPath,\n type: \"shared\",\n viewSecretValue: \"true\",\n expandSecretReferences: \"true\",\n includeImports: \"true\",\n });\n const response = await args.fetchImpl(\n `${trimTrailingSlash(args.bootstrap.apiUrl)}/api/v4/secrets/${encodeURIComponent(args.name)}?${params.toString()}`,\n {\n method: \"GET\",\n headers: {\n Authorization: `Bearer ${args.token}`,\n },\n }\n );\n\n const body = await readJson(response);\n if (response.status === 404 && args.optional) {\n return null;\n }\n if (!response.ok) {\n throw new InfisicalRuntimeError({\n code: \"INFISICAL_SECRET_READ_FAILED\",\n status: response.status,\n message: `Infisical secret ${args.name} read failed with HTTP ${response.status}: ${messageFromBody(body)}`,\n });\n }\n\n return readNestedString(body, [\"secret\", \"secretValue\"]);\n}\n\nasync function readJson(response: Response): Promise<unknown> {\n try {\n return await response.json();\n } catch (error) {\n debugInfisicalRuntimeFallback(\"response.json\", error);\n return undefined;\n }\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction readNestedString(value: unknown, path: readonly string[]): string | null {\n let current: unknown = value;\n for (const key of path) {\n if (!isRecord(current) || !(key in current)) {\n return null;\n }\n current = current[key];\n }\n return typeof current === \"string\" && current.length > 0 ? current : null;\n}\n\nfunction messageFromBody(body: unknown): string {\n if (!isRecord(body)) {\n return \"no response body\";\n }\n for (const key of [\"message\", \"error\", \"errorMessage\"]) {\n if (typeof body[key] === \"string\") {\n return body[key];\n }\n }\n return JSON.stringify(body);\n}\n\nfunction readFirst(\n env: InfisicalRuntimeEnv,\n names: readonly string[]\n): string | undefined {\n for (const name of names) {\n const value = env[name]?.trim();\n if (value) {\n return value;\n }\n }\n return undefined;\n}\n\nfunction isTruthyEnv(value: string | undefined): boolean {\n return [\"1\", \"true\", \"yes\", \"on\"].includes(value?.toLowerCase() ?? \"\");\n}\n\nfunction trimTrailingSlash(value: string): string {\n return value.replace(/\\/+$/u, \"\");\n}\n\nfunction debugInfisicalRuntimeFallback(message: string, error: unknown): void {\n const env = (\n globalThis as {\n process?: { env?: Record<string, string | undefined> };\n }\n ).process?.env;\n if (\n env?.LUCERN_COMPAT_FALLBACK_DEBUG !== \"1\" &&\n env?.LUCERN_INFISICAL_RUNTIME_DEBUG !== \"1\"\n ) {\n return;\n }\n console.debug(`[infisical-runtime] ${message}`, {\n error: formatInfisicalRuntimeError(error),\n });\n}\n\nfunction formatInfisicalRuntimeError(error: unknown): string {\n if (error instanceof Error) {\n return `${error.name}: ${error.message}`;\n }\n if (typeof error === \"string\") {\n return error;\n }\n if (typeof error === \"number\" || typeof error === \"boolean\") {\n return String(error);\n }\n if (error && typeof error === \"object\") {\n const keys = Object.keys(error).slice(0, 5);\n if (keys.length > 0) {\n return `Unknown Infisical runtime error object with keys: ${keys.join(\", \")}`;\n }\n }\n return \"Unknown Infisical runtime error shape\";\n}\n"]}
package/dist/secrets.d.ts DELETED
@@ -1 +0,0 @@
1
- export { BrokeredSecretLeaseRef, BrokeredSecretRequest, BrokeredSecretResolverOptions, BrokeredSecretResolverResult, McProxyBindingRef, SecretBootstrapOptions, SecretBrokerClient, SecretResolverError, SecretResolverErrorCode, SecretResolverFetch, SecretResolverOptions, SecretResolverResult, requestBrokeredInfisicalSecret, resolveInfisicalSecretFromBinding } from '@lucern/secrets';
package/dist/secrets.js DELETED
@@ -1,3 +0,0 @@
1
- export { SecretResolverError, requestBrokeredInfisicalSecret, resolveInfisicalSecretFromBinding } from '@lucern/secrets';
2
- //# sourceMappingURL=secrets.js.map
3
- //# sourceMappingURL=secrets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"secrets.js","sourcesContent":[]}