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
@@ -0,0 +1,20 @@
1
+ export interface StaleArtifactVerdict {
2
+ packagedAt: number;
3
+ newestSource: string;
4
+ newestSourceAt: number;
5
+ }
6
+ /**
7
+ * Verdict for one service root, or null when the artifact is current — or when
8
+ * there is not enough on disk to tell. Null is deliberately unopinionated: the
9
+ * caller warns only on a positive verdict, so an undecidable case never invents
10
+ * a scary message.
11
+ */
12
+ export declare function detectStaleArtifact(serviceRoot: string): Promise<StaleArtifactVerdict | null>;
13
+ /**
14
+ * The operator-facing sentence. Kept next to the detector so the wording and the
15
+ * evidence never drift apart, and phrased with the concrete remedy: the command
16
+ * this service actually packages with is a datum lss.config.json already holds,
17
+ * and having to know it from outside was the original complaint.
18
+ */
19
+ export declare function formatStaleArtifactWarning(verdict: StaleArtifactVerdict, serviceRoot: string, packageCommand: string): string;
20
+ //# sourceMappingURL=artifact-staleness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-staleness.d.ts","sourceRoot":"","sources":["../../../src/server/services/artifact-staleness.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,oBAAoB;IAEnC,UAAU,EAAE,MAAM,CAAC;IAKnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAwED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAQnG;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,oBAAoB,EAC7B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,GACrB,MAAM,CAMR"}
@@ -0,0 +1,115 @@
1
+ // Decides whether a service's packaged artifacts predate its sources.
2
+ //
3
+ // Why this exists: `autoPackage` only packages when the CloudFormation template
4
+ // is MISSING (see ServiceRegistrar.readTemplate). On a service that has been
5
+ // packaged once, `lss register <dir>` re-reads whatever template and zip are on
6
+ // disk — possibly many commits old — and answers `✓` in a fraction of a second.
7
+ // Registering is the natural gesture after editing code, so the operator reads
8
+ // that `✓` as "my code is loaded" when it may mean "yesterday's build is loaded".
9
+ // The registration is not wrong (it faithfully registers what was packaged); the
10
+ // silence is. This module supplies the evidence for a warning that says so.
11
+ //
12
+ // Split out of the registrar so the mtime rules are unit-testable on a plain
13
+ // temp directory, the same reasoning that produced `artifact-resolver.ts`.
14
+ import path from 'path';
15
+ import fs from 'fs/promises';
16
+ // Directories that are never packaging INPUT, skipped so the walk stays cheap
17
+ // on a monorepo (the scale target is 40 services on a weak machine). Everything
18
+ // starting with a dot goes too — that covers `.serverless` itself, `.git`, and
19
+ // the build caches (`.next`, `.turbo`, `.build`) without enumerating them.
20
+ const SKIPPED_DIRS = new Set(['node_modules', 'dist', 'build', 'coverage']);
21
+ function isSkippedDir(name) {
22
+ return name.startsWith('.') || SKIPPED_DIRS.has(name);
23
+ }
24
+ /**
25
+ * The moment `sls package` last wrote this service's artifacts: the newest
26
+ * mtime among the files it produces in `.serverless/` (the zips plus the
27
+ * template and serverless-state JSON, all written by the same run).
28
+ *
29
+ * Newest rather than oldest on purpose — a stray leftover from an older
30
+ * packaging run must not make a current package look ancient.
31
+ *
32
+ * Returns null when there is nothing to compare against (no `.serverless/`, or
33
+ * no recognisable artifact in it), which the caller treats as "cannot tell".
34
+ */
35
+ async function packagedAt(serverlessDir) {
36
+ const entries = await fs.readdir(serverlessDir, { withFileTypes: true }).catch(() => null);
37
+ if (!entries)
38
+ return null;
39
+ let newest = null;
40
+ for (const entry of entries) {
41
+ if (!entry.isFile())
42
+ continue;
43
+ if (!entry.name.endsWith('.zip') && !entry.name.endsWith('.json'))
44
+ continue;
45
+ const stat = await fs.stat(path.join(serverlessDir, entry.name)).catch(() => null);
46
+ if (!stat)
47
+ continue;
48
+ if (newest === null || stat.mtimeMs > newest)
49
+ newest = stat.mtimeMs;
50
+ }
51
+ return newest;
52
+ }
53
+ /**
54
+ * First source file under `root` whose mtime is past `threshold`, or null when
55
+ * every source is older. Breadth-first over an array used as a queue so there is
56
+ * no recursion depth to worry about and no non-null assertion to appease lint.
57
+ *
58
+ * Unreadable directories and files are skipped rather than thrown: a permission
59
+ * hole should cost the warning, never the registration.
60
+ */
61
+ async function findNewerSource(root, threshold) {
62
+ const queue = [root];
63
+ for (let i = 0; i < queue.length; i++) {
64
+ const entries = await fs.readdir(queue[i], { withFileTypes: true }).catch(() => null);
65
+ if (!entries)
66
+ continue;
67
+ for (const entry of entries) {
68
+ const full = path.join(queue[i], entry.name);
69
+ if (entry.isDirectory()) {
70
+ // Symlinked directories are not followed: `withFileTypes` reports a
71
+ // symlink as neither file nor directory, so a loop cannot form here.
72
+ if (!isSkippedDir(entry.name))
73
+ queue.push(full);
74
+ continue;
75
+ }
76
+ if (!entry.isFile())
77
+ continue;
78
+ const stat = await fs.stat(full).catch(() => null);
79
+ if (!stat)
80
+ continue;
81
+ if (stat.mtimeMs > threshold)
82
+ return { file: full, mtimeMs: stat.mtimeMs };
83
+ }
84
+ }
85
+ return null;
86
+ }
87
+ /**
88
+ * Verdict for one service root, or null when the artifact is current — or when
89
+ * there is not enough on disk to tell. Null is deliberately unopinionated: the
90
+ * caller warns only on a positive verdict, so an undecidable case never invents
91
+ * a scary message.
92
+ */
93
+ export async function detectStaleArtifact(serviceRoot) {
94
+ const producedAt = await packagedAt(path.join(serviceRoot, '.serverless'));
95
+ if (producedAt === null)
96
+ return null;
97
+ const newer = await findNewerSource(serviceRoot, producedAt);
98
+ if (!newer)
99
+ return null;
100
+ return { packagedAt: producedAt, newestSource: newer.file, newestSourceAt: newer.mtimeMs };
101
+ }
102
+ /**
103
+ * The operator-facing sentence. Kept next to the detector so the wording and the
104
+ * evidence never drift apart, and phrased with the concrete remedy: the command
105
+ * this service actually packages with is a datum lss.config.json already holds,
106
+ * and having to know it from outside was the original complaint.
107
+ */
108
+ export function formatStaleArtifactWarning(verdict, serviceRoot, packageCommand) {
109
+ const when = (ms) => new Date(ms).toISOString().replace('T', ' ').slice(0, 19);
110
+ const relative = path.relative(serviceRoot, verdict.newestSource) || verdict.newestSource;
111
+ return `the package predates the sources — ${relative} changed at ${when(verdict.newestSourceAt)}, `
112
+ + `after the last package at ${when(verdict.packagedAt)}. `
113
+ + `Run \`${packageCommand}\` or register again with --repackage to load current code.`;
114
+ }
115
+ //# sourceMappingURL=artifact-staleness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-staleness.js","sourceRoot":"","sources":["../../../src/server/services/artifact-staleness.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,54 @@
1
1
  import type { AuthorizerConfig } from './serverless-state-parser.js';
