local-serverless-stack 0.4.0 ā 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +43 -0
- package/README.md +8 -8
- package/bin/cli.js +38 -3
- package/dist/client/index.d.ts +7 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +6 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/namespaces/apis.d.ts +48 -0
- package/dist/client/namespaces/apis.d.ts.map +1 -0
- package/dist/client/namespaces/apis.js +12 -0
- package/dist/client/namespaces/apis.js.map +1 -0
- package/dist/client/namespaces/lambdas.d.ts +61 -0
- package/dist/client/namespaces/lambdas.d.ts.map +1 -0
- package/dist/client/namespaces/lambdas.js +13 -0
- package/dist/client/namespaces/lambdas.js.map +1 -0
- package/dist/client/namespaces/services.d.ts +40 -0
- package/dist/client/namespaces/services.d.ts.map +1 -1
- package/dist/client/namespaces/services.js +3 -0
- package/dist/client/namespaces/services.js.map +1 -1
- package/dist/client/types.d.ts +2 -0
- package/dist/client/types.d.ts.map +1 -1
- package/dist/server/index.js +25 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/routes/apis.d.ts +3 -0
- package/dist/server/routes/apis.d.ts.map +1 -0
- package/dist/server/routes/apis.js +54 -0
- package/dist/server/routes/apis.js.map +1 -0
- package/dist/server/routes/lambdas.d.ts +3 -0
- package/dist/server/routes/lambdas.d.ts.map +1 -0
- package/dist/server/routes/lambdas.js +85 -0
- package/dist/server/routes/lambdas.js.map +1 -0
- package/dist/server/routes/services.d.ts.map +1 -1
- package/dist/server/routes/services.js +91 -81
- package/dist/server/routes/services.js.map +1 -1
- package/dist/server/runtime/runtime-worker.d.ts +2 -0
- package/dist/server/runtime/runtime-worker.d.ts.map +1 -0
- package/dist/server/runtime/runtime-worker.js +230 -0
- package/dist/server/runtime/runtime-worker.js.map +1 -0
- package/dist/server/services/api-gateway-events.d.ts +44 -0
- package/dist/server/services/api-gateway-events.d.ts.map +1 -0
- package/dist/server/services/api-gateway-events.js +299 -0
- package/dist/server/services/api-gateway-events.js.map +1 -0
- package/dist/server/services/artifact-resolver.d.ts +2 -0
- package/dist/server/services/artifact-resolver.d.ts.map +1 -0
- package/dist/server/services/artifact-resolver.js +38 -0
- package/dist/server/services/artifact-resolver.js.map +1 -0
- package/dist/server/services/authorizer-service.d.ts +25 -0
- package/dist/server/services/authorizer-service.d.ts.map +1 -0
- package/dist/server/services/authorizer-service.js +0 -0
- package/dist/server/services/authorizer-service.js.map +1 -0
- package/dist/server/services/cache-manager.d.ts +6 -0
- package/dist/server/services/cache-manager.d.ts.map +1 -1
- package/dist/server/services/cache-manager.js.map +1 -1
- package/dist/server/services/cloudformation-parser.d.ts +15 -0
- package/dist/server/services/cloudformation-parser.d.ts.map +1 -1
- package/dist/server/services/cloudformation-parser.js +36 -3
- package/dist/server/services/cloudformation-parser.js.map +1 -1
- package/dist/server/services/config-manager.d.ts +36 -0
- package/dist/server/services/config-manager.d.ts.map +1 -1
- package/dist/server/services/config-manager.js +57 -0
- package/dist/server/services/config-manager.js.map +1 -1
- package/dist/server/services/function-registry.d.ts +33 -0
- package/dist/server/services/function-registry.d.ts.map +1 -0
- package/dist/server/services/function-registry.js +100 -0
- package/dist/server/services/function-registry.js.map +1 -0
- package/dist/server/services/gateway-manager.d.ts +31 -0
- package/dist/server/services/gateway-manager.d.ts.map +1 -0
- package/dist/server/services/gateway-manager.js +292 -0
- package/dist/server/services/gateway-manager.js.map +1 -0
- package/dist/server/services/lambda-runtime-manager.d.ts +52 -0
- package/dist/server/services/lambda-runtime-manager.d.ts.map +1 -0
- package/dist/server/services/lambda-runtime-manager.js +309 -0
- package/dist/server/services/lambda-runtime-manager.js.map +1 -0
- package/dist/server/services/localstack-manager.d.ts.map +1 -1
- package/dist/server/services/localstack-manager.js +9 -0
- package/dist/server/services/localstack-manager.js.map +1 -1
- package/dist/server/services/resource-provisioner.d.ts +1 -0
- package/dist/server/services/resource-provisioner.d.ts.map +1 -1
- package/dist/server/services/resource-provisioner.js +73 -11
- package/dist/server/services/resource-provisioner.js.map +1 -1
- package/dist/server/services/serverless-state-parser.d.ts +86 -0
- package/dist/server/services/serverless-state-parser.d.ts.map +1 -0
- package/dist/server/services/serverless-state-parser.js +245 -0
- package/dist/server/services/serverless-state-parser.js.map +1 -0
- package/dist/server/services/service-registrar.d.ts +34 -0
- package/dist/server/services/service-registrar.d.ts.map +1 -0
- package/dist/server/services/service-registrar.js +280 -0
- package/dist/server/services/service-registrar.js.map +1 -0
- package/dist/server/services/source-watcher.d.ts +24 -0
- package/dist/server/services/source-watcher.d.ts.map +1 -0
- package/dist/server/services/source-watcher.js +101 -0
- package/dist/server/services/source-watcher.js.map +1 -0
- package/dist/ui/assets/ApisPage-DdgKjEdS.js +1 -0
- package/dist/ui/assets/{BucketDetailPage-Hg4Gg3jC.js ā BucketDetailPage-DZQGxm0y.js} +1 -1
- package/dist/ui/assets/{BucketsPage-BHkg7TQp.js ā BucketsPage-xYXzxCvd.js} +1 -1
- package/dist/ui/assets/{DynamoPage-CH_TgPh_.js ā DynamoPage-B1__Rjr2.js} +1 -1
- package/dist/ui/assets/{DynamoTablePage-BPvl5y6_.js ā DynamoTablePage-BCoxPdXW.js} +1 -1
- package/dist/ui/assets/LambdaDetailPage-B85CA8tb.js +4 -0
- package/dist/ui/assets/LambdasPage-_TtxQMT_.js +1 -0
- package/dist/ui/assets/{OverviewPage-CwLnw4VW.css ā OverviewPage-6jDXV1jr.css} +1 -1
- package/dist/ui/assets/OverviewPage-CqTKTY64.js +1 -0
- package/dist/ui/assets/{QueueDetailPage-DHDPgRDc.js ā QueueDetailPage-BOr_sImA.js} +1 -1
- package/dist/ui/assets/{QueuesPage-D5YcEbUU.js ā QueuesPage-DpByfcM5.js} +1 -1
- package/dist/ui/assets/{ServiceDetailPage-DxJ0t7HQ.js ā ServiceDetailPage-DsWgV-ad.js} +1 -1
- package/dist/ui/assets/{ServicesPage-DWDaaOz9.js ā ServicesPage-CGlpsj98.js} +1 -1
- package/dist/ui/assets/{index-D3WwZ4lY.js ā index-BWlB542w.js} +11 -11
- package/dist/ui/index.html +1 -1
- package/package.json +1 -1
- package/packages/serverless-plugin/README.md +21 -3
- package/packages/serverless-plugin/dist/index.js +8 -3
- package/packages/serverless-plugin/dist/index.js.map +1 -1
- package/dist/ui/assets/OverviewPage-nhomNDqx.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,49 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.6.0] - 2026-07-09
|
|
9
|
+
|
|
10
|
+
Corrections from integrating LSS 0.5.0 in a real monorepo using osls 4, serverless-esbuild ESM artifacts, HTTP API v2 authorizers, DynamoDB Streams, and Docker-in-Docker devcontainers.
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- **Configurable LocalStack proxy callback host**: `lambdaRuntime.invokeHost` and `LSS_INVOKE_HOST` now control the host used when generated LocalStack Lambda proxies call back into LSS's invoke listener. The default remains `host.docker.internal`; devcontainers/DinD can point it at the Docker network gateway (for example `172.19.0.1`).
|
|
14
|
+
- **Native TypeScript source loading when available**: in `source` mode, the runtime worker now tries Node's native TypeScript type stripping (`process.features.typescript`) before requiring `esbuild-register`, `tsx`, or `ts-node`.
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
- **Artifact resolution for osls/serverless package output**: `package.artifact` values such as `s7-identity.zip` are now resolved relative to `.serverless/` as well as the service root, and nonexistent declared candidates no longer suppress the `.serverless/*.zip` scan fallback.
|
|
18
|
+
- **Stale LocalStack proxy `INVOKE_URL`**: re-registering a service now updates an existing proxy Lambda when the expected invoke URL changed (port renumbering or `invokeHost` changes).
|
|
19
|
+
- **Service identity collisions**: service registration now uses the `service:` name from `serverless-state.json` instead of the directory basename, with migration for same-root legacy cache entries.
|
|
20
|
+
- **Event source mapping fidelity**: CloudFormation `StartingPosition`, `MaximumRetryAttempts`, `FunctionResponseTypes`, `MaximumBatchingWindowInSeconds`, `FilterCriteria`, and `DestinationConfig.OnFailure` are parsed/applied where supported; duplicate checks compare the resolved live ARN instead of unresolved CFN refs.
|
|
21
|
+
- **DynamoDB table fidelity**: `StreamViewType` is preserved and `TimeToLiveSpecification` is applied after table creation or on re-registration, including disabled TTL declarations.
|
|
22
|
+
- **CLI stop/start race**: `lss stop` now waits for the orchestrator process to exit (with timeout) before returning, reducing immediate `lss start` failures from a still-bound port.
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
- The root package version is now `0.6.0`. The `serverless-lss` plugin package was not changed.
|
|
26
|
+
|
|
27
|
+
### Tests
|
|
28
|
+
- Added/updated unit coverage for artifact resolution, Lambda runtime config env overrides, CloudFormation parsing, ResourceProvisioner proxy/TTL/event-source behavior, and the async CLI stop flow.
|
|
29
|
+
|
|
30
|
+
## [0.5.0] - 2026-07-08
|
|
31
|
+
|
|
32
|
+
API Gateway & Lambda runtime emulation: LSS now registers every function and HTTP route a service declares, executes the handlers itself in per-service workers, and answers on the service's own API (30xx) and Lambda-invoke (130xx) ports ā making `serverless-offline` optional. Monorepo callers and the LocalStack event proxies keep their ports and contracts unchanged; only the process answering changes.
|
|
33
|
+
|
|
34
|
+
### Added
|
|
35
|
+
- **Function & route registry**: `POST /api/services/register` (and the `serverless-lss` plugin on `sls package`) now also parses `.serverless/serverless-state.json` ā functions (name, handler, runtime, env, memory, timeout, triggers, artifact), REST (`http`, payload v1) and HTTP API (`httpApi`, payload v2) routes, and Lambda authorizers ā persisted in the service cache and rehydrated on orchestrator restart. The plugin additionally reports `apiPort` (`custom.lss.apiPort` > `custom['serverless-offline'].httpPort`; same for `invokePort`/`lambdaPort`).
|
|
36
|
+
- **Lambda runtime workers** (`lambda-runtime-manager.ts` + `runtime/runtime-worker.ts`): one forked worker per service loads handlers lazily (warm starts), applies per-function env/timeout, builds a faithful Lambda `context`, captures `console.*` per invocation via `AsyncLocalStorage`, tolerates handler crashes (auto-restart with backoff) and enforces timeouts with the classic `Task timed out after N seconds` shape. Execution modes: `artifact` (extracts the `sls package` zip ā TS and JS handlers arrive compiled), `source` (requires handlers from the source tree; TS via `esbuild-register`/`tsx`/`ts-node` resolved from the service's or LSS's node_modules), `auto` (artifact when a zip exists). Configured globally (`lambdaRuntime`) or per service (`serviceRuntime`).
|
|
37
|
+
- **AWS Lambda Invoke API per service (130xx)**: `POST /2015-03-31/functions/{name}/invocations` honoring `X-Amz-Invocation-Type` (`RequestResponse` 200, `Event` 202, `DryRun` 204) and `X-Amz-Function-Error`/`X-Amz-Log-Result` ā the exact contract the LocalStack event-source proxies already call, so SQS/stream/S3 flows work with no serverless-offline running and zero provisioner changes. **Every** registered function is invocable this way, including schedule/queue-only ones.
|
|
38
|
+
- **API Gateway emulator per service (30xx)**: multi-port gateway inside the orchestrator process (no extra processes). Route matching (literal > `{param}` > `{proxy+}` > `$default`; exact method > `ANY`), API Gateway event payloads v1.0/v2.0 (multi-value headers/query, cookies, base64 bodies), response mapping with real semantics (v1 malformed proxy response ā 502; v2 inferred responses), CORS preflight answering, and a `port-conflict` listener status instead of a failed registration when serverless-offline still owns the port.
|
|
39
|
+
- **Lambda authorizers**: REST `token` and `request` (payload 1.0) and HTTP API `request` (payload 1.0/2.0 with `enableSimpleResponses`), identity-source extraction for v1 (`method.request.header.x`) and v2 (`$request.header.x`) styles (missing source ā 401 without invoking), IAM-policy and simple-response interpretation (deny ā 403), result caching per `resultTtlInSeconds` with `POST /api/apis/authorizer-cache/clear` (global/per-service/per-authorizer) for e2e identity switches, and **cross-service resolution**: an authorizer `arn` pointing at another registered service's function resolves through the global registry ā something serverless-offline cannot do in a monorepo.
|
|
40
|
+
- **Hot reload** (`source-watcher.ts`): watched services restart their runtime worker on source changes (module cache flush); `serverless.yml`/`package.json` changes re-package (with `autoPackage`) and fully re-register. Defaults: on in source mode, off in artifact mode; `watch` configurable globally/per service.
|
|
41
|
+
- **New orchestrator endpoints**: `GET /api/lambdas` (+ `/:name`, `POST /:name/invoke`, `GET /:name/logs`), `GET /api/apis`, `POST /api/apis/authorizer-cache/clear`, `GET /api/services/:name/runtime`, `POST /api/services/:name/runtime/start|stop`; `GET /api/services` now reports `functionsCount`/`routesCount`/`runtimeStatus`/`gateway`.
|
|
42
|
+
- **`LssClient`**: new `lambdas` (`list`/`get`/`invoke`/`logs`) and `apis` (`list`/`clearAuthorizerCache`) namespaces plus `services.runtime`/`startRuntime`/`stopRuntime`; `RegisterServiceInput.apiPort`.
|
|
43
|
+
- **Dashboard**: new **Lambdas** (list + detail with JSON invoke, triggers, env, invocation logs) and **APIs** (routes per service with listener status, authorizers, copy-as-curl) sections.
|
|
44
|
+
- **Example `examples/multi-service-sample`**: three microservices (TypeScript + JavaScript, REST v1 + HTTP API v2) on community LocalStack exercising local and cross-service authorizers, SQS event flow and an invocable scheduled function ā with no serverless-offline dependency.
|
|
45
|
+
- **PRD**: `docs/PRD_API_LAMBDA_EMULATION.md` documents the full design (Portuguese, like the original proposal doc).
|
|
46
|
+
|
|
47
|
+
### Changed
|
|
48
|
+
- `/api/services/register` accepts `apiPort` and derives a missing `invokePort` as `apiPort + lambdaRuntime.invokePortOffset` (default 10000 ā the 30xxā130xx monorepo convention). Registration/activation logic was factored out of the route into `service-registrar.ts`.
|
|
49
|
+
- `serverless-lss` plugin package bumped to `0.2.0` because its registration payload now includes API Gateway port metadata (`apiPort`).
|
|
50
|
+
|
|
8
51
|
## [0.4.0] - 2026-06-08
|
|
9
52
|
|
|
10
53
|
Per-service and global package parameters for `autoPackage`, so different microservices can package with different `serverless` params/env (e.g. one service needs `--param=custom-stage=offline` while others use the plain command).
|
package/README.md
CHANGED
|
@@ -10,8 +10,8 @@ LSS provides a unified local development environment for serverless microservice
|
|
|
10
10
|
|
|
11
11
|
- **Centralized LocalStack**: Single LocalStack instance manages DynamoDB, SQS, SNS, S3, and Lambda
|
|
12
12
|
- **Auto-provisioning**: Parses CloudFormation templates from `sls package` and provisions resources automatically
|
|
13
|
-
- **Event source mappings**: Automatically connects SQS queues to Lambda handlers via LocalStack
|
|
14
|
-
- **Lambda
|
|
13
|
+
- **Event source mappings**: Automatically connects SQS queues, streams, and S3 notifications to Lambda handlers via LocalStack
|
|
14
|
+
- **Lambda runtime & API emulation**: LSS can answer on the same API (30xx) and Lambda invoke (130xx) ports that serverless-offline used
|
|
15
15
|
- **Web UI**: Vue 3 dashboard to monitor services, resources, and event mappings
|
|
16
16
|
- **Hot reload**: Watch for code changes and auto-rebuild/reprovision
|
|
17
17
|
- **Process management**: Start/stop microservices from the orchestrator
|
|
@@ -50,7 +50,7 @@ local-serverless-stack/
|
|
|
50
50
|
|
|
51
51
|
### Prerequisites
|
|
52
52
|
|
|
53
|
-
- Node.js >=
|
|
53
|
+
- Node.js >= 20
|
|
54
54
|
- Docker (for LocalStack)
|
|
55
55
|
- Serverless Framework 3.40.0
|
|
56
56
|
|
|
@@ -178,19 +178,19 @@ npx lss start
|
|
|
178
178
|
cd your-microservice
|
|
179
179
|
npx sls package
|
|
180
180
|
|
|
181
|
-
# 3.
|
|
182
|
-
npx serverless offline start --host 0.0.0.0 --httpPort 3020 --lambdaPort 13020
|
|
183
|
-
|
|
184
|
-
# 4. Monitor in the dashboard
|
|
181
|
+
# 3. Monitor in the dashboard
|
|
185
182
|
open http://localhost:3100
|
|
186
183
|
```
|
|
187
184
|
|
|
188
185
|
Now when you send a message to an SQS queue in LocalStack, the orchestrator will:
|
|
189
186
|
1. Detect the event via event source mapping
|
|
190
187
|
2. Invoke the Lambda proxy in LocalStack
|
|
191
|
-
3. Proxy
|
|
188
|
+
3. Proxy calls LSS's Lambda invoke listener on the service invoke port
|
|
192
189
|
4. Your handler executes
|
|
193
190
|
|
|
191
|
+
If you still want serverless-offline to own the ports for a service, disable the
|
|
192
|
+
LSS runtime globally or per service with `lambdaRuntime.enabled`/`serviceRuntime`.
|
|
193
|
+
|
|
194
194
|
## Project Structure
|
|
195
195
|
|
|
196
196
|
```
|
package/bin/cli.js
CHANGED
|
@@ -262,7 +262,34 @@ function startOrchestrator() {
|
|
|
262
262
|
}, 2000);
|
|
263
263
|
}
|
|
264
264
|
|
|
265
|
-
|
|
265
|
+
// Poll kill(pid, 0) until the process is gone. SIGTERM alone isn't enough to
|
|
266
|
+
// return from `stop`: an immediate `lss start` would race the dying orchestrator
|
|
267
|
+
// for the server port and crash with EADDRINUSE.
|
|
268
|
+
function waitForExit(pid, timeoutMs = 10000, intervalMs = 200) {
|
|
269
|
+
return new Promise(resolve => {
|
|
270
|
+
const deadline = Date.now() + timeoutMs;
|
|
271
|
+
let timer;
|
|
272
|
+
const finish = (value) => {
|
|
273
|
+
if (timer) clearInterval(timer);
|
|
274
|
+
resolve(value);
|
|
275
|
+
};
|
|
276
|
+
const check = () => {
|
|
277
|
+
try {
|
|
278
|
+
process.kill(pid, 0);
|
|
279
|
+
} catch (e) {
|
|
280
|
+
finish(true);
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
if (Date.now() >= deadline) {
|
|
284
|
+
finish(false);
|
|
285
|
+
}
|
|
286
|
+
};
|
|
287
|
+
timer = setInterval(check, intervalMs);
|
|
288
|
+
check();
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
async function stopOrchestrator() {
|
|
266
293
|
const { pidFile } = runtimePaths();
|
|
267
294
|
if (!fs.existsSync(pidFile)) {
|
|
268
295
|
console.log('ā ļø LSS Orchestrator is not running');
|
|
@@ -273,13 +300,20 @@ function stopOrchestrator() {
|
|
|
273
300
|
|
|
274
301
|
try {
|
|
275
302
|
process.kill(pid, 'SIGTERM');
|
|
276
|
-
fs.unlinkSync(pidFile);
|
|
277
|
-
console.log('š LSS Orchestrator stopped (PID:', pid + ')');
|
|
278
303
|
} catch (e) {
|
|
279
304
|
console.error('ā Failed to stop process:', e.message);
|
|
280
305
|
if (fs.existsSync(pidFile)) {
|
|
281
306
|
fs.unlinkSync(pidFile);
|
|
282
307
|
}
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
const exited = await waitForExit(pid);
|
|
312
|
+
fs.unlinkSync(pidFile);
|
|
313
|
+
if (exited) {
|
|
314
|
+
console.log('š LSS Orchestrator stopped (PID:', pid + ')');
|
|
315
|
+
} else {
|
|
316
|
+
console.warn(`ā ļø Process ${pid} did not exit within 10s of SIGTERM ā the server port may still be busy. Check \`lss status\` before starting again.`);
|
|
283
317
|
}
|
|
284
318
|
}
|
|
285
319
|
|
|
@@ -687,6 +721,7 @@ module.exports = {
|
|
|
687
721
|
getArgValue,
|
|
688
722
|
runtimePaths,
|
|
689
723
|
getOrchestratorPath,
|
|
724
|
+
waitForExit,
|
|
690
725
|
formatError,
|
|
691
726
|
buildHttpError,
|
|
692
727
|
firstPositional,
|
package/dist/client/index.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ import { type ResourcesApi } from './namespaces/resources';
|
|
|
8
8
|
import { type ServicesApi } from './namespaces/services';
|
|
9
9
|
import { type ConfigApi } from './namespaces/config';
|
|
10
10
|
import { type HealthApi } from './namespaces/health';
|
|
11
|
+
import { type LambdasApi } from './namespaces/lambdas';
|
|
12
|
+
import { type ApisApi } from './namespaces/apis';
|
|
11
13
|
import type { LssClientOptions } from './types';
|
|
12
14
|
export declare class LssClient {
|
|
13
15
|
/** Resolved base URL the data-plane talks to. */
|
|
@@ -20,6 +22,8 @@ export declare class LssClient {
|
|
|
20
22
|
readonly services: ServicesApi;
|
|
21
23
|
readonly config: ConfigApi;
|
|
22
24
|
readonly health: HealthApi;
|
|
25
|
+
readonly lambdas: LambdasApi;
|
|
26
|
+
readonly apis: ApisApi;
|
|
23
27
|
readonly lifecycle: LifecycleApi;
|
|
24
28
|
private readonly http;
|
|
25
29
|
constructor(options?: LssClientOptions);
|
|
@@ -35,6 +39,9 @@ export type { ResourcesApi } from './namespaces/resources';
|
|
|
35
39
|
export type { ServicesApi } from './namespaces/services';
|
|
36
40
|
export type { ConfigApi } from './namespaces/config';
|
|
37
41
|
export type { HealthApi } from './namespaces/health';
|
|
42
|
+
export type { LambdasApi, LambdaSummary, LambdaDetail, InvokeLambdaInput, InvokeLambdaResult, LambdaInvocationRecord, } from './namespaces/lambdas';
|
|
43
|
+
export type { ApisApi, ServiceApiInfo, ApiRouteInfo, ApiAuthorizerInfo, GatewayListenerStatus, } from './namespaces/apis';
|
|
44
|
+
export type { ServiceRuntimeStatus } from './namespaces/services';
|
|
38
45
|
export type { LifecycleApi, StartOptions, StartResult, StopResult, StatusResult, LogsResult, WaitUntilReadyOptions, } from './lifecycle';
|
|
39
46
|
export type * from './types';
|
|
40
47
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,qBAAa,SAAS;IACpB,iDAAiD;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAO;gBAEhB,OAAO,GAAE,gBAAqB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
package/dist/client/index.js
CHANGED
|
@@ -21,6 +21,8 @@ const resources_1 = require("./namespaces/resources");
|
|
|
21
21
|
const services_1 = require("./namespaces/services");
|
|
22
22
|
const config_1 = require("./namespaces/config");
|
|
23
23
|
const health_1 = require("./namespaces/health");
|
|
24
|
+
const lambdas_1 = require("./namespaces/lambdas");
|
|
25
|
+
const apis_1 = require("./namespaces/apis");
|
|
24
26
|
class LssClient {
|
|
25
27
|
/** Resolved base URL the data-plane talks to. */
|
|
26
28
|
baseUrl;
|
|
@@ -32,6 +34,8 @@ class LssClient {
|
|
|
32
34
|
services;
|
|
33
35
|
config;
|
|
34
36
|
health;
|
|
37
|
+
lambdas;
|
|
38
|
+
apis;
|
|
35
39
|
lifecycle;
|
|
36
40
|
http;
|
|
37
41
|
constructor(options = {}) {
|
|
@@ -46,6 +50,8 @@ class LssClient {
|
|
|
46
50
|
this.services = (0, services_1.createServicesApi)(this.http);
|
|
47
51
|
this.config = (0, config_1.createConfigApi)(this.http);
|
|
48
52
|
this.health = (0, health_1.createHealthApi)(this.http);
|
|
53
|
+
this.lambdas = (0, lambdas_1.createLambdasApi)(this.http);
|
|
54
|
+
this.apis = (0, apis_1.createApisApi)(this.http);
|
|
49
55
|
this.lifecycle = new lifecycle_1.Lifecycle({ health: this.health, cwd: cfg.cwd, configPath: cfg.configPath });
|
|
50
56
|
}
|
|
51
57
|
/** Escape hatch for an arbitrary orchestrator call not covered by a namespace. */
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";AAAA,mEAAmE;AACnE,EAAE;AACF,wDAAwD;AACxD,sEAAsE;AACtE,+EAA+E;AAC/E,EAAE;AACF,+EAA+E;AAC/E,iFAAiF;AACjF,oFAAoF;;;AAEpF,yDAAmD;AACnD,iCAA+C;AAC/C,2CAA2D;AAC3D,8CAAmE;AACnE,gDAAsE;AACtE,gDAAsE;AACtE,kDAAyE;AACzE,sDAA+E;AAC/E,oDAA4E;AAC5E,gDAAsE;AACtE,gDAAsE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";AAAA,mEAAmE;AACnE,EAAE;AACF,wDAAwD;AACxD,sEAAsE;AACtE,+EAA+E;AAC/E,EAAE;AACF,+EAA+E;AAC/E,iFAAiF;AACjF,oFAAoF;;;AAEpF,yDAAmD;AACnD,iCAA+C;AAC/C,2CAA2D;AAC3D,8CAAmE;AACnE,gDAAsE;AACtE,gDAAsE;AACtE,kDAAyE;AACzE,sDAA+E;AAC/E,oDAA4E;AAC5E,gDAAsE;AACtE,gDAAsE;AACtE,kDAAyE;AACzE,4CAAgE;AAGhE,MAAa,SAAS;IACpB,iDAAiD;IACxC,OAAO,CAAS;IAChB,KAAK,CAAW;IAChB,MAAM,CAAY;IAClB,MAAM,CAAY;IAClB,OAAO,CAAa;IACpB,SAAS,CAAe;IACxB,QAAQ,CAAc;IACtB,MAAM,CAAY;IAClB,MAAM,CAAY;IAClB,OAAO,CAAa;IACpB,IAAI,CAAU;IACd,SAAS,CAAe;IAEhB,IAAI,CAAO;IAE5B,YAAY,UAA4B,EAAE;QACxC,MAAM,GAAG,GAAG,IAAA,gCAAa,EAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAE3B,IAAI,CAAC,KAAK,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,IAAA,wBAAe,EAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,IAAA,wBAAe,EAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,IAAA,0BAAgB,EAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAA,8BAAkB,EAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,IAAA,4BAAiB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,IAAA,wBAAe,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAA,wBAAe,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,IAAA,0BAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAA,oBAAa,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,kFAAkF;IAClF,OAAO,CACL,MAAc,EACd,IAAY,EACZ,IAAc,EACd,KAAkC;QAElC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF;AA5CD,8BA4CC;AAED,+BAAsC;AAA7B,oGAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { Http } from '../http';
|
|
2
|
+
export type GatewayListenerStatus = 'online' | 'port-conflict' | 'stopped' | 'disabled';
|
|
3
|
+
export interface ApiRouteInfo {
|
|
4
|
+
method: string;
|
|
5
|
+
path: string;
|
|
6
|
+
functionName: string;
|
|
7
|
+
eventType: 'http' | 'httpApi';
|
|
8
|
+
payloadVersion: '1.0' | '2.0';
|
|
9
|
+
cors: boolean;
|
|
10
|
+
authorizerName?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ApiAuthorizerInfo {
|
|
13
|
+
name: string;
|
|
14
|
+
type: 'request' | 'token';
|
|
15
|
+
eventType: 'http' | 'httpApi';
|
|
16
|
+
payloadVersion: '1.0' | '2.0';
|
|
17
|
+
enableSimpleResponses: boolean;
|
|
18
|
+
identitySource: string[];
|
|
19
|
+
resultTtlInSeconds: number;
|
|
20
|
+
functionName?: string;
|
|
21
|
+
arn?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface ServiceApiInfo {
|
|
24
|
+
service: string;
|
|
25
|
+
apiPort?: number;
|
|
26
|
+
invokePort?: number;
|
|
27
|
+
stage?: string;
|
|
28
|
+
status: GatewayListenerStatus;
|
|
29
|
+
invokeStatus: GatewayListenerStatus;
|
|
30
|
+
routes: ApiRouteInfo[];
|
|
31
|
+
authorizers: ApiAuthorizerInfo[];
|
|
32
|
+
}
|
|
33
|
+
export interface ApisApi {
|
|
34
|
+
list(): Promise<ServiceApiInfo[]>;
|
|
35
|
+
/**
|
|
36
|
+
* Flush cached authorizer results (all, per service, or per authorizer) ā
|
|
37
|
+
* lets e2e suites switch identities without waiting out resultTtlInSeconds.
|
|
38
|
+
*/
|
|
39
|
+
clearAuthorizerCache(filter?: {
|
|
40
|
+
service?: string;
|
|
41
|
+
authorizer?: string;
|
|
42
|
+
}): Promise<{
|
|
43
|
+
success: true;
|
|
44
|
+
removed: number;
|
|
45
|
+
}>;
|
|
46
|
+
}
|
|
47
|
+
export declare function createApisApi(http: Http): ApisApi;
|
|
48
|
+
//# sourceMappingURL=apis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apis.d.ts","sourceRoot":"","sources":["../../../src/client/namespaces/apis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,eAAe,GAAG,SAAS,GAAG,UAAU,CAAC;AAExF,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,cAAc,EAAE,KAAK,GAAG,KAAK,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,cAAc,EAAE,KAAK,GAAG,KAAK,CAAC;IAC9B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,qBAAqB,CAAC;IAC9B,YAAY,EAAE,qBAAqB,CAAC;IACpC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAClC;;;OAGG;IACH,oBAAoB,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvH;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAQjD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createApisApi = createApisApi;
|
|
4
|
+
function createApisApi(http) {
|
|
5
|
+
return {
|
|
6
|
+
list: () => http.json('GET', '/api/apis'),
|
|
7
|
+
clearAuthorizerCache: (filter) => http.json('POST', '/api/apis/authorizer-cache/clear', {
|
|
8
|
+
query: { service: filter?.service, authorizer: filter?.authorizer },
|
|
9
|
+
}),
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=apis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apis.js","sourceRoot":"","sources":["../../../src/client/namespaces/apis.ts"],"names":[],"mappings":";;AA8CA,sCAQC;AARD,SAAgB,aAAa,CAAC,IAAU;IACtC,OAAO;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;QACzC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE,CAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kCAAkC,EAAE;YACpD,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE;SACpE,CAAC;KACL,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { Http } from '../http';
|
|
2
|
+
export interface LambdaSummary {
|
|
3
|
+
name: string;
|
|
4
|
+
fullName: string;
|
|
5
|
+
service: string;
|
|
6
|
+
handler: string;
|
|
7
|
+
runtime: string;
|
|
8
|
+
memorySize: number;
|
|
9
|
+
timeout: number;
|
|
10
|
+
triggers: string[];
|
|
11
|
+
invokePort?: number;
|
|
12
|
+
status: 'stopped' | 'starting' | 'online' | 'error';
|
|
13
|
+
executionMode?: 'artifact' | 'source';
|
|
14
|
+
invocations: number;
|
|
15
|
+
errors: number;
|
|
16
|
+
lastInvokedAt?: number;
|
|
17
|
+
lastDurationMs?: number;
|
|
18
|
+
lastOk?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface LambdaDetail extends LambdaSummary {
|
|
21
|
+
environment: Record<string, string>;
|
|
22
|
+
routes: Array<{
|
|
23
|
+
method: string;
|
|
24
|
+
path: string;
|
|
25
|
+
eventType: 'http' | 'httpApi';
|
|
26
|
+
authorizerName?: string;
|
|
27
|
+
}>;
|
|
28
|
+
}
|
|
29
|
+
export interface InvokeLambdaInput {
|
|
30
|
+
payload?: unknown;
|
|
31
|
+
invocationType?: 'RequestResponse' | 'Event';
|
|
32
|
+
}
|
|
33
|
+
export interface InvokeLambdaResult {
|
|
34
|
+
ok: boolean;
|
|
35
|
+
payload?: unknown;
|
|
36
|
+
functionError?: {
|
|
37
|
+
errorType?: string;
|
|
38
|
+
errorMessage?: string;
|
|
39
|
+
trace?: string[];
|
|
40
|
+
};
|
|
41
|
+
logs: string[];
|
|
42
|
+
durationMs: number;
|
|
43
|
+
}
|
|
44
|
+
export interface LambdaInvocationRecord {
|
|
45
|
+
at: number;
|
|
46
|
+
functionName: string;
|
|
47
|
+
ok: boolean;
|
|
48
|
+
durationMs: number;
|
|
49
|
+
logs: string[];
|
|
50
|
+
}
|
|
51
|
+
export interface LambdasApi {
|
|
52
|
+
list(): Promise<LambdaSummary[]>;
|
|
53
|
+
get(name: string): Promise<LambdaDetail>;
|
|
54
|
+
/** Invoke any registered function ā including schedule/queue-only ones. */
|
|
55
|
+
invoke(name: string, input?: InvokeLambdaInput): Promise<InvokeLambdaResult>;
|
|
56
|
+
logs(name: string): Promise<{
|
|
57
|
+
invocations: LambdaInvocationRecord[];
|
|
58
|
+
}>;
|
|
59
|
+
}
|
|
60
|
+
export declare function createLambdasApi(http: Http): LambdasApi;
|
|
61
|
+
//# sourceMappingURL=lambdas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambdas.d.ts","sourceRoot":"","sources":["../../../src/client/namespaces/lambdas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpD,aAAa,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzG;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,cAAc,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;CAC9C;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAChF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACjC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACzC,2EAA2E;IAC3E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7E,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,sBAAsB,EAAE,CAAA;KAAE,CAAC,CAAC;CACxE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAQvD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createLambdasApi = createLambdasApi;
|
|
4
|
+
function createLambdasApi(http) {
|
|
5
|
+
const base = (name) => `/api/lambdas/${encodeURIComponent(name)}`;
|
|
6
|
+
return {
|
|
7
|
+
list: () => http.json('GET', '/api/lambdas'),
|
|
8
|
+
get: (name) => http.json('GET', base(name)),
|
|
9
|
+
invoke: (name, input) => http.json('POST', `${base(name)}/invoke`, { body: input ?? {} }),
|
|
10
|
+
logs: (name) => http.json('GET', `${base(name)}/logs`),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=lambdas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambdas.js","sourceRoot":"","sources":["../../../src/client/namespaces/lambdas.ts"],"names":[],"mappings":";;AAwDA,4CAQC;AARD,SAAgB,gBAAgB,CAAC,IAAU;IACzC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1E,OAAO;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC;QAC5C,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QACzF,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KACvD,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
import type { Http } from '../http';
|
|
2
2
|
import type { RegisterServiceInput, StartServiceInput } from '../types';
|
|
3
|
+
export interface ServiceRuntimeStatus {
|
|
4
|
+
runtime: {
|
|
5
|
+
status: 'stopped' | 'starting' | 'online' | 'error';
|
|
6
|
+
executionMode?: 'auto' | 'artifact' | 'source';
|
|
7
|
+
resolvedMode?: 'artifact' | 'source';
|
|
8
|
+
handlerRoot?: string;
|
|
9
|
+
pid?: number;
|
|
10
|
+
startedAt?: number;
|
|
11
|
+
error?: string;
|
|
12
|
+
invocations: number;
|
|
13
|
+
errors: number;
|
|
14
|
+
lastInvokedAt?: number;
|
|
15
|
+
};
|
|
16
|
+
gateway: {
|
|
17
|
+
api: {
|
|
18
|
+
port?: number;
|
|
19
|
+
status: 'online' | 'port-conflict' | 'stopped' | 'disabled';
|
|
20
|
+
};
|
|
21
|
+
invoke: {
|
|
22
|
+
port?: number;
|
|
23
|
+
status: 'online' | 'port-conflict' | 'stopped' | 'disabled';
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
watch: {
|
|
27
|
+
watching: boolean;
|
|
28
|
+
lastReloadAt?: number;
|
|
29
|
+
lastReloadKind?: 'runtime' | 'full';
|
|
30
|
+
lastError?: string;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
3
33
|
export interface ServicesApi {
|
|
4
34
|
register(input: RegisterServiceInput): Promise<unknown>;
|
|
5
35
|
list(): Promise<unknown[]>;
|
|
@@ -22,6 +52,16 @@ export interface ServicesApi {
|
|
|
22
52
|
success: boolean;
|
|
23
53
|
}>;
|
|
24
54
|
logs(name: string): Promise<unknown>;
|
|
55
|
+
/** Lambda runtime + gateway/invoke listener status for one service. */
|
|
56
|
+
runtime(name: string): Promise<ServiceRuntimeStatus>;
|
|
57
|
+
/** Start (or restart) the service's Lambda runtime worker and listeners. */
|
|
58
|
+
startRuntime(name: string): Promise<{
|
|
59
|
+
success: boolean;
|
|
60
|
+
}>;
|
|
61
|
+
/** Stop the service's Lambda runtime worker and listeners. */
|
|
62
|
+
stopRuntime(name: string): Promise<{
|
|
63
|
+
success: boolean;
|
|
64
|
+
}>;
|
|
25
65
|
}
|
|
26
66
|
export declare function createServicesApi(http: Http): ServicesApi;
|
|
27
67
|
//# sourceMappingURL=services.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../src/client/namespaces/services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAExE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IACjD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IAC7F,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7G,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAClD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../src/client/namespaces/services.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,9 @@ function createServicesApi(http) {
|
|
|
12
12
|
start: (name, input) => http.json('POST', `${base(name)}/start`, { body: input ?? {} }),
|
|
13
13
|
stop: (name) => http.json('POST', `${base(name)}/stop`),
|
|
14
14
|
logs: (name) => http.json('GET', `${base(name)}/logs`),
|
|
15
|
+
runtime: (name) => http.json('GET', `${base(name)}/runtime`),
|
|
16
|
+
startRuntime: (name) => http.json('POST', `${base(name)}/runtime/start`),
|
|
17
|
+
stopRuntime: (name) => http.json('POST', `${base(name)}/runtime/stop`),
|
|
15
18
|
};
|
|
16
19
|
}
|
|
17
20
|
//# sourceMappingURL=services.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/client/namespaces/services.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/client/namespaces/services.ts"],"names":[],"mappings":";;AA6CA,8CAeC;AAfD,SAAgB,iBAAiB,CAAC,IAAU;IAC1C,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,iBAAiB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC3E,OAAO;QACL,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,wBAAwB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACjF,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC;QAC7C,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC;QAC/E,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QACvF,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACvD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACtD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QAC5D,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACxE,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;KACvE,CAAC;AACJ,CAAC"}
|
package/dist/client/types.d.ts
CHANGED
|
@@ -215,6 +215,8 @@ export interface ResourceOwners {
|
|
|
215
215
|
export interface RegisterServiceInput {
|
|
216
216
|
servicePath: string;
|
|
217
217
|
invokePort?: number;
|
|
218
|
+
/** Gateway proxy port for the service's HTTP routes (30xx convention). */
|
|
219
|
+
apiPort?: number;
|
|
218
220
|
region?: string;
|
|
219
221
|
}
|
|
220
222
|
export interface StartServiceInput {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.js
CHANGED
|
@@ -9,9 +9,15 @@ import { bucketsRouter } from './routes/buckets.js';
|
|
|
9
9
|
import { seedsRouter } from './routes/seeds.js';
|
|
10
10
|
import { dynamoRouter } from './routes/dynamo.js';
|
|
11
11
|
import { configRouter } from './routes/config.js';
|
|
12
|
+
import { lambdasRouter } from './routes/lambdas.js';
|
|
13
|
+
import { apisRouter } from './routes/apis.js';
|
|
12
14
|
import { LocalStackManager } from './services/localstack-manager.js';
|
|
13
15
|
import { ConfigManager } from './services/config-manager.js';
|
|
14
16
|
import { QueueInspector } from './services/queue-inspector.js';
|
|
17
|
+
import { ServiceRegistrar } from './services/service-registrar.js';
|
|
18
|
+
import { LambdaRuntimeManager } from './services/lambda-runtime-manager.js';
|
|
19
|
+
import { GatewayManager } from './services/gateway-manager.js';
|
|
20
|
+
import { SourceWatcher } from './services/source-watcher.js';
|
|
15
21
|
import { startDynamoProxy } from './dev/dynamo-proxy.js';
|
|
16
22
|
const __filename = fileURLToPath(import.meta.url);
|
|
17
23
|
const __dirname = path.dirname(__filename);
|
|
@@ -30,6 +36,8 @@ app.use('/api/buckets', bucketsRouter);
|
|
|
30
36
|
app.use('/api/seeds', seedsRouter);
|
|
31
37
|
app.use('/api/dynamo', dynamoRouter);
|
|
32
38
|
app.use('/api/config', configRouter);
|
|
39
|
+
app.use('/api/lambdas', lambdasRouter);
|
|
40
|
+
app.use('/api/apis', apisRouter);
|
|
33
41
|
// Health check
|
|
34
42
|
app.get('/api/health', (_req, res) => {
|
|
35
43
|
res.json({
|
|
@@ -61,6 +69,15 @@ async function start() {
|
|
|
61
69
|
console.log(`ā
LocalStack running on ${localstack.getEndpoint()}`);
|
|
62
70
|
});
|
|
63
71
|
QueueInspector.getInstance().startPolling();
|
|
72
|
+
// Hot reload: source changes restart the service worker; serverless.yml
|
|
73
|
+
// changes re-package + re-register.
|
|
74
|
+
SourceWatcher.getInstance().setHandlers({
|
|
75
|
+
onRuntimeReload: name => LambdaRuntimeManager.getInstance().restartRuntime(name),
|
|
76
|
+
onFullReload: name => ServiceRegistrar.getInstance().reregister(name),
|
|
77
|
+
});
|
|
78
|
+
// Reactivate cached services (runtime workers + gateway/invoke listeners)
|
|
79
|
+
// so registrations survive orchestrator restarts.
|
|
80
|
+
await ServiceRegistrar.getInstance().rehydrateAll();
|
|
64
81
|
// Optional DynamoDB proxy
|
|
65
82
|
if (configManager.isEnableDynamoProxy()) {
|
|
66
83
|
const proxyPort = configManager.getDynamoProxyPort();
|
|
@@ -75,14 +92,20 @@ async function start() {
|
|
|
75
92
|
}
|
|
76
93
|
}
|
|
77
94
|
// Graceful shutdown
|
|
78
|
-
|
|
95
|
+
async function shutdown() {
|
|
79
96
|
console.log('\nš Shutting down gracefully...');
|
|
80
97
|
QueueInspector.getInstance().stopPolling();
|
|
98
|
+
SourceWatcher.getInstance().unwatchAll();
|
|
99
|
+
await GatewayManager.getInstance().stopAll();
|
|
100
|
+
await LambdaRuntimeManager.getInstance().stopAll();
|
|
81
101
|
processManager.stopAll();
|
|
82
102
|
await processManager.cleanup();
|
|
83
103
|
const localstack = LocalStackManager.getInstance();
|
|
84
104
|
await localstack.stop();
|
|
85
105
|
process.exit(0);
|
|
86
|
-
}
|
|
106
|
+
}
|
|
107
|
+
process.on('SIGINT', shutdown);
|
|
108
|
+
// The CLI stops the daemonized server with SIGTERM ā same cleanup path.
|
|
109
|
+
process.on('SIGTERM', shutdown);
|
|
87
110
|
start();
|
|
88
111
|
//# sourceMappingURL=index.js.map
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AACtB,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;AAClD,MAAM,IAAI,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;AAC9C,IAAI,iBAAiB,GAAuB,IAAI,CAAC;AAEjD,aAAa;AACb,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AAChB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAExB,aAAa;AACb,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;AACzC,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAC3C,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AACrC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;AACvC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACnC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AACrC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apis.d.ts","sourceRoot":"","sources":["../../../src/server/routes/apis.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAqDxB,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,CAAC"}
|