@phreshos/server 0.1.3 → 0.1.4
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/channel.d.ts +3 -2
- package/dist/channel.js +1 -1
- package/dist/current.d.ts +2 -3
- package/dist/domain.js +0 -4
- package/dist/host.d.ts +0 -2
- package/dist/service.d.ts +2 -2
- package/dist/service.js +6 -2
- package/package.json +3 -3
package/dist/channel.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { Channel as CoreChannel, ChannelMessage, Cleanup } from "@phreshos/core";
|
|
1
|
+
import type { Channel as CoreChannel, ChannelMessage, Cleanup, ServerServiceDefinition } from "@phreshos/core";
|
|
2
|
+
import { type Endpoint } from "./domain.js";
|
|
2
3
|
/** Handles one question addressed to the current Server. */
|
|
3
4
|
export type Answerer<Payload = unknown, Result = undefined> = (message: ChannelMessage<Payload>) => Result | Promise<Result>;
|
|
4
5
|
/** Events and questions explicitly accepted by the current Server. */
|
|
5
|
-
export interface Channel<Events extends object = {}> extends CoreChannel<Events> {
|
|
6
|
+
export interface Channel<Events extends object = {}> extends CoreChannel<Events, Endpoint, ServerServiceDefinition> {
|
|
6
7
|
/** Registers one answerer; omitting its return produces `undefined`. */
|
|
7
8
|
answer<Payload = unknown, Result = undefined>(event: string, answerer: Answerer<Payload, Result>): Cleanup;
|
|
8
9
|
}
|
package/dist/channel.js
CHANGED
|
@@ -12,7 +12,7 @@ class ServerChannel extends Events {
|
|
|
12
12
|
publish(event, payload = undefined) {
|
|
13
13
|
wire.send("end-host", "emit", event, payload);
|
|
14
14
|
}
|
|
15
|
-
async enableService(
|
|
15
|
+
async enableService(definition) { await enableCurrentService(definition); }
|
|
16
16
|
async disableService() { await disableCurrentService(); }
|
|
17
17
|
answer(event, answerer) {
|
|
18
18
|
return wire.answer("end-end", event, value => answerer(message(value)));
|
package/dist/current.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { type Answerer } from "./channel.js";
|
|
1
|
+
import { type Answerer, type Channel } from "./channel.js";
|
|
3
2
|
import { Client, type Process, type Program, type Server } from "./domain.js";
|
|
4
3
|
/** The current Process's canonical Client handle. */
|
|
5
4
|
export type CurrentClient<Events extends object = {}> = Client<Events>;
|
|
6
5
|
/** Current Server context: its inbound Channel, owner hierarchy, and paired Client. */
|
|
7
|
-
export interface Current<Events extends object = {}> extends
|
|
6
|
+
export interface Current<Events extends object = {}> extends Channel<Events>, Pick<Server, "service"> {
|
|
8
7
|
/** The same Client handle exposed by the current Process. */
|
|
9
8
|
readonly client: CurrentClient;
|
|
10
9
|
/** Registers one answerer; omitting its return produces `undefined`. */
|
package/dist/domain.js
CHANGED
|
@@ -67,10 +67,6 @@ class ProgramHandle extends ProgramBase {
|
|
|
67
67
|
const answer = await wire.request(["create-process", this.address, launch]);
|
|
68
68
|
return process(answer[0]);
|
|
69
69
|
}
|
|
70
|
-
async apiDocs() {
|
|
71
|
-
const answer = await wire.request(["api-docs", this.address]);
|
|
72
|
-
return answer[0];
|
|
73
|
-
}
|
|
74
70
|
async icon(size = "medium") {
|
|
75
71
|
const answer = await wire.request(["icon", this.address, size]);
|
|
76
72
|
return new Blob([Uint8Array.from(answer[0])], { type: "image/png" });
|
package/dist/host.d.ts
CHANGED
|
@@ -37,8 +37,6 @@ type Description = Readonly<{
|
|
|
37
37
|
version?: string;
|
|
38
38
|
/** Short human-readable Program description. */
|
|
39
39
|
description?: string;
|
|
40
|
-
/** Path to the Program-authored API entry document. */
|
|
41
|
-
apiDocs?: string;
|
|
42
40
|
/** Absolute validated PNG source used to derive the Program's hosted icon sizes. */
|
|
43
41
|
icon?: string;
|
|
44
42
|
/** Absolute directory used for the Program's persistent storage. */
|
package/dist/service.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ClientServiceHandler, type ServerServiceHandler, type ServiceHandler, type ServiceKey } from "@phreshos/core";
|
|
1
|
+
import { type ClientServiceHandler, type ServerServiceDefinition, type ServerServiceHandler, type ServiceHandler, type ServiceKey } from "@phreshos/core";
|
|
2
2
|
import type { HandleAddress } from "./domain.js";
|
|
3
3
|
export declare function service<EventsMap extends object = {}>(key: ServiceKey & {
|
|
4
4
|
endpoint: "server";
|
|
@@ -7,7 +7,7 @@ export declare function service<EventsMap extends object = {}>(key: ServiceKey &
|
|
|
7
7
|
endpoint: "client";
|
|
8
8
|
}): ClientServiceHandler<EventsMap>;
|
|
9
9
|
export declare function service(key: ServiceKey): ServiceHandler;
|
|
10
|
-
export declare function enableCurrentService(
|
|
10
|
+
export declare function enableCurrentService(definition: ServerServiceDefinition): Promise<void>;
|
|
11
11
|
export declare function disableCurrentService(): Promise<void>;
|
|
12
12
|
export declare function endpointService<EventsMap extends object = {}>(target: HandleAddress | null, endpoint: "server"): Promise<ServerServiceHandler<EventsMap> | null>;
|
|
13
13
|
export declare function endpointService<EventsMap extends object = {}>(target: HandleAddress | null, endpoint: "client"): Promise<ClientServiceHandler<EventsMap> | null>;
|
package/dist/service.js
CHANGED
|
@@ -63,6 +63,10 @@ class ServerHandler extends ServerServiceBase {
|
|
|
63
63
|
const answer = await wire.request(["service-disabled", this.key]);
|
|
64
64
|
return answer[0];
|
|
65
65
|
}
|
|
66
|
+
async docs() {
|
|
67
|
+
const answer = await wire.request(["service-docs", this.key]);
|
|
68
|
+
return answer[0];
|
|
69
|
+
}
|
|
66
70
|
}
|
|
67
71
|
class ClientHandler extends ClientServiceBase {
|
|
68
72
|
key;
|
|
@@ -94,8 +98,8 @@ export function service(key) {
|
|
|
94
98
|
: new ClientHandler(normalized);
|
|
95
99
|
});
|
|
96
100
|
}
|
|
97
|
-
export async function enableCurrentService(
|
|
98
|
-
await wire.request(["enable-service",
|
|
101
|
+
export async function enableCurrentService(definition) {
|
|
102
|
+
await wire.request(["enable-service", definition]);
|
|
99
103
|
}
|
|
100
104
|
export async function disableCurrentService() {
|
|
101
105
|
await wire.request(["disable-service"]);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@phreshos/server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "The SDK used by a Program's server endpoint.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/main.js",
|
|
@@ -46,10 +46,10 @@
|
|
|
46
46
|
"prepack": "node --run build"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"@phreshos/core": "^0.1.
|
|
49
|
+
"@phreshos/core": "^0.1.4"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@phreshos/core": "^0.1.
|
|
52
|
+
"@phreshos/core": "^0.1.4",
|
|
53
53
|
"@types/node": "^26.2.0",
|
|
54
54
|
"typescript": "^6.0.3"
|
|
55
55
|
}
|