2
- import type { IncomingRequest, AuthorizerOutput } from './api-gateway-events.js';
2
+ import { type IncomingRequest, type AuthorizerOutput, type GatewayResponseType } from './api-gateway-events.js';
3
3
  import type { HttpRoute } from './serverless-state-parser.js';
4
4
  export interface AuthorizerDecision {
5
- deniedStatus?: number;
6
- message?: string;
5
+ denial?: Extract<GatewayResponseType, 'UNAUTHORIZED' | 'ACCESS_DENIED' | 'AUTHORIZER_CONFIGURATION_ERROR'>;
6
+ explicitDeny?: boolean;
7
7
  authorizer?: AuthorizerOutput;
8
8
  }
9
+ export interface AuthorizeContext {
10
+ region?: string;
11
+ accountId?: string;
12
+ pathParameters?: Record<string, string> | null;
13
+ requestId?: string;
14
+ }
15
+ interface PolicyStatement {
16
+ Effect?: unknown;
17
+ Action?: unknown;
18
+ Resource?: unknown;
19
+ }
20
+ export interface AuthorizerCacheStats {
21
+ entries: number;
22
+ hits: number;
23
+ misses: number;
24
+ }
25
+ export type PolicyVerdict = 'allow' | 'deny' | 'implicit-deny';
9
26
  export declare class AuthorizerService {
10
27
  private static instance;
11
28
  private cache;
29
+ private hits;
30
+ private misses;
31
+ now: () => number;
12
32
  static getInstance(): AuthorizerService;
13
33
  clearCache(filter?: {
14
34
  service?: string;
15
35
  authorizer?: string;
16
36
  }): number;
17
- authorize(serviceName: string, stage: string, route: HttpRoute, config: AuthorizerConfig, request: IncomingRequest): Promise<AuthorizerDecision>;
37
+ getCacheStats(): AuthorizerCacheStats;
38
+ private nameMatches;
39
+ authorize(serviceName: string, stage: string, route: HttpRoute, config: AuthorizerConfig, request: IncomingRequest, context?: AuthorizeContext): Promise<AuthorizerDecision>;
40
+ private cacheKey;
41
+ private describe;
18
42
  private extractIdentity;
19
43
  private extractIdentityValue;
20
44
  private header;
21
45
  private buildAuthorizerEvent;
22
46
  private flattenHeaders;
23
- private interpretResult;
47
+ private multiValueHeaders;
48
+ private parseAnswer;
49
+ private contextOf;
50
+ private decide;
24
51
  }
