@void/platform 0.20.2 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +3 -2
- package/dist/index.mjs +4 -2
- package/dist/installer.d.mts +8 -1
- package/dist/installer.mjs +18 -2
- package/dist/runtime/api/README.md +1 -1
- package/dist/runtime/api/assets/admin/client.js +64 -0
- package/dist/runtime/api/assets/admin/style.css +2 -0
- package/dist/runtime/api/index.js +137274 -57153
- package/dist/runtime/api/index.js.map +4 -4
- package/dist/runtime/dispatch/README.md +1 -1
- package/dist/runtime/dispatch/index.js +42 -13
- package/dist/runtime/dispatch/index.js.map +2 -2
- package/dist/runtime/drizzle/0049_invitation_delivery_status.sql +2 -0
- package/dist/runtime/drizzle/0050_project_member_direct_grants.sql +2 -0
- package/dist/runtime/drizzle/compatibility.json +12 -0
- package/dist/runtime/drizzle/meta/_journal.json +14 -0
- package/dist/runtime/emailGateway/README.md +1 -1
- package/dist/runtime/manifest.json +47 -11
- package/dist/runtime/proxy/README.md +1 -1
- package/dist/runtime/proxy/index.js +23 -4
- package/dist/runtime/proxy/index.js.map +2 -2
- package/dist/runtime/tail/README.md +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
ALTER TABLE "invitations" ADD COLUMN "email_delivery_status" text;--> statement-breakpoint
|
|
2
|
+
ALTER TABLE "invitations" ADD CONSTRAINT "invitations_email_delivery_status_check" CHECK ("invitations"."email_delivery_status" IS NULL OR "invitations"."email_delivery_status" IN ('sent', 'failed', 'unavailable'));
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
ALTER TABLE "project_access_events" DROP CONSTRAINT "project_access_events_action_check";--> statement-breakpoint
|
|
2
|
+
ALTER TABLE "project_access_events" ADD CONSTRAINT "project_access_events_action_check" CHECK ("project_access_events"."action" IN ('invited', 'invitation_resent', 'member_added', 'accepted', 'declined', 'invitation_revoked', 'role_changed', 'member_removed', 'left'));
|
|
@@ -22,9 +22,21 @@
|
|
|
22
22
|
"platformVersion": "0.10.14",
|
|
23
23
|
"schemaDigest": "3dbf4c31d4bc97a11edca35c59b34ffad1f072df0ad7174d69e2de1057e2610b"
|
|
24
24
|
},
|
|
25
|
+
{
|
|
26
|
+
"platformVersion": "0.10.14",
|
|
27
|
+
"schemaDigest": "680a0af38a079d371ee8caa019a2cb6351855361b28d1041017c12fdf2abac46"
|
|
28
|
+
},
|
|
25
29
|
{
|
|
26
30
|
"platformVersion": "0.20.1",
|
|
27
31
|
"schemaDigest": "6de871d9524b082bba675d0d653ade45f95206895a962fea2b9be4b85d486313"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"platformVersion": "0.20.3",
|
|
35
|
+
"schemaDigest": "089431e230970d03afa429c102613598e88371155cb693c076002c5d632bb0b6"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"platformVersion": "0.20.3",
|
|
39
|
+
"schemaDigest": "408364e61c4b7d83def4030a1c11e8b9b07fc21dd3bffe6529e1b7d3759979b6"
|
|
28
40
|
}
|
|
29
41
|
]
|
|
30
42
|
}
|
|
@@ -295,6 +295,20 @@
|
|
|
295
295
|
"when": 1789920262096,
|
|
296
296
|
"tag": "0048_project_teams",
|
|
297
297
|
"breakpoints": true
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"idx": 49,
|
|
301
|
+
"version": "7",
|
|
302
|
+
"when": 1790570687921,
|
|
303
|
+
"tag": "0049_invitation_delivery_status",
|
|
304
|
+
"breakpoints": true
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"idx": 50,
|
|
308
|
+
"version": "7",
|
|
309
|
+
"when": 1790587573932,
|
|
310
|
+
"tag": "0050_project_member_direct_grants",
|
|
311
|
+
"breakpoints": true
|
|
298
312
|
}
|
|
299
313
|
]
|
|
300
314
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
This folder contains the built output assets for the worker "void-runtime-build-email-gateway" generated at 2026-09-
|
|
1
|
+
This folder contains the built output assets for the worker "void-runtime-build-email-gateway" generated at 2026-09-29T09:51:01.870Z.
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
"artifacts": {
|
|
3
3
|
"api": {
|
|
4
4
|
"path": "api/index.js",
|
|
5
|
-
"sha256": "
|
|
6
|
-
"size":
|
|
5
|
+
"sha256": "65b19319fb25caf54a0ca50de984839b2a198dcf5e4ac0bd6f91700c4241d337",
|
|
6
|
+
"size": 7001175
|
|
7
7
|
},
|
|
8
8
|
"dispatch": {
|
|
9
9
|
"path": "dispatch/index.js",
|
|
10
|
-
"sha256": "
|
|
11
|
-
"size":
|
|
10
|
+
"sha256": "13113d9d19ea435d7c84c33e7f3f4dd65fdeb6341f34a19a017b607a345b594c",
|
|
11
|
+
"size": 120672
|
|
12
12
|
},
|
|
13
13
|
"proxy": {
|
|
14
14
|
"path": "proxy/index.js",
|
|
15
|
-
"sha256": "
|
|
16
|
-
"size":
|
|
15
|
+
"sha256": "09c8a3af8c8947ee1dccab23cf3265fc981867dd2faf9409a8133eb442727f2a",
|
|
16
|
+
"size": 177919
|
|
17
17
|
},
|
|
18
18
|
"tail": {
|
|
19
19
|
"path": "tail/index.js",
|
|
@@ -26,11 +26,23 @@
|
|
|
26
26
|
"size": 187859
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
|
+
"assets": {
|
|
30
|
+
"adminClient": {
|
|
31
|
+
"path": "api/assets/admin/client.js",
|
|
32
|
+
"sha256": "f15e5323d29b8ab1816fa6b430ba13c7be878ee185f2db7b2aac03ab42fd9c3a",
|
|
33
|
+
"size": 963786
|
|
34
|
+
},
|
|
35
|
+
"adminStyle": {
|
|
36
|
+
"path": "api/assets/admin/style.css",
|
|
37
|
+
"sha256": "325917942661cce03e0a96c938859a062ea19dcc498f2ae50f0dd63435b9e128",
|
|
38
|
+
"size": 205773
|
|
39
|
+
}
|
|
40
|
+
},
|
|
29
41
|
"authenticationProtocolVersion": 1,
|
|
30
42
|
"emailProtocolVersion": 1,
|
|
31
43
|
"applicationRoutingVersion": 1,
|
|
32
44
|
"database": {
|
|
33
|
-
"journalSha256": "
|
|
45
|
+
"journalSha256": "0057b046a19ea1210f3087f7e538bcd5f5d7b73d4c195fac768947507345f256",
|
|
34
46
|
"lineage": "void-platform-postgresql-v1",
|
|
35
47
|
"migrations": [
|
|
36
48
|
{
|
|
@@ -284,6 +296,18 @@
|
|
|
284
296
|
"sha256": "64841b7f24d93c896cf7ac19d5114e76d8afd683fc5353d3e1d320bc91711064",
|
|
285
297
|
"tag": "0048_project_teams",
|
|
286
298
|
"timestampMillis": 1789920262096
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"index": 49,
|
|
302
|
+
"sha256": "1cba346329026c2034b3d6fd830305396b349a83f87bdb8973f6fd22343f8d6e",
|
|
303
|
+
"tag": "0049_invitation_delivery_status",
|
|
304
|
+
"timestampMillis": 1790570687921
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"index": 50,
|
|
308
|
+
"sha256": "4ad14938169de2b5c397a3087393b963300a006cbb7394e1f8e083b1896c6e77",
|
|
309
|
+
"tag": "0050_project_member_direct_grants",
|
|
310
|
+
"timestampMillis": 1790587573932
|
|
287
311
|
}
|
|
288
312
|
],
|
|
289
313
|
"protocolVersion": 1,
|
|
@@ -308,18 +332,30 @@
|
|
|
308
332
|
"platformVersion": "0.10.14",
|
|
309
333
|
"schemaDigest": "3dbf4c31d4bc97a11edca35c59b34ffad1f072df0ad7174d69e2de1057e2610b"
|
|
310
334
|
},
|
|
335
|
+
{
|
|
336
|
+
"platformVersion": "0.10.14",
|
|
337
|
+
"schemaDigest": "680a0af38a079d371ee8caa019a2cb6351855361b28d1041017c12fdf2abac46"
|
|
338
|
+
},
|
|
311
339
|
{
|
|
312
340
|
"platformVersion": "0.20.1",
|
|
313
341
|
"schemaDigest": "6de871d9524b082bba675d0d653ade45f95206895a962fea2b9be4b85d486313"
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"platformVersion": "0.20.3",
|
|
345
|
+
"schemaDigest": "089431e230970d03afa429c102613598e88371155cb693c076002c5d632bb0b6"
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"platformVersion": "0.20.3",
|
|
349
|
+
"schemaDigest": "408364e61c4b7d83def4030a1c11e8b9b07fc21dd3bffe6529e1b7d3759979b6"
|
|
314
350
|
}
|
|
315
351
|
],
|
|
316
|
-
"schemaDigest": "
|
|
352
|
+
"schemaDigest": "9a9ae6677b795debd4ffaa20a05f533727063c7a21366310a2fe4b17bd918edd"
|
|
317
353
|
},
|
|
318
|
-
"platformVersion": "0.
|
|
354
|
+
"platformVersion": "0.21.0",
|
|
319
355
|
"safetyProtocols": {
|
|
320
|
-
"sandboxDrain":
|
|
356
|
+
"sandboxDrain": 3
|
|
321
357
|
},
|
|
322
358
|
"schemaVersion": 2,
|
|
323
|
-
"sourceRevision": "
|
|
359
|
+
"sourceRevision": "8046d5cbbd46ac1e757c16acb07fd2988088e55c",
|
|
324
360
|
"usageProtocolVersion": 2
|
|
325
361
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
This folder contains the built output assets for the worker "void-runtime-build-proxy" generated at 2026-09-
|
|
1
|
+
This folder contains the built output assets for the worker "void-runtime-build-proxy" generated at 2026-09-29T09:51:00.849Z.
|
|
@@ -5506,7 +5506,13 @@ app3.post("/*", async (context, next) => {
|
|
|
5506
5506
|
const token = authHeader.slice(7);
|
|
5507
5507
|
const payload = await verifyJwt(token, context.env.JWT_SECRET);
|
|
5508
5508
|
if (!payload) {
|
|
5509
|
-
return context.json(
|
|
5509
|
+
return context.json(
|
|
5510
|
+
{
|
|
5511
|
+
error: "invalid or expired token",
|
|
5512
|
+
message: "This proxy credential is invalid or expired. Sign in to the connected platform again for remote development, or restart the build to obtain a fresh prerender token."
|
|
5513
|
+
},
|
|
5514
|
+
401
|
|
5515
|
+
);
|
|
5510
5516
|
}
|
|
5511
5517
|
const projectId = asString(body.projectId);
|
|
5512
5518
|
if (!projectId) {
|
|
@@ -5514,7 +5520,13 @@ app3.post("/*", async (context, next) => {
|
|
|
5514
5520
|
}
|
|
5515
5521
|
if (payload.aud === "prerender") {
|
|
5516
5522
|
if (!payload.project || payload.project !== projectId) {
|
|
5517
|
-
return context.json(
|
|
5523
|
+
return context.json(
|
|
5524
|
+
{
|
|
5525
|
+
error: "forbidden",
|
|
5526
|
+
message: "This prerender token does not match the requested project. Restart the build with a prerender token issued for the selected project."
|
|
5527
|
+
},
|
|
5528
|
+
403
|
|
5529
|
+
);
|
|
5518
5530
|
}
|
|
5519
5531
|
const active = await verifyPrerenderAuthority(
|
|
5520
5532
|
context.env.API,
|
|
@@ -5529,7 +5541,8 @@ app3.post("/*", async (context, next) => {
|
|
|
5529
5541
|
if (!active) {
|
|
5530
5542
|
return context.json(
|
|
5531
5543
|
{
|
|
5532
|
-
error: payload.credential ? "prerender token credential is no longer active" : payload.build ? "prerender token build is no longer active" : "prerender token authority is no longer active"
|
|
5544
|
+
error: payload.credential ? "prerender token credential is no longer active" : payload.build ? "prerender token build is no longer active" : "prerender token authority is no longer active",
|
|
5545
|
+
message: payload.credential ? "The deploy credential used for prerendering is no longer authorized. Ask the project owner for an active deploy credential, then restart the build." : payload.build ? "This build is no longer authorized to prerender. Start a new build to obtain a fresh prerender token." : "This prerender token is no longer authorized. Confirm your project access with a project admin or owner, then restart the build to obtain a fresh token."
|
|
5533
5546
|
},
|
|
5534
5547
|
403
|
|
5535
5548
|
);
|
|
@@ -5546,7 +5559,13 @@ app3.post("/*", async (context, next) => {
|
|
|
5546
5559
|
), "checkOwner");
|
|
5547
5560
|
revalidateHuman = /* @__PURE__ */ __name(async () => payload.exp > Date.now() / 1e3 && await checkOwner(), "revalidateHuman");
|
|
5548
5561
|
if (!await revalidateHuman()) {
|
|
5549
|
-
return context.json(
|
|
5562
|
+
return context.json(
|
|
5563
|
+
{
|
|
5564
|
+
error: "forbidden",
|
|
5565
|
+
message: "Remote access could not be authorized. Check the selected platform and project, then ask a project admin or owner to confirm your access. If your access is correct, retry shortly."
|
|
5566
|
+
},
|
|
5567
|
+
403
|
|
5568
|
+
);
|
|
5550
5569
|
}
|
|
5551
5570
|
}
|
|
5552
5571
|
context.set("projectId", projectId);
|