@venturekit/runtime 0.0.0-dev.20260312012510 → 0.0.0-dev.20260329102450

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 (122) hide show
  1. package/README.md +1 -1
  2. package/dist/config/env.d.ts +62 -0
  3. package/dist/config/env.d.ts.map +1 -0
  4. package/dist/config/env.js +98 -0
  5. package/dist/config/env.js.map +1 -0
  6. package/dist/config/secrets.d.ts +67 -0
  7. package/dist/config/secrets.d.ts.map +1 -0
  8. package/dist/config/secrets.js +132 -0
  9. package/dist/config/secrets.js.map +1 -0
  10. package/dist/handler/adapter.d.ts.map +1 -0
  11. package/dist/{adapter.js → handler/adapter.js} +5 -44
  12. package/dist/handler/adapter.js.map +1 -0
  13. package/dist/{context.d.ts → handler/context.d.ts} +44 -3
  14. package/dist/handler/context.d.ts.map +1 -0
  15. package/dist/{context.js → handler/context.js} +9 -9
  16. package/dist/handler/context.js.map +1 -0
  17. package/dist/handler/errors.d.ts.map +1 -0
  18. package/dist/{errors.js → handler/errors.js} +11 -25
  19. package/dist/handler/errors.js.map +1 -0
  20. package/dist/{handler.d.ts → handler/handler.d.ts} +36 -3
  21. package/dist/handler/handler.d.ts.map +1 -0
  22. package/dist/{handler.js → handler/handler.js} +59 -23
  23. package/dist/handler/handler.js.map +1 -0
  24. package/dist/handler/response.d.ts.map +1 -0
  25. package/dist/{response.js → handler/response.js} +9 -17
  26. package/dist/handler/response.js.map +1 -0
  27. package/dist/handler/task-handler.d.ts +192 -0
  28. package/dist/handler/task-handler.d.ts.map +1 -0
  29. package/dist/handler/task-handler.js +262 -0
  30. package/dist/handler/task-handler.js.map +1 -0
  31. package/dist/index.d.ts +33 -14
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +30 -48
  34. package/dist/index.js.map +1 -1
  35. package/dist/{logger.d.ts → logging/logger.d.ts} +1 -1
  36. package/dist/logging/logger.d.ts.map +1 -0
  37. package/dist/{logger.js → logging/logger.js} +8 -16
  38. package/dist/logging/logger.js.map +1 -0
  39. package/dist/logging/tracing.d.ts +51 -0
  40. package/dist/logging/tracing.d.ts.map +1 -0
  41. package/dist/logging/tracing.js +77 -0
  42. package/dist/logging/tracing.js.map +1 -0
  43. package/dist/middleware/middleware.d.ts +120 -0
  44. package/dist/middleware/middleware.d.ts.map +1 -0
  45. package/dist/middleware/middleware.js +270 -0
  46. package/dist/middleware/middleware.js.map +1 -0
  47. package/dist/middleware/rate-limit-store.d.ts +153 -0
  48. package/dist/middleware/rate-limit-store.d.ts.map +1 -0
  49. package/dist/middleware/rate-limit-store.js +182 -0
  50. package/dist/middleware/rate-limit-store.js.map +1 -0
  51. package/dist/openapi/openapi.d.ts +147 -0
  52. package/dist/openapi/openapi.d.ts.map +1 -0
  53. package/dist/openapi/openapi.js +235 -0
  54. package/dist/openapi/openapi.js.map +1 -0
  55. package/dist/openapi.d.ts +10 -0
  56. package/dist/openapi.d.ts.map +1 -0
  57. package/dist/openapi.js +9 -0
  58. package/dist/openapi.js.map +1 -0
  59. package/dist/patterns/circuit-breaker.d.ts +78 -0
  60. package/dist/patterns/circuit-breaker.d.ts.map +1 -0
  61. package/dist/patterns/circuit-breaker.js +113 -0
  62. package/dist/patterns/circuit-breaker.js.map +1 -0
  63. package/dist/patterns/idempotency.d.ts +175 -0
  64. package/dist/patterns/idempotency.d.ts.map +1 -0
  65. package/dist/patterns/idempotency.js +305 -0
  66. package/dist/patterns/idempotency.js.map +1 -0
  67. package/dist/patterns/invoke.d.ts +279 -0
  68. package/dist/patterns/invoke.d.ts.map +1 -0
  69. package/dist/patterns/invoke.js +581 -0
  70. package/dist/patterns/invoke.js.map +1 -0
  71. package/dist/patterns/saga.d.ts +391 -0
  72. package/dist/patterns/saga.d.ts.map +1 -0
  73. package/dist/patterns/saga.js +556 -0
  74. package/dist/patterns/saga.js.map +1 -0
  75. package/dist/patterns.d.ts +17 -0
  76. package/dist/patterns.d.ts.map +1 -0
  77. package/dist/patterns.js +17 -0
  78. package/dist/patterns.js.map +1 -0
  79. package/dist/rate-limit.d.ts +16 -0
  80. package/dist/rate-limit.d.ts.map +1 -0
  81. package/dist/rate-limit.js +15 -0
  82. package/dist/rate-limit.js.map +1 -0
  83. package/dist/secrets.d.ts +11 -0
  84. package/dist/secrets.d.ts.map +1 -0
  85. package/dist/secrets.js +10 -0
  86. package/dist/secrets.js.map +1 -0
  87. package/dist/testing/test-utils.d.ts +99 -0
  88. package/dist/testing/test-utils.d.ts.map +1 -0
  89. package/dist/testing/test-utils.js +153 -0
  90. package/dist/testing/test-utils.js.map +1 -0
  91. package/dist/testing.d.ts +10 -0
  92. package/dist/testing.d.ts.map +1 -0
  93. package/dist/testing.js +9 -0
  94. package/dist/testing.js.map +1 -0
  95. package/dist/ws/ws.d.ts +139 -0
  96. package/dist/ws/ws.d.ts.map +1 -0
  97. package/dist/ws/ws.js +294 -0
  98. package/dist/ws/ws.js.map +1 -0
  99. package/dist/ws.d.ts +5 -133
  100. package/dist/ws.d.ts.map +1 -1
  101. package/dist/ws.js +4 -291
  102. package/dist/ws.js.map +1 -1
  103. package/package.json +47 -5
  104. package/dist/adapter.d.ts.map +0 -1
  105. package/dist/adapter.js.map +0 -1
  106. package/dist/context.d.ts.map +0 -1
  107. package/dist/context.js.map +0 -1
  108. package/dist/errors.d.ts.map +0 -1
  109. package/dist/errors.js.map +0 -1
  110. package/dist/handler.d.ts.map +0 -1
  111. package/dist/handler.js.map +0 -1
  112. package/dist/logger.d.ts.map +0 -1
  113. package/dist/logger.js.map +0 -1
  114. package/dist/middleware.d.ts +0 -47
  115. package/dist/middleware.d.ts.map +0 -1
  116. package/dist/middleware.js +0 -147
  117. package/dist/middleware.js.map +0 -1
  118. package/dist/response.d.ts.map +0 -1
  119. package/dist/response.js.map +0 -1
  120. /package/dist/{adapter.d.ts → handler/adapter.d.ts} +0 -0
  121. /package/dist/{errors.d.ts → handler/errors.d.ts} +0 -0
  122. /package/dist/{response.d.ts → handler/response.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../../src/patterns/idempotency.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,279 @@
1
+ /**
2
+ * VentureKit Lambda-to-Lambda Invocation
3
+ *
4
+ * Type-safe invocation of other VentureKit Lambda functions.
5
+ * Supports sync (RequestResponse) and async (Event) invocation.
6
+ * Automatically propagates trace context, tenant, and user info.
7
+ *
8
+ * ## Quick Start
9
+ *
10
+ * ```typescript
11
+ * import { invoke, invokeDirect } from '@venturekit/runtime';
12
+ *
13
+ * // Invoke another VentureKit route handler (builds API Gateway event)
14
+ * const result = await invoke('users/{id}', {
15
+ * method: 'GET',
16
+ * pathParams: { id: '42' },
17
+ * });
18
+ *
19
+ * // Invoke any Lambda function directly with a custom payload
20
+ * const result = await invokeDirect('my-worker-function', {
21
+ * task: 'processImage',
22
+ * imageUrl: 'https://...',
23
+ * });
24
+ * ```
25
+ */
26
+ import type { TraceContext } from '../logging/tracing.js';
27
+ import type { CircuitBreakerOptions } from './circuit-breaker.js';
28
+ /**
29
+ * Invocation mode
30
+ */
31
+ export type InvokeMode = 'sync' | 'async';
32
+ /**
33
+ * Invoke options
34
+ */
35
+ export interface InvokeOptions {
36
+ /** HTTP method (default: POST) */
37
+ method?: string;
38
+ /** Request body */
39
+ body?: unknown;
40
+ /** Path parameters */
41
+ pathParams?: Record<string, string>;
42
+ /** Query parameters */
43
+ queryParams?: Record<string, string>;
44
+ /** Additional headers */
45
+ headers?: Record<string, string>;
46
+ /** Invocation mode: 'sync' (default) or 'async' (fire-and-forget) */
47
+ mode?: InvokeMode;
48
+ /** Trace context to propagate */
49
+ trace?: TraceContext;
50
+ /** Tenant ID to propagate */
51
+ tenantId?: string;
52
+ /** User ID to propagate */
53
+ userId?: string;
54
+ /**
55
+ * Fallback result returned when the circuit breaker is open or the
56
+ * failure threshold is reached. When provided, the built-in circuit
57
+ * breaker is automatically enabled for this call.
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * const users = await invoke<User[]>('users/list', {
62
+ * method: 'GET',
63
+ * fallback: { statusCode: 503, data: [], headers: {} },
64
+ * });
65
+ * ```
66
+ */
67
+ fallback?: InvokeResult<any>;
68
+ }
69
+ /**
70
+ * Invoke result
71
+ */
72
+ export interface InvokeResult<T = unknown> {
73
+ statusCode: number;
74
+ data: T;
75
+ headers: Record<string, string>;
76
+ }
77
+ /**
78
+ * Lambda invoker function type.
79
+ * This is the low-level function that actually calls AWS Lambda.
80
+ * Users provide this so the runtime doesn't hard-depend on AWS SDK.
81
+ */
82
+ export interface LambdaInvoker {
83
+ (params: {
84
+ functionName: string;
85
+ payload: string;
86
+ invocationType: 'RequestResponse' | 'Event';
87
+ }): Promise<{
88
+ statusCode?: number;
89
+ payload?: string;
90
+ }>;
91
+ }
92
+ /**
93
+ * Route-to-function-name resolver.
94
+ * Converts a VentureKit route path to an AWS Lambda function name.
95
+ */
96
+ export type FunctionNameResolver = (route: string) => string;
97
+ /**
98
+ * Default function name resolver.
99
+ * Converts 'users/get' → '{prefix}-users-get'
100
+ */
101
+ export declare function defaultFunctionNameResolver(prefix: string): FunctionNameResolver;
102
+ /**
103
+ * Create a VentureKit service invoker
104
+ */
105
+ export declare function createInvoker(options: {
106
+ /** Low-level Lambda invoker function */
107
+ invoker: LambdaInvoker;
108
+ /** Function name resolver (route → Lambda function name) */
109
+ resolver: FunctionNameResolver;
110
+ }): <T = unknown>(route: string, invokeOptions?: InvokeOptions) => Promise<InvokeResult<T>>;
111
+ /**
112
+ * Configure the shared circuit breaker used by `invoke()`.
113
+ * Call this at startup if you need custom thresholds.
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * configureCircuitBreaker({ failureThreshold: 3, resetTimeoutMs: 60_000 });
118
+ * ```
119
+ */
120
+ export declare function configureCircuitBreaker(options: CircuitBreakerOptions): void;
121
+ /**
122
+ * Create a LambdaInvoker backed by the AWS SDK v3.
123
+ * Lazily loads `@aws-sdk/client-lambda` to avoid hard dependency.
124
+ */
125
+ export declare function createLambdaInvoker(options?: {
126
+ /** AWS region (default: process.env.AWS_REGION || 'us-east-1') */
127
+ region?: string;
128
+ }): Promise<LambdaInvoker>;
129
+ /**
130
+ * Create a LambdaInvoker that routes calls to the local dev server via HTTP.
131
+ * Used automatically when VENTURE_LOCAL=true.
132
+ *
133
+ * Route invocations are forwarded as real HTTP requests to localhost.
134
+ * Function invocations are forwarded to /_dev/invoke/{name}.
135
+ *
136
+ * ### Cross-project calls
137
+ *
138
+ * By default all calls go to the current project's dev server. To call
139
+ * functions in another local project, set `VENTURE_LOCAL_URLS`:
140
+ *
141
+ * ```bash
142
+ * VENTURE_LOCAL_URLS="app=http://localhost:3000,billing=http://localhost:3001"
143
+ * ```
144
+ *
145
+ * The invoker matches the function name prefix against the registry
146
+ * and routes accordingly.
147
+ */
148
+ export declare function createLocalInvoker(): LambdaInvoker;
149
+ /**
150
+ * Target for direct function invocation.
151
+ *
152
+ * Use this object form when calling standalone Lambda functions
153
+ * (not API Gateway routes) like saga workers, processors, etc.
154
+ */
155
+ export interface FunctionInvokeTarget {
156
+ /**
157
+ * Function name as defined in your project.
158
+ * This is the short name (e.g. 'process-orders'), NOT the full AWS name.
159
+ * VentureKit resolves it to `{project}-{stage}-fn-{name}` automatically.
160
+ *
161
+ * For functions in subdirectories under src/functions/:
162
+ * - `src/functions/process-orders.ts` → `'process-orders'`
163
+ * - `src/functions/order/create-order.ts` → `'order-create-order'`
164
+ */
165
+ function: string;
166
+ /**
167
+ * Target project name. Omit to invoke a function in the current project.
168
+ * Set this when calling a function in a different microservice / project.
169
+ *
170
+ * The resolved name becomes `{project}-{stage}-fn-{name}`.
171
+ *
172
+ * In local dev, the request is routed to the project's dev server
173
+ * as configured in `VENTURE_LOCAL_URLS`.
174
+ *
175
+ * @example
176
+ * ```typescript
177
+ * // Call 'send-invoice' in the 'billing' project
178
+ * await invoke({ function: 'send-invoice', project: 'billing' }, {
179
+ * payload: { orderId: '123' },
180
+ * });
181
+ * ```
182
+ */
183
+ project?: string;
184
+ }
185
+ /**
186
+ * Options for direct function invocation (via object form).
187
+ */
188
+ export interface FunctionInvokeOptions {
189
+ /** Payload to send to the function */
190
+ payload?: unknown;
191
+ /** Invocation mode: 'sync' (default) or 'async' (fire-and-forget) */
192
+ mode?: InvokeMode;
193
+ /**
194
+ * Fallback result returned when the circuit breaker is open.
195
+ * See `InvokeOptions.fallback` for details.
196
+ */
197
+ fallback?: InvokeResult<any>;
198
+ }
199
+ /**
200
+ * Resolve a standalone function name to its full AWS Lambda name.
201
+ * Convention: `{project}-{stage}-fn-{name}`
202
+ *
203
+ * @param name - Short function name (e.g. 'process-orders')
204
+ * @param project - Target project name. Defaults to the current project.
205
+ */
206
+ export declare function resolveFunctionName(name: string, project?: string): string;
207
+ /**
208
+ * Invoke another VentureKit Lambda function.
209
+ *
210
+ * **Unified API** — supports both route handlers and standalone functions:
211
+ *
212
+ * ### Route invocation (string first param)
213
+ * Calls another VentureKit route handler. Builds an API Gateway V2 event,
214
+ * calls Lambda directly (skips API Gateway), and parses the response.
215
+ *
216
+ * ### Function invocation (object first param)
217
+ * Calls a standalone function (saga worker, processor, etc.) with a raw payload.
218
+ * Auto-resolves the full Lambda name from your short function name.
219
+ *
220
+ * @example Route invocation
221
+ * ```typescript
222
+ * import { invoke } from '@venturekit/runtime';
223
+ *
224
+ * // Call a route handler
225
+ * const users = await invoke<User[]>('users/list', { method: 'GET' });
226
+ *
227
+ * // POST with body
228
+ * const created = await invoke<User>('users/create', {
229
+ * body: { name: 'Alice' },
230
+ * });
231
+ *
232
+ * // Fire-and-forget
233
+ * await invoke('notifications/send', { mode: 'async', body: { userId: '42' } });
234
+ * ```
235
+ *
236
+ * @example Function invocation
237
+ * ```typescript
238
+ * import { invoke } from '@venturekit/runtime';
239
+ *
240
+ * // Call a standalone function (src/functions/process-orders.ts)
241
+ * const result = await invoke<{ jobId: string }>(
242
+ * { function: 'process-orders' },
243
+ * { payload: { orderId: 'abc', items: [...] } },
244
+ * );
245
+ *
246
+ * // Fire-and-forget
247
+ * await invoke(
248
+ * { function: 'send-email' },
249
+ * { payload: { to: 'user@example.com' }, mode: 'async' },
250
+ * );
251
+ * ```
252
+ */
253
+ export declare function invoke<T = unknown>(target: string | FunctionInvokeTarget, options?: InvokeOptions | FunctionInvokeOptions): Promise<InvokeResult<T>>;
254
+ /**
255
+ * Options for direct Lambda invocation (non-API-gateway functions).
256
+ * @deprecated Use `invoke({ function: 'name' }, { payload, mode })` instead.
257
+ */
258
+ export interface DirectInvokeOptions {
259
+ /** Invocation mode: 'sync' (default) or 'async' (fire-and-forget) */
260
+ mode?: InvokeMode;
261
+ /** AWS region override */
262
+ region?: string;
263
+ }
264
+ /**
265
+ * Invoke result for direct invocations.
266
+ * @deprecated Use `invoke({ function: 'name' })` instead — returns InvokeResult.
267
+ */
268
+ export interface DirectInvokeResult<T = unknown> {
269
+ statusCode: number;
270
+ data: T;
271
+ }
272
+ /**
273
+ * Invoke any Lambda function directly with a custom payload.
274
+ *
275
+ * @deprecated Use the unified `invoke({ function: 'name' }, { payload })` API instead.
276
+ * This function requires the full AWS Lambda name; the new API auto-resolves it.
277
+ */
278
+ export declare function invokeDirect<T = unknown>(functionName: string, payload?: unknown, options?: DirectInvokeOptions): Promise<DirectInvokeResult<T>>;
279
+ //# sourceMappingURL=invoke.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../../src/patterns/invoke.ts"],"names":[],"mappings":"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"}