@venturekit/infra 0.0.0-dev.20260308002709 → 0.0.0-dev.20260311071358
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/README.md +109 -0
- package/dist/translators/auth.d.ts.map +1 -1
- package/dist/translators/auth.js +9 -12
- package/dist/translators/auth.js.map +1 -1
- package/dist/translators/cache.js +2 -2
- package/dist/translators/cache.js.map +1 -1
- package/dist/translators/database.d.ts.map +1 -1
- package/dist/translators/database.js +8 -7
- package/dist/translators/database.js.map +1 -1
- package/dist/translators/orchestrator.d.ts.map +1 -1
- package/dist/translators/orchestrator.js +8 -7
- package/dist/translators/orchestrator.js.map +1 -1
- package/dist/translators/schedule.d.ts.map +1 -1
- package/dist/translators/schedule.js +7 -6
- package/dist/translators/schedule.js.map +1 -1
- package/dist/translators/storage.d.ts.map +1 -1
- package/dist/translators/storage.js +1 -0
- package/dist/translators/storage.js.map +1 -1
- package/dist/venture.d.ts +10 -6
- package/dist/venture.d.ts.map +1 -1
- package/dist/venture.js +44 -43
- package/dist/venture.js.map +1 -1
- package/package.json +2 -2
package/README.md
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# @venturekit/infra
|
|
2
|
+
|
|
3
|
+
> **Warning:** This package is in active development and not production-ready. APIs may change without notice.
|
|
4
|
+
|
|
5
|
+
Infrastructure package for [VentureKit](https://venturekit.dev) — SST constructs for AWS.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @venturekit/infra@dev
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Overview
|
|
14
|
+
|
|
15
|
+
`@venturekit/infra` provides the `defineVenture()` function, which is the main entry point for all VentureKit applications. It:
|
|
16
|
+
|
|
17
|
+
- Validates your configuration
|
|
18
|
+
- Discovers file-based routes
|
|
19
|
+
- Translates infrastructure intents into AWS resources via SST
|
|
20
|
+
- Creates Lambda functions, API Gateway, VPC, WebSocket API, and more
|
|
21
|
+
- Hides all SST/CDK complexity behind a clean, declarative API
|
|
22
|
+
|
|
23
|
+
Consumers never interact with SST directly — `@venturekit/infra` is the abstraction layer.
|
|
24
|
+
|
|
25
|
+
## Usage
|
|
26
|
+
|
|
27
|
+
Create a `vk.config.ts` at your project root:
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
import { defineVenture } from '@venturekit/infra';
|
|
31
|
+
import { base } from './config/base';
|
|
32
|
+
import { security } from './config/security';
|
|
33
|
+
import { dev } from './config/dev';
|
|
34
|
+
import { prod } from './config/prod';
|
|
35
|
+
|
|
36
|
+
export default defineVenture({
|
|
37
|
+
base,
|
|
38
|
+
security,
|
|
39
|
+
envs: { dev, prod },
|
|
40
|
+
routesDir: 'src/routes',
|
|
41
|
+
});
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### With Infrastructure Intents
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
export default defineVenture({
|
|
48
|
+
base,
|
|
49
|
+
security,
|
|
50
|
+
envs: { dev, prod },
|
|
51
|
+
routesDir: 'src/routes',
|
|
52
|
+
infrastructure: {
|
|
53
|
+
databases: [
|
|
54
|
+
{ id: 'main', type: 'postgres', size: 'small', name: 'mydb' },
|
|
55
|
+
],
|
|
56
|
+
storage: [
|
|
57
|
+
{ id: 'uploads', purpose: 'uploads', cdn: true },
|
|
58
|
+
],
|
|
59
|
+
auth: [
|
|
60
|
+
{ id: 'users', signInWith: ['email'], allowSignUp: true },
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## File-Based Routing
|
|
67
|
+
|
|
68
|
+
Routes are auto-discovered from `routesDir`:
|
|
69
|
+
|
|
70
|
+
| File | Route |
|
|
71
|
+
|------|-------|
|
|
72
|
+
| `src/routes/health/get.ts` | `GET /health` |
|
|
73
|
+
| `src/routes/projects/post.ts` | `POST /projects` |
|
|
74
|
+
| `src/routes/projects/[id]/get.ts` | `GET /projects/{id}` |
|
|
75
|
+
| `src/routes/projects/[id]/delete.ts` | `DELETE /projects/{id}` |
|
|
76
|
+
|
|
77
|
+
## Environment Selection
|
|
78
|
+
|
|
79
|
+
The current environment is determined by the `VENTURE_STAGE` environment variable:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
VENTURE_STAGE=prod vk deploy # Uses prod config
|
|
83
|
+
VENTURE_STAGE=stage vk deploy # Uses stage config
|
|
84
|
+
vk dev # Defaults to dev
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## API
|
|
88
|
+
|
|
89
|
+
### `defineVenture(definition)`
|
|
90
|
+
|
|
91
|
+
Creates a VentureKit application from a `VentureDefinition`:
|
|
92
|
+
|
|
93
|
+
- `base` — `BaseConfig` (project identity)
|
|
94
|
+
- `security` — `SecurityConfig` (scopes, clients)
|
|
95
|
+
- `envs` — `{ dev?, stage?, prod? }` environment configurations
|
|
96
|
+
- `routesDir` — path to file-based routes directory
|
|
97
|
+
- `infrastructure?` — `VentureIntent` for declarative infrastructure
|
|
98
|
+
|
|
99
|
+
### `getResolvedConfig(base, security, envInput)`
|
|
100
|
+
|
|
101
|
+
Returns the fully resolved `ResolvedConfig` for the current environment. Useful for accessing config values in handler code.
|
|
102
|
+
|
|
103
|
+
## API Reference
|
|
104
|
+
|
|
105
|
+
See the [API reference](https://venturekit.dev/api-reference/infra) for full documentation.
|
|
106
|
+
|
|
107
|
+
## License
|
|
108
|
+
|
|
109
|
+
Apache-2.0 — see [LICENSE](../../LICENSE) for details.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/translators/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAwBD;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/translators/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAwBD;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,UAAU,CAAC,CAwCrB"}
|
package/dist/translators/auth.js
CHANGED
|
@@ -34,23 +34,22 @@ function getPasswordPolicy(strength = 'standard') {
|
|
|
34
34
|
async function translateAuth(intent, sst, projectName) {
|
|
35
35
|
const resourceName = `${projectName}-${intent.id}`;
|
|
36
36
|
// Build user pool configuration
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
// The `sst` parameter here is the aws namespace (sst.aws)
|
|
38
|
+
const userPoolConfig = {};
|
|
39
|
+
if (intent.signInWith && intent.signInWith.length > 0) {
|
|
40
|
+
userPoolConfig.usernames = intent.signInWith;
|
|
41
|
+
}
|
|
41
42
|
// MFA configuration
|
|
42
43
|
if (intent.mfa && intent.mfa !== 'off') {
|
|
43
44
|
userPoolConfig.mfa = intent.mfa;
|
|
44
45
|
}
|
|
45
|
-
// Create user pool
|
|
46
|
+
// Create user pool (SST v3: sst.aws.CognitoUserPool)
|
|
46
47
|
const userPool = new sst.CognitoUserPool(resourceName, userPoolConfig);
|
|
47
|
-
// Create clients
|
|
48
|
+
// Create clients using .addClient() method (SST v3 pattern)
|
|
48
49
|
let primaryClientId = '';
|
|
49
50
|
if (intent.clients && intent.clients.length > 0) {
|
|
50
51
|
for (const client of intent.clients) {
|
|
51
|
-
const appClient =
|
|
52
|
-
userPool: userPool.id,
|
|
53
|
-
});
|
|
52
|
+
const appClient = userPool.addClient(client.name);
|
|
54
53
|
if (!primaryClientId) {
|
|
55
54
|
primaryClientId = appClient.id;
|
|
56
55
|
}
|
|
@@ -58,9 +57,7 @@ async function translateAuth(intent, sst, projectName) {
|
|
|
58
57
|
}
|
|
59
58
|
else {
|
|
60
59
|
// Create default client
|
|
61
|
-
const defaultClient =
|
|
62
|
-
userPool: userPool.id,
|
|
63
|
-
});
|
|
60
|
+
const defaultClient = userPool.addClient('default');
|
|
64
61
|
primaryClientId = defaultClient.id;
|
|
65
62
|
}
|
|
66
63
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/translators/auth.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAuCH,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/translators/auth.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAuCH,sCA4CC;AArED;;GAEG;AACH,SAAS,iBAAiB,CAAC,WAAkC,UAAU;IACrE,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO;YACL,SAAS,EAAE,EAAE;YACb,gBAAgB,EAAE,IAAI;YACtB,gBAAgB,EAAE,IAAI;YACtB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,KAAK;KACtB,CAAC;AACJ,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,aAAa,CACjC,MAAkB,EAClB,GAAQ,EACR,WAAmB;IAEnB,MAAM,YAAY,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;IAEnD,gCAAgC;IAChC,0DAA0D;IAC1D,MAAM,cAAc,GAA4B,EAAE,CAAC;IAEnD,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,cAAc,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;IAC/C,CAAC;IAED,oBAAoB;IACpB,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;QACvC,cAAc,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IAClC,CAAC;IAED,qDAAqD;IACrD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAEvE,4DAA4D;IAC5D,IAAI,eAAe,GAAG,EAAE,CAAC;IAEzB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,eAAe,GAAG,SAAS,CAAC,EAAE,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,wBAAwB;QACxB,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACpD,eAAe,GAAG,aAAa,CAAC,EAAE,CAAC;IACrC,CAAC;IAED,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,WAAW,EAAE,QAAQ,CAAC,GAAG;QACzB,QAAQ,EAAE,eAAe;KAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -27,8 +27,8 @@ function sizeToNodeType(size) {
|
|
|
27
27
|
*/
|
|
28
28
|
async function translateCache(intent, sst, projectName) {
|
|
29
29
|
const resourceName = `${projectName}-${intent.id}`;
|
|
30
|
-
// SST v3
|
|
31
|
-
// The
|
|
30
|
+
// SST v3: sst.aws.Redis
|
|
31
|
+
// The `sst` parameter here is the aws namespace (sst.aws)
|
|
32
32
|
const redis = new sst.Redis(resourceName, {});
|
|
33
33
|
return {
|
|
34
34
|
endpoint: redis.host,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/translators/cache.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA+BH,wCAeC;AAlCD;;GAEG;AACH,SAAS,cAAc,CAAC,IAAkB;IACxC,MAAM,OAAO,GAAiC;QAC5C,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,gBAAgB;QACxB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,gBAAgB;KACzB,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAClC,MAAmB,EACnB,GAAQ,EACR,WAAmB;IAEnB,MAAM,YAAY,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;IAEnD,
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/translators/cache.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA+BH,wCAeC;AAlCD;;GAEG;AACH,SAAS,cAAc,CAAC,IAAkB;IACxC,MAAM,OAAO,GAAiC;QAC5C,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,gBAAgB;QACxB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,gBAAgB;KACzB,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAClC,MAAmB,EACnB,GAAQ,EACR,WAAmB;IAEnB,MAAM,YAAY,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;IAEnD,wBAAwB;IACxB,0DAA0D;IAC1D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAE9C,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,IAAI;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/translators/database.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,kBAAkB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAoCD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/translators/database.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,kBAAkB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAoCD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC,CAqBzB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAazB"}
|
|
@@ -49,19 +49,20 @@ function getDefaultPort(engine) {
|
|
|
49
49
|
*/
|
|
50
50
|
async function translateDatabase(intent, sst, projectName) {
|
|
51
51
|
const resourceName = `${projectName}-${intent.id}`;
|
|
52
|
-
// Translate intent to SST
|
|
53
|
-
//
|
|
52
|
+
// Translate intent to SST v3 Postgres component
|
|
53
|
+
// The `sst` parameter here is the aws namespace (sst.aws)
|
|
54
|
+
const scaling = {
|
|
55
|
+
min: intent.size === 'small' ? '0.5 ACU' : intent.size === 'medium' ? '1 ACU' : '2 ACU',
|
|
56
|
+
max: intent.size === 'small' ? '2 ACU' : intent.size === 'medium' ? '4 ACU' : '8 ACU',
|
|
57
|
+
};
|
|
54
58
|
const rds = new sst.Postgres(resourceName, {
|
|
55
|
-
scaling
|
|
56
|
-
min: intent.size === 'small' ? '0.5 ACU' : intent.size === 'medium' ? '1 ACU' : '2 ACU',
|
|
57
|
-
max: intent.size === 'small' ? '2 ACU' : intent.size === 'medium' ? '4 ACU' : '8 ACU',
|
|
58
|
-
},
|
|
59
|
+
scaling,
|
|
59
60
|
database: intent.name,
|
|
60
61
|
});
|
|
61
62
|
return {
|
|
62
63
|
endpoint: rds.host,
|
|
63
64
|
port: rds.port,
|
|
64
|
-
secretArn: rds.secretArn,
|
|
65
|
+
secretArn: rds.secretArn ?? '',
|
|
65
66
|
databaseName: intent.name,
|
|
66
67
|
};
|
|
67
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/translators/database.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAwDH,
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/translators/database.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAwDH,8CAyBC;AAQD,0DAgBC;AA3FD;;;GAGG;AACH,SAAS,mBAAmB,CAAC,IAAkB,EAAE,MAA4B;IAC3E,MAAM,OAAO,GAAiC;QAC5C,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,aAAa;QACrB,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,aAAa;KACtB,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,IAAkB;IACvC,MAAM,OAAO,GAAiC;QAC5C,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;KACZ,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,MAA4B;IAClD,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAAsB,EACtB,GAAQ,EACR,WAAmB;IAEnB,MAAM,YAAY,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;IAEnD,gDAAgD;IAChD,0DAA0D;IAC1D,MAAM,OAAO,GAAG;QACd,GAAG,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;QACvF,GAAG,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;KACtF,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE;QACzC,OAAO;QACP,QAAQ,EAAE,MAAM,CAAC,IAAI;KACtB,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,GAAG,CAAC,IAAI;QAClB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE;QAC9B,YAAY,EAAE,MAAM,CAAC,IAAI;KAC1B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,MAAsB,EACtB,WAAmB;IAEnB,OAAO;QACL,IAAI,EAAE,GAAG,WAAW,IAAI,MAAM,CAAC,EAAE,EAAE;QACnC,MAAM,EAAE,MAAM,CAAC,IAAI;QACnB,aAAa,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;QAC5D,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5C,YAAY,EAAE,MAAM,CAAC,IAAI;QACzB,OAAO,EAAE,MAAM,CAAC,gBAAgB,IAAI,KAAK;QACzC,gBAAgB,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;QAC1C,qBAAqB,EAAE,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,0BAA0B,EAAE,MAAM,CAAC,mBAAmB,IAAI,KAAK;QAC/D,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;KAClC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/translators/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAQrE;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/translators/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAQrE;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,CA4ExB"}
|
|
@@ -24,8 +24,9 @@ const schedule_js_1 = require("./schedule.js");
|
|
|
24
24
|
* @returns Outputs from all created resources
|
|
25
25
|
*/
|
|
26
26
|
async function translateAllIntents(intents, projectName) {
|
|
27
|
-
// Dynamic import of SST - isolated to this file
|
|
27
|
+
// Dynamic import of SST v3 - isolated to this file
|
|
28
28
|
const sst = await import('sst');
|
|
29
|
+
const aws = sst.aws ?? sst;
|
|
29
30
|
const outputs = {
|
|
30
31
|
databases: {},
|
|
31
32
|
storage: {},
|
|
@@ -36,7 +37,7 @@ async function translateAllIntents(intents, projectName) {
|
|
|
36
37
|
// Translate databases
|
|
37
38
|
if (intents.databases) {
|
|
38
39
|
for (const intent of intents.databases) {
|
|
39
|
-
const result = await (0, database_js_1.translateDatabase)(intent,
|
|
40
|
+
const result = await (0, database_js_1.translateDatabase)(intent, aws, projectName);
|
|
40
41
|
outputs.databases[intent.id] = {
|
|
41
42
|
endpoint: result.endpoint,
|
|
42
43
|
port: result.port,
|
|
@@ -47,7 +48,7 @@ async function translateAllIntents(intents, projectName) {
|
|
|
47
48
|
// Translate storage
|
|
48
49
|
if (intents.storage) {
|
|
49
50
|
for (const intent of intents.storage) {
|
|
50
|
-
const result = await (0, storage_js_1.translateStorage)(intent,
|
|
51
|
+
const result = await (0, storage_js_1.translateStorage)(intent, aws, projectName);
|
|
51
52
|
outputs.storage[intent.id] = {
|
|
52
53
|
bucketName: result.bucketName,
|
|
53
54
|
cdnUrl: result.cdnUrl,
|
|
@@ -57,7 +58,7 @@ async function translateAllIntents(intents, projectName) {
|
|
|
57
58
|
// Translate auth
|
|
58
59
|
if (intents.auth) {
|
|
59
60
|
for (const intent of intents.auth) {
|
|
60
|
-
const result = await (0, auth_js_1.translateAuth)(intent,
|
|
61
|
+
const result = await (0, auth_js_1.translateAuth)(intent, aws, projectName);
|
|
61
62
|
outputs.auth[intent.id] = {
|
|
62
63
|
userPoolId: result.userPoolId,
|
|
63
64
|
clientId: result.clientId,
|
|
@@ -67,7 +68,7 @@ async function translateAllIntents(intents, projectName) {
|
|
|
67
68
|
// Translate queues
|
|
68
69
|
if (intents.queues) {
|
|
69
70
|
for (const intent of intents.queues) {
|
|
70
|
-
const result = await (0, queue_js_1.translateQueue)(intent,
|
|
71
|
+
const result = await (0, queue_js_1.translateQueue)(intent, aws, projectName);
|
|
71
72
|
outputs.queues[intent.id] = {
|
|
72
73
|
queueUrl: result.queueUrl,
|
|
73
74
|
};
|
|
@@ -76,7 +77,7 @@ async function translateAllIntents(intents, projectName) {
|
|
|
76
77
|
// Translate caches
|
|
77
78
|
if (intents.caches) {
|
|
78
79
|
for (const intent of intents.caches) {
|
|
79
|
-
const result = await (0, cache_js_1.translateCache)(intent,
|
|
80
|
+
const result = await (0, cache_js_1.translateCache)(intent, aws, projectName);
|
|
80
81
|
outputs.caches[intent.id] = {
|
|
81
82
|
endpoint: result.endpoint,
|
|
82
83
|
port: result.port,
|
|
@@ -86,7 +87,7 @@ async function translateAllIntents(intents, projectName) {
|
|
|
86
87
|
// Translate schedules (no output needed, they're event-driven)
|
|
87
88
|
if (intents.schedules) {
|
|
88
89
|
for (const intent of intents.schedules) {
|
|
89
|
-
await (0, schedule_js_1.translateSchedule)(intent,
|
|
90
|
+
await (0, schedule_js_1.translateSchedule)(intent, aws, projectName);
|
|
90
91
|
}
|
|
91
92
|
}
|
|
92
93
|
return outputs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/translators/orchestrator.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAoBH,
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/translators/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../../src/translators/schedule.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAkBD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../../src/translators/schedule.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAkBD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC,CAqBzB"}
|
|
@@ -30,15 +30,16 @@ async function translateSchedule(intent, sst, projectName) {
|
|
|
30
30
|
const schedule = 'rate' in intent.schedule
|
|
31
31
|
? formatRate(intent.schedule.rate)
|
|
32
32
|
: formatCron(intent.schedule.cron);
|
|
33
|
-
// Create cron job
|
|
34
|
-
|
|
33
|
+
// Create cron job (SST v3: sst.aws.Cron)
|
|
34
|
+
// The `sst` parameter here is the aws namespace (sst.aws)
|
|
35
|
+
const cronConfig = {
|
|
35
36
|
schedule,
|
|
36
37
|
job: intent.handler,
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
};
|
|
39
|
+
const cron = new sst.Cron(resourceName, cronConfig);
|
|
39
40
|
return {
|
|
40
|
-
ruleArn: cron.
|
|
41
|
-
ruleName:
|
|
41
|
+
ruleArn: cron.arn ?? resourceName,
|
|
42
|
+
ruleName: resourceName,
|
|
42
43
|
};
|
|
43
44
|
}
|
|
44
45
|
//# sourceMappingURL=schedule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../src/translators/schedule.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA+BH,
|
|
1
|
+
{"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../src/translators/schedule.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA+BH,8CAyBC;AA5CD;;;GAGG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,QAAQ,IAAI,GAAG,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,QAAQ,IAAI,GAAG,CAAC;AACzB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAAsB,EACtB,GAAQ,EACR,WAAmB;IAEnB,MAAM,YAAY,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;IAEnD,gCAAgC;IAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,MAAM,CAAC,QAAQ;QACxC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAErC,yCAAyC;IACzC,0DAA0D;IAC1D,MAAM,UAAU,GAA4B;QAC1C,QAAQ;QACR,GAAG,EAAE,MAAM,CAAC,OAAO;KACpB,CAAC;IAEF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAEpD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,YAAY;QACjC,QAAQ,EAAE,YAAY;KACvB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/translators/storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/translators/storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,CA4CxB"}
|
|
@@ -13,6 +13,7 @@ exports.translateStorage = translateStorage;
|
|
|
13
13
|
async function translateStorage(intent, sst, projectName) {
|
|
14
14
|
const resourceName = `${projectName}-${intent.id}`;
|
|
15
15
|
// Build bucket configuration based on intent
|
|
16
|
+
// The `sst` parameter here is the aws namespace (sst.aws)
|
|
16
17
|
const bucketConfig = {};
|
|
17
18
|
// Versioning based on purpose or explicit setting
|
|
18
19
|
if (intent.versioned ?? intent.purpose === 'backups') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/translators/storage.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAgBH,
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/translators/storage.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAgBH,4CAgDC;AAnDD;;GAEG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAAqB,EACrB,GAAQ,EACR,WAAmB;IAEnB,MAAM,YAAY,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;IAEnD,6CAA6C;IAC7C,0DAA0D;IAC1D,MAAM,YAAY,GAA4B,EAAE,CAAC;IAEjD,kDAAkD;IAClD,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACrD,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,qBAAqB;IACrB,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,YAAY,CAAC,IAAI,GAAG;YAClB,YAAY,EAAE,MAAM,CAAC,WAAW;YAChC,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC;YAC9C,YAAY,EAAE,CAAC,GAAG,CAAC;SACpB,CAAC;IACJ,CAAC;IAED,gBAAgB;IAChB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAE1D,MAAM,MAAM,GAAkB;QAC5B,UAAU,EAAE,MAAM,CAAC,IAAI;QACvB,SAAS,EAAE,MAAM,CAAC,GAAG;KACtB,CAAC;IAEF,0BAA0B;IAC1B,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,MAAM,SAAS,GAA4B;YACzC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;SACtB,CAAC;QAEF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;QACtC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,MAAM,EAAE,SAAS,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC;IAC1B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/venture.d.ts
CHANGED
|
@@ -56,7 +56,7 @@ export interface VentureAppConfig {
|
|
|
56
56
|
*
|
|
57
57
|
* @example
|
|
58
58
|
* ```typescript
|
|
59
|
-
* //
|
|
59
|
+
* // vk.config.ts
|
|
60
60
|
* import { defineVenture } from '@venturekit/infra';
|
|
61
61
|
* import { base } from './config/base.js';
|
|
62
62
|
* import { security } from './config/security.js';
|
|
@@ -72,11 +72,15 @@ export interface VentureAppConfig {
|
|
|
72
72
|
* ```
|
|
73
73
|
*/
|
|
74
74
|
export declare function defineVenture(definition: VentureDefinition): {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
75
|
+
app(input: {
|
|
76
|
+
stage: string;
|
|
77
|
+
}): {
|
|
78
|
+
name: string;
|
|
79
|
+
home: "aws";
|
|
80
|
+
providers: {
|
|
81
|
+
aws: {
|
|
82
|
+
region: string;
|
|
83
|
+
};
|
|
80
84
|
};
|
|
81
85
|
};
|
|
82
86
|
run(): Promise<Record<string, unknown>>;
|
package/dist/venture.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"venture.d.ts","sourceRoot":"","sources":["../src/venture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EAEd,cAAc,EACd,aAAa,EAOd,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"venture.d.ts","sourceRoot":"","sources":["../src/venture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EAEd,cAAc,EACd,aAAa,EAOd,MAAM,kBAAkB,CAAC;AAsB1B;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,IAAI,EAAE,UAAU,CAAC;IAEjB,+CAA+C;IAC/C,QAAQ,EAAE,cAAc,CAAC;IAEzB,0CAA0C;IAC1C,IAAI,EAAE;QACJ,GAAG,CAAC,EAAE,cAAc,CAAC;QACrB,KAAK,CAAC,EAAE,cAAc,CAAC;QACvB,IAAI,CAAC,EAAE,cAAc,CAAC;KACvB,CAAC;IAEF,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE;QACT,GAAG,EAAE;YACH,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;CACH;AA2CD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,iBAAiB;eAS5C;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;EAgD/B;AAqFD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,cAAc,GACvB,cAAc,CAIhB"}
|
package/dist/venture.js
CHANGED
|
@@ -76,7 +76,7 @@ function discoverRoutes(routesDir) {
|
|
|
76
76
|
const method = (0, api_js_1.fileNameToMethod)(entry.name);
|
|
77
77
|
if (method) {
|
|
78
78
|
const apiPath = routePath || '/';
|
|
79
|
-
const handlerPath = fullPath.replace(/\.(ts|js)$/, '.handler');
|
|
79
|
+
const handlerPath = fullPath.replace(/\\/g, '/').replace(/\.(ts|js)$/, '.handler');
|
|
80
80
|
routes.push({ method, path: apiPath, handler: handlerPath });
|
|
81
81
|
}
|
|
82
82
|
}
|
|
@@ -92,7 +92,7 @@ function discoverRoutes(routesDir) {
|
|
|
92
92
|
*
|
|
93
93
|
* @example
|
|
94
94
|
* ```typescript
|
|
95
|
-
* //
|
|
95
|
+
* // vk.config.ts
|
|
96
96
|
* import { defineVenture } from '@venturekit/infra';
|
|
97
97
|
* import { base } from './config/base.js';
|
|
98
98
|
* import { security } from './config/security.js';
|
|
@@ -114,16 +114,20 @@ function defineVenture(definition) {
|
|
|
114
114
|
const securityValidation = (0, core_1.validateSecurityConfig)(definition.security);
|
|
115
115
|
(0, core_1.assertValid)(securityValidation);
|
|
116
116
|
return {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
117
|
+
app(input) {
|
|
118
|
+
return {
|
|
119
|
+
name: definition.base.name,
|
|
120
|
+
home: 'aws',
|
|
121
|
+
providers: {
|
|
122
|
+
aws: {
|
|
123
|
+
region: definition.base.region,
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
};
|
|
123
127
|
},
|
|
124
128
|
async run() {
|
|
125
|
-
// Determine current environment from
|
|
126
|
-
const stage = process.env.VENTURE_STAGE || 'dev';
|
|
129
|
+
// Determine current environment from $app.stage (set by SST CLI --stage flag)
|
|
130
|
+
const stage = globalThis.$app?.stage || process.env.VENTURE_STAGE || 'dev';
|
|
127
131
|
const env = (stage === 'prod' ? 'prod' : stage === 'stage' ? 'stage' : 'dev');
|
|
128
132
|
// Get env config (default to empty if not specified)
|
|
129
133
|
const envInput = definition.envs[env] || {};
|
|
@@ -152,38 +156,26 @@ function defineVenture(definition) {
|
|
|
152
156
|
* Create infrastructure resources
|
|
153
157
|
*/
|
|
154
158
|
async function createInfrastructure(config, routes, intentOutputs) {
|
|
155
|
-
// Dynamic import of
|
|
156
|
-
const
|
|
159
|
+
// Dynamic import of SST v3 (hidden from consumers)
|
|
160
|
+
const sst = await import('sst');
|
|
161
|
+
const aws = sst.aws ?? sst;
|
|
157
162
|
const outputs = {};
|
|
158
163
|
// Create VPC if needed
|
|
159
164
|
let vpc = undefined;
|
|
160
165
|
if ((0, vpc_js_1.isVpcRequired)(config.lambda.vpcEnabled)) {
|
|
161
|
-
vpc = new
|
|
166
|
+
vpc = new aws.Vpc(`${config.name}-vpc`, (0, vpc_js_1.createVpcConfig)(config.name, config.vpc));
|
|
162
167
|
outputs.vpcId = vpc.id;
|
|
163
168
|
}
|
|
164
|
-
// Build route
|
|
165
|
-
const
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
VENTURE_NAME: config.name,
|
|
174
|
-
...(intentOutputs ? { VENTURE_INTENT_OUTPUTS: JSON.stringify(intentOutputs) } : {}),
|
|
175
|
-
}),
|
|
176
|
-
};
|
|
177
|
-
if (vpc && config.lambda.vpcEnabled) {
|
|
178
|
-
routeEntry.vpc = vpc;
|
|
179
|
-
}
|
|
180
|
-
routeConfig[key] = routeEntry;
|
|
181
|
-
}
|
|
182
|
-
// Create API Gateway
|
|
169
|
+
// Build shared Lambda config for route handlers
|
|
170
|
+
const lambdaConfig = (0, lambda_js_1.createLambdaConfig)(config.lambda);
|
|
171
|
+
const lambdaEnv = (0, lambda_js_1.createLambdaEnvironment)({
|
|
172
|
+
VENTURE_ENV: config.env,
|
|
173
|
+
VENTURE_NAME: config.name,
|
|
174
|
+
...(intentOutputs ? { VENTURE_INTENT_OUTPUTS: JSON.stringify(intentOutputs) } : {}),
|
|
175
|
+
});
|
|
176
|
+
// Create API Gateway (SST v3: construct first, then add routes)
|
|
177
|
+
const apiConfig = {};
|
|
183
178
|
const corsConfig = (0, api_js_1.createCorsConfig)(config.api.cors);
|
|
184
|
-
const apiConfig = {
|
|
185
|
-
routes: routeConfig,
|
|
186
|
-
};
|
|
187
179
|
if (corsConfig) {
|
|
188
180
|
apiConfig.cors = corsConfig;
|
|
189
181
|
}
|
|
@@ -194,17 +186,26 @@ async function createInfrastructure(config, routes, intentOutputs) {
|
|
|
194
186
|
cert: config.api.customDomain.certificateArn,
|
|
195
187
|
};
|
|
196
188
|
}
|
|
197
|
-
|
|
189
|
+
if (vpc && config.lambda.vpcEnabled) {
|
|
190
|
+
apiConfig.vpc = vpc;
|
|
191
|
+
}
|
|
192
|
+
const api = new aws.ApiGatewayV2(`${config.name}-api`, apiConfig);
|
|
193
|
+
// Add routes using SST v3 .route() method
|
|
194
|
+
for (const route of routes) {
|
|
195
|
+
const routeKey = `${route.method} ${route.path}`;
|
|
196
|
+
api.route(routeKey, {
|
|
197
|
+
handler: route.handler,
|
|
198
|
+
...lambdaConfig,
|
|
199
|
+
environment: lambdaEnv,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
198
202
|
outputs.apiUrl = api.url;
|
|
199
203
|
// Create WebSocket API if enabled
|
|
200
204
|
if (config.websocket.enabled) {
|
|
201
|
-
const wsApi = new
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
$default: `${config.name}/ws/default.handler`,
|
|
206
|
-
},
|
|
207
|
-
});
|
|
205
|
+
const wsApi = new aws.ApiGatewayWebSocket(`${config.name}-ws`);
|
|
206
|
+
wsApi.route('$connect', `src/ws/connect.handler`);
|
|
207
|
+
wsApi.route('$disconnect', `src/ws/disconnect.handler`);
|
|
208
|
+
wsApi.route('$default', `src/ws/default.handler`);
|
|
208
209
|
outputs.wsUrl = wsApi.url;
|
|
209
210
|
}
|
|
210
211
|
// Output resolved config for debugging
|
package/dist/venture.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"venture.js","sourceRoot":"","sources":["../src/venture.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"venture.js","sourceRoot":"","sources":["../src/venture.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@venturekit/infra",
|
|
3
|
-
"version": "0.0.0-dev.
|
|
3
|
+
"version": "0.0.0-dev.20260311071358",
|
|
4
4
|
"description": "VentureKit infrastructure - SST constructs for AWS",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
],
|
|
26
26
|
"license": "Apache-2.0",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@venturekit/core": "0.0.0-dev.
|
|
28
|
+
"@venturekit/core": "0.0.0-dev.20260311071358",
|
|
29
29
|
"sst": "^3.0.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|