local-serverless-stack 1.0.1 → 1.1.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.
Files changed (183) hide show
  1. package/CHANGELOG.md +125 -3
  2. package/README.md +75 -26
  3. package/bin/cli.js +81 -15
  4. package/bin/i18n.js +30 -3
  5. package/dist/client/index.d.ts +1 -1
  6. package/dist/client/index.d.ts.map +1 -1
  7. package/dist/client/namespaces/services.d.ts +46 -0
  8. package/dist/client/namespaces/services.d.ts.map +1 -1
  9. package/dist/client/namespaces/services.js +1 -0
  10. package/dist/client/namespaces/services.js.map +1 -1
  11. package/dist/mcp/tools.d.ts.map +1 -1
  12. package/dist/mcp/tools.js +17 -0
  13. package/dist/mcp/tools.js.map +1 -1
  14. package/dist/server/engine/backends/self-backend.d.ts +26 -1
  15. package/dist/server/engine/backends/self-backend.d.ts.map +1 -1
  16. package/dist/server/engine/backends/self-backend.js +104 -11
  17. package/dist/server/engine/backends/self-backend.js.map +1 -1
  18. package/dist/server/engine/emulators/dynamodb/expressions/parser.d.ts.map +1 -1
  19. package/dist/server/engine/emulators/dynamodb/expressions/parser.js +12 -1
  20. package/dist/server/engine/emulators/dynamodb/expressions/parser.js.map +1 -1
  21. package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.d.ts +3 -0
  22. package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.d.ts.map +1 -0
  23. package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.js +78 -0
  24. package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.js.map +1 -0
  25. package/dist/server/engine/emulators/dynamodb/index.d.ts +11 -0
  26. package/dist/server/engine/emulators/dynamodb/index.d.ts.map +1 -1
  27. package/dist/server/engine/emulators/dynamodb/index.js +101 -7
  28. package/dist/server/engine/emulators/dynamodb/index.js.map +1 -1
  29. package/dist/server/engine/emulators/dynamodb/query.d.ts +1 -0
  30. package/dist/server/engine/emulators/dynamodb/query.d.ts.map +1 -1
  31. package/dist/server/engine/emulators/dynamodb/query.js +34 -6
  32. package/dist/server/engine/emulators/dynamodb/query.js.map +1 -1
  33. package/dist/server/engine/emulators/s3/index.d.ts +10 -0
  34. package/dist/server/engine/emulators/s3/index.d.ts.map +1 -1
  35. package/dist/server/engine/emulators/s3/index.js +369 -25
  36. package/dist/server/engine/emulators/s3/index.js.map +1 -1
  37. package/dist/server/engine/emulators/sqs/index.d.ts +2 -0
  38. package/dist/server/engine/emulators/sqs/index.d.ts.map +1 -1
  39. package/dist/server/engine/emulators/sqs/index.js +70 -7
  40. package/dist/server/engine/emulators/sqs/index.js.map +1 -1
  41. package/dist/server/engine/emulators/sqs/queue.d.ts +2 -1
  42. package/dist/server/engine/emulators/sqs/queue.d.ts.map +1 -1
  43. package/dist/server/engine/emulators/sqs/queue.js +68 -35
  44. package/dist/server/engine/emulators/sqs/queue.js.map +1 -1
  45. package/dist/server/engine/emulators/ssm/index.d.ts +31 -0
  46. package/dist/server/engine/emulators/ssm/index.d.ts.map +1 -0
  47. package/dist/server/engine/emulators/ssm/index.js +670 -0
  48. package/dist/server/engine/emulators/ssm/index.js.map +1 -0
  49. package/dist/server/engine/http/errors.d.ts +1 -0
  50. package/dist/server/engine/http/errors.d.ts.map +1 -1
  51. package/dist/server/engine/http/errors.js +13 -5
  52. package/dist/server/engine/http/errors.js.map +1 -1
  53. package/dist/server/engine/http/is-aws-request.d.ts.map +1 -1
  54. package/dist/server/engine/http/is-aws-request.js +13 -3
  55. package/dist/server/engine/http/is-aws-request.js.map +1 -1
  56. package/dist/server/engine/http/protocols/aws-json.d.ts +1 -0
  57. package/dist/server/engine/http/protocols/aws-json.d.ts.map +1 -1
  58. package/dist/server/engine/http/protocols/aws-json.js +13 -0
  59. package/dist/server/engine/http/protocols/aws-json.js.map +1 -1
  60. package/dist/server/engine/http/reset.d.ts +4 -0
  61. package/dist/server/engine/http/reset.d.ts.map +1 -0
  62. package/dist/server/engine/http/reset.js +17 -0
  63. package/dist/server/engine/http/reset.js.map +1 -0
  64. package/dist/server/engine/http/router.d.ts +1 -0
  65. package/dist/server/engine/http/router.d.ts.map +1 -1
  66. package/dist/server/engine/http/router.js +185 -34
  67. package/dist/server/engine/http/router.js.map +1 -1
  68. package/dist/server/engine/types.d.ts +2 -1
  69. package/dist/server/engine/types.d.ts.map +1 -1
  70. package/dist/server/routes/apis.d.ts.map +1 -1
  71. package/dist/server/routes/apis.js +6 -0
  72. package/dist/server/routes/apis.js.map +1 -1
  73. package/dist/server/routes/config.d.ts.map +1 -1
  74. package/dist/server/routes/config.js +19 -1
  75. package/dist/server/routes/config.js.map +1 -1
  76. package/dist/server/routes/services.d.ts.map +1 -1
  77. package/dist/server/routes/services.js +49 -1
  78. package/dist/server/routes/services.js.map +1 -1
  79. package/dist/server/runtime/runtime-worker.js +33 -3
  80. package/dist/server/runtime/runtime-worker.js.map +1 -1
  81. package/dist/server/services/api-gateway-events.d.ts +14 -0
  82. package/dist/server/services/api-gateway-events.d.ts.map +1 -1
  83. package/dist/server/services/api-gateway-events.js +114 -8
  84. package/dist/server/services/api-gateway-events.js.map +1 -1
  85. package/dist/server/services/artifact-staleness.d.ts +20 -0
  86. package/dist/server/services/artifact-staleness.d.ts.map +1 -0
  87. package/dist/server/services/artifact-staleness.js +115 -0
  88. package/dist/server/services/artifact-staleness.js.map +1 -0
  89. package/dist/server/services/authorizer-service.d.ts +34 -5
  90. package/dist/server/services/authorizer-service.d.ts.map +1 -1
  91. package/dist/server/services/authorizer-service.js +0 -0
  92. package/dist/server/services/authorizer-service.js.map +1 -1
  93. package/dist/server/services/cfn-intrinsics.d.ts +63 -0
  94. package/dist/server/services/cfn-intrinsics.d.ts.map +1 -0
  95. package/dist/server/services/cfn-intrinsics.js +403 -0
  96. package/dist/server/services/cfn-intrinsics.js.map +1 -0
  97. package/dist/server/services/cfn-physical-values.d.ts +51 -0
  98. package/dist/server/services/cfn-physical-values.d.ts.map +1 -0
  99. package/dist/server/services/cfn-physical-values.js +186 -0
  100. package/dist/server/services/cfn-physical-values.js.map +1 -0
  101. package/dist/server/services/cloudformation-parser.d.ts +26 -3
  102. package/dist/server/services/cloudformation-parser.d.ts.map +1 -1
  103. package/dist/server/services/cloudformation-parser.js +76 -4
  104. package/dist/server/services/cloudformation-parser.js.map +1 -1
  105. package/dist/server/services/config-manager.d.ts +24 -2
  106. package/dist/server/services/config-manager.d.ts.map +1 -1
  107. package/dist/server/services/config-manager.js +60 -7
  108. package/dist/server/services/config-manager.js.map +1 -1
  109. package/dist/server/services/gateway-manager.d.ts.map +1 -1
  110. package/dist/server/services/gateway-manager.js +52 -20
  111. package/dist/server/services/gateway-manager.js.map +1 -1
  112. package/dist/server/services/lambda-runtime-manager.d.ts +1 -0
  113. package/dist/server/services/lambda-runtime-manager.d.ts.map +1 -1
  114. package/dist/server/services/lambda-runtime-manager.js +36 -14
  115. package/dist/server/services/lambda-runtime-manager.js.map +1 -1
  116. package/dist/server/services/raw-api-assembler.d.ts +1 -1
  117. package/dist/server/services/raw-api-assembler.d.ts.map +1 -1
  118. package/dist/server/services/raw-api-assembler.js +18 -8
  119. package/dist/server/services/raw-api-assembler.js.map +1 -1
  120. package/dist/server/services/resource-provisioner.d.ts +12 -0
  121. package/dist/server/services/resource-provisioner.d.ts.map +1 -1
  122. package/dist/server/services/resource-provisioner.js +128 -13
  123. package/dist/server/services/resource-provisioner.js.map +1 -1
  124. package/dist/server/services/serverless-state-parser.d.ts +45 -2
  125. package/dist/server/services/serverless-state-parser.d.ts.map +1 -1
  126. package/dist/server/services/serverless-state-parser.js +217 -29
  127. package/dist/server/services/serverless-state-parser.js.map +1 -1
  128. package/dist/server/services/service-graph.d.ts +76 -0
  129. package/dist/server/services/service-graph.d.ts.map +1 -0
  130. package/dist/server/services/service-graph.js +914 -0
  131. package/dist/server/services/service-graph.js.map +1 -0
  132. package/dist/server/services/service-registrar.d.ts +4 -0
  133. package/dist/server/services/service-registrar.d.ts.map +1 -1
  134. package/dist/server/services/service-registrar.js +129 -55
  135. package/dist/server/services/service-registrar.js.map +1 -1
  136. package/dist/server/services/source-watcher.d.ts +1 -0
  137. package/dist/server/services/source-watcher.d.ts.map +1 -1
  138. package/dist/server/services/source-watcher.js +19 -1
  139. package/dist/server/services/source-watcher.js.map +1 -1
  140. package/dist/server/services/worker-runtime.d.ts +82 -0
  141. package/dist/server/services/worker-runtime.d.ts.map +1 -0
  142. package/dist/server/services/worker-runtime.js +303 -0
  143. package/dist/server/services/worker-runtime.js.map +1 -0
  144. package/dist/ui/assets/{ApisPage-CTOcNna-.js → ApisPage-BkW-QZ0X.js} +1 -1
  145. package/dist/ui/assets/BucketDetailPage-CJwTQJh7.js +1 -0
  146. package/dist/ui/assets/BucketsPage-B1xPVhZC.js +1 -0
  147. package/dist/ui/assets/{DynamoPage-BnFFKnIU.js → DynamoPage-DvbpwZDc.js} +1 -1
  148. package/dist/ui/assets/DynamoTablePage-xn3Lq3so.js +3 -0
  149. package/dist/ui/assets/LambdaDetailPage-BhUyO77H.js +4 -0
  150. package/dist/ui/assets/{LambdasPage-Bg-MWFBb.js → LambdasPage-CUF_4rOH.js} +1 -1
  151. package/dist/ui/assets/OnboardingPage-U49THUzu.js +1 -0
  152. package/dist/ui/assets/OpenSearchCollectionPage-BJTVNCq4.js +1 -0
  153. package/dist/ui/assets/OpenSearchPage-4s-egkB9.js +1 -0
  154. package/dist/ui/assets/OverviewPage-DJeJQktG.js +1 -0
  155. package/dist/ui/assets/{OverviewPage-CSWY71vZ.css → OverviewPage-DjQETmb_.css} +1 -1
  156. package/dist/ui/assets/QueueDetailPage-DWsy5Yt8.js +1 -0
  157. package/dist/ui/assets/QueuesPage-BZJSqman.js +1 -0
  158. package/dist/ui/assets/SecretsPage-YC9ua54G.js +1 -0
  159. package/dist/ui/assets/ServiceDetailPage-Cum5frP4.js +2 -0
  160. package/dist/ui/assets/ServicesPage-IpaPDuqx.js +2 -0
  161. package/dist/ui/assets/SettingsPage-BiCRU8O6.js +1 -0
  162. package/dist/ui/assets/index-BDlrAJhi.css +1 -0
  163. package/dist/ui/assets/index-BouKSS43.js +38 -0
  164. package/dist/ui/assets/resourceIcons-DZs28nbs.js +1 -0
  165. package/dist/ui/index.html +5 -2
  166. package/package.json +1 -1
  167. package/dist/ui/assets/BucketDetailPage-BXW8-FrE.js +0 -1
  168. package/dist/ui/assets/BucketsPage-DY_ITepb.js +0 -1
  169. package/dist/ui/assets/DynamoTablePage-BLCuyJHU.js +0 -3
  170. package/dist/ui/assets/LambdaDetailPage-D4rZNLRT.js +0 -4
  171. package/dist/ui/assets/OnboardingPage-nnl313Fm.js +0 -1
  172. package/dist/ui/assets/OpenSearchCollectionPage-Dn15lH_F.js +0 -1
  173. package/dist/ui/assets/OpenSearchPage-CgD5isok.js +0 -1
  174. package/dist/ui/assets/OverviewPage-m5sUr8IN.js +0 -1
  175. package/dist/ui/assets/QueueDetailPage-Ch_FDDoN.js +0 -1
  176. package/dist/ui/assets/QueuesPage-C_yDuGDu.js +0 -1
  177. package/dist/ui/assets/SecretsPage-BSGMSoqy.js +0 -1
  178. package/dist/ui/assets/ServiceDetailPage-6KyohyjI.js +0 -2
  179. package/dist/ui/assets/ServicesPage-BbSetOMo.js +0 -2
  180. package/dist/ui/assets/SettingsPage-BgF1jFr6.js +0 -1
  181. package/dist/ui/assets/index-D627ZyYU.css +0 -1
  182. package/dist/ui/assets/index-DuSPnI19.js +0 -37
  183. package/dist/ui/assets/resourceIcons-baecADXA.js +0 -1
