@sasjs/api 0.13.0 → 0.14.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/build/browser.js +116 -111
- package/build/cjs/corpus/deploy.js +1 -1
- package/build/cjs/drive/registry.js +1 -1
- package/build/cjs/index.js +9 -1
- package/build/cjs/routes/generated.js +1 -1
- package/build/esm/corpus/deploy.js +1 -1
- package/build/esm/drive/registry.js +1 -1
- package/build/esm/index.d.ts +5 -0
- package/build/esm/index.d.ts.map +1 -1
- package/build/esm/index.js +3 -0
- package/build/esm/routes/generated.js +1 -1
- package/package.json +1 -1
package/build/browser.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* @sasjs/api 0.
|
|
1
|
+
/* @sasjs/api 0.14.0 - the SASjs Server API, for a service worker. https://github.com/sasjs/api */
|
|
2
2
|
"use strict";
|
|
3
3
|
var SASjsApi = (() => {
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -28,6 +28,7 @@ var SASjsApi = (() => {
|
|
|
28
28
|
CODE_CORPUS: () => CODE_CORPUS,
|
|
29
29
|
DEFAULT_GRANTABLE_ROUTES: () => DEFAULT_GRANTABLE_ROUTES,
|
|
30
30
|
DEFAULT_IDENTITY: () => DEFAULT_IDENTITY,
|
|
31
|
+
DEFAULT_SESSIONS: () => DEFAULT_SESSIONS,
|
|
31
32
|
DEPLOY_CORPUS: () => DEPLOY_CORPUS,
|
|
32
33
|
DEPLOY_LIMITS: () => DEPLOY_LIMITS,
|
|
33
34
|
DEPLOY_PAYLOAD_BYTES: () => DEPLOY_PAYLOAD_BYTES,
|
|
@@ -36,8 +37,10 @@ var SASjsApi = (() => {
|
|
|
36
37
|
HANDLED_ROUTES: () => HANDLED_ROUTES,
|
|
37
38
|
IDENTITY_CORPUS: () => IDENTITY_CORPUS,
|
|
38
39
|
IDENTITY_FORMAT: () => IDENTITY_FORMAT,
|
|
40
|
+
MemoryAppStreamRegistry: () => MemoryAppStreamRegistry,
|
|
39
41
|
MemoryDriveStore: () => MemoryDriveStore,
|
|
40
42
|
MemoryIdentityStore: () => MemoryIdentityStore,
|
|
43
|
+
MemorySessionHost: () => MemorySessionHost,
|
|
41
44
|
OVERLAY: () => OVERLAY,
|
|
42
45
|
PROVIDER_MANAGED: () => PROVIDER_MANAGED,
|
|
43
46
|
RECORD_CORPUS: () => RECORD_CORPUS,
|
|
@@ -51,6 +54,7 @@ var SASjsApi = (() => {
|
|
|
51
54
|
createDriveService: () => createDriveService,
|
|
52
55
|
createIdentityService: () => createIdentityService,
|
|
53
56
|
createRecordService: () => createRecordService,
|
|
57
|
+
createSessionService: () => createSessionService,
|
|
54
58
|
decodeBase64: () => decodeBase64,
|
|
55
59
|
deployTree: () => deployTree,
|
|
56
60
|
dirname: () => dirname,
|
|
@@ -68,7 +72,8 @@ var SASjsApi = (() => {
|
|
|
68
72
|
runCase: () => runCase,
|
|
69
73
|
sanitiseDisplayName: () => sanitiseDisplayName,
|
|
70
74
|
servicesFor: () => servicesFor,
|
|
71
|
-
topLevelRouteFor: () => topLevelRouteFor
|
|
75
|
+
topLevelRouteFor: () => topLevelRouteFor,
|
|
76
|
+
unpublishAppStream: () => unpublishAppStream
|
|
72
77
|
});
|
|
73
78
|
|
|
74
79
|
// src/types.ts
|
|
@@ -1007,7 +1012,7 @@ var SASjsApi = (() => {
|
|
|
1007
1012
|
},
|
|
1008
1013
|
{
|
|
1009
1014
|
status: 404,
|
|
1010
|
-
description: "No
|
|
1015
|
+
description: "No app is published at that folder"
|
|
1011
1016
|
}
|
|
1012
1017
|
]
|
|
1013
1018
|
},
|
|
@@ -2808,7 +2813,7 @@ var SASjsApi = (() => {
|
|
|
2808
2813
|
throw new ApiError(400, '"streamServiceName" is required');
|
|
2809
2814
|
if (!body.appLoc) throw new ApiError(400, '"appLoc" is required');
|
|
2810
2815
|
if (!await registry.unpublish(body.appLoc))
|
|
2811
|
-
throw new ApiError(404, "No
|
|
2816
|
+
throw new ApiError(404, "No app is published at that folder.");
|
|
2812
2817
|
return { status: "success" };
|
|
2813
2818
|
};
|
|
2814
2819
|
var MemoryAppStreamRegistry = class {
|
|
@@ -5008,7 +5013,7 @@ var SASjsApi = (() => {
|
|
|
5008
5013
|
subject: SUBJECT,
|
|
5009
5014
|
body: { streamServiceName: "myApp", appLoc: "/Public/not-an-app" }
|
|
5010
5015
|
},
|
|
5011
|
-
expect: { status: 404, error: "No
|
|
5016
|
+
expect: { status: 404, error: "No app is published at that folder." }
|
|
5012
5017
|
},
|
|
5013
5018
|
// ------------------------------------------- the uploaded-archive route
|
|
5014
5019
|
// The archive is expanded by the host, so what arrives here is the same tree
|
|
@@ -5236,6 +5241,112 @@ var SASjsApi = (() => {
|
|
|
5236
5241
|
}
|
|
5237
5242
|
];
|
|
5238
5243
|
|
|
5244
|
+
// src/session/service.ts
|
|
5245
|
+
var createSessionService = (store, host) => {
|
|
5246
|
+
const notFound2 = (id) => `Session with ID '${id}' was not found.`;
|
|
5247
|
+
const visible = async (caller, id) => {
|
|
5248
|
+
if (!caller) throw new ApiError(401, "Unauthorized");
|
|
5249
|
+
const reader = await store.userById(
|
|
5250
|
+
caller.userId
|
|
5251
|
+
);
|
|
5252
|
+
if (!reader || !reader.isActive) throw new ApiError(401, "Unauthorized");
|
|
5253
|
+
const session = await host.session(id);
|
|
5254
|
+
if (!session) throw new ApiError(404, notFound2(id));
|
|
5255
|
+
const owner = session.owner;
|
|
5256
|
+
if (owner !== reader.uid && owner !== reader.username && !reader.isAdmin)
|
|
5257
|
+
throw new ApiError(404, notFound2(id));
|
|
5258
|
+
return session;
|
|
5259
|
+
};
|
|
5260
|
+
return {
|
|
5261
|
+
async summary(caller, id) {
|
|
5262
|
+
const session = await visible(caller, id);
|
|
5263
|
+
return session.summary;
|
|
5264
|
+
},
|
|
5265
|
+
async state(caller, id) {
|
|
5266
|
+
await visible(caller, id);
|
|
5267
|
+
const state = await host.state(id);
|
|
5268
|
+
if (!state) throw new ApiError(404, notFound2(id));
|
|
5269
|
+
return state;
|
|
5270
|
+
},
|
|
5271
|
+
async log(caller, id) {
|
|
5272
|
+
await visible(caller, id);
|
|
5273
|
+
const log = await host.log(id);
|
|
5274
|
+
if (log === void 0) throw new ApiError(404, notFound2(id));
|
|
5275
|
+
return log;
|
|
5276
|
+
},
|
|
5277
|
+
async output(caller, id) {
|
|
5278
|
+
await visible(caller, id);
|
|
5279
|
+
const output = await host.output(id);
|
|
5280
|
+
if (output === void 0) throw new ApiError(404, notFound2(id));
|
|
5281
|
+
return output;
|
|
5282
|
+
}
|
|
5283
|
+
};
|
|
5284
|
+
};
|
|
5285
|
+
|
|
5286
|
+
// src/session/memory-host.ts
|
|
5287
|
+
var DEFAULT_SESSIONS = {
|
|
5288
|
+
"sess-admin": {
|
|
5289
|
+
owner: "user-admin",
|
|
5290
|
+
summary: {
|
|
5291
|
+
sessionId: "sess-admin",
|
|
5292
|
+
state: "completed",
|
|
5293
|
+
pid: 4242,
|
|
5294
|
+
creationTimeStamp: "2026-11-07T09:00:00.000Z",
|
|
5295
|
+
deathTimeStamp: "2026-11-07T09:00:04.000Z",
|
|
5296
|
+
expiresAfterMins: 60
|
|
5297
|
+
}
|
|
5298
|
+
},
|
|
5299
|
+
"sess-restricted": {
|
|
5300
|
+
owner: "user-restricted",
|
|
5301
|
+
summary: {
|
|
5302
|
+
sessionId: "sess-restricted",
|
|
5303
|
+
state: "running",
|
|
5304
|
+
pid: 4243,
|
|
5305
|
+
creationTimeStamp: "2026-11-07T09:05:00.000Z"
|
|
5306
|
+
}
|
|
5307
|
+
},
|
|
5308
|
+
"sess-silent": {
|
|
5309
|
+
owner: "user-admin",
|
|
5310
|
+
summary: {
|
|
5311
|
+
sessionId: "sess-silent",
|
|
5312
|
+
state: "running",
|
|
5313
|
+
pid: 4244,
|
|
5314
|
+
creationTimeStamp: "2026-11-07T09:10:00.000Z"
|
|
5315
|
+
}
|
|
5316
|
+
}
|
|
5317
|
+
};
|
|
5318
|
+
var STATES = {
|
|
5319
|
+
"sess-admin": { state: "completed", pid: 4242, lineCount: 12 },
|
|
5320
|
+
"sess-restricted": { state: "running", pid: 4243, lineCount: 3 }
|
|
5321
|
+
};
|
|
5322
|
+
var LOGS = {
|
|
5323
|
+
"sess-admin": "NOTE: session started\nNOTE: session completed\n",
|
|
5324
|
+
"sess-restricted": "NOTE: session started\n",
|
|
5325
|
+
"sess-silent": ""
|
|
5326
|
+
};
|
|
5327
|
+
var OUTPUTS = {
|
|
5328
|
+
"sess-admin": "<html><body>42</body></html>",
|
|
5329
|
+
"sess-restricted": "",
|
|
5330
|
+
"sess-silent": ""
|
|
5331
|
+
};
|
|
5332
|
+
var MemorySessionHost = class {
|
|
5333
|
+
constructor(sessions = DEFAULT_SESSIONS) {
|
|
5334
|
+
this.sessions = sessions;
|
|
5335
|
+
}
|
|
5336
|
+
async session(id) {
|
|
5337
|
+
return this.sessions[id];
|
|
5338
|
+
}
|
|
5339
|
+
async state(id) {
|
|
5340
|
+
return STATES[id];
|
|
5341
|
+
}
|
|
5342
|
+
async log(id) {
|
|
5343
|
+
return LOGS[id];
|
|
5344
|
+
}
|
|
5345
|
+
async output(id) {
|
|
5346
|
+
return OUTPUTS[id];
|
|
5347
|
+
}
|
|
5348
|
+
};
|
|
5349
|
+
|
|
5239
5350
|
// src/corpus/records.ts
|
|
5240
5351
|
var SIGNED_IN_TOKENS = [
|
|
5241
5352
|
{
|
|
@@ -6452,112 +6563,6 @@ var SASjsApi = (() => {
|
|
|
6452
6563
|
}
|
|
6453
6564
|
];
|
|
6454
6565
|
|
|
6455
|
-
// src/session/service.ts
|
|
6456
|
-
var createSessionService = (store, host) => {
|
|
6457
|
-
const notFound2 = (id) => `Session with ID '${id}' was not found.`;
|
|
6458
|
-
const visible = async (caller, id) => {
|
|
6459
|
-
if (!caller) throw new ApiError(401, "Unauthorized");
|
|
6460
|
-
const reader = await store.userById(
|
|
6461
|
-
caller.userId
|
|
6462
|
-
);
|
|
6463
|
-
if (!reader || !reader.isActive) throw new ApiError(401, "Unauthorized");
|
|
6464
|
-
const session = await host.session(id);
|
|
6465
|
-
if (!session) throw new ApiError(404, notFound2(id));
|
|
6466
|
-
const owner = session.owner;
|
|
6467
|
-
if (owner !== reader.uid && owner !== reader.username && !reader.isAdmin)
|
|
6468
|
-
throw new ApiError(404, notFound2(id));
|
|
6469
|
-
return session;
|
|
6470
|
-
};
|
|
6471
|
-
return {
|
|
6472
|
-
async summary(caller, id) {
|
|
6473
|
-
const session = await visible(caller, id);
|
|
6474
|
-
return session.summary;
|
|
6475
|
-
},
|
|
6476
|
-
async state(caller, id) {
|
|
6477
|
-
await visible(caller, id);
|
|
6478
|
-
const state = await host.state(id);
|
|
6479
|
-
if (!state) throw new ApiError(404, notFound2(id));
|
|
6480
|
-
return state;
|
|
6481
|
-
},
|
|
6482
|
-
async log(caller, id) {
|
|
6483
|
-
await visible(caller, id);
|
|
6484
|
-
const log = await host.log(id);
|
|
6485
|
-
if (log === void 0) throw new ApiError(404, notFound2(id));
|
|
6486
|
-
return log;
|
|
6487
|
-
},
|
|
6488
|
-
async output(caller, id) {
|
|
6489
|
-
await visible(caller, id);
|
|
6490
|
-
const output = await host.output(id);
|
|
6491
|
-
if (output === void 0) throw new ApiError(404, notFound2(id));
|
|
6492
|
-
return output;
|
|
6493
|
-
}
|
|
6494
|
-
};
|
|
6495
|
-
};
|
|
6496
|
-
|
|
6497
|
-
// src/session/memory-host.ts
|
|
6498
|
-
var DEFAULT_SESSIONS = {
|
|
6499
|
-
"sess-admin": {
|
|
6500
|
-
owner: "user-admin",
|
|
6501
|
-
summary: {
|
|
6502
|
-
sessionId: "sess-admin",
|
|
6503
|
-
state: "completed",
|
|
6504
|
-
pid: 4242,
|
|
6505
|
-
creationTimeStamp: "2026-11-07T09:00:00.000Z",
|
|
6506
|
-
deathTimeStamp: "2026-11-07T09:00:04.000Z",
|
|
6507
|
-
expiresAfterMins: 60
|
|
6508
|
-
}
|
|
6509
|
-
},
|
|
6510
|
-
"sess-restricted": {
|
|
6511
|
-
owner: "user-restricted",
|
|
6512
|
-
summary: {
|
|
6513
|
-
sessionId: "sess-restricted",
|
|
6514
|
-
state: "running",
|
|
6515
|
-
pid: 4243,
|
|
6516
|
-
creationTimeStamp: "2026-11-07T09:05:00.000Z"
|
|
6517
|
-
}
|
|
6518
|
-
},
|
|
6519
|
-
"sess-silent": {
|
|
6520
|
-
owner: "user-admin",
|
|
6521
|
-
summary: {
|
|
6522
|
-
sessionId: "sess-silent",
|
|
6523
|
-
state: "running",
|
|
6524
|
-
pid: 4244,
|
|
6525
|
-
creationTimeStamp: "2026-11-07T09:10:00.000Z"
|
|
6526
|
-
}
|
|
6527
|
-
}
|
|
6528
|
-
};
|
|
6529
|
-
var STATES = {
|
|
6530
|
-
"sess-admin": { state: "completed", pid: 4242, lineCount: 12 },
|
|
6531
|
-
"sess-restricted": { state: "running", pid: 4243, lineCount: 3 }
|
|
6532
|
-
};
|
|
6533
|
-
var LOGS = {
|
|
6534
|
-
"sess-admin": "NOTE: session started\nNOTE: session completed\n",
|
|
6535
|
-
"sess-restricted": "NOTE: session started\n",
|
|
6536
|
-
"sess-silent": ""
|
|
6537
|
-
};
|
|
6538
|
-
var OUTPUTS = {
|
|
6539
|
-
"sess-admin": "<html><body>42</body></html>",
|
|
6540
|
-
"sess-restricted": "",
|
|
6541
|
-
"sess-silent": ""
|
|
6542
|
-
};
|
|
6543
|
-
var MemorySessionHost = class {
|
|
6544
|
-
constructor(sessions = DEFAULT_SESSIONS) {
|
|
6545
|
-
this.sessions = sessions;
|
|
6546
|
-
}
|
|
6547
|
-
async session(id) {
|
|
6548
|
-
return this.sessions[id];
|
|
6549
|
-
}
|
|
6550
|
-
async state(id) {
|
|
6551
|
-
return STATES[id];
|
|
6552
|
-
}
|
|
6553
|
-
async log(id) {
|
|
6554
|
-
return LOGS[id];
|
|
6555
|
-
}
|
|
6556
|
-
async output(id) {
|
|
6557
|
-
return OUTPUTS[id];
|
|
6558
|
-
}
|
|
6559
|
-
};
|
|
6560
|
-
|
|
6561
6566
|
// src/corpus/runner.ts
|
|
6562
6567
|
var servicesFor = (testCase) => {
|
|
6563
6568
|
const identity = new MemoryIdentityStore(
|
|
@@ -51,7 +51,7 @@ exports.DEPLOY_CORPUS = [
|
|
|
51
51
|
subject: SUBJECT,
|
|
52
52
|
body: { streamServiceName: 'myApp', appLoc: '/Public/not-an-app' }
|
|
53
53
|
},
|
|
54
|
-
expect: { status: 404, error: 'No
|
|
54
|
+
expect: { status: 404, error: 'No app is published at that folder.' }
|
|
55
55
|
},
|
|
56
56
|
// ------------------------------------------- the uploaded-archive route
|
|
57
57
|
// The archive is expanded by the host, so what arrives here is the same tree
|
|
@@ -19,7 +19,7 @@ const unpublishAppStream = async (registry, body) => {
|
|
|
19
19
|
if (!body.appLoc)
|
|
20
20
|
throw new types_js_1.ApiError(400, '"appLoc" is required');
|
|
21
21
|
if (!(await registry.unpublish(body.appLoc)))
|
|
22
|
-
throw new types_js_1.ApiError(404, 'No
|
|
22
|
+
throw new types_js_1.ApiError(404, 'No app is published at that folder.');
|
|
23
23
|
return { status: 'success' };
|
|
24
24
|
};
|
|
25
25
|
exports.unpublishAppStream = unpublishAppStream;
|
package/build/cjs/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.servicesFor = exports.runCase = exports.PROVIDER_MANAGED = exports.ADMIN_SIGNED_IN = exports.RECORD_CORPUS = exports.SESSION_CORPUS = exports.DEPLOY_CORPUS = exports.IDENTITY_CORPUS = exports.DRIVE_CORPUS = exports.parseIdentity = exports.IDENTITY_FORMAT = exports.DEFAULT_IDENTITY = exports.MemoryIdentityStore = exports.CODE_CORPUS = exports.sanitiseDisplayName = exports.createRecordService = exports.createIdentityService = exports.HANDLED_ROUTES = exports.dispatch = exports.TAG_CAPABILITIES = exports.OVERLAY = exports.findRoute = exports.routeById = exports.ROUTES = exports.MemoryDriveStore = exports.measureDeployTree = exports.isDeployTree = exports.deployTree = exports.decodeBase64 = exports.checkDeployTree = exports.DEPLOY_SUCCESS = exports.DEPLOY_PAYLOAD_BYTES = exports.DEPLOY_LIMITS = exports.createDriveService = exports.isRoot = exports.basename = exports.dirname = exports.hasBlockedExtension = exports.normaliseDrivePath = void 0;
|
|
17
|
+
exports.servicesFor = exports.runCase = exports.PROVIDER_MANAGED = exports.ADMIN_SIGNED_IN = exports.RECORD_CORPUS = exports.unpublishAppStream = exports.MemoryAppStreamRegistry = exports.MemorySessionHost = exports.DEFAULT_SESSIONS = exports.createSessionService = exports.SESSION_CORPUS = exports.DEPLOY_CORPUS = exports.IDENTITY_CORPUS = exports.DRIVE_CORPUS = exports.parseIdentity = exports.IDENTITY_FORMAT = exports.DEFAULT_IDENTITY = exports.MemoryIdentityStore = exports.CODE_CORPUS = exports.sanitiseDisplayName = exports.createRecordService = exports.createIdentityService = exports.HANDLED_ROUTES = exports.dispatch = exports.TAG_CAPABILITIES = exports.OVERLAY = exports.findRoute = exports.routeById = exports.ROUTES = exports.MemoryDriveStore = exports.measureDeployTree = exports.isDeployTree = exports.deployTree = exports.decodeBase64 = exports.checkDeployTree = exports.DEPLOY_SUCCESS = exports.DEPLOY_PAYLOAD_BYTES = exports.DEPLOY_LIMITS = exports.createDriveService = exports.isRoot = exports.basename = exports.dirname = exports.hasBlockedExtension = exports.normaliseDrivePath = void 0;
|
|
18
18
|
/**
|
|
19
19
|
* `@sasjs/api` - the SASjs Server API described once.
|
|
20
20
|
*
|
|
@@ -83,6 +83,14 @@ var deploy_js_2 = require("./corpus/deploy.js");
|
|
|
83
83
|
Object.defineProperty(exports, "DEPLOY_CORPUS", { enumerable: true, get: function () { return deploy_js_2.DEPLOY_CORPUS; } });
|
|
84
84
|
var session_js_1 = require("./corpus/session.js");
|
|
85
85
|
Object.defineProperty(exports, "SESSION_CORPUS", { enumerable: true, get: function () { return session_js_1.SESSION_CORPUS; } });
|
|
86
|
+
var service_js_3 = require("./session/service.js");
|
|
87
|
+
Object.defineProperty(exports, "createSessionService", { enumerable: true, get: function () { return service_js_3.createSessionService; } });
|
|
88
|
+
var memory_host_js_1 = require("./session/memory-host.js");
|
|
89
|
+
Object.defineProperty(exports, "DEFAULT_SESSIONS", { enumerable: true, get: function () { return memory_host_js_1.DEFAULT_SESSIONS; } });
|
|
90
|
+
Object.defineProperty(exports, "MemorySessionHost", { enumerable: true, get: function () { return memory_host_js_1.MemorySessionHost; } });
|
|
91
|
+
var registry_js_1 = require("./drive/registry.js");
|
|
92
|
+
Object.defineProperty(exports, "MemoryAppStreamRegistry", { enumerable: true, get: function () { return registry_js_1.MemoryAppStreamRegistry; } });
|
|
93
|
+
Object.defineProperty(exports, "unpublishAppStream", { enumerable: true, get: function () { return registry_js_1.unpublishAppStream; } });
|
|
86
94
|
var records_js_2 = require("./corpus/records.js");
|
|
87
95
|
Object.defineProperty(exports, "RECORD_CORPUS", { enumerable: true, get: function () { return records_js_2.RECORD_CORPUS; } });
|
|
88
96
|
Object.defineProperty(exports, "ADMIN_SIGNED_IN", { enumerable: true, get: function () { return records_js_2.ADMIN_SIGNED_IN; } });
|
|
@@ -48,7 +48,7 @@ export const DEPLOY_CORPUS = [
|
|
|
48
48
|
subject: SUBJECT,
|
|
49
49
|
body: { streamServiceName: 'myApp', appLoc: '/Public/not-an-app' }
|
|
50
50
|
},
|
|
51
|
-
expect: { status: 404, error: 'No
|
|
51
|
+
expect: { status: 404, error: 'No app is published at that folder.' }
|
|
52
52
|
},
|
|
53
53
|
// ------------------------------------------- the uploaded-archive route
|
|
54
54
|
// The archive is expanded by the host, so what arrives here is the same tree
|
|
@@ -16,7 +16,7 @@ export const unpublishAppStream = async (registry, body) => {
|
|
|
16
16
|
if (!body.appLoc)
|
|
17
17
|
throw new ApiError(400, '"appLoc" is required');
|
|
18
18
|
if (!(await registry.unpublish(body.appLoc)))
|
|
19
|
-
throw new ApiError(404, 'No
|
|
19
|
+
throw new ApiError(404, 'No app is published at that folder.');
|
|
20
20
|
return { status: 'success' };
|
|
21
21
|
};
|
|
22
22
|
/**
|
package/build/esm/index.d.ts
CHANGED
|
@@ -40,6 +40,11 @@ export { DRIVE_CORPUS } from './corpus/drive.js';
|
|
|
40
40
|
export { IDENTITY_CORPUS } from './corpus/identity.js';
|
|
41
41
|
export { DEPLOY_CORPUS } from './corpus/deploy.js';
|
|
42
42
|
export { SESSION_CORPUS } from './corpus/session.js';
|
|
43
|
+
export { createSessionService } from './session/service.js';
|
|
44
|
+
export type { HostSession, SessionHost, SessionService, SessionStateResponse, SessionSummary } from './session/service.js';
|
|
45
|
+
export { DEFAULT_SESSIONS, MemorySessionHost } from './session/memory-host.js';
|
|
46
|
+
export { MemoryAppStreamRegistry, unpublishAppStream } from './drive/registry.js';
|
|
47
|
+
export type { AppStreamRegistry, UnpublishBody } from './drive/registry.js';
|
|
43
48
|
export { RECORD_CORPUS, ADMIN_SIGNED_IN, PROVIDER_MANAGED } from './corpus/records.js';
|
|
44
49
|
export type { CorpusCase } from './corpus/drive.js';
|
|
45
50
|
export { runCase, servicesFor } from './corpus/runner.js';
|
package/build/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,cAAc,YAAY,CAAA;AAC1B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACR,MAAM,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,iBAAiB,EAClB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,UAAU,EACX,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACV,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAChE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAG7D,cAAc,2BAA2B,CAAA;AACzC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,YAAY,EACV,wBAAwB,EACxB,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,YAAY,EACb,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACd,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACd,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,OAAO,EACP,OAAO,EACP,SAAS,EACT,UAAU,EACX,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EACjB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACzD,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/build/esm/index.js
CHANGED
|
@@ -32,5 +32,8 @@ export { DRIVE_CORPUS } from './corpus/drive.js';
|
|
|
32
32
|
export { IDENTITY_CORPUS } from './corpus/identity.js';
|
|
33
33
|
export { DEPLOY_CORPUS } from './corpus/deploy.js';
|
|
34
34
|
export { SESSION_CORPUS } from './corpus/session.js';
|
|
35
|
+
export { createSessionService } from './session/service.js';
|
|
36
|
+
export { DEFAULT_SESSIONS, MemorySessionHost } from './session/memory-host.js';
|
|
37
|
+
export { MemoryAppStreamRegistry, unpublishAppStream } from './drive/registry.js';
|
|
35
38
|
export { RECORD_CORPUS, ADMIN_SIGNED_IN, PROVIDER_MANAGED } from './corpus/records.js';
|
|
36
39
|
export { runCase, servicesFor } from './corpus/runner.js';
|
package/package.json
CHANGED