@procedures/peer 0.23.0 → 0.24.1
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/CHANGELOG.md +49 -0
- package/README.md +9 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/host/index.d.ts +1 -0
- package/dist/host/index.d.ts.map +1 -1
- package/dist/host/index.js +1 -0
- package/dist/host/index.js.map +1 -1
- package/dist/host/local-face.d.ts +42 -0
- package/dist/host/local-face.d.ts.map +1 -0
- package/dist/host/local-face.js +160 -0
- package/dist/host/local-face.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/src/host/index.ts +1 -0
- package/src/host/local-face.ts +183 -0
- package/src/index.ts +2 -0
package/dist/host/index.d.ts
CHANGED
|
@@ -251,6 +251,7 @@ export interface ProcedureHost {
|
|
|
251
251
|
*/
|
|
252
252
|
export declare function createProcedureHost(options?: ProcedureHostOptions): ProcedureHost;
|
|
253
253
|
export { httpFace, wsFace } from "./faces.js";
|
|
254
|
+
export { localFace, type LocalFace } from "./local-face.js";
|
|
254
255
|
export type { HostFace, HostFaceContext, HostFaceEndpoint, HostFaceFactory, HostFaceUpgrade } from "./faces.js";
|
|
255
256
|
export { callOperations, faceHandler, httpTracker, operationOfCall } from "./tracking.js";
|
|
256
257
|
export type { CallDetail, CallOperation, FaceHandler, FaceHandlerOptions, HttpTracker, HttpTrackerOptions } from "./tracking.js";
|
package/dist/host/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"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"}
|
package/dist/host/index.js
CHANGED
|
@@ -379,5 +379,6 @@ function outgoingAnswers() {
|
|
|
379
379
|
};
|
|
380
380
|
}
|
|
381
381
|
export { httpFace, wsFace } from "./faces.js";
|
|
382
|
+
export { localFace } from "./local-face.js";
|
|
382
383
|
export { callOperations, faceHandler, httpTracker, operationOfCall } from "./tracking.js";
|
|
383
384
|
//# sourceMappingURL=index.js.map
|
package/dist/host/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The local face of the procedures host (CLI-26): the calls of this process, through the request
|
|
3
|
+
* tracking of the service.
|
|
4
|
+
*
|
|
5
|
+
* `localFace()` gives a face factory for the option `faces` of `createProcedureHost()`, and a
|
|
6
|
+
* transport of `@procedures/client` for a `Client`. Each call of the client goes to the handler of
|
|
7
|
+
* the face, as a call of the HTTP face does. Thus the service admits the call, counts it, drains
|
|
8
|
+
* it and cuts it. The cold mode of `mark` calls its host in this process with this face.
|
|
9
|
+
*
|
|
10
|
+
* - Each call has `LOCAL_CREDENTIALS`: it is a call of this application (CLI-1). A token of the
|
|
11
|
+
* policy does not apply to it.
|
|
12
|
+
* - The signal of the call goes with the request. The cooperative abort of the drain also aborts the call.
|
|
13
|
+
* - When the signal aborts, the caller stops its wait at once, as over HTTP. The call gets the
|
|
14
|
+
* abort, and the drain of the service waits for its end.
|
|
15
|
+
* - A value is one response item. A stream gives one item for each value. An error ends the
|
|
16
|
+
* stream with an error item, with the code, the flag `retryable` and the reason of the error.
|
|
17
|
+
* - The face mounts nothing on a listener, and it has no stop parts. Before `createProcedureHost()`
|
|
18
|
+
* uses the factory, each call gets `UNAVAILABLE`.
|
|
19
|
+
*/
|
|
20
|
+
import { type Transport } from "@procedures/client";
|
|
21
|
+
import type { HostFaceFactory } from "./faces.js";
|
|
22
|
+
/** The local face: the factory for the host, and the transport for a `Client` of this process. */
|
|
23
|
+
export interface LocalFace {
|
|
24
|
+
/** The face factory. Give it to the option `faces` of `createProcedureHost()`, for example as `local`. */
|
|
25
|
+
readonly face: HostFaceFactory;
|
|
26
|
+
/** The transport of a `Client`: each call goes to the host through the request tracking of the face. */
|
|
27
|
+
readonly transport: Transport;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* This function gives the local face of a host (CLI-26). One face serves one host.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const local = localFace();
|
|
35
|
+
* const host = createProcedureHost({ registry, faces: { local: local.face } });
|
|
36
|
+
* const life = await host.declare(service("mark").profile(ephemeral)).run();
|
|
37
|
+
* const client = new Client({ transport: local.transport });
|
|
38
|
+
* for await (const item of client.stream({ service: "git", operation: "status" }, {}, { signal })) print(item);
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare function localFace(): LocalFace;
|
|
42
|
+
//# sourceMappingURL=local-face.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-face.d.ts","sourceRoot":"","sources":["../../src/host/local-face.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,kGAAkG;AAClG,MAAM,WAAW,SAAS;IACxB,0GAA0G;IAC1G,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,wGAAwG;IACxG,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B;AA6FD;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,IAAI,SAAS,CAuCrC"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The local face of the procedures host (CLI-26): the calls of this process, through the request
|
|
3
|
+
* tracking of the service.
|
|
4
|
+
*
|
|
5
|
+
* `localFace()` gives a face factory for the option `faces` of `createProcedureHost()`, and a
|
|
6
|
+
* transport of `@procedures/client` for a `Client`. Each call of the client goes to the handler of
|
|
7
|
+
* the face, as a call of the HTTP face does. Thus the service admits the call, counts it, drains
|
|
8
|
+
* it and cuts it. The cold mode of `mark` calls its host in this process with this face.
|
|
9
|
+
*
|
|
10
|
+
* - Each call has `LOCAL_CREDENTIALS`: it is a call of this application (CLI-1). A token of the
|
|
11
|
+
* policy does not apply to it.
|
|
12
|
+
* - The signal of the call goes with the request. The cooperative abort of the drain also aborts the call.
|
|
13
|
+
* - When the signal aborts, the caller stops its wait at once, as over HTTP. The call gets the
|
|
14
|
+
* abort, and the drain of the service waits for its end.
|
|
15
|
+
* - A value is one response item. A stream gives one item for each value. An error ends the
|
|
16
|
+
* stream with an error item, with the code, the flag `retryable` and the reason of the error.
|
|
17
|
+
* - The face mounts nothing on a listener, and it has no stop parts. Before `createProcedureHost()`
|
|
18
|
+
* uses the factory, each call gets `UNAVAILABLE`.
|
|
19
|
+
*/
|
|
20
|
+
import { LOCAL_CREDENTIALS, } from "@procedures/client";
|
|
21
|
+
/** The value of `untilAborted` when the signal aborts first. */
|
|
22
|
+
const ABORTED = Symbol("aborted");
|
|
23
|
+
/** This function gives the value of a promise, or `ABORTED` when the signal aborts first. The promise continues. */
|
|
24
|
+
function untilAborted(promise, signal) {
|
|
25
|
+
if (!signal)
|
|
26
|
+
return promise;
|
|
27
|
+
if (signal.aborted) {
|
|
28
|
+
promise.catch(() => undefined);
|
|
29
|
+
return Promise.resolve(ABORTED);
|
|
30
|
+
}
|
|
31
|
+
return new Promise((resolve, reject) => {
|
|
32
|
+
const onAbort = () => {
|
|
33
|
+
promise.catch(() => undefined);
|
|
34
|
+
resolve(ABORTED);
|
|
35
|
+
};
|
|
36
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
37
|
+
promise.then((value) => {
|
|
38
|
+
signal.removeEventListener("abort", onAbort);
|
|
39
|
+
resolve(value);
|
|
40
|
+
}, (error) => {
|
|
41
|
+
signal.removeEventListener("abort", onAbort);
|
|
42
|
+
reject(error);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/** This function gives a response item of a status. */
|
|
47
|
+
function item(id, status, payload, metadata = {}) {
|
|
48
|
+
return { id, status, payload: payload, metadata };
|
|
49
|
+
}
|
|
50
|
+
/** This function gives the error item of an abort of the caller: the item of the local transport. */
|
|
51
|
+
function abortedItem(id) {
|
|
52
|
+
return item(id, { type: "error", code: "ABORTED", message: "Request was aborted", retryable: false }, null);
|
|
53
|
+
}
|
|
54
|
+
/** This function gives the error item of an error that ends a stream: its code, its flag `retryable` and its reason. */
|
|
55
|
+
function errorItem(id, error) {
|
|
56
|
+
const fields = (error ?? {});
|
|
57
|
+
const code = typeof fields.code === "string" ? fields.code : "HANDLER_ERROR";
|
|
58
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
59
|
+
const retryable = typeof fields.retryable === "boolean" ? fields.retryable : false;
|
|
60
|
+
return item(id, { type: "error", code, message, retryable }, null, typeof fields.reason === "string" ? { reason: fields.reason } : {});
|
|
61
|
+
}
|
|
62
|
+
/** This function reads a stream that nobody reads to its end, so its request ends. The call has its abort, thus it ends soon. */
|
|
63
|
+
async function discard(response) {
|
|
64
|
+
const values = response.stream?.[Symbol.asyncIterator]();
|
|
65
|
+
if (!values)
|
|
66
|
+
return;
|
|
67
|
+
try {
|
|
68
|
+
while (!(await values.next()).done) {
|
|
69
|
+
// Each value goes nowhere
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
// The end of the call after its abort
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/** The response items of a response of the face: one item for a value or an error, and one item for each value of a stream. */
|
|
77
|
+
async function* itemsOf(id, response, signal) {
|
|
78
|
+
if (response.status.type === "error" || response.stream === undefined) {
|
|
79
|
+
yield item(id, response.status, response.status.type === "error" ? null : response.payload, response.metadata ?? {});
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const values = response.stream[Symbol.asyncIterator]();
|
|
83
|
+
let ended = false;
|
|
84
|
+
try {
|
|
85
|
+
for (;;) {
|
|
86
|
+
const next = await untilAborted(values.next(), signal);
|
|
87
|
+
if (next === ABORTED) {
|
|
88
|
+
yield abortedItem(id);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (next.done) {
|
|
92
|
+
ended = true;
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
yield item(id, { type: "success", code: 200 }, next.value);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
ended = true;
|
|
100
|
+
yield errorItem(id, error);
|
|
101
|
+
}
|
|
102
|
+
finally {
|
|
103
|
+
// A reader that stops early stops the call: the work gets its abort
|
|
104
|
+
if (!ended)
|
|
105
|
+
void values.return?.(undefined)?.catch(() => undefined);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* This function gives the local face of a host (CLI-26). One face serves one host.
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```typescript
|
|
113
|
+
* const local = localFace();
|
|
114
|
+
* const host = createProcedureHost({ registry, faces: { local: local.face } });
|
|
115
|
+
* const life = await host.declare(service("mark").profile(ephemeral)).run();
|
|
116
|
+
* const client = new Client({ transport: local.transport });
|
|
117
|
+
* for await (const item of client.stream({ service: "git", operation: "status" }, {}, { signal })) print(item);
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
export function localFace() {
|
|
121
|
+
let handler;
|
|
122
|
+
const face = (context) => {
|
|
123
|
+
handler = context.handler;
|
|
124
|
+
return {};
|
|
125
|
+
};
|
|
126
|
+
const transport = {
|
|
127
|
+
name: "local-face",
|
|
128
|
+
async *send(message) {
|
|
129
|
+
const target = handler;
|
|
130
|
+
if (!target) {
|
|
131
|
+
yield item(message.id, { type: "error", code: "UNAVAILABLE", message: "The local face has no host: give its factory to createProcedureHost()", retryable: false }, null);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
if (message.signal?.aborted) {
|
|
135
|
+
yield abortedItem(message.id);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
const request = {
|
|
139
|
+
id: message.id,
|
|
140
|
+
method: message.method,
|
|
141
|
+
payload: message.payload,
|
|
142
|
+
metadata: { ...message.metadata },
|
|
143
|
+
credentials: LOCAL_CREDENTIALS,
|
|
144
|
+
...(message.signal ? { signal: message.signal } : {}),
|
|
145
|
+
};
|
|
146
|
+
const pending = target.handle(request);
|
|
147
|
+
const response = await untilAborted(pending, message.signal);
|
|
148
|
+
if (response === ABORTED) {
|
|
149
|
+
// A stream that comes after the abort still holds its request: it is read to its end
|
|
150
|
+
void pending.then(discard, () => undefined);
|
|
151
|
+
yield abortedItem(message.id);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
yield* itemsOf(message.id, response, message.signal);
|
|
155
|
+
},
|
|
156
|
+
close: async () => undefined,
|
|
157
|
+
};
|
|
158
|
+
return { face, transport };
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=local-face.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-face.js","sourceRoot":"","sources":["../../src/host/local-face.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* Exposes procedures and generates manifests.
|
|
6
6
|
*/
|
|
7
7
|
export type { TransportType, TransportConfig, HttpTransportConfig, WebSocketTransportConfig, LocalTransportConfig, ServerCreateInput, ServerCreateOutput, ServerConnectInput, ServerConnectOutput, ServerDisconnectInput, ServerDisconnectOutput, ManifestGenerateInput, ManifestGenerateOutput, ProcedureInfo, PeerConnection, ProcedureAnnounceMessage, ProcedureUpdateMessage, } from "./types.js";
|
|
8
|
-
export { createProcedureHost, httpFace, wsFace, LOCAL_LISTENER_KNOBS, HOST_PROBE_PREFIX, callOperations, faceHandler, httpTracker, operationOfCall, } from "./host/index.js";
|
|
9
|
-
export type { ProcedureHost, ProcedureHostOptions, ProcedureHostFaces, HostListener, HostProbes, HostCollection, HostServerOptions, HostPart, HostDependency, HostCheck, HostPattern, HostController, HostControllerOptions, HostEndpoint, HostInfo, HostKnobs, HostFace, HostFaceContext, HostFaceEndpoint, HostFaceFactory, HostFaceUpgrade, CallDetail, CallOperation, FaceHandler, FaceHandlerOptions, HttpTracker, HttpTrackerOptions, } from "./host/index.js";
|
|
8
|
+
export { createProcedureHost, httpFace, wsFace, localFace, LOCAL_LISTENER_KNOBS, HOST_PROBE_PREFIX, callOperations, faceHandler, httpTracker, operationOfCall, } from "./host/index.js";
|
|
9
|
+
export type { ProcedureHost, ProcedureHostOptions, ProcedureHostFaces, HostListener, HostProbes, HostCollection, HostServerOptions, HostPart, HostDependency, HostCheck, HostPattern, HostController, HostControllerOptions, HostEndpoint, HostInfo, HostKnobs, HostFace, HostFaceContext, HostFaceEndpoint, HostFaceFactory, HostFaceUpgrade, LocalFace, CallDetail, CallOperation, FaceHandler, FaceHandlerOptions, HttpTracker, HttpTrackerOptions, } from "./host/index.js";
|
|
10
10
|
export { createPeer, peerHostOptions, PEER_PROFILE, type Peer, type PeerOptions, type PeerEndpoint } from "./peer/index.js";
|
|
11
11
|
export { exposeRule } from "./expose.js";
|
|
12
12
|
export { serverCreateProcedure, getPeer, getActivePeerIds, serverConnectProcedure, serverDisconnectProcedure, manifestGenerateProcedure, } from "./procedures/index.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,MAAM,EACN,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,WAAW,EACX,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACd,SAAS,EACT,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,UAAU,EACV,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC5H,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EACL,qBAAqB,EACrB,OAAO,EACP,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,WAAW,EACX,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACd,SAAS,EACT,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,SAAS,EACT,UAAU,EACV,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC5H,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EACL,qBAAqB,EACrB,OAAO,EACP,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Exposes procedures and generates manifests.
|
|
6
6
|
*/
|
|
7
7
|
// The procedures host (CLI-7): the parts of a service, and its faces
|
|
8
|
-
export { createProcedureHost, httpFace, wsFace, LOCAL_LISTENER_KNOBS, HOST_PROBE_PREFIX, callOperations, faceHandler, httpTracker, operationOfCall, } from "./host/index.js";
|
|
8
|
+
export { createProcedureHost, httpFace, wsFace, localFace, LOCAL_LISTENER_KNOBS, HOST_PROBE_PREFIX, callOperations, faceHandler, httpTracker, operationOfCall, } from "./host/index.js";
|
|
9
9
|
// Peer: a procedures host with a service of its own, for a process that has no service
|
|
10
10
|
export { createPeer, peerHostOptions, PEER_PROFILE } from "./peer/index.js";
|
|
11
11
|
export { exposeRule } from "./expose.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuBH,qEAAqE;AACrE,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,MAAM,EACN,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,WAAW,EACX,eAAe,GAChB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuBH,qEAAqE;AACrE,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,WAAW,EACX,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAgCzB,uFAAuF;AACvF,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAkD,MAAM,iBAAiB,CAAC;AAC5H,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,aAAa;AACb,OAAO,EACL,qBAAqB,EACrB,OAAO,EACP,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,sBAAsB;AACtB,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,GAEnB,MAAM,qBAAqB,CAAC;AAE7B,aAAa;AACb,OAAO,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,gBAAgB,GAGjB,MAAM,uBAAuB,CAAC;AAE/B,YAAY;AACZ,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAe;AACf,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package",
|
|
3
3
|
"name": "@procedures/peer",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.24.1",
|
|
5
5
|
"description": "Serve procedures: createProcedureHost() gives the parts of a service, with HTTP, WebSocket and MCP faces on one listener. Also peers, server.create, server.call and server.connections, and manifests.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"server",
|
|
@@ -67,9 +67,9 @@
|
|
|
67
67
|
"provenance": true
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
|
-
"@procedures/better-auth": "0.
|
|
71
|
-
"@procedures/fs": "0.
|
|
72
|
-
"@procedures/mcp-server": "0.
|
|
70
|
+
"@procedures/better-auth": "0.24.1",
|
|
71
|
+
"@procedures/fs": "0.24.1",
|
|
72
|
+
"@procedures/mcp-server": "0.24.1",
|
|
73
73
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
74
74
|
"typescript": "^7.0.2",
|
|
75
75
|
"@types/node": "^22.0.0",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
},
|
|
82
82
|
"dependencies": {
|
|
83
83
|
"@mark1russell7/service": "^0.5.8",
|
|
84
|
-
"@procedures/client": "0.
|
|
84
|
+
"@procedures/client": "0.24.1",
|
|
85
85
|
"zod": "^4.6.5"
|
|
86
86
|
},
|
|
87
87
|
"scripts": {
|
package/src/host/index.ts
CHANGED
|
@@ -635,6 +635,7 @@ function outgoingAnswers(): OutgoingAnswers {
|
|
|
635
635
|
}
|
|
636
636
|
|
|
637
637
|
export { httpFace, wsFace } from "./faces.js";
|
|
638
|
+
export { localFace, type LocalFace } from "./local-face.js";
|
|
638
639
|
export type { HostFace, HostFaceContext, HostFaceEndpoint, HostFaceFactory, HostFaceUpgrade } from "./faces.js";
|
|
639
640
|
export { callOperations, faceHandler, httpTracker, operationOfCall } from "./tracking.js";
|
|
640
641
|
export type { CallDetail, CallOperation, FaceHandler, FaceHandlerOptions, HttpTracker, HttpTrackerOptions } from "./tracking.js";
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The local face of the procedures host (CLI-26): the calls of this process, through the request
|
|
3
|
+
* tracking of the service.
|
|
4
|
+
*
|
|
5
|
+
* `localFace()` gives a face factory for the option `faces` of `createProcedureHost()`, and a
|
|
6
|
+
* transport of `@procedures/client` for a `Client`. Each call of the client goes to the handler of
|
|
7
|
+
* the face, as a call of the HTTP face does. Thus the service admits the call, counts it, drains
|
|
8
|
+
* it and cuts it. The cold mode of `mark` calls its host in this process with this face.
|
|
9
|
+
*
|
|
10
|
+
* - Each call has `LOCAL_CREDENTIALS`: it is a call of this application (CLI-1). A token of the
|
|
11
|
+
* policy does not apply to it.
|
|
12
|
+
* - The signal of the call goes with the request. The cooperative abort of the drain also aborts the call.
|
|
13
|
+
* - When the signal aborts, the caller stops its wait at once, as over HTTP. The call gets the
|
|
14
|
+
* abort, and the drain of the service waits for its end.
|
|
15
|
+
* - A value is one response item. A stream gives one item for each value. An error ends the
|
|
16
|
+
* stream with an error item, with the code, the flag `retryable` and the reason of the error.
|
|
17
|
+
* - The face mounts nothing on a listener, and it has no stop parts. Before `createProcedureHost()`
|
|
18
|
+
* uses the factory, each call gets `UNAVAILABLE`.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import {
|
|
22
|
+
LOCAL_CREDENTIALS,
|
|
23
|
+
type Message,
|
|
24
|
+
type ResponseItem,
|
|
25
|
+
type ServerRequest,
|
|
26
|
+
type ServerResponse,
|
|
27
|
+
type Status,
|
|
28
|
+
type Transport,
|
|
29
|
+
} from "@procedures/client";
|
|
30
|
+
import type { HostFaceFactory } from "./faces.js";
|
|
31
|
+
import type { FaceHandler } from "./tracking.js";
|
|
32
|
+
|
|
33
|
+
/** The local face: the factory for the host, and the transport for a `Client` of this process. */
|
|
34
|
+
export interface LocalFace {
|
|
35
|
+
/** The face factory. Give it to the option `faces` of `createProcedureHost()`, for example as `local`. */
|
|
36
|
+
readonly face: HostFaceFactory;
|
|
37
|
+
/** The transport of a `Client`: each call goes to the host through the request tracking of the face. */
|
|
38
|
+
readonly transport: Transport;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/** The value of `untilAborted` when the signal aborts first. */
|
|
42
|
+
const ABORTED: unique symbol = Symbol("aborted");
|
|
43
|
+
|
|
44
|
+
/** This function gives the value of a promise, or `ABORTED` when the signal aborts first. The promise continues. */
|
|
45
|
+
function untilAborted<T>(promise: Promise<T>, signal: AbortSignal | undefined): Promise<T | typeof ABORTED> {
|
|
46
|
+
if (!signal) return promise;
|
|
47
|
+
if (signal.aborted) {
|
|
48
|
+
promise.catch(() => undefined);
|
|
49
|
+
return Promise.resolve(ABORTED);
|
|
50
|
+
}
|
|
51
|
+
return new Promise((resolve, reject) => {
|
|
52
|
+
const onAbort = (): void => {
|
|
53
|
+
promise.catch(() => undefined);
|
|
54
|
+
resolve(ABORTED);
|
|
55
|
+
};
|
|
56
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
57
|
+
promise.then(
|
|
58
|
+
(value) => {
|
|
59
|
+
signal.removeEventListener("abort", onAbort);
|
|
60
|
+
resolve(value);
|
|
61
|
+
},
|
|
62
|
+
(error: unknown) => {
|
|
63
|
+
signal.removeEventListener("abort", onAbort);
|
|
64
|
+
reject(error);
|
|
65
|
+
},
|
|
66
|
+
);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/** This function gives a response item of a status. */
|
|
71
|
+
function item<T>(id: string, status: Status, payload: unknown, metadata: Record<string, unknown> = {}): ResponseItem<T> {
|
|
72
|
+
return { id, status, payload: payload as T, metadata };
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/** This function gives the error item of an abort of the caller: the item of the local transport. */
|
|
76
|
+
function abortedItem<T>(id: string): ResponseItem<T> {
|
|
77
|
+
return item<T>(id, { type: "error", code: "ABORTED", message: "Request was aborted", retryable: false }, null);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/** This function gives the error item of an error that ends a stream: its code, its flag `retryable` and its reason. */
|
|
81
|
+
function errorItem<T>(id: string, error: unknown): ResponseItem<T> {
|
|
82
|
+
const fields = (error ?? {}) as { code?: unknown; retryable?: unknown; reason?: unknown };
|
|
83
|
+
const code = typeof fields.code === "string" ? fields.code : "HANDLER_ERROR";
|
|
84
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
85
|
+
const retryable = typeof fields.retryable === "boolean" ? fields.retryable : false;
|
|
86
|
+
return item<T>(id, { type: "error", code, message, retryable }, null, typeof fields.reason === "string" ? { reason: fields.reason } : {});
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/** This function reads a stream that nobody reads to its end, so its request ends. The call has its abort, thus it ends soon. */
|
|
90
|
+
async function discard(response: ServerResponse): Promise<void> {
|
|
91
|
+
const values = response.stream?.[Symbol.asyncIterator]();
|
|
92
|
+
if (!values) return;
|
|
93
|
+
try {
|
|
94
|
+
while (!(await values.next()).done) {
|
|
95
|
+
// Each value goes nowhere
|
|
96
|
+
}
|
|
97
|
+
} catch {
|
|
98
|
+
// The end of the call after its abort
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/** The response items of a response of the face: one item for a value or an error, and one item for each value of a stream. */
|
|
103
|
+
async function* itemsOf<T>(id: string, response: ServerResponse, signal: AbortSignal | undefined): AsyncGenerator<ResponseItem<T>, void, undefined> {
|
|
104
|
+
if (response.status.type === "error" || response.stream === undefined) {
|
|
105
|
+
yield item<T>(id, response.status, response.status.type === "error" ? null : response.payload, response.metadata ?? {});
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const values = response.stream[Symbol.asyncIterator]();
|
|
109
|
+
let ended = false;
|
|
110
|
+
try {
|
|
111
|
+
for (;;) {
|
|
112
|
+
const next = await untilAborted(values.next(), signal);
|
|
113
|
+
if (next === ABORTED) {
|
|
114
|
+
yield abortedItem<T>(id);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
if (next.done) {
|
|
118
|
+
ended = true;
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
yield item<T>(id, { type: "success", code: 200 }, next.value);
|
|
122
|
+
}
|
|
123
|
+
} catch (error) {
|
|
124
|
+
ended = true;
|
|
125
|
+
yield errorItem<T>(id, error);
|
|
126
|
+
} finally {
|
|
127
|
+
// A reader that stops early stops the call: the work gets its abort
|
|
128
|
+
if (!ended) void values.return?.(undefined)?.catch(() => undefined);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* This function gives the local face of a host (CLI-26). One face serves one host.
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```typescript
|
|
137
|
+
* const local = localFace();
|
|
138
|
+
* const host = createProcedureHost({ registry, faces: { local: local.face } });
|
|
139
|
+
* const life = await host.declare(service("mark").profile(ephemeral)).run();
|
|
140
|
+
* const client = new Client({ transport: local.transport });
|
|
141
|
+
* for await (const item of client.stream({ service: "git", operation: "status" }, {}, { signal })) print(item);
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
export function localFace(): LocalFace {
|
|
145
|
+
let handler: FaceHandler | undefined;
|
|
146
|
+
const face: HostFaceFactory = (context) => {
|
|
147
|
+
handler = context.handler;
|
|
148
|
+
return {};
|
|
149
|
+
};
|
|
150
|
+
const transport: Transport = {
|
|
151
|
+
name: "local-face",
|
|
152
|
+
async *send<TReq, TRes>(message: Message<TReq>): AsyncIterable<ResponseItem<TRes>> {
|
|
153
|
+
const target = handler;
|
|
154
|
+
if (!target) {
|
|
155
|
+
yield item<TRes>(message.id, { type: "error", code: "UNAVAILABLE", message: "The local face has no host: give its factory to createProcedureHost()", retryable: false }, null);
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
if (message.signal?.aborted) {
|
|
159
|
+
yield abortedItem<TRes>(message.id);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
const request: ServerRequest = {
|
|
163
|
+
id: message.id,
|
|
164
|
+
method: message.method,
|
|
165
|
+
payload: message.payload,
|
|
166
|
+
metadata: { ...message.metadata },
|
|
167
|
+
credentials: LOCAL_CREDENTIALS,
|
|
168
|
+
...(message.signal ? { signal: message.signal } : {}),
|
|
169
|
+
};
|
|
170
|
+
const pending = target.handle(request);
|
|
171
|
+
const response = await untilAborted(pending, message.signal);
|
|
172
|
+
if (response === ABORTED) {
|
|
173
|
+
// A stream that comes after the abort still holds its request: it is read to its end
|
|
174
|
+
void pending.then(discard, () => undefined);
|
|
175
|
+
yield abortedItem<TRes>(message.id);
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
yield* itemsOf<TRes>(message.id, response, message.signal);
|
|
179
|
+
},
|
|
180
|
+
close: async () => undefined,
|
|
181
|
+
};
|
|
182
|
+
return { face, transport };
|
|
183
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -31,6 +31,7 @@ export {
|
|
|
31
31
|
createProcedureHost,
|
|
32
32
|
httpFace,
|
|
33
33
|
wsFace,
|
|
34
|
+
localFace,
|
|
34
35
|
LOCAL_LISTENER_KNOBS,
|
|
35
36
|
HOST_PROBE_PREFIX,
|
|
36
37
|
callOperations,
|
|
@@ -60,6 +61,7 @@ export type {
|
|
|
60
61
|
HostFaceEndpoint,
|
|
61
62
|
HostFaceFactory,
|
|
62
63
|
HostFaceUpgrade,
|
|
64
|
+
LocalFace,
|
|
63
65
|
CallDetail,
|
|
64
66
|
CallOperation,
|
|
65
67
|
FaceHandler,
|