@procedures/peer 0.32.0 → 0.34.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/CHANGELOG.md +64 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/input-schemas.d.ts.map +1 -1
- package/dist/input-schemas.js +12 -12
- package/dist/input-schemas.js.map +1 -1
- package/dist/procedures/server.call.d.ts.map +1 -1
- package/dist/procedures/server.call.js +4 -3
- package/dist/procedures/server.call.js.map +1 -1
- package/package.json +5 -5
- package/src/input-schemas.ts +12 -22
- package/src/procedures/server.call.ts +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-schemas.d.ts","sourceRoot":"","sources":["../src/input-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"input-schemas.d.ts","sourceRoot":"","sources":["../src/input-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AA0BjF,eAAO,MAAM,uBAAuB,EAAE,aAAa,CAAC,iBAAiB,CAWjE,CAAC;AAEL,eAAO,MAAM,wBAAwB,EAAE,aAAa,CAAC,kBAAkB,CAInE,CAAC;AAEL,eAAO,MAAM,2BAA2B,EAAE,aAAa,CAAC,qBAAqB,CAEzE,CAAC;AAEL,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,eAAe,CAW3D,CAAC;AAEP,eAAO,MAAM,4BAA4B,EAAE,aAAa,CAAC,sBAAsB,CACjE,CAAC;AAEf,eAAO,MAAM,2BAA2B,EAAE,aAAa,CAAC,qBAAqB,CAIzE,CAAC"}
|
package/dist/input-schemas.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* `server.status` are in `@procedures/server`.
|
|
8
8
|
*/
|
|
9
9
|
import { z } from "zod";
|
|
10
|
-
import {
|
|
10
|
+
import {} from "@procedures/client";
|
|
11
11
|
const port = z.number().int().min(1).max(65535);
|
|
12
12
|
const httpTransport = z.object({
|
|
13
13
|
type: z.literal("http"),
|
|
@@ -28,7 +28,7 @@ const webSocketTransport = z.object({
|
|
|
28
28
|
token: z.string().min(1).optional(),
|
|
29
29
|
});
|
|
30
30
|
const localTransport = z.object({ type: z.literal("local") });
|
|
31
|
-
export const serverCreateInputSchema =
|
|
31
|
+
export const serverCreateInputSchema = z.object({
|
|
32
32
|
transports: z
|
|
33
33
|
.array(z.discriminatedUnion("type", [httpTransport, webSocketTransport, localTransport]))
|
|
34
34
|
.optional()
|
|
@@ -39,16 +39,16 @@ export const serverCreateInputSchema = zodAdapter(z.object({
|
|
|
39
39
|
.array(z.string().min(1))
|
|
40
40
|
.optional()
|
|
41
41
|
.describe("The procedures to serve: exact keys (git.status) or prefixes (git.*). Default: every procedure"),
|
|
42
|
-
})
|
|
43
|
-
export const serverConnectInputSchema =
|
|
42
|
+
});
|
|
43
|
+
export const serverConnectInputSchema = z.object({
|
|
44
44
|
address: z.string().min(1).describe("The address of the remote peer"),
|
|
45
45
|
transport: z.enum(["http", "websocket", "local"]).optional().describe("The transport to use"),
|
|
46
46
|
timeout: z.number().int().positive().optional().describe("The connection timeout in milliseconds"),
|
|
47
|
-
})
|
|
48
|
-
export const serverDisconnectInputSchema =
|
|
47
|
+
});
|
|
48
|
+
export const serverDisconnectInputSchema = z.object({
|
|
49
49
|
connectionId: z.string().min(1).describe("The connection id from server connect"),
|
|
50
|
-
})
|
|
51
|
-
export const serverCallInputSchema =
|
|
50
|
+
});
|
|
51
|
+
export const serverCallInputSchema = z
|
|
52
52
|
.object({
|
|
53
53
|
connectionId: z.string().min(1).optional().describe("The connection id from server connect"),
|
|
54
54
|
address: z.string().min(1).optional().describe("The address of a peer, for a one-time connection"),
|
|
@@ -59,11 +59,11 @@ export const serverCallInputSchema = zodAdapter(z
|
|
|
59
59
|
})
|
|
60
60
|
.refine((input) => input.connectionId !== undefined || input.address !== undefined, {
|
|
61
61
|
message: "Give connectionId or address",
|
|
62
|
-
})
|
|
63
|
-
export const serverConnectionsInputSchema =
|
|
64
|
-
export const manifestGenerateInputSchema =
|
|
62
|
+
});
|
|
63
|
+
export const serverConnectionsInputSchema = z.object({});
|
|
64
|
+
export const manifestGenerateInputSchema = z.object({
|
|
65
65
|
formats: z.array(z.enum(["json", "typescript"])).optional().describe("The manifest formats (default: json)"),
|
|
66
66
|
namespace: z.array(z.string()).optional().describe("Only the procedures under this path"),
|
|
67
67
|
outputDir: z.string().optional().describe("The folder for the manifest files"),
|
|
68
|
-
})
|
|
68
|
+
});
|
|
69
69
|
//# sourceMappingURL=input-schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-schemas.js","sourceRoot":"","sources":["../src/input-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"input-schemas.js","sourceRoot":"","sources":["../src/input-schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.call.d.ts","sourceRoot":"","sources":["../../src/procedures/server.call.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"server.call.d.ts","sourceRoot":"","sources":["../../src/procedures/server.call.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAkE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAyB,MAAM,oBAAoB,CAAC;AAUzJ,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,wGAAwG;IACxG,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,wEAAwE;IACxE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAQD,eAAO,MAAM,mBAAmB,EAAE,SAAS,CACzC,eAAe,EACf,gBAAgB,EAChB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAoEjG,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Procedure: server.call
|
|
3
3
|
* Call a procedure on a remote peer through an outbound connection
|
|
4
4
|
*/
|
|
5
|
-
import { TIMEOUT_METADATA_KEY, createProcedure, pathToMethod } from "@procedures/client";
|
|
5
|
+
import { TIMEOUT_METADATA_KEY, createProcedure, keyToPath, pathToMethod } from "@procedures/client";
|
|
6
6
|
import { wrapSchema } from "../schema.js";
|
|
7
7
|
import { ServerCallOutputSchema } from "../output-schemas.js";
|
|
8
8
|
import { serverCallInputSchema } from "../input-schemas.js";
|
|
@@ -24,9 +24,10 @@ export const serverCallProcedure = createProcedure()
|
|
|
24
24
|
output: "json",
|
|
25
25
|
})
|
|
26
26
|
.handler(async (input, ctx) => {
|
|
27
|
-
// Normalize path: accept dot-separated string or array
|
|
27
|
+
// Normalize path: accept dot-separated string or array. A segment of the string decodes
|
|
28
|
+
// `%2E` to a dot (roadmap CLI-75), as the method name of the wire does
|
|
28
29
|
const pathArray = typeof input.path === "string"
|
|
29
|
-
? input.path
|
|
30
|
+
? keyToPath(input.path)
|
|
30
31
|
: input.path;
|
|
31
32
|
// Resolve connection: by ID, or create one-shot from address
|
|
32
33
|
let connectionId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.call.js","sourceRoot":"","sources":["../../src/procedures/server.call.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,YAAY,EAAuD,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.call.js","sourceRoot":"","sources":["../../src/procedures/server.call.ts"],"names":[],"mappings":"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"}
|
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.34.0",
|
|
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.34.0",
|
|
71
|
+
"@procedures/fs": "0.34.0",
|
|
72
|
+
"@procedures/mcp-server": "0.34.0",
|
|
73
73
|
"@modelcontextprotocol/sdk": "^1.32.1",
|
|
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.34.0",
|
|
85
85
|
"zod": "^4.6.5"
|
|
86
86
|
},
|
|
87
87
|
"scripts": {
|
package/src/input-schemas.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { z } from "zod";
|
|
11
|
-
import {
|
|
11
|
+
import { type ZodLikeSchema } from "@procedures/client";
|
|
12
12
|
import type {
|
|
13
13
|
ManifestGenerateInput,
|
|
14
14
|
ServerConnectInput,
|
|
@@ -42,8 +42,7 @@ const webSocketTransport = z.object({
|
|
|
42
42
|
|
|
43
43
|
const localTransport = z.object({ type: z.literal("local") });
|
|
44
44
|
|
|
45
|
-
export const serverCreateInputSchema: ZodLikeSchema<ServerCreateInput> =
|
|
46
|
-
z.object({
|
|
45
|
+
export const serverCreateInputSchema: ZodLikeSchema<ServerCreateInput> = z.object({
|
|
47
46
|
transports: z
|
|
48
47
|
.array(z.discriminatedUnion("type", [httpTransport, webSocketTransport, localTransport]))
|
|
49
48
|
.optional()
|
|
@@ -54,25 +53,19 @@ export const serverCreateInputSchema: ZodLikeSchema<ServerCreateInput> = zodAdap
|
|
|
54
53
|
.array(z.string().min(1))
|
|
55
54
|
.optional()
|
|
56
55
|
.describe("The procedures to serve: exact keys (git.status) or prefixes (git.*). Default: every procedure"),
|
|
57
|
-
})
|
|
58
|
-
);
|
|
56
|
+
});
|
|
59
57
|
|
|
60
|
-
export const serverConnectInputSchema: ZodLikeSchema<ServerConnectInput> =
|
|
61
|
-
z.object({
|
|
58
|
+
export const serverConnectInputSchema: ZodLikeSchema<ServerConnectInput> = z.object({
|
|
62
59
|
address: z.string().min(1).describe("The address of the remote peer"),
|
|
63
60
|
transport: z.enum(["http", "websocket", "local"]).optional().describe("The transport to use"),
|
|
64
61
|
timeout: z.number().int().positive().optional().describe("The connection timeout in milliseconds"),
|
|
65
|
-
})
|
|
66
|
-
);
|
|
62
|
+
});
|
|
67
63
|
|
|
68
|
-
export const serverDisconnectInputSchema: ZodLikeSchema<ServerDisconnectInput> =
|
|
69
|
-
z.object({
|
|
64
|
+
export const serverDisconnectInputSchema: ZodLikeSchema<ServerDisconnectInput> = z.object({
|
|
70
65
|
connectionId: z.string().min(1).describe("The connection id from server connect"),
|
|
71
|
-
})
|
|
72
|
-
);
|
|
66
|
+
});
|
|
73
67
|
|
|
74
|
-
export const serverCallInputSchema: ZodLikeSchema<ServerCallInput> =
|
|
75
|
-
z
|
|
68
|
+
export const serverCallInputSchema: ZodLikeSchema<ServerCallInput> = z
|
|
76
69
|
.object({
|
|
77
70
|
connectionId: z.string().min(1).optional().describe("The connection id from server connect"),
|
|
78
71
|
address: z.string().min(1).optional().describe("The address of a peer, for a one-time connection"),
|
|
@@ -83,16 +76,13 @@ export const serverCallInputSchema: ZodLikeSchema<ServerCallInput> = zodAdapter<
|
|
|
83
76
|
})
|
|
84
77
|
.refine((input) => input.connectionId !== undefined || input.address !== undefined, {
|
|
85
78
|
message: "Give connectionId or address",
|
|
86
|
-
})
|
|
87
|
-
);
|
|
79
|
+
});
|
|
88
80
|
|
|
89
81
|
export const serverConnectionsInputSchema: ZodLikeSchema<ServerConnectionsInput> =
|
|
90
|
-
|
|
82
|
+
z.object({});
|
|
91
83
|
|
|
92
|
-
export const manifestGenerateInputSchema: ZodLikeSchema<ManifestGenerateInput> =
|
|
93
|
-
z.object({
|
|
84
|
+
export const manifestGenerateInputSchema: ZodLikeSchema<ManifestGenerateInput> = z.object({
|
|
94
85
|
formats: z.array(z.enum(["json", "typescript"])).optional().describe("The manifest formats (default: json)"),
|
|
95
86
|
namespace: z.array(z.string()).optional().describe("Only the procedures under this path"),
|
|
96
87
|
outputDir: z.string().optional().describe("The folder for the manifest files"),
|
|
97
|
-
})
|
|
98
|
-
);
|
|
88
|
+
});
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Call a procedure on a remote peer through an outbound connection
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { TIMEOUT_METADATA_KEY, createProcedure, pathToMethod, type Effects, type Procedure, type ProcedureContext } from "@procedures/client";
|
|
6
|
+
import { TIMEOUT_METADATA_KEY, createProcedure, keyToPath, pathToMethod, type Effects, type Procedure, type ProcedureContext } from "@procedures/client";
|
|
7
7
|
import { wrapSchema } from "../schema.js";
|
|
8
8
|
import { ServerCallOutputSchema } from "../output-schemas.js";
|
|
9
9
|
import { serverCallInputSchema } from "../input-schemas.js";
|
|
@@ -56,9 +56,10 @@ export const serverCallProcedure: Procedure<
|
|
|
56
56
|
output: "json",
|
|
57
57
|
})
|
|
58
58
|
.handler(async (input: ServerCallInput, ctx?: ProcedureContext): Promise<ServerCallOutput> => {
|
|
59
|
-
// Normalize path: accept dot-separated string or array
|
|
59
|
+
// Normalize path: accept dot-separated string or array. A segment of the string decodes
|
|
60
|
+
// `%2E` to a dot (roadmap CLI-75), as the method name of the wire does
|
|
60
61
|
const pathArray = typeof input.path === "string"
|
|
61
|
-
? input.path
|
|
62
|
+
? keyToPath(input.path)
|
|
62
63
|
: input.path;
|
|
63
64
|
|
|
64
65
|
// Resolve connection: by ID, or create one-shot from address
|