@@ -14,6 +14,7 @@ import { projectCacheSegment } from './cache-manager.js';
14
14
  import { FunctionRegistry } from './function-registry.js';
15
15
  import { resolveArtifacts } from './artifact-resolver.js';
16
16
  import { InvocationActivity } from './invocation-activity.js';
17
+ import { buildWorkerEnv, linkArtifactNodeModules, resolveInvocationEnv, runtimeMismatchWarning, } from './worker-runtime.js';
17
18
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
18
19
  export function httpStatusOf(payload) {
19
20
  if (payload && typeof payload === 'object' && !Array.isArray(payload)) {
@@ -65,6 +66,11 @@ export class LambdaRuntimeManager {
65
66
  loaded: new Set(),
66
67
  };
67
68
  this.runtimes.set(entry.name, runtime);
69
+ // Handlers run on the orchestrator's own Node, whatever `runtime:` the
70
+ // template declares — say so once per (re-)registration when they differ.
71
+ const mismatch = runtimeMismatchWarning(entry.name, entry.functions.map(fn => fn.runtime), process.version);
72
+ if (mismatch)
73
+ console.warn(mismatch);
68
74
  // Lazy (default): resolve where the handlers live now — so an unusable
69
75
  // artifact still fails loudly at registration — but leave the fork to the
70
76
  // first invocation. A worker is ~48 MB resident; a 40-service monorepo was
@@ -231,6 +237,10 @@ export class LambdaRuntimeManager {
231
237
  }
232
238
  const invokeId = crypto.randomUUID();
233
239
  const timeoutSeconds = fn.timeout || 6;
240
+ // Read per invocation (not cached at fork) so a `serviceRuntime` env edit
241
+ // reaches the next call without a worker restart.
242
+ const overrides = this.configManager.getWorkerOverridesForService(runtime.entry.root);
243
+ const fnOverride = overrides.functions[fn.name] ?? overrides.functions[fn.fullName];
234
244
  const startedAt = Date.now();
235
245
  const result = await new Promise(resolve => {
236
246
  const timer = setTimeout(() => {
@@ -248,8 +258,8 @@ export class LambdaRuntimeManager {
248
258
  serviceRoot: runtime.entry.root,
249
259
  timeoutSeconds,
250
260
  memorySize: fn.memorySize,
251
- region: runtime.entry.region || 'us-east-1',
252
- env: fn.environment,
261
+ region: this.regionOf(runtime.entry),
262
+ env: resolveInvocationEnv(fn.environment, overrides.env, fnOverride?.env),
253
263
  event: event ?? {},
254
264
  });
255
265
  });
@@ -306,19 +316,21 @@ export class LambdaRuntimeManager {
306
316
  runtime.status = 'starting';
307
317
  runtime.error = undefined;
308
318
  const workerPath = path.join(__dirname, '../runtime/runtime-worker.js');
319
+ const overrides = this.configManager.getWorkerOverridesForService(runtime.entry.root);
309
320
  const worker = fork(workerPath, [], {
310
321
  cwd: runtime.entry.root,
311
322
  stdio: ['ignore', 'pipe', 'pipe', 'ipc'],
312
- env: {
313
- ...process.env,
314
- // Bundled artifacts with externalized deps still resolve against the
315
- // service's own node_modules.
316
- NODE_PATH: [
317
- path.join(runtime.entry.root, 'node_modules'),
318
- process.env.NODE_PATH || '',
319
- ].filter(Boolean).join(path.delimiter),
320
- },
321
- execArgv: [],
323
+ // Pointed at the engine with dummy credentials, never at whatever account
324
+ // the orchestrator's shell happens to be logged into — see buildWorkerEnv.
325
+ env: buildWorkerEnv(process.env, {
326
+ region: this.regionOf(runtime.entry),
327
+ engineEndpoint: this.configManager.getEngineEndpoint(),
328
+ serviceRoot: runtime.entry.root,
329
+ serviceEnv: overrides.env,
330
+ }),
331
+ // Not the orchestrator's own execArgv: a `--inspect` there would make
332
+ // every worker fight for the same debugger port.
333
+ execArgv: overrides.execArgv,
322
334
  });
323
335
  // Per-invocation output arrives via IPC (the worker captures it at the
324
336
  // stream/fd level and swallows it there); anything still reaching these
@@ -405,7 +417,7 @@ export class LambdaRuntimeManager {
405
417
  if (artifacts.length === 0) {
406
418
  throw new Error(`execution mode is "artifact" but no packaged zip was found under ${entry.root}/.serverless — run 'serverless package' first`);
407
419
  }
408
- return { handlerRoot: this.extractArtifacts(entry.name, artifacts), resolvedMode: 'artifact' };
420
+ return { handlerRoot: this.extractArtifacts(entry, artifacts), resolvedMode: 'artifact' };
409
421
  }
410
422
  return { handlerRoot: entry.root, resolvedMode: 'source' };
411
423
  }
@@ -420,7 +432,8 @@ export class LambdaRuntimeManager {
420
432
  // that both own a service called "api" shared one directory — and the
421
433
  // stale-extraction rmSync below would delete the code the other instance's
422
434
  // worker was running from.
423
- extractArtifacts(serviceName, artifacts) {
435
+ extractArtifacts(entry, artifacts) {
436
+ const serviceName = entry.name;
424
437
  const stamp = artifacts
425
438
  .map(p => {
426
439
  const stat = fs.statSync(p);
@@ -438,8 +451,17 @@ export class LambdaRuntimeManager {
438
451
  new AdmZip(artifact).extractAllTo(targetDir, true);
439
452
  }
440
453
  }
454
+ // Re-checked on every resolution, reused extraction included: the links are
455
+ // cheap to verify and the service's node_modules may have appeared (or
456
+ // moved) since the zip was first extracted.
457
+ linkArtifactNodeModules(targetDir, entry.root);
441
458
  return targetDir;
442
459
  }
460
+ // The service's region, else the stack's — never a hardcoded us-east-1 that
461
+ // would disagree with where the provisioner created the service's resources.
462
+ regionOf(entry) {
463
+ return entry.region || this.configManager.getRegion();
464
+ }
443
465
  errorResult(errorType, errorMessage, durationMs) {
444
466
  return { ok: false, errorType, errorMessage, logs: [], durationMs };
445
467
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lambda-runtime-manager.js","sourceRoot":"","sources":["../../../src/server/services/lambda-runtime-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lambda-runtime-manager.js","sourceRoot":"","sources":["../../../src/server/services/lambda-runtime-manager.ts"],"names":[],"mappings":"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"}
@@ -13,5 +13,5 @@ export interface AssembleResult {
13
13
  authorizers: AuthorizerConfig[];
14
14
  }
15
15
  export declare function assembleRawApiResources(parser: CloudFormationParser, input: AssembleInput): AssembleResult;
16
- export declare function collectStackExports(parser: CloudFormationParser, resources: Resource[], outputs: Record<string, unknown> | undefined, region: string, target: Map<string, string>): void;
16
+ export declare function collectStackExports(parser: CloudFormationParser, resources: Resource[], outputs: Record<string, unknown> | undefined, region: string, target: Map<string, string>, resolveValue?: (value: unknown) => string | undefined): void;
17
17
  //# sourceMappingURL=raw-api-assembler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"raw-api-assembler.d.ts","sourceRoot":"","sources":["../../../src/server/services/raw-api-assembler.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,QAAQ,EAOR,oBAAoB,EAErB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAOpG,MAAM,WAAW,aAAa;IAE5B,SAAS,EAAE,QAAQ,EAAE,CAAC;IAEtB,MAAM,EAAE,MAAM,CAAC;IAEf,cAAc,EAAE,kBAAkB,EAAE,CAAC;IAErC,WAAW,EAAE,SAAS,EAAE,CAAC;IAEzB,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,WAAW,EAAE,gBAAgB,EAAE,CAAC;CACjC;AA8DD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,oBAAoB,EAAE,KAAK,EAAE,aAAa,GAAG,cAAc,CAuG1G;AAMD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,oBAAoB,EAC5B,SAAS,EAAE,QAAQ,EAAE,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,IAAI,CAYN"}
1
+ {"version":3,"file":"raw-api-assembler.d.ts","sourceRoot":"","sources":["../../../src/server/services/raw-api-assembler.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,QAAQ,EAOR,oBAAoB,EAErB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAOpG,MAAM,WAAW,aAAa;IAE5B,SAAS,EAAE,QAAQ,EAAE,CAAC;IAEtB,MAAM,EAAE,MAAM,CAAC;IAEf,cAAc,EAAE,kBAAkB,EAAE,CAAC;IAErC,WAAW,EAAE,SAAS,EAAE,CAAC;IAEzB,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,WAAW,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAsED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,oBAAoB,EAAE,KAAK,EAAE,aAAa,GAAG,cAAc,CAuG1G;AAQD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,oBAAoB,EAC5B,SAAS,EAAE,QAAQ,EAAE,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,GACpD,IAAI,CAaN"}
@@ -41,8 +41,15 @@ function resolveTarget(arnOrName, localFunctions) {
41
41
  return { functionName: local.name, fnName };
42
42
  return { functionName: fnName, arn: unwrapped, fnName };
43
43
  }
44
- function buildAuthorizer(parser, authRes, ctx, localFunctions) {
45
- const target = resolveTarget(parser.resolveArnLike(authRes.authorizerUri, ctx).value, localFunctions);
44
+ function buildAuthorizer(parser, authRes, ctx, localFunctions, warnings) {
45
+ const uri = parser.resolveArnLike(authRes.authorizerUri, ctx);
46
+ // An AuthorizerUri that does not reduce to a function ARN registers an
47
+ // authorizer with nothing to invoke: every route behind it answers 500.
48
+ // Said here, once, instead of on every request.
49
+ if (!uri.resolved) {
50
+ warnings.push(`Raw authorizer "${authRes.name}": AuthorizerUri did not reduce to a Lambda ARN (got "${uri.value}") — routes using it will answer 500.`);
51
+ }
52
+ const target = resolveTarget(uri.value, localFunctions);
46
53
  const config = {
47
54
  name: authRes.name,
48
55
  type: 'request',
@@ -119,7 +126,7 @@ export function assembleRawApiResources(parser, input) {
119
126
  warnings.push(`Raw route "${rr.routeKey}": authorizer "${authRes.name}" type "${authRes.authorizerType}" is not supported locally (only REQUEST); registering the route unauthorized.`);
120
127
  }
121
128
  else {
122
- const config = authByName.get(authRes.name) ?? buildAuthorizer(parser, authRes, ctx, localFunctions);
129
+ const config = authByName.get(authRes.name) ?? buildAuthorizer(parser, authRes, ctx, localFunctions, warnings);
123
130
  if (!authByName.has(authRes.name)) {
124
131
  authByName.set(authRes.name, config);
125
132
  authorizers.push(config);
@@ -161,10 +168,12 @@ export function assembleRawApiResources(parser, input) {
161
168
  return { routes, authorizers };
162
169
  }
163
170
  // Records a stack's Outputs[].Export.Name → resolved value into a shared map so
164
- // a later service's Fn::ImportValue reduces to a concrete ARN. Values that are
171
+ // a later service's Fn::ImportValue reduces to a concrete value. Values that are
165
172
  // intrinsics resolvable to a same-template Lambda ARN (QualifiedArn exports) are
166
- // reduced; unresolvable ones are skipped.
167
- export function collectStackExports(parser, resources, outputs, region, target) {
173
+ // reduced; `resolveValue`, when given, covers every other resource reference
174
+ // (a table name, a queue URL — cfn-physical-values.ts); unresolvable ones are
175
+ // skipped.
176
+ export function collectStackExports(parser, resources, outputs, region, target, resolveValue) {
168
177
  if (!outputs)
169
178
  return;
170
179
  const lambdas = mapByLogicalId(resources.filter((r) => r.type === 'lambda'));
@@ -177,8 +186,9 @@ export function collectStackExports(parser, resources, outputs, region, target)
177
186
  if (typeof name !== 'string')
178
187
  continue;
179
188
  const resolved = parser.resolveArnLike(entry.Value, ctx);
180
- if (resolved.resolved)
181
- target.set(name, resolved.value);
189
+ const value = resolved.resolved ? resolved.value : resolveValue?.(entry.Value);
190
+ if (value !== undefined)
191
+ target.set(name, value);
182
192
  }
183
193
  }
184
194
  //# sourceMappingURL=raw-api-assembler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"raw-api-assembler.js","sourceRoot":"","sources":["../../../src/server/services/raw-api-assembler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"raw-api-assembler.js","sourceRoot":"","sources":["../../../src/server/services/raw-api-assembler.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { S3Client } from '@aws-sdk/client-s3';
2
+ import { type RuntimeAttributes } from './cfn-physical-values.js';
2
3
  import type { Resource } from './cloudformation-parser.js';
3
4
  export interface ProvisionOutcome {
4
5
  provisioned: number;
@@ -48,6 +49,7 @@ export declare class ResourceProvisioner {
48
49
  private createSNSTopic;
49
50
  private createS3Bucket;
50
51
  private createSecret;
52
+ private createSsmParameter;
51
53
  private configureS3Notifications;
52
54
  private shortFunctionName;
53
55
  private resolveLambdaName;
@@ -60,6 +62,16 @@ export declare class ResourceProvisioner {
60
62
  private ensureLambdaProxyExists;
61
63
  private convertCamelCaseToKebab;
62
64
  private resolveEventSourceArn;
65
+ /**
66
+ * The attributes of a service's resources that only exist once the resources
67
+ * do — queue URLs, stream ARNs (the label is minted at CreateTable), secret
68
+ * ARNs (random suffix), collection id/ARN/endpoint — for the function
69
+ * environment pass (cfn-physical-values.ts). Called right after
70
+ * provisionResources, so the clients already target the service's region.
71
+ * Best-effort by design: a failed lookup leaves the attribute out and the
72
+ * environment pass warns about the variable that needed it.
73
+ */
74
+ lookupRuntimeAttributes(resources: Resource[]): Promise<RuntimeAttributes>;
63
75
  listAllResources(region?: string): Promise<{
64
76
  tables: string[];
65
77
  queues: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"resource-provisioner.d.ts","sourceRoot":"","sources":["../../../src/server/services/resource-provisioner.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,QAAQ,EAST,MAAM,oBAAoB,CAAC;AAwB5B,OAAO,KAAK,EACV,QAAQ,EAUT,MAAM,4BAA4B,CAAC;AAMpC,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA0CD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsB;IAC7C,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,oBAAoB,CAAwB;IACpD,OAAO,CAAC,aAAa,CAAuB;IAM5C,OAAO,CAAC,oBAAoB,CAA+B;IAE3D,OAAO;IAIP,MAAM,CAAC,WAAW,IAAI,mBAAmB;IAOzC,OAAO,CAAC,iBAAiB;IAsBzB,WAAW,IAAI,QAAQ;IAIvB,gBAAgB,IAAI,MAAM;IAI1B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB,CAA0C;IAE9D,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,QAAQ,EAAE,EACrB,QAAQ,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GACtE,OAAO,CAAC,gBAAgB,CAAC;IA6J5B,OAAO,CAAC,cAAc;IAStB;;;;;OAKG;YACW,uBAAuB;YA+BvB,mBAAmB;YA+DnB,eAAe;YAqBf,cAAc;IA8C5B,OAAO,CAAC,kBAAkB;YAmBZ,kBAAkB;YAgBlB,cAAc;YAiBd,cAAc;YA8Dd,YAAY;YAkCZ,wBAAwB;IAiEtC,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,uBAAuB;YAmEjB,wBAAwB;YAsExB,0BAA0B;YAgC1B,cAAc;IAgB5B,OAAO,CAAC,mBAAmB;YASb,eAAe;YAyEf,uBAAuB;IAqErC,OAAO,CAAC,uBAAuB;YAOjB,qBAAqB;IAkH7B,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAC/C,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;YA6BY,kBAAkB;YAgBlB,aAAa;YAeb,aAAa;YAYb,aAAa;YAWb,yBAAyB;IASjC,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YA2EnE,0BAA0B;YAY1B,eAAe;YAuBf,cAAc;YAWd,mBAAmB;YAYnB,cAAc;YAiBd,cAAc;YAsBd,cAAc;YAkBd,wBAAwB;CA6BvC"}
1
+ {"version":3,"file":"resource-provisioner.d.ts","sourceRoot":"","sources":["../../../src/server/services/resource-provisioner.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,QAAQ,EAST,MAAM,oBAAoB,CAAC;AAwB5B,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,KAAK,EACV,QAAQ,EAWT,MAAM,4BAA4B,CAAC;AAMpC,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA0CD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsB;IAC7C,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,oBAAoB,CAAwB;IACpD,OAAO,CAAC,aAAa,CAAuB;IAM5C,OAAO,CAAC,oBAAoB,CAA+B;IAE3D,OAAO;IAIP,MAAM,CAAC,WAAW,IAAI,mBAAmB;IAOzC,OAAO,CAAC,iBAAiB;IAsBzB,WAAW,IAAI,QAAQ;IAIvB,gBAAgB,IAAI,MAAM;IAI1B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB,CAA0C;IAE9D,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,QAAQ,EAAE,EACrB,QAAQ,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GACtE,OAAO,CAAC,gBAAgB,CAAC;IAiK5B,OAAO,CAAC,cAAc;IAStB;;;;;OAKG;YACW,uBAAuB;YA+BvB,mBAAmB;YA+DnB,eAAe;YAqBf,cAAc;IA8C5B,OAAO,CAAC,kBAAkB;YAmBZ,kBAAkB;YAgBlB,cAAc;YAiBd,cAAc;YA8Dd,YAAY;YA2CZ,kBAAkB;YAyClB,wBAAwB;IAiEtC,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,uBAAuB;YAmEjB,wBAAwB;YAsExB,0BAA0B;YAgC1B,cAAc;IAgB5B,OAAO,CAAC,mBAAmB;YASb,eAAe;YAyEf,uBAAuB;IAwErC,OAAO,CAAC,uBAAuB;YAOjB,qBAAqB;IAkHnC;;;;;;;;OAQG;IACG,uBAAuB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA0C1E,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAC/C,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;YA6BY,kBAAkB;YAgBlB,aAAa;YAeb,aAAa;YAYb,aAAa;YAWb,yBAAyB;IASjC,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YA2EnE,0BAA0B;YAY1B,eAAe;YAuBf,cAAc;YAWd,mBAAmB;YAYnB,cAAc;YAiBd,cAAc;YAsBd,cAAc;YAkBd,wBAAwB;CA6BvC"}
@@ -2,7 +2,7 @@ import { DynamoDBClient, CreateTableCommand, ListTablesCommand, DeleteTableComma
2
2
  import { SQSClient, CreateQueueCommand, ListQueuesCommand, GetQueueAttributesCommand, SetQueueAttributesCommand, DeleteQueueCommand, GetQueueUrlCommand } from '@aws-sdk/client-sqs';
3
3
  import { SNSClient, CreateTopicCommand, ListTopicsCommand, DeleteTopicCommand } from '@aws-sdk/client-sns';
4
4
  import { S3Client, CreateBucketCommand, ListBucketsCommand, DeleteBucketCommand, PutBucketVersioningCommand, PutBucketNotificationConfigurationCommand, PutBucketCorsCommand, ListObjectsV2Command, DeleteObjectCommand, } from '@aws-sdk/client-s3';
5
- import { SecretsManagerClient, CreateSecretCommand } from '@aws-sdk/client-secrets-manager';
5
+ import { SecretsManagerClient, CreateSecretCommand, DescribeSecretCommand } from '@aws-sdk/client-secrets-manager';
6
6
  import { LambdaClient, CreateFunctionCommand, GetFunctionCommand, DeleteFunctionCommand, AddPermissionCommand, UpdateFunctionConfigurationCommand } from '@aws-sdk/client-lambda';
7
7
  import { CreateEventSourceMappingCommand, ListEventSourceMappingsCommand, DeleteEventSourceMappingCommand } from '@aws-sdk/client-lambda';
8
8
  import { EventBridgeClient, CreateEventBusCommand, DeleteEventBusCommand, PutRuleCommand, PutTargetsCommand, RemoveTargetsCommand, DeleteRuleCommand, } from '@aws-sdk/client-eventbridge';
@@ -11,6 +11,7 @@ import { EngineManager } from '../engine/engine-manager.js';
11
11
  import { ConfigManager } from './config-manager.js';
12
12
  import { SeedManager } from './seed-manager.js';
13
13
  import { resolveGeneratedSecretString } from './secret-value.js';
14
+ import { emptyRuntimeAttributes } from './cfn-physical-values.js';
14
15
  import AdmZip from 'adm-zip';
15
16
  // An empty message counts as no message: "was NOT provisioned: " with nothing
16
17
  // after the colon is worse than saying the cause is unknown.
@@ -155,6 +156,10 @@ export class ResourceProvisioner {
155
156
  await this.createSecret(resource);
156
157
  provisionedCount++;
157
158
  break;
159
+ case 'ssm-parameter':
160
+ await this.createSsmParameter(resource);
161
+ provisionedCount++;
162
+ break;
158
163
  case 'eventbus':
159
164
  await this.createEventBus(resource);
160
165
  busesCreated.push(resource.name);
@@ -553,6 +558,54 @@ export class ResourceProvisioner {
553
558
  }
554
559
  }
555
560
  }
561
+ // AWS::SSM::Parameter → PutParameter on the engine. @aws-sdk/client-ssm is
562
+ // not a dependency, so this speaks the wire directly: AWS JSON 1.1 with
563
+ // X-Amz-Target AmazonSSM.PutParameter, the region pinned through a
564
+ // scope-shaped X-Amz-Credential (the engine router reads {region, service}
565
+ // from it and never verifies a signature — the same approach as the
566
+ // OpenSearch explorer's data plane). Idempotent + non-fatal like
567
+ // createSecret: an existing parameter is kept as is — no Overwrite — so a
568
+ // value changed locally survives a re-registration (ParameterAlreadyExists
569
+ // is swallowed); every other failure throws into the caller's warnings.
570
+ async createSsmParameter(resource) {
571
+ if (resource.value === undefined) {
572
+ throw new Error(`SSM parameter ${resource.name} has no literal Value (an unresolved Ref/GetAtt or none at all) — ` +
573
+ 'set it in the template or with PutParameter');
574
+ }
575
+ const url = new URL('/', EngineManager.getInstance().getConfig().endpoint);
576
+ url.searchParams.set('X-Amz-Credential', `lss-provisioner/00000000/${this.currentRegion}/ssm/aws4_request`);
577
+ const response = await fetch(url, {
578
+ method: 'POST',
579
+ headers: { 'content-type': 'application/x-amz-json-1.1', 'x-amz-target': 'AmazonSSM.PutParameter' },
580
+ body: JSON.stringify({
581
+ Name: resource.name,
582
+ Value: resource.value,
583
+ Type: resource.parameterType,
584
+ Description: resource.description,
585
+ AllowedPattern: resource.allowedPattern,
586
+ Tier: resource.tier,
587
+ DataType: resource.dataType,
588
+ Tags: resource.tags.length > 0 ? resource.tags : undefined,
589
+ }),
590
+ });
591
+ if (response.ok) {
592
+ console.log(` ✓ Created SSM parameter: ${resource.name}`);
593
+ return;
594
+ }
595
+ const text = await response.text();
596
+ let payload = {};
597
+ try {
598
+ payload = JSON.parse(text);
599
+ }
600
+ catch {
601
+ // Not an AWS JSON error body (a proxy or a crashed listener) — report the status.
602
+ }
603
+ if (payload.__type === 'ParameterAlreadyExists') {
604
+ console.log(` ⚠ SSM parameter already exists: ${resource.name}`);
605
+ return;
606
+ }
607
+ throw new Error(`${payload.__type ?? `HTTP ${response.status}`}: ${payload.message ?? text}`);
608
+ }
556
609
  async configureS3Notifications(serviceName, bucket, invokeUrl) {
557
610
  const lambdaConfigurations = [];
558
611
  for (const notif of bucket.notifications) {
@@ -904,13 +957,20 @@ export const handler = async (event, context) => {
904
957
  throw error;
905
958
  }
906
959
  }
907
- if (!invokeUrl) {
908
- throw new Error(`Cannot create Lambda proxy for ${proxyName}: no invoke URL configured for ${serviceName}`);
909
- }
910
- const proxyCode = this.generateProxyLambdaCode(proxyName, invokeName, invokeUrl);
960
+ // No invoke port is the normal case on the self engine, not an error: the
961
+ // engine's dispatcher resolves the target through the in-process function
962
+ // registry FIRST and only falls back to a record's INVOKE_URL for functions
963
+ // LSS does not run. So the record is still created — the ESM, the
964
+ // AddPermission and the rule target all hang off it — just without the
965
+ // HTTP hop. Refusing here used to leave every queue, stream, bucket
966
+ // notification and schedule of a service registered without ports silently
967
+ // unwired.
911
968
  const zip = new AdmZip();
912
- zip.addFile('index.mjs', Buffer.from(proxyCode, 'utf-8'));
969
+ zip.addFile('index.mjs', Buffer.from(this.generateProxyLambdaCode(proxyName, invokeName, invokeUrl ?? ''), 'utf-8'));
913
970
  const zipBuffer = zip.toBuffer();
971
+ const variables = invokeUrl
972
+ ? { INVOKE_URL: invokeUrl, FUNCTION_NAME: invokeName }
973
+ : { FUNCTION_NAME: invokeName };
914
974
  await this.lambdaClient.send(new CreateFunctionCommand({
915
975
  FunctionName: proxyName,
916
976
  Runtime: 'nodejs20.x',
@@ -919,16 +979,13 @@ export const handler = async (event, context) => {
919
979
  Code: {
920
980
  ZipFile: zipBuffer,
921
981
  },
922
- Environment: {
923
- Variables: {
924
- INVOKE_URL: invokeUrl,
925
- FUNCTION_NAME: invokeName,
926
- },
927
- },
982
+ Environment: { Variables: variables },
928
983
  MemorySize: 256,
929
984
  Timeout: 60,
930
985
  }));
931
- console.log(` ✓ Created Lambda proxy: ${proxyName} -> ${invokeUrl}/2015-03-31/functions/${invokeName}/invocations`);
986
+ console.log(invokeUrl
987
+ ? ` ✓ Created Lambda proxy: ${proxyName} -> ${invokeUrl}/2015-03-31/functions/${invokeName}/invocations`
988
+ : ` ✓ Registered Lambda target: ${proxyName} (no invoke port for ${serviceName} — delivered in-process by the LSS runtime)`);
932
989
  }
933
990
  convertCamelCaseToKebab(camelCase) {
934
991
  return camelCase
@@ -1036,6 +1093,64 @@ export const handler = async (event, context) => {
1036
1093
  }
1037
1094
  throw new Error(`Event source not found: ${arnRef} (resolved as: ${resourceName})`);
1038
1095
  }
1096
+ /**
1097
+ * The attributes of a service's resources that only exist once the resources
1098
+ * do — queue URLs, stream ARNs (the label is minted at CreateTable), secret
1099
+ * ARNs (random suffix), collection id/ARN/endpoint — for the function
1100
+ * environment pass (cfn-physical-values.ts). Called right after
1101
+ * provisionResources, so the clients already target the service's region.
1102
+ * Best-effort by design: a failed lookup leaves the attribute out and the
1103
+ * environment pass warns about the variable that needed it.
1104
+ */
1105
+ async lookupRuntimeAttributes(resources) {
1106
+ const attrs = emptyRuntimeAttributes();
1107
+ const attempt = async (what, lookup) => {
1108
+ try {
1109
+ await lookup();
1110
+ }
1111
+ catch (error) {
1112
+ console.warn(` ⚠ Could not look up ${what}: ${errorMessageOf(error)}`);
1113
+ }
1114
+ };
1115
+ const collections = [];
1116
+ for (const resource of resources) {
1117
+ if (resource.type === 'sqs') {
1118
+ await attempt(`the URL of queue "${resource.name}"`, async () => {
1119
+ const { QueueUrl } = await this.sqsClient.send(new GetQueueUrlCommand({ QueueName: resource.name }));
1120
+ if (QueueUrl)
1121
+ attrs.queueUrls.set(resource.name, QueueUrl);
1122
+ });
1123
+ }
1124
+ else if (resource.type === 'dynamodb' && resource.streamEnabled) {
1125
+ await attempt(`the stream ARN of table "${resource.name}"`, async () => {
1126
+ const described = await this.dynamoClient.send(new DescribeTableCommand({ TableName: resource.name }));
1127
+ const streamArn = described.Table?.LatestStreamArn;
1128
+ if (streamArn)
1129
+ attrs.streamArns.set(resource.name, streamArn);
1130
+ });
1131
+ }
1132
+ else if (resource.type === 'secret') {
1133
+ await attempt(`the ARN of secret "${resource.name}"`, async () => {
1134
+ const { ARN } = await this.secretsManagerClient.send(new DescribeSecretCommand({ SecretId: resource.name }));
1135
+ if (ARN)
1136
+ attrs.secretArns.set(resource.name, ARN);
1137
+ });
1138
+ }
1139
+ else if (resource.type === 'opensearch') {
1140
+ collections.push(resource.name);
1141
+ }
1142
+ }
1143
+ if (collections.length > 0) {
1144
+ await attempt(`OpenSearch collection(s) ${collections.join(', ')}`, async () => {
1145
+ const { collectionDetails } = await this.openSearchClient.send(new BatchGetCollectionCommand({ names: collections }));
1146
+ for (const c of collectionDetails ?? []) {
1147
+ if (c.name)
1148
+ attrs.collections.set(c.name, { id: c.id, arn: c.arn, endpoint: c.collectionEndpoint });
1149
+ }
1150
+ });
1151
+ }
1152
+ return attrs;
1153
+ }
1039
1154
  async listAllResources(region) {
1040
1155
  const baseConfig = EngineManager.getInstance().getConfig();
1041
1156
  const config = region ? { ...baseConfig, region } : { ...baseConfig, region: this.currentRegion };