52
+ export declare function evaluatePolicy(statements: PolicyStatement[], methodArn: string): PolicyVerdict;
53
+ export {};
25
54
  //# sourceMappingURL=authorizer-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authorizer-service.d.ts","sourceRoot":"","sources":["../../../src/server/services/authorizer-service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IAGjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAOD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAC3C,OAAO,CAAC,KAAK,CAAiC;IAE9C,MAAM,CAAC,WAAW,IAAI,iBAAiB;IAOvC,UAAU,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAiBhE,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,kBAAkB,CAAC;IA4C9B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,oBAAoB;IA6E5B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,eAAe;CA+BxB"}
1
+ {"version":3,"file":"authorizer-service.d.ts","sourceRoot":"","sources":["../../../src/server/services/authorizer-service.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IAMjC,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,EAAE,cAAc,GAAG,eAAe,GAAG,gCAAgC,CAAC,CAAC;IAG3G,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAGD,MAAM,WAAW,gBAAgB;IAE/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAE/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAYD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,eAAe,CAAC;AAE/D,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAC3C,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,MAAM,CAAK;IAGnB,GAAG,EAAE,MAAM,MAAM,CAAY;IAE7B,MAAM,CAAC,WAAW,IAAI,iBAAiB;IAOvC,UAAU,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAkBtE,aAAa,IAAI,oBAAoB;IASrC,OAAO,CAAC,WAAW;IAOb,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,kBAAkB,CAAC;IA2E9B,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,oBAAoB;IAoG5B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,WAAW;IA6BnB,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,MAAM;CAYf;AAUD,wBAAgB,cAAc,CAAC,UAAU,EAAE,eAAe,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,CAa9F"}
@@ -1 +1 @@
1
- {"version":3,"file":"authorizer-service.js","sourceRoot":"","sources":["../../../src/server/services/authorizer-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authorizer-service.js","sourceRoot":"","sources":["../../../src/server/services/authorizer-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ export declare const ACCOUNT_ID = "000000000000";
2
+ export declare const PARTITION = "aws";
3
+ export declare const URL_SUFFIX = "amazonaws.com";
4
+ export declare const NO_VALUE: unique symbol;
5
+ export interface IntrinsicContext {
6
+ region?: string;
7
+ accountId: string;
8
+ partition: string;
9
+ stackName?: string;
10
+ parameters: Map<string, unknown>;
11
+ mappings: Record<string, unknown>;
12
+ conditions: Record<string, unknown>;
13
+ resolveResource?: (logicalId: string, attribute?: string) => string | undefined;
14
+ exports?: Map<string, string>;
15
+ warn: (message: string) => void;
16
+ }
17
+ export interface TemplateResolveOptions {
18
+ region?: string;
19
+ accountId?: string;
20
+ partition?: string;
21
+ stackName?: string;
22
+ parameterOverrides?: Record<string, unknown>;
23
+ }
24
+ export interface TemplateResolution {
25
+ template: Record<string, unknown>;
26
+ droppedByCondition: string[];
27
+ }
28
+ export declare function intrinsicName(value: unknown): string | undefined;
29
+ export declare class IntrinsicResolver {
30
+ private readonly ctx;
31
+ private conditionCache;
32
+ private evaluating;
33
+ constructor(ctx: IntrinsicContext);
34
+ resolve(node: unknown): unknown;
35
+ evaluateCondition(name: string): boolean | undefined;
36
+ private evaluateExpression;
37
+ private resolveIntrinsic;
38
+ private resolveRef;
39
+ private resolveGetAtt;
40
+ private resolveSub;
41
+ private subToken;
42
+ private resolveJoin;
43
+ private resolveSelect;
44
+ private resolveSplit;
45
+ private resolveIf;
46
+ private resolveFindInMap;
47
+ private resolveGetAZs;
48
+ }
49
+ /**
50
+ * The resolution context a template defines: its Parameters (with overrides),
51
+ * Mappings and Conditions plus the deployment's pseudo parameters. Each
52
+ * distinct finding is pushed to `warnings` once.
53
+ */
54
+ export declare function createIntrinsicContext(template: Record<string, unknown>, options: TemplateResolveOptions, warnings?: string[]): IntrinsicContext;
55
+ /**
56
+ * The static pass over a whole template: Resources and Outputs come back with
57
+ * every statically knowable intrinsic resolved, and the entries whose
58
+ * `Condition` is false are removed (AWS never creates them). An undecidable
59
+ * condition keeps its resource — dropping something the template may well
60
+ * create is the worse failure.
61
+ */
62
+ export declare function resolveTemplate(template: Record<string, unknown>, options: TemplateResolveOptions, warnings?: string[]): TemplateResolution;
63
+ //# sourceMappingURL=cfn-intrinsics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cfn-intrinsics.d.ts","sourceRoot":"","sources":["../../../src/server/services/cfn-intrinsics.ts"],"names":[],"mappings":"AA+BA,eAAO,MAAM,UAAU,iBAAiB,CAAC;AACzC,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,UAAU,kBAAkB,CAAC;AAI1C,eAAO,MAAM,QAAQ,EAAE,OAAO,MAA+B,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAI/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAGlB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGpC,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAEhF,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,kBAAkB;IAGjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGlC,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAWD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMhE;AAqCD,qBAAa,iBAAiB;IAIhB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHhC,OAAO,CAAC,cAAc,CAA0C;IAChE,OAAO,CAAC,UAAU,CAAqB;gBAEV,GAAG,EAAE,gBAAgB;IAIlD,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAmB/B,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAoBpD,OAAO,CAAC,kBAAkB;IA8B1B,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,UAAU;IAgClB,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,aAAa;CAMtB;AAkCD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,gBAAgB,CAkBlB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,kBAAkB,CAuBpB"}