@volter/world-core 3.0.157 → 3.0.159
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/generated/pack-facts.json +134 -4
- package/dist/src/pack-fetch.js +4 -1
- package/generated/pack-facts.json +134 -4
- package/package.json +1 -1
- package/src/pack-fetch.ts +4 -1
|
@@ -1208,16 +1208,34 @@
|
|
|
1208
1208
|
"resources": [
|
|
1209
1209
|
"client",
|
|
1210
1210
|
"account",
|
|
1211
|
-
"access_token"
|
|
1211
|
+
"access_token",
|
|
1212
|
+
"api_key"
|
|
1212
1213
|
],
|
|
1213
1214
|
"endpointEnvNone": "Google's OAuth libraries read no base-URL variable: the endpoints are the discovery document's, claimed by the host rules.",
|
|
1214
1215
|
"credentialDoor": {
|
|
1215
|
-
"path": "/_twin/
|
|
1216
|
+
"path": "/_twin/credentials",
|
|
1216
1217
|
"body": {
|
|
1217
|
-
"client_email": "world@world-project.iam.gserviceaccount.com"
|
|
1218
|
+
"client_email": "world@world-project.iam.gserviceaccount.com",
|
|
1219
|
+
"client": {
|
|
1220
|
+
"redirect_uris": [
|
|
1221
|
+
"http://localhost:3000/oauth2callback"
|
|
1222
|
+
],
|
|
1223
|
+
"name": "World App"
|
|
1224
|
+
},
|
|
1225
|
+
"account": {
|
|
1226
|
+
"sub": "100000000000000000001",
|
|
1227
|
+
"email": "person@world.example",
|
|
1228
|
+
"name": "World Person"
|
|
1229
|
+
},
|
|
1230
|
+
"api_key": {
|
|
1231
|
+
"name": "API key 1"
|
|
1232
|
+
}
|
|
1218
1233
|
},
|
|
1219
1234
|
"fill": {
|
|
1220
|
-
"GOOGLE_APPLICATION_CREDENTIALS": "file:credentials"
|
|
1235
|
+
"GOOGLE_APPLICATION_CREDENTIALS": "file:credentials",
|
|
1236
|
+
"GOOGLE_CLIENT_ID": "client_id",
|
|
1237
|
+
"GOOGLE_CLIENT_SECRET": "client_secret",
|
|
1238
|
+
"YOUTUBE_API_KEY": "api_key"
|
|
1221
1239
|
}
|
|
1222
1240
|
},
|
|
1223
1241
|
"serveExport": "createGoogleoauthTwinServer"
|
|
@@ -1370,6 +1388,53 @@
|
|
|
1370
1388
|
},
|
|
1371
1389
|
"serveExport": "createHuggingfaceTwinServer"
|
|
1372
1390
|
},
|
|
1391
|
+
"instagram": {
|
|
1392
|
+
"adoption": {
|
|
1393
|
+
"sdks": [],
|
|
1394
|
+
"envStems": [
|
|
1395
|
+
"INSTAGRAM"
|
|
1396
|
+
]
|
|
1397
|
+
},
|
|
1398
|
+
"hosts": [
|
|
1399
|
+
{
|
|
1400
|
+
"host": "graph.instagram.com"
|
|
1401
|
+
},
|
|
1402
|
+
{
|
|
1403
|
+
"host": "api.instagram.com"
|
|
1404
|
+
},
|
|
1405
|
+
{
|
|
1406
|
+
"host": "www.instagram.com",
|
|
1407
|
+
"pathPattern": "^/oauth/authorize"
|
|
1408
|
+
},
|
|
1409
|
+
{
|
|
1410
|
+
"host": "scontent.cdninstagram.com"
|
|
1411
|
+
}
|
|
1412
|
+
],
|
|
1413
|
+
"archetype": "crud",
|
|
1414
|
+
"protocol": {
|
|
1415
|
+
"declared": "3",
|
|
1416
|
+
"major": 3,
|
|
1417
|
+
"standing": "current"
|
|
1418
|
+
},
|
|
1419
|
+
"transport": "rest",
|
|
1420
|
+
"resources": [
|
|
1421
|
+
"container",
|
|
1422
|
+
"media",
|
|
1423
|
+
"comment"
|
|
1424
|
+
],
|
|
1425
|
+
"endpointEnvNone": "an app calls graph.instagram.com and api.instagram.com and sends people to www.instagram.com; the World claims the hosts",
|
|
1426
|
+
"credentialDoor": {
|
|
1427
|
+
"path": "/_twin/app-credentials",
|
|
1428
|
+
"body": {},
|
|
1429
|
+
"fill": {
|
|
1430
|
+
"INSTAGRAM_APP_ID": "app_id",
|
|
1431
|
+
"INSTAGRAM_APP_SECRET": "app_secret",
|
|
1432
|
+
"INSTAGRAM_ACCESS_TOKEN": "access_token",
|
|
1433
|
+
"INSTAGRAM_USER_ID": "user_id"
|
|
1434
|
+
}
|
|
1435
|
+
},
|
|
1436
|
+
"serveExport": "createInstagramTwinServer"
|
|
1437
|
+
},
|
|
1373
1438
|
"intercom": {
|
|
1374
1439
|
"adoption": {
|
|
1375
1440
|
"sdks": [
|
|
@@ -3383,6 +3448,71 @@
|
|
|
3383
3448
|
}
|
|
3384
3449
|
},
|
|
3385
3450
|
"serveExport": "createXaiTwinServer"
|
|
3451
|
+
},
|
|
3452
|
+
"youtube": {
|
|
3453
|
+
"adoption": {
|
|
3454
|
+
"sdks": [
|
|
3455
|
+
"@googleapis/youtube"
|
|
3456
|
+
],
|
|
3457
|
+
"envStems": [
|
|
3458
|
+
"YOUTUBE"
|
|
3459
|
+
]
|
|
3460
|
+
},
|
|
3461
|
+
"hosts": [
|
|
3462
|
+
{
|
|
3463
|
+
"host": "www.googleapis.com",
|
|
3464
|
+
"pathPattern": "^/(upload/|resumable/upload/)?youtube/v3(/|$)"
|
|
3465
|
+
},
|
|
3466
|
+
{
|
|
3467
|
+
"host": "youtube.googleapis.com",
|
|
3468
|
+
"pathPattern": "^/(upload/|resumable/upload/)?youtube/v3(/|$)|^/_twin/"
|
|
3469
|
+
}
|
|
3470
|
+
],
|
|
3471
|
+
"archetype": "crud",
|
|
3472
|
+
"protocol": {
|
|
3473
|
+
"declared": "3",
|
|
3474
|
+
"major": 3,
|
|
3475
|
+
"standing": "current"
|
|
3476
|
+
},
|
|
3477
|
+
"transport": "rest",
|
|
3478
|
+
"resources": [
|
|
3479
|
+
"channel",
|
|
3480
|
+
"video",
|
|
3481
|
+
"liveBroadcast",
|
|
3482
|
+
"liveStream",
|
|
3483
|
+
"liveChatMessage",
|
|
3484
|
+
"commentThread",
|
|
3485
|
+
"comment",
|
|
3486
|
+
"_upload_session",
|
|
3487
|
+
"_live_chat",
|
|
3488
|
+
"_comment_ban",
|
|
3489
|
+
"_live",
|
|
3490
|
+
"_live_segment"
|
|
3491
|
+
],
|
|
3492
|
+
"endpointEnvNone": "Google's generated clients take rootUrl in code (googleapis: https://youtube.googleapis.com/); the World routes the declared YouTube paths on both API hosts",
|
|
3493
|
+
"credentialDoor": {
|
|
3494
|
+
"path": "/_twin/channels",
|
|
3495
|
+
"body": {
|
|
3496
|
+
"sub": "100000000000000000001",
|
|
3497
|
+
"title": "World Channel",
|
|
3498
|
+
"handle": "worldchannel"
|
|
3499
|
+
},
|
|
3500
|
+
"fill": {
|
|
3501
|
+
"YOUTUBE_CHANNEL_ID": "id"
|
|
3502
|
+
}
|
|
3503
|
+
},
|
|
3504
|
+
"credentialIssuer": "googleoauth",
|
|
3505
|
+
"sidePorts": [
|
|
3506
|
+
{
|
|
3507
|
+
"name": "ingest",
|
|
3508
|
+
"option": "ingestPort",
|
|
3509
|
+
"flag": "--ingest-port",
|
|
3510
|
+
"scheme": "rtmp",
|
|
3511
|
+
"path": "/live2",
|
|
3512
|
+
"note": "YouTube's RTMP ingest (<ingestionAddress>/<streamName>): an encoder publishes a liveStream's video here"
|
|
3513
|
+
}
|
|
3514
|
+
],
|
|
3515
|
+
"serveExport": "createYoutubeTwinServer"
|
|
3386
3516
|
}
|
|
3387
3517
|
},
|
|
3388
3518
|
"undeclared": []
|
package/dist/src/pack-fetch.js
CHANGED
|
@@ -146,7 +146,10 @@ async function encoded(m, request, res) {
|
|
|
146
146
|
headers.set('content-encoding', 'gzip');
|
|
147
147
|
headers.delete('content-length');
|
|
148
148
|
headers.append('vary', 'Accept-Encoding');
|
|
149
|
-
|
|
149
|
+
const body = gzipSync(new Uint8Array(await res.arrayBuffer()));
|
|
150
|
+
// Hold the compressor's buffer with the same finite stream body grammar as decoded(), without copying it.
|
|
151
|
+
const buffered = new ReadableStream({ start(controller) { controller.enqueue(body); controller.close(); } });
|
|
152
|
+
return new Response(buffered, { status: res.status, statusText: res.statusText, headers });
|
|
150
153
|
}
|
|
151
154
|
/** A pack's HTTP surface, as the kernel serves it from the pack's parts. */
|
|
152
155
|
/** A door's path as it is served and listed: under `/_twin/`, whether the manifest writes the prefix or not. */
|
|
@@ -1208,16 +1208,34 @@
|
|
|
1208
1208
|
"resources": [
|
|
1209
1209
|
"client",
|
|
1210
1210
|
"account",
|
|
1211
|
-
"access_token"
|
|
1211
|
+
"access_token",
|
|
1212
|
+
"api_key"
|
|
1212
1213
|
],
|
|
1213
1214
|
"endpointEnvNone": "Google's OAuth libraries read no base-URL variable: the endpoints are the discovery document's, claimed by the host rules.",
|
|
1214
1215
|
"credentialDoor": {
|
|
1215
|
-
"path": "/_twin/
|
|
1216
|
+
"path": "/_twin/credentials",
|
|
1216
1217
|
"body": {
|
|
1217
|
-
"client_email": "world@world-project.iam.gserviceaccount.com"
|
|
1218
|
+
"client_email": "world@world-project.iam.gserviceaccount.com",
|
|
1219
|
+
"client": {
|
|
1220
|
+
"redirect_uris": [
|
|
1221
|
+
"http://localhost:3000/oauth2callback"
|
|
1222
|
+
],
|
|
1223
|
+
"name": "World App"
|
|
1224
|
+
},
|
|
1225
|
+
"account": {
|
|
1226
|
+
"sub": "100000000000000000001",
|
|
1227
|
+
"email": "person@world.example",
|
|
1228
|
+
"name": "World Person"
|
|
1229
|
+
},
|
|
1230
|
+
"api_key": {
|
|
1231
|
+
"name": "API key 1"
|
|
1232
|
+
}
|
|
1218
1233
|
},
|
|
1219
1234
|
"fill": {
|
|
1220
|
-
"GOOGLE_APPLICATION_CREDENTIALS": "file:credentials"
|
|
1235
|
+
"GOOGLE_APPLICATION_CREDENTIALS": "file:credentials",
|
|
1236
|
+
"GOOGLE_CLIENT_ID": "client_id",
|
|
1237
|
+
"GOOGLE_CLIENT_SECRET": "client_secret",
|
|
1238
|
+
"YOUTUBE_API_KEY": "api_key"
|
|
1221
1239
|
}
|
|
1222
1240
|
},
|
|
1223
1241
|
"serveExport": "createGoogleoauthTwinServer"
|
|
@@ -1370,6 +1388,53 @@
|
|
|
1370
1388
|
},
|
|
1371
1389
|
"serveExport": "createHuggingfaceTwinServer"
|
|
1372
1390
|
},
|
|
1391
|
+
"instagram": {
|
|
1392
|
+
"adoption": {
|
|
1393
|
+
"sdks": [],
|
|
1394
|
+
"envStems": [
|
|
1395
|
+
"INSTAGRAM"
|
|
1396
|
+
]
|
|
1397
|
+
},
|
|
1398
|
+
"hosts": [
|
|
1399
|
+
{
|
|
1400
|
+
"host": "graph.instagram.com"
|
|
1401
|
+
},
|
|
1402
|
+
{
|
|
1403
|
+
"host": "api.instagram.com"
|
|
1404
|
+
},
|
|
1405
|
+
{
|
|
1406
|
+
"host": "www.instagram.com",
|
|
1407
|
+
"pathPattern": "^/oauth/authorize"
|
|
1408
|
+
},
|
|
1409
|
+
{
|
|
1410
|
+
"host": "scontent.cdninstagram.com"
|
|
1411
|
+
}
|
|
1412
|
+
],
|
|
1413
|
+
"archetype": "crud",
|
|
1414
|
+
"protocol": {
|
|
1415
|
+
"declared": "3",
|
|
1416
|
+
"major": 3,
|
|
1417
|
+
"standing": "current"
|
|
1418
|
+
},
|
|
1419
|
+
"transport": "rest",
|
|
1420
|
+
"resources": [
|
|
1421
|
+
"container",
|
|
1422
|
+
"media",
|
|
1423
|
+
"comment"
|
|
1424
|
+
],
|
|
1425
|
+
"endpointEnvNone": "an app calls graph.instagram.com and api.instagram.com and sends people to www.instagram.com; the World claims the hosts",
|
|
1426
|
+
"credentialDoor": {
|
|
1427
|
+
"path": "/_twin/app-credentials",
|
|
1428
|
+
"body": {},
|
|
1429
|
+
"fill": {
|
|
1430
|
+
"INSTAGRAM_APP_ID": "app_id",
|
|
1431
|
+
"INSTAGRAM_APP_SECRET": "app_secret",
|
|
1432
|
+
"INSTAGRAM_ACCESS_TOKEN": "access_token",
|
|
1433
|
+
"INSTAGRAM_USER_ID": "user_id"
|
|
1434
|
+
}
|
|
1435
|
+
},
|
|
1436
|
+
"serveExport": "createInstagramTwinServer"
|
|
1437
|
+
},
|
|
1373
1438
|
"intercom": {
|
|
1374
1439
|
"adoption": {
|
|
1375
1440
|
"sdks": [
|
|
@@ -3383,6 +3448,71 @@
|
|
|
3383
3448
|
}
|
|
3384
3449
|
},
|
|
3385
3450
|
"serveExport": "createXaiTwinServer"
|
|
3451
|
+
},
|
|
3452
|
+
"youtube": {
|
|
3453
|
+
"adoption": {
|
|
3454
|
+
"sdks": [
|
|
3455
|
+
"@googleapis/youtube"
|
|
3456
|
+
],
|
|
3457
|
+
"envStems": [
|
|
3458
|
+
"YOUTUBE"
|
|
3459
|
+
]
|
|
3460
|
+
},
|
|
3461
|
+
"hosts": [
|
|
3462
|
+
{
|
|
3463
|
+
"host": "www.googleapis.com",
|
|
3464
|
+
"pathPattern": "^/(upload/|resumable/upload/)?youtube/v3(/|$)"
|
|
3465
|
+
},
|
|
3466
|
+
{
|
|
3467
|
+
"host": "youtube.googleapis.com",
|
|
3468
|
+
"pathPattern": "^/(upload/|resumable/upload/)?youtube/v3(/|$)|^/_twin/"
|
|
3469
|
+
}
|
|
3470
|
+
],
|
|
3471
|
+
"archetype": "crud",
|
|
3472
|
+
"protocol": {
|
|
3473
|
+
"declared": "3",
|
|
3474
|
+
"major": 3,
|
|
3475
|
+
"standing": "current"
|
|
3476
|
+
},
|
|
3477
|
+
"transport": "rest",
|
|
3478
|
+
"resources": [
|
|
3479
|
+
"channel",
|
|
3480
|
+
"video",
|
|
3481
|
+
"liveBroadcast",
|
|
3482
|
+
"liveStream",
|
|
3483
|
+
"liveChatMessage",
|
|
3484
|
+
"commentThread",
|
|
3485
|
+
"comment",
|
|
3486
|
+
"_upload_session",
|
|
3487
|
+
"_live_chat",
|
|
3488
|
+
"_comment_ban",
|
|
3489
|
+
"_live",
|
|
3490
|
+
"_live_segment"
|
|
3491
|
+
],
|
|
3492
|
+
"endpointEnvNone": "Google's generated clients take rootUrl in code (googleapis: https://youtube.googleapis.com/); the World routes the declared YouTube paths on both API hosts",
|
|
3493
|
+
"credentialDoor": {
|
|
3494
|
+
"path": "/_twin/channels",
|
|
3495
|
+
"body": {
|
|
3496
|
+
"sub": "100000000000000000001",
|
|
3497
|
+
"title": "World Channel",
|
|
3498
|
+
"handle": "worldchannel"
|
|
3499
|
+
},
|
|
3500
|
+
"fill": {
|
|
3501
|
+
"YOUTUBE_CHANNEL_ID": "id"
|
|
3502
|
+
}
|
|
3503
|
+
},
|
|
3504
|
+
"credentialIssuer": "googleoauth",
|
|
3505
|
+
"sidePorts": [
|
|
3506
|
+
{
|
|
3507
|
+
"name": "ingest",
|
|
3508
|
+
"option": "ingestPort",
|
|
3509
|
+
"flag": "--ingest-port",
|
|
3510
|
+
"scheme": "rtmp",
|
|
3511
|
+
"path": "/live2",
|
|
3512
|
+
"note": "YouTube's RTMP ingest (<ingestionAddress>/<streamName>): an encoder publishes a liveStream's video here"
|
|
3513
|
+
}
|
|
3514
|
+
],
|
|
3515
|
+
"serveExport": "createYoutubeTwinServer"
|
|
3386
3516
|
}
|
|
3387
3517
|
},
|
|
3388
3518
|
"undeclared": []
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volter/world-core",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.159",
|
|
4
4
|
"description": "The kernel of Volter World: one log per twin, branches as pointers, checkpoints, the fold that keeps a twin current, the head that performs a write against the vendor, references, and the git plane. A twin package builds on it; the runtime serves it.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"twin",
|
package/src/pack-fetch.ts
CHANGED
|
@@ -211,7 +211,10 @@ async function encoded(m: DerivedManifest, request: Request, res: Response): Pro
|
|
|
211
211
|
headers.set('content-encoding', 'gzip');
|
|
212
212
|
headers.delete('content-length');
|
|
213
213
|
headers.append('vary', 'Accept-Encoding');
|
|
214
|
-
|
|
214
|
+
const body = gzipSync(new Uint8Array(await res.arrayBuffer()));
|
|
215
|
+
// Hold the compressor's buffer with the same finite stream body grammar as decoded(), without copying it.
|
|
216
|
+
const buffered = new ReadableStream<Uint8Array>({ start(controller) { controller.enqueue(body); controller.close(); } });
|
|
217
|
+
return new Response(buffered, { status: res.status, statusText: res.statusText, headers });
|
|
215
218
|
}
|
|
216
219
|
|
|
217
220
|
/** A pack's HTTP surface, as the kernel serves it from the pack's parts. */
|